From 335fc0cbf89011eb119b2db2335dd89b407a435c Mon Sep 17 00:00:00 2001 From: Jothi Prakash Date: Wed, 24 Jul 2024 10:35:24 +0530 Subject: [PATCH 01/53] Implemented ColumnQueue to test the fetchall without pyarrow Removed token removed token --- .idea/.gitignore | 8 ++ .idea/codeStyles/Project.xml | 7 ++ .idea/codeStyles/codeStyleConfig.xml | 5 + .idea/databricks-sql-python.iml | 11 +++ .idea/misc.xml | 9 ++ .idea/modules.xml | 8 ++ .idea/vcs.xml | 6 ++ check.py | 42 +++++++++ src/databricks/sql/client.py | 25 +++++ .../sql/thrift_api/TCLIService/ttypes.py | 2 +- src/databricks/sql/thrift_backend.py | 19 +++- src/databricks/sql/utils.py | 92 ++++++++++++++++++- 12 files changed, 227 insertions(+), 7 deletions(-) create mode 100644 .idea/.gitignore create mode 100644 .idea/codeStyles/Project.xml create mode 100644 .idea/codeStyles/codeStyleConfig.xml create mode 100644 .idea/databricks-sql-python.iml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml create mode 100644 check.py diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 00000000..13566b81 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml new file mode 100644 index 00000000..919ce1f1 --- /dev/null +++ b/.idea/codeStyles/Project.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/.idea/codeStyles/codeStyleConfig.xml b/.idea/codeStyles/codeStyleConfig.xml new file mode 100644 index 00000000..a55e7a17 --- /dev/null +++ b/.idea/codeStyles/codeStyleConfig.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/.idea/databricks-sql-python.iml b/.idea/databricks-sql-python.iml new file mode 100644 index 00000000..b13f5dd7 --- /dev/null +++ b/.idea/databricks-sql-python.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 00000000..00c2bf78 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,9 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 00000000..d3d7ab09 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 00000000..35eb1ddf --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/check.py b/check.py new file mode 100644 index 00000000..7a34bbe1 --- /dev/null +++ b/check.py @@ -0,0 +1,42 @@ +import os +import sys +# import logging +# +# logging.basicConfig(level=logging.DEBUG) + +# +# # Get the parent directory of the current file +# target_folder_path = os.path.abspath(os.path.join(os.path.dirname(__file__), "..", "databricks-sql-python", "src")) +# +# # Add the parent directory to sys.path +# sys.path.append(target_folder_path) + +from src.databricks import sql + +# from dotenv import load_dotenv + +# export DATABRICKS_TOKEN=whatever + + +# Load environment variables from .env file +# load_dotenv() + +host = "e2-dogfood.staging.cloud.databricks.com" +http_path = "/sql/1.0/warehouses/dd43ee29fedd958d" + +access_token = "" +connection = sql.connect( + server_hostname=host, + http_path=http_path, + access_token=access_token) + + +cursor = connection.cursor() +cursor.execute('SELECT :param `p`, * FROM RANGE(10)', {"param": "foo"}) +# cursor.execute('SELECT 1') +result = cursor.fetchall() +for row in result: + print(row) + +cursor.close() +connection.close() \ No newline at end of file diff --git a/src/databricks/sql/client.py b/src/databricks/sql/client.py index 084c42df..71966bd9 100755 --- a/src/databricks/sql/client.py +++ b/src/databricks/sql/client.py @@ -777,6 +777,9 @@ def execute( use_cloud_fetch=self.connection.use_cloud_fetch, parameters=prepared_params, ) + + print("Line 781") + print(execute_response) self.active_result_set = ResultSet( self.connection, execute_response, @@ -1129,6 +1132,20 @@ def _fill_results_buffer(self): self.results = results self.has_more_rows = has_more_rows + def _convert_columnar_table(self, table): + column_names = [c[0] for c in self.description] + ResultRow = Row(*column_names) + + result = [] + for row_index in range(len(table[0])): + curr_row = [] + for col_index in range(len(table)-1, -1, -1): + curr_row.append(table[col_index][row_index]) + result.append(ResultRow(*curr_row)) + + return result + + def _convert_arrow_table(self, table): column_names = [c[0] for c in self.description] ResultRow = Row(*column_names) @@ -1209,6 +1226,11 @@ def fetchall_arrow(self) -> pyarrow.Table: return results + def fetchall_columnar(self): + results = self.results.remaining_rows() + self._next_row_index += len(results[0]) + return results + def fetchone(self) -> Optional[Row]: """ Fetch the next row of a query result set, returning a single sequence, @@ -1224,6 +1246,9 @@ def fetchall(self) -> List[Row]: """ Fetch all (remaining) rows of a query result, returning them as a list of rows. """ + + return self._convert_columnar_table(self.fetchall_columnar()) + return self._convert_arrow_table(self.fetchall_arrow()) def fetchmany(self, size: int) -> List[Row]: diff --git a/src/databricks/sql/thrift_api/TCLIService/ttypes.py b/src/databricks/sql/thrift_api/TCLIService/ttypes.py index 16abbc2e..797b390c 100644 --- a/src/databricks/sql/thrift_api/TCLIService/ttypes.py +++ b/src/databricks/sql/thrift_api/TCLIService/ttypes.py @@ -3117,7 +3117,7 @@ class TDBSqlResultFormat(object): """ - def __init__(self, arrowFormat=None, csvFormat=None, jsonArrayFormat=None,): + def __init__(self, arrowFormat=None, csvFormat=None, jsonArrayFormat=None): self.arrowFormat = arrowFormat self.csvFormat = csvFormat self.jsonArrayFormat = jsonArrayFormat diff --git a/src/databricks/sql/thrift_backend.py b/src/databricks/sql/thrift_backend.py index 56412fce..cf984184 100644 --- a/src/databricks/sql/thrift_backend.py +++ b/src/databricks/sql/thrift_backend.py @@ -37,6 +37,8 @@ convert_column_based_set_to_arrow_table, ) +from src.databricks.sql.thrift_api.TCLIService.ttypes import TDBSqlResultFormat + logger = logging.getLogger(__name__) unsafe_logger = logging.getLogger("databricks.sql.unsafe") @@ -734,6 +736,7 @@ def _results_message_to_execute_response(self, resp, operation_state): else: t_result_set_metadata_resp = self._get_metadata_resp(resp.operationHandle) + print(f"Line 739 - {t_result_set_metadata_resp.resultFormat}") if t_result_set_metadata_resp.resultFormat not in [ ttypes.TSparkRowSetType.ARROW_BASED_SET, ttypes.TSparkRowSetType.COLUMN_BASED_SET, @@ -858,15 +861,25 @@ def execute_command( getDirectResults=ttypes.TSparkGetDirectResults( maxRows=max_rows, maxBytes=max_bytes ), - canReadArrowResult=True, + canReadArrowResult=False, canDecompressLZ4Result=lz4_compression, canDownloadResult=use_cloud_fetch, confOverlay={ # We want to receive proper Timestamp arrow types. "spark.thriftserver.arrowBasedRowSet.timestampAsString": "false" }, - useArrowNativeTypes=spark_arrow_types, - parameters=parameters, + # useArrowNativeTypes=spark_arrow_types, + # canReadArrowResult=True, + # # canDecompressLZ4Result=lz4_compression, + # canDecompressLZ4Result=False, + # canDownloadResult=False, + # # confOverlay={ + # # # We want to receive proper Timestamp arrow types. + # # "spark.thriftserver.arrowBasedRowSet.timestampAsString": "false" + # # }, + # resultDataFormat=TDBSqlResultFormat(None,None,True), + # # useArrowNativeTypes=spark_arrow_types, + parameters=parameters, ) resp = self.make_request(self._client.ExecuteStatement, req) return self._handle_execute_response(resp, cursor) diff --git a/src/databricks/sql/utils.py b/src/databricks/sql/utils.py index c22688bb..9a4732bb 100644 --- a/src/databricks/sql/utils.py +++ b/src/databricks/sql/utils.py @@ -1,5 +1,7 @@ from __future__ import annotations - +import json +from thrift.protocol import TJSONProtocol +from thrift.transport import TTransport import datetime import decimal from abc import ABC, abstractmethod @@ -33,15 +35,17 @@ class ResultSetQueue(ABC): @abstractmethod - def next_n_rows(self, num_rows: int) -> pyarrow.Table: + def next_n_rows(self, num_rows: int): pass @abstractmethod - def remaining_rows(self) -> pyarrow.Table: + def remaining_rows(self): pass class ResultSetQueueFactory(ABC): + + @staticmethod def build_queue( row_set_type: TSparkRowSetType, @@ -67,6 +71,18 @@ def build_queue( Returns: ResultSetQueue """ + + def trow_to_json(trow): + # Step 1: Serialize TRow using Thrift's TJSONProtocol + transport = TTransport.TMemoryBuffer() + protocol = TJSONProtocol.TJSONProtocol(transport) + trow.write(protocol) + + # Step 2: Extract JSON string from the transport + json_str = transport.getvalue().decode('utf-8') + + return json_str + if row_set_type == TSparkRowSetType.ARROW_BASED_SET: arrow_table, n_valid_rows = convert_arrow_based_set_to_arrow_table( t_row_set.arrowBatches, lz4_compressed, arrow_schema_bytes @@ -76,6 +92,23 @@ def build_queue( ) return ArrowQueue(converted_arrow_table, n_valid_rows) elif row_set_type == TSparkRowSetType.COLUMN_BASED_SET: + print("Lin 79 ") + print(type(t_row_set)) + print(t_row_set) + json_str = json.loads(trow_to_json(t_row_set)) + pretty_json = json.dumps(json_str, indent=2) + print(pretty_json) + + converted_column_table, column_names = convert_column_based_set_to_column_table( + t_row_set.columns, + description) + print(converted_column_table, column_names) + + return ColumnQueue(converted_column_table, column_names) + + print(columnQueue.next_n_rows(2)) + print(columnQueue.next_n_rows(2)) + print(columnQueue.remaining_rows()) arrow_table, n_valid_rows = convert_column_based_set_to_arrow_table( t_row_set.columns, description ) @@ -97,6 +130,28 @@ def build_queue( raise AssertionError("Row set type is not valid") +class ColumnQueue(ResultSetQueue): + def __init__( + self, + columnar_table, column_names): + self.columnar_table = columnar_table + self.cur_row_index = 0 + self.n_valid_rows = len(columnar_table[0]) + self.column_names = column_names + + def next_n_rows(self, num_rows): + length = min(num_rows, self.n_valid_rows - self.cur_row_index) + # Slicing using the default python slice + next_data = [column[self.cur_row_index:self.cur_row_index+length] for column in self.columnar_table] + self.cur_row_index += length + return next_data + + def remaining_rows(self): + next_data = [column[self.cur_row_index:] for column in self.columnar_table] + self.cur_row_index += len(next_data[0]) + return next_data + + class ArrowQueue(ResultSetQueue): def __init__( self, @@ -570,6 +625,13 @@ def convert_column_based_set_to_arrow_table(columns, description): ) return arrow_table, arrow_table.num_rows +def convert_column_based_set_to_column_table(columns, description): + column_names = [c[0] for c in description] + column_table = [_covert_column_to_list(c) for c in columns] + + return column_table, column_names + + def _convert_column_to_arrow_array(t_col): """ @@ -594,6 +656,15 @@ def _convert_column_to_arrow_array(t_col): raise OperationalError("Empty TColumn instance {}".format(t_col)) +def _covert_column_to_list(t_col): + supported_field_types = ("boolVal", "byteVal", "i16Val", "i32Val", "i64Val", "doubleVal", "stringVal", "binaryVal") + + for field in supported_field_types: + wrapper = getattr(t_col, field) + if wrapper: + return _create_python_tuple(wrapper) + + raise OperationalError("Empty TColumn instance {}".format(t_col)) def _create_arrow_array(t_col_value_wrapper, arrow_type): result = t_col_value_wrapper.values @@ -609,3 +680,18 @@ def _create_arrow_array(t_col_value_wrapper, arrow_type): result[i] = None return pyarrow.array(result, type=arrow_type) + +def _create_python_tuple(t_col_value_wrapper): + result = t_col_value_wrapper.values + nulls = t_col_value_wrapper.nulls # bitfield describing which values are null + assert isinstance(nulls, bytes) + + # The number of bits in nulls can be both larger or smaller than the number of + # elements in result, so take the minimum of both to iterate over. + length = min(len(result), len(nulls) * 8) + + for i in range(length): + if nulls[i >> 3] & BIT_MASKS[i & 0x7]: + result[i] = None + + return tuple(result) From ad2b014e30632ff9d96eaf3873e794c509f0bd23 Mon Sep 17 00:00:00 2001 From: Shivam Raj Date: Wed, 24 Jul 2024 14:41:56 +0530 Subject: [PATCH 02/53] order of fields in row corrected --- src/databricks/sql/client.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/databricks/sql/client.py b/src/databricks/sql/client.py index 71966bd9..55940388 100755 --- a/src/databricks/sql/client.py +++ b/src/databricks/sql/client.py @@ -22,6 +22,8 @@ ParamEscaper, inject_parameters, transform_paramstyle, + ArrowQueue, + ColumnQueue ) from databricks.sql.parameters.native import ( DbsqlParameterBase, @@ -1135,11 +1137,11 @@ def _fill_results_buffer(self): def _convert_columnar_table(self, table): column_names = [c[0] for c in self.description] ResultRow = Row(*column_names) - + print("Table\n",table) result = [] for row_index in range(len(table[0])): curr_row = [] - for col_index in range(len(table)-1, -1, -1): + for col_index in range(len(table)): curr_row.append(table[col_index][row_index]) result.append(ResultRow(*curr_row)) @@ -1246,10 +1248,11 @@ def fetchall(self) -> List[Row]: """ Fetch all (remaining) rows of a query result, returning them as a list of rows. """ + if isinstance(self.results, ColumnQueue): + return self._convert_columnar_table(self.fetchall_columnar()) + else: + return self._convert_arrow_table(self.fetchall_arrow()) - return self._convert_columnar_table(self.fetchall_columnar()) - - return self._convert_arrow_table(self.fetchall_arrow()) def fetchmany(self, size: int) -> List[Row]: """ From 882e08072ef3ccbd16e4a44d602c6dd342797656 Mon Sep 17 00:00:00 2001 From: Jothi Prakash Date: Tue, 6 Aug 2024 16:52:44 +0530 Subject: [PATCH 03/53] Changed the folder structure and tested the basic setup to work --- .idea/databricks-sql-python.iml | 6 +- .idea/vcs.xml | 30 ++++++++ check.py | 4 +- .../README.md | 4 +- .../pyproject.toml | 32 ++++----- .../src}/databricks/__init__.py | 0 .../src}/databricks/sql/__init__.py | 0 .../src}/databricks/sql/auth/__init__.py | 0 .../src}/databricks/sql/auth/auth.py | 0 .../databricks/sql/auth/authenticators.py | 0 .../src}/databricks/sql/auth/endpoint.py | 0 .../src}/databricks/sql/auth/oauth.py | 0 .../databricks/sql/auth/oauth_http_handler.py | 0 .../src}/databricks/sql/auth/retry.py | 0 .../databricks/sql/auth/thrift_http_client.py | 0 .../src}/databricks/sql/client.py | 45 +++++++----- .../databricks/sql/cloudfetch}/__init__.py | 0 .../sql/cloudfetch/download_manager.py | 0 .../databricks/sql/cloudfetch/downloader.py | 0 .../src}/databricks/sql/exc.py | 0 .../databricks/sql/experimental}/__init__.py | 0 .../sql/experimental/oauth_persistence.py | 0 .../databricks/sql/parameters/__init__.py | 0 .../src}/databricks/sql/parameters/native.py | 0 .../src}/databricks/sql/parameters/py.typed | 0 .../src}/databricks/sql/py.typed | 0 .../thrift_api/TCLIService/TCLIService-remote | 0 .../sql/thrift_api/TCLIService/TCLIService.py | 0 .../sql/thrift_api/TCLIService/__init__.py | 0 .../sql/thrift_api/TCLIService/constants.py | 0 .../sql/thrift_api/TCLIService/ttypes.py | 0 .../src/databricks/sql/thrift_api/__init__.py | 0 .../src}/databricks/sql/thrift_backend.py | 28 +++++--- .../src}/databricks/sql/types.py | 0 .../src}/databricks/sql/utils.py | 23 +++--- .../src/databricks/sqlalchemy/__init__.py | 5 ++ databricks_sqlalchemy/pyproject.toml | 67 ++++++++++++++++++ databricks_sqlalchemy/src/__init__.py | 0 .../README.sqlalchemy.md | 0 .../databricks_sqlalchemy}/README.tests.md | 0 .../src/databricks_sqlalchemy}/__init__.py | 0 .../src/databricks_sqlalchemy}/_ddl.py | 0 .../src/databricks_sqlalchemy}/_parse.py | 0 .../src/databricks_sqlalchemy}/_types.py | 0 .../src/databricks_sqlalchemy}/base.py | 0 .../src/databricks_sqlalchemy/py.typed | 0 .../databricks_sqlalchemy}/requirements.py | 0 .../src/databricks_sqlalchemy}/setup.cfg | 0 .../databricks_sqlalchemy/test/__init__.py | 0 .../src/databricks_sqlalchemy}/test/_extra.py | 0 .../databricks_sqlalchemy}/test/_future.py | 2 +- .../test/_regression.py | 2 +- .../test/_unsupported.py | 2 +- .../databricks_sqlalchemy}/test/conftest.py | 0 .../test/overrides/__init__.py | 0 .../overrides/_componentreflectiontest.py | 0 .../test/overrides/_ctetest.py | 0 .../databricks_sqlalchemy}/test/test_suite.py | 3 +- .../test_local/__init__.py | 0 .../test_local/conftest.py | 0 .../test_local/e2e/MOCK_DATA.xlsx | Bin .../test_local/e2e/__init__.py | 0 .../test_local/e2e/test_basic.py | 0 .../test_local/test_ddl.py | 0 .../test_local/test_parsing.py | 0 .../test_local/test_types.py | 0 docs/parameters.md | 2 +- examples/README.md | 6 +- examples/parameters.py | 2 +- examples/persistent_oauth.py | 2 +- setup_script.py | 22 ++++++ tests/e2e/common/predicates.py | 2 +- tests/e2e/common/retry_test_mixins.py | 4 +- tests/e2e/test_driver.py | 4 +- tests/e2e/test_parameterized_queries.py | 2 +- tests/unit/test_arrow_queue.py | 2 +- tests/unit/test_auth.py | 14 ++-- tests/unit/test_client.py | 6 +- tests/unit/test_cloud_fetch_queue.py | 2 +- tests/unit/test_download_manager.py | 2 +- tests/unit/test_downloader.py | 2 +- tests/unit/test_endpoint.py | 4 +- tests/unit/test_fetches.py | 2 +- tests/unit/test_fetches_bench.py | 2 +- tests/unit/test_oauth_persistence.py | 2 +- tests/unit/test_param_escaper.py | 4 +- tests/unit/test_parameters.py | 10 +-- tests/unit/test_retry.py | 2 +- tests/unit/test_thrift_backend.py | 22 +++--- 89 files changed, 259 insertions(+), 116 deletions(-) rename README.md => databricks_sql_connector_core/README.md (97%) rename pyproject.toml => databricks_sql_connector_core/pyproject.toml (72%) rename {src => databricks_sql_connector_core/src}/databricks/__init__.py (100%) rename {src => databricks_sql_connector_core/src}/databricks/sql/__init__.py (100%) rename {src => databricks_sql_connector_core/src}/databricks/sql/auth/__init__.py (100%) rename {src => databricks_sql_connector_core/src}/databricks/sql/auth/auth.py (100%) rename {src => databricks_sql_connector_core/src}/databricks/sql/auth/authenticators.py (100%) rename {src => databricks_sql_connector_core/src}/databricks/sql/auth/endpoint.py (100%) rename {src => databricks_sql_connector_core/src}/databricks/sql/auth/oauth.py (100%) rename {src => databricks_sql_connector_core/src}/databricks/sql/auth/oauth_http_handler.py (100%) rename {src => databricks_sql_connector_core/src}/databricks/sql/auth/retry.py (100%) rename {src => databricks_sql_connector_core/src}/databricks/sql/auth/thrift_http_client.py (100%) rename {src => databricks_sql_connector_core/src}/databricks/sql/client.py (97%) rename {src/databricks/sql/experimental => databricks_sql_connector_core/src/databricks/sql/cloudfetch}/__init__.py (100%) rename {src => databricks_sql_connector_core/src}/databricks/sql/cloudfetch/download_manager.py (100%) rename {src => databricks_sql_connector_core/src}/databricks/sql/cloudfetch/downloader.py (100%) rename {src => databricks_sql_connector_core/src}/databricks/sql/exc.py (100%) rename {src/databricks/sql/thrift_api => databricks_sql_connector_core/src/databricks/sql/experimental}/__init__.py (100%) rename {src => databricks_sql_connector_core/src}/databricks/sql/experimental/oauth_persistence.py (100%) rename {src => databricks_sql_connector_core/src}/databricks/sql/parameters/__init__.py (100%) rename {src => databricks_sql_connector_core/src}/databricks/sql/parameters/native.py (100%) rename {src => databricks_sql_connector_core/src}/databricks/sql/parameters/py.typed (100%) rename {src => databricks_sql_connector_core/src}/databricks/sql/py.typed (100%) rename {src => databricks_sql_connector_core/src}/databricks/sql/thrift_api/TCLIService/TCLIService-remote (100%) rename {src => databricks_sql_connector_core/src}/databricks/sql/thrift_api/TCLIService/TCLIService.py (100%) rename {src => databricks_sql_connector_core/src}/databricks/sql/thrift_api/TCLIService/__init__.py (100%) rename {src => databricks_sql_connector_core/src}/databricks/sql/thrift_api/TCLIService/constants.py (100%) rename {src => databricks_sql_connector_core/src}/databricks/sql/thrift_api/TCLIService/ttypes.py (100%) rename src/databricks/sqlalchemy/py.typed => databricks_sql_connector_core/src/databricks/sql/thrift_api/__init__.py (100%) mode change 100755 => 100644 rename {src => databricks_sql_connector_core/src}/databricks/sql/thrift_backend.py (98%) rename {src => databricks_sql_connector_core/src}/databricks/sql/types.py (100%) rename {src => databricks_sql_connector_core/src}/databricks/sql/utils.py (97%) create mode 100644 databricks_sql_connector_core/src/databricks/sqlalchemy/__init__.py create mode 100644 databricks_sqlalchemy/pyproject.toml create mode 100644 databricks_sqlalchemy/src/__init__.py rename {src/databricks/sqlalchemy => databricks_sqlalchemy/src/databricks_sqlalchemy}/README.sqlalchemy.md (100%) rename {src/databricks/sqlalchemy => databricks_sqlalchemy/src/databricks_sqlalchemy}/README.tests.md (100%) rename {src/databricks/sqlalchemy => databricks_sqlalchemy/src/databricks_sqlalchemy}/__init__.py (100%) rename {src/databricks/sqlalchemy => databricks_sqlalchemy/src/databricks_sqlalchemy}/_ddl.py (100%) rename {src/databricks/sqlalchemy => databricks_sqlalchemy/src/databricks_sqlalchemy}/_parse.py (100%) rename {src/databricks/sqlalchemy => databricks_sqlalchemy/src/databricks_sqlalchemy}/_types.py (100%) rename {src/databricks/sqlalchemy => databricks_sqlalchemy/src/databricks_sqlalchemy}/base.py (100%) create mode 100755 databricks_sqlalchemy/src/databricks_sqlalchemy/py.typed rename {src/databricks/sqlalchemy => databricks_sqlalchemy/src/databricks_sqlalchemy}/requirements.py (100%) rename {src/databricks/sqlalchemy => databricks_sqlalchemy/src/databricks_sqlalchemy}/setup.cfg (100%) create mode 100644 databricks_sqlalchemy/src/databricks_sqlalchemy/test/__init__.py rename {src/databricks/sqlalchemy => databricks_sqlalchemy/src/databricks_sqlalchemy}/test/_extra.py (100%) rename {src/databricks/sqlalchemy => databricks_sqlalchemy/src/databricks_sqlalchemy}/test/_future.py (99%) rename {src/databricks/sqlalchemy => databricks_sqlalchemy/src/databricks_sqlalchemy}/test/_regression.py (98%) rename {src/databricks/sqlalchemy => databricks_sqlalchemy/src/databricks_sqlalchemy}/test/_unsupported.py (99%) rename {src/databricks/sqlalchemy => databricks_sqlalchemy/src/databricks_sqlalchemy}/test/conftest.py (100%) create mode 100644 databricks_sqlalchemy/src/databricks_sqlalchemy/test/overrides/__init__.py rename {src/databricks/sqlalchemy => databricks_sqlalchemy/src/databricks_sqlalchemy}/test/overrides/_componentreflectiontest.py (100%) rename {src/databricks/sqlalchemy => databricks_sqlalchemy/src/databricks_sqlalchemy}/test/overrides/_ctetest.py (100%) rename {src/databricks/sqlalchemy => databricks_sqlalchemy/src/databricks_sqlalchemy}/test/test_suite.py (72%) rename {src/databricks/sqlalchemy => databricks_sqlalchemy/src/databricks_sqlalchemy}/test_local/__init__.py (100%) rename {src/databricks/sqlalchemy => databricks_sqlalchemy/src/databricks_sqlalchemy}/test_local/conftest.py (100%) rename {src/databricks/sqlalchemy => databricks_sqlalchemy/src/databricks_sqlalchemy}/test_local/e2e/MOCK_DATA.xlsx (100%) create mode 100644 databricks_sqlalchemy/src/databricks_sqlalchemy/test_local/e2e/__init__.py rename {src/databricks/sqlalchemy => databricks_sqlalchemy/src/databricks_sqlalchemy}/test_local/e2e/test_basic.py (100%) rename {src/databricks/sqlalchemy => databricks_sqlalchemy/src/databricks_sqlalchemy}/test_local/test_ddl.py (100%) rename {src/databricks/sqlalchemy => databricks_sqlalchemy/src/databricks_sqlalchemy}/test_local/test_parsing.py (100%) rename {src/databricks/sqlalchemy => databricks_sqlalchemy/src/databricks_sqlalchemy}/test_local/test_types.py (100%) create mode 100644 setup_script.py diff --git a/.idea/databricks-sql-python.iml b/.idea/databricks-sql-python.iml index b13f5dd7..1bd3bcf1 100644 --- a/.idea/databricks-sql-python.iml +++ b/.idea/databricks-sql-python.iml @@ -2,10 +2,8 @@ - - - - + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml index 35eb1ddf..c01f2d68 100644 --- a/.idea/vcs.xml +++ b/.idea/vcs.xml @@ -1,5 +1,35 @@ + + + diff --git a/check.py b/check.py index 7a34bbe1..a9aa6c43 100644 --- a/check.py +++ b/check.py @@ -11,7 +11,7 @@ # # Add the parent directory to sys.path # sys.path.append(target_folder_path) -from src.databricks import sql +from databricks import sql # from dotenv import load_dotenv @@ -22,7 +22,7 @@ # load_dotenv() host = "e2-dogfood.staging.cloud.databricks.com" -http_path = "/sql/1.0/warehouses/dd43ee29fedd958d" +http_path = "/sql/1.0/warehouses/58aa1b363649e722" access_token = "" connection = sql.connect( diff --git a/README.md b/databricks_sql_connector_core/README.md similarity index 97% rename from README.md rename to databricks_sql_connector_core/README.md index 835831b2..314cc2bc 100644 --- a/README.md +++ b/databricks_sql_connector_core/README.md @@ -65,8 +65,8 @@ or to a Databricks Runtime interactive cluster (e.g. /sql/protocolv1/o/123456789 ## Contributing -See [CONTRIBUTING.md](CONTRIBUTING.md) +See [CONTRIBUTING.md](../CONTRIBUTING.md) ## License -[Apache License 2.0](LICENSE) +[Apache License 2.0](../LICENSE) diff --git a/pyproject.toml b/databricks_sql_connector_core/pyproject.toml similarity index 72% rename from pyproject.toml rename to databricks_sql_connector_core/pyproject.toml index 5dc42617..6f323ffd 100644 --- a/pyproject.toml +++ b/databricks_sql_connector_core/pyproject.toml @@ -1,7 +1,7 @@ [tool.poetry] -name = "databricks-sql-connector" -version = "3.3.0" -description = "Databricks SQL Connector for Python" +name = "databricks-sql-connector-core" +version = "1.0.0" +description = "Databricks SQL Connector core for Python" authors = ["Databricks "] license = "Apache-2.0" readme = "README.md" @@ -14,15 +14,15 @@ thrift = ">=0.16.0,<0.21.0" pandas = [ { version = ">=1.2.5,<2.2.0", python = ">=3.8" } ] -pyarrow = ">=14.0.1,<17" +#pyarrow = ">=14.0.1,<17" lz4 = "^4.0.2" requests = "^2.18.1" oauthlib = "^3.1.0" -numpy = [ - { version = "^1.16.6", python = ">=3.8,<3.11" }, - { version = "^1.23.4", python = ">=3.11" }, -] +#numpy = [ +# { version = "^1.16.6", python = ">=3.8,<3.11" }, +# { version = "^1.23.4", python = ">=3.11" }, +#] sqlalchemy = { version = ">=2.0.21", optional = true } openpyxl = "^3.0.10" alembic = { version = "^1.0.11", optional = true } @@ -56,11 +56,11 @@ exclude = ['ttypes\.py$', 'TCLIService\.py$'] [tool.black] exclude = '/(\.eggs|\.git|\.hg|\.mypy_cache|\.nox|\.tox|\.venv|\.svn|_build|buck-out|build|dist|thrift_api)/' - -[tool.pytest.ini_options] -markers = {"reviewed" = "Test case has been reviewed by Databricks"} -minversion = "6.0" -log_cli = "false" -log_cli_level = "INFO" -testpaths = ["tests", "src/databricks/sqlalchemy/test_local"] -env_files = ["test.env"] +# +#[tool.pytest.ini_options] +#markers = {"reviewed" = "Test case has been reviewed by Databricks"} +#minversion = "6.0" +#log_cli = "false" +#log_cli_level = "INFO" +#testpaths = ["tests", "src/databricks/sqlalchemy/test_local"] +#env_files = ["test.env"] diff --git a/src/databricks/__init__.py b/databricks_sql_connector_core/src/databricks/__init__.py similarity index 100% rename from src/databricks/__init__.py rename to databricks_sql_connector_core/src/databricks/__init__.py diff --git a/src/databricks/sql/__init__.py b/databricks_sql_connector_core/src/databricks/sql/__init__.py similarity index 100% rename from src/databricks/sql/__init__.py rename to databricks_sql_connector_core/src/databricks/sql/__init__.py diff --git a/src/databricks/sql/auth/__init__.py b/databricks_sql_connector_core/src/databricks/sql/auth/__init__.py similarity index 100% rename from src/databricks/sql/auth/__init__.py rename to databricks_sql_connector_core/src/databricks/sql/auth/__init__.py diff --git a/src/databricks/sql/auth/auth.py b/databricks_sql_connector_core/src/databricks/sql/auth/auth.py similarity index 100% rename from src/databricks/sql/auth/auth.py rename to databricks_sql_connector_core/src/databricks/sql/auth/auth.py diff --git a/src/databricks/sql/auth/authenticators.py b/databricks_sql_connector_core/src/databricks/sql/auth/authenticators.py similarity index 100% rename from src/databricks/sql/auth/authenticators.py rename to databricks_sql_connector_core/src/databricks/sql/auth/authenticators.py diff --git a/src/databricks/sql/auth/endpoint.py b/databricks_sql_connector_core/src/databricks/sql/auth/endpoint.py similarity index 100% rename from src/databricks/sql/auth/endpoint.py rename to databricks_sql_connector_core/src/databricks/sql/auth/endpoint.py diff --git a/src/databricks/sql/auth/oauth.py b/databricks_sql_connector_core/src/databricks/sql/auth/oauth.py similarity index 100% rename from src/databricks/sql/auth/oauth.py rename to databricks_sql_connector_core/src/databricks/sql/auth/oauth.py diff --git a/src/databricks/sql/auth/oauth_http_handler.py b/databricks_sql_connector_core/src/databricks/sql/auth/oauth_http_handler.py similarity index 100% rename from src/databricks/sql/auth/oauth_http_handler.py rename to databricks_sql_connector_core/src/databricks/sql/auth/oauth_http_handler.py diff --git a/src/databricks/sql/auth/retry.py b/databricks_sql_connector_core/src/databricks/sql/auth/retry.py similarity index 100% rename from src/databricks/sql/auth/retry.py rename to databricks_sql_connector_core/src/databricks/sql/auth/retry.py diff --git a/src/databricks/sql/auth/thrift_http_client.py b/databricks_sql_connector_core/src/databricks/sql/auth/thrift_http_client.py similarity index 100% rename from src/databricks/sql/auth/thrift_http_client.py rename to databricks_sql_connector_core/src/databricks/sql/auth/thrift_http_client.py diff --git a/src/databricks/sql/client.py b/databricks_sql_connector_core/src/databricks/sql/client.py similarity index 97% rename from src/databricks/sql/client.py rename to databricks_sql_connector_core/src/databricks/sql/client.py index 55940388..71307730 100755 --- a/src/databricks/sql/client.py +++ b/databricks_sql_connector_core/src/databricks/sql/client.py @@ -1,7 +1,11 @@ from typing import Dict, Tuple, List, Optional, Any, Union, Sequence import pandas -import pyarrow +try: + import pyarrow +except ImportError: + pyarrow = None + import requests import json import os @@ -982,14 +986,14 @@ def fetchmany(self, size: int) -> List[Row]: else: raise Error("There is no active result set") - def fetchall_arrow(self) -> pyarrow.Table: + def fetchall_arrow(self) -> "pyarrow.Table": self._check_not_closed() if self.active_result_set: return self.active_result_set.fetchall_arrow() else: raise Error("There is no active result set") - def fetchmany_arrow(self, size) -> pyarrow.Table: + def fetchmany_arrow(self, size) -> "pyarrow.Table": self._check_not_closed() if self.active_result_set: return self.active_result_set.fetchmany_arrow(size) @@ -1160,20 +1164,23 @@ def _convert_arrow_table(self, table): # Need to use nullable types, as otherwise type can change when there are missing values. # See https://arrow.apache.org/docs/python/pandas.html#nullable-types # NOTE: This api is epxerimental https://pandas.pydata.org/pandas-docs/stable/user_guide/integer_na.html - dtype_mapping = { - pyarrow.int8(): pandas.Int8Dtype(), - pyarrow.int16(): pandas.Int16Dtype(), - pyarrow.int32(): pandas.Int32Dtype(), - pyarrow.int64(): pandas.Int64Dtype(), - pyarrow.uint8(): pandas.UInt8Dtype(), - pyarrow.uint16(): pandas.UInt16Dtype(), - pyarrow.uint32(): pandas.UInt32Dtype(), - pyarrow.uint64(): pandas.UInt64Dtype(), - pyarrow.bool_(): pandas.BooleanDtype(), - pyarrow.float32(): pandas.Float32Dtype(), - pyarrow.float64(): pandas.Float64Dtype(), - pyarrow.string(): pandas.StringDtype(), - } + try: + dtype_mapping = { + pyarrow.int8(): pandas.Int8Dtype(), + pyarrow.int16(): pandas.Int16Dtype(), + pyarrow.int32(): pandas.Int32Dtype(), + pyarrow.int64(): pandas.Int64Dtype(), + pyarrow.uint8(): pandas.UInt8Dtype(), + pyarrow.uint16(): pandas.UInt16Dtype(), + pyarrow.uint32(): pandas.UInt32Dtype(), + pyarrow.uint64(): pandas.UInt64Dtype(), + pyarrow.bool_(): pandas.BooleanDtype(), + pyarrow.float32(): pandas.Float32Dtype(), + pyarrow.float64(): pandas.Float64Dtype(), + pyarrow.string(): pandas.StringDtype(), + } + except AttributeError: + print("pyarrow is not present") # Need to rename columns, as the to_pandas function cannot handle duplicate column names table_renamed = table.rename_columns([str(c) for c in range(table.num_columns)]) @@ -1190,7 +1197,7 @@ def _convert_arrow_table(self, table): def rownumber(self): return self._next_row_index - def fetchmany_arrow(self, size: int) -> pyarrow.Table: + def fetchmany_arrow(self, size: int) -> "pyarrow.Table": """ Fetch the next set of rows of a query result, returning a PyArrow table. @@ -1215,7 +1222,7 @@ def fetchmany_arrow(self, size: int) -> pyarrow.Table: return results - def fetchall_arrow(self) -> pyarrow.Table: + def fetchall_arrow(self) -> "pyarrow.Table": """Fetch all (remaining) rows of a query result, returning them as a PyArrow table.""" results = self.results.remaining_rows() self._next_row_index += results.num_rows diff --git a/src/databricks/sql/experimental/__init__.py b/databricks_sql_connector_core/src/databricks/sql/cloudfetch/__init__.py similarity index 100% rename from src/databricks/sql/experimental/__init__.py rename to databricks_sql_connector_core/src/databricks/sql/cloudfetch/__init__.py diff --git a/src/databricks/sql/cloudfetch/download_manager.py b/databricks_sql_connector_core/src/databricks/sql/cloudfetch/download_manager.py similarity index 100% rename from src/databricks/sql/cloudfetch/download_manager.py rename to databricks_sql_connector_core/src/databricks/sql/cloudfetch/download_manager.py diff --git a/src/databricks/sql/cloudfetch/downloader.py b/databricks_sql_connector_core/src/databricks/sql/cloudfetch/downloader.py similarity index 100% rename from src/databricks/sql/cloudfetch/downloader.py rename to databricks_sql_connector_core/src/databricks/sql/cloudfetch/downloader.py diff --git a/src/databricks/sql/exc.py b/databricks_sql_connector_core/src/databricks/sql/exc.py similarity index 100% rename from src/databricks/sql/exc.py rename to databricks_sql_connector_core/src/databricks/sql/exc.py diff --git a/src/databricks/sql/thrift_api/__init__.py b/databricks_sql_connector_core/src/databricks/sql/experimental/__init__.py similarity index 100% rename from src/databricks/sql/thrift_api/__init__.py rename to databricks_sql_connector_core/src/databricks/sql/experimental/__init__.py diff --git a/src/databricks/sql/experimental/oauth_persistence.py b/databricks_sql_connector_core/src/databricks/sql/experimental/oauth_persistence.py similarity index 100% rename from src/databricks/sql/experimental/oauth_persistence.py rename to databricks_sql_connector_core/src/databricks/sql/experimental/oauth_persistence.py diff --git a/src/databricks/sql/parameters/__init__.py b/databricks_sql_connector_core/src/databricks/sql/parameters/__init__.py similarity index 100% rename from src/databricks/sql/parameters/__init__.py rename to databricks_sql_connector_core/src/databricks/sql/parameters/__init__.py diff --git a/src/databricks/sql/parameters/native.py b/databricks_sql_connector_core/src/databricks/sql/parameters/native.py similarity index 100% rename from src/databricks/sql/parameters/native.py rename to databricks_sql_connector_core/src/databricks/sql/parameters/native.py diff --git a/src/databricks/sql/parameters/py.typed b/databricks_sql_connector_core/src/databricks/sql/parameters/py.typed similarity index 100% rename from src/databricks/sql/parameters/py.typed rename to databricks_sql_connector_core/src/databricks/sql/parameters/py.typed diff --git a/src/databricks/sql/py.typed b/databricks_sql_connector_core/src/databricks/sql/py.typed similarity index 100% rename from src/databricks/sql/py.typed rename to databricks_sql_connector_core/src/databricks/sql/py.typed diff --git a/src/databricks/sql/thrift_api/TCLIService/TCLIService-remote b/databricks_sql_connector_core/src/databricks/sql/thrift_api/TCLIService/TCLIService-remote similarity index 100% rename from src/databricks/sql/thrift_api/TCLIService/TCLIService-remote rename to databricks_sql_connector_core/src/databricks/sql/thrift_api/TCLIService/TCLIService-remote diff --git a/src/databricks/sql/thrift_api/TCLIService/TCLIService.py b/databricks_sql_connector_core/src/databricks/sql/thrift_api/TCLIService/TCLIService.py similarity index 100% rename from src/databricks/sql/thrift_api/TCLIService/TCLIService.py rename to databricks_sql_connector_core/src/databricks/sql/thrift_api/TCLIService/TCLIService.py diff --git a/src/databricks/sql/thrift_api/TCLIService/__init__.py b/databricks_sql_connector_core/src/databricks/sql/thrift_api/TCLIService/__init__.py similarity index 100% rename from src/databricks/sql/thrift_api/TCLIService/__init__.py rename to databricks_sql_connector_core/src/databricks/sql/thrift_api/TCLIService/__init__.py diff --git a/src/databricks/sql/thrift_api/TCLIService/constants.py b/databricks_sql_connector_core/src/databricks/sql/thrift_api/TCLIService/constants.py similarity index 100% rename from src/databricks/sql/thrift_api/TCLIService/constants.py rename to databricks_sql_connector_core/src/databricks/sql/thrift_api/TCLIService/constants.py diff --git a/src/databricks/sql/thrift_api/TCLIService/ttypes.py b/databricks_sql_connector_core/src/databricks/sql/thrift_api/TCLIService/ttypes.py similarity index 100% rename from src/databricks/sql/thrift_api/TCLIService/ttypes.py rename to databricks_sql_connector_core/src/databricks/sql/thrift_api/TCLIService/ttypes.py diff --git a/src/databricks/sqlalchemy/py.typed b/databricks_sql_connector_core/src/databricks/sql/thrift_api/__init__.py old mode 100755 new mode 100644 similarity index 100% rename from src/databricks/sqlalchemy/py.typed rename to databricks_sql_connector_core/src/databricks/sql/thrift_api/__init__.py diff --git a/src/databricks/sql/thrift_backend.py b/databricks_sql_connector_core/src/databricks/sql/thrift_backend.py similarity index 98% rename from src/databricks/sql/thrift_backend.py rename to databricks_sql_connector_core/src/databricks/sql/thrift_backend.py index cf984184..7b760509 100644 --- a/src/databricks/sql/thrift_backend.py +++ b/databricks_sql_connector_core/src/databricks/sql/thrift_backend.py @@ -8,7 +8,10 @@ from ssl import CERT_NONE, CERT_REQUIRED, create_default_context from typing import List, Union -import pyarrow +try: + import pyarrow +except ImportError: + pyarrow = None import thrift.transport.THttpClient import thrift.protocol.TBinaryProtocol import thrift.transport.TSocket @@ -37,7 +40,7 @@ convert_column_based_set_to_arrow_table, ) -from src.databricks.sql.thrift_api.TCLIService.ttypes import TDBSqlResultFormat +# from databricks.sql import TDBSqlResultFormat logger = logging.getLogger(__name__) @@ -654,6 +657,10 @@ def _get_metadata_resp(self, op_handle): @staticmethod def _hive_schema_to_arrow_schema(t_table_schema): + + if pyarrow is None: + raise ImportError("pyarrow is required to convert Hive schema to Arrow schema") + def map_type(t_type_entry): if t_type_entry.primitiveEntry: return { @@ -760,12 +767,17 @@ def _results_message_to_execute_response(self, resp, operation_state): description = self._hive_schema_to_description( t_result_set_metadata_resp.schema ) - schema_bytes = ( - t_result_set_metadata_resp.arrowSchema - or self._hive_schema_to_arrow_schema(t_result_set_metadata_resp.schema) - .serialize() - .to_pybytes() - ) + + if pyarrow: + schema_bytes = ( + t_result_set_metadata_resp.arrowSchema + or self._hive_schema_to_arrow_schema(t_result_set_metadata_resp.schema) + .serialize() + .to_pybytes() + ) + else: + schema_bytes = None + lz4_compressed = t_result_set_metadata_resp.lz4Compressed is_staging_operation = t_result_set_metadata_resp.isStagingOperation if direct_results and direct_results.resultSet: diff --git a/src/databricks/sql/types.py b/databricks_sql_connector_core/src/databricks/sql/types.py similarity index 100% rename from src/databricks/sql/types.py rename to databricks_sql_connector_core/src/databricks/sql/types.py diff --git a/src/databricks/sql/utils.py b/databricks_sql_connector_core/src/databricks/sql/utils.py similarity index 97% rename from src/databricks/sql/utils.py rename to databricks_sql_connector_core/src/databricks/sql/utils.py index 9a4732bb..b156a028 100644 --- a/src/databricks/sql/utils.py +++ b/databricks_sql_connector_core/src/databricks/sql/utils.py @@ -14,7 +14,10 @@ from ssl import SSLContext import lz4.frame -import pyarrow +try: + import pyarrow +except ImportError: + pyarrow = None from databricks.sql import OperationalError, exc from databricks.sql.cloudfetch.download_manager import ResultFileDownloadManager @@ -155,7 +158,7 @@ def remaining_rows(self): class ArrowQueue(ResultSetQueue): def __init__( self, - arrow_table: pyarrow.Table, + arrow_table: "pyarrow.Table", n_valid_rows: int, start_row_index: int = 0, ): @@ -170,7 +173,7 @@ def __init__( self.arrow_table = arrow_table self.n_valid_rows = n_valid_rows - def next_n_rows(self, num_rows: int) -> pyarrow.Table: + def next_n_rows(self, num_rows: int) -> 'pyarrow.Table': """Get upto the next n rows of the Arrow dataframe""" length = min(num_rows, self.n_valid_rows - self.cur_row_index) # Note that the table.slice API is not the same as Python's slice @@ -179,7 +182,7 @@ def next_n_rows(self, num_rows: int) -> pyarrow.Table: self.cur_row_index += slice.num_rows return slice - def remaining_rows(self) -> pyarrow.Table: + def remaining_rows(self) -> 'pyarrow.Table': slice = self.arrow_table.slice( self.cur_row_index, self.n_valid_rows - self.cur_row_index ) @@ -239,7 +242,7 @@ def __init__( self.table = self._create_next_table() self.table_row_index = 0 - def next_n_rows(self, num_rows: int) -> pyarrow.Table: + def next_n_rows(self, num_rows: int) -> 'pyarrow.Table': """ Get up to the next n rows of the cloud fetch Arrow dataframes. @@ -271,7 +274,7 @@ def next_n_rows(self, num_rows: int) -> pyarrow.Table: logger.debug("CloudFetchQueue: collected {} next rows".format(results.num_rows)) return results - def remaining_rows(self) -> pyarrow.Table: + def remaining_rows(self) -> 'pyarrow.Table': """ Get all remaining rows of the cloud fetch Arrow dataframes. @@ -292,7 +295,7 @@ def remaining_rows(self) -> pyarrow.Table: self.table_row_index = 0 return results - def _create_next_table(self) -> Union[pyarrow.Table, None]: + def _create_next_table(self) -> Union['pyarrow.Table', None]: logger.debug( "CloudFetchQueue: Trying to get downloaded file for row {}".format( self.start_row_index @@ -331,7 +334,7 @@ def _create_next_table(self) -> Union[pyarrow.Table, None]: return arrow_table - def _create_empty_table(self) -> pyarrow.Table: + def _create_empty_table(self) -> 'pyarrow.Table': # Create a 0-row table with just the schema bytes return create_arrow_table_from_arrow_file(self.schema_bytes, self.description) @@ -570,7 +573,7 @@ def transform_paramstyle( return output -def create_arrow_table_from_arrow_file(file_bytes: bytes, description) -> pyarrow.Table: +def create_arrow_table_from_arrow_file(file_bytes: bytes, description) -> 'pyarrow.Table': arrow_table = convert_arrow_based_file_to_arrow_table(file_bytes) return convert_decimals_in_arrow_table(arrow_table, description) @@ -597,7 +600,7 @@ def convert_arrow_based_set_to_arrow_table(arrow_batches, lz4_compressed, schema return arrow_table, n_rows -def convert_decimals_in_arrow_table(table, description) -> pyarrow.Table: +def convert_decimals_in_arrow_table(table, description) -> 'pyarrow.Table': for i, col in enumerate(table.itercolumns()): if description[i][1] == "decimal": decimal_col = col.to_pandas().apply( diff --git a/databricks_sql_connector_core/src/databricks/sqlalchemy/__init__.py b/databricks_sql_connector_core/src/databricks/sqlalchemy/__init__.py new file mode 100644 index 00000000..458a064d --- /dev/null +++ b/databricks_sql_connector_core/src/databricks/sqlalchemy/__init__.py @@ -0,0 +1,5 @@ +try: + from databricks_sqlalchemy import * +except: + import warnings + warnings.warn("Install databricks-sqlalchemy plugin before using this") \ No newline at end of file diff --git a/databricks_sqlalchemy/pyproject.toml b/databricks_sqlalchemy/pyproject.toml new file mode 100644 index 00000000..c328585a --- /dev/null +++ b/databricks_sqlalchemy/pyproject.toml @@ -0,0 +1,67 @@ +[tool.poetry] +name = "databricks-sqlalchemy" +version = "1.0.0" +description = "Databricks SQLAlchemy plugin for Python" +authors = ["Databricks "] +license = "Apache-2.0" +readme = "README.md" +packages = [{ include = "databricks_sqlalchemy", from = "src" }] +include = ["CHANGELOG.md"] + +[tool.poetry.dependencies] +python = "^3.8.0" +#thrift = ">=0.16.0,<0.21.0" +#pandas = [ +# { version = ">=1.2.5,<2.2.0", python = ">=3.8" } +#] +#pyarrow = ">=14.0.1,<17" + +#lz4 = "^4.0.2" +#requests = "^2.18.1" +#oauthlib = "^3.1.0" +#numpy = [ +# { version = "^1.16.6", python = ">=3.8,<3.11" }, +# { version = "^1.23.4", python = ">=3.11" }, +#] +#sqlalchemy = { version = ">=2.0.21", optional = true } +sqlalchemy = { version = ">=2.0.21" } +#openpyxl = "^3.0.10" +#alembic = { version = "^1.0.11", optional = true } +#urllib3 = ">=1.26" + +#[tool.poetry.extras] +#sqlalchemy = ["sqlalchemy"] +#alembic = ["sqlalchemy", "alembic"] + +[tool.poetry.dev-dependencies] +pytest = "^7.1.2" +mypy = "^1.10.1" +pylint = ">=2.12.0" +black = "^22.3.0" +pytest-dotenv = "^0.5.2" + +[tool.poetry.urls] +"Homepage" = "https://github.com/databricks/databricks-sql-python" +"Bug Tracker" = "https://github.com/databricks/databricks-sql-python/issues" + +[tool.poetry.plugins."sqlalchemy.dialects"] +"databricks" = "databricks.sqlalchemy:DatabricksDialect" + +[build-system] +requires = ["poetry-core>=1.0.0"] +build-backend = "poetry.core.masonry.api" + +[tool.mypy] +ignore_missing_imports = "true" +exclude = ['ttypes\.py$', 'TCLIService\.py$'] + +[tool.black] +exclude = '/(\.eggs|\.git|\.hg|\.mypy_cache|\.nox|\.tox|\.venv|\.svn|_build|buck-out|build|dist|thrift_api)/' +# +#[tool.pytest.ini_options] +#markers = {"reviewed" = "Test case has been reviewed by Databricks"} +#minversion = "6.0" +#log_cli = "false" +#log_cli_level = "INFO" +#testpaths = ["tests", "src/databricks/sqlalchemy/test_local"] +#env_files = ["test.env"] diff --git a/databricks_sqlalchemy/src/__init__.py b/databricks_sqlalchemy/src/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/src/databricks/sqlalchemy/README.sqlalchemy.md b/databricks_sqlalchemy/src/databricks_sqlalchemy/README.sqlalchemy.md similarity index 100% rename from src/databricks/sqlalchemy/README.sqlalchemy.md rename to databricks_sqlalchemy/src/databricks_sqlalchemy/README.sqlalchemy.md diff --git a/src/databricks/sqlalchemy/README.tests.md b/databricks_sqlalchemy/src/databricks_sqlalchemy/README.tests.md similarity index 100% rename from src/databricks/sqlalchemy/README.tests.md rename to databricks_sqlalchemy/src/databricks_sqlalchemy/README.tests.md diff --git a/src/databricks/sqlalchemy/__init__.py b/databricks_sqlalchemy/src/databricks_sqlalchemy/__init__.py similarity index 100% rename from src/databricks/sqlalchemy/__init__.py rename to databricks_sqlalchemy/src/databricks_sqlalchemy/__init__.py diff --git a/src/databricks/sqlalchemy/_ddl.py b/databricks_sqlalchemy/src/databricks_sqlalchemy/_ddl.py similarity index 100% rename from src/databricks/sqlalchemy/_ddl.py rename to databricks_sqlalchemy/src/databricks_sqlalchemy/_ddl.py diff --git a/src/databricks/sqlalchemy/_parse.py b/databricks_sqlalchemy/src/databricks_sqlalchemy/_parse.py similarity index 100% rename from src/databricks/sqlalchemy/_parse.py rename to databricks_sqlalchemy/src/databricks_sqlalchemy/_parse.py diff --git a/src/databricks/sqlalchemy/_types.py b/databricks_sqlalchemy/src/databricks_sqlalchemy/_types.py similarity index 100% rename from src/databricks/sqlalchemy/_types.py rename to databricks_sqlalchemy/src/databricks_sqlalchemy/_types.py diff --git a/src/databricks/sqlalchemy/base.py b/databricks_sqlalchemy/src/databricks_sqlalchemy/base.py similarity index 100% rename from src/databricks/sqlalchemy/base.py rename to databricks_sqlalchemy/src/databricks_sqlalchemy/base.py diff --git a/databricks_sqlalchemy/src/databricks_sqlalchemy/py.typed b/databricks_sqlalchemy/src/databricks_sqlalchemy/py.typed new file mode 100755 index 00000000..e69de29b diff --git a/src/databricks/sqlalchemy/requirements.py b/databricks_sqlalchemy/src/databricks_sqlalchemy/requirements.py similarity index 100% rename from src/databricks/sqlalchemy/requirements.py rename to databricks_sqlalchemy/src/databricks_sqlalchemy/requirements.py diff --git a/src/databricks/sqlalchemy/setup.cfg b/databricks_sqlalchemy/src/databricks_sqlalchemy/setup.cfg similarity index 100% rename from src/databricks/sqlalchemy/setup.cfg rename to databricks_sqlalchemy/src/databricks_sqlalchemy/setup.cfg diff --git a/databricks_sqlalchemy/src/databricks_sqlalchemy/test/__init__.py b/databricks_sqlalchemy/src/databricks_sqlalchemy/test/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/src/databricks/sqlalchemy/test/_extra.py b/databricks_sqlalchemy/src/databricks_sqlalchemy/test/_extra.py similarity index 100% rename from src/databricks/sqlalchemy/test/_extra.py rename to databricks_sqlalchemy/src/databricks_sqlalchemy/test/_extra.py diff --git a/src/databricks/sqlalchemy/test/_future.py b/databricks_sqlalchemy/src/databricks_sqlalchemy/test/_future.py similarity index 99% rename from src/databricks/sqlalchemy/test/_future.py rename to databricks_sqlalchemy/src/databricks_sqlalchemy/test/_future.py index 6e470f60..2baa3d33 100644 --- a/src/databricks/sqlalchemy/test/_future.py +++ b/databricks_sqlalchemy/src/databricks_sqlalchemy/test/_future.py @@ -3,7 +3,7 @@ from enum import Enum import pytest -from databricks.sqlalchemy.test._regression import ( +from databricks_sqlalchemy.src.sqlalchemy.test._regression import ( ExpandingBoundInTest, IdentityAutoincrementTest, LikeFunctionsTest, diff --git a/src/databricks/sqlalchemy/test/_regression.py b/databricks_sqlalchemy/src/databricks_sqlalchemy/test/_regression.py similarity index 98% rename from src/databricks/sqlalchemy/test/_regression.py rename to databricks_sqlalchemy/src/databricks_sqlalchemy/test/_regression.py index 4dbc5ec2..1cd4c354 100644 --- a/src/databricks/sqlalchemy/test/_regression.py +++ b/databricks_sqlalchemy/src/databricks_sqlalchemy/test/_regression.py @@ -52,7 +52,7 @@ ) from databricks.sqlalchemy.test.overrides._ctetest import CTETest -from databricks.sqlalchemy.test.overrides._componentreflectiontest import ( +from databricks_sqlalchemy.src.sqlalchemy.test.overrides._componentreflectiontest import ( ComponentReflectionTest, ) diff --git a/src/databricks/sqlalchemy/test/_unsupported.py b/databricks_sqlalchemy/src/databricks_sqlalchemy/test/_unsupported.py similarity index 99% rename from src/databricks/sqlalchemy/test/_unsupported.py rename to databricks_sqlalchemy/src/databricks_sqlalchemy/test/_unsupported.py index c1f81205..c1270c20 100644 --- a/src/databricks/sqlalchemy/test/_unsupported.py +++ b/databricks_sqlalchemy/src/databricks_sqlalchemy/test/_unsupported.py @@ -3,7 +3,7 @@ from enum import Enum import pytest -from databricks.sqlalchemy.test._regression import ( +from databricks_sqlalchemy.src.sqlalchemy.test._regression import ( ComponentReflectionTest, ComponentReflectionTestExtra, CTETest, diff --git a/src/databricks/sqlalchemy/test/conftest.py b/databricks_sqlalchemy/src/databricks_sqlalchemy/test/conftest.py similarity index 100% rename from src/databricks/sqlalchemy/test/conftest.py rename to databricks_sqlalchemy/src/databricks_sqlalchemy/test/conftest.py diff --git a/databricks_sqlalchemy/src/databricks_sqlalchemy/test/overrides/__init__.py b/databricks_sqlalchemy/src/databricks_sqlalchemy/test/overrides/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/src/databricks/sqlalchemy/test/overrides/_componentreflectiontest.py b/databricks_sqlalchemy/src/databricks_sqlalchemy/test/overrides/_componentreflectiontest.py similarity index 100% rename from src/databricks/sqlalchemy/test/overrides/_componentreflectiontest.py rename to databricks_sqlalchemy/src/databricks_sqlalchemy/test/overrides/_componentreflectiontest.py diff --git a/src/databricks/sqlalchemy/test/overrides/_ctetest.py b/databricks_sqlalchemy/src/databricks_sqlalchemy/test/overrides/_ctetest.py similarity index 100% rename from src/databricks/sqlalchemy/test/overrides/_ctetest.py rename to databricks_sqlalchemy/src/databricks_sqlalchemy/test/overrides/_ctetest.py diff --git a/src/databricks/sqlalchemy/test/test_suite.py b/databricks_sqlalchemy/src/databricks_sqlalchemy/test/test_suite.py similarity index 72% rename from src/databricks/sqlalchemy/test/test_suite.py rename to databricks_sqlalchemy/src/databricks_sqlalchemy/test/test_suite.py index 2b40a432..19005892 100644 --- a/src/databricks/sqlalchemy/test/test_suite.py +++ b/databricks_sqlalchemy/src/databricks_sqlalchemy/test/test_suite.py @@ -7,7 +7,6 @@ # type: ignore # fmt: off from sqlalchemy.testing.suite import * -from databricks.sqlalchemy.test._regression import * +from databricks_sqlalchemy.src.sqlalchemy.test._regression import * from databricks.sqlalchemy.test._unsupported import * from databricks.sqlalchemy.test._future import * -from databricks.sqlalchemy.test._extra import TinyIntegerTest, DateTimeTZTestCustom diff --git a/src/databricks/sqlalchemy/test_local/__init__.py b/databricks_sqlalchemy/src/databricks_sqlalchemy/test_local/__init__.py similarity index 100% rename from src/databricks/sqlalchemy/test_local/__init__.py rename to databricks_sqlalchemy/src/databricks_sqlalchemy/test_local/__init__.py diff --git a/src/databricks/sqlalchemy/test_local/conftest.py b/databricks_sqlalchemy/src/databricks_sqlalchemy/test_local/conftest.py similarity index 100% rename from src/databricks/sqlalchemy/test_local/conftest.py rename to databricks_sqlalchemy/src/databricks_sqlalchemy/test_local/conftest.py diff --git a/src/databricks/sqlalchemy/test_local/e2e/MOCK_DATA.xlsx b/databricks_sqlalchemy/src/databricks_sqlalchemy/test_local/e2e/MOCK_DATA.xlsx similarity index 100% rename from src/databricks/sqlalchemy/test_local/e2e/MOCK_DATA.xlsx rename to databricks_sqlalchemy/src/databricks_sqlalchemy/test_local/e2e/MOCK_DATA.xlsx diff --git a/databricks_sqlalchemy/src/databricks_sqlalchemy/test_local/e2e/__init__.py b/databricks_sqlalchemy/src/databricks_sqlalchemy/test_local/e2e/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/src/databricks/sqlalchemy/test_local/e2e/test_basic.py b/databricks_sqlalchemy/src/databricks_sqlalchemy/test_local/e2e/test_basic.py similarity index 100% rename from src/databricks/sqlalchemy/test_local/e2e/test_basic.py rename to databricks_sqlalchemy/src/databricks_sqlalchemy/test_local/e2e/test_basic.py diff --git a/src/databricks/sqlalchemy/test_local/test_ddl.py b/databricks_sqlalchemy/src/databricks_sqlalchemy/test_local/test_ddl.py similarity index 100% rename from src/databricks/sqlalchemy/test_local/test_ddl.py rename to databricks_sqlalchemy/src/databricks_sqlalchemy/test_local/test_ddl.py diff --git a/src/databricks/sqlalchemy/test_local/test_parsing.py b/databricks_sqlalchemy/src/databricks_sqlalchemy/test_local/test_parsing.py similarity index 100% rename from src/databricks/sqlalchemy/test_local/test_parsing.py rename to databricks_sqlalchemy/src/databricks_sqlalchemy/test_local/test_parsing.py diff --git a/src/databricks/sqlalchemy/test_local/test_types.py b/databricks_sqlalchemy/src/databricks_sqlalchemy/test_local/test_types.py similarity index 100% rename from src/databricks/sqlalchemy/test_local/test_types.py rename to databricks_sqlalchemy/src/databricks_sqlalchemy/test_local/test_types.py diff --git a/docs/parameters.md b/docs/parameters.md index a538af1a..7ebd09ae 100644 --- a/docs/parameters.md +++ b/docs/parameters.md @@ -112,7 +112,7 @@ Automatic inferrence is sufficient for most usages. But you can bypass the infer ```python from databricks import sql -from databricks.sql.parameters import StringParameter, IntegerParameter +from databricks.sql import StringParameter, IntegerParameter # with `named` markers with sql.connect(...) as conn: diff --git a/examples/README.md b/examples/README.md index 43d248da..fa705e9d 100644 --- a/examples/README.md +++ b/examples/README.md @@ -6,7 +6,7 @@ We provide example scripts so you can see the connector in action for basic usag - DATABRICKS_HTTP_PATH - DATABRICKS_TOKEN -Follow the quick start in our [README](../README.md) to install `databricks-sql-connector` and see +Follow the quick start in our [README](../databricks_sql_connector_core/README.md) to install `databricks-sql-connector` and see how to find the hostname, http path, and access token. Note that for the OAuth examples below a personal access token is not needed. @@ -17,13 +17,13 @@ To run all of these examples you can clone the entire repository to your disk. O ### Clone the repo 1. Clone this repository to your local system -2. Follow the quick start in the [README](../README.md) to install the connector and obtain authentication credentials. +2. Follow the quick start in the [README](../databricks_sql_connector_core/README.md) to install the connector and obtain authentication credentials. 3. `cd examples/` 4. Then run any script using the `python` CLI. For example `python query_execute.py` ### Fetch with `curl` -1. Follow the quick start in the [README](../README.md) to install the connector and obtain authentication credentials. +1. Follow the quick start in the [README](../databricks_sql_connector_core/README.md) to install the connector and obtain authentication credentials. 2. Use the GitHub UI to find the URL to the **Raw** version of one of these examples. For example: `https://raw.githubusercontent.com/databricks/databricks-sql-python/main/examples/query_execute.py` 3. `curl` this URL to your local file-system: `curl https://raw.githubusercontent.com/databricks/databricks-sql-python/main/examples/query_execute.py > query_execute.py` 4. Then run the script with the `python` CLI. `python query_execute.py` diff --git a/examples/parameters.py b/examples/parameters.py index 93136ec7..c0367e1b 100644 --- a/examples/parameters.py +++ b/examples/parameters.py @@ -4,7 +4,7 @@ from decimal import Decimal from databricks import sql -from databricks.sql.parameters import * +from databricks.sql import * import os from databricks import sql diff --git a/examples/persistent_oauth.py b/examples/persistent_oauth.py index 0f2ba077..22a10def 100644 --- a/examples/persistent_oauth.py +++ b/examples/persistent_oauth.py @@ -17,7 +17,7 @@ from typing import Optional from databricks import sql -from databricks.sql.experimental.oauth_persistence import OAuthPersistence, OAuthToken, DevOnlyFilePersistence +from databricks.sql import OAuthPersistence, OAuthToken, DevOnlyFilePersistence class SampleOAuthPersistence(OAuthPersistence): diff --git a/setup_script.py b/setup_script.py new file mode 100644 index 00000000..2c0d0dba --- /dev/null +++ b/setup_script.py @@ -0,0 +1,22 @@ +import subprocess +import os + +def build_and_install_library(): + # Change directory to one level down + os.chdir('databricks_sql_connector_core') + + # Build the library using Poetry + subprocess.run(['poetry', 'build'], check=True) + + # Get the name of the built .whl file + dist_dir = 'dist' + whl_files = [f for f in os.listdir(dist_dir) if f.endswith('.whl')] + if not whl_files: + raise FileNotFoundError("No .whl file found in the dist directory") + + # Install the package using pip3 + whl_file = os.path.join(dist_dir, whl_files[0]) + subprocess.run(['pip3', 'install', whl_file, '--force-reinstall'], check=True) + +if __name__ == "__main__": + build_and_install_library() \ No newline at end of file diff --git a/tests/e2e/common/predicates.py b/tests/e2e/common/predicates.py index 88b14961..4d01c5fe 100644 --- a/tests/e2e/common/predicates.py +++ b/tests/e2e/common/predicates.py @@ -9,7 +9,7 @@ def pysql_supports_arrow(): """Import databricks.sql and test whether Cursor has fetchall_arrow.""" - from databricks.sql.client import Cursor + from databricks.sql import Cursor return hasattr(Cursor, 'fetchall_arrow') diff --git a/tests/e2e/common/retry_test_mixins.py b/tests/e2e/common/retry_test_mixins.py index 106a8fb5..e7761397 100755 --- a/tests/e2e/common/retry_test_mixins.py +++ b/tests/e2e/common/retry_test_mixins.py @@ -6,8 +6,8 @@ import pytest from urllib3.exceptions import MaxRetryError -from databricks.sql.auth.retry import DatabricksRetryPolicy -from databricks.sql.exc import ( +from databricks.sql import DatabricksRetryPolicy +from databricks.sql import ( MaxRetryDurationError, NonRecoverableNetworkError, RequestError, diff --git a/tests/e2e/test_driver.py b/tests/e2e/test_driver.py index c23e4f79..b49dfade 100644 --- a/tests/e2e/test_driver.py +++ b/tests/e2e/test_driver.py @@ -46,7 +46,7 @@ from tests.e2e.common.uc_volume_tests import PySQLUCVolumeTestSuiteMixin -from databricks.sql.exc import SessionAlreadyClosedError +from databricks.sql import SessionAlreadyClosedError log = logging.getLogger(__name__) @@ -696,7 +696,7 @@ def test_decimal_not_returned_as_strings_arrow(self): def test_close_connection_closes_cursors(self): - from databricks.sql.thrift_api.TCLIService import ttypes + from databricks.sql import ttypes with self.connection() as conn: cursor = conn.cursor() diff --git a/tests/e2e/test_parameterized_queries.py b/tests/e2e/test_parameterized_queries.py index 47dfc38c..d63dc133 100644 --- a/tests/e2e/test_parameterized_queries.py +++ b/tests/e2e/test_parameterized_queries.py @@ -8,7 +8,7 @@ import pytest import pytz -from databricks.sql.parameters.native import ( +from databricks.sql import ( BigIntegerParameter, BooleanParameter, DateParameter, diff --git a/tests/unit/test_arrow_queue.py b/tests/unit/test_arrow_queue.py index 6834cc9c..a6ef417a 100644 --- a/tests/unit/test_arrow_queue.py +++ b/tests/unit/test_arrow_queue.py @@ -2,7 +2,7 @@ import pyarrow as pa -from databricks.sql.utils import ArrowQueue +from databricks.sql import ArrowQueue class ArrowQueueSuite(unittest.TestCase): diff --git a/tests/unit/test_auth.py b/tests/unit/test_auth.py index a1b36bf7..d88fe286 100644 --- a/tests/unit/test_auth.py +++ b/tests/unit/test_auth.py @@ -3,22 +3,22 @@ from typing import Optional from unittest.mock import patch -from databricks.sql.auth.auth import ( +from databricks.sql import ( AccessTokenAuthProvider, AuthProvider, ExternalAuthProvider, AuthType, ) -from databricks.sql.auth.auth import get_python_sql_connector_auth_provider -from databricks.sql.auth.oauth import OAuthManager -from databricks.sql.auth.authenticators import DatabricksOAuthProvider -from databricks.sql.auth.endpoint import ( +from databricks.sql import get_python_sql_connector_auth_provider +from databricks.sql import OAuthManager +from databricks.sql import DatabricksOAuthProvider +from databricks.sql import ( CloudType, InHouseOAuthEndpointCollection, AzureOAuthEndpointCollection, ) -from databricks.sql.auth.authenticators import CredentialsProvider, HeaderFactory -from databricks.sql.experimental.oauth_persistence import OAuthPersistenceCache +from databricks.sql import CredentialsProvider, HeaderFactory +from databricks.sql import OAuthPersistenceCache class Auth(unittest.TestCase): diff --git a/tests/unit/test_client.py b/tests/unit/test_client.py index c86a9f7f..5d1a2b04 100644 --- a/tests/unit/test_client.py +++ b/tests/unit/test_client.py @@ -8,19 +8,19 @@ from datetime import datetime, date from uuid import UUID -from databricks.sql.thrift_api.TCLIService.ttypes import ( +from databricks.sql import ( TOpenSessionResp, TExecuteStatementResp, TOperationHandle, THandleIdentifier, TOperationType ) -from databricks.sql.thrift_backend import ThriftBackend +from databricks.sql import ThriftBackend import databricks.sql import databricks.sql.client as client from databricks.sql import InterfaceError, DatabaseError, Error, NotSupportedError -from databricks.sql.types import Row +from databricks.sql import Row from tests.unit.test_fetches import FetchTests from tests.unit.test_thrift_backend import ThriftBackendTestSuite diff --git a/tests/unit/test_cloud_fetch_queue.py b/tests/unit/test_cloud_fetch_queue.py index cd14c676..6cddff35 100644 --- a/tests/unit/test_cloud_fetch_queue.py +++ b/tests/unit/test_cloud_fetch_queue.py @@ -3,7 +3,7 @@ from unittest.mock import MagicMock, patch from ssl import create_default_context -from databricks.sql.thrift_api.TCLIService.ttypes import TSparkArrowResultLink +from databricks.sql import TSparkArrowResultLink import databricks.sql.utils as utils class CloudFetchQueueSuite(unittest.TestCase): diff --git a/tests/unit/test_download_manager.py b/tests/unit/test_download_manager.py index c084d8e4..4d5d0ea9 100644 --- a/tests/unit/test_download_manager.py +++ b/tests/unit/test_download_manager.py @@ -4,7 +4,7 @@ from ssl import create_default_context import databricks.sql.cloudfetch.download_manager as download_manager -from databricks.sql.thrift_api.TCLIService.ttypes import TSparkArrowResultLink +from databricks.sql import TSparkArrowResultLink class DownloadManagerTests(unittest.TestCase): diff --git a/tests/unit/test_downloader.py b/tests/unit/test_downloader.py index b6e473b5..f2974b7c 100644 --- a/tests/unit/test_downloader.py +++ b/tests/unit/test_downloader.py @@ -5,7 +5,7 @@ from ssl import create_default_context import databricks.sql.cloudfetch.downloader as downloader -from databricks.sql.exc import Error +from databricks.sql import Error def create_response(**kwargs) -> requests.Response: diff --git a/tests/unit/test_endpoint.py b/tests/unit/test_endpoint.py index 1f7d7cdd..199318d7 100644 --- a/tests/unit/test_endpoint.py +++ b/tests/unit/test_endpoint.py @@ -4,8 +4,8 @@ from unittest.mock import patch -from databricks.sql.auth.auth import AuthType -from databricks.sql.auth.endpoint import ( +from databricks.sql import AuthType +from databricks.sql import ( infer_cloud_from_host, CloudType, get_oauth_endpoints, diff --git a/tests/unit/test_fetches.py b/tests/unit/test_fetches.py index 7d5686f8..35e13900 100644 --- a/tests/unit/test_fetches.py +++ b/tests/unit/test_fetches.py @@ -4,7 +4,7 @@ import pyarrow as pa import databricks.sql.client as client -from databricks.sql.utils import ExecuteResponse, ArrowQueue +from databricks.sql import ExecuteResponse, ArrowQueue class FetchTests(unittest.TestCase): diff --git a/tests/unit/test_fetches_bench.py b/tests/unit/test_fetches_bench.py index e322b44a..2335df3f 100644 --- a/tests/unit/test_fetches_bench.py +++ b/tests/unit/test_fetches_bench.py @@ -7,7 +7,7 @@ import pytest import databricks.sql.client as client -from databricks.sql.utils import ExecuteResponse, ArrowQueue +from databricks.sql import ExecuteResponse, ArrowQueue class FetchBenchmarkTests(unittest.TestCase): diff --git a/tests/unit/test_oauth_persistence.py b/tests/unit/test_oauth_persistence.py index 28b3cab3..812c918a 100644 --- a/tests/unit/test_oauth_persistence.py +++ b/tests/unit/test_oauth_persistence.py @@ -1,7 +1,7 @@ import unittest -from databricks.sql.experimental.oauth_persistence import DevOnlyFilePersistence, OAuthToken +from databricks.sql import DevOnlyFilePersistence, OAuthToken import tempfile import os diff --git a/tests/unit/test_param_escaper.py b/tests/unit/test_param_escaper.py index 472a0843..0f37bf92 100644 --- a/tests/unit/test_param_escaper.py +++ b/tests/unit/test_param_escaper.py @@ -1,9 +1,9 @@ from datetime import date, datetime import unittest, pytest, decimal from typing import Any, Dict -from databricks.sql.parameters.native import dbsql_parameter_from_primitive +from databricks.sql import dbsql_parameter_from_primitive -from databricks.sql.utils import ParamEscaper, inject_parameters, transform_paramstyle, ParameterStructure +from databricks.sql import ParamEscaper, inject_parameters, transform_paramstyle, ParameterStructure pe = ParamEscaper() diff --git a/tests/unit/test_parameters.py b/tests/unit/test_parameters.py index eec921e4..9050f3ee 100644 --- a/tests/unit/test_parameters.py +++ b/tests/unit/test_parameters.py @@ -6,8 +6,8 @@ import pytest import pytz -from databricks.sql.client import Connection -from databricks.sql.parameters import ( +from databricks.sql import Connection +from databricks.sql import ( BigIntegerParameter, BooleanParameter, DateParameter, @@ -22,13 +22,13 @@ TinyIntParameter, VoidParameter, ) -from databricks.sql.parameters.native import ( +from databricks.sql import ( TDbsqlParameter, TSparkParameterValue, dbsql_parameter_from_primitive, ) -from databricks.sql.thrift_api.TCLIService import ttypes -from databricks.sql.thrift_api.TCLIService.ttypes import ( +from databricks.sql import ttypes +from databricks.sql import ( TOpenSessionResp, TSessionHandle, TSparkParameterValue, diff --git a/tests/unit/test_retry.py b/tests/unit/test_retry.py index 798bac2e..7cbc957a 100644 --- a/tests/unit/test_retry.py +++ b/tests/unit/test_retry.py @@ -4,7 +4,7 @@ import pytest from requests import Request from urllib3 import HTTPResponse -from databricks.sql.auth.retry import DatabricksRetryPolicy, RequestHistory +from databricks.sql import DatabricksRetryPolicy, RequestHistory class TestRetry: diff --git a/tests/unit/test_thrift_backend.py b/tests/unit/test_thrift_backend.py index 4bcf84d2..3c2b0953 100644 --- a/tests/unit/test_thrift_backend.py +++ b/tests/unit/test_thrift_backend.py @@ -9,10 +9,10 @@ import databricks.sql from databricks.sql import utils -from databricks.sql.thrift_api.TCLIService import ttypes +from databricks.sql import ttypes from databricks.sql import * -from databricks.sql.auth.authenticators import AuthProvider -from databricks.sql.thrift_backend import ThriftBackend +from databricks.sql import AuthProvider +from databricks.sql import ThriftBackend def retry_policy_factory(): @@ -160,7 +160,7 @@ def test_headers_are_set(self, t_http_client_class): def test_proxy_headers_are_set(self): - from databricks.sql.auth.thrift_http_client import THttpClient + from databricks.sql import THttpClient from urllib.parse import urlparse fake_proxy_spec = "https://someuser:somepassword@8.8.8.8:12340" @@ -1197,9 +1197,9 @@ def test_make_request_will_retry_GetOperationStatus( ): import thrift, errno - from databricks.sql.thrift_api.TCLIService.TCLIService import Client - from databricks.sql.exc import RequestError - from databricks.sql.utils import NoRetryReason + from databricks.sql import Client + from databricks.sql import RequestError + from databricks.sql import NoRetryReason this_gos_name = "GetOperationStatus" mock_GetOperationStatus.__name__ = this_gos_name @@ -1263,10 +1263,10 @@ def test_make_request_will_retry_GetOperationStatus_for_http_error( mock_gos.side_effect = urllib3.exceptions.HTTPError("Read timed out") import thrift, errno - from databricks.sql.thrift_api.TCLIService.TCLIService import Client - from databricks.sql.exc import RequestError - from databricks.sql.utils import NoRetryReason - from databricks.sql.auth.thrift_http_client import THttpClient + from databricks.sql import Client + from databricks.sql import RequestError + from databricks.sql import NoRetryReason + from databricks.sql import THttpClient this_gos_name = "GetOperationStatus" mock_gos.__name__ = this_gos_name From 98c4cd632ecba999da7c60027254149e9c208c6d Mon Sep 17 00:00:00 2001 From: Jothi Prakash Date: Tue, 6 Aug 2024 23:13:07 +0530 Subject: [PATCH 04/53] Refractored the code to make connector to work --- .gitignore | 2 +- .idea/.gitignore | 8 --- .idea/codeStyles/Project.xml | 7 -- .idea/codeStyles/codeStyleConfig.xml | 5 -- .idea/databricks-sql-python.iml | 9 --- .idea/misc.xml | 9 --- .idea/modules.xml | 8 --- .idea/vcs.xml | 36 ---------- check.py | 2 +- databricks_sql_connector/pyproject.toml | 66 +++++++++++++++++++ .../src/databricks}/__init__.py | 0 .../src/databricks/sql.py | 1 + .../src/databricks/sqlalchemy.py | 0 databricks_sql_connector_core/pyproject.toml | 2 +- .../__init__.py | 0 .../sql/__init__.py | 2 +- .../sql/auth}/__init__.py | 0 .../sql/auth/auth.py | 2 +- .../sql/auth/authenticators.py | 6 +- .../sql/auth/endpoint.py | 0 .../sql/auth/oauth.py | 4 +- .../sql/auth/oauth_http_handler.py | 0 .../sql/auth/retry.py | 2 +- .../sql/auth/thrift_http_client.py | 2 +- .../sql/client.py | 22 +++---- .../sql/cloudfetch}/__init__.py | 0 .../sql/cloudfetch/download_manager.py | 4 +- .../sql/cloudfetch/downloader.py | 4 +- .../sql/exc.py | 0 .../sql/experimental}/__init__.py | 0 .../sql/experimental/oauth_persistence.py | 0 .../sql/parameters/__init__.py | 2 +- .../sql/parameters/native.py | 4 +- .../sql/parameters/py.typed | 0 .../sql/py.typed | 0 .../thrift_api/TCLIService/TCLIService-remote | 0 .../sql/thrift_api/TCLIService/TCLIService.py | 0 .../sql/thrift_api/TCLIService/__init__.py | 0 .../sql/thrift_api/TCLIService/constants.py | 0 .../sql/thrift_api/TCLIService/ttypes.py | 0 .../sql/thrift_api/__init__.py | 0 .../sql/thrift_backend.py | 26 ++++---- .../sql/types.py | 0 .../sql/utils.py | 8 +-- .../sqlalchemy/__init__.py | 5 ++ 45 files changed, 119 insertions(+), 129 deletions(-) delete mode 100644 .idea/.gitignore delete mode 100644 .idea/codeStyles/Project.xml delete mode 100644 .idea/codeStyles/codeStyleConfig.xml delete mode 100644 .idea/databricks-sql-python.iml delete mode 100644 .idea/misc.xml delete mode 100644 .idea/modules.xml delete mode 100644 .idea/vcs.xml create mode 100644 databricks_sql_connector/pyproject.toml rename {databricks_sql_connector_core/src/databricks/sql/auth => databricks_sql_connector/src/databricks}/__init__.py (100%) create mode 100644 databricks_sql_connector/src/databricks/sql.py rename databricks_sql_connector_core/src/databricks/sqlalchemy/__init__.py => databricks_sql_connector/src/databricks/sqlalchemy.py (100%) rename databricks_sql_connector_core/src/{databricks => databricks_sql_connector_core}/__init__.py (100%) rename databricks_sql_connector_core/src/{databricks => databricks_sql_connector_core}/sql/__init__.py (97%) rename databricks_sql_connector_core/src/{databricks/sql/cloudfetch => databricks_sql_connector_core/sql/auth}/__init__.py (100%) rename databricks_sql_connector_core/src/{databricks => databricks_sql_connector_core}/sql/auth/auth.py (98%) rename databricks_sql_connector_core/src/{databricks => databricks_sql_connector_core}/sql/auth/authenticators.py (94%) rename databricks_sql_connector_core/src/{databricks => databricks_sql_connector_core}/sql/auth/endpoint.py (100%) rename databricks_sql_connector_core/src/{databricks => databricks_sql_connector_core}/sql/auth/oauth.py (98%) rename databricks_sql_connector_core/src/{databricks => databricks_sql_connector_core}/sql/auth/oauth_http_handler.py (100%) rename databricks_sql_connector_core/src/{databricks => databricks_sql_connector_core}/sql/auth/retry.py (99%) rename databricks_sql_connector_core/src/{databricks => databricks_sql_connector_core}/sql/auth/thrift_http_client.py (98%) rename databricks_sql_connector_core/src/{databricks => databricks_sql_connector_core}/sql/client.py (98%) rename databricks_sql_connector_core/src/{databricks/sql/experimental => databricks_sql_connector_core/sql/cloudfetch}/__init__.py (100%) rename databricks_sql_connector_core/src/{databricks => databricks_sql_connector_core}/sql/cloudfetch/download_manager.py (95%) rename databricks_sql_connector_core/src/{databricks => databricks_sql_connector_core}/sql/cloudfetch/downloader.py (97%) rename databricks_sql_connector_core/src/{databricks => databricks_sql_connector_core}/sql/exc.py (100%) rename databricks_sql_connector_core/src/{databricks/sql/thrift_api => databricks_sql_connector_core/sql/experimental}/__init__.py (100%) rename databricks_sql_connector_core/src/{databricks => databricks_sql_connector_core}/sql/experimental/oauth_persistence.py (100%) rename databricks_sql_connector_core/src/{databricks => databricks_sql_connector_core}/sql/parameters/__init__.py (81%) rename databricks_sql_connector_core/src/{databricks => databricks_sql_connector_core}/sql/parameters/native.py (99%) rename databricks_sql_connector_core/src/{databricks => databricks_sql_connector_core}/sql/parameters/py.typed (100%) rename databricks_sql_connector_core/src/{databricks => databricks_sql_connector_core}/sql/py.typed (100%) rename databricks_sql_connector_core/src/{databricks => databricks_sql_connector_core}/sql/thrift_api/TCLIService/TCLIService-remote (100%) rename databricks_sql_connector_core/src/{databricks => databricks_sql_connector_core}/sql/thrift_api/TCLIService/TCLIService.py (100%) rename databricks_sql_connector_core/src/{databricks => databricks_sql_connector_core}/sql/thrift_api/TCLIService/__init__.py (100%) rename databricks_sql_connector_core/src/{databricks => databricks_sql_connector_core}/sql/thrift_api/TCLIService/constants.py (100%) rename databricks_sql_connector_core/src/{databricks => databricks_sql_connector_core}/sql/thrift_api/TCLIService/ttypes.py (100%) create mode 100644 databricks_sql_connector_core/src/databricks_sql_connector_core/sql/thrift_api/__init__.py rename databricks_sql_connector_core/src/{databricks => databricks_sql_connector_core}/sql/thrift_backend.py (97%) rename databricks_sql_connector_core/src/{databricks => databricks_sql_connector_core}/sql/types.py (100%) rename databricks_sql_connector_core/src/{databricks => databricks_sql_connector_core}/sql/utils.py (98%) create mode 100644 databricks_sql_connector_core/src/databricks_sql_connector_core/sqlalchemy/__init__.py diff --git a/.gitignore b/.gitignore index a1fe5bbd..2ae38dbc 100644 --- a/.gitignore +++ b/.gitignore @@ -195,7 +195,7 @@ cython_debug/ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore # and can be added to the global gitignore or merged into this file. For a more nuclear # option (not recommended) you can uncomment the following to ignore the entire idea folder. -#.idea/ +.idea/ # End of https://www.toptal.com/developers/gitignore/api/python,macos diff --git a/.idea/.gitignore b/.idea/.gitignore deleted file mode 100644 index 13566b81..00000000 --- a/.idea/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -# Default ignored files -/shelf/ -/workspace.xml -# Editor-based HTTP Client requests -/httpRequests/ -# Datasource local storage ignored files -/dataSources/ -/dataSources.local.xml diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml deleted file mode 100644 index 919ce1f1..00000000 --- a/.idea/codeStyles/Project.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/.idea/codeStyles/codeStyleConfig.xml b/.idea/codeStyles/codeStyleConfig.xml deleted file mode 100644 index a55e7a17..00000000 --- a/.idea/codeStyles/codeStyleConfig.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - \ No newline at end of file diff --git a/.idea/databricks-sql-python.iml b/.idea/databricks-sql-python.iml deleted file mode 100644 index 1bd3bcf1..00000000 --- a/.idea/databricks-sql-python.iml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml deleted file mode 100644 index 00c2bf78..00000000 --- a/.idea/misc.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml deleted file mode 100644 index d3d7ab09..00000000 --- a/.idea/modules.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml deleted file mode 100644 index c01f2d68..00000000 --- a/.idea/vcs.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/check.py b/check.py index a9aa6c43..2e206673 100644 --- a/check.py +++ b/check.py @@ -11,7 +11,7 @@ # # Add the parent directory to sys.path # sys.path.append(target_folder_path) -from databricks import sql +from databricks_sql_connector.src.databricks import sql # from dotenv import load_dotenv diff --git a/databricks_sql_connector/pyproject.toml b/databricks_sql_connector/pyproject.toml new file mode 100644 index 00000000..dd59ea03 --- /dev/null +++ b/databricks_sql_connector/pyproject.toml @@ -0,0 +1,66 @@ +[tool.poetry] +name = "databricks-sql-connector" +version = "1.0.0" +description = "Databricks SQL Connector for Python" +authors = ["Databricks "] +license = "Apache-2.0" +readme = "README.md" +packages = [{ include = "databricks", from = "src" }] +include = ["CHANGELOG.md"] + +[tool.poetry.dependencies] +python = "^3.8.0" +#thrift = ">=0.16.0,<0.21.0" +#pandas = [ +# { version = ">=1.2.5,<2.2.0", python = ">=3.8" } +#] +#pyarrow = ">=14.0.1,<17" + +#lz4 = "^4.0.2" +#requests = "^2.18.1" +#oauthlib = "^3.1.0" +#numpy = [ +# { version = "^1.16.6", python = ">=3.8,<3.11" }, +# { version = "^1.23.4", python = ">=3.11" }, +#] +#sqlalchemy = { version = ">=2.0.21", optional = true } +#openpyxl = "^3.0.10" +#alembic = { version = "^1.0.11", optional = true } +#urllib3 = ">=1.26" +# +#[tool.poetry.extras] +#sqlalchemy = ["sqlalchemy"] +#alembic = ["sqlalchemy", "alembic"] +# +#[tool.poetry.dev-dependencies] +#pytest = "^7.1.2" +#mypy = "^1.10.1" +#pylint = ">=2.12.0" +#black = "^22.3.0" +#pytest-dotenv = "^0.5.2" + +#[tool.poetry.urls] +#"Homepage" = "https://github.com/databricks/databricks-sql-python" +#"Bug Tracker" = "https://github.com/databricks/databricks-sql-python/issues" + +[tool.poetry.plugins."sqlalchemy.dialects"] +"databricks" = "databricks.sqlalchemy:DatabricksDialect" + +[build-system] +requires = ["poetry-core>=1.0.0"] +build-backend = "poetry.core.masonry.api" +# +#[tool.mypy] +#ignore_missing_imports = "true" +#exclude = ['ttypes\.py$', 'TCLIService\.py$'] +# +#[tool.black] +#exclude = '/(\.eggs|\.git|\.hg|\.mypy_cache|\.nox|\.tox|\.venv|\.svn|_build|buck-out|build|dist|thrift_api)/' +# +#[tool.pytest.ini_options] +#markers = {"reviewed" = "Test case has been reviewed by Databricks"} +#minversion = "6.0" +#log_cli = "false" +#log_cli_level = "INFO" +#testpaths = ["tests", "src/databricks/sqlalchemy/test_local"] +#env_files = ["test.env"] diff --git a/databricks_sql_connector_core/src/databricks/sql/auth/__init__.py b/databricks_sql_connector/src/databricks/__init__.py similarity index 100% rename from databricks_sql_connector_core/src/databricks/sql/auth/__init__.py rename to databricks_sql_connector/src/databricks/__init__.py diff --git a/databricks_sql_connector/src/databricks/sql.py b/databricks_sql_connector/src/databricks/sql.py new file mode 100644 index 00000000..55ffecfd --- /dev/null +++ b/databricks_sql_connector/src/databricks/sql.py @@ -0,0 +1 @@ +from databricks_sql_connector_core.sql import * \ No newline at end of file diff --git a/databricks_sql_connector_core/src/databricks/sqlalchemy/__init__.py b/databricks_sql_connector/src/databricks/sqlalchemy.py similarity index 100% rename from databricks_sql_connector_core/src/databricks/sqlalchemy/__init__.py rename to databricks_sql_connector/src/databricks/sqlalchemy.py diff --git a/databricks_sql_connector_core/pyproject.toml b/databricks_sql_connector_core/pyproject.toml index 6f323ffd..c6078a06 100644 --- a/databricks_sql_connector_core/pyproject.toml +++ b/databricks_sql_connector_core/pyproject.toml @@ -5,7 +5,7 @@ description = "Databricks SQL Connector core for Python" authors = ["Databricks "] license = "Apache-2.0" readme = "README.md" -packages = [{ include = "databricks", from = "src" }] +packages = [{ include = "databricks_sql_connector_core", from = "src" }] include = ["CHANGELOG.md"] [tool.poetry.dependencies] diff --git a/databricks_sql_connector_core/src/databricks/__init__.py b/databricks_sql_connector_core/src/databricks_sql_connector_core/__init__.py similarity index 100% rename from databricks_sql_connector_core/src/databricks/__init__.py rename to databricks_sql_connector_core/src/databricks_sql_connector_core/__init__.py diff --git a/databricks_sql_connector_core/src/databricks/sql/__init__.py b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/__init__.py similarity index 97% rename from databricks_sql_connector_core/src/databricks/sql/__init__.py rename to databricks_sql_connector_core/src/databricks_sql_connector_core/sql/__init__.py index 767cbf05..fd25109c 100644 --- a/databricks_sql_connector_core/src/databricks/sql/__init__.py +++ b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/__init__.py @@ -1,6 +1,6 @@ import datetime -from databricks.sql.exc import * +from databricks_sql_connector_core.sql.exc import * # PEP 249 module globals apilevel = "2.0" diff --git a/databricks_sql_connector_core/src/databricks/sql/cloudfetch/__init__.py b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/auth/__init__.py similarity index 100% rename from databricks_sql_connector_core/src/databricks/sql/cloudfetch/__init__.py rename to databricks_sql_connector_core/src/databricks_sql_connector_core/sql/auth/__init__.py diff --git a/databricks_sql_connector_core/src/databricks/sql/auth/auth.py b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/auth/auth.py similarity index 98% rename from databricks_sql_connector_core/src/databricks/sql/auth/auth.py rename to databricks_sql_connector_core/src/databricks_sql_connector_core/sql/auth/auth.py index 2a6c9d4d..3946e8e1 100755 --- a/databricks_sql_connector_core/src/databricks/sql/auth/auth.py +++ b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/auth/auth.py @@ -1,7 +1,7 @@ from enum import Enum from typing import Optional, List -from databricks.sql.auth.authenticators import ( +from databricks_sql_connector_core.sql.auth.authenticators import ( AuthProvider, AccessTokenAuthProvider, ExternalAuthProvider, diff --git a/databricks_sql_connector_core/src/databricks/sql/auth/authenticators.py b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/auth/authenticators.py similarity index 94% rename from databricks_sql_connector_core/src/databricks/sql/auth/authenticators.py rename to databricks_sql_connector_core/src/databricks_sql_connector_core/sql/auth/authenticators.py index 64eb91bb..63e3c248 100644 --- a/databricks_sql_connector_core/src/databricks/sql/auth/authenticators.py +++ b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/auth/authenticators.py @@ -3,12 +3,12 @@ import logging from typing import Callable, Dict, List -from databricks.sql.auth.oauth import OAuthManager -from databricks.sql.auth.endpoint import get_oauth_endpoints, infer_cloud_from_host +from databricks_sql_connector_core.sql.auth.oauth import OAuthManager +from databricks_sql_connector_core.sql.auth.endpoint import get_oauth_endpoints, infer_cloud_from_host # Private API: this is an evolving interface and it will change in the future. # Please must not depend on it in your applications. -from databricks.sql.experimental.oauth_persistence import OAuthToken, OAuthPersistence +from databricks_sql_connector_core.sql.experimental.oauth_persistence import OAuthToken, OAuthPersistence class AuthProvider: diff --git a/databricks_sql_connector_core/src/databricks/sql/auth/endpoint.py b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/auth/endpoint.py similarity index 100% rename from databricks_sql_connector_core/src/databricks/sql/auth/endpoint.py rename to databricks_sql_connector_core/src/databricks_sql_connector_core/sql/auth/endpoint.py diff --git a/databricks_sql_connector_core/src/databricks/sql/auth/oauth.py b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/auth/oauth.py similarity index 98% rename from databricks_sql_connector_core/src/databricks/sql/auth/oauth.py rename to databricks_sql_connector_core/src/databricks_sql_connector_core/sql/auth/oauth.py index 806df08f..c26e6854 100644 --- a/databricks_sql_connector_core/src/databricks/sql/auth/oauth.py +++ b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/auth/oauth.py @@ -13,8 +13,8 @@ from oauthlib.oauth2.rfc6749.errors import OAuth2Error from requests.exceptions import RequestException -from databricks.sql.auth.oauth_http_handler import OAuthHttpSingleRequestHandler -from databricks.sql.auth.endpoint import OAuthEndpointCollection +from databricks_sql_connector_core.sql.auth.oauth_http_handler import OAuthHttpSingleRequestHandler +from databricks_sql_connector_core.sql.auth.endpoint import OAuthEndpointCollection logger = logging.getLogger(__name__) diff --git a/databricks_sql_connector_core/src/databricks/sql/auth/oauth_http_handler.py b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/auth/oauth_http_handler.py similarity index 100% rename from databricks_sql_connector_core/src/databricks/sql/auth/oauth_http_handler.py rename to databricks_sql_connector_core/src/databricks_sql_connector_core/sql/auth/oauth_http_handler.py diff --git a/databricks_sql_connector_core/src/databricks/sql/auth/retry.py b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/auth/retry.py similarity index 99% rename from databricks_sql_connector_core/src/databricks/sql/auth/retry.py rename to databricks_sql_connector_core/src/databricks_sql_connector_core/sql/auth/retry.py index 0c6547cb..e0c000a4 100755 --- a/databricks_sql_connector_core/src/databricks/sql/auth/retry.py +++ b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/auth/retry.py @@ -14,7 +14,7 @@ from urllib3 import Retry from urllib3.util.retry import RequestHistory -from databricks.sql.exc import ( +from databricks_sql_connector_core.sql.exc import ( CursorAlreadyClosedError, MaxRetryDurationError, NonRecoverableNetworkError, diff --git a/databricks_sql_connector_core/src/databricks/sql/auth/thrift_http_client.py b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/auth/thrift_http_client.py similarity index 98% rename from databricks_sql_connector_core/src/databricks/sql/auth/thrift_http_client.py rename to databricks_sql_connector_core/src/databricks_sql_connector_core/sql/auth/thrift_http_client.py index f7c22a1e..f2c73d62 100644 --- a/databricks_sql_connector_core/src/databricks/sql/auth/thrift_http_client.py +++ b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/auth/thrift_http_client.py @@ -15,7 +15,7 @@ from urllib3 import HTTPConnectionPool, HTTPSConnectionPool, ProxyManager from urllib3.util import make_headers -from databricks.sql.auth.retry import CommandType, DatabricksRetryPolicy +from databricks_sql_connector_core.sql.auth.retry import CommandType, DatabricksRetryPolicy class THttpClient(thrift.transport.THttpClient.THttpClient): diff --git a/databricks_sql_connector_core/src/databricks/sql/client.py b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/client.py similarity index 98% rename from databricks_sql_connector_core/src/databricks/sql/client.py rename to databricks_sql_connector_core/src/databricks_sql_connector_core/sql/client.py index 71307730..f64fc68f 100755 --- a/databricks_sql_connector_core/src/databricks/sql/client.py +++ b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/client.py @@ -12,16 +12,16 @@ import decimal from uuid import UUID -from databricks.sql import __version__ -from databricks.sql import * -from databricks.sql.exc import ( +from databricks_sql_connector_core.sql import __version__ +from databricks_sql_connector_core.sql import * +from databricks_sql_connector_core.sql.exc import ( OperationalError, SessionAlreadyClosedError, CursorAlreadyClosedError, ) -from databricks.sql.thrift_api.TCLIService import ttypes -from databricks.sql.thrift_backend import ThriftBackend -from databricks.sql.utils import ( +from databricks_sql_connector_core.sql.thrift_api.TCLIService import ttypes +from databricks_sql_connector_core.sql.thrift_backend import ThriftBackend +from databricks_sql_connector_core.sql.utils import ( ExecuteResponse, ParamEscaper, inject_parameters, @@ -29,7 +29,7 @@ ArrowQueue, ColumnQueue ) -from databricks.sql.parameters.native import ( +from databricks_sql_connector_core.sql.parameters.native import ( DbsqlParameterBase, TDbsqlParameter, TParameterDict, @@ -41,11 +41,11 @@ ) -from databricks.sql.types import Row -from databricks.sql.auth.auth import get_python_sql_connector_auth_provider -from databricks.sql.experimental.oauth_persistence import OAuthPersistence +from databricks_sql_connector_core.sql.types import Row +from databricks_sql_connector_core.sql.auth.auth import get_python_sql_connector_auth_provider +from databricks_sql_connector_core.sql.experimental.oauth_persistence import OAuthPersistence -from databricks.sql.thrift_api.TCLIService.ttypes import ( +from databricks_sql_connector_core.sql.thrift_api.TCLIService.ttypes import ( TSparkParameter, ) diff --git a/databricks_sql_connector_core/src/databricks/sql/experimental/__init__.py b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/cloudfetch/__init__.py similarity index 100% rename from databricks_sql_connector_core/src/databricks/sql/experimental/__init__.py rename to databricks_sql_connector_core/src/databricks_sql_connector_core/sql/cloudfetch/__init__.py diff --git a/databricks_sql_connector_core/src/databricks/sql/cloudfetch/download_manager.py b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/cloudfetch/download_manager.py similarity index 95% rename from databricks_sql_connector_core/src/databricks/sql/cloudfetch/download_manager.py rename to databricks_sql_connector_core/src/databricks_sql_connector_core/sql/cloudfetch/download_manager.py index e30adcd6..7c2b5571 100644 --- a/databricks_sql_connector_core/src/databricks/sql/cloudfetch/download_manager.py +++ b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/cloudfetch/download_manager.py @@ -4,12 +4,12 @@ from concurrent.futures import ThreadPoolExecutor, Future from typing import List, Union -from databricks.sql.cloudfetch.downloader import ( +from databricks_sql_connector_core.sql.cloudfetch.downloader import ( ResultSetDownloadHandler, DownloadableResultSettings, DownloadedFile, ) -from databricks.sql.thrift_api.TCLIService.ttypes import TSparkArrowResultLink +from databricks_sql_connector_core.sql.thrift_api.TCLIService.ttypes import TSparkArrowResultLink logger = logging.getLogger(__name__) diff --git a/databricks_sql_connector_core/src/databricks/sql/cloudfetch/downloader.py b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/cloudfetch/downloader.py similarity index 97% rename from databricks_sql_connector_core/src/databricks/sql/cloudfetch/downloader.py rename to databricks_sql_connector_core/src/databricks_sql_connector_core/sql/cloudfetch/downloader.py index 00ffecd0..a013fd20 100644 --- a/databricks_sql_connector_core/src/databricks/sql/cloudfetch/downloader.py +++ b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/cloudfetch/downloader.py @@ -7,9 +7,9 @@ import lz4.frame import time -from databricks.sql.thrift_api.TCLIService.ttypes import TSparkArrowResultLink +from databricks_sql_connector_core.sql.thrift_api.TCLIService.ttypes import TSparkArrowResultLink -from databricks.sql.exc import Error +from databricks_sql_connector_core.sql.exc import Error logger = logging.getLogger(__name__) diff --git a/databricks_sql_connector_core/src/databricks/sql/exc.py b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/exc.py similarity index 100% rename from databricks_sql_connector_core/src/databricks/sql/exc.py rename to databricks_sql_connector_core/src/databricks_sql_connector_core/sql/exc.py diff --git a/databricks_sql_connector_core/src/databricks/sql/thrift_api/__init__.py b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/experimental/__init__.py similarity index 100% rename from databricks_sql_connector_core/src/databricks/sql/thrift_api/__init__.py rename to databricks_sql_connector_core/src/databricks_sql_connector_core/sql/experimental/__init__.py diff --git a/databricks_sql_connector_core/src/databricks/sql/experimental/oauth_persistence.py b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/experimental/oauth_persistence.py similarity index 100% rename from databricks_sql_connector_core/src/databricks/sql/experimental/oauth_persistence.py rename to databricks_sql_connector_core/src/databricks_sql_connector_core/sql/experimental/oauth_persistence.py diff --git a/databricks_sql_connector_core/src/databricks/sql/parameters/__init__.py b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/parameters/__init__.py similarity index 81% rename from databricks_sql_connector_core/src/databricks/sql/parameters/__init__.py rename to databricks_sql_connector_core/src/databricks_sql_connector_core/sql/parameters/__init__.py index 3c39cf2b..71c8a1f0 100644 --- a/databricks_sql_connector_core/src/databricks/sql/parameters/__init__.py +++ b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/parameters/__init__.py @@ -1,4 +1,4 @@ -from databricks.sql.parameters.native import ( +from databricks_sql_connector_core.sql.parameters.native import ( IntegerParameter, StringParameter, BigIntegerParameter, diff --git a/databricks_sql_connector_core/src/databricks/sql/parameters/native.py b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/parameters/native.py similarity index 99% rename from databricks_sql_connector_core/src/databricks/sql/parameters/native.py rename to databricks_sql_connector_core/src/databricks_sql_connector_core/sql/parameters/native.py index 8a436355..75c30c3c 100644 --- a/databricks_sql_connector_core/src/databricks/sql/parameters/native.py +++ b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/parameters/native.py @@ -3,8 +3,8 @@ from enum import Enum, auto from typing import Optional, Sequence -from databricks.sql.exc import NotSupportedError -from databricks.sql.thrift_api.TCLIService.ttypes import ( +from databricks_sql_connector_core.sql.exc import NotSupportedError +from databricks_sql_connector_core.sql.thrift_api.TCLIService.ttypes import ( TSparkParameter, TSparkParameterValue, ) diff --git a/databricks_sql_connector_core/src/databricks/sql/parameters/py.typed b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/parameters/py.typed similarity index 100% rename from databricks_sql_connector_core/src/databricks/sql/parameters/py.typed rename to databricks_sql_connector_core/src/databricks_sql_connector_core/sql/parameters/py.typed diff --git a/databricks_sql_connector_core/src/databricks/sql/py.typed b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/py.typed similarity index 100% rename from databricks_sql_connector_core/src/databricks/sql/py.typed rename to databricks_sql_connector_core/src/databricks_sql_connector_core/sql/py.typed diff --git a/databricks_sql_connector_core/src/databricks/sql/thrift_api/TCLIService/TCLIService-remote b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/thrift_api/TCLIService/TCLIService-remote similarity index 100% rename from databricks_sql_connector_core/src/databricks/sql/thrift_api/TCLIService/TCLIService-remote rename to databricks_sql_connector_core/src/databricks_sql_connector_core/sql/thrift_api/TCLIService/TCLIService-remote diff --git a/databricks_sql_connector_core/src/databricks/sql/thrift_api/TCLIService/TCLIService.py b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/thrift_api/TCLIService/TCLIService.py similarity index 100% rename from databricks_sql_connector_core/src/databricks/sql/thrift_api/TCLIService/TCLIService.py rename to databricks_sql_connector_core/src/databricks_sql_connector_core/sql/thrift_api/TCLIService/TCLIService.py diff --git a/databricks_sql_connector_core/src/databricks/sql/thrift_api/TCLIService/__init__.py b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/thrift_api/TCLIService/__init__.py similarity index 100% rename from databricks_sql_connector_core/src/databricks/sql/thrift_api/TCLIService/__init__.py rename to databricks_sql_connector_core/src/databricks_sql_connector_core/sql/thrift_api/TCLIService/__init__.py diff --git a/databricks_sql_connector_core/src/databricks/sql/thrift_api/TCLIService/constants.py b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/thrift_api/TCLIService/constants.py similarity index 100% rename from databricks_sql_connector_core/src/databricks/sql/thrift_api/TCLIService/constants.py rename to databricks_sql_connector_core/src/databricks_sql_connector_core/sql/thrift_api/TCLIService/constants.py diff --git a/databricks_sql_connector_core/src/databricks/sql/thrift_api/TCLIService/ttypes.py b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/thrift_api/TCLIService/ttypes.py similarity index 100% rename from databricks_sql_connector_core/src/databricks/sql/thrift_api/TCLIService/ttypes.py rename to databricks_sql_connector_core/src/databricks_sql_connector_core/sql/thrift_api/TCLIService/ttypes.py diff --git a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/thrift_api/__init__.py b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/thrift_api/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/databricks_sql_connector_core/src/databricks/sql/thrift_backend.py b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/thrift_backend.py similarity index 97% rename from databricks_sql_connector_core/src/databricks/sql/thrift_backend.py rename to databricks_sql_connector_core/src/databricks_sql_connector_core/sql/thrift_backend.py index 7b760509..ad57b12a 100644 --- a/databricks_sql_connector_core/src/databricks/sql/thrift_backend.py +++ b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/thrift_backend.py @@ -19,17 +19,17 @@ import urllib3.exceptions -import databricks.sql.auth.thrift_http_client -from databricks.sql.auth.thrift_http_client import CommandType -from databricks.sql.auth.authenticators import AuthProvider -from databricks.sql.thrift_api.TCLIService import TCLIService, ttypes -from databricks.sql import * -from databricks.sql.exc import MaxRetryDurationError -from databricks.sql.thrift_api.TCLIService.TCLIService import ( +import databricks_sql_connector_core.sql.auth.thrift_http_client +from databricks_sql_connector_core.sql.auth.thrift_http_client import CommandType +from databricks_sql_connector_core.sql.auth.authenticators import AuthProvider +from databricks_sql_connector_core.sql.thrift_api.TCLIService import TCLIService, ttypes +from databricks_sql_connector_core.sql import * +from databricks_sql_connector_core.sql.exc import MaxRetryDurationError +from databricks_sql_connector_core.sql.thrift_api.TCLIService.TCLIService import ( Client as TCLIServiceClient, ) -from databricks.sql.utils import ( +from databricks_sql_connector_core.sql.utils import ( ExecuteResponse, _bound, RequestErrorInfo, @@ -40,18 +40,18 @@ convert_column_based_set_to_arrow_table, ) -# from databricks.sql import TDBSqlResultFormat +# from databricks_sql_connector_core.sql import TDBSqlResultFormat logger = logging.getLogger(__name__) -unsafe_logger = logging.getLogger("databricks.sql.unsafe") +unsafe_logger = logging.getLogger("databricks_sql_connector_core.sql.unsafe") unsafe_logger.setLevel(logging.DEBUG) # To capture these logs in client code, add a non-NullHandler. # See our e2e test suite for an example with logging.FileHandler unsafe_logger.addHandler(logging.NullHandler()) -# Disable propagation so that handlers for `databricks.sql` don't pick up these messages +# Disable propagation so that handlers for `databricks_sql_connector_core.sql` don't pick up these messages unsafe_logger.propagate = False THRIFT_ERROR_MESSAGE_HEADER = "x-thriftserver-error-message" @@ -215,7 +215,7 @@ def __init__( else: urllib3_kwargs = {} if self.enable_v3_retries: - self.retry_policy = databricks.sql.auth.thrift_http_client.DatabricksRetryPolicy( + self.retry_policy = databricks_sql_connector_core.sql.auth.thrift_http_client.DatabricksRetryPolicy( delay_min=self._retry_delay_min, delay_max=self._retry_delay_max, stop_after_attempts_count=self._retry_stop_after_attempts_count, @@ -227,7 +227,7 @@ def __init__( additional_transport_args["retry_policy"] = self.retry_policy - self._transport = databricks.sql.auth.thrift_http_client.THttpClient( + self._transport = databricks_sql_connector_core.sql.auth.thrift_http_client.THttpClient( auth_provider=self._auth_provider, uri_or_host=uri, ssl_context=self._ssl_context, diff --git a/databricks_sql_connector_core/src/databricks/sql/types.py b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/types.py similarity index 100% rename from databricks_sql_connector_core/src/databricks/sql/types.py rename to databricks_sql_connector_core/src/databricks_sql_connector_core/sql/types.py diff --git a/databricks_sql_connector_core/src/databricks/sql/utils.py b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/utils.py similarity index 98% rename from databricks_sql_connector_core/src/databricks/sql/utils.py rename to databricks_sql_connector_core/src/databricks_sql_connector_core/sql/utils.py index b156a028..521bc227 100644 --- a/databricks_sql_connector_core/src/databricks/sql/utils.py +++ b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/utils.py @@ -19,15 +19,15 @@ except ImportError: pyarrow = None -from databricks.sql import OperationalError, exc -from databricks.sql.cloudfetch.download_manager import ResultFileDownloadManager -from databricks.sql.thrift_api.TCLIService.ttypes import ( +from databricks_sql_connector_core.sql import OperationalError, exc +from databricks_sql_connector_core.sql.cloudfetch.download_manager import ResultFileDownloadManager +from databricks_sql_connector_core.sql.thrift_api.TCLIService.ttypes import ( TRowSet, TSparkArrowResultLink, TSparkRowSetType, ) -from databricks.sql.parameters.native import ParameterStructure, TDbsqlParameter +from databricks_sql_connector_core.sql.parameters.native import ParameterStructure, TDbsqlParameter BIT_MASKS = [1, 2, 4, 8, 16, 32, 64, 128] diff --git a/databricks_sql_connector_core/src/databricks_sql_connector_core/sqlalchemy/__init__.py b/databricks_sql_connector_core/src/databricks_sql_connector_core/sqlalchemy/__init__.py new file mode 100644 index 00000000..458a064d --- /dev/null +++ b/databricks_sql_connector_core/src/databricks_sql_connector_core/sqlalchemy/__init__.py @@ -0,0 +1,5 @@ +try: + from databricks_sqlalchemy import * +except: + import warnings + warnings.warn("Install databricks-sqlalchemy plugin before using this") \ No newline at end of file From 25a006d8c8fc279506a4d32d12c069cdb57d0756 Mon Sep 17 00:00:00 2001 From: Jothi Prakash Date: Wed, 7 Aug 2024 13:26:54 +0530 Subject: [PATCH 05/53] Basic Setup of connector, core and sqlalchemy is working --- .../src/__init__.py => check_sqlalchemy.py | 0 databricks_sql_connector/README.md | 0 databricks_sql_connector/pyproject.toml | 8 ++++---- .../src/databricks/{sql.py => sql/__init__.py} | 0 databricks_sql_connector/src/databricks/sql/utils.py | 1 + .../databricks/{sqlalchemy.py => sqlalchemy/__init__.py} | 2 +- databricks_sqlalchemy/README.md | 0 tester.py | 0 8 files changed, 6 insertions(+), 5 deletions(-) rename databricks_sqlalchemy/src/__init__.py => check_sqlalchemy.py (100%) create mode 100644 databricks_sql_connector/README.md rename databricks_sql_connector/src/databricks/{sql.py => sql/__init__.py} (100%) create mode 100644 databricks_sql_connector/src/databricks/sql/utils.py rename databricks_sql_connector/src/databricks/{sqlalchemy.py => sqlalchemy/__init__.py} (56%) create mode 100644 databricks_sqlalchemy/README.md create mode 100644 tester.py diff --git a/databricks_sqlalchemy/src/__init__.py b/check_sqlalchemy.py similarity index 100% rename from databricks_sqlalchemy/src/__init__.py rename to check_sqlalchemy.py diff --git a/databricks_sql_connector/README.md b/databricks_sql_connector/README.md new file mode 100644 index 00000000..e69de29b diff --git a/databricks_sql_connector/pyproject.toml b/databricks_sql_connector/pyproject.toml index dd59ea03..efdaa80b 100644 --- a/databricks_sql_connector/pyproject.toml +++ b/databricks_sql_connector/pyproject.toml @@ -23,13 +23,13 @@ python = "^3.8.0" # { version = "^1.16.6", python = ">=3.8,<3.11" }, # { version = "^1.23.4", python = ">=3.11" }, #] -#sqlalchemy = { version = ">=2.0.21", optional = true } +databricks_sqlalchemy = { version = ">=1.0.0", optional = true } #openpyxl = "^3.0.10" #alembic = { version = "^1.0.11", optional = true } #urllib3 = ">=1.26" # -#[tool.poetry.extras] -#sqlalchemy = ["sqlalchemy"] +[tool.poetry.extras] +databricks_sqlalchemy = ["databricks_sqlalchemy"] #alembic = ["sqlalchemy", "alembic"] # #[tool.poetry.dev-dependencies] @@ -44,7 +44,7 @@ python = "^3.8.0" #"Bug Tracker" = "https://github.com/databricks/databricks-sql-python/issues" [tool.poetry.plugins."sqlalchemy.dialects"] -"databricks" = "databricks.sqlalchemy:DatabricksDialect" +"databricks" = "databricks_sqlalchemy:DatabricksDialect" [build-system] requires = ["poetry-core>=1.0.0"] diff --git a/databricks_sql_connector/src/databricks/sql.py b/databricks_sql_connector/src/databricks/sql/__init__.py similarity index 100% rename from databricks_sql_connector/src/databricks/sql.py rename to databricks_sql_connector/src/databricks/sql/__init__.py diff --git a/databricks_sql_connector/src/databricks/sql/utils.py b/databricks_sql_connector/src/databricks/sql/utils.py new file mode 100644 index 00000000..67ab7467 --- /dev/null +++ b/databricks_sql_connector/src/databricks/sql/utils.py @@ -0,0 +1 @@ +from databricks_sql_connector_core.sql.utils import * \ No newline at end of file diff --git a/databricks_sql_connector/src/databricks/sqlalchemy.py b/databricks_sql_connector/src/databricks/sqlalchemy/__init__.py similarity index 56% rename from databricks_sql_connector/src/databricks/sqlalchemy.py rename to databricks_sql_connector/src/databricks/sqlalchemy/__init__.py index 458a064d..2f0e155c 100644 --- a/databricks_sql_connector/src/databricks/sqlalchemy.py +++ b/databricks_sql_connector/src/databricks/sqlalchemy/__init__.py @@ -2,4 +2,4 @@ from databricks_sqlalchemy import * except: import warnings - warnings.warn("Install databricks-sqlalchemy plugin before using this") \ No newline at end of file + warnings.warn("Install databricks_sqlalchemy plugin before using this") \ No newline at end of file diff --git a/databricks_sqlalchemy/README.md b/databricks_sqlalchemy/README.md new file mode 100644 index 00000000..e69de29b diff --git a/tester.py b/tester.py new file mode 100644 index 00000000..e69de29b From 1cfaae21e6e7ca73617daf52a8b8e9674850c11c Mon Sep 17 00:00:00 2001 From: Jothi Prakash Date: Wed, 7 Aug 2024 13:28:07 +0530 Subject: [PATCH 06/53] Basic integration of core, connect and sqlalchemy is working --- check.py | 2 +- check_sqlalchemy.py | 174 ++++++++++++++++++ .../src/databricks_sqlalchemy/__init__.py | 4 +- .../src/databricks_sqlalchemy/_parse.py | 2 +- .../src/databricks_sqlalchemy/_types.py | 2 + .../src/databricks_sqlalchemy/base.py | 6 +- setup_script.py | 14 +- tester.py | 1 + 8 files changed, 195 insertions(+), 10 deletions(-) diff --git a/check.py b/check.py index 2e206673..a9aa6c43 100644 --- a/check.py +++ b/check.py @@ -11,7 +11,7 @@ # # Add the parent directory to sys.path # sys.path.append(target_folder_path) -from databricks_sql_connector.src.databricks import sql +from databricks import sql # from dotenv import load_dotenv diff --git a/check_sqlalchemy.py b/check_sqlalchemy.py index e69de29b..71fb0ba6 100644 --- a/check_sqlalchemy.py +++ b/check_sqlalchemy.py @@ -0,0 +1,174 @@ +""" +databricks-sql-connector includes a SQLAlchemy 2.0 dialect compatible with Databricks SQL. To install +its dependencies you can run `pip install databricks-sql-connector[sqlalchemy]`. + +The expected connection string format which you can pass to create_engine() is: + +databricks://token:dapi***@***.cloud.databricks.com?http_path=/sql/***&catalog=**&schema=** + +Our dialect implements the majority of SQLAlchemy 2.0's API. Because of the extent of SQLAlchemy's +capabilities it isn't feasible to provide examples of every usage in a single script, so we only +provide a basic one here. Learn more about usage in README.sqlalchemy.md in this repo. +""" + +# fmt: off + +import os +from datetime import date, datetime, time, timedelta, timezone +from decimal import Decimal +from uuid import UUID + +# By convention, backend-specific SQLA types are defined in uppercase +# This dialect exposes Databricks SQL's TIMESTAMP and TINYINT types +# as these are not covered by the generic, camelcase types shown below +from databricks.sqlalchemy import TIMESTAMP, TINYINT + +# Beside the CamelCase types shown below, line comments reflect +# the underlying Databricks SQL / Delta table type +from sqlalchemy import ( + BigInteger, # BIGINT + Boolean, # BOOLEAN + Column, + Date, # DATE + DateTime, # TIMESTAMP_NTZ + Integer, # INTEGER + Numeric, # DECIMAL + String, # STRING + Time, # STRING + Uuid, # STRING + create_engine, + select, +) +from sqlalchemy.orm import DeclarativeBase, Session + +host = "e2-dogfood.staging.cloud.databricks.com" +http_path = "/sql/1.0/warehouses/58aa1b363649e722" +access_token = "" +catalog = "___________________first" +schema = "jprakash-test" + + +# Extra arguments are passed untouched to databricks-sql-connector +# See src/databricks/sql/thrift_backend.py for complete list +extra_connect_args = { + "_tls_verify_hostname": True, + "_user_agent_entry": "PySQL Example Script", +} + + +engine = create_engine( + f"databricks://token:{access_token}@{host}?http_path={http_path}&catalog={catalog}&schema={schema}", + connect_args=extra_connect_args, echo=True, +) + + +class Base(DeclarativeBase): + pass + + +# This object gives a usage example for each supported type +# for more details on these, see README.sqlalchemy.md +class SampleObject(Base): + __tablename__ = "pysql_sqlalchemy_example_table" + + bigint_col = Column(BigInteger, primary_key=True) + string_col = Column(String) + tinyint_col = Column(TINYINT) + int_col = Column(Integer) + numeric_col = Column(Numeric(10, 2)) + boolean_col = Column(Boolean) + date_col = Column(Date) + datetime_col = Column(TIMESTAMP) + datetime_col_ntz = Column(DateTime) + time_col = Column(Time) + uuid_col = Column(Uuid) + +# This generates a CREATE TABLE statement against the catalog and schema +# specified in the connection string +Base.metadata.create_all(engine) + +# Output SQL is: +# CREATE TABLE pysql_sqlalchemy_example_table ( +# bigint_col BIGINT NOT NULL, +# string_col STRING, +# tinyint_col SMALLINT, +# int_col INT, +# numeric_col DECIMAL(10, 2), +# boolean_col BOOLEAN, +# date_col DATE, +# datetime_col TIMESTAMP, +# datetime_col_ntz TIMESTAMP_NTZ, +# time_col STRING, +# uuid_col STRING, +# PRIMARY KEY (bigint_col) +# ) USING DELTA + +# The code that follows will INSERT a record using SQLAlchemy ORM containing these values +# and then SELECT it back out. The output is compared to the input to demonstrate that +# all type information is preserved. +sample_object = { + "bigint_col": 1234567890123456789, + "string_col": "foo", + "tinyint_col": -100, + "int_col": 5280, + "numeric_col": Decimal("525600.01"), + "boolean_col": True, + "date_col": date(2020, 12, 25), + "datetime_col": datetime( + 1991, 8, 3, 21, 30, 5, tzinfo=timezone(timedelta(hours=-8)) + ), + "datetime_col_ntz": datetime(1990, 12, 4, 6, 33, 41), + "time_col": time(23, 59, 59), + "uuid_col": UUID(int=255), +} +sa_obj = SampleObject(**sample_object) + +session = Session(engine) +session.add(sa_obj) +session.commit() + +# Output SQL is: +# INSERT INTO +# pysql_sqlalchemy_example_table ( +# bigint_col, +# string_col, +# tinyint_col, +# int_col, +# numeric_col, +# boolean_col, +# date_col, +# datetime_col, +# datetime_col_ntz, +# time_col, +# uuid_col +# ) +# VALUES +# ( +# :bigint_col, +# :string_col, +# :tinyint_col, +# :int_col, +# :numeric_col, +# :boolean_col, +# :date_col, +# :datetime_col, +# :datetime_col_ntz, +# :time_col, +# :uuid_col +# ) + +# Here we build a SELECT query using ORM +stmt = select(SampleObject).where(SampleObject.int_col == 5280) + +# Then fetch one result with session.scalar() +result = session.scalar(stmt) + +# Finally, we read out the input data and compare it to the output +compare = {key: getattr(result, key) for key in sample_object.keys()} +assert compare == sample_object + +# Then we drop the demonstration table +Base.metadata.drop_all(engine) + +# Output SQL is: +# DROP TABLE pysql_sqlalchemy_example_table \ No newline at end of file diff --git a/databricks_sqlalchemy/src/databricks_sqlalchemy/__init__.py b/databricks_sqlalchemy/src/databricks_sqlalchemy/__init__.py index 2a17ac3e..35ea050f 100644 --- a/databricks_sqlalchemy/src/databricks_sqlalchemy/__init__.py +++ b/databricks_sqlalchemy/src/databricks_sqlalchemy/__init__.py @@ -1,4 +1,4 @@ -from databricks.sqlalchemy.base import DatabricksDialect -from databricks.sqlalchemy._types import TINYINT, TIMESTAMP, TIMESTAMP_NTZ +from databricks_sqlalchemy.base import DatabricksDialect +from databricks_sqlalchemy._types import TINYINT, TIMESTAMP, TIMESTAMP_NTZ __all__ = ["TINYINT", "TIMESTAMP", "TIMESTAMP_NTZ"] diff --git a/databricks_sqlalchemy/src/databricks_sqlalchemy/_parse.py b/databricks_sqlalchemy/src/databricks_sqlalchemy/_parse.py index 6d38e1e6..e9498ec5 100644 --- a/databricks_sqlalchemy/src/databricks_sqlalchemy/_parse.py +++ b/databricks_sqlalchemy/src/databricks_sqlalchemy/_parse.py @@ -5,7 +5,7 @@ from sqlalchemy.engine import CursorResult from sqlalchemy.engine.interfaces import ReflectedColumn -from databricks.sqlalchemy import _types as type_overrides +from databricks_sqlalchemy import _types as type_overrides """ This module contains helper functions that can parse the contents diff --git a/databricks_sqlalchemy/src/databricks_sqlalchemy/_types.py b/databricks_sqlalchemy/src/databricks_sqlalchemy/_types.py index 5fc14a70..6d32ff59 100644 --- a/databricks_sqlalchemy/src/databricks_sqlalchemy/_types.py +++ b/databricks_sqlalchemy/src/databricks_sqlalchemy/_types.py @@ -6,6 +6,8 @@ from sqlalchemy.engine.interfaces import Dialect from sqlalchemy.ext.compiler import compiles +# from databricks.sql.utils import ParamEscaper +import databricks.sql from databricks.sql.utils import ParamEscaper diff --git a/databricks_sqlalchemy/src/databricks_sqlalchemy/base.py b/databricks_sqlalchemy/src/databricks_sqlalchemy/base.py index 9148de7f..0cff681c 100644 --- a/databricks_sqlalchemy/src/databricks_sqlalchemy/base.py +++ b/databricks_sqlalchemy/src/databricks_sqlalchemy/base.py @@ -1,9 +1,9 @@ from typing import Any, List, Optional, Dict, Union -import databricks.sqlalchemy._ddl as dialect_ddl_impl -import databricks.sqlalchemy._types as dialect_type_impl +import databricks_sqlalchemy._ddl as dialect_ddl_impl +import databricks_sqlalchemy._types as dialect_type_impl from databricks import sql -from databricks.sqlalchemy._parse import ( +from databricks_sqlalchemy._parse import ( _describe_table_extended_result_to_dict_list, _match_table_not_found_string, build_fk_dict, diff --git a/setup_script.py b/setup_script.py index 2c0d0dba..b32d2684 100644 --- a/setup_script.py +++ b/setup_script.py @@ -1,9 +1,11 @@ import subprocess import os -def build_and_install_library(): +def build_and_install_library(directory_name): + + previous_directory = os.getcwd() # Change directory to one level down - os.chdir('databricks_sql_connector_core') + os.chdir(directory_name) # Build the library using Poetry subprocess.run(['poetry', 'build'], check=True) @@ -18,5 +20,11 @@ def build_and_install_library(): whl_file = os.path.join(dist_dir, whl_files[0]) subprocess.run(['pip3', 'install', whl_file, '--force-reinstall'], check=True) + os.chdir(previous_directory) + + + if __name__ == "__main__": - build_and_install_library() \ No newline at end of file + build_and_install_library("databricks_sql_connector_core") + build_and_install_library("databricks_sql_connector") + # build_and_install_library("databricks_sqlalchemy") \ No newline at end of file diff --git a/tester.py b/tester.py index e69de29b..61f780e4 100644 --- a/tester.py +++ b/tester.py @@ -0,0 +1 @@ +from databricks_sqlalchemy import TIMESTAMP, TINYINT \ No newline at end of file From c5761106bf6c3ba3107b470ff2ba197192f01380 Mon Sep 17 00:00:00 2001 From: Jothi Prakash Date: Wed, 7 Aug 2024 15:08:45 +0530 Subject: [PATCH 07/53] Setup working dynamic change from ColumnQueue to ArrowQueue --- .../sql/client.py | 63 ++++++++++++------- .../sql/thrift_backend.py | 4 +- .../sql/utils.py | 54 ++++++++-------- setup_script.py | 2 +- 4 files changed, 70 insertions(+), 53 deletions(-) diff --git a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/client.py b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/client.py index f64fc68f..93675578 100755 --- a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/client.py +++ b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/client.py @@ -784,8 +784,8 @@ def execute( parameters=prepared_params, ) - print("Line 781") - print(execute_response) + # print("Line 781") + # print(execute_response) self.active_result_set = ResultSet( self.connection, execute_response, @@ -1141,7 +1141,7 @@ def _fill_results_buffer(self): def _convert_columnar_table(self, table): column_names = [c[0] for c in self.description] ResultRow = Row(*column_names) - print("Table\n",table) + # print("Table\n",table) result = [] for row_index in range(len(table[0])): curr_row = [] @@ -1164,23 +1164,20 @@ def _convert_arrow_table(self, table): # Need to use nullable types, as otherwise type can change when there are missing values. # See https://arrow.apache.org/docs/python/pandas.html#nullable-types # NOTE: This api is epxerimental https://pandas.pydata.org/pandas-docs/stable/user_guide/integer_na.html - try: - dtype_mapping = { - pyarrow.int8(): pandas.Int8Dtype(), - pyarrow.int16(): pandas.Int16Dtype(), - pyarrow.int32(): pandas.Int32Dtype(), - pyarrow.int64(): pandas.Int64Dtype(), - pyarrow.uint8(): pandas.UInt8Dtype(), - pyarrow.uint16(): pandas.UInt16Dtype(), - pyarrow.uint32(): pandas.UInt32Dtype(), - pyarrow.uint64(): pandas.UInt64Dtype(), - pyarrow.bool_(): pandas.BooleanDtype(), - pyarrow.float32(): pandas.Float32Dtype(), - pyarrow.float64(): pandas.Float64Dtype(), - pyarrow.string(): pandas.StringDtype(), - } - except AttributeError: - print("pyarrow is not present") + dtype_mapping = { + pyarrow.int8(): pandas.Int8Dtype(), + pyarrow.int16(): pandas.Int16Dtype(), + pyarrow.int32(): pandas.Int32Dtype(), + pyarrow.int64(): pandas.Int64Dtype(), + pyarrow.uint8(): pandas.UInt8Dtype(), + pyarrow.uint16(): pandas.UInt16Dtype(), + pyarrow.uint32(): pandas.UInt32Dtype(), + pyarrow.uint64(): pandas.UInt64Dtype(), + pyarrow.bool_(): pandas.BooleanDtype(), + pyarrow.float32(): pandas.Float32Dtype(), + pyarrow.float64(): pandas.Float64Dtype(), + pyarrow.string(): pandas.StringDtype(), + } # Need to rename columns, as the to_pandas function cannot handle duplicate column names table_renamed = table.rename_columns([str(c) for c in range(table.num_columns)]) @@ -1222,6 +1219,20 @@ def fetchmany_arrow(self, size: int) -> "pyarrow.Table": return results + def fetchmany_columnar(self, size: int): + """ + Fetch the next set of rows of a query result, returning a Columnar Table. + + An empty sequence is returned when no more rows are available. + """ + if size < 0: + raise ValueError("size argument for fetchmany is %s but must be >= 0", size) + + results = self.results.next_n_rows(size) + self._next_row_index += results.num_rows + + return results + def fetchall_arrow(self) -> "pyarrow.Table": """Fetch all (remaining) rows of a query result, returning them as a PyArrow table.""" results = self.results.remaining_rows() @@ -1245,7 +1256,11 @@ def fetchone(self) -> Optional[Row]: Fetch the next row of a query result set, returning a single sequence, or None when no more data is available. """ - res = self._convert_arrow_table(self.fetchmany_arrow(1)) + if isinstance(self.results, ColumnQueue): + res = self._convert_columnar_table(self.fetchmany_columnar(1)) + else: + res = self._convert_arrow_table(self.fetchmany_arrow(1)) + if len(res) > 0: return res[0] else: @@ -1260,14 +1275,16 @@ def fetchall(self) -> List[Row]: else: return self._convert_arrow_table(self.fetchall_arrow()) - def fetchmany(self, size: int) -> List[Row]: """ Fetch the next set of rows of a query result, returning a list of rows. An empty sequence is returned when no more rows are available. """ - return self._convert_arrow_table(self.fetchmany_arrow(size)) + if isinstance(self.results, ColumnQueue): + return self._convert_columnar_table(self.fetchmany_columnar(size)) + else: + return self._convert_arrow_table(self.fetchmany_arrow(size)) def close(self) -> None: """ diff --git a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/thrift_backend.py b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/thrift_backend.py index ad57b12a..c879de58 100644 --- a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/thrift_backend.py +++ b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/thrift_backend.py @@ -743,7 +743,7 @@ def _results_message_to_execute_response(self, resp, operation_state): else: t_result_set_metadata_resp = self._get_metadata_resp(resp.operationHandle) - print(f"Line 739 - {t_result_set_metadata_resp.resultFormat}") + # print(f"Line 739 - {t_result_set_metadata_resp.resultFormat}") if t_result_set_metadata_resp.resultFormat not in [ ttypes.TSparkRowSetType.ARROW_BASED_SET, ttypes.TSparkRowSetType.COLUMN_BASED_SET, @@ -873,7 +873,7 @@ def execute_command( getDirectResults=ttypes.TSparkGetDirectResults( maxRows=max_rows, maxBytes=max_bytes ), - canReadArrowResult=False, + canReadArrowResult=True if pyarrow else False, canDecompressLZ4Result=lz4_compression, canDownloadResult=use_cloud_fetch, confOverlay={ diff --git a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/utils.py b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/utils.py index 521bc227..c259fc37 100644 --- a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/utils.py +++ b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/utils.py @@ -75,16 +75,16 @@ def build_queue( ResultSetQueue """ - def trow_to_json(trow): - # Step 1: Serialize TRow using Thrift's TJSONProtocol - transport = TTransport.TMemoryBuffer() - protocol = TJSONProtocol.TJSONProtocol(transport) - trow.write(protocol) - - # Step 2: Extract JSON string from the transport - json_str = transport.getvalue().decode('utf-8') - - return json_str + # def trow_to_json(trow): + # # Step 1: Serialize TRow using Thrift's TJSONProtocol + # transport = TTransport.TMemoryBuffer() + # protocol = TJSONProtocol.TJSONProtocol(transport) + # trow.write(protocol) + # + # # Step 2: Extract JSON string from the transport + # json_str = transport.getvalue().decode('utf-8') + # + # return json_str if row_set_type == TSparkRowSetType.ARROW_BASED_SET: arrow_table, n_valid_rows = convert_arrow_based_set_to_arrow_table( @@ -95,30 +95,30 @@ def trow_to_json(trow): ) return ArrowQueue(converted_arrow_table, n_valid_rows) elif row_set_type == TSparkRowSetType.COLUMN_BASED_SET: - print("Lin 79 ") - print(type(t_row_set)) - print(t_row_set) - json_str = json.loads(trow_to_json(t_row_set)) - pretty_json = json.dumps(json_str, indent=2) - print(pretty_json) + # print("Lin 79 ") + # print(type(t_row_set)) + # print(t_row_set) + # json_str = json.loads(trow_to_json(t_row_set)) + # pretty_json = json.dumps(json_str, indent=2) + # print(pretty_json) converted_column_table, column_names = convert_column_based_set_to_column_table( t_row_set.columns, description) - print(converted_column_table, column_names) + # print(converted_column_table, column_names) return ColumnQueue(converted_column_table, column_names) - print(columnQueue.next_n_rows(2)) - print(columnQueue.next_n_rows(2)) - print(columnQueue.remaining_rows()) - arrow_table, n_valid_rows = convert_column_based_set_to_arrow_table( - t_row_set.columns, description - ) - converted_arrow_table = convert_decimals_in_arrow_table( - arrow_table, description - ) - return ArrowQueue(converted_arrow_table, n_valid_rows) + # print(columnQueue.next_n_rows(2)) + # print(columnQueue.next_n_rows(2)) + # print(columnQueue.remaining_rows()) + # arrow_table, n_valid_rows = convert_column_based_set_to_arrow_table( + # t_row_set.columns, description + # ) + # converted_arrow_table = convert_decimals_in_arrow_table( + # arrow_table, description + # ) + # return ArrowQueue(converted_arrow_table, n_valid_rows) elif row_set_type == TSparkRowSetType.URL_BASED_SET: return CloudFetchQueue( schema_bytes=arrow_schema_bytes, diff --git a/setup_script.py b/setup_script.py index b32d2684..798a5c50 100644 --- a/setup_script.py +++ b/setup_script.py @@ -25,6 +25,6 @@ def build_and_install_library(directory_name): if __name__ == "__main__": - build_and_install_library("databricks_sql_connector_core") + # build_and_install_library("databricks_sql_connector_core") build_and_install_library("databricks_sql_connector") # build_and_install_library("databricks_sqlalchemy") \ No newline at end of file From 0ddca9df58fdb7ce547bd343289d2eb7179a4b14 Mon Sep 17 00:00:00 2001 From: Jothi Prakash Date: Thu, 8 Aug 2024 14:58:19 +0530 Subject: [PATCH 08/53] Refractored the test code and moved to respective folders --- .../sql/client.py | 3 - .../sql/thrift_backend.py | 15 +- .../sql/utils.py | 31 --- .../tests}/__init__.py | 0 .../tests}/e2e/__init__.py | 0 .../tests}/e2e/common/__init__.py | 0 .../tests}/e2e/common/core_tests.py | 0 .../tests}/e2e/common/decimal_tests.py | 0 .../tests}/e2e/common/large_queries_mixin.py | 0 .../tests}/e2e/common/predicates.py | 8 +- .../tests}/e2e/common/retry_test_mixins.py | 44 ++-- .../e2e/common/staging_ingestion_tests.py | 34 +-- .../tests}/e2e/common/timestamp_tests.py | 0 .../tests}/e2e/common/uc_volume_tests.py | 32 +-- .../tests}/e2e/test_complex_types.py | 0 .../tests}/e2e/test_driver.py | 36 ++-- .../tests}/e2e/test_parameterized_queries.py | 62 +++--- .../tests}/unit/__init__.py | 0 .../tests}/unit/test_arrow_queue.py | 2 +- .../tests}/unit/test_auth.py | 14 +- .../tests}/unit/test_client.py | 64 +++--- .../tests}/unit/test_cloud_fetch_queue.py | 34 +-- .../tests}/unit/test_download_manager.py | 6 +- .../tests}/unit/test_downloader.py | 6 +- .../tests}/unit/test_endpoint.py | 20 +- .../tests}/unit/test_fetches.py | 6 +- .../tests}/unit/test_fetches_bench.py | 6 +- .../tests}/unit/test_init_file.py | 0 .../tests}/unit/test_oauth_persistence.py | 4 +- .../tests}/unit/test_param_escaper.py | 112 +++++----- .../tests/unit/test_parameters.py | 204 ++++++++++++++++++ .../tests}/unit/test_retry.py | 4 +- .../tests}/unit/test_thrift_backend.py | 168 +++++++-------- examples/custom_cred_provider.py | 3 +- examples/insert_data.py | 4 +- examples/interactive_oauth.py | 7 +- examples/m2m_oauth.py | 4 +- examples/parameters.py | 8 +- examples/persistent_oauth.py | 34 +-- examples/query_cancel.py | 16 +- examples/query_execute.py | 2 +- examples/set_user_agent.py | 2 +- examples/staging_ingestion.py | 12 +- examples/v3_retries_query_execute.py | 6 +- setup_script.py | 4 +- tests/unit/test_parameters.py | 204 ------------------ 46 files changed, 588 insertions(+), 633 deletions(-) rename {tests => databricks_sql_connector_core/tests}/__init__.py (100%) rename {tests => databricks_sql_connector_core/tests}/e2e/__init__.py (100%) rename {tests => databricks_sql_connector_core/tests}/e2e/common/__init__.py (100%) rename {tests => databricks_sql_connector_core/tests}/e2e/common/core_tests.py (100%) rename {tests => databricks_sql_connector_core/tests}/e2e/common/decimal_tests.py (100%) rename {tests => databricks_sql_connector_core/tests}/e2e/common/large_queries_mixin.py (100%) rename {tests => databricks_sql_connector_core/tests}/e2e/common/predicates.py (91%) rename {tests => databricks_sql_connector_core/tests}/e2e/common/retry_test_mixins.py (94%) rename {tests => databricks_sql_connector_core/tests}/e2e/common/staging_ingestion_tests.py (91%) rename {tests => databricks_sql_connector_core/tests}/e2e/common/timestamp_tests.py (100%) rename {tests => databricks_sql_connector_core/tests}/e2e/common/uc_volume_tests.py (90%) rename {tests => databricks_sql_connector_core/tests}/e2e/test_complex_types.py (100%) rename {tests => databricks_sql_connector_core/tests}/e2e/test_driver.py (96%) rename {tests => databricks_sql_connector_core/tests}/e2e/test_parameterized_queries.py (92%) rename {tests => databricks_sql_connector_core/tests}/unit/__init__.py (100%) rename {tests => databricks_sql_connector_core/tests}/unit/test_arrow_queue.py (94%) rename {tests => databricks_sql_connector_core/tests}/unit/test_auth.py (91%) rename {tests => databricks_sql_connector_core/tests}/unit/test_client.py (90%) rename {tests => databricks_sql_connector_core/tests}/unit/test_cloud_fetch_queue.py (87%) rename {tests => databricks_sql_connector_core/tests}/unit/test_download_manager.py (92%) rename {tests => databricks_sql_connector_core/tests}/unit/test_downloader.py (97%) rename {tests => databricks_sql_connector_core/tests}/unit/test_endpoint.py (91%) rename {tests => databricks_sql_connector_core/tests}/unit/test_fetches.py (98%) rename {tests => databricks_sql_connector_core/tests}/unit/test_fetches_bench.py (93%) rename {tests => databricks_sql_connector_core/tests}/unit/test_init_file.py (100%) rename {tests => databricks_sql_connector_core/tests}/unit/test_oauth_persistence.py (91%) rename {tests => databricks_sql_connector_core/tests}/unit/test_param_escaper.py (62%) create mode 100644 databricks_sql_connector_core/tests/unit/test_parameters.py rename {tests => databricks_sql_connector_core/tests}/unit/test_retry.py (93%) rename {tests => databricks_sql_connector_core/tests}/unit/test_thrift_backend.py (90%) delete mode 100644 tests/unit/test_parameters.py diff --git a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/client.py b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/client.py index 93675578..1cee29d0 100755 --- a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/client.py +++ b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/client.py @@ -784,8 +784,6 @@ def execute( parameters=prepared_params, ) - # print("Line 781") - # print(execute_response) self.active_result_set = ResultSet( self.connection, execute_response, @@ -1141,7 +1139,6 @@ def _fill_results_buffer(self): def _convert_columnar_table(self, table): column_names = [c[0] for c in self.description] ResultRow = Row(*column_names) - # print("Table\n",table) result = [] for row_index in range(len(table[0])): curr_row = [] diff --git a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/thrift_backend.py b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/thrift_backend.py index c879de58..9c888a80 100644 --- a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/thrift_backend.py +++ b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/thrift_backend.py @@ -743,7 +743,6 @@ def _results_message_to_execute_response(self, resp, operation_state): else: t_result_set_metadata_resp = self._get_metadata_resp(resp.operationHandle) - # print(f"Line 739 - {t_result_set_metadata_resp.resultFormat}") if t_result_set_metadata_resp.resultFormat not in [ ttypes.TSparkRowSetType.ARROW_BASED_SET, ttypes.TSparkRowSetType.COLUMN_BASED_SET, @@ -880,18 +879,8 @@ def execute_command( # We want to receive proper Timestamp arrow types. "spark.thriftserver.arrowBasedRowSet.timestampAsString": "false" }, - # useArrowNativeTypes=spark_arrow_types, - # canReadArrowResult=True, - # # canDecompressLZ4Result=lz4_compression, - # canDecompressLZ4Result=False, - # canDownloadResult=False, - # # confOverlay={ - # # # We want to receive proper Timestamp arrow types. - # # "spark.thriftserver.arrowBasedRowSet.timestampAsString": "false" - # # }, - # resultDataFormat=TDBSqlResultFormat(None,None,True), - # # useArrowNativeTypes=spark_arrow_types, - parameters=parameters, + useArrowNativeTypes=spark_arrow_types, + parameters=parameters, ) resp = self.make_request(self._client.ExecuteStatement, req) return self._handle_execute_response(resp, cursor) diff --git a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/utils.py b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/utils.py index c259fc37..5c490c73 100644 --- a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/utils.py +++ b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/utils.py @@ -74,18 +74,6 @@ def build_queue( Returns: ResultSetQueue """ - - # def trow_to_json(trow): - # # Step 1: Serialize TRow using Thrift's TJSONProtocol - # transport = TTransport.TMemoryBuffer() - # protocol = TJSONProtocol.TJSONProtocol(transport) - # trow.write(protocol) - # - # # Step 2: Extract JSON string from the transport - # json_str = transport.getvalue().decode('utf-8') - # - # return json_str - if row_set_type == TSparkRowSetType.ARROW_BASED_SET: arrow_table, n_valid_rows = convert_arrow_based_set_to_arrow_table( t_row_set.arrowBatches, lz4_compressed, arrow_schema_bytes @@ -95,30 +83,11 @@ def build_queue( ) return ArrowQueue(converted_arrow_table, n_valid_rows) elif row_set_type == TSparkRowSetType.COLUMN_BASED_SET: - # print("Lin 79 ") - # print(type(t_row_set)) - # print(t_row_set) - # json_str = json.loads(trow_to_json(t_row_set)) - # pretty_json = json.dumps(json_str, indent=2) - # print(pretty_json) - converted_column_table, column_names = convert_column_based_set_to_column_table( t_row_set.columns, description) - # print(converted_column_table, column_names) return ColumnQueue(converted_column_table, column_names) - - # print(columnQueue.next_n_rows(2)) - # print(columnQueue.next_n_rows(2)) - # print(columnQueue.remaining_rows()) - # arrow_table, n_valid_rows = convert_column_based_set_to_arrow_table( - # t_row_set.columns, description - # ) - # converted_arrow_table = convert_decimals_in_arrow_table( - # arrow_table, description - # ) - # return ArrowQueue(converted_arrow_table, n_valid_rows) elif row_set_type == TSparkRowSetType.URL_BASED_SET: return CloudFetchQueue( schema_bytes=arrow_schema_bytes, diff --git a/tests/__init__.py b/databricks_sql_connector_core/tests/__init__.py similarity index 100% rename from tests/__init__.py rename to databricks_sql_connector_core/tests/__init__.py diff --git a/tests/e2e/__init__.py b/databricks_sql_connector_core/tests/e2e/__init__.py similarity index 100% rename from tests/e2e/__init__.py rename to databricks_sql_connector_core/tests/e2e/__init__.py diff --git a/tests/e2e/common/__init__.py b/databricks_sql_connector_core/tests/e2e/common/__init__.py similarity index 100% rename from tests/e2e/common/__init__.py rename to databricks_sql_connector_core/tests/e2e/common/__init__.py diff --git a/tests/e2e/common/core_tests.py b/databricks_sql_connector_core/tests/e2e/common/core_tests.py similarity index 100% rename from tests/e2e/common/core_tests.py rename to databricks_sql_connector_core/tests/e2e/common/core_tests.py diff --git a/tests/e2e/common/decimal_tests.py b/databricks_sql_connector_core/tests/e2e/common/decimal_tests.py similarity index 100% rename from tests/e2e/common/decimal_tests.py rename to databricks_sql_connector_core/tests/e2e/common/decimal_tests.py diff --git a/tests/e2e/common/large_queries_mixin.py b/databricks_sql_connector_core/tests/e2e/common/large_queries_mixin.py similarity index 100% rename from tests/e2e/common/large_queries_mixin.py rename to databricks_sql_connector_core/tests/e2e/common/large_queries_mixin.py diff --git a/tests/e2e/common/predicates.py b/databricks_sql_connector_core/tests/e2e/common/predicates.py similarity index 91% rename from tests/e2e/common/predicates.py rename to databricks_sql_connector_core/tests/e2e/common/predicates.py index 4d01c5fe..10dbde9e 100644 --- a/tests/e2e/common/predicates.py +++ b/databricks_sql_connector_core/tests/e2e/common/predicates.py @@ -8,13 +8,13 @@ def pysql_supports_arrow(): - """Import databricks.sql and test whether Cursor has fetchall_arrow.""" - from databricks.sql import Cursor + """Import databricks_sql_connector_core.sql and test whether Cursor has fetchall_arrow.""" + from databricks_sql_connector_core.sql.client import Cursor return hasattr(Cursor, 'fetchall_arrow') def pysql_has_version(compare, version): - """Import databricks.sql, and return compare_module_version(...). + """Import databricks_sql_connector_core.sql, and return compare_module_version(...). Expected use: from common.predicates import pysql_has_version @@ -98,4 +98,4 @@ def validate_version(version): mod_version = validate_version(module.__version__) req_version = validate_version(version) - return compare_versions(compare, mod_version, req_version) + return compare_versions(compare, mod_version, req_version) \ No newline at end of file diff --git a/tests/e2e/common/retry_test_mixins.py b/databricks_sql_connector_core/tests/e2e/common/retry_test_mixins.py similarity index 94% rename from tests/e2e/common/retry_test_mixins.py rename to databricks_sql_connector_core/tests/e2e/common/retry_test_mixins.py index e7761397..6053e314 100755 --- a/tests/e2e/common/retry_test_mixins.py +++ b/databricks_sql_connector_core/tests/e2e/common/retry_test_mixins.py @@ -6,8 +6,8 @@ import pytest from urllib3.exceptions import MaxRetryError -from databricks.sql import DatabricksRetryPolicy -from databricks.sql import ( +from databricks_sql_connector_core.sql.auth.retry import DatabricksRetryPolicy +from databricks_sql_connector_core.sql.exc import ( MaxRetryDurationError, NonRecoverableNetworkError, RequestError, @@ -146,7 +146,7 @@ def test_retry_urllib3_settings_are_honored(self): def test_oserror_retries(self): """If a network error occurs during make_request, the request is retried according to policy""" with patch( - "urllib3.connectionpool.HTTPSConnectionPool._validate_conn", + "urllib3.connectionpool.HTTPSConnectionPool._validate_conn", ) as mock_validate_conn: mock_validate_conn.side_effect = OSError("Some arbitrary network error") with pytest.raises(MaxRetryError) as cm: @@ -275,7 +275,7 @@ def test_retry_safe_execute_statement_retry_condition(self): ] with self.connection( - extra_params={**self._retry_policy, "_retry_stop_after_attempts_count": 1} + extra_params={**self._retry_policy, "_retry_stop_after_attempts_count": 1} ) as conn: with conn.cursor() as cursor: # Code 502 is a Bad Gateway, which we commonly see in production under heavy load @@ -318,9 +318,9 @@ def test_retry_abort_close_operation_on_404(self, caplog): with self.connection(extra_params={**self._retry_policy}) as conn: with conn.cursor() as curs: with patch( - "databricks.sql.utils.ExecuteResponse.has_been_closed_server_side", - new_callable=PropertyMock, - return_value=False, + "databricks_sql_connector_core.sql.utils.ExecuteResponse.has_been_closed_server_side", + new_callable=PropertyMock, + return_value=False, ): # This call guarantees we have an open cursor at the server curs.execute("SELECT 1") @@ -340,10 +340,10 @@ def test_retry_max_redirects_raises_too_many_redirects_exception(self): with mocked_server_response(status=302, redirect_location="/foo.bar") as mock_obj: with pytest.raises(MaxRetryError) as cm: with self.connection( - extra_params={ - **self._retry_policy, - "_retry_max_redirects": max_redirects, - } + extra_params={ + **self._retry_policy, + "_retry_max_redirects": max_redirects, + } ): pass assert "too many redirects" == str(cm.value.reason) @@ -362,9 +362,9 @@ def test_retry_max_redirects_unset_doesnt_redirect_forever(self): with mocked_server_response(status=302, redirect_location="/foo.bar/") as mock_obj: with pytest.raises(MaxRetryError) as cm: with self.connection( - extra_params={ - **self._retry_policy, - } + extra_params={ + **self._retry_policy, + } ): pass @@ -394,13 +394,13 @@ def test_retry_max_redirects_is_bounded_by_stop_after_attempts_count(self): def test_retry_max_redirects_exceeds_max_attempts_count_warns_user(self, caplog): with self.connection( - extra_params={ - **self._retry_policy, - **{ - "_retry_max_redirects": 100, - "_retry_stop_after_attempts_count": 1, - }, - } + extra_params={ + **self._retry_policy, + **{ + "_retry_max_redirects": 100, + "_retry_stop_after_attempts_count": 1, + }, + } ): assert "it will have no affect!" in caplog.text @@ -433,4 +433,4 @@ def test_401_not_retried(self): with pytest.raises(RequestError) as cm: with self.connection(extra_params=self._retry_policy): pass - assert isinstance(cm.value.args[1], NonRecoverableNetworkError) + assert isinstance(cm.value.args[1], NonRecoverableNetworkError) \ No newline at end of file diff --git a/tests/e2e/common/staging_ingestion_tests.py b/databricks_sql_connector_core/tests/e2e/common/staging_ingestion_tests.py similarity index 91% rename from tests/e2e/common/staging_ingestion_tests.py rename to databricks_sql_connector_core/tests/e2e/common/staging_ingestion_tests.py index d8d0429f..f1034faa 100644 --- a/tests/e2e/common/staging_ingestion_tests.py +++ b/databricks_sql_connector_core/tests/e2e/common/staging_ingestion_tests.py @@ -2,8 +2,8 @@ import tempfile import pytest -import databricks.sql as sql -from databricks.sql import Error +import databricks_sql_connector_core.sql as sql +from databricks_sql_connector_core.sql import Error @pytest.fixture(scope="module", autouse=True) @@ -100,7 +100,7 @@ def test_staging_ingestion_put_fails_without_staging_allowed_local_path(self, in cursor.execute(query) def test_staging_ingestion_put_fails_if_localFile_not_in_staging_allowed_local_path( - self, ingestion_user + self, ingestion_user ): fh, temp_path = tempfile.mkstemp() @@ -116,8 +116,8 @@ def test_staging_ingestion_put_fails_if_localFile_not_in_staging_allowed_local_p base_path = os.path.join(base_path, "temp") with pytest.raises( - Error, - match="Local file operations are restricted to paths within the configured staging_allowed_local_path", + Error, + match="Local file operations are restricted to paths within the configured staging_allowed_local_path", ): with self.connection(extra_params={"staging_allowed_local_path": base_path}) as conn: cursor = conn.cursor() @@ -158,7 +158,7 @@ def perform_remove(): # Try to put it again with pytest.raises( - sql.exc.ServerOperationError, match="FILE_IN_STAGING_PATH_ALREADY_EXISTS" + sql.exc.ServerOperationError, match="FILE_IN_STAGING_PATH_ALREADY_EXISTS" ): perform_put() @@ -209,7 +209,7 @@ def perform_get(): perform_get() def test_staging_ingestion_put_fails_if_absolute_localFile_not_in_staging_allowed_local_path( - self, ingestion_user + self, ingestion_user ): """ This test confirms that staging_allowed_local_path and target_file are resolved into absolute paths. @@ -222,11 +222,11 @@ def test_staging_ingestion_put_fails_if_absolute_localFile_not_in_staging_allowe target_file = "/var/www/html/../html1/not_allowed.html" with pytest.raises( - Error, - match="Local file operations are restricted to paths within the configured staging_allowed_local_path", + Error, + match="Local file operations are restricted to paths within the configured staging_allowed_local_path", ): with self.connection( - extra_params={"staging_allowed_local_path": staging_allowed_local_path} + extra_params={"staging_allowed_local_path": staging_allowed_local_path} ) as conn: cursor = conn.cursor() query = f"PUT '{target_file}' INTO 'stage://tmp/{ingestion_user}/tmp/11/15/file1.csv' OVERWRITE" @@ -238,7 +238,7 @@ def test_staging_ingestion_empty_local_path_fails_to_parse_at_server(self, inges with pytest.raises(Error, match="EMPTY_LOCAL_FILE_IN_STAGING_ACCESS_QUERY"): with self.connection( - extra_params={"staging_allowed_local_path": staging_allowed_local_path} + extra_params={"staging_allowed_local_path": staging_allowed_local_path} ) as conn: cursor = conn.cursor() query = f"PUT '{target_file}' INTO 'stage://tmp/{ingestion_user}/tmp/11/15/file1.csv' OVERWRITE" @@ -250,14 +250,14 @@ def test_staging_ingestion_invalid_staging_path_fails_at_server(self, ingestion_ with pytest.raises(Error, match="INVALID_STAGING_PATH_IN_STAGING_ACCESS_QUERY"): with self.connection( - extra_params={"staging_allowed_local_path": staging_allowed_local_path} + extra_params={"staging_allowed_local_path": staging_allowed_local_path} ) as conn: cursor = conn.cursor() query = f"PUT '{target_file}' INTO 'stageRANDOMSTRINGOFCHARACTERS://tmp/{ingestion_user}/tmp/11/15/file1.csv' OVERWRITE" cursor.execute(query) def test_staging_ingestion_supports_multiple_staging_allowed_local_path_values( - self, ingestion_user + self, ingestion_user ): """staging_allowed_local_path may be either a path-like object or a list of path-like objects. @@ -286,7 +286,7 @@ def generate_file_and_path_and_queries(): fh3, temp_path3, put_query3, remove_query3 = generate_file_and_path_and_queries() with self.connection( - extra_params={"staging_allowed_local_path": [temp_path1, temp_path2]} + extra_params={"staging_allowed_local_path": [temp_path1, temp_path2]} ) as conn: cursor = conn.cursor() @@ -294,11 +294,11 @@ def generate_file_and_path_and_queries(): cursor.execute(put_query2) with pytest.raises( - Error, - match="Local file operations are restricted to paths within the configured staging_allowed_local_path", + Error, + match="Local file operations are restricted to paths within the configured staging_allowed_local_path", ): cursor.execute(put_query3) # Then clean up the files we made cursor.execute(remove_query1) - cursor.execute(remove_query2) + cursor.execute(remove_query2) \ No newline at end of file diff --git a/tests/e2e/common/timestamp_tests.py b/databricks_sql_connector_core/tests/e2e/common/timestamp_tests.py similarity index 100% rename from tests/e2e/common/timestamp_tests.py rename to databricks_sql_connector_core/tests/e2e/common/timestamp_tests.py diff --git a/tests/e2e/common/uc_volume_tests.py b/databricks_sql_connector_core/tests/e2e/common/uc_volume_tests.py similarity index 90% rename from tests/e2e/common/uc_volume_tests.py rename to databricks_sql_connector_core/tests/e2e/common/uc_volume_tests.py index 21e43036..88bc2972 100644 --- a/tests/e2e/common/uc_volume_tests.py +++ b/databricks_sql_connector_core/tests/e2e/common/uc_volume_tests.py @@ -2,8 +2,8 @@ import tempfile import pytest -import databricks.sql as sql -from databricks.sql import Error +import databricks_sql_connector_core.sql as sql +from databricks_sql_connector_core.sql import Error @pytest.fixture(scope="module", autouse=True) @@ -99,7 +99,7 @@ def test_uc_volume_put_fails_without_staging_allowed_local_path(self, catalog, s cursor.execute(query) def test_uc_volume_put_fails_if_localFile_not_in_staging_allowed_local_path( - self, catalog, schema + self, catalog, schema ): fh, temp_path = tempfile.mkstemp() @@ -115,8 +115,8 @@ def test_uc_volume_put_fails_if_localFile_not_in_staging_allowed_local_path( base_path = os.path.join(base_path, "temp") with pytest.raises( - Error, - match="Local file operations are restricted to paths within the configured staging_allowed_local_path", + Error, + match="Local file operations are restricted to paths within the configured staging_allowed_local_path", ): with self.connection(extra_params={"staging_allowed_local_path": base_path}) as conn: cursor = conn.cursor() @@ -157,7 +157,7 @@ def perform_remove(): # Try to put it again with pytest.raises( - sql.exc.ServerOperationError, match="FILE_IN_STAGING_PATH_ALREADY_EXISTS" + sql.exc.ServerOperationError, match="FILE_IN_STAGING_PATH_ALREADY_EXISTS" ): perform_put() @@ -165,7 +165,7 @@ def perform_remove(): perform_remove() def test_uc_volume_put_fails_if_absolute_localFile_not_in_staging_allowed_local_path( - self, catalog, schema + self, catalog, schema ): """ This test confirms that staging_allowed_local_path and target_file are resolved into absolute paths. @@ -178,11 +178,11 @@ def test_uc_volume_put_fails_if_absolute_localFile_not_in_staging_allowed_local_ target_file = "/var/www/html/../html1/not_allowed.html" with pytest.raises( - Error, - match="Local file operations are restricted to paths within the configured staging_allowed_local_path", + Error, + match="Local file operations are restricted to paths within the configured staging_allowed_local_path", ): with self.connection( - extra_params={"staging_allowed_local_path": staging_allowed_local_path} + extra_params={"staging_allowed_local_path": staging_allowed_local_path} ) as conn: cursor = conn.cursor() query = f"PUT '{target_file}' INTO '/Volumes/{catalog}/{schema}/e2etests/file1.csv' OVERWRITE" @@ -194,7 +194,7 @@ def test_uc_volume_empty_local_path_fails_to_parse_at_server(self, catalog, sche with pytest.raises(Error, match="EMPTY_LOCAL_FILE_IN_STAGING_ACCESS_QUERY"): with self.connection( - extra_params={"staging_allowed_local_path": staging_allowed_local_path} + extra_params={"staging_allowed_local_path": staging_allowed_local_path} ) as conn: cursor = conn.cursor() query = f"PUT '{target_file}' INTO '/Volumes/{catalog}/{schema}/e2etests/file1.csv' OVERWRITE" @@ -206,7 +206,7 @@ def test_uc_volume_invalid_volume_path_fails_at_server(self, catalog, schema): with pytest.raises(Error, match="NOT_FOUND: Catalog"): with self.connection( - extra_params={"staging_allowed_local_path": staging_allowed_local_path} + extra_params={"staging_allowed_local_path": staging_allowed_local_path} ) as conn: cursor = conn.cursor() query = f"PUT '{target_file}' INTO '/Volumes/RANDOMSTRINGOFCHARACTERS/{catalog}/{schema}/e2etests/file1.csv' OVERWRITE" @@ -240,7 +240,7 @@ def generate_file_and_path_and_queries(): fh3, temp_path3, put_query3, remove_query3 = generate_file_and_path_and_queries() with self.connection( - extra_params={"staging_allowed_local_path": [temp_path1, temp_path2]} + extra_params={"staging_allowed_local_path": [temp_path1, temp_path2]} ) as conn: cursor = conn.cursor() @@ -248,11 +248,11 @@ def generate_file_and_path_and_queries(): cursor.execute(put_query2) with pytest.raises( - Error, - match="Local file operations are restricted to paths within the configured staging_allowed_local_path", + Error, + match="Local file operations are restricted to paths within the configured staging_allowed_local_path", ): cursor.execute(put_query3) # Then clean up the files we made cursor.execute(remove_query1) - cursor.execute(remove_query2) + cursor.execute(remove_query2) \ No newline at end of file diff --git a/tests/e2e/test_complex_types.py b/databricks_sql_connector_core/tests/e2e/test_complex_types.py similarity index 100% rename from tests/e2e/test_complex_types.py rename to databricks_sql_connector_core/tests/e2e/test_complex_types.py diff --git a/tests/e2e/test_driver.py b/databricks_sql_connector_core/tests/e2e/test_driver.py similarity index 96% rename from tests/e2e/test_driver.py rename to databricks_sql_connector_core/tests/e2e/test_driver.py index b49dfade..52764ad3 100644 --- a/tests/e2e/test_driver.py +++ b/databricks_sql_connector_core/tests/e2e/test_driver.py @@ -18,8 +18,8 @@ import pytest from urllib3.connectionpool import ReadTimeoutError -import databricks.sql as sql -from databricks.sql import ( +import databricks_sql_connector_core.sql as sql +from databricks_sql_connector_core.sql import ( STRING, BINARY, NUMBER, @@ -46,11 +46,11 @@ from tests.e2e.common.uc_volume_tests import PySQLUCVolumeTestSuiteMixin -from databricks.sql import SessionAlreadyClosedError +from databricks_sql_connector_core.sql.exc import SessionAlreadyClosedError log = logging.getLogger(__name__) -unsafe_logger = logging.getLogger("databricks.sql.unsafe") +unsafe_logger = logging.getLogger("databricks_sql_connector_core.sql.unsafe") unsafe_logger.setLevel(logging.DEBUG) unsafe_logger.addHandler(logging.FileHandler("./tests-unsafe.log")) @@ -141,19 +141,19 @@ def test_cloud_fetch(self): # If this table is deleted or this test is run on a different host, a different table may need to be used. base_query = "SELECT * FROM store_sales WHERE ss_sold_date_sk = 2452234 " for num_limit, num_threads, lz4_compression in itertools.product( - limits, threads, [True, False] + limits, threads, [True, False] ): with self.subTest( - num_limit=num_limit, num_threads=num_threads, lz4_compression=lz4_compression + num_limit=num_limit, num_threads=num_threads, lz4_compression=lz4_compression ): cf_result, noop_result = None, None query = base_query + "LIMIT " + str(num_limit) with self.cursor( - { - "use_cloud_fetch": True, - "max_download_threads": num_threads, - "catalog": "hive_metastore", - }, + { + "use_cloud_fetch": True, + "max_download_threads": num_threads, + "catalog": "hive_metastore", + }, ) as cursor: cursor.execute(query) cf_result = cursor.fetchall() @@ -333,7 +333,7 @@ def test_get_columns(self): "col_3", 2002, "STRUCT", - ], + ], ["default", table_name + "_1", "col_4", 2000, "MAP"], ["default", table_name + "_1", "col_5", 2003, "ARRAY"], ["default", table_name + "_2", "col_1", 4, "INT"], @@ -344,7 +344,7 @@ def test_get_columns(self): "col_3", 2002, "STRUCT", - ], + ], ["default", table_name + "_2", "col_4", 2000, "MAP"], [ "default", @@ -352,7 +352,7 @@ def test_get_columns(self): "col_5", 2003, "ARRAY", - ], + ], ] assert cleaned_response == expected expected = [ @@ -608,7 +608,7 @@ def test_timestamps_arrow(self): # be UTC (what it should be by default on the server) aware_timestamp = expected and expected.replace(tzinfo=datetime.timezone.utc) assert result_value == ( - aware_timestamp and aware_timestamp.timestamp() * 1000000 + aware_timestamp and aware_timestamp.timestamp() * 1000000 ), "timestamp {} did not match {}".format(timestamp, expected) @skipUnless(pysql_supports_arrow(), "arrow test needs arrow support") @@ -696,7 +696,7 @@ def test_decimal_not_returned_as_strings_arrow(self): def test_close_connection_closes_cursors(self): - from databricks.sql import ttypes + from databricks_sql_connector_core.sql.thrift_api.TCLIService import ttypes with self.connection() as conn: cursor = conn.cursor() @@ -750,10 +750,10 @@ def test_initial_namespace(self): cursor.execute("USE CATALOG {}".format(self.arguments["catalog"])) cursor.execute("CREATE TABLE table_{} (col1 int)".format(table_name)) with self.connection( - {"catalog": self.arguments["catalog"], "schema": table_name} + {"catalog": self.arguments["catalog"], "schema": table_name} ) as connection: cursor = connection.cursor() cursor.execute("select current_catalog()") assert cursor.fetchone()[0] == self.arguments["catalog"] cursor.execute("select current_database()") - assert cursor.fetchone()[0] == table_name + assert cursor.fetchone()[0] == table_name \ No newline at end of file diff --git a/tests/e2e/test_parameterized_queries.py b/databricks_sql_connector_core/tests/e2e/test_parameterized_queries.py similarity index 92% rename from tests/e2e/test_parameterized_queries.py rename to databricks_sql_connector_core/tests/e2e/test_parameterized_queries.py index d63dc133..8bde1b95 100644 --- a/tests/e2e/test_parameterized_queries.py +++ b/databricks_sql_connector_core/tests/e2e/test_parameterized_queries.py @@ -8,7 +8,7 @@ import pytest import pytz -from databricks.sql import ( +from databricks_sql_connector_core.sql.parameters.native import ( BigIntegerParameter, BooleanParameter, DateParameter, @@ -147,8 +147,8 @@ def patch_server_supports_native_params(self, supports_native_params: bool = Tru """Applies a patch so we can test the connector's behaviour under different SPARK_CLI_SERVICE_PROTOCOL_VERSION conditions.""" with patch( - "databricks.sql.client.Connection.server_parameterized_queries_enabled", - return_value=supports_native_params, + "databricks_sql_connector_core.sql.client.Connection.server_parameterized_queries_enabled", + return_value=supports_native_params, ) as mock_parameterized_queries_enabled: try: yield mock_parameterized_queries_enabled @@ -186,10 +186,10 @@ def _inline_roundtrip(self, params: dict, paramstyle: ParamStyle): return to_return def _native_roundtrip( - self, - parameters: Union[Dict, List[Dict]], - paramstyle: ParamStyle, - parameter_structure: ParameterStructure, + self, + parameters: Union[Dict, List[Dict]], + paramstyle: ParamStyle, + parameter_structure: ParameterStructure, ): if parameter_structure == ParameterStructure.POSITIONAL: _query = self.POSITIONAL_PARAMSTYLE_QUERY @@ -203,11 +203,11 @@ def _native_roundtrip( return cursor.fetchone() def _get_one_result( - self, - params, - approach: ParameterApproach = ParameterApproach.NONE, - paramstyle: ParamStyle = ParamStyle.NONE, - parameter_structure: ParameterStructure = ParameterStructure.NONE, + self, + params, + approach: ParameterApproach = ParameterApproach.NONE, + paramstyle: ParamStyle = ParamStyle.NONE, + parameter_structure: ParameterStructure = ParameterStructure.NONE, ): """When approach is INLINE then we use %(param)s paramstyle and a connection with use_inline_params=True When approach is NATIVE then we use :param paramstyle and a connection with use_inline_params=False @@ -243,12 +243,12 @@ def _eq(self, actual, expected: Primitive): "approach,paramstyle,parameter_structure", approach_paramstyle_combinations ) def test_primitive_single( - self, - approach, - paramstyle, - parameter_structure, - primitive: Primitive, - inline_table, + self, + approach, + paramstyle, + parameter_structure, + primitive: Primitive, + inline_table, ): """When ParameterApproach.INLINE is passed, inferrence will not be used. When ParameterApproach.NATIVE is passed, primitive inputs will be inferred. @@ -285,10 +285,10 @@ def test_primitive_single( ], ) def test_dbsqlparameter_single( - self, - primitive: Primitive, - dbsql_parameter_cls: Type[TDbsqlParameter], - parameter_structure: ParameterStructure, + self, + primitive: Primitive, + dbsql_parameter_cls: Type[TDbsqlParameter], + parameter_structure: ParameterStructure, ): dbsql_param = dbsql_parameter_cls( value=primitive.value, # type: ignore @@ -316,11 +316,11 @@ def test_use_inline_off_by_default_with_warning(self, use_inline_params, caplog) cursor.execute("SELECT %(p)s", parameters={"p": 1}) if use_inline_params is True: assert ( - "Consider using native parameters." in caplog.text + "Consider using native parameters." in caplog.text ), "Log message should be suppressed" elif use_inline_params == "silent": assert ( - "Consider using native parameters." not in caplog.text + "Consider using native parameters." not in caplog.text ), "Log message should not be supressed" def test_positional_native_params_with_defaults(self): @@ -333,12 +333,12 @@ def test_positional_native_params_with_defaults(self): @pytest.mark.parametrize( "params", ( - [ - StringParameter(value="foo"), - StringParameter(value="bar"), - StringParameter(value="baz"), - ], - ["foo", "bar", "baz"], + [ + StringParameter(value="foo"), + StringParameter(value="bar"), + StringParameter(value="baz"), + ], + ["foo", "bar", "baz"], ), ) def test_positional_native_multiple(self, params): @@ -450,4 +450,4 @@ def test_native_like_wildcard_works(self): with self.cursor(extra_params={"use_inline_params": False}) as cursor: result = cursor.execute(query, parameters=params).fetchone() - assert result.col == 1 + assert result.col == 1 \ No newline at end of file diff --git a/tests/unit/__init__.py b/databricks_sql_connector_core/tests/unit/__init__.py similarity index 100% rename from tests/unit/__init__.py rename to databricks_sql_connector_core/tests/unit/__init__.py diff --git a/tests/unit/test_arrow_queue.py b/databricks_sql_connector_core/tests/unit/test_arrow_queue.py similarity index 94% rename from tests/unit/test_arrow_queue.py rename to databricks_sql_connector_core/tests/unit/test_arrow_queue.py index a6ef417a..93e2ed2b 100644 --- a/tests/unit/test_arrow_queue.py +++ b/databricks_sql_connector_core/tests/unit/test_arrow_queue.py @@ -2,7 +2,7 @@ import pyarrow as pa -from databricks.sql import ArrowQueue +from databricks_sql_connector_core.sql.utils import ArrowQueue class ArrowQueueSuite(unittest.TestCase): diff --git a/tests/unit/test_auth.py b/databricks_sql_connector_core/tests/unit/test_auth.py similarity index 91% rename from tests/unit/test_auth.py rename to databricks_sql_connector_core/tests/unit/test_auth.py index d88fe286..9e2b60b7 100644 --- a/tests/unit/test_auth.py +++ b/databricks_sql_connector_core/tests/unit/test_auth.py @@ -3,22 +3,22 @@ from typing import Optional from unittest.mock import patch -from databricks.sql import ( +from databricks_sql_connector_core.sql.auth.auth import ( AccessTokenAuthProvider, AuthProvider, ExternalAuthProvider, AuthType, ) -from databricks.sql import get_python_sql_connector_auth_provider -from databricks.sql import OAuthManager -from databricks.sql import DatabricksOAuthProvider -from databricks.sql import ( +from databricks_sql_connector_core.sql.auth.auth import get_python_sql_connector_auth_provider, PYSQL_OAUTH_CLIENT_ID +from databricks_sql_connector_core.sql.auth.oauth import OAuthManager +from databricks_sql_connector_core.sql.auth.authenticators import DatabricksOAuthProvider +from databricks_sql_connector_core.sql.auth.endpoint import ( CloudType, InHouseOAuthEndpointCollection, AzureOAuthEndpointCollection, ) -from databricks.sql import CredentialsProvider, HeaderFactory -from databricks.sql import OAuthPersistenceCache +from databricks_sql_connector_core.sql.auth.authenticators import CredentialsProvider, HeaderFactory +from databricks_sql_connector_core.sql.experimental.oauth_persistence import OAuthPersistenceCache class Auth(unittest.TestCase): diff --git a/tests/unit/test_client.py b/databricks_sql_connector_core/tests/unit/test_client.py similarity index 90% rename from tests/unit/test_client.py rename to databricks_sql_connector_core/tests/unit/test_client.py index 5d1a2b04..a3cdc7b7 100644 --- a/tests/unit/test_client.py +++ b/databricks_sql_connector_core/tests/unit/test_client.py @@ -8,19 +8,19 @@ from datetime import datetime, date from uuid import UUID -from databricks.sql import ( +from databricks_sql_connector_core.sql.thrift_api.TCLIService.ttypes import ( TOpenSessionResp, TExecuteStatementResp, TOperationHandle, THandleIdentifier, TOperationType ) -from databricks.sql import ThriftBackend +from databricks_sql_connector_core.sql.thrift_backend import ThriftBackend -import databricks.sql -import databricks.sql.client as client -from databricks.sql import InterfaceError, DatabaseError, Error, NotSupportedError -from databricks.sql import Row +import databricks_sql_connector_core.sql +import databricks_sql_connector_core.sql.client as client +from databricks_sql_connector_core.sql import InterfaceError, DatabaseError, Error, NotSupportedError +from databricks_sql_connector_core.sql.types import Row from tests.unit.test_fetches import FetchTests from tests.unit.test_thrift_backend import ThriftBackendTestSuite @@ -77,7 +77,7 @@ class ClientTestSuite(unittest.TestCase): Unit tests for isolated client behaviour. """ - PACKAGE_NAME = "databricks.sql" + PACKAGE_NAME = "databricks_sql_connector_core.sql" DUMMY_CONNECTION_ARGS = { "server_hostname": "foo", "http_path": "dummy_path", @@ -92,7 +92,7 @@ def test_close_uses_the_correct_session_id(self, mock_client_class): mock_open_session_resp.sessionHandle.sessionId = b'\x22' instance.open_session.return_value = mock_open_session_resp - connection = databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS) + connection = databricks_sql_connector_core.sql.connect(**self.DUMMY_CONNECTION_ARGS) connection.close() # Check the close session request has an id of x22 @@ -120,7 +120,7 @@ def test_auth_args(self, mock_client_class): ] for args in connection_args: - connection = databricks.sql.connect(**args) + connection = databricks_sql_connector_core.sql.connect(**args) host, port, http_path, *_ = mock_client_class.call_args[0] self.assertEqual(args["server_hostname"], host) self.assertEqual(args["http_path"], http_path) @@ -129,14 +129,14 @@ def test_auth_args(self, mock_client_class): @patch("%s.client.ThriftBackend" % PACKAGE_NAME) def test_http_header_passthrough(self, mock_client_class): http_headers = [("foo", "bar")] - databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS, http_headers=http_headers) + databricks_sql_connector_core.sql.connect(**self.DUMMY_CONNECTION_ARGS, http_headers=http_headers) call_args = mock_client_class.call_args[0][3] self.assertIn(("foo", "bar"), call_args) @patch("%s.client.ThriftBackend" % PACKAGE_NAME) def test_tls_arg_passthrough(self, mock_client_class): - databricks.sql.connect( + databricks_sql_connector_core.sql.connect( **self.DUMMY_CONNECTION_ARGS, _tls_verify_hostname="hostname", _tls_trusted_ca_file="trusted ca file", @@ -152,16 +152,16 @@ def test_tls_arg_passthrough(self, mock_client_class): @patch("%s.client.ThriftBackend" % PACKAGE_NAME) def test_useragent_header(self, mock_client_class): - databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS) + databricks_sql_connector_core.sql.connect(**self.DUMMY_CONNECTION_ARGS) http_headers = mock_client_class.call_args[0][3] - user_agent_header = ("User-Agent", "{}/{}".format(databricks.sql.USER_AGENT_NAME, - databricks.sql.__version__)) + user_agent_header = ("User-Agent", "{}/{}".format(databricks_sql_connector_core.sql.USER_AGENT_NAME, + databricks_sql_connector_core.sql.__version__)) self.assertIn(user_agent_header, http_headers) - databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS, _user_agent_entry="foobar") + databricks_sql_connector_core.sql.connect(**self.DUMMY_CONNECTION_ARGS, _user_agent_entry="foobar") user_agent_header_with_entry = ("User-Agent", "{}/{} ({})".format( - databricks.sql.USER_AGENT_NAME, databricks.sql.__version__, "foobar")) + databricks_sql_connector_core.sql.USER_AGENT_NAME, databricks_sql_connector_core.sql.__version__, "foobar")) http_headers = mock_client_class.call_args[0][3] self.assertIn(user_agent_header_with_entry, http_headers) @@ -172,7 +172,7 @@ def test_closing_connection_closes_commands(self, mock_result_set_class): for closed in (True, False): with self.subTest(closed=closed): mock_result_set_class.return_value = Mock() - connection = databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS) + connection = databricks_sql_connector_core.sql.connect(**self.DUMMY_CONNECTION_ARGS) cursor = connection.cursor() cursor.execute("SELECT 1;") connection.close() @@ -182,7 +182,7 @@ def test_closing_connection_closes_commands(self, mock_result_set_class): @patch("%s.client.ThriftBackend" % PACKAGE_NAME) def test_cant_open_cursor_on_closed_connection(self, mock_client_class): - connection = databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS) + connection = databricks_sql_connector_core.sql.connect(**self.DUMMY_CONNECTION_ARGS) self.assertTrue(connection.open) connection.close() self.assertFalse(connection.open) @@ -193,7 +193,7 @@ def test_cant_open_cursor_on_closed_connection(self, mock_client_class): @patch("%s.client.ThriftBackend" % PACKAGE_NAME) @patch("%s.client.Cursor" % PACKAGE_NAME) def test_arraysize_buffer_size_passthrough(self, mock_cursor_class, mock_client_class): - connection = databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS) + connection = databricks_sql_connector_core.sql.connect(**self.DUMMY_CONNECTION_ARGS) connection.cursor(arraysize=999, buffer_size_bytes=1234) kwargs = mock_cursor_class.call_args[1] @@ -275,7 +275,7 @@ def test_context_manager_closes_connection(self, mock_client_class): mock_open_session_resp.sessionHandle.sessionId = b'\x22' instance.open_session.return_value = mock_open_session_resp - with databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS) as connection: + with databricks_sql_connector_core.sql.connect(**self.DUMMY_CONNECTION_ARGS) as connection: pass # Check the close session request has an id of x22 @@ -363,7 +363,7 @@ def test_cancel_command_calls_the_backend(self): cursor.cancel() mock_thrift_backend.cancel_command.assert_called_with(mock_op_handle) - @patch("databricks.sql.client.logger") + @patch("databricks_sql_connector_core.sql.client.logger") def test_cancel_command_will_issue_warning_for_cancel_with_no_executing_command( self, logger_instance): mock_thrift_backend = Mock() @@ -375,17 +375,17 @@ def test_cancel_command_will_issue_warning_for_cancel_with_no_executing_command( @patch("%s.client.ThriftBackend" % PACKAGE_NAME) def test_max_number_of_retries_passthrough(self, mock_client_class): - databricks.sql.connect(_retry_stop_after_attempts_count=54, **self.DUMMY_CONNECTION_ARGS) + databricks_sql_connector_core.sql.connect(_retry_stop_after_attempts_count=54, **self.DUMMY_CONNECTION_ARGS) self.assertEqual(mock_client_class.call_args[1]["_retry_stop_after_attempts_count"], 54) @patch("%s.client.ThriftBackend" % PACKAGE_NAME) def test_socket_timeout_passthrough(self, mock_client_class): - databricks.sql.connect(_socket_timeout=234, **self.DUMMY_CONNECTION_ARGS) + databricks_sql_connector_core.sql.connect(_socket_timeout=234, **self.DUMMY_CONNECTION_ARGS) self.assertEqual(mock_client_class.call_args[1]["_socket_timeout"], 234) def test_version_is_canonical(self): - version = databricks.sql.__version__ + version = databricks_sql_connector_core.sql.__version__ canonical_version_re = r'^([1-9][0-9]*!)?(0|[1-9][0-9]*)(\.(0|[1-9][0-9]*))*((a|b|rc)' \ r'(0|[1-9][0-9]*))?(\.post(0|[1-9][0-9]*))?(\.dev(0|[1-9][0-9]*))?$' self.assertIsNotNone(re.match(canonical_version_re, version)) @@ -393,7 +393,7 @@ def test_version_is_canonical(self): @patch("%s.client.ThriftBackend" % PACKAGE_NAME) def test_configuration_passthrough(self, mock_client_class): mock_session_config = Mock() - databricks.sql.connect( + databricks_sql_connector_core.sql.connect( session_configuration=mock_session_config, **self.DUMMY_CONNECTION_ARGS) self.assertEqual(mock_client_class.return_value.open_session.call_args[0][0], @@ -404,7 +404,7 @@ def test_initial_namespace_passthrough(self, mock_client_class): mock_cat = Mock() mock_schem = Mock() - databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS, catalog=mock_cat, schema=mock_schem) + databricks_sql_connector_core.sql.connect(**self.DUMMY_CONNECTION_ARGS, catalog=mock_cat, schema=mock_schem) self.assertEqual(mock_client_class.return_value.open_session.call_args[0][1], mock_cat) self.assertEqual(mock_client_class.return_value.open_session.call_args[0][2], mock_schem) @@ -463,7 +463,7 @@ def test_executemany_parameter_passhthrough_and_uses_last_result_set( @patch("%s.client.ThriftBackend" % PACKAGE_NAME) def test_commit_a_noop(self, mock_thrift_backend_class): - c = databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS) + c = databricks_sql_connector_core.sql.connect(**self.DUMMY_CONNECTION_ARGS) c.commit() def test_setinputsizes_a_noop(self): @@ -476,7 +476,7 @@ def test_setoutputsizes_a_noop(self): @patch("%s.client.ThriftBackend" % PACKAGE_NAME) def test_rollback_not_supported(self, mock_thrift_backend_class): - c = databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS) + c = databricks_sql_connector_core.sql.connect(**self.DUMMY_CONNECTION_ARGS) with self.assertRaises(NotSupportedError): c.rollback() @@ -562,7 +562,7 @@ def test_finalizer_closes_abandoned_connection(self, mock_client_class): mock_open_session_resp.sessionHandle.sessionId = b'\x22' instance.open_session.return_value = mock_open_session_resp - databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS) + databricks_sql_connector_core.sql.connect(**self.DUMMY_CONNECTION_ARGS) # not strictly necessary as the refcount is 0, but just to be sure gc.collect() @@ -579,7 +579,7 @@ def test_cursor_keeps_connection_alive(self, mock_client_class): mock_open_session_resp.sessionHandle.sessionId = b'\x22' instance.open_session.return_value = mock_open_session_resp - connection = databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS) + connection = databricks_sql_connector_core.sql.connect(**self.DUMMY_CONNECTION_ARGS) cursor = connection.cursor() del connection @@ -599,7 +599,7 @@ def test_staging_operation_response_is_handled(self, mock_client_class, mock_han mock_client_class.execute_command.return_value = mock_execute_response mock_client_class.return_value = mock_client_class - connection = databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS) + connection = databricks_sql_connector_core.sql.connect(**self.DUMMY_CONNECTION_ARGS) cursor = connection.cursor() cursor.execute("Text of some staging operation command;") connection.close() @@ -610,7 +610,7 @@ def test_staging_operation_response_is_handled(self, mock_client_class, mock_han def test_access_current_query_id(self): operation_id = 'EE6A8778-21FC-438B-92D8-96AC51EE3821' - connection = databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS) + connection = databricks_sql_connector_core.sql.connect(**self.DUMMY_CONNECTION_ARGS) cursor = connection.cursor() self.assertIsNone(cursor.query_id) diff --git a/tests/unit/test_cloud_fetch_queue.py b/databricks_sql_connector_core/tests/unit/test_cloud_fetch_queue.py similarity index 87% rename from tests/unit/test_cloud_fetch_queue.py rename to databricks_sql_connector_core/tests/unit/test_cloud_fetch_queue.py index 6cddff35..abc687d2 100644 --- a/tests/unit/test_cloud_fetch_queue.py +++ b/databricks_sql_connector_core/tests/unit/test_cloud_fetch_queue.py @@ -3,8 +3,8 @@ from unittest.mock import MagicMock, patch from ssl import create_default_context -from databricks.sql import TSparkArrowResultLink -import databricks.sql.utils as utils +from databricks_sql_connector_core.sql.thrift_api.TCLIService.ttypes import TSparkArrowResultLink +import databricks_sql_connector_core.sql.utils as utils class CloudFetchQueueSuite(unittest.TestCase): @@ -43,7 +43,7 @@ def get_schema_bytes(): return sink.getvalue().to_pybytes() - @patch("databricks.sql.utils.CloudFetchQueue._create_next_table", return_value=[None, None]) + @patch("databricks_sql_connector_core.sql.utils.CloudFetchQueue._create_next_table", return_value=[None, None]) def test_initializer_adds_links(self, mock_create_next_table): schema_bytes = MagicMock() result_links = self.create_result_links(10) @@ -72,7 +72,7 @@ def test_initializer_no_links_to_add(self): assert len(queue.download_manager._download_tasks) == 0 assert queue.table is None - @patch("databricks.sql.cloudfetch.download_manager.ResultFileDownloadManager.get_next_downloaded_file", return_value=None) + @patch("databricks_sql_connector_core.sql.cloudfetch.download_manager.ResultFileDownloadManager.get_next_downloaded_file", return_value=None) def test_create_next_table_no_download(self, mock_get_next_downloaded_file): queue = utils.CloudFetchQueue( MagicMock(), @@ -84,8 +84,8 @@ def test_create_next_table_no_download(self, mock_get_next_downloaded_file): assert queue._create_next_table() is None mock_get_next_downloaded_file.assert_called_with(0) - @patch("databricks.sql.utils.create_arrow_table_from_arrow_file") - @patch("databricks.sql.cloudfetch.download_manager.ResultFileDownloadManager.get_next_downloaded_file", + @patch("databricks_sql_connector_core.sql.utils.create_arrow_table_from_arrow_file") + @patch("databricks_sql_connector_core.sql.cloudfetch.download_manager.ResultFileDownloadManager.get_next_downloaded_file", return_value=MagicMock(file_bytes=b"1234567890", row_count=4)) def test_initializer_create_next_table_success(self, mock_get_next_downloaded_file, mock_create_arrow_table): mock_create_arrow_table.return_value = self.make_arrow_table() @@ -111,7 +111,7 @@ def test_initializer_create_next_table_success(self, mock_get_next_downloaded_fi assert table.num_rows == 4 assert queue.start_row_index == 8 - @patch("databricks.sql.utils.CloudFetchQueue._create_next_table") + @patch("databricks_sql_connector_core.sql.utils.CloudFetchQueue._create_next_table") def test_next_n_rows_0_rows(self, mock_create_next_table): mock_create_next_table.return_value = self.make_arrow_table() schema_bytes, description = MagicMock(), MagicMock() @@ -131,7 +131,7 @@ def test_next_n_rows_0_rows(self, mock_create_next_table): assert queue.table_row_index == 0 assert result == self.make_arrow_table()[0:0] - @patch("databricks.sql.utils.CloudFetchQueue._create_next_table") + @patch("databricks_sql_connector_core.sql.utils.CloudFetchQueue._create_next_table") def test_next_n_rows_partial_table(self, mock_create_next_table): mock_create_next_table.return_value = self.make_arrow_table() schema_bytes, description = MagicMock(), MagicMock() @@ -151,7 +151,7 @@ def test_next_n_rows_partial_table(self, mock_create_next_table): assert queue.table_row_index == 3 assert result == self.make_arrow_table()[:3] - @patch("databricks.sql.utils.CloudFetchQueue._create_next_table") + @patch("databricks_sql_connector_core.sql.utils.CloudFetchQueue._create_next_table") def test_next_n_rows_more_than_one_table(self, mock_create_next_table): mock_create_next_table.return_value = self.make_arrow_table() schema_bytes, description = MagicMock(), MagicMock() @@ -171,7 +171,7 @@ def test_next_n_rows_more_than_one_table(self, mock_create_next_table): assert queue.table_row_index == 3 assert result == pyarrow.concat_tables([self.make_arrow_table(), self.make_arrow_table()])[:7] - @patch("databricks.sql.utils.CloudFetchQueue._create_next_table") + @patch("databricks_sql_connector_core.sql.utils.CloudFetchQueue._create_next_table") def test_next_n_rows_only_one_table_returned(self, mock_create_next_table): mock_create_next_table.side_effect = [self.make_arrow_table(), None] schema_bytes, description = MagicMock(), MagicMock() @@ -190,7 +190,7 @@ def test_next_n_rows_only_one_table_returned(self, mock_create_next_table): assert result.num_rows == 4 assert result == self.make_arrow_table() - @patch("databricks.sql.utils.CloudFetchQueue._create_next_table", return_value=None) + @patch("databricks_sql_connector_core.sql.utils.CloudFetchQueue._create_next_table", return_value=None) def test_next_n_rows_empty_table(self, mock_create_next_table): schema_bytes = self.get_schema_bytes() description = MagicMock() @@ -207,7 +207,7 @@ def test_next_n_rows_empty_table(self, mock_create_next_table): mock_create_next_table.assert_called() assert result == pyarrow.ipc.open_stream(bytearray(schema_bytes)).read_all() - @patch("databricks.sql.utils.CloudFetchQueue._create_next_table") + @patch("databricks_sql_connector_core.sql.utils.CloudFetchQueue._create_next_table") def test_remaining_rows_empty_table_fully_returned(self, mock_create_next_table): mock_create_next_table.side_effect = [self.make_arrow_table(), None, 0] schema_bytes, description = MagicMock(), MagicMock() @@ -226,7 +226,7 @@ def test_remaining_rows_empty_table_fully_returned(self, mock_create_next_table) assert result.num_rows == 0 assert result == self.make_arrow_table()[0:0] - @patch("databricks.sql.utils.CloudFetchQueue._create_next_table") + @patch("databricks_sql_connector_core.sql.utils.CloudFetchQueue._create_next_table") def test_remaining_rows_partial_table_fully_returned(self, mock_create_next_table): mock_create_next_table.side_effect = [self.make_arrow_table(), None] schema_bytes, description = MagicMock(), MagicMock() @@ -245,7 +245,7 @@ def test_remaining_rows_partial_table_fully_returned(self, mock_create_next_tabl assert result.num_rows == 2 assert result == self.make_arrow_table()[2:] - @patch("databricks.sql.utils.CloudFetchQueue._create_next_table") + @patch("databricks_sql_connector_core.sql.utils.CloudFetchQueue._create_next_table") def test_remaining_rows_one_table_fully_returned(self, mock_create_next_table): mock_create_next_table.side_effect = [self.make_arrow_table(), None] schema_bytes, description = MagicMock(), MagicMock() @@ -264,7 +264,7 @@ def test_remaining_rows_one_table_fully_returned(self, mock_create_next_table): assert result.num_rows == 4 assert result == self.make_arrow_table() - @patch("databricks.sql.utils.CloudFetchQueue._create_next_table") + @patch("databricks_sql_connector_core.sql.utils.CloudFetchQueue._create_next_table") def test_remaining_rows_multiple_tables_fully_returned(self, mock_create_next_table): mock_create_next_table.side_effect = [self.make_arrow_table(), self.make_arrow_table(), None] schema_bytes, description = MagicMock(), MagicMock() @@ -284,7 +284,7 @@ def test_remaining_rows_multiple_tables_fully_returned(self, mock_create_next_ta assert result.num_rows == 5 assert result == pyarrow.concat_tables([self.make_arrow_table(), self.make_arrow_table()])[3:] - @patch("databricks.sql.utils.CloudFetchQueue._create_next_table", return_value=None) + @patch("databricks_sql_connector_core.sql.utils.CloudFetchQueue._create_next_table", return_value=None) def test_remaining_rows_empty_table(self, mock_create_next_table): schema_bytes = self.get_schema_bytes() description = MagicMock() @@ -298,4 +298,4 @@ def test_remaining_rows_empty_table(self, mock_create_next_table): assert queue.table is None result = queue.remaining_rows() - assert result == pyarrow.ipc.open_stream(bytearray(schema_bytes)).read_all() + assert result == pyarrow.ipc.open_stream(bytearray(schema_bytes)).read_all() \ No newline at end of file diff --git a/tests/unit/test_download_manager.py b/databricks_sql_connector_core/tests/unit/test_download_manager.py similarity index 92% rename from tests/unit/test_download_manager.py rename to databricks_sql_connector_core/tests/unit/test_download_manager.py index 4d5d0ea9..c44cf126 100644 --- a/tests/unit/test_download_manager.py +++ b/databricks_sql_connector_core/tests/unit/test_download_manager.py @@ -3,8 +3,8 @@ from ssl import create_default_context -import databricks.sql.cloudfetch.download_manager as download_manager -from databricks.sql import TSparkArrowResultLink +import databricks_sql_connector_core.sql.cloudfetch.download_manager as download_manager +from databricks_sql_connector_core.sql.thrift_api.TCLIService.ttypes import TSparkArrowResultLink class DownloadManagerTests(unittest.TestCase): @@ -61,4 +61,4 @@ def test_schedule_downloads(self, mock_submit): manager._schedule_downloads() assert mock_submit.call_count == max_download_threads assert len(manager._pending_links) == len(links) - max_download_threads - assert len(manager._download_tasks) == max_download_threads + assert len(manager._download_tasks) == max_download_threads \ No newline at end of file diff --git a/tests/unit/test_downloader.py b/databricks_sql_connector_core/tests/unit/test_downloader.py similarity index 97% rename from tests/unit/test_downloader.py rename to databricks_sql_connector_core/tests/unit/test_downloader.py index f2974b7c..93f834b3 100644 --- a/tests/unit/test_downloader.py +++ b/databricks_sql_connector_core/tests/unit/test_downloader.py @@ -4,8 +4,8 @@ import requests from ssl import create_default_context -import databricks.sql.cloudfetch.downloader as downloader -from databricks.sql import Error +import databricks_sql_connector_core.sql.cloudfetch.downloader as downloader +from databricks_sql_connector_core.sql.exc import Error def create_response(**kwargs) -> requests.Response: @@ -116,4 +116,4 @@ def test_download_timeout(self, mock_time, mock_session): d = downloader.ResultSetDownloadHandler(settings, result_link, ssl_context=create_default_context()) with self.assertRaises(TimeoutError): - d.run() + d.run() \ No newline at end of file diff --git a/tests/unit/test_endpoint.py b/databricks_sql_connector_core/tests/unit/test_endpoint.py similarity index 91% rename from tests/unit/test_endpoint.py rename to databricks_sql_connector_core/tests/unit/test_endpoint.py index 199318d7..68fab22c 100644 --- a/tests/unit/test_endpoint.py +++ b/databricks_sql_connector_core/tests/unit/test_endpoint.py @@ -4,8 +4,8 @@ from unittest.mock import patch -from databricks.sql import AuthType -from databricks.sql import ( +from databricks_sql_connector_core.sql.auth.auth import AuthType +from databricks_sql_connector_core.sql.auth.endpoint import ( infer_cloud_from_host, CloudType, get_oauth_endpoints, @@ -89,13 +89,13 @@ def test_oauth_endpoint(self): ] for ( - cloud_type, - host, - use_azure_auth, - expected_auth_url, - expected_config_url, - expected_scopes, - expected_scope2, + cloud_type, + host, + use_azure_auth, + expected_auth_url, + expected_config_url, + expected_scopes, + expected_scope2, ) in param_list: with self.subTest(cloud_type): endpoint = get_oauth_endpoints(host, use_azure_auth) @@ -121,4 +121,4 @@ def test_azure_oauth_scope_mappings_from_different_tenant_id(self): "052ee82f-b79d-443c-8682-3ec1749e56b0/user_impersonation", "offline_access", ], - ) + ) \ No newline at end of file diff --git a/tests/unit/test_fetches.py b/databricks_sql_connector_core/tests/unit/test_fetches.py similarity index 98% rename from tests/unit/test_fetches.py rename to databricks_sql_connector_core/tests/unit/test_fetches.py index 35e13900..81ab6868 100644 --- a/tests/unit/test_fetches.py +++ b/databricks_sql_connector_core/tests/unit/test_fetches.py @@ -3,8 +3,8 @@ import pyarrow as pa -import databricks.sql.client as client -from databricks.sql import ExecuteResponse, ArrowQueue +import databricks_sql_connector_core.sql.client as client +from databricks_sql_connector_core.sql.utils import ExecuteResponse, ArrowQueue class FetchTests(unittest.TestCase): @@ -211,4 +211,4 @@ def test_fetchone_without_initial_results(self): if __name__ == '__main__': - unittest.main() + unittest.main() \ No newline at end of file diff --git a/tests/unit/test_fetches_bench.py b/databricks_sql_connector_core/tests/unit/test_fetches_bench.py similarity index 93% rename from tests/unit/test_fetches_bench.py rename to databricks_sql_connector_core/tests/unit/test_fetches_bench.py index 2335df3f..8072df76 100644 --- a/tests/unit/test_fetches_bench.py +++ b/databricks_sql_connector_core/tests/unit/test_fetches_bench.py @@ -6,8 +6,8 @@ import time import pytest -import databricks.sql.client as client -from databricks.sql import ExecuteResponse, ArrowQueue +import databricks_sql_connector_core.sql.client as client +from databricks_sql_connector_core.sql.utils import ExecuteResponse, ArrowQueue class FetchBenchmarkTests(unittest.TestCase): @@ -60,4 +60,4 @@ def test_benchmark_fetchall(self): if __name__ == '__main__': - unittest.main() + unittest.main() \ No newline at end of file diff --git a/tests/unit/test_init_file.py b/databricks_sql_connector_core/tests/unit/test_init_file.py similarity index 100% rename from tests/unit/test_init_file.py rename to databricks_sql_connector_core/tests/unit/test_init_file.py diff --git a/tests/unit/test_oauth_persistence.py b/databricks_sql_connector_core/tests/unit/test_oauth_persistence.py similarity index 91% rename from tests/unit/test_oauth_persistence.py rename to databricks_sql_connector_core/tests/unit/test_oauth_persistence.py index 812c918a..bcfb8499 100644 --- a/tests/unit/test_oauth_persistence.py +++ b/databricks_sql_connector_core/tests/unit/test_oauth_persistence.py @@ -1,7 +1,7 @@ import unittest -from databricks.sql import DevOnlyFilePersistence, OAuthToken +from databricks_sql_connector_core.sql.experimental.oauth_persistence import DevOnlyFilePersistence, OAuthToken import tempfile import os @@ -29,4 +29,4 @@ def test_DevOnlyFilePersistence_file_does_not_exist(self): self.assertEqual(new_token, None) - # TODO moderakh add test for file with invalid format (should return None) + # TODO moderakh add test for file with invalid format (should return None) \ No newline at end of file diff --git a/tests/unit/test_param_escaper.py b/databricks_sql_connector_core/tests/unit/test_param_escaper.py similarity index 62% rename from tests/unit/test_param_escaper.py rename to databricks_sql_connector_core/tests/unit/test_param_escaper.py index 0f37bf92..817c4ea1 100644 --- a/tests/unit/test_param_escaper.py +++ b/databricks_sql_connector_core/tests/unit/test_param_escaper.py @@ -1,9 +1,9 @@ from datetime import date, datetime import unittest, pytest, decimal from typing import Any, Dict -from databricks.sql import dbsql_parameter_from_primitive +from databricks_sql_connector_core.sql.parameters.native import dbsql_parameter_from_primitive -from databricks.sql import ParamEscaper, inject_parameters, transform_paramstyle, ParameterStructure +from databricks_sql_connector_core.sql.utils import ParamEscaper, inject_parameters, transform_paramstyle, ParameterStructure pe = ParamEscaper() @@ -42,48 +42,48 @@ def test_escape_string_that_includes_special_characters(self): # Testing for the presence of these characters: '"/\😂 assert ( - pe.escape_string("his name was 'robert palmer'") - == r"'his name was \'robert palmer\''" + pe.escape_string("his name was 'robert palmer'") + == r"'his name was \'robert palmer\''" ) # These tests represent the same user input in the several ways it can be written in Python # Each argument to `escape_string` evaluates to the same bytes. But Python lets us write it differently. assert ( - pe.escape_string('his name was "robert palmer"') - == "'his name was \"robert palmer\"'" + pe.escape_string('his name was "robert palmer"') + == "'his name was \"robert palmer\"'" ) assert ( - pe.escape_string('his name was "robert palmer"') - == "'his name was \"robert palmer\"'" + pe.escape_string('his name was "robert palmer"') + == "'his name was \"robert palmer\"'" ) assert ( - pe.escape_string("his name was {}".format('"robert palmer"')) - == "'his name was \"robert palmer\"'" + pe.escape_string("his name was {}".format('"robert palmer"')) + == "'his name was \"robert palmer\"'" ) assert ( - pe.escape_string("his name was robert / palmer") - == r"'his name was robert / palmer'" + pe.escape_string("his name was robert / palmer") + == r"'his name was robert / palmer'" ) # If you need to include a single backslash, use an r-string to prevent Python from raising a # DeprecationWarning for an invalid escape sequence assert ( - pe.escape_string("his name was robert \\/ palmer") - == r"'his name was robert \\/ palmer'" + pe.escape_string("his name was robert \\/ palmer") + == r"'his name was robert \\/ palmer'" ) assert ( - pe.escape_string("his name was robert \\ palmer") - == r"'his name was robert \\ palmer'" + pe.escape_string("his name was robert \\ palmer") + == r"'his name was robert \\ palmer'" ) assert ( - pe.escape_string("his name was robert \\\\ palmer") - == r"'his name was robert \\\\ palmer'" + pe.escape_string("his name was robert \\\\ palmer") + == r"'his name was robert \\\\ palmer'" ) assert ( - pe.escape_string("his name was robert palmer 😂") - == r"'his name was robert palmer 😂'" + pe.escape_string("his name was robert palmer 😂") + == r"'his name was robert palmer 😂'" ) # Adding the test from PR #56 to prove escape behaviour @@ -122,8 +122,8 @@ def test_escape_sequence_float(self): def test_escape_sequence_string(self): assert ( - pe.escape_sequence(["his", "name", "was", "robert", "palmer"]) - == "('his','name','was','robert','palmer')" + pe.escape_sequence(["his", "name", "was", "robert", "palmer"]) + == "('his','name','was','robert','palmer')" ) def test_escape_sequence_sequence_of_strings(self): @@ -182,44 +182,44 @@ class TestInlineToNativeTransformer(object): @pytest.mark.parametrize( ("label", "query", "params", "expected"), ( - ("no effect", "SELECT 1", {}, "SELECT 1"), - ("one marker", "%(param)s", {"param": ""}, ":param"), - ( - "multiple markers", - "%(foo)s %(bar)s %(baz)s", - {"foo": None, "bar": None, "baz": None}, - ":foo :bar :baz", - ), - ( - "sql query", - "SELECT * FROM table WHERE field = %(param)s AND other_field IN (%(list)s)", - {"param": None, "list": None}, - "SELECT * FROM table WHERE field = :param AND other_field IN (:list)", - ), - ( - "query with like wildcard", - 'select * from table where field like "%"', - {}, - 'select * from table where field like "%"' - ), - ( - "query with named param and like wildcard", - 'select :param from table where field like "%"', - {"param": None}, - 'select :param from table where field like "%"' - ), - ( - "query with doubled wildcards", - 'select 1 where '' like "%%"', - {"param": None}, - 'select 1 where '' like "%%"', - ) + ("no effect", "SELECT 1", {}, "SELECT 1"), + ("one marker", "%(param)s", {"param": ""}, ":param"), + ( + "multiple markers", + "%(foo)s %(bar)s %(baz)s", + {"foo": None, "bar": None, "baz": None}, + ":foo :bar :baz", + ), + ( + "sql query", + "SELECT * FROM table WHERE field = %(param)s AND other_field IN (%(list)s)", + {"param": None, "list": None}, + "SELECT * FROM table WHERE field = :param AND other_field IN (:list)", + ), + ( + "query with like wildcard", + 'select * from table where field like "%"', + {}, + 'select * from table where field like "%"' + ), + ( + "query with named param and like wildcard", + 'select :param from table where field like "%"', + {"param": None}, + 'select :param from table where field like "%"' + ), + ( + "query with doubled wildcards", + 'select 1 where '' like "%%"', + {"param": None}, + 'select 1 where '' like "%%"', + ) ), ) def test_transformer( - self, label: str, query: str, params: Dict[str, Any], expected: str + self, label: str, query: str, params: Dict[str, Any], expected: str ): _params = [dbsql_parameter_from_primitive(value=value, name=name) for name, value in params.items()] output = transform_paramstyle(query, _params, param_structure=ParameterStructure.NAMED) - assert output == expected + assert output == expected \ No newline at end of file diff --git a/databricks_sql_connector_core/tests/unit/test_parameters.py b/databricks_sql_connector_core/tests/unit/test_parameters.py new file mode 100644 index 00000000..6b108695 --- /dev/null +++ b/databricks_sql_connector_core/tests/unit/test_parameters.py @@ -0,0 +1,204 @@ +import datetime +from decimal import Decimal +from enum import Enum +from typing import Type + +import pytest +import pytz + +from databricks_sql_connector_core.sql.client import Connection +from databricks_sql_connector_core.sql.parameters import ( + BigIntegerParameter, + BooleanParameter, + DateParameter, + DecimalParameter, + DoubleParameter, + FloatParameter, + IntegerParameter, + SmallIntParameter, + StringParameter, + TimestampNTZParameter, + TimestampParameter, + TinyIntParameter, + VoidParameter, +) +from databricks_sql_connector_core.sql.parameters.native import ( + TDbsqlParameter, + TSparkParameterValue, + dbsql_parameter_from_primitive, +) +from databricks_sql_connector_core.sql.thrift_api.TCLIService import ttypes +from databricks_sql_connector_core.sql.thrift_api.TCLIService.ttypes import ( + TOpenSessionResp, + TSessionHandle, + TSparkParameterValue, +) + + +class TestSessionHandleChecks(object): + @pytest.mark.parametrize( + "test_input,expected", + [ + ( + TOpenSessionResp( + serverProtocolVersion=ttypes.TProtocolVersion.SPARK_CLI_SERVICE_PROTOCOL_V7, + sessionHandle=TSessionHandle(1, None), + ), + ttypes.TProtocolVersion.SPARK_CLI_SERVICE_PROTOCOL_V7, + ), + # Ensure that protocol version inside sessionhandle takes precedence. + ( + TOpenSessionResp( + serverProtocolVersion=ttypes.TProtocolVersion.SPARK_CLI_SERVICE_PROTOCOL_V7, + sessionHandle=TSessionHandle( + 1, ttypes.TProtocolVersion.SPARK_CLI_SERVICE_PROTOCOL_V8 + ), + ), + ttypes.TProtocolVersion.SPARK_CLI_SERVICE_PROTOCOL_V8, + ), + ], + ) + def test_get_protocol_version_fallback_behavior(self, test_input, expected): + assert Connection.get_protocol_version(test_input) == expected + + @pytest.mark.parametrize( + "test_input,expected", + [ + ( + None, + False, + ), + ( + ttypes.TProtocolVersion.SPARK_CLI_SERVICE_PROTOCOL_V7, + False, + ), + ( + ttypes.TProtocolVersion.SPARK_CLI_SERVICE_PROTOCOL_V8, + True, + ), + ], + ) + def test_parameters_enabled(self, test_input, expected): + assert Connection.server_parameterized_queries_enabled(test_input) == expected + + +@pytest.mark.parametrize( + "value,expected", + ( + (Decimal("10.00"), "DECIMAL(4,2)"), + (Decimal("123456789123456789.123456789123456789"), "DECIMAL(36,18)"), + (Decimal(".12345678912345678912345678912345678912"), "DECIMAL(38,38)"), + (Decimal("123456789.123456789"), "DECIMAL(18,9)"), + (Decimal("12345678912345678912345678912345678912"), "DECIMAL(38,0)"), + (Decimal("1234.56"), "DECIMAL(6,2)"), + ), +) +def test_calculate_decimal_cast_string(value, expected): + p = DecimalParameter(value) + assert p._cast_expr() == expected + + +class Primitive(Enum): + """These are the inferrable types. This Enum is used for parametrized tests.""" + + NONE = None + BOOL = True + INT = 50 + BIGINT = 2147483648 + STRING = "Hello" + DECIMAL = Decimal("1234.56") + DATE = datetime.date(2023, 9, 6) + TIMESTAMP = datetime.datetime(2023, 9, 6, 3, 14, 27, 843, tzinfo=pytz.UTC) + DOUBLE = 3.14 + FLOAT = 3.15 + SMALLINT = 51 + + +class TestDbsqlParameter: + @pytest.mark.parametrize( + "_type, prim, expect_cast_expr", + ( + (DecimalParameter, Primitive.DECIMAL, "DECIMAL(6,2)"), + (IntegerParameter, Primitive.INT, "INT"), + (StringParameter, Primitive.STRING, "STRING"), + (BigIntegerParameter, Primitive.BIGINT, "BIGINT"), + (BooleanParameter, Primitive.BOOL, "BOOLEAN"), + (DateParameter, Primitive.DATE, "DATE"), + (DoubleParameter, Primitive.DOUBLE, "DOUBLE"), + (FloatParameter, Primitive.FLOAT, "FLOAT"), + (VoidParameter, Primitive.NONE, "VOID"), + (SmallIntParameter, Primitive.INT, "SMALLINT"), + (TimestampParameter, Primitive.TIMESTAMP, "TIMESTAMP"), + (TimestampNTZParameter, Primitive.TIMESTAMP, "TIMESTAMP_NTZ"), + (TinyIntParameter, Primitive.INT, "TINYINT"), + ), + ) + def test_cast_expression( + self, _type: TDbsqlParameter, prim: Primitive, expect_cast_expr: str + ): + p = _type(prim.value) + assert p._cast_expr() == expect_cast_expr + + @pytest.mark.parametrize( + "t, prim", + ( + (DecimalParameter, Primitive.DECIMAL), + (IntegerParameter, Primitive.INT), + (StringParameter, Primitive.STRING), + (BigIntegerParameter, Primitive.BIGINT), + (BooleanParameter, Primitive.BOOL), + (DateParameter, Primitive.DATE), + (DoubleParameter, Primitive.DOUBLE), + (FloatParameter, Primitive.FLOAT), + (VoidParameter, Primitive.NONE), + (SmallIntParameter, Primitive.INT), + (TimestampParameter, Primitive.TIMESTAMP), + (TimestampNTZParameter, Primitive.TIMESTAMP), + (TinyIntParameter, Primitive.INT), + ), + ) + def test_tspark_param_value(self, t: TDbsqlParameter, prim): + p: TDbsqlParameter = t(prim.value) + output = p._tspark_param_value() + + if prim == Primitive.NONE: + assert output == None + else: + assert output == TSparkParameterValue(stringValue=str(prim.value)) + + def test_tspark_param_named(self): + p = dbsql_parameter_from_primitive(Primitive.INT.value, name="p") + tsp = p.as_tspark_param(named=True) + + assert tsp.name == "p" + assert tsp.ordinal is False + + def test_tspark_param_ordinal(self): + p = dbsql_parameter_from_primitive(Primitive.INT.value, name="p") + tsp = p.as_tspark_param(named=False) + + assert tsp.name is None + assert tsp.ordinal is True + + @pytest.mark.parametrize( + "_type, prim", + ( + (DecimalParameter, Primitive.DECIMAL), + (IntegerParameter, Primitive.INT), + (StringParameter, Primitive.STRING), + (BigIntegerParameter, Primitive.BIGINT), + (BooleanParameter, Primitive.BOOL), + (DateParameter, Primitive.DATE), + (FloatParameter, Primitive.FLOAT), + (VoidParameter, Primitive.NONE), + (TimestampParameter, Primitive.TIMESTAMP), + ), + ) + def test_inference(self, _type: TDbsqlParameter, prim: Primitive): + """This method only tests inferrable types. + + Not tested are TinyIntParameter, SmallIntParameter DoubleParameter and TimestampNTZParameter + """ + + inferred_type = dbsql_parameter_from_primitive(prim.value) + assert isinstance(inferred_type, _type) \ No newline at end of file diff --git a/tests/unit/test_retry.py b/databricks_sql_connector_core/tests/unit/test_retry.py similarity index 93% rename from tests/unit/test_retry.py rename to databricks_sql_connector_core/tests/unit/test_retry.py index 7cbc957a..b80c2270 100644 --- a/tests/unit/test_retry.py +++ b/databricks_sql_connector_core/tests/unit/test_retry.py @@ -4,7 +4,7 @@ import pytest from requests import Request from urllib3 import HTTPResponse -from databricks.sql import DatabricksRetryPolicy, RequestHistory +from databricks_sql_connector_core.sql.auth.retry import DatabricksRetryPolicy, RequestHistory class TestRetry: @@ -52,4 +52,4 @@ def test_sleep__retry_after_surpassed(self, t_mock, retry_policy, error_history) retry_policy._retry_start_time = time.time() retry_policy.history = [error_history, error_history, error_history] retry_policy.sleep(HTTPResponse(status=503, headers={"Retry-After": "3"})) - t_mock.assert_called_with(4) + t_mock.assert_called_with(4) \ No newline at end of file diff --git a/tests/unit/test_thrift_backend.py b/databricks_sql_connector_core/tests/unit/test_thrift_backend.py similarity index 90% rename from tests/unit/test_thrift_backend.py rename to databricks_sql_connector_core/tests/unit/test_thrift_backend.py index 3c2b0953..aa72c4ad 100644 --- a/tests/unit/test_thrift_backend.py +++ b/databricks_sql_connector_core/tests/unit/test_thrift_backend.py @@ -7,12 +7,12 @@ import pyarrow -import databricks.sql -from databricks.sql import utils -from databricks.sql import ttypes -from databricks.sql import * -from databricks.sql import AuthProvider -from databricks.sql import ThriftBackend +import databricks_sql_connector_core.sql +from databricks_sql_connector_core.sql import utils +from databricks_sql_connector_core.sql.thrift_api.TCLIService import ttypes +from databricks_sql_connector_core.sql import * +from databricks_sql_connector_core.sql.auth.authenticators import AuthProvider +from databricks_sql_connector_core.sql.thrift_backend import ThriftBackend def retry_policy_factory(): @@ -108,7 +108,7 @@ def test_hive_schema_to_arrow_schema_preserves_column_names(self): self.assertEqual(arrow_schema.field(2).name, "column 2") self.assertEqual(arrow_schema.field(3).name, "") - @patch("databricks.sql.thrift_backend.TCLIService.Client", autospec=True) + @patch("databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", autospec=True) def test_bad_protocol_versions_are_rejected(self, tcli_service_client_cass): t_http_client_instance = tcli_service_client_cass.return_value bad_protocol_versions = [ @@ -136,7 +136,7 @@ def test_bad_protocol_versions_are_rejected(self, tcli_service_client_cass): self.assertIn("expected server to use a protocol version", str(cm.exception)) - @patch("databricks.sql.thrift_backend.TCLIService.Client", autospec=True) + @patch("databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", autospec=True) def test_okay_protocol_versions_succeed(self, tcli_service_client_cass): t_http_client_instance = tcli_service_client_cass.return_value good_protocol_versions = [ @@ -153,14 +153,14 @@ def test_okay_protocol_versions_succeed(self, tcli_service_client_cass): thrift_backend = self._make_fake_thrift_backend() thrift_backend.open_session({}, None, None) - @patch("databricks.sql.auth.thrift_http_client.THttpClient") + @patch("databricks_sql_connector_core.sql.auth.thrift_http_client.THttpClient") def test_headers_are_set(self, t_http_client_class): ThriftBackend("foo", 123, "bar", [("header", "value")], auth_provider=AuthProvider()) t_http_client_class.return_value.setCustomHeaders.assert_called_with({"header": "value"}) def test_proxy_headers_are_set(self): - from databricks.sql import THttpClient + from databricks_sql_connector_core.sql.auth.thrift_http_client import THttpClient from urllib.parse import urlparse fake_proxy_spec = "https://someuser:somepassword@8.8.8.8:12340" @@ -174,8 +174,8 @@ def test_proxy_headers_are_set(self): assert isinstance(result, type(dict())) assert isinstance(result.get('proxy-authorization'), type(str())) - @patch("databricks.sql.auth.thrift_http_client.THttpClient") - @patch("databricks.sql.thrift_backend.create_default_context") + @patch("databricks_sql_connector_core.sql.auth.thrift_http_client.THttpClient") + @patch("databricks_sql_connector_core.sql.thrift_backend.create_default_context") def test_tls_cert_args_are_propagated(self, mock_create_default_context, t_http_client_class): mock_cert_key_file = Mock() mock_cert_key_password = Mock() @@ -203,8 +203,8 @@ def test_tls_cert_args_are_propagated(self, mock_create_default_context, t_http_ self.assertEqual(mock_ssl_context.verify_mode, CERT_REQUIRED) self.assertEqual(t_http_client_class.call_args[1]["ssl_context"], mock_ssl_context) - @patch("databricks.sql.auth.thrift_http_client.THttpClient") - @patch("databricks.sql.thrift_backend.create_default_context") + @patch("databricks_sql_connector_core.sql.auth.thrift_http_client.THttpClient") + @patch("databricks_sql_connector_core.sql.thrift_backend.create_default_context") def test_tls_no_verify_is_respected(self, mock_create_default_context, t_http_client_class): ThriftBackend("foo", 123, "bar", [], auth_provider=AuthProvider(), _tls_no_verify=True) @@ -213,10 +213,10 @@ def test_tls_no_verify_is_respected(self, mock_create_default_context, t_http_cl self.assertEqual(mock_ssl_context.verify_mode, CERT_NONE) self.assertEqual(t_http_client_class.call_args[1]["ssl_context"], mock_ssl_context) - @patch("databricks.sql.auth.thrift_http_client.THttpClient") - @patch("databricks.sql.thrift_backend.create_default_context") + @patch("databricks_sql_connector_core.sql.auth.thrift_http_client.THttpClient") + @patch("databricks_sql_connector_core.sql.thrift_backend.create_default_context") def test_tls_verify_hostname_is_respected( - self, mock_create_default_context, t_http_client_class + self, mock_create_default_context, t_http_client_class ): ThriftBackend( "foo", 123, "bar", [], auth_provider=AuthProvider(), _tls_verify_hostname=False @@ -227,28 +227,28 @@ def test_tls_verify_hostname_is_respected( self.assertEqual(mock_ssl_context.verify_mode, CERT_REQUIRED) self.assertEqual(t_http_client_class.call_args[1]["ssl_context"], mock_ssl_context) - @patch("databricks.sql.auth.thrift_http_client.THttpClient") + @patch("databricks_sql_connector_core.sql.auth.thrift_http_client.THttpClient") def test_port_and_host_are_respected(self, t_http_client_class): ThriftBackend("hostname", 123, "path_value", [], auth_provider=AuthProvider()) self.assertEqual( t_http_client_class.call_args[1]["uri_or_host"], "https://hostname:123/path_value" ) - @patch("databricks.sql.auth.thrift_http_client.THttpClient") + @patch("databricks_sql_connector_core.sql.auth.thrift_http_client.THttpClient") def test_host_with_https_does_not_duplicate(self, t_http_client_class): ThriftBackend("https://hostname", 123, "path_value", [], auth_provider=AuthProvider()) self.assertEqual( t_http_client_class.call_args[1]["uri_or_host"], "https://hostname:123/path_value" ) - @patch("databricks.sql.auth.thrift_http_client.THttpClient") + @patch("databricks_sql_connector_core.sql.auth.thrift_http_client.THttpClient") def test_host_with_trailing_backslash_does_not_duplicate(self, t_http_client_class): ThriftBackend("https://hostname/", 123, "path_value", [], auth_provider=AuthProvider()) self.assertEqual( t_http_client_class.call_args[1]["uri_or_host"], "https://hostname:123/path_value" ) - @patch("databricks.sql.auth.thrift_http_client.THttpClient") + @patch("databricks_sql_connector_core.sql.auth.thrift_http_client.THttpClient") def test_socket_timeout_is_propagated(self, t_http_client_class): ThriftBackend( "hostname", 123, "path_value", [], auth_provider=AuthProvider(), _socket_timeout=129 @@ -395,7 +395,7 @@ def test_handle_execute_response_checks_operation_state_in_direct_results(self): thrift_backend._handle_execute_response(t_execute_resp, Mock()) self.assertIn("some information about the error", str(cm.exception)) - @patch("databricks.sql.utils.ResultSetQueueFactory.build_queue", return_value=Mock()) + @patch("databricks_sql_connector_core.sql.utils.ResultSetQueueFactory.build_queue", return_value=Mock()) def test_handle_execute_response_sets_compression_in_direct_results(self, build_queue): for resp_type in self.execute_response_types: lz4Compressed = Mock() @@ -422,7 +422,7 @@ def test_handle_execute_response_sets_compression_in_direct_results(self, build_ execute_response = thrift_backend._handle_execute_response(t_execute_resp, Mock()) self.assertEqual(execute_response.lz4_compressed, lz4Compressed) - @patch("databricks.sql.thrift_backend.TCLIService.Client", autospec=True) + @patch("databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", autospec=True) def test_handle_execute_response_checks_operation_state_in_polls(self, tcli_service_class): tcli_service_instance = tcli_service_class.return_value @@ -437,7 +437,7 @@ def test_handle_execute_response_checks_operation_state_in_polls(self, tcli_serv ) for op_state_resp, exec_resp_type in itertools.product( - [error_resp, closed_resp], self.execute_response_types + [error_resp, closed_resp], self.execute_response_types ): with self.subTest(op_state_resp=op_state_resp, exec_resp_type=exec_resp_type): tcli_service_instance = tcli_service_class.return_value @@ -457,7 +457,7 @@ def test_handle_execute_response_checks_operation_state_in_polls(self, tcli_serv if op_state_resp.errorMessage: self.assertIn(op_state_resp.errorMessage, str(cm.exception)) - @patch("databricks.sql.thrift_backend.TCLIService.Client", autospec=True) + @patch("databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", autospec=True) def test_get_status_uses_display_message_if_available(self, tcli_service_class): tcli_service_instance = tcli_service_class.return_value @@ -484,7 +484,7 @@ def test_get_status_uses_display_message_if_available(self, tcli_service_class): self.assertEqual(display_message, str(cm.exception)) self.assertIn(diagnostic_info, str(cm.exception.message_with_context())) - @patch("databricks.sql.thrift_backend.TCLIService.Client", autospec=True) + @patch("databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", autospec=True) def test_direct_results_uses_display_message_if_available(self, tcli_service_class): tcli_service_instance = tcli_service_class.return_value @@ -569,7 +569,7 @@ def test_handle_execute_response_checks_direct_results_for_error_statuses(self): thrift_backend._handle_execute_response(error_resp, Mock()) self.assertIn("this is a bad error", str(cm.exception)) - @patch("databricks.sql.thrift_backend.TCLIService.Client", autospec=True) + @patch("databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", autospec=True) def test_handle_execute_response_can_handle_without_direct_results(self, tcli_service_class): tcli_service_instance = tcli_service_class.return_value @@ -645,7 +645,7 @@ def test_handle_execute_response_can_handle_with_direct_results(self): ttypes.TOperationState.FINISHED_STATE, ) - @patch("databricks.sql.thrift_backend.TCLIService.Client", autospec=True) + @patch("databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", autospec=True) def test_use_arrow_schema_if_available(self, tcli_service_class): tcli_service_instance = tcli_service_class.return_value arrow_schema_mock = MagicMock(name="Arrow schema mock") @@ -670,7 +670,7 @@ def test_use_arrow_schema_if_available(self, tcli_service_class): self.assertEqual(execute_response.arrow_schema_bytes, arrow_schema_mock) - @patch("databricks.sql.thrift_backend.TCLIService.Client", autospec=True) + @patch("databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", autospec=True) def test_fall_back_to_hive_schema_if_no_arrow_schema(self, tcli_service_class): tcli_service_instance = tcli_service_class.return_value hive_schema_mock = MagicMock(name="Hive schema mock") @@ -696,13 +696,13 @@ def test_fall_back_to_hive_schema_if_no_arrow_schema(self, tcli_service_class): hive_schema_mock, thrift_backend._hive_schema_to_arrow_schema.call_args[0][0] ) - @patch("databricks.sql.utils.ResultSetQueueFactory.build_queue", return_value=Mock()) - @patch("databricks.sql.thrift_backend.TCLIService.Client", autospec=True) + @patch("databricks_sql_connector_core.sql.utils.ResultSetQueueFactory.build_queue", return_value=Mock()) + @patch("databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", autospec=True) def test_handle_execute_response_reads_has_more_rows_in_direct_results( - self, tcli_service_class, build_queue + self, tcli_service_class, build_queue ): for has_more_rows, resp_type in itertools.product( - [True, False], self.execute_response_types + [True, False], self.execute_response_types ): with self.subTest(has_more_rows=has_more_rows, resp_type=resp_type): tcli_service_instance = tcli_service_class.return_value @@ -734,13 +734,13 @@ def test_handle_execute_response_reads_has_more_rows_in_direct_results( self.assertEqual(has_more_rows, execute_response.has_more_rows) - @patch("databricks.sql.utils.ResultSetQueueFactory.build_queue", return_value=Mock()) - @patch("databricks.sql.thrift_backend.TCLIService.Client", autospec=True) + @patch("databricks_sql_connector_core.sql.utils.ResultSetQueueFactory.build_queue", return_value=Mock()) + @patch("databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", autospec=True) def test_handle_execute_response_reads_has_more_rows_in_result_response( - self, tcli_service_class, build_queue + self, tcli_service_class, build_queue ): for has_more_rows, resp_type in itertools.product( - [True, False], self.execute_response_types + [True, False], self.execute_response_types ): with self.subTest(has_more_rows=has_more_rows, resp_type=resp_type): tcli_service_instance = tcli_service_class.return_value @@ -786,7 +786,7 @@ def test_handle_execute_response_reads_has_more_rows_in_result_response( self.assertEqual(has_more_rows, has_more_rows_resp) - @patch("databricks.sql.thrift_backend.TCLIService.Client", autospec=True) + @patch("databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", autospec=True) def test_arrow_batches_row_count_are_respected(self, tcli_service_class): # make some semi-real arrow batches and check the number of rows is correct in the queue tcli_service_instance = tcli_service_class.return_value @@ -831,7 +831,7 @@ def test_arrow_batches_row_count_are_respected(self, tcli_service_class): self.assertEqual(arrow_queue.n_valid_rows, 15 * 10) - @patch("databricks.sql.thrift_backend.TCLIService.Client", autospec=True) + @patch("databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", autospec=True) def test_execute_statement_calls_client_and_handle_execute_response(self, tcli_service_class): tcli_service_instance = tcli_service_class.return_value response = Mock() @@ -849,7 +849,7 @@ def test_execute_statement_calls_client_and_handle_execute_response(self, tcli_s # Check response handling thrift_backend._handle_execute_response.assert_called_with(response, cursor_mock) - @patch("databricks.sql.thrift_backend.TCLIService.Client", autospec=True) + @patch("databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", autospec=True) def test_get_catalogs_calls_client_and_handle_execute_response(self, tcli_service_class): tcli_service_instance = tcli_service_class.return_value response = Mock() @@ -866,7 +866,7 @@ def test_get_catalogs_calls_client_and_handle_execute_response(self, tcli_servic # Check response handling thrift_backend._handle_execute_response.assert_called_with(response, cursor_mock) - @patch("databricks.sql.thrift_backend.TCLIService.Client", autospec=True) + @patch("databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", autospec=True) def test_get_schemas_calls_client_and_handle_execute_response(self, tcli_service_class): tcli_service_instance = tcli_service_class.return_value response = Mock() @@ -892,7 +892,7 @@ def test_get_schemas_calls_client_and_handle_execute_response(self, tcli_service # Check response handling thrift_backend._handle_execute_response.assert_called_with(response, cursor_mock) - @patch("databricks.sql.thrift_backend.TCLIService.Client", autospec=True) + @patch("databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", autospec=True) def test_get_tables_calls_client_and_handle_execute_response(self, tcli_service_class): tcli_service_instance = tcli_service_class.return_value response = Mock() @@ -922,7 +922,7 @@ def test_get_tables_calls_client_and_handle_execute_response(self, tcli_service_ # Check response handling thrift_backend._handle_execute_response.assert_called_with(response, cursor_mock) - @patch("databricks.sql.thrift_backend.TCLIService.Client", autospec=True) + @patch("databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", autospec=True) def test_get_columns_calls_client_and_handle_execute_response(self, tcli_service_class): tcli_service_instance = tcli_service_class.return_value response = Mock() @@ -952,7 +952,7 @@ def test_get_columns_calls_client_and_handle_execute_response(self, tcli_service # Check response handling thrift_backend._handle_execute_response.assert_called_with(response, cursor_mock) - @patch("databricks.sql.thrift_backend.TCLIService.Client", autospec=True) + @patch("databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", autospec=True) def test_open_session_user_provided_session_id_optional(self, tcli_service_class): tcli_service_instance = tcli_service_class.return_value tcli_service_instance.OpenSession.return_value = self.open_session_resp @@ -961,7 +961,7 @@ def test_open_session_user_provided_session_id_optional(self, tcli_service_class thrift_backend.open_session({}, None, None) self.assertEqual(len(tcli_service_instance.OpenSession.call_args_list), 1) - @patch("databricks.sql.thrift_backend.TCLIService.Client", autospec=True) + @patch("databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", autospec=True) def test_op_handle_respected_in_close_command(self, tcli_service_class): tcli_service_instance = tcli_service_class.return_value thrift_backend = ThriftBackend("foobar", 443, "path", [], auth_provider=AuthProvider()) @@ -971,7 +971,7 @@ def test_op_handle_respected_in_close_command(self, tcli_service_class): self.operation_handle, ) - @patch("databricks.sql.thrift_backend.TCLIService.Client", autospec=True) + @patch("databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", autospec=True) def test_session_handle_respected_in_close_session(self, tcli_service_class): tcli_service_instance = tcli_service_class.return_value thrift_backend = ThriftBackend("foobar", 443, "path", [], auth_provider=AuthProvider()) @@ -980,7 +980,7 @@ def test_session_handle_respected_in_close_session(self, tcli_service_class): tcli_service_instance.CloseSession.call_args[0][0].sessionHandle, self.session_handle ) - @patch("databricks.sql.thrift_backend.TCLIService.Client", autospec=True) + @patch("databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", autospec=True) def test_non_arrow_non_column_based_set_triggers_exception(self, tcli_service_class): tcli_service_instance = tcli_service_class.return_value results_mock = Mock() @@ -1016,10 +1016,10 @@ def test_create_arrow_table_raises_error_for_unsupported_type(self): with self.assertRaises(OperationalError): thrift_backend._create_arrow_table(t_row_set, Mock(), None, Mock()) - @patch("databricks.sql.thrift_backend.convert_arrow_based_set_to_arrow_table") - @patch("databricks.sql.thrift_backend.convert_column_based_set_to_arrow_table") + @patch("databricks_sql_connector_core.sql.thrift_backend.convert_arrow_based_set_to_arrow_table") + @patch("databricks_sql_connector_core.sql.thrift_backend.convert_column_based_set_to_arrow_table") def test_create_arrow_table_calls_correct_conversion_method( - self, convert_col_mock, convert_arrow_mock + self, convert_col_mock, convert_arrow_mock ): thrift_backend = ThriftBackend("foobar", 443, "path", [], auth_provider=AuthProvider()) convert_arrow_mock.return_value = (MagicMock(), Mock()) @@ -1164,7 +1164,7 @@ def test_convert_column_based_set_to_arrow_table_uses_types_from_col_set(self): self.assertEqual(arrow_table.column(2).to_pylist(), [1.15, 2.2, 3.3]) self.assertEqual(arrow_table.column(3).to_pylist(), [b"\x11", b"\x22", b"\x33"]) - @patch("databricks.sql.thrift_backend.TCLIService.Client", autospec=True) + @patch("databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", autospec=True) def test_cancel_command_uses_active_op_handle(self, tcli_service_class): tcli_service_instance = tcli_service_class.return_value @@ -1189,17 +1189,17 @@ def test_handle_execute_response_sets_active_op_handle(self): self.assertEqual(mock_resp.operationHandle, mock_cursor.active_op_handle) - @patch("databricks.sql.auth.thrift_http_client.THttpClient") - @patch("databricks.sql.thrift_api.TCLIService.TCLIService.Client.GetOperationStatus") - @patch("databricks.sql.thrift_backend._retry_policy", new_callable=retry_policy_factory) + @patch("databricks_sql_connector_core.sql.auth.thrift_http_client.THttpClient") + @patch("databricks_sql_connector_core.sql.thrift_api.TCLIService.TCLIService.Client.GetOperationStatus") + @patch("databricks_sql_connector_core.sql.thrift_backend._retry_policy", new_callable=retry_policy_factory) def test_make_request_will_retry_GetOperationStatus( - self, mock_retry_policy, mock_GetOperationStatus, t_transport_class + self, mock_retry_policy, mock_GetOperationStatus, t_transport_class ): import thrift, errno - from databricks.sql import Client - from databricks.sql import RequestError - from databricks.sql import NoRetryReason + from databricks_sql_connector_core.sql.thrift_api.TCLIService.TCLIService import Client + from databricks_sql_connector_core.sql.exc import RequestError + from databricks_sql_connector_core.sql.utils import NoRetryReason this_gos_name = "GetOperationStatus" mock_GetOperationStatus.__name__ = this_gos_name @@ -1236,7 +1236,7 @@ def test_make_request_will_retry_GetOperationStatus( # Unusual OSError code mock_GetOperationStatus.side_effect = OSError(errno.EEXIST, "File does not exist") - with self.assertLogs("databricks.sql.thrift_backend", level=logging.WARNING) as cm: + with self.assertLogs("databricks_sql_connector_core.sql.thrift_backend", level=logging.WARNING) as cm: with self.assertRaises(RequestError): thrift_backend.make_request(client.GetOperationStatus, req) @@ -1252,10 +1252,10 @@ def test_make_request_will_retry_GetOperationStatus( cm.output[0], ) - @patch("databricks.sql.thrift_api.TCLIService.TCLIService.Client.GetOperationStatus") - @patch("databricks.sql.thrift_backend._retry_policy", new_callable=retry_policy_factory) + @patch("databricks_sql_connector_core.sql.thrift_api.TCLIService.TCLIService.Client.GetOperationStatus") + @patch("databricks_sql_connector_core.sql.thrift_backend._retry_policy", new_callable=retry_policy_factory) def test_make_request_will_retry_GetOperationStatus_for_http_error( - self, mock_retry_policy, mock_gos + self, mock_retry_policy, mock_gos ): import urllib3.exceptions @@ -1263,10 +1263,10 @@ def test_make_request_will_retry_GetOperationStatus_for_http_error( mock_gos.side_effect = urllib3.exceptions.HTTPError("Read timed out") import thrift, errno - from databricks.sql import Client - from databricks.sql import RequestError - from databricks.sql import NoRetryReason - from databricks.sql import THttpClient + from databricks_sql_connector_core.sql.thrift_api.TCLIService.TCLIService import Client + from databricks_sql_connector_core.sql.exc import RequestError + from databricks_sql_connector_core.sql.utils import NoRetryReason + from databricks_sql_connector_core.sql.auth.thrift_http_client import THttpClient this_gos_name = "GetOperationStatus" mock_gos.__name__ = this_gos_name @@ -1315,10 +1315,10 @@ def test_make_request_wont_retry_if_error_code_not_429_or_503(self, t_transport_ self.assertIn("This method fails", str(cm.exception.message_with_context())) - @patch("databricks.sql.auth.thrift_http_client.THttpClient") - @patch("databricks.sql.thrift_backend._retry_policy", new_callable=retry_policy_factory) + @patch("databricks_sql_connector_core.sql.auth.thrift_http_client.THttpClient") + @patch("databricks_sql_connector_core.sql.thrift_backend._retry_policy", new_callable=retry_policy_factory) def test_make_request_will_retry_stop_after_attempts_count_if_retryable( - self, mock_retry_policy, t_transport_class + self, mock_retry_policy, t_transport_class ): t_transport_instance = t_transport_class.return_value t_transport_instance.code = 429 @@ -1346,7 +1346,7 @@ def test_make_request_will_retry_stop_after_attempts_count_if_retryable( self.assertEqual(mock_method.call_count, 14) - @patch("databricks.sql.auth.thrift_http_client.THttpClient") + @patch("databricks_sql_connector_core.sql.auth.thrift_http_client.THttpClient") def test_make_request_will_read_error_message_headers_if_set(self, t_transport_class): t_transport_instance = t_transport_class.return_value mock_method = Mock() @@ -1383,7 +1383,7 @@ def test_make_request_will_read_error_message_headers_if_set(self, t_transport_c @staticmethod def make_table_and_desc( - height, n_decimal_cols, width, precision, scale, int_constant, decimal_constant + height, n_decimal_cols, width, precision, scale, int_constant, decimal_constant ): int_col = [int_constant for _ in range(height)] decimal_col = [decimal_constant for _ in range(height)] @@ -1462,7 +1462,7 @@ def test_retry_args_passthrough(self, mock_http_client): @patch("thrift.transport.THttpClient.THttpClient") def test_retry_args_bounding(self, mock_http_client): retry_delay_test_args_and_expected_values = {} - for k, (_, _, min, max) in databricks.sql.thrift_backend._retry_policy.items(): + for k, (_, _, min, max) in databricks_sql_connector_core.sql.thrift_backend._retry_policy.items(): retry_delay_test_args_and_expected_values[k] = ((min - 1, min), (max + 1, max)) for i in range(2): @@ -1478,7 +1478,7 @@ def test_retry_args_bounding(self, mock_http_client): for arg, val in retry_delay_expected_vals.items(): self.assertEqual(getattr(backend, arg), val) - @patch("databricks.sql.thrift_backend.TCLIService.Client", autospec=True) + @patch("databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", autospec=True) def test_configuration_passthrough(self, tcli_client_class): tcli_service_instance = tcli_client_class.return_value tcli_service_instance.OpenSession.return_value = self.open_session_resp @@ -1496,14 +1496,14 @@ def test_configuration_passthrough(self, tcli_client_class): open_session_req = tcli_client_class.return_value.OpenSession.call_args[0][0] self.assertEqual(open_session_req.configuration, expected_config) - @patch("databricks.sql.thrift_backend.TCLIService.Client", autospec=True) + @patch("databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", autospec=True) def test_cant_set_timestamp_as_string_to_true(self, tcli_client_class): tcli_service_instance = tcli_client_class.return_value tcli_service_instance.OpenSession.return_value = self.open_session_resp mock_config = {"spark.thriftserver.arrowBasedRowSet.timestampAsString": True} backend = ThriftBackend("foobar", 443, "path", [], auth_provider=AuthProvider()) - with self.assertRaises(databricks.sql.Error) as cm: + with self.assertRaises(databricks_sql_connector_core.sql.Error) as cm: backend.open_session(mock_config, None, None) self.assertIn("timestampAsString cannot be changed", str(cm.exception)) @@ -1516,7 +1516,7 @@ def _construct_open_session_with_namespace(self, can_use_multiple_cats, cat, sch initialNamespace=ttypes.TNamespace(catalogName=cat, schemaName=schem), ) - @patch("databricks.sql.thrift_backend.TCLIService.Client", autospec=True) + @patch("databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", autospec=True) def test_initial_namespace_passthrough_to_open_session(self, tcli_client_class): tcli_service_instance = tcli_client_class.return_value @@ -1535,7 +1535,7 @@ def test_initial_namespace_passthrough_to_open_session(self, tcli_client_class): self.assertEqual(open_session_req.initialNamespace.catalogName, cat) self.assertEqual(open_session_req.initialNamespace.schemaName, schem) - @patch("databricks.sql.thrift_backend.TCLIService.Client", autospec=True) + @patch("databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", autospec=True) def test_can_use_multiple_catalogs_is_set_in_open_session_req(self, tcli_client_class): tcli_service_instance = tcli_client_class.return_value tcli_service_instance.OpenSession.return_value = self.open_session_resp @@ -1546,7 +1546,7 @@ def test_can_use_multiple_catalogs_is_set_in_open_session_req(self, tcli_client_ open_session_req = tcli_client_class.return_value.OpenSession.call_args[0][0] self.assertTrue(open_session_req.canUseMultipleCatalogs) - @patch("databricks.sql.thrift_backend.TCLIService.Client", autospec=True) + @patch("databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", autospec=True) def test_can_use_multiple_catalogs_is_false_fails_with_initial_catalog(self, tcli_client_class): tcli_service_instance = tcli_client_class.return_value @@ -1577,7 +1577,7 @@ def test_can_use_multiple_catalogs_is_false_fails_with_initial_catalog(self, tcl ) backend.open_session({}, cat, schem) - @patch("databricks.sql.thrift_backend.TCLIService.Client", autospec=True) + @patch("databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", autospec=True) def test_protocol_v3_fails_if_initial_namespace_set(self, tcli_client_class): tcli_service_instance = tcli_client_class.return_value @@ -1597,15 +1597,15 @@ def test_protocol_v3_fails_if_initial_namespace_set(self, tcli_client_class): "Setting initial namespace not supported by the DBR version", str(cm.exception) ) - @patch("databricks.sql.thrift_backend.TCLIService.Client", autospec=True) - @patch("databricks.sql.thrift_backend.ThriftBackend._handle_execute_response") + @patch("databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", autospec=True) + @patch("databricks_sql_connector_core.sql.thrift_backend.ThriftBackend._handle_execute_response") def test_execute_command_sets_complex_type_fields_correctly( - self, mock_handle_execute_response, tcli_service_class + self, mock_handle_execute_response, tcli_service_class ): tcli_service_instance = tcli_service_class.return_value # Iterate through each possible combination of native types (True, False and unset) for complex, timestamp, decimals in itertools.product( - [True, False, None], [True, False, None], [True, False, None] + [True, False, None], [True, False, None], [True, False, None] ): complex_arg_types = {} if complex is not None: @@ -1637,4 +1637,4 @@ def test_execute_command_sets_complex_type_fields_correctly( if __name__ == "__main__": - unittest.main() + unittest.main() \ No newline at end of file diff --git a/examples/custom_cred_provider.py b/examples/custom_cred_provider.py index 4c43280f..e78eb8b6 100644 --- a/examples/custom_cred_provider.py +++ b/examples/custom_cred_provider.py @@ -1,6 +1,7 @@ + # please pip install databricks-sdk prior to running this example. -from databricks import sql +from databricks_sql_connector_core import sql from databricks.sdk.oauth import OAuthClient import os diff --git a/examples/insert_data.py b/examples/insert_data.py index b304a0e9..8777a846 100644 --- a/examples/insert_data.py +++ b/examples/insert_data.py @@ -1,4 +1,4 @@ -from databricks import sql +from databricks_sql_connector_core import sql import os with sql.connect(server_hostname = os.getenv("DATABRICKS_SERVER_HOSTNAME"), @@ -18,4 +18,4 @@ result = cursor.fetchall() for row in result: - print(row) + print(row) \ No newline at end of file diff --git a/examples/interactive_oauth.py b/examples/interactive_oauth.py index d7c59597..33b4740d 100644 --- a/examples/interactive_oauth.py +++ b/examples/interactive_oauth.py @@ -1,4 +1,4 @@ -from databricks import sql +from databricks_sql_connector_core import sql import os """databricks-sql-connector supports user to machine OAuth login which means the @@ -14,8 +14,7 @@ """ with sql.connect(server_hostname = os.getenv("DATABRICKS_SERVER_HOSTNAME"), - http_path = os.getenv("DATABRICKS_HTTP_PATH"), - auth_type="databricks-oauth") as connection: + http_path = os.getenv("DATABRICKS_HTTP_PATH")) as connection: for x in range(1, 100): cursor = connection.cursor() @@ -25,4 +24,4 @@ print(row) cursor.close() - connection.close() + connection.close() \ No newline at end of file diff --git a/examples/m2m_oauth.py b/examples/m2m_oauth.py index eba2095c..723e2261 100644 --- a/examples/m2m_oauth.py +++ b/examples/m2m_oauth.py @@ -1,7 +1,7 @@ import os from databricks.sdk.core import oauth_service_principal, Config -from databricks import sql +from databricks_sql_connector_core import sql """ This example shows how to use OAuth M2M (machine-to-machine) for service principal @@ -38,4 +38,4 @@ def credential_provider(): print(row) cursor.close() - connection.close() + connection.close() \ No newline at end of file diff --git a/examples/parameters.py b/examples/parameters.py index c0367e1b..b4384b76 100644 --- a/examples/parameters.py +++ b/examples/parameters.py @@ -3,11 +3,11 @@ """ from decimal import Decimal -from databricks import sql -from databricks.sql import * +from databricks_sql_connector_core import sql +from databricks_sql_connector_core.sql.parameters import * import os -from databricks import sql +from databricks_sql_connector_core import sql from datetime import datetime import pytz @@ -118,4 +118,4 @@ print("\nEXAMPLE 4") print("Example 4 inferred result\t→\t {}\t{}".format(result.p1, result.p3)) -print("Example 4 explicit result\t→\t {}\t\t{}".format(result.p2, result.p4)) +print("Example 4 explicit result\t→\t {}\t\t{}".format(result.p2, result.p4)) \ No newline at end of file diff --git a/examples/persistent_oauth.py b/examples/persistent_oauth.py index 22a10def..5af419c7 100644 --- a/examples/persistent_oauth.py +++ b/examples/persistent_oauth.py @@ -16,29 +16,29 @@ import os from typing import Optional -from databricks import sql -from databricks.sql import OAuthPersistence, OAuthToken, DevOnlyFilePersistence +from databricks_sql_connector_core import sql +from databricks_sql_connector_core.sql.experimental.oauth_persistence import OAuthPersistence, OAuthToken, DevOnlyFilePersistence class SampleOAuthPersistence(OAuthPersistence): - def persist(self, hostname: str, oauth_token: OAuthToken): - """To be implemented by the end user to persist in the preferred storage medium. + def persist(self, hostname: str, oauth_token: OAuthToken): + """To be implemented by the end user to persist in the preferred storage medium. - OAuthToken has two properties: - 1. OAuthToken.access_token - 2. OAuthToken.refresh_token + OAuthToken has two properties: + 1. OAuthToken.access_token + 2. OAuthToken.refresh_token - Both should be persisted. - """ - pass + Both should be persisted. + """ + pass - def read(self, hostname: str) -> Optional[OAuthToken]: - """To be implemented by the end user to fetch token from the preferred storage + def read(self, hostname: str) -> Optional[OAuthToken]: + """To be implemented by the end user to fetch token from the preferred storage - Fetch the access_token and refresh_token for the given hostname. - Return OAuthToken(access_token, refresh_token) - """ - pass + Fetch the access_token and refresh_token for the given hostname. + Return OAuthToken(access_token, refresh_token) + """ + pass with sql.connect(server_hostname = os.getenv("DATABRICKS_SERVER_HOSTNAME"), http_path = os.getenv("DATABRICKS_HTTP_PATH"), @@ -53,4 +53,4 @@ def read(self, hostname: str) -> Optional[OAuthToken]: print(row) cursor.close() - connection.close() + connection.close() \ No newline at end of file diff --git a/examples/query_cancel.py b/examples/query_cancel.py index 4e0b74a5..c954cec0 100644 --- a/examples/query_cancel.py +++ b/examples/query_cancel.py @@ -1,4 +1,4 @@ -from databricks import sql +from databricks_sql_connector_core import sql import os, threading, time """ @@ -11,12 +11,12 @@ with connection.cursor() as cursor: def execute_really_long_query(): - try: - cursor.execute("SELECT SUM(A.id - B.id) " + - "FROM range(1000000000) A CROSS JOIN range(100000000) B " + - "GROUP BY (A.id - B.id)") - except sql.exc.RequestError: - print("It looks like this query was cancelled.") + try: + cursor.execute("SELECT SUM(A.id - B.id) " + + "FROM range(1000000000) A CROSS JOIN range(100000000) B " + + "GROUP BY (A.id - B.id)") + except sql.exc.RequestError: + print("It looks like this query was cancelled.") exec_thread = threading.Thread(target=execute_really_long_query) @@ -48,4 +48,4 @@ def execute_really_long_query(): print("\n Execution was successful. Results appear below:") - print(cursor.fetchall()) + print(cursor.fetchall()) \ No newline at end of file diff --git a/examples/query_execute.py b/examples/query_execute.py index a851ab50..8ca5b7d0 100644 --- a/examples/query_execute.py +++ b/examples/query_execute.py @@ -1,4 +1,4 @@ -from databricks import sql +from databricks_sql_connector_core import sql import os with sql.connect(server_hostname = os.getenv("DATABRICKS_SERVER_HOSTNAME"), diff --git a/examples/set_user_agent.py b/examples/set_user_agent.py index 449692cf..c25de4e9 100644 --- a/examples/set_user_agent.py +++ b/examples/set_user_agent.py @@ -1,4 +1,4 @@ -from databricks import sql +from databricks_sql_connector_core import sql import os with sql.connect(server_hostname = os.getenv("DATABRICKS_SERVER_HOSTNAME"), diff --git a/examples/staging_ingestion.py b/examples/staging_ingestion.py index a55be477..6af657a1 100644 --- a/examples/staging_ingestion.py +++ b/examples/staging_ingestion.py @@ -1,4 +1,4 @@ -from databricks import sql +from databricks_sql_connector_core import sql import os """ @@ -51,10 +51,10 @@ staging_allowed_local_path = os.path.split(_complete_path)[0] with sql.connect( - server_hostname=os.getenv("DATABRICKS_SERVER_HOSTNAME"), - http_path=os.getenv("DATABRICKS_HTTP_PATH"), - access_token=os.getenv("DATABRICKS_TOKEN"), - staging_allowed_local_path=staging_allowed_local_path, + server_hostname=os.getenv("DATABRICKS_SERVER_HOSTNAME"), + http_path=os.getenv("DATABRICKS_HTTP_PATH"), + access_token=os.getenv("DATABRICKS_TOKEN"), + staging_allowed_local_path=staging_allowed_local_path, ) as connection: with connection.cursor() as cursor: @@ -84,4 +84,4 @@ print("Removing demo.csv from staging location") cursor.execute(query) - print("Remove was successful") + print("Remove was successful") \ No newline at end of file diff --git a/examples/v3_retries_query_execute.py b/examples/v3_retries_query_execute.py index 4b6772fe..e742583b 100644 --- a/examples/v3_retries_query_execute.py +++ b/examples/v3_retries_query_execute.py @@ -1,4 +1,4 @@ -from databricks import sql +from databricks_sql_connector_core import sql import os # Users of connector versions >= 2.9.0 and <= 3.0.0 can use the v3 retry behaviour by setting _enable_v3_retries=True @@ -26,7 +26,7 @@ # which means all redirects will be followed. In this case, a redirect will count toward the # _retry_stop_after_attempts_count which means that by default the connector will not enter an endless retry loop. # -# For complete information about configuring retries, see the docstring for databricks.sql.thrift_backend.ThriftBackend +# For complete information about configuring retries, see the docstring for databricks_sql_connector_core.sql.thrift_backend.ThriftBackend with sql.connect(server_hostname = os.getenv("DATABRICKS_SERVER_HOSTNAME"), http_path = os.getenv("DATABRICKS_HTTP_PATH"), @@ -40,4 +40,4 @@ result = cursor.fetchall() for row in result: - print(row) + print(row) \ No newline at end of file diff --git a/setup_script.py b/setup_script.py index 798a5c50..14929888 100644 --- a/setup_script.py +++ b/setup_script.py @@ -25,6 +25,6 @@ def build_and_install_library(directory_name): if __name__ == "__main__": - # build_and_install_library("databricks_sql_connector_core") + build_and_install_library("databricks_sql_connector_core") build_and_install_library("databricks_sql_connector") - # build_and_install_library("databricks_sqlalchemy") \ No newline at end of file + build_and_install_library("databricks_sqlalchemy") \ No newline at end of file diff --git a/tests/unit/test_parameters.py b/tests/unit/test_parameters.py deleted file mode 100644 index 9050f3ee..00000000 --- a/tests/unit/test_parameters.py +++ /dev/null @@ -1,204 +0,0 @@ -import datetime -from decimal import Decimal -from enum import Enum -from typing import Type - -import pytest -import pytz - -from databricks.sql import Connection -from databricks.sql import ( - BigIntegerParameter, - BooleanParameter, - DateParameter, - DecimalParameter, - DoubleParameter, - FloatParameter, - IntegerParameter, - SmallIntParameter, - StringParameter, - TimestampNTZParameter, - TimestampParameter, - TinyIntParameter, - VoidParameter, -) -from databricks.sql import ( - TDbsqlParameter, - TSparkParameterValue, - dbsql_parameter_from_primitive, -) -from databricks.sql import ttypes -from databricks.sql import ( - TOpenSessionResp, - TSessionHandle, - TSparkParameterValue, -) - - -class TestSessionHandleChecks(object): - @pytest.mark.parametrize( - "test_input,expected", - [ - ( - TOpenSessionResp( - serverProtocolVersion=ttypes.TProtocolVersion.SPARK_CLI_SERVICE_PROTOCOL_V7, - sessionHandle=TSessionHandle(1, None), - ), - ttypes.TProtocolVersion.SPARK_CLI_SERVICE_PROTOCOL_V7, - ), - # Ensure that protocol version inside sessionhandle takes precedence. - ( - TOpenSessionResp( - serverProtocolVersion=ttypes.TProtocolVersion.SPARK_CLI_SERVICE_PROTOCOL_V7, - sessionHandle=TSessionHandle( - 1, ttypes.TProtocolVersion.SPARK_CLI_SERVICE_PROTOCOL_V8 - ), - ), - ttypes.TProtocolVersion.SPARK_CLI_SERVICE_PROTOCOL_V8, - ), - ], - ) - def test_get_protocol_version_fallback_behavior(self, test_input, expected): - assert Connection.get_protocol_version(test_input) == expected - - @pytest.mark.parametrize( - "test_input,expected", - [ - ( - None, - False, - ), - ( - ttypes.TProtocolVersion.SPARK_CLI_SERVICE_PROTOCOL_V7, - False, - ), - ( - ttypes.TProtocolVersion.SPARK_CLI_SERVICE_PROTOCOL_V8, - True, - ), - ], - ) - def test_parameters_enabled(self, test_input, expected): - assert Connection.server_parameterized_queries_enabled(test_input) == expected - - -@pytest.mark.parametrize( - "value,expected", - ( - (Decimal("10.00"), "DECIMAL(4,2)"), - (Decimal("123456789123456789.123456789123456789"), "DECIMAL(36,18)"), - (Decimal(".12345678912345678912345678912345678912"), "DECIMAL(38,38)"), - (Decimal("123456789.123456789"), "DECIMAL(18,9)"), - (Decimal("12345678912345678912345678912345678912"), "DECIMAL(38,0)"), - (Decimal("1234.56"), "DECIMAL(6,2)"), - ), -) -def test_calculate_decimal_cast_string(value, expected): - p = DecimalParameter(value) - assert p._cast_expr() == expected - - -class Primitive(Enum): - """These are the inferrable types. This Enum is used for parametrized tests.""" - - NONE = None - BOOL = True - INT = 50 - BIGINT = 2147483648 - STRING = "Hello" - DECIMAL = Decimal("1234.56") - DATE = datetime.date(2023, 9, 6) - TIMESTAMP = datetime.datetime(2023, 9, 6, 3, 14, 27, 843, tzinfo=pytz.UTC) - DOUBLE = 3.14 - FLOAT = 3.15 - SMALLINT = 51 - - -class TestDbsqlParameter: - @pytest.mark.parametrize( - "_type, prim, expect_cast_expr", - ( - (DecimalParameter, Primitive.DECIMAL, "DECIMAL(6,2)"), - (IntegerParameter, Primitive.INT, "INT"), - (StringParameter, Primitive.STRING, "STRING"), - (BigIntegerParameter, Primitive.BIGINT, "BIGINT"), - (BooleanParameter, Primitive.BOOL, "BOOLEAN"), - (DateParameter, Primitive.DATE, "DATE"), - (DoubleParameter, Primitive.DOUBLE, "DOUBLE"), - (FloatParameter, Primitive.FLOAT, "FLOAT"), - (VoidParameter, Primitive.NONE, "VOID"), - (SmallIntParameter, Primitive.INT, "SMALLINT"), - (TimestampParameter, Primitive.TIMESTAMP, "TIMESTAMP"), - (TimestampNTZParameter, Primitive.TIMESTAMP, "TIMESTAMP_NTZ"), - (TinyIntParameter, Primitive.INT, "TINYINT"), - ), - ) - def test_cast_expression( - self, _type: TDbsqlParameter, prim: Primitive, expect_cast_expr: str - ): - p = _type(prim.value) - assert p._cast_expr() == expect_cast_expr - - @pytest.mark.parametrize( - "t, prim", - ( - (DecimalParameter, Primitive.DECIMAL), - (IntegerParameter, Primitive.INT), - (StringParameter, Primitive.STRING), - (BigIntegerParameter, Primitive.BIGINT), - (BooleanParameter, Primitive.BOOL), - (DateParameter, Primitive.DATE), - (DoubleParameter, Primitive.DOUBLE), - (FloatParameter, Primitive.FLOAT), - (VoidParameter, Primitive.NONE), - (SmallIntParameter, Primitive.INT), - (TimestampParameter, Primitive.TIMESTAMP), - (TimestampNTZParameter, Primitive.TIMESTAMP), - (TinyIntParameter, Primitive.INT), - ), - ) - def test_tspark_param_value(self, t: TDbsqlParameter, prim): - p: TDbsqlParameter = t(prim.value) - output = p._tspark_param_value() - - if prim == Primitive.NONE: - assert output == None - else: - assert output == TSparkParameterValue(stringValue=str(prim.value)) - - def test_tspark_param_named(self): - p = dbsql_parameter_from_primitive(Primitive.INT.value, name="p") - tsp = p.as_tspark_param(named=True) - - assert tsp.name == "p" - assert tsp.ordinal is False - - def test_tspark_param_ordinal(self): - p = dbsql_parameter_from_primitive(Primitive.INT.value, name="p") - tsp = p.as_tspark_param(named=False) - - assert tsp.name is None - assert tsp.ordinal is True - - @pytest.mark.parametrize( - "_type, prim", - ( - (DecimalParameter, Primitive.DECIMAL), - (IntegerParameter, Primitive.INT), - (StringParameter, Primitive.STRING), - (BigIntegerParameter, Primitive.BIGINT), - (BooleanParameter, Primitive.BOOL), - (DateParameter, Primitive.DATE), - (FloatParameter, Primitive.FLOAT), - (VoidParameter, Primitive.NONE), - (TimestampParameter, Primitive.TIMESTAMP), - ), - ) - def test_inference(self, _type: TDbsqlParameter, prim: Primitive): - """This method only tests inferrable types. - - Not tested are TinyIntParameter, SmallIntParameter DoubleParameter and TimestampNTZParameter - """ - - inferred_type = dbsql_parameter_from_primitive(prim.value) - assert isinstance(inferred_type, _type) From 786dc1e7ce169169882cdfb9923e0c22b4c81a3c Mon Sep 17 00:00:00 2001 From: Jothi Prakash Date: Wed, 14 Aug 2024 14:49:41 +0530 Subject: [PATCH 09/53] Added the unit test for column_queue Fixed __version__ Fix --- .../conftest.py | 4 ++++ .../tests/e2e/common/predicates.py | 4 ++-- .../tests/unit/test_column_queue.py | 24 +++++++++++++++++++ setup_script.py | 1 + 4 files changed, 31 insertions(+), 2 deletions(-) rename conftest.py => databricks_sql_connector_core/conftest.py (86%) create mode 100644 databricks_sql_connector_core/tests/unit/test_column_queue.py diff --git a/conftest.py b/databricks_sql_connector_core/conftest.py similarity index 86% rename from conftest.py rename to databricks_sql_connector_core/conftest.py index c8b350be..3f69753f 100644 --- a/conftest.py +++ b/databricks_sql_connector_core/conftest.py @@ -4,11 +4,13 @@ @pytest.fixture(scope="session") def host(): + return "adb-6436897454825492.12.azuredatabricks.net" return os.getenv("DATABRICKS_SERVER_HOSTNAME") @pytest.fixture(scope="session") def http_path(): + return "/sql/1.0/warehouses/2f03dd43e35e2aa0" return os.getenv("DATABRICKS_HTTP_PATH") @@ -24,11 +26,13 @@ def ingestion_user(): @pytest.fixture(scope="session") def catalog(): + return "main" return os.getenv("DATABRICKS_CATALOG") @pytest.fixture(scope="session") def schema(): + return "default" return os.getenv("DATABRICKS_SCHEMA", "default") diff --git a/databricks_sql_connector_core/tests/e2e/common/predicates.py b/databricks_sql_connector_core/tests/e2e/common/predicates.py index 10dbde9e..529fb7fe 100644 --- a/databricks_sql_connector_core/tests/e2e/common/predicates.py +++ b/databricks_sql_connector_core/tests/e2e/common/predicates.py @@ -18,13 +18,13 @@ def pysql_has_version(compare, version): Expected use: from common.predicates import pysql_has_version - from databricks import sql as pysql + from databricks_sql_connector_core import sql as pysql ... @unittest.skipIf(pysql_has_version('<', '2')) def test_some_pyhive_v1_stuff(): ... """ - from databricks import sql + from databricks_sql_connector_core import sql return compare_module_version(sql, compare, version) diff --git a/databricks_sql_connector_core/tests/unit/test_column_queue.py b/databricks_sql_connector_core/tests/unit/test_column_queue.py new file mode 100644 index 00000000..dd780639 --- /dev/null +++ b/databricks_sql_connector_core/tests/unit/test_column_queue.py @@ -0,0 +1,24 @@ +import unittest +import pytest +import pyarrow as pa +from databricks_sql_connector_core.sql.utils import ColumnQueue + + +class TestColumnQueueSuite: + @pytest.fixture(scope="function") + def setup(self): + columnar_table = [[0, 3, 6, 9], [1, 4, 7, 10], [2, 5, 8, 11]] + column_names = [f"col_{i}" for i in range(len(columnar_table))] + return ColumnQueue(columnar_table, column_names) + + def test_fetchmany_respects_n_rows(self, setup): + column_queue = setup + assert column_queue.next_n_rows(2) == [[0, 3], [1, 4], [2, 5]] + assert column_queue.next_n_rows(2) == [[6, 9], [7, 10], [8, 11]] + + def test_fetch_remaining_rows_respects_n_rows(self, setup): + column_queue = setup + assert column_queue.next_n_rows(2) == [[0, 3], [1, 4], [2, 5]] + assert column_queue.remaining_rows() == [[6, 9], [7, 10], [8, 11]] + + diff --git a/setup_script.py b/setup_script.py index 14929888..27b021cb 100644 --- a/setup_script.py +++ b/setup_script.py @@ -7,6 +7,7 @@ def build_and_install_library(directory_name): # Change directory to one level down os.chdir(directory_name) + # chal jaa # Build the library using Poetry subprocess.run(['poetry', 'build'], check=True) From c91d43d9e35b169b1264810804d8deed84e86a33 Mon Sep 17 00:00:00 2001 From: Jothi Prakash Date: Tue, 20 Aug 2024 23:13:09 +0530 Subject: [PATCH 10/53] venv_main added to git ignore --- .gitignore | 1 + databricks_sql_connector_core/conftest.py | 4 ---- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 2ae38dbc..abcb640d 100644 --- a/.gitignore +++ b/.gitignore @@ -162,6 +162,7 @@ celerybeat.pid .venv env/ venv/ +venv_main/ ENV/ env.bak/ venv.bak/ diff --git a/databricks_sql_connector_core/conftest.py b/databricks_sql_connector_core/conftest.py index 3f69753f..c8b350be 100644 --- a/databricks_sql_connector_core/conftest.py +++ b/databricks_sql_connector_core/conftest.py @@ -4,13 +4,11 @@ @pytest.fixture(scope="session") def host(): - return "adb-6436897454825492.12.azuredatabricks.net" return os.getenv("DATABRICKS_SERVER_HOSTNAME") @pytest.fixture(scope="session") def http_path(): - return "/sql/1.0/warehouses/2f03dd43e35e2aa0" return os.getenv("DATABRICKS_HTTP_PATH") @@ -26,13 +24,11 @@ def ingestion_user(): @pytest.fixture(scope="session") def catalog(): - return "main" return os.getenv("DATABRICKS_CATALOG") @pytest.fixture(scope="session") def schema(): - return "default" return os.getenv("DATABRICKS_SCHEMA", "default") From b67b73966f9247fdff4aa4008d9edacdb726ca06 Mon Sep 17 00:00:00 2001 From: Jothi Prakash Date: Wed, 21 Aug 2024 13:06:35 +0530 Subject: [PATCH 11/53] Added code for merging columnar table --- .../src/databricks_sql_connector_core/sql/client.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/client.py b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/client.py index 1cee29d0..6e940f3a 100755 --- a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/client.py +++ b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/client.py @@ -1244,8 +1244,20 @@ def fetchall_arrow(self) -> "pyarrow.Table": return results def fetchall_columnar(self): + """Fetch all (remaining) rows of a query result, returning them as a Columnar table.""" + def merge_columnar(result1, result2): + merged_result = [result1[i]+result2[i] for i in range(len(result1))] + return merged_result + results = self.results.remaining_rows() self._next_row_index += len(results[0]) + + while not self.has_been_closed_server_side and self.has_more_rows: + self._fill_results_buffer() + partial_results = self.results.remaining_rows() + results=merge_columnar(results, partial_results) + self._next_row_index += len(partial_results[0]) + return results def fetchone(self) -> Optional[Row]: From 32e3dcd9b8ce98b1989d4e31c4b4f7838a6c6ecc Mon Sep 17 00:00:00 2001 From: Jothi Prakash Date: Wed, 21 Aug 2024 13:39:56 +0530 Subject: [PATCH 12/53] Merging code for columnar --- .../sql/client.py | 31 +++++++++++++++---- 1 file changed, 25 insertions(+), 6 deletions(-) diff --git a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/client.py b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/client.py index 6e940f3a..c953480d 100755 --- a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/client.py +++ b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/client.py @@ -1216,6 +1216,17 @@ def fetchmany_arrow(self, size: int) -> "pyarrow.Table": return results + def merge_columnar(self, result1, result2): + """ + Function to merge / combining the columnar results into a single result + + :param result1: + :param result2: + :return: + """ + merged_result = [result1[i]+result2[i] for i in range(len(result1))] + return merged_result + def fetchmany_columnar(self, size: int): """ Fetch the next set of rows of a query result, returning a Columnar Table. @@ -1226,7 +1237,19 @@ def fetchmany_columnar(self, size: int): raise ValueError("size argument for fetchmany is %s but must be >= 0", size) results = self.results.next_n_rows(size) - self._next_row_index += results.num_rows + n_remaining_rows = size - len(results[0]) + self._next_row_index += len(results[0]) + + while ( + n_remaining_rows > 0 + and not self.has_been_closed_server_side + and self.has_more_rows + ): + self._fill_results_buffer() + partial_results = self.results.next_n_rows(n_remaining_rows) + results = self.merge_columnar(results, partial_results) + n_remaining_rows -= len(partial_results[0]) + self._next_row_index += len(partial_results[0]) return results @@ -1245,17 +1268,13 @@ def fetchall_arrow(self) -> "pyarrow.Table": def fetchall_columnar(self): """Fetch all (remaining) rows of a query result, returning them as a Columnar table.""" - def merge_columnar(result1, result2): - merged_result = [result1[i]+result2[i] for i in range(len(result1))] - return merged_result - results = self.results.remaining_rows() self._next_row_index += len(results[0]) while not self.has_been_closed_server_side and self.has_more_rows: self._fill_results_buffer() partial_results = self.results.remaining_rows() - results=merge_columnar(results, partial_results) + results = self.merge_columnar(results, partial_results) self._next_row_index += len(partial_results[0]) return results From d06288720f1c3fed4d08d80345cc9d5ea95186ea Mon Sep 17 00:00:00 2001 From: Jothi Prakash Date: Thu, 22 Aug 2024 10:37:07 +0530 Subject: [PATCH 13/53] Fixed the retry_close sesssion test issue with logging --- databricks_sql_connector/pyproject.toml | 14 +++++++------- databricks_sql_connector_core/pyproject.toml | 14 +++++++------- .../tests/unit/test_init_file.py | 2 +- databricks_sqlalchemy/pyproject.toml | 14 +++++++------- 4 files changed, 22 insertions(+), 22 deletions(-) diff --git a/databricks_sql_connector/pyproject.toml b/databricks_sql_connector/pyproject.toml index efdaa80b..d0c4aafb 100644 --- a/databricks_sql_connector/pyproject.toml +++ b/databricks_sql_connector/pyproject.toml @@ -57,10 +57,10 @@ build-backend = "poetry.core.masonry.api" #[tool.black] #exclude = '/(\.eggs|\.git|\.hg|\.mypy_cache|\.nox|\.tox|\.venv|\.svn|_build|buck-out|build|dist|thrift_api)/' # -#[tool.pytest.ini_options] -#markers = {"reviewed" = "Test case has been reviewed by Databricks"} -#minversion = "6.0" -#log_cli = "false" -#log_cli_level = "INFO" -#testpaths = ["tests", "src/databricks/sqlalchemy/test_local"] -#env_files = ["test.env"] +[tool.pytest.ini_options] +markers = {"reviewed" = "Test case has been reviewed by Databricks"} +minversion = "6.0" +log_cli = "false" +log_cli_level = "INFO" +testpaths = ["tests", "databricks_sql_connector/src"] +env_files = ["test.env"] diff --git a/databricks_sql_connector_core/pyproject.toml b/databricks_sql_connector_core/pyproject.toml index c6078a06..24a9ce38 100644 --- a/databricks_sql_connector_core/pyproject.toml +++ b/databricks_sql_connector_core/pyproject.toml @@ -57,10 +57,10 @@ exclude = ['ttypes\.py$', 'TCLIService\.py$'] [tool.black] exclude = '/(\.eggs|\.git|\.hg|\.mypy_cache|\.nox|\.tox|\.venv|\.svn|_build|buck-out|build|dist|thrift_api)/' # -#[tool.pytest.ini_options] -#markers = {"reviewed" = "Test case has been reviewed by Databricks"} -#minversion = "6.0" -#log_cli = "false" -#log_cli_level = "INFO" -#testpaths = ["tests", "src/databricks/sqlalchemy/test_local"] -#env_files = ["test.env"] +[tool.pytest.ini_options] +markers = {"reviewed" = "Test case has been reviewed by Databricks"} +minversion = "6.0" +log_cli = "false" +log_cli_level = "INFO" +testpaths = ["tests", "databricks_sql_connector_core/tests"] +env_files = ["test.env"] diff --git a/databricks_sql_connector_core/tests/unit/test_init_file.py b/databricks_sql_connector_core/tests/unit/test_init_file.py index 75b15ac1..cd92e513 100644 --- a/databricks_sql_connector_core/tests/unit/test_init_file.py +++ b/databricks_sql_connector_core/tests/unit/test_init_file.py @@ -9,7 +9,7 @@ class TestInitFile: """ def test_init_file_contents(self): - with open("src/databricks/__init__.py") as f: + with open("databricks_sql_connector_core/src/databricks_sql_connector_core/__init__.py") as f: init_file_contents = f.read() # This hash is the expected hash of the contents of `src/databricks/__init__.py`. diff --git a/databricks_sqlalchemy/pyproject.toml b/databricks_sqlalchemy/pyproject.toml index c328585a..9b052224 100644 --- a/databricks_sqlalchemy/pyproject.toml +++ b/databricks_sqlalchemy/pyproject.toml @@ -58,10 +58,10 @@ exclude = ['ttypes\.py$', 'TCLIService\.py$'] [tool.black] exclude = '/(\.eggs|\.git|\.hg|\.mypy_cache|\.nox|\.tox|\.venv|\.svn|_build|buck-out|build|dist|thrift_api)/' # -#[tool.pytest.ini_options] -#markers = {"reviewed" = "Test case has been reviewed by Databricks"} -#minversion = "6.0" -#log_cli = "false" -#log_cli_level = "INFO" -#testpaths = ["tests", "src/databricks/sqlalchemy/test_local"] -#env_files = ["test.env"] +[tool.pytest.ini_options] +markers = {"reviewed" = "Test case has been reviewed by Databricks"} +minversion = "6.0" +log_cli = "false" +log_cli_level = "INFO" +testpaths = ["tests", "databricks_sqlalchemy/src/databricks_sqlalchemy/test_local"] +env_files = ["test.env"] From 99089765729c1573b61d7e8e72abf89fc923c8a2 Mon Sep 17 00:00:00 2001 From: Jothi Prakash Date: Thu, 22 Aug 2024 22:24:57 +0530 Subject: [PATCH 14/53] Fixed the databricks_sqlalchemy tests and introduced pytest.ini for the sqla_testing --- databricks_sql_connector_core/pyproject.toml | 2 +- databricks_sqlalchemy/src/databricks_sqlalchemy/pytest.ini | 4 ++++ databricks_sqlalchemy/src/databricks_sqlalchemy/setup.cfg | 2 +- .../src/databricks_sqlalchemy/test/_extra.py | 2 +- .../src/databricks_sqlalchemy/test/_future.py | 4 ++-- .../src/databricks_sqlalchemy/test/_regression.py | 4 ++-- .../src/databricks_sqlalchemy/test/_unsupported.py | 4 ++-- .../src/databricks_sqlalchemy/test/conftest.py | 4 ++-- .../src/databricks_sqlalchemy/test/test_suite.py | 6 +++--- 9 files changed, 18 insertions(+), 14 deletions(-) create mode 100644 databricks_sqlalchemy/src/databricks_sqlalchemy/pytest.ini diff --git a/databricks_sql_connector_core/pyproject.toml b/databricks_sql_connector_core/pyproject.toml index 24a9ce38..61a1e467 100644 --- a/databricks_sql_connector_core/pyproject.toml +++ b/databricks_sql_connector_core/pyproject.toml @@ -44,7 +44,7 @@ pytest-dotenv = "^0.5.2" "Bug Tracker" = "https://github.com/databricks/databricks-sql-python/issues" [tool.poetry.plugins."sqlalchemy.dialects"] -"databricks" = "databricks.sqlalchemy:DatabricksDialect" +"databricks" = "databricks_sql_connector_core.sqlalchemy:DatabricksDialect" [build-system] requires = ["poetry-core>=1.0.0"] diff --git a/databricks_sqlalchemy/src/databricks_sqlalchemy/pytest.ini b/databricks_sqlalchemy/src/databricks_sqlalchemy/pytest.ini new file mode 100644 index 00000000..4ce8d299 --- /dev/null +++ b/databricks_sqlalchemy/src/databricks_sqlalchemy/pytest.ini @@ -0,0 +1,4 @@ + +[sqla_testing] +requirement_cls=databricks_sqlalchemy.requirements:Requirements +profile_file=profiles.txt diff --git a/databricks_sqlalchemy/src/databricks_sqlalchemy/setup.cfg b/databricks_sqlalchemy/src/databricks_sqlalchemy/setup.cfg index ab89d17d..4ce8d299 100644 --- a/databricks_sqlalchemy/src/databricks_sqlalchemy/setup.cfg +++ b/databricks_sqlalchemy/src/databricks_sqlalchemy/setup.cfg @@ -1,4 +1,4 @@ [sqla_testing] -requirement_cls=databricks.sqlalchemy.requirements:Requirements +requirement_cls=databricks_sqlalchemy.requirements:Requirements profile_file=profiles.txt diff --git a/databricks_sqlalchemy/src/databricks_sqlalchemy/test/_extra.py b/databricks_sqlalchemy/src/databricks_sqlalchemy/test/_extra.py index 2f3e7a7d..48cc0ec7 100644 --- a/databricks_sqlalchemy/src/databricks_sqlalchemy/test/_extra.py +++ b/databricks_sqlalchemy/src/databricks_sqlalchemy/test/_extra.py @@ -15,7 +15,7 @@ _DateFixture, literal, ) -from databricks.sqlalchemy import TINYINT, TIMESTAMP +from databricks_sql_connector_core.sqlalchemy import TINYINT, TIMESTAMP class TinyIntegerTest(_LiteralRoundTripFixture, fixtures.TestBase): diff --git a/databricks_sqlalchemy/src/databricks_sqlalchemy/test/_future.py b/databricks_sqlalchemy/src/databricks_sqlalchemy/test/_future.py index 2baa3d33..76b4f7a9 100644 --- a/databricks_sqlalchemy/src/databricks_sqlalchemy/test/_future.py +++ b/databricks_sqlalchemy/src/databricks_sqlalchemy/test/_future.py @@ -3,13 +3,13 @@ from enum import Enum import pytest -from databricks_sqlalchemy.src.sqlalchemy.test._regression import ( +from databricks_sqlalchemy.test._regression import ( ExpandingBoundInTest, IdentityAutoincrementTest, LikeFunctionsTest, NormalizedNameTest, ) -from databricks.sqlalchemy.test._unsupported import ( +from databricks_sqlalchemy.test._unsupported import ( ComponentReflectionTest, ComponentReflectionTestExtra, CTETest, diff --git a/databricks_sqlalchemy/src/databricks_sqlalchemy/test/_regression.py b/databricks_sqlalchemy/src/databricks_sqlalchemy/test/_regression.py index 1cd4c354..1d2e6d00 100644 --- a/databricks_sqlalchemy/src/databricks_sqlalchemy/test/_regression.py +++ b/databricks_sqlalchemy/src/databricks_sqlalchemy/test/_regression.py @@ -51,8 +51,8 @@ ValuesExpressionTest, ) -from databricks.sqlalchemy.test.overrides._ctetest import CTETest -from databricks_sqlalchemy.src.sqlalchemy.test.overrides._componentreflectiontest import ( +from databricks_sqlalchemy.test.overrides._ctetest import CTETest +from databricks_sqlalchemy.test.overrides._componentreflectiontest import ( ComponentReflectionTest, ) diff --git a/databricks_sqlalchemy/src/databricks_sqlalchemy/test/_unsupported.py b/databricks_sqlalchemy/src/databricks_sqlalchemy/test/_unsupported.py index c1270c20..c40c5975 100644 --- a/databricks_sqlalchemy/src/databricks_sqlalchemy/test/_unsupported.py +++ b/databricks_sqlalchemy/src/databricks_sqlalchemy/test/_unsupported.py @@ -3,7 +3,7 @@ from enum import Enum import pytest -from databricks_sqlalchemy.src.sqlalchemy.test._regression import ( +from databricks_sqlalchemy.test._regression import ( ComponentReflectionTest, ComponentReflectionTestExtra, CTETest, @@ -441,7 +441,7 @@ class DateTimeTZTest(DateTimeTZTest): """Test whether the sqlalchemy.DateTime() type can _optionally_ include timezone info. This dialect maps DateTime() → TIMESTAMP, which _always_ includes tzinfo. - Users can use databricks.sqlalchemy.TIMESTAMP_NTZ for a tzinfo-less timestamp. The SQLA docs + Users can use databricks_sql_connector_core.sqlalchemy.TIMESTAMP_NTZ for a tzinfo-less timestamp. The SQLA docs acknowledge this is expected for some dialects. https://docs.sqlalchemy.org/en/20/core/type_basics.html#sqlalchemy.types.DateTime diff --git a/databricks_sqlalchemy/src/databricks_sqlalchemy/test/conftest.py b/databricks_sqlalchemy/src/databricks_sqlalchemy/test/conftest.py index ea43e8d3..81e9479e 100644 --- a/databricks_sqlalchemy/src/databricks_sqlalchemy/test/conftest.py +++ b/databricks_sqlalchemy/src/databricks_sqlalchemy/test/conftest.py @@ -1,12 +1,12 @@ from sqlalchemy.dialects import registry import pytest -registry.register("databricks", "databricks.sqlalchemy", "DatabricksDialect") +registry.register("databricks", "databricks_sqlalchemy", "DatabricksDialect") # sqlalchemy's dialect-testing machinery wants an entry like this. # This seems to be based around dialects maybe having multiple drivers # and wanting to test driver-specific URLs, but doesn't seem to make # much sense for dialects with only one driver. -registry.register("databricks.databricks", "databricks.sqlalchemy", "DatabricksDialect") +registry.register("databricks.databricks", "databricks_sqlalchemy", "DatabricksDialect") pytest.register_assert_rewrite("sqlalchemy.testing.assertions") diff --git a/databricks_sqlalchemy/src/databricks_sqlalchemy/test/test_suite.py b/databricks_sqlalchemy/src/databricks_sqlalchemy/test/test_suite.py index 19005892..02a4208d 100644 --- a/databricks_sqlalchemy/src/databricks_sqlalchemy/test/test_suite.py +++ b/databricks_sqlalchemy/src/databricks_sqlalchemy/test/test_suite.py @@ -7,6 +7,6 @@ # type: ignore # fmt: off from sqlalchemy.testing.suite import * -from databricks_sqlalchemy.src.sqlalchemy.test._regression import * -from databricks.sqlalchemy.test._unsupported import * -from databricks.sqlalchemy.test._future import * +from databricks_sqlalchemy.test._regression import * +from databricks_sqlalchemy.test._unsupported import * +from databricks_sqlalchemy.test._future import * From af0cd4ffdfe1233604a09d410591fd423da58959 Mon Sep 17 00:00:00 2001 From: Jothi Prakash Date: Sun, 25 Aug 2024 19:27:06 +0530 Subject: [PATCH 15/53] Added pyarrow_test mark on pytest --- databricks_sql_connector_core/tests/pytest.ini | 4 ++++ .../tests/unit/test_arrow_queue.py | 8 ++++++-- .../tests/unit/test_cloud_fetch_queue.py | 8 +++++++- .../tests/unit/test_column_queue.py | 2 -- databricks_sql_connector_core/tests/unit/test_fetches.py | 8 ++++++-- .../tests/unit/test_fetches_bench.py | 7 +++++-- .../tests/unit/test_thrift_backend.py | 7 ++++++- 7 files changed, 34 insertions(+), 10 deletions(-) create mode 100644 databricks_sql_connector_core/tests/pytest.ini diff --git a/databricks_sql_connector_core/tests/pytest.ini b/databricks_sql_connector_core/tests/pytest.ini new file mode 100644 index 00000000..cbfeecdf --- /dev/null +++ b/databricks_sql_connector_core/tests/pytest.ini @@ -0,0 +1,4 @@ +# pytest.ini +[pytest] +markers = + pyarrow_test: Tests that require the pyarrow library to be installed diff --git a/databricks_sql_connector_core/tests/unit/test_arrow_queue.py b/databricks_sql_connector_core/tests/unit/test_arrow_queue.py index 93e2ed2b..8080edb9 100644 --- a/databricks_sql_connector_core/tests/unit/test_arrow_queue.py +++ b/databricks_sql_connector_core/tests/unit/test_arrow_queue.py @@ -1,10 +1,14 @@ import unittest - -import pyarrow as pa +import pytest +try: + import pyarrow as pa +except ImportError: + pa = None from databricks_sql_connector_core.sql.utils import ArrowQueue +@pytest.mark.pyarrow_test class ArrowQueueSuite(unittest.TestCase): @staticmethod def make_arrow_table(batch): diff --git a/databricks_sql_connector_core/tests/unit/test_cloud_fetch_queue.py b/databricks_sql_connector_core/tests/unit/test_cloud_fetch_queue.py index abc687d2..f4e74f46 100644 --- a/databricks_sql_connector_core/tests/unit/test_cloud_fetch_queue.py +++ b/databricks_sql_connector_core/tests/unit/test_cloud_fetch_queue.py @@ -1,11 +1,17 @@ -import pyarrow +try: + import pyarrow +except ImportError: + pyarrow = None import unittest +import pytest from unittest.mock import MagicMock, patch from ssl import create_default_context from databricks_sql_connector_core.sql.thrift_api.TCLIService.ttypes import TSparkArrowResultLink import databricks_sql_connector_core.sql.utils as utils + +@pytest.mark.pyarrow_test class CloudFetchQueueSuite(unittest.TestCase): def create_result_link( diff --git a/databricks_sql_connector_core/tests/unit/test_column_queue.py b/databricks_sql_connector_core/tests/unit/test_column_queue.py index dd780639..994be792 100644 --- a/databricks_sql_connector_core/tests/unit/test_column_queue.py +++ b/databricks_sql_connector_core/tests/unit/test_column_queue.py @@ -1,6 +1,4 @@ -import unittest import pytest -import pyarrow as pa from databricks_sql_connector_core.sql.utils import ColumnQueue diff --git a/databricks_sql_connector_core/tests/unit/test_fetches.py b/databricks_sql_connector_core/tests/unit/test_fetches.py index 81ab6868..f0a0978d 100644 --- a/databricks_sql_connector_core/tests/unit/test_fetches.py +++ b/databricks_sql_connector_core/tests/unit/test_fetches.py @@ -1,12 +1,16 @@ import unittest +import pytest from unittest.mock import Mock - -import pyarrow as pa +try: + import pyarrow as pa +except ImportError: + pa = None import databricks_sql_connector_core.sql.client as client from databricks_sql_connector_core.sql.utils import ExecuteResponse, ArrowQueue +@pytest.mark.pyarrow_test class FetchTests(unittest.TestCase): """ Unit tests for checking the fetch logic. diff --git a/databricks_sql_connector_core/tests/unit/test_fetches_bench.py b/databricks_sql_connector_core/tests/unit/test_fetches_bench.py index 8072df76..1ce74408 100644 --- a/databricks_sql_connector_core/tests/unit/test_fetches_bench.py +++ b/databricks_sql_connector_core/tests/unit/test_fetches_bench.py @@ -1,7 +1,9 @@ import unittest from unittest.mock import Mock - -import pyarrow as pa +try: + import pyarrow as pa +except ImportError: + pa = None import uuid import time import pytest @@ -10,6 +12,7 @@ from databricks_sql_connector_core.sql.utils import ExecuteResponse, ArrowQueue +@pytest.mark.pyarrow_test class FetchBenchmarkTests(unittest.TestCase): """ Micro benchmark test for Arrow result handling. diff --git a/databricks_sql_connector_core/tests/unit/test_thrift_backend.py b/databricks_sql_connector_core/tests/unit/test_thrift_backend.py index aa72c4ad..51e87e7f 100644 --- a/databricks_sql_connector_core/tests/unit/test_thrift_backend.py +++ b/databricks_sql_connector_core/tests/unit/test_thrift_backend.py @@ -2,10 +2,14 @@ from decimal import Decimal import itertools import unittest +import pytest from unittest.mock import patch, MagicMock, Mock from ssl import CERT_NONE, CERT_REQUIRED -import pyarrow +try: + import pyarrow +except ImportError: + pyarrow = None import databricks_sql_connector_core.sql from databricks_sql_connector_core.sql import utils @@ -25,6 +29,7 @@ def retry_policy_factory(): } +@pytest.mark.pyarrow_test class ThriftBackendTestSuite(unittest.TestCase): okay_status = ttypes.TStatus(statusCode=ttypes.TStatusCode.SUCCESS_STATUS) From a07c2327b4ca8cce30d0d879c4293cdace00f972 Mon Sep 17 00:00:00 2001 From: Jothi Prakash Date: Sun, 25 Aug 2024 23:05:33 +0530 Subject: [PATCH 16/53] Fixed databricks.sqlalchemy to databricks_sqlalchemy imports --- .../src/databricks_sqlalchemy/test_local/e2e/test_basic.py | 4 ++-- .../src/databricks_sqlalchemy/test_local/test_parsing.py | 2 +- .../src/databricks_sqlalchemy/test_local/test_types.py | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/databricks_sqlalchemy/src/databricks_sqlalchemy/test_local/e2e/test_basic.py b/databricks_sqlalchemy/src/databricks_sqlalchemy/test_local/e2e/test_basic.py index ce0b5d89..215d3ebc 100644 --- a/databricks_sqlalchemy/src/databricks_sqlalchemy/test_local/e2e/test_basic.py +++ b/databricks_sqlalchemy/src/databricks_sqlalchemy/test_local/e2e/test_basic.py @@ -144,7 +144,7 @@ def test_pandas_upload(db_engine, metadata_obj): SCHEMA = "default" try: df = pd.read_excel( - "src/databricks/sqlalchemy/test_local/e2e/demo_data/MOCK_DATA.xlsx" + "databricks_sqlalchemy/test_local/e2e/demo_data/MOCK_DATA.xlsx" ) df.to_sql( "mock_data", @@ -472,7 +472,7 @@ def get_conn_user_agent(conn): @pytest.fixture def sample_table(metadata_obj: MetaData, db_engine: Engine): """This fixture creates a sample table and cleans it up after the test is complete.""" - from databricks.sqlalchemy._parse import GET_COLUMNS_TYPE_MAP + from databricks_sqlalchemy._parse import GET_COLUMNS_TYPE_MAP table_name = "PySQLTest_{}".format(datetime.datetime.utcnow().strftime("%s")) diff --git a/databricks_sqlalchemy/src/databricks_sqlalchemy/test_local/test_parsing.py b/databricks_sqlalchemy/src/databricks_sqlalchemy/test_local/test_parsing.py index c8ab443d..76161422 100644 --- a/databricks_sqlalchemy/src/databricks_sqlalchemy/test_local/test_parsing.py +++ b/databricks_sqlalchemy/src/databricks_sqlalchemy/test_local/test_parsing.py @@ -1,5 +1,5 @@ import pytest -from databricks.sqlalchemy._parse import ( +from databricks_sqlalchemy._parse import ( extract_identifiers_from_string, extract_identifier_groups_from_string, extract_three_level_identifier_from_constraint_string, diff --git a/databricks_sqlalchemy/src/databricks_sqlalchemy/test_local/test_types.py b/databricks_sqlalchemy/src/databricks_sqlalchemy/test_local/test_types.py index b91217ed..4d61c55c 100644 --- a/databricks_sqlalchemy/src/databricks_sqlalchemy/test_local/test_types.py +++ b/databricks_sqlalchemy/src/databricks_sqlalchemy/test_local/test_types.py @@ -3,8 +3,8 @@ import pytest import sqlalchemy -from databricks.sqlalchemy.base import DatabricksDialect -from databricks.sqlalchemy._types import TINYINT, TIMESTAMP, TIMESTAMP_NTZ +from databricks_sqlalchemy.base import DatabricksDialect +from databricks_sqlalchemy._types import TINYINT, TIMESTAMP, TIMESTAMP_NTZ class DatabricksDataType(enum.Enum): From f0c8e7aef6b6c2d087a9c55cc46c8bee42473f6b Mon Sep 17 00:00:00 2001 From: Jothi Prakash Date: Mon, 26 Aug 2024 10:51:30 +0530 Subject: [PATCH 17/53] Added poetry.lock --- databricks_sql_connector_core/poetry.lock | 1177 +++++++++++++++++++++ 1 file changed, 1177 insertions(+) create mode 100644 databricks_sql_connector_core/poetry.lock diff --git a/databricks_sql_connector_core/poetry.lock b/databricks_sql_connector_core/poetry.lock new file mode 100644 index 00000000..d4c1c08e --- /dev/null +++ b/databricks_sql_connector_core/poetry.lock @@ -0,0 +1,1177 @@ +# This file is automatically @generated by Poetry 1.8.3 and should not be changed by hand. + +[[package]] +name = "alembic" +version = "1.13.2" +description = "A database migration tool for SQLAlchemy." +optional = true +python-versions = ">=3.8" +files = [ + {file = "alembic-1.13.2-py3-none-any.whl", hash = "sha256:6b8733129a6224a9a711e17c99b08462dbf7cc9670ba8f2e2ae9af860ceb1953"}, + {file = "alembic-1.13.2.tar.gz", hash = "sha256:1ff0ae32975f4fd96028c39ed9bb3c867fe3af956bd7bb37343b54c9fe7445ef"}, +] + +[package.dependencies] +importlib-metadata = {version = "*", markers = "python_version < \"3.9\""} +importlib-resources = {version = "*", markers = "python_version < \"3.9\""} +Mako = "*" +SQLAlchemy = ">=1.3.0" +typing-extensions = ">=4" + +[package.extras] +tz = ["backports.zoneinfo"] + +[[package]] +name = "astroid" +version = "3.2.4" +description = "An abstract syntax tree for Python with inference support." +optional = false +python-versions = ">=3.8.0" +files = [ + {file = "astroid-3.2.4-py3-none-any.whl", hash = "sha256:413658a61eeca6202a59231abb473f932038fbcbf1666587f66d482083413a25"}, + {file = "astroid-3.2.4.tar.gz", hash = "sha256:0e14202810b30da1b735827f78f5157be2bbd4a7a59b7707ca0bfc2fb4c0063a"}, +] + +[package.dependencies] +typing-extensions = {version = ">=4.0.0", markers = "python_version < \"3.11\""} + +[[package]] +name = "black" +version = "22.12.0" +description = "The uncompromising code formatter." +optional = false +python-versions = ">=3.7" +files = [ + {file = "black-22.12.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9eedd20838bd5d75b80c9f5487dbcb06836a43833a37846cf1d8c1cc01cef59d"}, + {file = "black-22.12.0-cp310-cp310-win_amd64.whl", hash = "sha256:159a46a4947f73387b4d83e87ea006dbb2337eab6c879620a3ba52699b1f4351"}, + {file = "black-22.12.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d30b212bffeb1e252b31dd269dfae69dd17e06d92b87ad26e23890f3efea366f"}, + {file = "black-22.12.0-cp311-cp311-win_amd64.whl", hash = "sha256:7412e75863aa5c5411886804678b7d083c7c28421210180d67dfd8cf1221e1f4"}, + {file = "black-22.12.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c116eed0efb9ff870ded8b62fe9f28dd61ef6e9ddd28d83d7d264a38417dcee2"}, + {file = "black-22.12.0-cp37-cp37m-win_amd64.whl", hash = "sha256:1f58cbe16dfe8c12b7434e50ff889fa479072096d79f0a7f25e4ab8e94cd8350"}, + {file = "black-22.12.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:77d86c9f3db9b1bf6761244bc0b3572a546f5fe37917a044e02f3166d5aafa7d"}, + {file = "black-22.12.0-cp38-cp38-win_amd64.whl", hash = "sha256:82d9fe8fee3401e02e79767016b4907820a7dc28d70d137eb397b92ef3cc5bfc"}, + {file = "black-22.12.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:101c69b23df9b44247bd88e1d7e90154336ac4992502d4197bdac35dd7ee3320"}, + {file = "black-22.12.0-cp39-cp39-win_amd64.whl", hash = "sha256:559c7a1ba9a006226f09e4916060982fd27334ae1998e7a38b3f33a37f7a2148"}, + {file = "black-22.12.0-py3-none-any.whl", hash = "sha256:436cc9167dd28040ad90d3b404aec22cedf24a6e4d7de221bec2730ec0c97bcf"}, + {file = "black-22.12.0.tar.gz", hash = "sha256:229351e5a18ca30f447bf724d007f890f97e13af070bb6ad4c0a441cd7596a2f"}, +] + +[package.dependencies] +click = ">=8.0.0" +mypy-extensions = ">=0.4.3" +pathspec = ">=0.9.0" +platformdirs = ">=2" +tomli = {version = ">=1.1.0", markers = "python_full_version < \"3.11.0a7\""} +typing-extensions = {version = ">=3.10.0.0", markers = "python_version < \"3.10\""} + +[package.extras] +colorama = ["colorama (>=0.4.3)"] +d = ["aiohttp (>=3.7.4)"] +jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"] +uvloop = ["uvloop (>=0.15.2)"] + +[[package]] +name = "certifi" +version = "2024.7.4" +description = "Python package for providing Mozilla's CA Bundle." +optional = false +python-versions = ">=3.6" +files = [ + {file = "certifi-2024.7.4-py3-none-any.whl", hash = "sha256:c198e21b1289c2ab85ee4e67bb4b4ef3ead0892059901a8d5b622f24a1101e90"}, + {file = "certifi-2024.7.4.tar.gz", hash = "sha256:5a1e7645bc0ec61a09e26c36f6106dd4cf40c6db3a1fb6352b0244e7fb057c7b"}, +] + +[[package]] +name = "charset-normalizer" +version = "3.3.2" +description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." +optional = false +python-versions = ">=3.7.0" +files = [ + {file = "charset-normalizer-3.3.2.tar.gz", hash = "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-win32.whl", hash = "sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-win32.whl", hash = "sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-win32.whl", hash = "sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:95f2a5796329323b8f0512e09dbb7a1860c46a39da62ecb2324f116fa8fdc85c"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c002b4ffc0be611f0d9da932eb0f704fe2602a9a949d1f738e4c34c75b0863d5"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a981a536974bbc7a512cf44ed14938cf01030a99e9b3a06dd59578882f06f985"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3287761bc4ee9e33561a7e058c72ac0938c4f57fe49a09eae428fd88aafe7bb6"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:42cb296636fcc8b0644486d15c12376cb9fa75443e00fb25de0b8602e64c1714"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0a55554a2fa0d408816b3b5cedf0045f4b8e1a6065aec45849de2d6f3f8e9786"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:c083af607d2515612056a31f0a8d9e0fcb5876b7bfc0abad3ecd275bc4ebc2d5"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:87d1351268731db79e0f8e745d92493ee2841c974128ef629dc518b937d9194c"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:bd8f7df7d12c2db9fab40bdd87a7c09b1530128315d047a086fa3ae3435cb3a8"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:c180f51afb394e165eafe4ac2936a14bee3eb10debc9d9e4db8958fe36afe711"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:8c622a5fe39a48f78944a87d4fb8a53ee07344641b0562c540d840748571b811"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-win32.whl", hash = "sha256:db364eca23f876da6f9e16c9da0df51aa4f104a972735574842618b8c6d999d4"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-win_amd64.whl", hash = "sha256:86216b5cee4b06df986d214f664305142d9c76df9b6512be2738aa72a2048f99"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:6463effa3186ea09411d50efc7d85360b38d5f09b870c48e4600f63af490e56a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6c4caeef8fa63d06bd437cd4bdcf3ffefe6738fb1b25951440d80dc7df8c03ac"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:37e55c8e51c236f95b033f6fb391d7d7970ba5fe7ff453dad675e88cf303377a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb69256e180cb6c8a894fee62b3afebae785babc1ee98b81cdf68bbca1987f33"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae5f4161f18c61806f411a13b0310bea87f987c7d2ecdbdaad0e94eb2e404238"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b2b0a0c0517616b6869869f8c581d4eb2dd83a4d79e0ebcb7d373ef9956aeb0a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:45485e01ff4d3630ec0d9617310448a8702f70e9c01906b0d0118bdf9d124cf2"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eb00ed941194665c332bf8e078baf037d6c35d7c4f3102ea2d4f16ca94a26dc8"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2127566c664442652f024c837091890cb1942c30937add288223dc895793f898"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a50aebfa173e157099939b17f18600f72f84eed3049e743b68ad15bd69b6bf99"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:4d0d1650369165a14e14e1e47b372cfcb31d6ab44e6e33cb2d4e57265290044d"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:923c0c831b7cfcb071580d3f46c4baf50f174be571576556269530f4bbd79d04"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:06a81e93cd441c56a9b65d8e1d043daeb97a3d0856d177d5c90ba85acb3db087"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-win32.whl", hash = "sha256:6ef1d82a3af9d3eecdba2321dc1b3c238245d890843e040e41e470ffa64c3e25"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-win_amd64.whl", hash = "sha256:eb8821e09e916165e160797a6c17edda0679379a4be5c716c260e836e122f54b"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:c235ebd9baae02f1b77bcea61bce332cb4331dc3617d254df3323aa01ab47bd4"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5b4c145409bef602a690e7cfad0a15a55c13320ff7a3ad7ca59c13bb8ba4d45d"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:68d1f8a9e9e37c1223b656399be5d6b448dea850bed7d0f87a8311f1ff3dabb0"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22afcb9f253dac0696b5a4be4a1c0f8762f8239e21b99680099abd9b2b1b2269"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e27ad930a842b4c5eb8ac0016b0a54f5aebbe679340c26101df33424142c143c"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f79682fbe303db92bc2b1136016a38a42e835d932bab5b3b1bfcfbf0640e519"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b261ccdec7821281dade748d088bb6e9b69e6d15b30652b74cbbac25e280b796"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:122c7fa62b130ed55f8f285bfd56d5f4b4a5b503609d181f9ad85e55c89f4185"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d0eccceffcb53201b5bfebb52600a5fb483a20b61da9dbc885f8b103cbe7598c"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:9f96df6923e21816da7e0ad3fd47dd8f94b2a5ce594e00677c0013018b813458"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:7f04c839ed0b6b98b1a7501a002144b76c18fb1c1850c8b98d458ac269e26ed2"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:34d1c8da1e78d2e001f363791c98a272bb734000fcef47a491c1e3b0505657a8"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-win32.whl", hash = "sha256:aed38f6e4fb3f5d6bf81bfa990a07806be9d83cf7bacef998ab1a9bd660a581f"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:b01b88d45a6fcb69667cd6d2f7a9aeb4bf53760d7fc536bf679ec94fe9f3ff3d"}, + {file = "charset_normalizer-3.3.2-py3-none-any.whl", hash = "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc"}, +] + +[[package]] +name = "click" +version = "8.1.7" +description = "Composable command line interface toolkit" +optional = false +python-versions = ">=3.7" +files = [ + {file = "click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28"}, + {file = "click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"}, +] + +[package.dependencies] +colorama = {version = "*", markers = "platform_system == \"Windows\""} + +[[package]] +name = "colorama" +version = "0.4.6" +description = "Cross-platform colored terminal text." +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" +files = [ + {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, + {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, +] + +[[package]] +name = "dill" +version = "0.3.8" +description = "serialize all of Python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "dill-0.3.8-py3-none-any.whl", hash = "sha256:c36ca9ffb54365bdd2f8eb3eff7d2a21237f8452b57ace88b1ac615b7e815bd7"}, + {file = "dill-0.3.8.tar.gz", hash = "sha256:3ebe3c479ad625c4553aca177444d89b486b1d84982eeacded644afc0cf797ca"}, +] + +[package.extras] +graph = ["objgraph (>=1.7.2)"] +profile = ["gprof2dot (>=2022.7.29)"] + +[[package]] +name = "et-xmlfile" +version = "1.1.0" +description = "An implementation of lxml.xmlfile for the standard library" +optional = false +python-versions = ">=3.6" +files = [ + {file = "et_xmlfile-1.1.0-py3-none-any.whl", hash = "sha256:a2ba85d1d6a74ef63837eed693bcb89c3f752169b0e3e7ae5b16ca5e1b3deada"}, + {file = "et_xmlfile-1.1.0.tar.gz", hash = "sha256:8eb9e2bc2f8c97e37a2dc85a09ecdcdec9d8a396530a6d5a33b30b9a92da0c5c"}, +] + +[[package]] +name = "exceptiongroup" +version = "1.2.2" +description = "Backport of PEP 654 (exception groups)" +optional = false +python-versions = ">=3.7" +files = [ + {file = "exceptiongroup-1.2.2-py3-none-any.whl", hash = "sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b"}, + {file = "exceptiongroup-1.2.2.tar.gz", hash = "sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc"}, +] + +[package.extras] +test = ["pytest (>=6)"] + +[[package]] +name = "greenlet" +version = "3.0.3" +description = "Lightweight in-process concurrent programming" +optional = true +python-versions = ">=3.7" +files = [ + {file = "greenlet-3.0.3-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:9da2bd29ed9e4f15955dd1595ad7bc9320308a3b766ef7f837e23ad4b4aac31a"}, + {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d353cadd6083fdb056bb46ed07e4340b0869c305c8ca54ef9da3421acbdf6881"}, + {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dca1e2f3ca00b84a396bc1bce13dd21f680f035314d2379c4160c98153b2059b"}, + {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3ed7fb269f15dc662787f4119ec300ad0702fa1b19d2135a37c2c4de6fadfd4a"}, + {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd4f49ae60e10adbc94b45c0b5e6a179acc1736cf7a90160b404076ee283cf83"}, + {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:73a411ef564e0e097dbe7e866bb2dda0f027e072b04da387282b02c308807405"}, + {file = "greenlet-3.0.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:7f362975f2d179f9e26928c5b517524e89dd48530a0202570d55ad6ca5d8a56f"}, + {file = "greenlet-3.0.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:649dde7de1a5eceb258f9cb00bdf50e978c9db1b996964cd80703614c86495eb"}, + {file = "greenlet-3.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:68834da854554926fbedd38c76e60c4a2e3198c6fbed520b106a8986445caaf9"}, + {file = "greenlet-3.0.3-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:b1b5667cced97081bf57b8fa1d6bfca67814b0afd38208d52538316e9422fc61"}, + {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:52f59dd9c96ad2fc0d5724107444f76eb20aaccb675bf825df6435acb7703559"}, + {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:afaff6cf5200befd5cec055b07d1c0a5a06c040fe5ad148abcd11ba6ab9b114e"}, + {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fe754d231288e1e64323cfad462fcee8f0288654c10bdf4f603a39ed923bef33"}, + {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2797aa5aedac23af156bbb5a6aa2cd3427ada2972c828244eb7d1b9255846379"}, + {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b7f009caad047246ed379e1c4dbcb8b020f0a390667ea74d2387be2998f58a22"}, + {file = "greenlet-3.0.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:c5e1536de2aad7bf62e27baf79225d0d64360d4168cf2e6becb91baf1ed074f3"}, + {file = "greenlet-3.0.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:894393ce10ceac937e56ec00bb71c4c2f8209ad516e96033e4b3b1de270e200d"}, + {file = "greenlet-3.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:1ea188d4f49089fc6fb283845ab18a2518d279c7cd9da1065d7a84e991748728"}, + {file = "greenlet-3.0.3-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:70fb482fdf2c707765ab5f0b6655e9cfcf3780d8d87355a063547b41177599be"}, + {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d4d1ac74f5c0c0524e4a24335350edad7e5f03b9532da7ea4d3c54d527784f2e"}, + {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:149e94a2dd82d19838fe4b2259f1b6b9957d5ba1b25640d2380bea9c5df37676"}, + {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:15d79dd26056573940fcb8c7413d84118086f2ec1a8acdfa854631084393efcc"}, + {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:881b7db1ebff4ba09aaaeae6aa491daeb226c8150fc20e836ad00041bcb11230"}, + {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fcd2469d6a2cf298f198f0487e0a5b1a47a42ca0fa4dfd1b6862c999f018ebbf"}, + {file = "greenlet-3.0.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:1f672519db1796ca0d8753f9e78ec02355e862d0998193038c7073045899f305"}, + {file = "greenlet-3.0.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2516a9957eed41dd8f1ec0c604f1cdc86758b587d964668b5b196a9db5bfcde6"}, + {file = "greenlet-3.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:bba5387a6975598857d86de9eac14210a49d554a77eb8261cc68b7d082f78ce2"}, + {file = "greenlet-3.0.3-cp37-cp37m-macosx_11_0_universal2.whl", hash = "sha256:5b51e85cb5ceda94e79d019ed36b35386e8c37d22f07d6a751cb659b180d5274"}, + {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:daf3cb43b7cf2ba96d614252ce1684c1bccee6b2183a01328c98d36fcd7d5cb0"}, + {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:99bf650dc5d69546e076f413a87481ee1d2d09aaaaaca058c9251b6d8c14783f"}, + {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2dd6e660effd852586b6a8478a1d244b8dc90ab5b1321751d2ea15deb49ed414"}, + {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e3391d1e16e2a5a1507d83e4a8b100f4ee626e8eca43cf2cadb543de69827c4c"}, + {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e1f145462f1fa6e4a4ae3c0f782e580ce44d57c8f2c7aae1b6fa88c0b2efdb41"}, + {file = "greenlet-3.0.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:1a7191e42732df52cb5f39d3527217e7ab73cae2cb3694d241e18f53d84ea9a7"}, + {file = "greenlet-3.0.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:0448abc479fab28b00cb472d278828b3ccca164531daab4e970a0458786055d6"}, + {file = "greenlet-3.0.3-cp37-cp37m-win32.whl", hash = "sha256:b542be2440edc2d48547b5923c408cbe0fc94afb9f18741faa6ae970dbcb9b6d"}, + {file = "greenlet-3.0.3-cp37-cp37m-win_amd64.whl", hash = "sha256:01bc7ea167cf943b4c802068e178bbf70ae2e8c080467070d01bfa02f337ee67"}, + {file = "greenlet-3.0.3-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:1996cb9306c8595335bb157d133daf5cf9f693ef413e7673cb07e3e5871379ca"}, + {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ddc0f794e6ad661e321caa8d2f0a55ce01213c74722587256fb6566049a8b04"}, + {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c9db1c18f0eaad2f804728c67d6c610778456e3e1cc4ab4bbd5eeb8e6053c6fc"}, + {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7170375bcc99f1a2fbd9c306f5be8764eaf3ac6b5cb968862cad4c7057756506"}, + {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6b66c9c1e7ccabad3a7d037b2bcb740122a7b17a53734b7d72a344ce39882a1b"}, + {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:098d86f528c855ead3479afe84b49242e174ed262456c342d70fc7f972bc13c4"}, + {file = "greenlet-3.0.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:81bb9c6d52e8321f09c3d165b2a78c680506d9af285bfccbad9fb7ad5a5da3e5"}, + {file = "greenlet-3.0.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:fd096eb7ffef17c456cfa587523c5f92321ae02427ff955bebe9e3c63bc9f0da"}, + {file = "greenlet-3.0.3-cp38-cp38-win32.whl", hash = "sha256:d46677c85c5ba00a9cb6f7a00b2bfa6f812192d2c9f7d9c4f6a55b60216712f3"}, + {file = "greenlet-3.0.3-cp38-cp38-win_amd64.whl", hash = "sha256:419b386f84949bf0e7c73e6032e3457b82a787c1ab4a0e43732898a761cc9dbf"}, + {file = "greenlet-3.0.3-cp39-cp39-macosx_11_0_universal2.whl", hash = "sha256:da70d4d51c8b306bb7a031d5cff6cc25ad253affe89b70352af5f1cb68e74b53"}, + {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:086152f8fbc5955df88382e8a75984e2bb1c892ad2e3c80a2508954e52295257"}, + {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d73a9fe764d77f87f8ec26a0c85144d6a951a6c438dfe50487df5595c6373eac"}, + {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b7dcbe92cc99f08c8dd11f930de4d99ef756c3591a5377d1d9cd7dd5e896da71"}, + {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1551a8195c0d4a68fac7a4325efac0d541b48def35feb49d803674ac32582f61"}, + {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:64d7675ad83578e3fc149b617a444fab8efdafc9385471f868eb5ff83e446b8b"}, + {file = "greenlet-3.0.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:b37eef18ea55f2ffd8f00ff8fe7c8d3818abd3e25fb73fae2ca3b672e333a7a6"}, + {file = "greenlet-3.0.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:77457465d89b8263bca14759d7c1684df840b6811b2499838cc5b040a8b5b113"}, + {file = "greenlet-3.0.3-cp39-cp39-win32.whl", hash = "sha256:57e8974f23e47dac22b83436bdcf23080ade568ce77df33159e019d161ce1d1e"}, + {file = "greenlet-3.0.3-cp39-cp39-win_amd64.whl", hash = "sha256:c5ee858cfe08f34712f548c3c363e807e7186f03ad7a5039ebadb29e8c6be067"}, + {file = "greenlet-3.0.3.tar.gz", hash = "sha256:43374442353259554ce33599da8b692d5aa96f8976d567d4badf263371fbe491"}, +] + +[package.extras] +docs = ["Sphinx", "furo"] +test = ["objgraph", "psutil"] + +[[package]] +name = "idna" +version = "3.8" +description = "Internationalized Domain Names in Applications (IDNA)" +optional = false +python-versions = ">=3.6" +files = [ + {file = "idna-3.8-py3-none-any.whl", hash = "sha256:050b4e5baadcd44d760cedbd2b8e639f2ff89bbc7a5730fcc662954303377aac"}, + {file = "idna-3.8.tar.gz", hash = "sha256:d838c2c0ed6fced7693d5e8ab8e734d5f8fda53a039c0164afb0b82e771e3603"}, +] + +[[package]] +name = "importlib-metadata" +version = "8.4.0" +description = "Read metadata from Python packages" +optional = true +python-versions = ">=3.8" +files = [ + {file = "importlib_metadata-8.4.0-py3-none-any.whl", hash = "sha256:66f342cc6ac9818fc6ff340576acd24d65ba0b3efabb2b4ac08b598965a4a2f1"}, + {file = "importlib_metadata-8.4.0.tar.gz", hash = "sha256:9a547d3bc3608b025f93d403fdd1aae741c24fbb8314df4b155675742ce303c5"}, +] + +[package.dependencies] +zipp = ">=0.5" + +[package.extras] +doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +perf = ["ipython"] +test = ["flufl.flake8", "importlib-resources (>=1.3)", "jaraco.test (>=5.4)", "packaging", "pyfakefs", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy", "pytest-perf (>=0.9.2)", "pytest-ruff (>=0.2.1)"] + +[[package]] +name = "importlib-resources" +version = "6.4.4" +description = "Read resources from Python packages" +optional = true +python-versions = ">=3.8" +files = [ + {file = "importlib_resources-6.4.4-py3-none-any.whl", hash = "sha256:dda242603d1c9cd836c3368b1174ed74cb4049ecd209e7a1a0104620c18c5c11"}, + {file = "importlib_resources-6.4.4.tar.gz", hash = "sha256:20600c8b7361938dc0bb2d5ec0297802e575df486f5a544fa414da65e13721f7"}, +] + +[package.dependencies] +zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""} + +[package.extras] +check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] +cover = ["pytest-cov"] +doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +enabler = ["pytest-enabler (>=2.2)"] +test = ["jaraco.test (>=5.4)", "pytest (>=6,!=8.1.*)", "zipp (>=3.17)"] +type = ["pytest-mypy"] + +[[package]] +name = "iniconfig" +version = "2.0.0" +description = "brain-dead simple config-ini parsing" +optional = false +python-versions = ">=3.7" +files = [ + {file = "iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374"}, + {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"}, +] + +[[package]] +name = "isort" +version = "5.13.2" +description = "A Python utility / library to sort Python imports." +optional = false +python-versions = ">=3.8.0" +files = [ + {file = "isort-5.13.2-py3-none-any.whl", hash = "sha256:8ca5e72a8d85860d5a3fa69b8745237f2939afe12dbf656afbcb47fe72d947a6"}, + {file = "isort-5.13.2.tar.gz", hash = "sha256:48fdfcb9face5d58a4f6dde2e72a1fb8dcaf8ab26f95ab49fab84c2ddefb0109"}, +] + +[package.extras] +colors = ["colorama (>=0.4.6)"] + +[[package]] +name = "lz4" +version = "4.3.3" +description = "LZ4 Bindings for Python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "lz4-4.3.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b891880c187e96339474af2a3b2bfb11a8e4732ff5034be919aa9029484cd201"}, + {file = "lz4-4.3.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:222a7e35137d7539c9c33bb53fcbb26510c5748779364014235afc62b0ec797f"}, + {file = "lz4-4.3.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f76176492ff082657ada0d0f10c794b6da5800249ef1692b35cf49b1e93e8ef7"}, + {file = "lz4-4.3.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f1d18718f9d78182c6b60f568c9a9cec8a7204d7cb6fad4e511a2ef279e4cb05"}, + {file = "lz4-4.3.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6cdc60e21ec70266947a48839b437d46025076eb4b12c76bd47f8e5eb8a75dcc"}, + {file = "lz4-4.3.3-cp310-cp310-win32.whl", hash = "sha256:c81703b12475da73a5d66618856d04b1307e43428a7e59d98cfe5a5d608a74c6"}, + {file = "lz4-4.3.3-cp310-cp310-win_amd64.whl", hash = "sha256:43cf03059c0f941b772c8aeb42a0813d68d7081c009542301637e5782f8a33e2"}, + {file = "lz4-4.3.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:30e8c20b8857adef7be045c65f47ab1e2c4fabba86a9fa9a997d7674a31ea6b6"}, + {file = "lz4-4.3.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2f7b1839f795315e480fb87d9bc60b186a98e3e5d17203c6e757611ef7dcef61"}, + {file = "lz4-4.3.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:edfd858985c23523f4e5a7526ca6ee65ff930207a7ec8a8f57a01eae506aaee7"}, + {file = "lz4-4.3.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e9c410b11a31dbdc94c05ac3c480cb4b222460faf9231f12538d0074e56c563"}, + {file = "lz4-4.3.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d2507ee9c99dbddd191c86f0e0c8b724c76d26b0602db9ea23232304382e1f21"}, + {file = "lz4-4.3.3-cp311-cp311-win32.whl", hash = "sha256:f180904f33bdd1e92967923a43c22899e303906d19b2cf8bb547db6653ea6e7d"}, + {file = "lz4-4.3.3-cp311-cp311-win_amd64.whl", hash = "sha256:b14d948e6dce389f9a7afc666d60dd1e35fa2138a8ec5306d30cd2e30d36b40c"}, + {file = "lz4-4.3.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:e36cd7b9d4d920d3bfc2369840da506fa68258f7bb176b8743189793c055e43d"}, + {file = "lz4-4.3.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:31ea4be9d0059c00b2572d700bf2c1bc82f241f2c3282034a759c9a4d6ca4dc2"}, + {file = "lz4-4.3.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:33c9a6fd20767ccaf70649982f8f3eeb0884035c150c0b818ea660152cf3c809"}, + {file = "lz4-4.3.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bca8fccc15e3add173da91be8f34121578dc777711ffd98d399be35487c934bf"}, + {file = "lz4-4.3.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e7d84b479ddf39fe3ea05387f10b779155fc0990125f4fb35d636114e1c63a2e"}, + {file = "lz4-4.3.3-cp312-cp312-win32.whl", hash = "sha256:337cb94488a1b060ef1685187d6ad4ba8bc61d26d631d7ba909ee984ea736be1"}, + {file = "lz4-4.3.3-cp312-cp312-win_amd64.whl", hash = "sha256:5d35533bf2cee56f38ced91f766cd0038b6abf46f438a80d50c52750088be93f"}, + {file = "lz4-4.3.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:363ab65bf31338eb364062a15f302fc0fab0a49426051429866d71c793c23394"}, + {file = "lz4-4.3.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:0a136e44a16fc98b1abc404fbabf7f1fada2bdab6a7e970974fb81cf55b636d0"}, + {file = "lz4-4.3.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:abc197e4aca8b63f5ae200af03eb95fb4b5055a8f990079b5bdf042f568469dd"}, + {file = "lz4-4.3.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:56f4fe9c6327adb97406f27a66420b22ce02d71a5c365c48d6b656b4aaeb7775"}, + {file = "lz4-4.3.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f0e822cd7644995d9ba248cb4b67859701748a93e2ab7fc9bc18c599a52e4604"}, + {file = "lz4-4.3.3-cp38-cp38-win32.whl", hash = "sha256:24b3206de56b7a537eda3a8123c644a2b7bf111f0af53bc14bed90ce5562d1aa"}, + {file = "lz4-4.3.3-cp38-cp38-win_amd64.whl", hash = "sha256:b47839b53956e2737229d70714f1d75f33e8ac26e52c267f0197b3189ca6de24"}, + {file = "lz4-4.3.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6756212507405f270b66b3ff7f564618de0606395c0fe10a7ae2ffcbbe0b1fba"}, + {file = "lz4-4.3.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ee9ff50557a942d187ec85462bb0960207e7ec5b19b3b48949263993771c6205"}, + {file = "lz4-4.3.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2b901c7784caac9a1ded4555258207d9e9697e746cc8532129f150ffe1f6ba0d"}, + {file = "lz4-4.3.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b6d9ec061b9eca86e4dcc003d93334b95d53909afd5a32c6e4f222157b50c071"}, + {file = "lz4-4.3.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f4c7bf687303ca47d69f9f0133274958fd672efaa33fb5bcde467862d6c621f0"}, + {file = "lz4-4.3.3-cp39-cp39-win32.whl", hash = "sha256:054b4631a355606e99a42396f5db4d22046a3397ffc3269a348ec41eaebd69d2"}, + {file = "lz4-4.3.3-cp39-cp39-win_amd64.whl", hash = "sha256:eac9af361e0d98335a02ff12fb56caeb7ea1196cf1a49dbf6f17828a131da807"}, + {file = "lz4-4.3.3.tar.gz", hash = "sha256:01fe674ef2889dbb9899d8a67361e0c4a2c833af5aeb37dd505727cf5d2a131e"}, +] + +[package.extras] +docs = ["sphinx (>=1.6.0)", "sphinx-bootstrap-theme"] +flake8 = ["flake8"] +tests = ["psutil", "pytest (!=3.3.0)", "pytest-cov"] + +[[package]] +name = "mako" +version = "1.3.5" +description = "A super-fast templating language that borrows the best ideas from the existing templating languages." +optional = true +python-versions = ">=3.8" +files = [ + {file = "Mako-1.3.5-py3-none-any.whl", hash = "sha256:260f1dbc3a519453a9c856dedfe4beb4e50bd5a26d96386cb6c80856556bb91a"}, + {file = "Mako-1.3.5.tar.gz", hash = "sha256:48dbc20568c1d276a2698b36d968fa76161bf127194907ea6fc594fa81f943bc"}, +] + +[package.dependencies] +MarkupSafe = ">=0.9.2" + +[package.extras] +babel = ["Babel"] +lingua = ["lingua"] +testing = ["pytest"] + +[[package]] +name = "markupsafe" +version = "2.1.5" +description = "Safely add untrusted strings to HTML/XML markup." +optional = true +python-versions = ">=3.7" +files = [ + {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-win32.whl", hash = "sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-win_amd64.whl", hash = "sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ec585f69cec0aa07d945b20805be741395e28ac1627333b1c5b0105962ffced"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b91c037585eba9095565a3556f611e3cbfaa42ca1e865f7b8015fe5c7336d5a5"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7502934a33b54030eaf1194c21c692a534196063db72176b0c4028e140f8f32c"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0e397ac966fdf721b2c528cf028494e86172b4feba51d65f81ffd65c63798f3f"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c061bb86a71b42465156a3ee7bd58c8c2ceacdbeb95d05a99893e08b8467359a"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3a57fdd7ce31c7ff06cdfbf31dafa96cc533c21e443d57f5b1ecc6cdc668ec7f"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-win32.whl", hash = "sha256:397081c1a0bfb5124355710fe79478cdbeb39626492b15d399526ae53422b906"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-win_amd64.whl", hash = "sha256:2b7c57a4dfc4f16f7142221afe5ba4e093e09e728ca65c51f5620c9aaeb9a617"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-win32.whl", hash = "sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-win_amd64.whl", hash = "sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c8b29db45f8fe46ad280a7294f5c3ec36dbac9491f2d1c17345be8e69cc5928f"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ec6a563cff360b50eed26f13adc43e61bc0c04d94b8be985e6fb24b81f6dcfdf"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a549b9c31bec33820e885335b451286e2969a2d9e24879f83fe904a5ce59d70a"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4f11aa001c540f62c6166c7726f71f7573b52c68c31f014c25cc7901deea0b52"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:7b2e5a267c855eea6b4283940daa6e88a285f5f2a67f2220203786dfa59b37e9"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:2d2d793e36e230fd32babe143b04cec8a8b3eb8a3122d2aceb4a371e6b09b8df"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ce409136744f6521e39fd8e2a24c53fa18ad67aa5bc7c2cf83645cce5b5c4e50"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-win32.whl", hash = "sha256:4096e9de5c6fdf43fb4f04c26fb114f61ef0bf2e5604b6ee3019d51b69e8c371"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-win_amd64.whl", hash = "sha256:4275d846e41ecefa46e2015117a9f491e57a71ddd59bbead77e904dc02b1bed2"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:656f7526c69fac7f600bd1f400991cc282b417d17539a1b228617081106feb4a"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:97cafb1f3cbcd3fd2b6fbfb99ae11cdb14deea0736fc2b0952ee177f2b813a46"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f3fbcb7ef1f16e48246f704ab79d79da8a46891e2da03f8783a5b6fa41a9532"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa9db3f79de01457b03d4f01b34cf91bc0048eb2c3846ff26f66687c2f6d16ab"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffee1f21e5ef0d712f9033568f8344d5da8cc2869dbd08d87c84656e6a2d2f68"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5dedb4db619ba5a2787a94d877bc8ffc0566f92a01c0ef214865e54ecc9ee5e0"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:30b600cf0a7ac9234b2638fbc0fb6158ba5bdcdf46aeb631ead21248b9affbc4"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8dd717634f5a044f860435c1d8c16a270ddf0ef8588d4887037c5028b859b0c3"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-win32.whl", hash = "sha256:daa4ee5a243f0f20d528d939d06670a298dd39b1ad5f8a72a4275124a7819eff"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-win_amd64.whl", hash = "sha256:619bc166c4f2de5caa5a633b8b7326fbe98e0ccbfacabd87268a2b15ff73a029"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7a68b554d356a91cce1236aa7682dc01df0edba8d043fd1ce607c49dd3c1edcf"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:db0b55e0f3cc0be60c1f19efdde9a637c32740486004f20d1cff53c3c0ece4d2"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e53af139f8579a6d5f7b76549125f0d94d7e630761a2111bc431fd820e163b8"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17b950fccb810b3293638215058e432159d2b71005c74371d784862b7e4683f3"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c31f53cdae6ecfa91a77820e8b151dba54ab528ba65dfd235c80b086d68a465"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bff1b4290a66b490a2f4719358c0cdcd9bafb6b8f061e45c7a2460866bf50c2e"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bc1667f8b83f48511b94671e0e441401371dfd0f0a795c7daa4a3cd1dde55bea"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5049256f536511ee3f7e1b3f87d1d1209d327e818e6ae1365e8653d7e3abb6a6"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-win32.whl", hash = "sha256:00e046b6dd71aa03a41079792f8473dc494d564611a8f89bbbd7cb93295ebdcf"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-win_amd64.whl", hash = "sha256:fa173ec60341d6bb97a89f5ea19c85c5643c1e7dedebc22f5181eb73573142c5"}, + {file = "MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b"}, +] + +[[package]] +name = "mccabe" +version = "0.7.0" +description = "McCabe checker, plugin for flake8" +optional = false +python-versions = ">=3.6" +files = [ + {file = "mccabe-0.7.0-py2.py3-none-any.whl", hash = "sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e"}, + {file = "mccabe-0.7.0.tar.gz", hash = "sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325"}, +] + +[[package]] +name = "mypy" +version = "1.11.2" +description = "Optional static typing for Python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "mypy-1.11.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d42a6dd818ffce7be66cce644f1dff482f1d97c53ca70908dff0b9ddc120b77a"}, + {file = "mypy-1.11.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:801780c56d1cdb896eacd5619a83e427ce436d86a3bdf9112527f24a66618fef"}, + {file = "mypy-1.11.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:41ea707d036a5307ac674ea172875f40c9d55c5394f888b168033177fce47383"}, + {file = "mypy-1.11.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6e658bd2d20565ea86da7d91331b0eed6d2eee22dc031579e6297f3e12c758c8"}, + {file = "mypy-1.11.2-cp310-cp310-win_amd64.whl", hash = "sha256:478db5f5036817fe45adb7332d927daa62417159d49783041338921dcf646fc7"}, + {file = "mypy-1.11.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:75746e06d5fa1e91bfd5432448d00d34593b52e7e91a187d981d08d1f33d4385"}, + {file = "mypy-1.11.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a976775ab2256aadc6add633d44f100a2517d2388906ec4f13231fafbb0eccca"}, + {file = "mypy-1.11.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:cd953f221ac1379050a8a646585a29574488974f79d8082cedef62744f0a0104"}, + {file = "mypy-1.11.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:57555a7715c0a34421013144a33d280e73c08df70f3a18a552938587ce9274f4"}, + {file = "mypy-1.11.2-cp311-cp311-win_amd64.whl", hash = "sha256:36383a4fcbad95f2657642a07ba22ff797de26277158f1cc7bd234821468b1b6"}, + {file = "mypy-1.11.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:e8960dbbbf36906c5c0b7f4fbf2f0c7ffb20f4898e6a879fcf56a41a08b0d318"}, + {file = "mypy-1.11.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:06d26c277962f3fb50e13044674aa10553981ae514288cb7d0a738f495550b36"}, + {file = "mypy-1.11.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6e7184632d89d677973a14d00ae4d03214c8bc301ceefcdaf5c474866814c987"}, + {file = "mypy-1.11.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:3a66169b92452f72117e2da3a576087025449018afc2d8e9bfe5ffab865709ca"}, + {file = "mypy-1.11.2-cp312-cp312-win_amd64.whl", hash = "sha256:969ea3ef09617aff826885a22ece0ddef69d95852cdad2f60c8bb06bf1f71f70"}, + {file = "mypy-1.11.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:37c7fa6121c1cdfcaac97ce3d3b5588e847aa79b580c1e922bb5d5d2902df19b"}, + {file = "mypy-1.11.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4a8a53bc3ffbd161b5b2a4fff2f0f1e23a33b0168f1c0778ec70e1a3d66deb86"}, + {file = "mypy-1.11.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2ff93107f01968ed834f4256bc1fc4475e2fecf6c661260066a985b52741ddce"}, + {file = "mypy-1.11.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:edb91dded4df17eae4537668b23f0ff6baf3707683734b6a818d5b9d0c0c31a1"}, + {file = "mypy-1.11.2-cp38-cp38-win_amd64.whl", hash = "sha256:ee23de8530d99b6db0573c4ef4bd8f39a2a6f9b60655bf7a1357e585a3486f2b"}, + {file = "mypy-1.11.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:801ca29f43d5acce85f8e999b1e431fb479cb02d0e11deb7d2abb56bdaf24fd6"}, + {file = "mypy-1.11.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:af8d155170fcf87a2afb55b35dc1a0ac21df4431e7d96717621962e4b9192e70"}, + {file = "mypy-1.11.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f7821776e5c4286b6a13138cc935e2e9b6fde05e081bdebf5cdb2bb97c9df81d"}, + {file = "mypy-1.11.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:539c570477a96a4e6fb718b8d5c3e0c0eba1f485df13f86d2970c91f0673148d"}, + {file = "mypy-1.11.2-cp39-cp39-win_amd64.whl", hash = "sha256:3f14cd3d386ac4d05c5a39a51b84387403dadbd936e17cb35882134d4f8f0d24"}, + {file = "mypy-1.11.2-py3-none-any.whl", hash = "sha256:b499bc07dbdcd3de92b0a8b29fdf592c111276f6a12fe29c30f6c417dd546d12"}, + {file = "mypy-1.11.2.tar.gz", hash = "sha256:7f9993ad3e0ffdc95c2a14b66dee63729f021968bff8ad911867579c65d13a79"}, +] + +[package.dependencies] +mypy-extensions = ">=1.0.0" +tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} +typing-extensions = ">=4.6.0" + +[package.extras] +dmypy = ["psutil (>=4.0)"] +install-types = ["pip"] +mypyc = ["setuptools (>=50)"] +reports = ["lxml"] + +[[package]] +name = "mypy-extensions" +version = "1.0.0" +description = "Type system extensions for programs checked with the mypy type checker." +optional = false +python-versions = ">=3.5" +files = [ + {file = "mypy_extensions-1.0.0-py3-none-any.whl", hash = "sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d"}, + {file = "mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"}, +] + +[[package]] +name = "numpy" +version = "1.24.4" +description = "Fundamental package for array computing in Python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "numpy-1.24.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c0bfb52d2169d58c1cdb8cc1f16989101639b34c7d3ce60ed70b19c63eba0b64"}, + {file = "numpy-1.24.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ed094d4f0c177b1b8e7aa9cba7d6ceed51c0e569a5318ac0ca9a090680a6a1b1"}, + {file = "numpy-1.24.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79fc682a374c4a8ed08b331bef9c5f582585d1048fa6d80bc6c35bc384eee9b4"}, + {file = "numpy-1.24.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ffe43c74893dbf38c2b0a1f5428760a1a9c98285553c89e12d70a96a7f3a4d6"}, + {file = "numpy-1.24.4-cp310-cp310-win32.whl", hash = "sha256:4c21decb6ea94057331e111a5bed9a79d335658c27ce2adb580fb4d54f2ad9bc"}, + {file = "numpy-1.24.4-cp310-cp310-win_amd64.whl", hash = "sha256:b4bea75e47d9586d31e892a7401f76e909712a0fd510f58f5337bea9572c571e"}, + {file = "numpy-1.24.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f136bab9c2cfd8da131132c2cf6cc27331dd6fae65f95f69dcd4ae3c3639c810"}, + {file = "numpy-1.24.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e2926dac25b313635e4d6cf4dc4e51c8c0ebfed60b801c799ffc4c32bf3d1254"}, + {file = "numpy-1.24.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:222e40d0e2548690405b0b3c7b21d1169117391c2e82c378467ef9ab4c8f0da7"}, + {file = "numpy-1.24.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7215847ce88a85ce39baf9e89070cb860c98fdddacbaa6c0da3ffb31b3350bd5"}, + {file = "numpy-1.24.4-cp311-cp311-win32.whl", hash = "sha256:4979217d7de511a8d57f4b4b5b2b965f707768440c17cb70fbf254c4b225238d"}, + {file = "numpy-1.24.4-cp311-cp311-win_amd64.whl", hash = "sha256:b7b1fc9864d7d39e28f41d089bfd6353cb5f27ecd9905348c24187a768c79694"}, + {file = "numpy-1.24.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1452241c290f3e2a312c137a9999cdbf63f78864d63c79039bda65ee86943f61"}, + {file = "numpy-1.24.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:04640dab83f7c6c85abf9cd729c5b65f1ebd0ccf9de90b270cd61935eef0197f"}, + {file = "numpy-1.24.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5425b114831d1e77e4b5d812b69d11d962e104095a5b9c3b641a218abcc050e"}, + {file = "numpy-1.24.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd80e219fd4c71fc3699fc1dadac5dcf4fd882bfc6f7ec53d30fa197b8ee22dc"}, + {file = "numpy-1.24.4-cp38-cp38-win32.whl", hash = "sha256:4602244f345453db537be5314d3983dbf5834a9701b7723ec28923e2889e0bb2"}, + {file = "numpy-1.24.4-cp38-cp38-win_amd64.whl", hash = "sha256:692f2e0f55794943c5bfff12b3f56f99af76f902fc47487bdfe97856de51a706"}, + {file = "numpy-1.24.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2541312fbf09977f3b3ad449c4e5f4bb55d0dbf79226d7724211acc905049400"}, + {file = "numpy-1.24.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9667575fb6d13c95f1b36aca12c5ee3356bf001b714fc354eb5465ce1609e62f"}, + {file = "numpy-1.24.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f3a86ed21e4f87050382c7bc96571755193c4c1392490744ac73d660e8f564a9"}, + {file = "numpy-1.24.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d11efb4dbecbdf22508d55e48d9c8384db795e1b7b51ea735289ff96613ff74d"}, + {file = "numpy-1.24.4-cp39-cp39-win32.whl", hash = "sha256:6620c0acd41dbcb368610bb2f4d83145674040025e5536954782467100aa8835"}, + {file = "numpy-1.24.4-cp39-cp39-win_amd64.whl", hash = "sha256:befe2bf740fd8373cf56149a5c23a0f601e82869598d41f8e188a0e9869926f8"}, + {file = "numpy-1.24.4-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:31f13e25b4e304632a4619d0e0777662c2ffea99fcae2029556b17d8ff958aef"}, + {file = "numpy-1.24.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95f7ac6540e95bc440ad77f56e520da5bf877f87dca58bd095288dce8940532a"}, + {file = "numpy-1.24.4-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:e98f220aa76ca2a977fe435f5b04d7b3470c0a2e6312907b37ba6068f26787f2"}, + {file = "numpy-1.24.4.tar.gz", hash = "sha256:80f5e3a4e498641401868df4208b74581206afbee7cf7b8329daae82676d9463"}, +] + +[[package]] +name = "numpy" +version = "2.1.0" +description = "Fundamental package for array computing in Python" +optional = false +python-versions = ">=3.10" +files = [ + {file = "numpy-2.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6326ab99b52fafdcdeccf602d6286191a79fe2fda0ae90573c5814cd2b0bc1b8"}, + {file = "numpy-2.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0937e54c09f7a9a68da6889362ddd2ff584c02d015ec92672c099b61555f8911"}, + {file = "numpy-2.1.0-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:30014b234f07b5fec20f4146f69e13cfb1e33ee9a18a1879a0142fbb00d47673"}, + {file = "numpy-2.1.0-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:899da829b362ade41e1e7eccad2cf274035e1cb36ba73034946fccd4afd8606b"}, + {file = "numpy-2.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:08801848a40aea24ce16c2ecde3b756f9ad756586fb2d13210939eb69b023f5b"}, + {file = "numpy-2.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:398049e237d1aae53d82a416dade04defed1a47f87d18d5bd615b6e7d7e41d1f"}, + {file = "numpy-2.1.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:0abb3916a35d9090088a748636b2c06dc9a6542f99cd476979fb156a18192b84"}, + {file = "numpy-2.1.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:10e2350aea18d04832319aac0f887d5fcec1b36abd485d14f173e3e900b83e33"}, + {file = "numpy-2.1.0-cp310-cp310-win32.whl", hash = "sha256:f6b26e6c3b98adb648243670fddc8cab6ae17473f9dc58c51574af3e64d61211"}, + {file = "numpy-2.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:f505264735ee074250a9c78247ee8618292091d9d1fcc023290e9ac67e8f1afa"}, + {file = "numpy-2.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:76368c788ccb4f4782cf9c842b316140142b4cbf22ff8db82724e82fe1205dce"}, + {file = "numpy-2.1.0-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:f8e93a01a35be08d31ae33021e5268f157a2d60ebd643cfc15de6ab8e4722eb1"}, + {file = "numpy-2.1.0-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:9523f8b46485db6939bd069b28b642fec86c30909cea90ef550373787f79530e"}, + {file = "numpy-2.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:54139e0eb219f52f60656d163cbe67c31ede51d13236c950145473504fa208cb"}, + {file = "numpy-2.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5ebbf9fbdabed208d4ecd2e1dfd2c0741af2f876e7ae522c2537d404ca895c3"}, + {file = "numpy-2.1.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:378cb4f24c7d93066ee4103204f73ed046eb88f9ad5bb2275bb9fa0f6a02bd36"}, + {file = "numpy-2.1.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d8f699a709120b220dfe173f79c73cb2a2cab2c0b88dd59d7b49407d032b8ebd"}, + {file = "numpy-2.1.0-cp311-cp311-win32.whl", hash = "sha256:ffbd6faeb190aaf2b5e9024bac9622d2ee549b7ec89ef3a9373fa35313d44e0e"}, + {file = "numpy-2.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:0af3a5987f59d9c529c022c8c2a64805b339b7ef506509fba7d0556649b9714b"}, + {file = "numpy-2.1.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:fe76d75b345dc045acdbc006adcb197cc680754afd6c259de60d358d60c93736"}, + {file = "numpy-2.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f358ea9e47eb3c2d6eba121ab512dfff38a88db719c38d1e67349af210bc7529"}, + {file = "numpy-2.1.0-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:dd94ce596bda40a9618324547cfaaf6650b1a24f5390350142499aa4e34e53d1"}, + {file = "numpy-2.1.0-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:b47c551c6724960479cefd7353656498b86e7232429e3a41ab83be4da1b109e8"}, + {file = "numpy-2.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a0756a179afa766ad7cb6f036de622e8a8f16ffdd55aa31f296c870b5679d745"}, + {file = "numpy-2.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:24003ba8ff22ea29a8c306e61d316ac74111cebf942afbf692df65509a05f111"}, + {file = "numpy-2.1.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:b34fa5e3b5d6dc7e0a4243fa0f81367027cb6f4a7215a17852979634b5544ee0"}, + {file = "numpy-2.1.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:c4f982715e65036c34897eb598d64aef15150c447be2cfc6643ec7a11af06574"}, + {file = "numpy-2.1.0-cp312-cp312-win32.whl", hash = "sha256:c4cd94dfefbefec3f8b544f61286584292d740e6e9d4677769bc76b8f41deb02"}, + {file = "numpy-2.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:a0cdef204199278f5c461a0bed6ed2e052998276e6d8ab2963d5b5c39a0500bc"}, + {file = "numpy-2.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8ab81ccd753859ab89e67199b9da62c543850f819993761c1e94a75a814ed667"}, + {file = "numpy-2.1.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:442596f01913656d579309edcd179a2a2f9977d9a14ff41d042475280fc7f34e"}, + {file = "numpy-2.1.0-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:848c6b5cad9898e4b9ef251b6f934fa34630371f2e916261070a4eb9092ffd33"}, + {file = "numpy-2.1.0-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:54c6a63e9d81efe64bfb7bcb0ec64332a87d0b87575f6009c8ba67ea6374770b"}, + {file = "numpy-2.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:652e92fc409e278abdd61e9505649e3938f6d04ce7ef1953f2ec598a50e7c195"}, + {file = "numpy-2.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0ab32eb9170bf8ffcbb14f11613f4a0b108d3ffee0832457c5d4808233ba8977"}, + {file = "numpy-2.1.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:8fb49a0ba4d8f41198ae2d52118b050fd34dace4b8f3fb0ee34e23eb4ae775b1"}, + {file = "numpy-2.1.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:44e44973262dc3ae79e9063a1284a73e09d01b894b534a769732ccd46c28cc62"}, + {file = "numpy-2.1.0-cp313-cp313-win32.whl", hash = "sha256:ab83adc099ec62e044b1fbb3a05499fa1e99f6d53a1dde102b2d85eff66ed324"}, + {file = "numpy-2.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:de844aaa4815b78f6023832590d77da0e3b6805c644c33ce94a1e449f16d6ab5"}, + {file = "numpy-2.1.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:343e3e152bf5a087511cd325e3b7ecfd5b92d369e80e74c12cd87826e263ec06"}, + {file = "numpy-2.1.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:f07fa2f15dabe91259828ce7d71b5ca9e2eb7c8c26baa822c825ce43552f4883"}, + {file = "numpy-2.1.0-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:5474dad8c86ee9ba9bb776f4b99ef2d41b3b8f4e0d199d4f7304728ed34d0300"}, + {file = "numpy-2.1.0-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:1f817c71683fd1bb5cff1529a1d085a57f02ccd2ebc5cd2c566f9a01118e3b7d"}, + {file = "numpy-2.1.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3a3336fbfa0d38d3deacd3fe7f3d07e13597f29c13abf4d15c3b6dc2291cbbdd"}, + {file = "numpy-2.1.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7a894c51fd8c4e834f00ac742abad73fc485df1062f1b875661a3c1e1fb1c2f6"}, + {file = "numpy-2.1.0-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:9156ca1f79fc4acc226696e95bfcc2b486f165a6a59ebe22b2c1f82ab190384a"}, + {file = "numpy-2.1.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:624884b572dff8ca8f60fab591413f077471de64e376b17d291b19f56504b2bb"}, + {file = "numpy-2.1.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:15ef8b2177eeb7e37dd5ef4016f30b7659c57c2c0b57a779f1d537ff33a72c7b"}, + {file = "numpy-2.1.0-pp310-pypy310_pp73-macosx_14_0_x86_64.whl", hash = "sha256:e5f0642cdf4636198a4990de7a71b693d824c56a757862230454629cf62e323d"}, + {file = "numpy-2.1.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f15976718c004466406342789f31b6673776360f3b1e3c575f25302d7e789575"}, + {file = "numpy-2.1.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:6c1de77ded79fef664d5098a66810d4d27ca0224e9051906e634b3f7ead134c2"}, + {file = "numpy-2.1.0.tar.gz", hash = "sha256:7dc90da0081f7e1da49ec4e398ede6a8e9cc4f5ebe5f9e06b443ed889ee9aaa2"}, +] + +[[package]] +name = "oauthlib" +version = "3.2.2" +description = "A generic, spec-compliant, thorough implementation of the OAuth request-signing logic" +optional = false +python-versions = ">=3.6" +files = [ + {file = "oauthlib-3.2.2-py3-none-any.whl", hash = "sha256:8139f29aac13e25d502680e9e19963e83f16838d48a0d71c287fe40e7067fbca"}, + {file = "oauthlib-3.2.2.tar.gz", hash = "sha256:9859c40929662bec5d64f34d01c99e093149682a3f38915dc0655d5a633dd918"}, +] + +[package.extras] +rsa = ["cryptography (>=3.0.0)"] +signals = ["blinker (>=1.4.0)"] +signedtoken = ["cryptography (>=3.0.0)", "pyjwt (>=2.0.0,<3)"] + +[[package]] +name = "openpyxl" +version = "3.1.5" +description = "A Python library to read/write Excel 2010 xlsx/xlsm files" +optional = false +python-versions = ">=3.8" +files = [ + {file = "openpyxl-3.1.5-py2.py3-none-any.whl", hash = "sha256:5282c12b107bffeef825f4617dc029afaf41d0ea60823bbb665ef3079dc79de2"}, + {file = "openpyxl-3.1.5.tar.gz", hash = "sha256:cf0e3cf56142039133628b5acffe8ef0c12bc902d2aadd3e0fe5878dc08d1050"}, +] + +[package.dependencies] +et-xmlfile = "*" + +[[package]] +name = "packaging" +version = "24.1" +description = "Core utilities for Python packages" +optional = false +python-versions = ">=3.8" +files = [ + {file = "packaging-24.1-py3-none-any.whl", hash = "sha256:5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124"}, + {file = "packaging-24.1.tar.gz", hash = "sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002"}, +] + +[[package]] +name = "pandas" +version = "2.0.3" +description = "Powerful data structures for data analysis, time series, and statistics" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pandas-2.0.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e4c7c9f27a4185304c7caf96dc7d91bc60bc162221152de697c98eb0b2648dd8"}, + {file = "pandas-2.0.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f167beed68918d62bffb6ec64f2e1d8a7d297a038f86d4aed056b9493fca407f"}, + {file = "pandas-2.0.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ce0c6f76a0f1ba361551f3e6dceaff06bde7514a374aa43e33b588ec10420183"}, + {file = "pandas-2.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba619e410a21d8c387a1ea6e8a0e49bb42216474436245718d7f2e88a2f8d7c0"}, + {file = "pandas-2.0.3-cp310-cp310-win32.whl", hash = "sha256:3ef285093b4fe5058eefd756100a367f27029913760773c8bf1d2d8bebe5d210"}, + {file = "pandas-2.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:9ee1a69328d5c36c98d8e74db06f4ad518a1840e8ccb94a4ba86920986bb617e"}, + {file = "pandas-2.0.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b084b91d8d66ab19f5bb3256cbd5ea661848338301940e17f4492b2ce0801fe8"}, + {file = "pandas-2.0.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:37673e3bdf1551b95bf5d4ce372b37770f9529743d2498032439371fc7b7eb26"}, + {file = "pandas-2.0.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b9cb1e14fdb546396b7e1b923ffaeeac24e4cedd14266c3497216dd4448e4f2d"}, + {file = "pandas-2.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d9cd88488cceb7635aebb84809d087468eb33551097d600c6dad13602029c2df"}, + {file = "pandas-2.0.3-cp311-cp311-win32.whl", hash = "sha256:694888a81198786f0e164ee3a581df7d505024fbb1f15202fc7db88a71d84ebd"}, + {file = "pandas-2.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:6a21ab5c89dcbd57f78d0ae16630b090eec626360085a4148693def5452d8a6b"}, + {file = "pandas-2.0.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:9e4da0d45e7f34c069fe4d522359df7d23badf83abc1d1cef398895822d11061"}, + {file = "pandas-2.0.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:32fca2ee1b0d93dd71d979726b12b61faa06aeb93cf77468776287f41ff8fdc5"}, + {file = "pandas-2.0.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:258d3624b3ae734490e4d63c430256e716f488c4fcb7c8e9bde2d3aa46c29089"}, + {file = "pandas-2.0.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9eae3dc34fa1aa7772dd3fc60270d13ced7346fcbcfee017d3132ec625e23bb0"}, + {file = "pandas-2.0.3-cp38-cp38-win32.whl", hash = "sha256:f3421a7afb1a43f7e38e82e844e2bca9a6d793d66c1a7f9f0ff39a795bbc5e02"}, + {file = "pandas-2.0.3-cp38-cp38-win_amd64.whl", hash = "sha256:69d7f3884c95da3a31ef82b7618af5710dba95bb885ffab339aad925c3e8ce78"}, + {file = "pandas-2.0.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5247fb1ba347c1261cbbf0fcfba4a3121fbb4029d95d9ef4dc45406620b25c8b"}, + {file = "pandas-2.0.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:81af086f4543c9d8bb128328b5d32e9986e0c84d3ee673a2ac6fb57fd14f755e"}, + {file = "pandas-2.0.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1994c789bf12a7c5098277fb43836ce090f1073858c10f9220998ac74f37c69b"}, + {file = "pandas-2.0.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5ec591c48e29226bcbb316e0c1e9423622bc7a4eaf1ef7c3c9fa1a3981f89641"}, + {file = "pandas-2.0.3-cp39-cp39-win32.whl", hash = "sha256:04dbdbaf2e4d46ca8da896e1805bc04eb85caa9a82e259e8eed00254d5e0c682"}, + {file = "pandas-2.0.3-cp39-cp39-win_amd64.whl", hash = "sha256:1168574b036cd8b93abc746171c9b4f1b83467438a5e45909fed645cf8692dbc"}, + {file = "pandas-2.0.3.tar.gz", hash = "sha256:c02f372a88e0d17f36d3093a644c73cfc1788e876a7c4bcb4020a77512e2043c"}, +] + +[package.dependencies] +numpy = [ + {version = ">=1.20.3", markers = "python_version < \"3.10\""}, + {version = ">=1.21.0", markers = "python_version >= \"3.10\" and python_version < \"3.11\""}, + {version = ">=1.23.2", markers = "python_version >= \"3.11\""}, +] +python-dateutil = ">=2.8.2" +pytz = ">=2020.1" +tzdata = ">=2022.1" + +[package.extras] +all = ["PyQt5 (>=5.15.1)", "SQLAlchemy (>=1.4.16)", "beautifulsoup4 (>=4.9.3)", "bottleneck (>=1.3.2)", "brotlipy (>=0.7.0)", "fastparquet (>=0.6.3)", "fsspec (>=2021.07.0)", "gcsfs (>=2021.07.0)", "html5lib (>=1.1)", "hypothesis (>=6.34.2)", "jinja2 (>=3.0.0)", "lxml (>=4.6.3)", "matplotlib (>=3.6.1)", "numba (>=0.53.1)", "numexpr (>=2.7.3)", "odfpy (>=1.4.1)", "openpyxl (>=3.0.7)", "pandas-gbq (>=0.15.0)", "psycopg2 (>=2.8.6)", "pyarrow (>=7.0.0)", "pymysql (>=1.0.2)", "pyreadstat (>=1.1.2)", "pytest (>=7.3.2)", "pytest-asyncio (>=0.17.0)", "pytest-xdist (>=2.2.0)", "python-snappy (>=0.6.0)", "pyxlsb (>=1.0.8)", "qtpy (>=2.2.0)", "s3fs (>=2021.08.0)", "scipy (>=1.7.1)", "tables (>=3.6.1)", "tabulate (>=0.8.9)", "xarray (>=0.21.0)", "xlrd (>=2.0.1)", "xlsxwriter (>=1.4.3)", "zstandard (>=0.15.2)"] +aws = ["s3fs (>=2021.08.0)"] +clipboard = ["PyQt5 (>=5.15.1)", "qtpy (>=2.2.0)"] +compression = ["brotlipy (>=0.7.0)", "python-snappy (>=0.6.0)", "zstandard (>=0.15.2)"] +computation = ["scipy (>=1.7.1)", "xarray (>=0.21.0)"] +excel = ["odfpy (>=1.4.1)", "openpyxl (>=3.0.7)", "pyxlsb (>=1.0.8)", "xlrd (>=2.0.1)", "xlsxwriter (>=1.4.3)"] +feather = ["pyarrow (>=7.0.0)"] +fss = ["fsspec (>=2021.07.0)"] +gcp = ["gcsfs (>=2021.07.0)", "pandas-gbq (>=0.15.0)"] +hdf5 = ["tables (>=3.6.1)"] +html = ["beautifulsoup4 (>=4.9.3)", "html5lib (>=1.1)", "lxml (>=4.6.3)"] +mysql = ["SQLAlchemy (>=1.4.16)", "pymysql (>=1.0.2)"] +output-formatting = ["jinja2 (>=3.0.0)", "tabulate (>=0.8.9)"] +parquet = ["pyarrow (>=7.0.0)"] +performance = ["bottleneck (>=1.3.2)", "numba (>=0.53.1)", "numexpr (>=2.7.1)"] +plot = ["matplotlib (>=3.6.1)"] +postgresql = ["SQLAlchemy (>=1.4.16)", "psycopg2 (>=2.8.6)"] +spss = ["pyreadstat (>=1.1.2)"] +sql-other = ["SQLAlchemy (>=1.4.16)"] +test = ["hypothesis (>=6.34.2)", "pytest (>=7.3.2)", "pytest-asyncio (>=0.17.0)", "pytest-xdist (>=2.2.0)"] +xml = ["lxml (>=4.6.3)"] + +[[package]] +name = "pathspec" +version = "0.12.1" +description = "Utility library for gitignore style pattern matching of file paths." +optional = false +python-versions = ">=3.8" +files = [ + {file = "pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08"}, + {file = "pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712"}, +] + +[[package]] +name = "platformdirs" +version = "4.2.2" +description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." +optional = false +python-versions = ">=3.8" +files = [ + {file = "platformdirs-4.2.2-py3-none-any.whl", hash = "sha256:2d7a1657e36a80ea911db832a8a6ece5ee53d8de21edd5cc5879af6530b1bfee"}, + {file = "platformdirs-4.2.2.tar.gz", hash = "sha256:38b7b51f512eed9e84a22788b4bce1de17c0adb134d6becb09836e37d8654cd3"}, +] + +[package.extras] +docs = ["furo (>=2023.9.10)", "proselint (>=0.13)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.25.2)"] +test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4.3)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)"] +type = ["mypy (>=1.8)"] + +[[package]] +name = "pluggy" +version = "1.5.0" +description = "plugin and hook calling mechanisms for python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669"}, + {file = "pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1"}, +] + +[package.extras] +dev = ["pre-commit", "tox"] +testing = ["pytest", "pytest-benchmark"] + +[[package]] +name = "pylint" +version = "3.2.6" +description = "python code static checker" +optional = false +python-versions = ">=3.8.0" +files = [ + {file = "pylint-3.2.6-py3-none-any.whl", hash = "sha256:03c8e3baa1d9fb995b12c1dbe00aa6c4bcef210c2a2634374aedeb22fb4a8f8f"}, + {file = "pylint-3.2.6.tar.gz", hash = "sha256:a5d01678349454806cff6d886fb072294f56a58c4761278c97fb557d708e1eb3"}, +] + +[package.dependencies] +astroid = ">=3.2.4,<=3.3.0-dev0" +colorama = {version = ">=0.4.5", markers = "sys_platform == \"win32\""} +dill = [ + {version = ">=0.2", markers = "python_version < \"3.11\""}, + {version = ">=0.3.7", markers = "python_version >= \"3.12\""}, + {version = ">=0.3.6", markers = "python_version >= \"3.11\" and python_version < \"3.12\""}, +] +isort = ">=4.2.5,<5.13.0 || >5.13.0,<6" +mccabe = ">=0.6,<0.8" +platformdirs = ">=2.2.0" +tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} +tomlkit = ">=0.10.1" +typing-extensions = {version = ">=3.10.0", markers = "python_version < \"3.10\""} + +[package.extras] +spelling = ["pyenchant (>=3.2,<4.0)"] +testutils = ["gitpython (>3)"] + +[[package]] +name = "pytest" +version = "7.4.4" +description = "pytest: simple powerful testing with Python" +optional = false +python-versions = ">=3.7" +files = [ + {file = "pytest-7.4.4-py3-none-any.whl", hash = "sha256:b090cdf5ed60bf4c45261be03239c2c1c22df034fbffe691abe93cd80cea01d8"}, + {file = "pytest-7.4.4.tar.gz", hash = "sha256:2cf0005922c6ace4a3e2ec8b4080eb0d9753fdc93107415332f50ce9e7994280"}, +] + +[package.dependencies] +colorama = {version = "*", markers = "sys_platform == \"win32\""} +exceptiongroup = {version = ">=1.0.0rc8", markers = "python_version < \"3.11\""} +iniconfig = "*" +packaging = "*" +pluggy = ">=0.12,<2.0" +tomli = {version = ">=1.0.0", markers = "python_version < \"3.11\""} + +[package.extras] +testing = ["argcomplete", "attrs (>=19.2.0)", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "setuptools", "xmlschema"] + +[[package]] +name = "pytest-dotenv" +version = "0.5.2" +description = "A py.test plugin that parses environment files before running tests" +optional = false +python-versions = "*" +files = [ + {file = "pytest-dotenv-0.5.2.tar.gz", hash = "sha256:2dc6c3ac6d8764c71c6d2804e902d0ff810fa19692e95fe138aefc9b1aa73732"}, + {file = "pytest_dotenv-0.5.2-py3-none-any.whl", hash = "sha256:40a2cece120a213898afaa5407673f6bd924b1fa7eafce6bda0e8abffe2f710f"}, +] + +[package.dependencies] +pytest = ">=5.0.0" +python-dotenv = ">=0.9.1" + +[[package]] +name = "python-dateutil" +version = "2.9.0.post0" +description = "Extensions to the standard Python datetime module" +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" +files = [ + {file = "python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3"}, + {file = "python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427"}, +] + +[package.dependencies] +six = ">=1.5" + +[[package]] +name = "python-dotenv" +version = "1.0.1" +description = "Read key-value pairs from a .env file and set them as environment variables" +optional = false +python-versions = ">=3.8" +files = [ + {file = "python-dotenv-1.0.1.tar.gz", hash = "sha256:e324ee90a023d808f1959c46bcbc04446a10ced277783dc6ee09987c37ec10ca"}, + {file = "python_dotenv-1.0.1-py3-none-any.whl", hash = "sha256:f7b63ef50f1b690dddf550d03497b66d609393b40b564ed0d674909a68ebf16a"}, +] + +[package.extras] +cli = ["click (>=5.0)"] + +[[package]] +name = "pytz" +version = "2024.1" +description = "World timezone definitions, modern and historical" +optional = false +python-versions = "*" +files = [ + {file = "pytz-2024.1-py2.py3-none-any.whl", hash = "sha256:328171f4e3623139da4983451950b28e95ac706e13f3f2630a879749e7a8b319"}, + {file = "pytz-2024.1.tar.gz", hash = "sha256:2a29735ea9c18baf14b448846bde5a48030ed267578472d8955cd0e7443a9812"}, +] + +[[package]] +name = "requests" +version = "2.32.3" +description = "Python HTTP for Humans." +optional = false +python-versions = ">=3.8" +files = [ + {file = "requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6"}, + {file = "requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760"}, +] + +[package.dependencies] +certifi = ">=2017.4.17" +charset-normalizer = ">=2,<4" +idna = ">=2.5,<4" +urllib3 = ">=1.21.1,<3" + +[package.extras] +socks = ["PySocks (>=1.5.6,!=1.5.7)"] +use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] + +[[package]] +name = "six" +version = "1.16.0" +description = "Python 2 and 3 compatibility utilities" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" +files = [ + {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, + {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, +] + +[[package]] +name = "sqlalchemy" +version = "2.0.32" +description = "Database Abstraction Library" +optional = true +python-versions = ">=3.7" +files = [ + {file = "SQLAlchemy-2.0.32-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0c9045ecc2e4db59bfc97b20516dfdf8e41d910ac6fb667ebd3a79ea54084619"}, + {file = "SQLAlchemy-2.0.32-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1467940318e4a860afd546ef61fefb98a14d935cd6817ed07a228c7f7c62f389"}, + {file = "SQLAlchemy-2.0.32-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5954463675cb15db8d4b521f3566a017c8789222b8316b1e6934c811018ee08b"}, + {file = "SQLAlchemy-2.0.32-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:167e7497035c303ae50651b351c28dc22a40bb98fbdb8468cdc971821b1ae533"}, + {file = "SQLAlchemy-2.0.32-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:b27dfb676ac02529fb6e343b3a482303f16e6bc3a4d868b73935b8792edb52d0"}, + {file = "SQLAlchemy-2.0.32-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:bf2360a5e0f7bd75fa80431bf8ebcfb920c9f885e7956c7efde89031695cafb8"}, + {file = "SQLAlchemy-2.0.32-cp310-cp310-win32.whl", hash = "sha256:306fe44e754a91cd9d600a6b070c1f2fadbb4a1a257b8781ccf33c7067fd3e4d"}, + {file = "SQLAlchemy-2.0.32-cp310-cp310-win_amd64.whl", hash = "sha256:99db65e6f3ab42e06c318f15c98f59a436f1c78179e6a6f40f529c8cc7100b22"}, + {file = "SQLAlchemy-2.0.32-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:21b053be28a8a414f2ddd401f1be8361e41032d2ef5884b2f31d31cb723e559f"}, + {file = "SQLAlchemy-2.0.32-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b178e875a7a25b5938b53b006598ee7645172fccafe1c291a706e93f48499ff5"}, + {file = "SQLAlchemy-2.0.32-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:723a40ee2cc7ea653645bd4cf024326dea2076673fc9d3d33f20f6c81db83e1d"}, + {file = "SQLAlchemy-2.0.32-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:295ff8689544f7ee7e819529633d058bd458c1fd7f7e3eebd0f9268ebc56c2a0"}, + {file = "SQLAlchemy-2.0.32-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:49496b68cd190a147118af585173ee624114dfb2e0297558c460ad7495f9dfe2"}, + {file = "SQLAlchemy-2.0.32-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:acd9b73c5c15f0ec5ce18128b1fe9157ddd0044abc373e6ecd5ba376a7e5d961"}, + {file = "SQLAlchemy-2.0.32-cp311-cp311-win32.whl", hash = "sha256:9365a3da32dabd3e69e06b972b1ffb0c89668994c7e8e75ce21d3e5e69ddef28"}, + {file = "SQLAlchemy-2.0.32-cp311-cp311-win_amd64.whl", hash = "sha256:8bd63d051f4f313b102a2af1cbc8b80f061bf78f3d5bd0843ff70b5859e27924"}, + {file = "SQLAlchemy-2.0.32-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:6bab3db192a0c35e3c9d1560eb8332463e29e5507dbd822e29a0a3c48c0a8d92"}, + {file = "SQLAlchemy-2.0.32-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:19d98f4f58b13900d8dec4ed09dd09ef292208ee44cc9c2fe01c1f0a2fe440e9"}, + {file = "SQLAlchemy-2.0.32-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3cd33c61513cb1b7371fd40cf221256456d26a56284e7d19d1f0b9f1eb7dd7e8"}, + {file = "SQLAlchemy-2.0.32-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7d6ba0497c1d066dd004e0f02a92426ca2df20fac08728d03f67f6960271feec"}, + {file = "SQLAlchemy-2.0.32-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2b6be53e4fde0065524f1a0a7929b10e9280987b320716c1509478b712a7688c"}, + {file = "SQLAlchemy-2.0.32-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:916a798f62f410c0b80b63683c8061f5ebe237b0f4ad778739304253353bc1cb"}, + {file = "SQLAlchemy-2.0.32-cp312-cp312-win32.whl", hash = "sha256:31983018b74908ebc6c996a16ad3690301a23befb643093fcfe85efd292e384d"}, + {file = "SQLAlchemy-2.0.32-cp312-cp312-win_amd64.whl", hash = "sha256:4363ed245a6231f2e2957cccdda3c776265a75851f4753c60f3004b90e69bfeb"}, + {file = "SQLAlchemy-2.0.32-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b8afd5b26570bf41c35c0121801479958b4446751a3971fb9a480c1afd85558e"}, + {file = "SQLAlchemy-2.0.32-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c750987fc876813f27b60d619b987b057eb4896b81117f73bb8d9918c14f1cad"}, + {file = "SQLAlchemy-2.0.32-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ada0102afff4890f651ed91120c1120065663506b760da4e7823913ebd3258be"}, + {file = "SQLAlchemy-2.0.32-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:78c03d0f8a5ab4f3034c0e8482cfcc415a3ec6193491cfa1c643ed707d476f16"}, + {file = "SQLAlchemy-2.0.32-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:3bd1cae7519283ff525e64645ebd7a3e0283f3c038f461ecc1c7b040a0c932a1"}, + {file = "SQLAlchemy-2.0.32-cp37-cp37m-win32.whl", hash = "sha256:01438ebcdc566d58c93af0171c74ec28efe6a29184b773e378a385e6215389da"}, + {file = "SQLAlchemy-2.0.32-cp37-cp37m-win_amd64.whl", hash = "sha256:4979dc80fbbc9d2ef569e71e0896990bc94df2b9fdbd878290bd129b65ab579c"}, + {file = "SQLAlchemy-2.0.32-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6c742be912f57586ac43af38b3848f7688863a403dfb220193a882ea60e1ec3a"}, + {file = "SQLAlchemy-2.0.32-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:62e23d0ac103bcf1c5555b6c88c114089587bc64d048fef5bbdb58dfd26f96da"}, + {file = "SQLAlchemy-2.0.32-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:251f0d1108aab8ea7b9aadbd07fb47fb8e3a5838dde34aa95a3349876b5a1f1d"}, + {file = "SQLAlchemy-2.0.32-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0ef18a84e5116340e38eca3e7f9eeaaef62738891422e7c2a0b80feab165905f"}, + {file = "SQLAlchemy-2.0.32-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:3eb6a97a1d39976f360b10ff208c73afb6a4de86dd2a6212ddf65c4a6a2347d5"}, + {file = "SQLAlchemy-2.0.32-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:0c1c9b673d21477cec17ab10bc4decb1322843ba35b481585facd88203754fc5"}, + {file = "SQLAlchemy-2.0.32-cp38-cp38-win32.whl", hash = "sha256:c41a2b9ca80ee555decc605bd3c4520cc6fef9abde8fd66b1cf65126a6922d65"}, + {file = "SQLAlchemy-2.0.32-cp38-cp38-win_amd64.whl", hash = "sha256:8a37e4d265033c897892279e8adf505c8b6b4075f2b40d77afb31f7185cd6ecd"}, + {file = "SQLAlchemy-2.0.32-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:52fec964fba2ef46476312a03ec8c425956b05c20220a1a03703537824b5e8e1"}, + {file = "SQLAlchemy-2.0.32-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:328429aecaba2aee3d71e11f2477c14eec5990fb6d0e884107935f7fb6001632"}, + {file = "SQLAlchemy-2.0.32-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:85a01b5599e790e76ac3fe3aa2f26e1feba56270023d6afd5550ed63c68552b3"}, + {file = "SQLAlchemy-2.0.32-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aaf04784797dcdf4c0aa952c8d234fa01974c4729db55c45732520ce12dd95b4"}, + {file = "SQLAlchemy-2.0.32-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:4488120becf9b71b3ac718f4138269a6be99a42fe023ec457896ba4f80749525"}, + {file = "SQLAlchemy-2.0.32-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:14e09e083a5796d513918a66f3d6aedbc131e39e80875afe81d98a03312889e6"}, + {file = "SQLAlchemy-2.0.32-cp39-cp39-win32.whl", hash = "sha256:0d322cc9c9b2154ba7e82f7bf25ecc7c36fbe2d82e2933b3642fc095a52cfc78"}, + {file = "SQLAlchemy-2.0.32-cp39-cp39-win_amd64.whl", hash = "sha256:7dd8583df2f98dea28b5cd53a1beac963f4f9d087888d75f22fcc93a07cf8d84"}, + {file = "SQLAlchemy-2.0.32-py3-none-any.whl", hash = "sha256:e567a8793a692451f706b363ccf3c45e056b67d90ead58c3bc9471af5d212202"}, + {file = "SQLAlchemy-2.0.32.tar.gz", hash = "sha256:c1b88cc8b02b6a5f0efb0345a03672d4c897dc7d92585176f88c67346f565ea8"}, +] + +[package.dependencies] +greenlet = {version = "!=0.4.17", markers = "python_version < \"3.13\" and (platform_machine == \"aarch64\" or platform_machine == \"ppc64le\" or platform_machine == \"x86_64\" or platform_machine == \"amd64\" or platform_machine == \"AMD64\" or platform_machine == \"win32\" or platform_machine == \"WIN32\")"} +typing-extensions = ">=4.6.0" + +[package.extras] +aiomysql = ["aiomysql (>=0.2.0)", "greenlet (!=0.4.17)"] +aioodbc = ["aioodbc", "greenlet (!=0.4.17)"] +aiosqlite = ["aiosqlite", "greenlet (!=0.4.17)", "typing_extensions (!=3.10.0.1)"] +asyncio = ["greenlet (!=0.4.17)"] +asyncmy = ["asyncmy (>=0.2.3,!=0.2.4,!=0.2.6)", "greenlet (!=0.4.17)"] +mariadb-connector = ["mariadb (>=1.0.1,!=1.1.2,!=1.1.5)"] +mssql = ["pyodbc"] +mssql-pymssql = ["pymssql"] +mssql-pyodbc = ["pyodbc"] +mypy = ["mypy (>=0.910)"] +mysql = ["mysqlclient (>=1.4.0)"] +mysql-connector = ["mysql-connector-python"] +oracle = ["cx_oracle (>=8)"] +oracle-oracledb = ["oracledb (>=1.0.1)"] +postgresql = ["psycopg2 (>=2.7)"] +postgresql-asyncpg = ["asyncpg", "greenlet (!=0.4.17)"] +postgresql-pg8000 = ["pg8000 (>=1.29.1)"] +postgresql-psycopg = ["psycopg (>=3.0.7)"] +postgresql-psycopg2binary = ["psycopg2-binary"] +postgresql-psycopg2cffi = ["psycopg2cffi"] +postgresql-psycopgbinary = ["psycopg[binary] (>=3.0.7)"] +pymysql = ["pymysql"] +sqlcipher = ["sqlcipher3_binary"] + +[[package]] +name = "thrift" +version = "0.20.0" +description = "Python bindings for the Apache Thrift RPC system" +optional = false +python-versions = "*" +files = [ + {file = "thrift-0.20.0.tar.gz", hash = "sha256:4dd662eadf6b8aebe8a41729527bd69adf6ceaa2a8681cbef64d1273b3e8feba"}, +] + +[package.dependencies] +six = ">=1.7.2" + +[package.extras] +all = ["tornado (>=4.0)", "twisted"] +tornado = ["tornado (>=4.0)"] +twisted = ["twisted"] + +[[package]] +name = "tomli" +version = "2.0.1" +description = "A lil' TOML parser" +optional = false +python-versions = ">=3.7" +files = [ + {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"}, + {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, +] + +[[package]] +name = "tomlkit" +version = "0.13.2" +description = "Style preserving TOML library" +optional = false +python-versions = ">=3.8" +files = [ + {file = "tomlkit-0.13.2-py3-none-any.whl", hash = "sha256:7a974427f6e119197f670fbbbeae7bef749a6c14e793db934baefc1b5f03efde"}, + {file = "tomlkit-0.13.2.tar.gz", hash = "sha256:fff5fe59a87295b278abd31bec92c15d9bc4a06885ab12bcea52c71119392e79"}, +] + +[[package]] +name = "typing-extensions" +version = "4.12.2" +description = "Backported and Experimental Type Hints for Python 3.8+" +optional = false +python-versions = ">=3.8" +files = [ + {file = "typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d"}, + {file = "typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8"}, +] + +[[package]] +name = "tzdata" +version = "2024.1" +description = "Provider of IANA time zone data" +optional = false +python-versions = ">=2" +files = [ + {file = "tzdata-2024.1-py2.py3-none-any.whl", hash = "sha256:9068bc196136463f5245e51efda838afa15aaeca9903f49050dfa2679db4d252"}, + {file = "tzdata-2024.1.tar.gz", hash = "sha256:2674120f8d891909751c38abcdfd386ac0a5a1127954fbc332af6b5ceae07efd"}, +] + +[[package]] +name = "urllib3" +version = "2.2.2" +description = "HTTP library with thread-safe connection pooling, file post, and more." +optional = false +python-versions = ">=3.8" +files = [ + {file = "urllib3-2.2.2-py3-none-any.whl", hash = "sha256:a448b2f64d686155468037e1ace9f2d2199776e17f0a46610480d311f73e3472"}, + {file = "urllib3-2.2.2.tar.gz", hash = "sha256:dd505485549a7a552833da5e6063639d0d177c04f23bc3864e41e5dc5f612168"}, +] + +[package.extras] +brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] +h2 = ["h2 (>=4,<5)"] +socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] +zstd = ["zstandard (>=0.18.0)"] + +[[package]] +name = "zipp" +version = "3.20.0" +description = "Backport of pathlib-compatible object wrapper for zip files" +optional = true +python-versions = ">=3.8" +files = [ + {file = "zipp-3.20.0-py3-none-any.whl", hash = "sha256:58da6168be89f0be59beb194da1250516fdaa062ccebd30127ac65d30045e10d"}, + {file = "zipp-3.20.0.tar.gz", hash = "sha256:0145e43d89664cfe1a2e533adc75adafed82fe2da404b4bbb6b026c0157bdb31"}, +] + +[package.extras] +doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", "jaraco.test", "more-itertools", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy", "pytest-ruff (>=0.2.1)"] + +[extras] +alembic = ["alembic", "sqlalchemy"] +sqlalchemy = ["sqlalchemy"] + +[metadata] +lock-version = "2.0" +python-versions = "^3.8.0" +content-hash = "b8dfeb118e260b886653e22d7c55736d9bfa41333347f5715c6a14927240d6f2" From 46ae0f726e0130961948f7ea6588123a6c89c1bd Mon Sep 17 00:00:00 2001 From: Jothi Prakash Date: Mon, 26 Aug 2024 13:05:12 +0530 Subject: [PATCH 18/53] Added dist folder --- ..._sql_connector_core-1.0.0-py3-none-any.whl | Bin 0 -> 315479 bytes ...databricks_sql_connector_core-1.0.0.tar.gz | Bin 0 -> 307066 bytes poetry.lock | 1205 ----------------- 3 files changed, 1205 deletions(-) create mode 100644 databricks_sql_connector_core/dist/databricks_sql_connector_core-1.0.0-py3-none-any.whl create mode 100644 databricks_sql_connector_core/dist/databricks_sql_connector_core-1.0.0.tar.gz delete mode 100755 poetry.lock diff --git a/databricks_sql_connector_core/dist/databricks_sql_connector_core-1.0.0-py3-none-any.whl b/databricks_sql_connector_core/dist/databricks_sql_connector_core-1.0.0-py3-none-any.whl new file mode 100644 index 0000000000000000000000000000000000000000..3bf5a46b55d3c9bd4fbdb4dd806b0f779e65ddd1 GIT binary patch literal 315479 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
( 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 +PL! zv*p?FR`9HORy;ayDbIqpm}kaYz%%8U@aFO6@Tk05Jcu`gN8tfHBi=L~iKpXgx#QeX z?l5s@;aL;mau7n%T4daGzgSjWUC%DJBLEIzU!`wsM0Ina`hkJnQ$#v(tarbgvxx2VK zxh`BWcN=#rcQe^Zyyj>)m7H=;DW`;^

wBbL5;tP66jJC!h0xbDwjMlgqiw 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 TKkH}xeBtw7PhIq>04OK`$V<`y literal 0 HcmV?d00001 diff --git a/poetry.lock b/poetry.lock deleted file mode 100755 index 1e351e4f..00000000 --- a/poetry.lock +++ /dev/null @@ -1,1205 +0,0 @@ -# This file is automatically @generated by Poetry 1.8.3 and should not be changed by hand. - -[[package]] -name = "alembic" -version = "1.13.2" -description = "A database migration tool for SQLAlchemy." -optional = true -python-versions = ">=3.8" -files = [ - {file = "alembic-1.13.2-py3-none-any.whl", hash = "sha256:6b8733129a6224a9a711e17c99b08462dbf7cc9670ba8f2e2ae9af860ceb1953"}, - {file = "alembic-1.13.2.tar.gz", hash = "sha256:1ff0ae32975f4fd96028c39ed9bb3c867fe3af956bd7bb37343b54c9fe7445ef"}, -] - -[package.dependencies] -importlib-metadata = {version = "*", markers = "python_version < \"3.9\""} -importlib-resources = {version = "*", markers = "python_version < \"3.9\""} -Mako = "*" -SQLAlchemy = ">=1.3.0" -typing-extensions = ">=4" - -[package.extras] -tz = ["backports.zoneinfo"] - -[[package]] -name = "astroid" -version = "3.2.2" -description = "An abstract syntax tree for Python with inference support." -optional = false -python-versions = ">=3.8.0" -files = [ - {file = "astroid-3.2.2-py3-none-any.whl", hash = "sha256:e8a0083b4bb28fcffb6207a3bfc9e5d0a68be951dd7e336d5dcf639c682388c0"}, - {file = "astroid-3.2.2.tar.gz", hash = "sha256:8ead48e31b92b2e217b6c9733a21afafe479d52d6e164dd25fb1a770c7c3cf94"}, -] - -[package.dependencies] -typing-extensions = {version = ">=4.0.0", markers = "python_version < \"3.11\""} - -[[package]] -name = "black" -version = "22.12.0" -description = "The uncompromising code formatter." -optional = false -python-versions = ">=3.7" -files = [ - {file = "black-22.12.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9eedd20838bd5d75b80c9f5487dbcb06836a43833a37846cf1d8c1cc01cef59d"}, - {file = "black-22.12.0-cp310-cp310-win_amd64.whl", hash = "sha256:159a46a4947f73387b4d83e87ea006dbb2337eab6c879620a3ba52699b1f4351"}, - {file = "black-22.12.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d30b212bffeb1e252b31dd269dfae69dd17e06d92b87ad26e23890f3efea366f"}, - {file = "black-22.12.0-cp311-cp311-win_amd64.whl", hash = "sha256:7412e75863aa5c5411886804678b7d083c7c28421210180d67dfd8cf1221e1f4"}, - {file = "black-22.12.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c116eed0efb9ff870ded8b62fe9f28dd61ef6e9ddd28d83d7d264a38417dcee2"}, - {file = "black-22.12.0-cp37-cp37m-win_amd64.whl", hash = "sha256:1f58cbe16dfe8c12b7434e50ff889fa479072096d79f0a7f25e4ab8e94cd8350"}, - {file = "black-22.12.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:77d86c9f3db9b1bf6761244bc0b3572a546f5fe37917a044e02f3166d5aafa7d"}, - {file = "black-22.12.0-cp38-cp38-win_amd64.whl", hash = "sha256:82d9fe8fee3401e02e79767016b4907820a7dc28d70d137eb397b92ef3cc5bfc"}, - {file = "black-22.12.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:101c69b23df9b44247bd88e1d7e90154336ac4992502d4197bdac35dd7ee3320"}, - {file = "black-22.12.0-cp39-cp39-win_amd64.whl", hash = "sha256:559c7a1ba9a006226f09e4916060982fd27334ae1998e7a38b3f33a37f7a2148"}, - {file = "black-22.12.0-py3-none-any.whl", hash = "sha256:436cc9167dd28040ad90d3b404aec22cedf24a6e4d7de221bec2730ec0c97bcf"}, - {file = "black-22.12.0.tar.gz", hash = "sha256:229351e5a18ca30f447bf724d007f890f97e13af070bb6ad4c0a441cd7596a2f"}, -] - -[package.dependencies] -click = ">=8.0.0" -mypy-extensions = ">=0.4.3" -pathspec = ">=0.9.0" -platformdirs = ">=2" -tomli = {version = ">=1.1.0", markers = "python_full_version < \"3.11.0a7\""} -typing-extensions = {version = ">=3.10.0.0", markers = "python_version < \"3.10\""} - -[package.extras] -colorama = ["colorama (>=0.4.3)"] -d = ["aiohttp (>=3.7.4)"] -jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"] -uvloop = ["uvloop (>=0.15.2)"] - -[[package]] -name = "certifi" -version = "2024.6.2" -description = "Python package for providing Mozilla's CA Bundle." -optional = false -python-versions = ">=3.6" -files = [ - {file = "certifi-2024.6.2-py3-none-any.whl", hash = "sha256:ddc6c8ce995e6987e7faf5e3f1b02b302836a0e5d98ece18392cb1a36c72ad56"}, - {file = "certifi-2024.6.2.tar.gz", hash = "sha256:3cd43f1c6fa7dedc5899d69d3ad0398fd018ad1a17fba83ddaf78aa46c747516"}, -] - -[[package]] -name = "charset-normalizer" -version = "3.3.2" -description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." -optional = false -python-versions = ">=3.7.0" -files = [ - {file = "charset-normalizer-3.3.2.tar.gz", hash = "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-win32.whl", hash = "sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-win32.whl", hash = "sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-win32.whl", hash = "sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:95f2a5796329323b8f0512e09dbb7a1860c46a39da62ecb2324f116fa8fdc85c"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c002b4ffc0be611f0d9da932eb0f704fe2602a9a949d1f738e4c34c75b0863d5"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a981a536974bbc7a512cf44ed14938cf01030a99e9b3a06dd59578882f06f985"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3287761bc4ee9e33561a7e058c72ac0938c4f57fe49a09eae428fd88aafe7bb6"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:42cb296636fcc8b0644486d15c12376cb9fa75443e00fb25de0b8602e64c1714"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0a55554a2fa0d408816b3b5cedf0045f4b8e1a6065aec45849de2d6f3f8e9786"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:c083af607d2515612056a31f0a8d9e0fcb5876b7bfc0abad3ecd275bc4ebc2d5"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:87d1351268731db79e0f8e745d92493ee2841c974128ef629dc518b937d9194c"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:bd8f7df7d12c2db9fab40bdd87a7c09b1530128315d047a086fa3ae3435cb3a8"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:c180f51afb394e165eafe4ac2936a14bee3eb10debc9d9e4db8958fe36afe711"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:8c622a5fe39a48f78944a87d4fb8a53ee07344641b0562c540d840748571b811"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-win32.whl", hash = "sha256:db364eca23f876da6f9e16c9da0df51aa4f104a972735574842618b8c6d999d4"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-win_amd64.whl", hash = "sha256:86216b5cee4b06df986d214f664305142d9c76df9b6512be2738aa72a2048f99"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:6463effa3186ea09411d50efc7d85360b38d5f09b870c48e4600f63af490e56a"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6c4caeef8fa63d06bd437cd4bdcf3ffefe6738fb1b25951440d80dc7df8c03ac"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:37e55c8e51c236f95b033f6fb391d7d7970ba5fe7ff453dad675e88cf303377a"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb69256e180cb6c8a894fee62b3afebae785babc1ee98b81cdf68bbca1987f33"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae5f4161f18c61806f411a13b0310bea87f987c7d2ecdbdaad0e94eb2e404238"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b2b0a0c0517616b6869869f8c581d4eb2dd83a4d79e0ebcb7d373ef9956aeb0a"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:45485e01ff4d3630ec0d9617310448a8702f70e9c01906b0d0118bdf9d124cf2"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eb00ed941194665c332bf8e078baf037d6c35d7c4f3102ea2d4f16ca94a26dc8"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2127566c664442652f024c837091890cb1942c30937add288223dc895793f898"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a50aebfa173e157099939b17f18600f72f84eed3049e743b68ad15bd69b6bf99"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:4d0d1650369165a14e14e1e47b372cfcb31d6ab44e6e33cb2d4e57265290044d"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:923c0c831b7cfcb071580d3f46c4baf50f174be571576556269530f4bbd79d04"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:06a81e93cd441c56a9b65d8e1d043daeb97a3d0856d177d5c90ba85acb3db087"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-win32.whl", hash = "sha256:6ef1d82a3af9d3eecdba2321dc1b3c238245d890843e040e41e470ffa64c3e25"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-win_amd64.whl", hash = "sha256:eb8821e09e916165e160797a6c17edda0679379a4be5c716c260e836e122f54b"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:c235ebd9baae02f1b77bcea61bce332cb4331dc3617d254df3323aa01ab47bd4"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5b4c145409bef602a690e7cfad0a15a55c13320ff7a3ad7ca59c13bb8ba4d45d"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:68d1f8a9e9e37c1223b656399be5d6b448dea850bed7d0f87a8311f1ff3dabb0"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22afcb9f253dac0696b5a4be4a1c0f8762f8239e21b99680099abd9b2b1b2269"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e27ad930a842b4c5eb8ac0016b0a54f5aebbe679340c26101df33424142c143c"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f79682fbe303db92bc2b1136016a38a42e835d932bab5b3b1bfcfbf0640e519"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b261ccdec7821281dade748d088bb6e9b69e6d15b30652b74cbbac25e280b796"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:122c7fa62b130ed55f8f285bfd56d5f4b4a5b503609d181f9ad85e55c89f4185"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d0eccceffcb53201b5bfebb52600a5fb483a20b61da9dbc885f8b103cbe7598c"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:9f96df6923e21816da7e0ad3fd47dd8f94b2a5ce594e00677c0013018b813458"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:7f04c839ed0b6b98b1a7501a002144b76c18fb1c1850c8b98d458ac269e26ed2"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:34d1c8da1e78d2e001f363791c98a272bb734000fcef47a491c1e3b0505657a8"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-win32.whl", hash = "sha256:aed38f6e4fb3f5d6bf81bfa990a07806be9d83cf7bacef998ab1a9bd660a581f"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:b01b88d45a6fcb69667cd6d2f7a9aeb4bf53760d7fc536bf679ec94fe9f3ff3d"}, - {file = "charset_normalizer-3.3.2-py3-none-any.whl", hash = "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc"}, -] - -[[package]] -name = "click" -version = "8.1.7" -description = "Composable command line interface toolkit" -optional = false -python-versions = ">=3.7" -files = [ - {file = "click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28"}, - {file = "click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"}, -] - -[package.dependencies] -colorama = {version = "*", markers = "platform_system == \"Windows\""} - -[[package]] -name = "colorama" -version = "0.4.6" -description = "Cross-platform colored terminal text." -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" -files = [ - {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, - {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, -] - -[[package]] -name = "dill" -version = "0.3.8" -description = "serialize all of Python" -optional = false -python-versions = ">=3.8" -files = [ - {file = "dill-0.3.8-py3-none-any.whl", hash = "sha256:c36ca9ffb54365bdd2f8eb3eff7d2a21237f8452b57ace88b1ac615b7e815bd7"}, - {file = "dill-0.3.8.tar.gz", hash = "sha256:3ebe3c479ad625c4553aca177444d89b486b1d84982eeacded644afc0cf797ca"}, -] - -[package.extras] -graph = ["objgraph (>=1.7.2)"] -profile = ["gprof2dot (>=2022.7.29)"] - -[[package]] -name = "et-xmlfile" -version = "1.1.0" -description = "An implementation of lxml.xmlfile for the standard library" -optional = false -python-versions = ">=3.6" -files = [ - {file = "et_xmlfile-1.1.0-py3-none-any.whl", hash = "sha256:a2ba85d1d6a74ef63837eed693bcb89c3f752169b0e3e7ae5b16ca5e1b3deada"}, - {file = "et_xmlfile-1.1.0.tar.gz", hash = "sha256:8eb9e2bc2f8c97e37a2dc85a09ecdcdec9d8a396530a6d5a33b30b9a92da0c5c"}, -] - -[[package]] -name = "exceptiongroup" -version = "1.2.1" -description = "Backport of PEP 654 (exception groups)" -optional = false -python-versions = ">=3.7" -files = [ - {file = "exceptiongroup-1.2.1-py3-none-any.whl", hash = "sha256:5258b9ed329c5bbdd31a309f53cbfb0b155341807f6ff7606a1e801a891b29ad"}, - {file = "exceptiongroup-1.2.1.tar.gz", hash = "sha256:a4785e48b045528f5bfe627b6ad554ff32def154f42372786903b7abcfe1aa16"}, -] - -[package.extras] -test = ["pytest (>=6)"] - -[[package]] -name = "greenlet" -version = "3.0.3" -description = "Lightweight in-process concurrent programming" -optional = true -python-versions = ">=3.7" -files = [ - {file = "greenlet-3.0.3-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:9da2bd29ed9e4f15955dd1595ad7bc9320308a3b766ef7f837e23ad4b4aac31a"}, - {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d353cadd6083fdb056bb46ed07e4340b0869c305c8ca54ef9da3421acbdf6881"}, - {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dca1e2f3ca00b84a396bc1bce13dd21f680f035314d2379c4160c98153b2059b"}, - {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3ed7fb269f15dc662787f4119ec300ad0702fa1b19d2135a37c2c4de6fadfd4a"}, - {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd4f49ae60e10adbc94b45c0b5e6a179acc1736cf7a90160b404076ee283cf83"}, - {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:73a411ef564e0e097dbe7e866bb2dda0f027e072b04da387282b02c308807405"}, - {file = "greenlet-3.0.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:7f362975f2d179f9e26928c5b517524e89dd48530a0202570d55ad6ca5d8a56f"}, - {file = "greenlet-3.0.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:649dde7de1a5eceb258f9cb00bdf50e978c9db1b996964cd80703614c86495eb"}, - {file = "greenlet-3.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:68834da854554926fbedd38c76e60c4a2e3198c6fbed520b106a8986445caaf9"}, - {file = "greenlet-3.0.3-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:b1b5667cced97081bf57b8fa1d6bfca67814b0afd38208d52538316e9422fc61"}, - {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:52f59dd9c96ad2fc0d5724107444f76eb20aaccb675bf825df6435acb7703559"}, - {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:afaff6cf5200befd5cec055b07d1c0a5a06c040fe5ad148abcd11ba6ab9b114e"}, - {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fe754d231288e1e64323cfad462fcee8f0288654c10bdf4f603a39ed923bef33"}, - {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2797aa5aedac23af156bbb5a6aa2cd3427ada2972c828244eb7d1b9255846379"}, - {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b7f009caad047246ed379e1c4dbcb8b020f0a390667ea74d2387be2998f58a22"}, - {file = "greenlet-3.0.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:c5e1536de2aad7bf62e27baf79225d0d64360d4168cf2e6becb91baf1ed074f3"}, - {file = "greenlet-3.0.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:894393ce10ceac937e56ec00bb71c4c2f8209ad516e96033e4b3b1de270e200d"}, - {file = "greenlet-3.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:1ea188d4f49089fc6fb283845ab18a2518d279c7cd9da1065d7a84e991748728"}, - {file = "greenlet-3.0.3-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:70fb482fdf2c707765ab5f0b6655e9cfcf3780d8d87355a063547b41177599be"}, - {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d4d1ac74f5c0c0524e4a24335350edad7e5f03b9532da7ea4d3c54d527784f2e"}, - {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:149e94a2dd82d19838fe4b2259f1b6b9957d5ba1b25640d2380bea9c5df37676"}, - {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:15d79dd26056573940fcb8c7413d84118086f2ec1a8acdfa854631084393efcc"}, - {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:881b7db1ebff4ba09aaaeae6aa491daeb226c8150fc20e836ad00041bcb11230"}, - {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fcd2469d6a2cf298f198f0487e0a5b1a47a42ca0fa4dfd1b6862c999f018ebbf"}, - {file = "greenlet-3.0.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:1f672519db1796ca0d8753f9e78ec02355e862d0998193038c7073045899f305"}, - {file = "greenlet-3.0.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2516a9957eed41dd8f1ec0c604f1cdc86758b587d964668b5b196a9db5bfcde6"}, - {file = "greenlet-3.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:bba5387a6975598857d86de9eac14210a49d554a77eb8261cc68b7d082f78ce2"}, - {file = "greenlet-3.0.3-cp37-cp37m-macosx_11_0_universal2.whl", hash = "sha256:5b51e85cb5ceda94e79d019ed36b35386e8c37d22f07d6a751cb659b180d5274"}, - {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:daf3cb43b7cf2ba96d614252ce1684c1bccee6b2183a01328c98d36fcd7d5cb0"}, - {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:99bf650dc5d69546e076f413a87481ee1d2d09aaaaaca058c9251b6d8c14783f"}, - {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2dd6e660effd852586b6a8478a1d244b8dc90ab5b1321751d2ea15deb49ed414"}, - {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e3391d1e16e2a5a1507d83e4a8b100f4ee626e8eca43cf2cadb543de69827c4c"}, - {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e1f145462f1fa6e4a4ae3c0f782e580ce44d57c8f2c7aae1b6fa88c0b2efdb41"}, - {file = "greenlet-3.0.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:1a7191e42732df52cb5f39d3527217e7ab73cae2cb3694d241e18f53d84ea9a7"}, - {file = "greenlet-3.0.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:0448abc479fab28b00cb472d278828b3ccca164531daab4e970a0458786055d6"}, - {file = "greenlet-3.0.3-cp37-cp37m-win32.whl", hash = "sha256:b542be2440edc2d48547b5923c408cbe0fc94afb9f18741faa6ae970dbcb9b6d"}, - {file = "greenlet-3.0.3-cp37-cp37m-win_amd64.whl", hash = "sha256:01bc7ea167cf943b4c802068e178bbf70ae2e8c080467070d01bfa02f337ee67"}, - {file = "greenlet-3.0.3-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:1996cb9306c8595335bb157d133daf5cf9f693ef413e7673cb07e3e5871379ca"}, - {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ddc0f794e6ad661e321caa8d2f0a55ce01213c74722587256fb6566049a8b04"}, - {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c9db1c18f0eaad2f804728c67d6c610778456e3e1cc4ab4bbd5eeb8e6053c6fc"}, - {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7170375bcc99f1a2fbd9c306f5be8764eaf3ac6b5cb968862cad4c7057756506"}, - {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6b66c9c1e7ccabad3a7d037b2bcb740122a7b17a53734b7d72a344ce39882a1b"}, - {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:098d86f528c855ead3479afe84b49242e174ed262456c342d70fc7f972bc13c4"}, - {file = "greenlet-3.0.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:81bb9c6d52e8321f09c3d165b2a78c680506d9af285bfccbad9fb7ad5a5da3e5"}, - {file = "greenlet-3.0.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:fd096eb7ffef17c456cfa587523c5f92321ae02427ff955bebe9e3c63bc9f0da"}, - {file = "greenlet-3.0.3-cp38-cp38-win32.whl", hash = "sha256:d46677c85c5ba00a9cb6f7a00b2bfa6f812192d2c9f7d9c4f6a55b60216712f3"}, - {file = "greenlet-3.0.3-cp38-cp38-win_amd64.whl", hash = "sha256:419b386f84949bf0e7c73e6032e3457b82a787c1ab4a0e43732898a761cc9dbf"}, - {file = "greenlet-3.0.3-cp39-cp39-macosx_11_0_universal2.whl", hash = "sha256:da70d4d51c8b306bb7a031d5cff6cc25ad253affe89b70352af5f1cb68e74b53"}, - {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:086152f8fbc5955df88382e8a75984e2bb1c892ad2e3c80a2508954e52295257"}, - {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d73a9fe764d77f87f8ec26a0c85144d6a951a6c438dfe50487df5595c6373eac"}, - {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b7dcbe92cc99f08c8dd11f930de4d99ef756c3591a5377d1d9cd7dd5e896da71"}, - {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1551a8195c0d4a68fac7a4325efac0d541b48def35feb49d803674ac32582f61"}, - {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:64d7675ad83578e3fc149b617a444fab8efdafc9385471f868eb5ff83e446b8b"}, - {file = "greenlet-3.0.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:b37eef18ea55f2ffd8f00ff8fe7c8d3818abd3e25fb73fae2ca3b672e333a7a6"}, - {file = "greenlet-3.0.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:77457465d89b8263bca14759d7c1684df840b6811b2499838cc5b040a8b5b113"}, - {file = "greenlet-3.0.3-cp39-cp39-win32.whl", hash = "sha256:57e8974f23e47dac22b83436bdcf23080ade568ce77df33159e019d161ce1d1e"}, - {file = "greenlet-3.0.3-cp39-cp39-win_amd64.whl", hash = "sha256:c5ee858cfe08f34712f548c3c363e807e7186f03ad7a5039ebadb29e8c6be067"}, - {file = "greenlet-3.0.3.tar.gz", hash = "sha256:43374442353259554ce33599da8b692d5aa96f8976d567d4badf263371fbe491"}, -] - -[package.extras] -docs = ["Sphinx", "furo"] -test = ["objgraph", "psutil"] - -[[package]] -name = "idna" -version = "3.7" -description = "Internationalized Domain Names in Applications (IDNA)" -optional = false -python-versions = ">=3.5" -files = [ - {file = "idna-3.7-py3-none-any.whl", hash = "sha256:82fee1fc78add43492d3a1898bfa6d8a904cc97d8427f683ed8e798d07761aa0"}, - {file = "idna-3.7.tar.gz", hash = "sha256:028ff3aadf0609c1fd278d8ea3089299412a7a8b9bd005dd08b9f8285bcb5cfc"}, -] - -[[package]] -name = "importlib-metadata" -version = "8.0.0" -description = "Read metadata from Python packages" -optional = true -python-versions = ">=3.8" -files = [ - {file = "importlib_metadata-8.0.0-py3-none-any.whl", hash = "sha256:15584cf2b1bf449d98ff8a6ff1abef57bf20f3ac6454f431736cd3e660921b2f"}, - {file = "importlib_metadata-8.0.0.tar.gz", hash = "sha256:188bd24e4c346d3f0a933f275c2fec67050326a856b9a359881d7c2a697e8812"}, -] - -[package.dependencies] -zipp = ">=0.5" - -[package.extras] -doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] -perf = ["ipython"] -test = ["flufl.flake8", "importlib-resources (>=1.3)", "jaraco.test (>=5.4)", "packaging", "pyfakefs", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy", "pytest-perf (>=0.9.2)", "pytest-ruff (>=0.2.1)"] - -[[package]] -name = "importlib-resources" -version = "6.4.0" -description = "Read resources from Python packages" -optional = true -python-versions = ">=3.8" -files = [ - {file = "importlib_resources-6.4.0-py3-none-any.whl", hash = "sha256:50d10f043df931902d4194ea07ec57960f66a80449ff867bfe782b4c486ba78c"}, - {file = "importlib_resources-6.4.0.tar.gz", hash = "sha256:cdb2b453b8046ca4e3798eb1d84f3cce1446a0e8e7b5ef4efb600f19fc398145"}, -] - -[package.dependencies] -zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""} - -[package.extras] -docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-lint"] -testing = ["jaraco.test (>=5.4)", "pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy", "pytest-ruff (>=0.2.1)", "zipp (>=3.17)"] - -[[package]] -name = "iniconfig" -version = "2.0.0" -description = "brain-dead simple config-ini parsing" -optional = false -python-versions = ">=3.7" -files = [ - {file = "iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374"}, - {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"}, -] - -[[package]] -name = "isort" -version = "5.13.2" -description = "A Python utility / library to sort Python imports." -optional = false -python-versions = ">=3.8.0" -files = [ - {file = "isort-5.13.2-py3-none-any.whl", hash = "sha256:8ca5e72a8d85860d5a3fa69b8745237f2939afe12dbf656afbcb47fe72d947a6"}, - {file = "isort-5.13.2.tar.gz", hash = "sha256:48fdfcb9face5d58a4f6dde2e72a1fb8dcaf8ab26f95ab49fab84c2ddefb0109"}, -] - -[package.extras] -colors = ["colorama (>=0.4.6)"] - -[[package]] -name = "lz4" -version = "4.3.3" -description = "LZ4 Bindings for Python" -optional = false -python-versions = ">=3.8" -files = [ - {file = "lz4-4.3.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b891880c187e96339474af2a3b2bfb11a8e4732ff5034be919aa9029484cd201"}, - {file = "lz4-4.3.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:222a7e35137d7539c9c33bb53fcbb26510c5748779364014235afc62b0ec797f"}, - {file = "lz4-4.3.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f76176492ff082657ada0d0f10c794b6da5800249ef1692b35cf49b1e93e8ef7"}, - {file = "lz4-4.3.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f1d18718f9d78182c6b60f568c9a9cec8a7204d7cb6fad4e511a2ef279e4cb05"}, - {file = "lz4-4.3.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6cdc60e21ec70266947a48839b437d46025076eb4b12c76bd47f8e5eb8a75dcc"}, - {file = "lz4-4.3.3-cp310-cp310-win32.whl", hash = "sha256:c81703b12475da73a5d66618856d04b1307e43428a7e59d98cfe5a5d608a74c6"}, - {file = "lz4-4.3.3-cp310-cp310-win_amd64.whl", hash = "sha256:43cf03059c0f941b772c8aeb42a0813d68d7081c009542301637e5782f8a33e2"}, - {file = "lz4-4.3.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:30e8c20b8857adef7be045c65f47ab1e2c4fabba86a9fa9a997d7674a31ea6b6"}, - {file = "lz4-4.3.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2f7b1839f795315e480fb87d9bc60b186a98e3e5d17203c6e757611ef7dcef61"}, - {file = "lz4-4.3.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:edfd858985c23523f4e5a7526ca6ee65ff930207a7ec8a8f57a01eae506aaee7"}, - {file = "lz4-4.3.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e9c410b11a31dbdc94c05ac3c480cb4b222460faf9231f12538d0074e56c563"}, - {file = "lz4-4.3.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d2507ee9c99dbddd191c86f0e0c8b724c76d26b0602db9ea23232304382e1f21"}, - {file = "lz4-4.3.3-cp311-cp311-win32.whl", hash = "sha256:f180904f33bdd1e92967923a43c22899e303906d19b2cf8bb547db6653ea6e7d"}, - {file = "lz4-4.3.3-cp311-cp311-win_amd64.whl", hash = "sha256:b14d948e6dce389f9a7afc666d60dd1e35fa2138a8ec5306d30cd2e30d36b40c"}, - {file = "lz4-4.3.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:e36cd7b9d4d920d3bfc2369840da506fa68258f7bb176b8743189793c055e43d"}, - {file = "lz4-4.3.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:31ea4be9d0059c00b2572d700bf2c1bc82f241f2c3282034a759c9a4d6ca4dc2"}, - {file = "lz4-4.3.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:33c9a6fd20767ccaf70649982f8f3eeb0884035c150c0b818ea660152cf3c809"}, - {file = "lz4-4.3.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bca8fccc15e3add173da91be8f34121578dc777711ffd98d399be35487c934bf"}, - {file = "lz4-4.3.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e7d84b479ddf39fe3ea05387f10b779155fc0990125f4fb35d636114e1c63a2e"}, - {file = "lz4-4.3.3-cp312-cp312-win32.whl", hash = "sha256:337cb94488a1b060ef1685187d6ad4ba8bc61d26d631d7ba909ee984ea736be1"}, - {file = "lz4-4.3.3-cp312-cp312-win_amd64.whl", hash = "sha256:5d35533bf2cee56f38ced91f766cd0038b6abf46f438a80d50c52750088be93f"}, - {file = "lz4-4.3.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:363ab65bf31338eb364062a15f302fc0fab0a49426051429866d71c793c23394"}, - {file = "lz4-4.3.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:0a136e44a16fc98b1abc404fbabf7f1fada2bdab6a7e970974fb81cf55b636d0"}, - {file = "lz4-4.3.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:abc197e4aca8b63f5ae200af03eb95fb4b5055a8f990079b5bdf042f568469dd"}, - {file = "lz4-4.3.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:56f4fe9c6327adb97406f27a66420b22ce02d71a5c365c48d6b656b4aaeb7775"}, - {file = "lz4-4.3.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f0e822cd7644995d9ba248cb4b67859701748a93e2ab7fc9bc18c599a52e4604"}, - {file = "lz4-4.3.3-cp38-cp38-win32.whl", hash = "sha256:24b3206de56b7a537eda3a8123c644a2b7bf111f0af53bc14bed90ce5562d1aa"}, - {file = "lz4-4.3.3-cp38-cp38-win_amd64.whl", hash = "sha256:b47839b53956e2737229d70714f1d75f33e8ac26e52c267f0197b3189ca6de24"}, - {file = "lz4-4.3.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6756212507405f270b66b3ff7f564618de0606395c0fe10a7ae2ffcbbe0b1fba"}, - {file = "lz4-4.3.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ee9ff50557a942d187ec85462bb0960207e7ec5b19b3b48949263993771c6205"}, - {file = "lz4-4.3.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2b901c7784caac9a1ded4555258207d9e9697e746cc8532129f150ffe1f6ba0d"}, - {file = "lz4-4.3.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b6d9ec061b9eca86e4dcc003d93334b95d53909afd5a32c6e4f222157b50c071"}, - {file = "lz4-4.3.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f4c7bf687303ca47d69f9f0133274958fd672efaa33fb5bcde467862d6c621f0"}, - {file = "lz4-4.3.3-cp39-cp39-win32.whl", hash = "sha256:054b4631a355606e99a42396f5db4d22046a3397ffc3269a348ec41eaebd69d2"}, - {file = "lz4-4.3.3-cp39-cp39-win_amd64.whl", hash = "sha256:eac9af361e0d98335a02ff12fb56caeb7ea1196cf1a49dbf6f17828a131da807"}, - {file = "lz4-4.3.3.tar.gz", hash = "sha256:01fe674ef2889dbb9899d8a67361e0c4a2c833af5aeb37dd505727cf5d2a131e"}, -] - -[package.extras] -docs = ["sphinx (>=1.6.0)", "sphinx-bootstrap-theme"] -flake8 = ["flake8"] -tests = ["psutil", "pytest (!=3.3.0)", "pytest-cov"] - -[[package]] -name = "mako" -version = "1.3.5" -description = "A super-fast templating language that borrows the best ideas from the existing templating languages." -optional = true -python-versions = ">=3.8" -files = [ - {file = "Mako-1.3.5-py3-none-any.whl", hash = "sha256:260f1dbc3a519453a9c856dedfe4beb4e50bd5a26d96386cb6c80856556bb91a"}, - {file = "Mako-1.3.5.tar.gz", hash = "sha256:48dbc20568c1d276a2698b36d968fa76161bf127194907ea6fc594fa81f943bc"}, -] - -[package.dependencies] -MarkupSafe = ">=0.9.2" - -[package.extras] -babel = ["Babel"] -lingua = ["lingua"] -testing = ["pytest"] - -[[package]] -name = "markupsafe" -version = "2.1.5" -description = "Safely add untrusted strings to HTML/XML markup." -optional = true -python-versions = ">=3.7" -files = [ - {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-win32.whl", hash = "sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-win_amd64.whl", hash = "sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ec585f69cec0aa07d945b20805be741395e28ac1627333b1c5b0105962ffced"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b91c037585eba9095565a3556f611e3cbfaa42ca1e865f7b8015fe5c7336d5a5"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7502934a33b54030eaf1194c21c692a534196063db72176b0c4028e140f8f32c"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0e397ac966fdf721b2c528cf028494e86172b4feba51d65f81ffd65c63798f3f"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c061bb86a71b42465156a3ee7bd58c8c2ceacdbeb95d05a99893e08b8467359a"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3a57fdd7ce31c7ff06cdfbf31dafa96cc533c21e443d57f5b1ecc6cdc668ec7f"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-win32.whl", hash = "sha256:397081c1a0bfb5124355710fe79478cdbeb39626492b15d399526ae53422b906"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-win_amd64.whl", hash = "sha256:2b7c57a4dfc4f16f7142221afe5ba4e093e09e728ca65c51f5620c9aaeb9a617"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-win32.whl", hash = "sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-win_amd64.whl", hash = "sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c8b29db45f8fe46ad280a7294f5c3ec36dbac9491f2d1c17345be8e69cc5928f"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ec6a563cff360b50eed26f13adc43e61bc0c04d94b8be985e6fb24b81f6dcfdf"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a549b9c31bec33820e885335b451286e2969a2d9e24879f83fe904a5ce59d70a"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4f11aa001c540f62c6166c7726f71f7573b52c68c31f014c25cc7901deea0b52"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:7b2e5a267c855eea6b4283940daa6e88a285f5f2a67f2220203786dfa59b37e9"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:2d2d793e36e230fd32babe143b04cec8a8b3eb8a3122d2aceb4a371e6b09b8df"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ce409136744f6521e39fd8e2a24c53fa18ad67aa5bc7c2cf83645cce5b5c4e50"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-win32.whl", hash = "sha256:4096e9de5c6fdf43fb4f04c26fb114f61ef0bf2e5604b6ee3019d51b69e8c371"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-win_amd64.whl", hash = "sha256:4275d846e41ecefa46e2015117a9f491e57a71ddd59bbead77e904dc02b1bed2"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:656f7526c69fac7f600bd1f400991cc282b417d17539a1b228617081106feb4a"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:97cafb1f3cbcd3fd2b6fbfb99ae11cdb14deea0736fc2b0952ee177f2b813a46"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f3fbcb7ef1f16e48246f704ab79d79da8a46891e2da03f8783a5b6fa41a9532"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa9db3f79de01457b03d4f01b34cf91bc0048eb2c3846ff26f66687c2f6d16ab"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffee1f21e5ef0d712f9033568f8344d5da8cc2869dbd08d87c84656e6a2d2f68"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5dedb4db619ba5a2787a94d877bc8ffc0566f92a01c0ef214865e54ecc9ee5e0"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:30b600cf0a7ac9234b2638fbc0fb6158ba5bdcdf46aeb631ead21248b9affbc4"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8dd717634f5a044f860435c1d8c16a270ddf0ef8588d4887037c5028b859b0c3"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-win32.whl", hash = "sha256:daa4ee5a243f0f20d528d939d06670a298dd39b1ad5f8a72a4275124a7819eff"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-win_amd64.whl", hash = "sha256:619bc166c4f2de5caa5a633b8b7326fbe98e0ccbfacabd87268a2b15ff73a029"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7a68b554d356a91cce1236aa7682dc01df0edba8d043fd1ce607c49dd3c1edcf"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:db0b55e0f3cc0be60c1f19efdde9a637c32740486004f20d1cff53c3c0ece4d2"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e53af139f8579a6d5f7b76549125f0d94d7e630761a2111bc431fd820e163b8"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17b950fccb810b3293638215058e432159d2b71005c74371d784862b7e4683f3"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c31f53cdae6ecfa91a77820e8b151dba54ab528ba65dfd235c80b086d68a465"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bff1b4290a66b490a2f4719358c0cdcd9bafb6b8f061e45c7a2460866bf50c2e"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bc1667f8b83f48511b94671e0e441401371dfd0f0a795c7daa4a3cd1dde55bea"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5049256f536511ee3f7e1b3f87d1d1209d327e818e6ae1365e8653d7e3abb6a6"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-win32.whl", hash = "sha256:00e046b6dd71aa03a41079792f8473dc494d564611a8f89bbbd7cb93295ebdcf"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-win_amd64.whl", hash = "sha256:fa173ec60341d6bb97a89f5ea19c85c5643c1e7dedebc22f5181eb73573142c5"}, - {file = "MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b"}, -] - -[[package]] -name = "mccabe" -version = "0.7.0" -description = "McCabe checker, plugin for flake8" -optional = false -python-versions = ">=3.6" -files = [ - {file = "mccabe-0.7.0-py2.py3-none-any.whl", hash = "sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e"}, - {file = "mccabe-0.7.0.tar.gz", hash = "sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325"}, -] - -[[package]] -name = "mypy" -version = "1.10.1" -description = "Optional static typing for Python" -optional = false -python-versions = ">=3.8" -files = [ - {file = "mypy-1.10.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e36f229acfe250dc660790840916eb49726c928e8ce10fbdf90715090fe4ae02"}, - {file = "mypy-1.10.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:51a46974340baaa4145363b9e051812a2446cf583dfaeba124af966fa44593f7"}, - {file = "mypy-1.10.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:901c89c2d67bba57aaaca91ccdb659aa3a312de67f23b9dfb059727cce2e2e0a"}, - {file = "mypy-1.10.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:0cd62192a4a32b77ceb31272d9e74d23cd88c8060c34d1d3622db3267679a5d9"}, - {file = "mypy-1.10.1-cp310-cp310-win_amd64.whl", hash = "sha256:a2cbc68cb9e943ac0814c13e2452d2046c2f2b23ff0278e26599224cf164e78d"}, - {file = "mypy-1.10.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:bd6f629b67bb43dc0d9211ee98b96d8dabc97b1ad38b9b25f5e4c4d7569a0c6a"}, - {file = "mypy-1.10.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a1bbb3a6f5ff319d2b9d40b4080d46cd639abe3516d5a62c070cf0114a457d84"}, - {file = "mypy-1.10.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b8edd4e9bbbc9d7b79502eb9592cab808585516ae1bcc1446eb9122656c6066f"}, - {file = "mypy-1.10.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:6166a88b15f1759f94a46fa474c7b1b05d134b1b61fca627dd7335454cc9aa6b"}, - {file = "mypy-1.10.1-cp311-cp311-win_amd64.whl", hash = "sha256:5bb9cd11c01c8606a9d0b83ffa91d0b236a0e91bc4126d9ba9ce62906ada868e"}, - {file = "mypy-1.10.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:d8681909f7b44d0b7b86e653ca152d6dff0eb5eb41694e163c6092124f8246d7"}, - {file = "mypy-1.10.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:378c03f53f10bbdd55ca94e46ec3ba255279706a6aacaecac52ad248f98205d3"}, - {file = "mypy-1.10.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6bacf8f3a3d7d849f40ca6caea5c055122efe70e81480c8328ad29c55c69e93e"}, - {file = "mypy-1.10.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:701b5f71413f1e9855566a34d6e9d12624e9e0a8818a5704d74d6b0402e66c04"}, - {file = "mypy-1.10.1-cp312-cp312-win_amd64.whl", hash = "sha256:3c4c2992f6ea46ff7fce0072642cfb62af7a2484efe69017ed8b095f7b39ef31"}, - {file = "mypy-1.10.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:604282c886497645ffb87b8f35a57ec773a4a2721161e709a4422c1636ddde5c"}, - {file = "mypy-1.10.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:37fd87cab83f09842653f08de066ee68f1182b9b5282e4634cdb4b407266bade"}, - {file = "mypy-1.10.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8addf6313777dbb92e9564c5d32ec122bf2c6c39d683ea64de6a1fd98b90fe37"}, - {file = "mypy-1.10.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:5cc3ca0a244eb9a5249c7c583ad9a7e881aa5d7b73c35652296ddcdb33b2b9c7"}, - {file = "mypy-1.10.1-cp38-cp38-win_amd64.whl", hash = "sha256:1b3a2ffce52cc4dbaeee4df762f20a2905aa171ef157b82192f2e2f368eec05d"}, - {file = "mypy-1.10.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:fe85ed6836165d52ae8b88f99527d3d1b2362e0cb90b005409b8bed90e9059b3"}, - {file = "mypy-1.10.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c2ae450d60d7d020d67ab440c6e3fae375809988119817214440033f26ddf7bf"}, - {file = "mypy-1.10.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6be84c06e6abd72f960ba9a71561c14137a583093ffcf9bbfaf5e613d63fa531"}, - {file = "mypy-1.10.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:2189ff1e39db399f08205e22a797383613ce1cb0cb3b13d8bcf0170e45b96cc3"}, - {file = "mypy-1.10.1-cp39-cp39-win_amd64.whl", hash = "sha256:97a131ee36ac37ce9581f4220311247ab6cba896b4395b9c87af0675a13a755f"}, - {file = "mypy-1.10.1-py3-none-any.whl", hash = "sha256:71d8ac0b906354ebda8ef1673e5fde785936ac1f29ff6987c7483cfbd5a4235a"}, - {file = "mypy-1.10.1.tar.gz", hash = "sha256:1f8f492d7db9e3593ef42d4f115f04e556130f2819ad33ab84551403e97dd4c0"}, -] - -[package.dependencies] -mypy-extensions = ">=1.0.0" -tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} -typing-extensions = ">=4.1.0" - -[package.extras] -dmypy = ["psutil (>=4.0)"] -install-types = ["pip"] -mypyc = ["setuptools (>=50)"] -reports = ["lxml"] - -[[package]] -name = "mypy-extensions" -version = "1.0.0" -description = "Type system extensions for programs checked with the mypy type checker." -optional = false -python-versions = ">=3.5" -files = [ - {file = "mypy_extensions-1.0.0-py3-none-any.whl", hash = "sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d"}, - {file = "mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"}, -] - -[[package]] -name = "numpy" -version = "1.24.4" -description = "Fundamental package for array computing in Python" -optional = false -python-versions = ">=3.8" -files = [ - {file = "numpy-1.24.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c0bfb52d2169d58c1cdb8cc1f16989101639b34c7d3ce60ed70b19c63eba0b64"}, - {file = "numpy-1.24.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ed094d4f0c177b1b8e7aa9cba7d6ceed51c0e569a5318ac0ca9a090680a6a1b1"}, - {file = "numpy-1.24.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79fc682a374c4a8ed08b331bef9c5f582585d1048fa6d80bc6c35bc384eee9b4"}, - {file = "numpy-1.24.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ffe43c74893dbf38c2b0a1f5428760a1a9c98285553c89e12d70a96a7f3a4d6"}, - {file = "numpy-1.24.4-cp310-cp310-win32.whl", hash = "sha256:4c21decb6ea94057331e111a5bed9a79d335658c27ce2adb580fb4d54f2ad9bc"}, - {file = "numpy-1.24.4-cp310-cp310-win_amd64.whl", hash = "sha256:b4bea75e47d9586d31e892a7401f76e909712a0fd510f58f5337bea9572c571e"}, - {file = "numpy-1.24.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f136bab9c2cfd8da131132c2cf6cc27331dd6fae65f95f69dcd4ae3c3639c810"}, - {file = "numpy-1.24.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e2926dac25b313635e4d6cf4dc4e51c8c0ebfed60b801c799ffc4c32bf3d1254"}, - {file = "numpy-1.24.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:222e40d0e2548690405b0b3c7b21d1169117391c2e82c378467ef9ab4c8f0da7"}, - {file = "numpy-1.24.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7215847ce88a85ce39baf9e89070cb860c98fdddacbaa6c0da3ffb31b3350bd5"}, - {file = "numpy-1.24.4-cp311-cp311-win32.whl", hash = "sha256:4979217d7de511a8d57f4b4b5b2b965f707768440c17cb70fbf254c4b225238d"}, - {file = "numpy-1.24.4-cp311-cp311-win_amd64.whl", hash = "sha256:b7b1fc9864d7d39e28f41d089bfd6353cb5f27ecd9905348c24187a768c79694"}, - {file = "numpy-1.24.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1452241c290f3e2a312c137a9999cdbf63f78864d63c79039bda65ee86943f61"}, - {file = "numpy-1.24.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:04640dab83f7c6c85abf9cd729c5b65f1ebd0ccf9de90b270cd61935eef0197f"}, - {file = "numpy-1.24.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5425b114831d1e77e4b5d812b69d11d962e104095a5b9c3b641a218abcc050e"}, - {file = "numpy-1.24.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd80e219fd4c71fc3699fc1dadac5dcf4fd882bfc6f7ec53d30fa197b8ee22dc"}, - {file = "numpy-1.24.4-cp38-cp38-win32.whl", hash = "sha256:4602244f345453db537be5314d3983dbf5834a9701b7723ec28923e2889e0bb2"}, - {file = "numpy-1.24.4-cp38-cp38-win_amd64.whl", hash = "sha256:692f2e0f55794943c5bfff12b3f56f99af76f902fc47487bdfe97856de51a706"}, - {file = "numpy-1.24.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2541312fbf09977f3b3ad449c4e5f4bb55d0dbf79226d7724211acc905049400"}, - {file = "numpy-1.24.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9667575fb6d13c95f1b36aca12c5ee3356bf001b714fc354eb5465ce1609e62f"}, - {file = "numpy-1.24.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f3a86ed21e4f87050382c7bc96571755193c4c1392490744ac73d660e8f564a9"}, - {file = "numpy-1.24.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d11efb4dbecbdf22508d55e48d9c8384db795e1b7b51ea735289ff96613ff74d"}, - {file = "numpy-1.24.4-cp39-cp39-win32.whl", hash = "sha256:6620c0acd41dbcb368610bb2f4d83145674040025e5536954782467100aa8835"}, - {file = "numpy-1.24.4-cp39-cp39-win_amd64.whl", hash = "sha256:befe2bf740fd8373cf56149a5c23a0f601e82869598d41f8e188a0e9869926f8"}, - {file = "numpy-1.24.4-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:31f13e25b4e304632a4619d0e0777662c2ffea99fcae2029556b17d8ff958aef"}, - {file = "numpy-1.24.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95f7ac6540e95bc440ad77f56e520da5bf877f87dca58bd095288dce8940532a"}, - {file = "numpy-1.24.4-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:e98f220aa76ca2a977fe435f5b04d7b3470c0a2e6312907b37ba6068f26787f2"}, - {file = "numpy-1.24.4.tar.gz", hash = "sha256:80f5e3a4e498641401868df4208b74581206afbee7cf7b8329daae82676d9463"}, -] - -[[package]] -name = "numpy" -version = "1.26.4" -description = "Fundamental package for array computing in Python" -optional = false -python-versions = ">=3.9" -files = [ - {file = "numpy-1.26.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9ff0f4f29c51e2803569d7a51c2304de5554655a60c5d776e35b4a41413830d0"}, - {file = "numpy-1.26.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2e4ee3380d6de9c9ec04745830fd9e2eccb3e6cf790d39d7b98ffd19b0dd754a"}, - {file = "numpy-1.26.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d209d8969599b27ad20994c8e41936ee0964e6da07478d6c35016bc386b66ad4"}, - {file = "numpy-1.26.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ffa75af20b44f8dba823498024771d5ac50620e6915abac414251bd971b4529f"}, - {file = "numpy-1.26.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:62b8e4b1e28009ef2846b4c7852046736bab361f7aeadeb6a5b89ebec3c7055a"}, - {file = "numpy-1.26.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a4abb4f9001ad2858e7ac189089c42178fcce737e4169dc61321660f1a96c7d2"}, - {file = "numpy-1.26.4-cp310-cp310-win32.whl", hash = "sha256:bfe25acf8b437eb2a8b2d49d443800a5f18508cd811fea3181723922a8a82b07"}, - {file = "numpy-1.26.4-cp310-cp310-win_amd64.whl", hash = "sha256:b97fe8060236edf3662adfc2c633f56a08ae30560c56310562cb4f95500022d5"}, - {file = "numpy-1.26.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4c66707fabe114439db9068ee468c26bbdf909cac0fb58686a42a24de1760c71"}, - {file = "numpy-1.26.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:edd8b5fe47dab091176d21bb6de568acdd906d1887a4584a15a9a96a1dca06ef"}, - {file = "numpy-1.26.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7ab55401287bfec946ced39700c053796e7cc0e3acbef09993a9ad2adba6ca6e"}, - {file = "numpy-1.26.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:666dbfb6ec68962c033a450943ded891bed2d54e6755e35e5835d63f4f6931d5"}, - {file = "numpy-1.26.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:96ff0b2ad353d8f990b63294c8986f1ec3cb19d749234014f4e7eb0112ceba5a"}, - {file = "numpy-1.26.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:60dedbb91afcbfdc9bc0b1f3f402804070deed7392c23eb7a7f07fa857868e8a"}, - {file = "numpy-1.26.4-cp311-cp311-win32.whl", hash = "sha256:1af303d6b2210eb850fcf03064d364652b7120803a0b872f5211f5234b399f20"}, - {file = "numpy-1.26.4-cp311-cp311-win_amd64.whl", hash = "sha256:cd25bcecc4974d09257ffcd1f098ee778f7834c3ad767fe5db785be9a4aa9cb2"}, - {file = "numpy-1.26.4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b3ce300f3644fb06443ee2222c2201dd3a89ea6040541412b8fa189341847218"}, - {file = "numpy-1.26.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:03a8c78d01d9781b28a6989f6fa1bb2c4f2d51201cf99d3dd875df6fbd96b23b"}, - {file = "numpy-1.26.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9fad7dcb1aac3c7f0584a5a8133e3a43eeb2fe127f47e3632d43d677c66c102b"}, - {file = "numpy-1.26.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:675d61ffbfa78604709862923189bad94014bef562cc35cf61d3a07bba02a7ed"}, - {file = "numpy-1.26.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:ab47dbe5cc8210f55aa58e4805fe224dac469cde56b9f731a4c098b91917159a"}, - {file = "numpy-1.26.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:1dda2e7b4ec9dd512f84935c5f126c8bd8b9f2fc001e9f54af255e8c5f16b0e0"}, - {file = "numpy-1.26.4-cp312-cp312-win32.whl", hash = "sha256:50193e430acfc1346175fcbdaa28ffec49947a06918b7b92130744e81e640110"}, - {file = "numpy-1.26.4-cp312-cp312-win_amd64.whl", hash = "sha256:08beddf13648eb95f8d867350f6a018a4be2e5ad54c8d8caed89ebca558b2818"}, - {file = "numpy-1.26.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:7349ab0fa0c429c82442a27a9673fc802ffdb7c7775fad780226cb234965e53c"}, - {file = "numpy-1.26.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:52b8b60467cd7dd1e9ed082188b4e6bb35aa5cdd01777621a1658910745b90be"}, - {file = "numpy-1.26.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d5241e0a80d808d70546c697135da2c613f30e28251ff8307eb72ba696945764"}, - {file = "numpy-1.26.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f870204a840a60da0b12273ef34f7051e98c3b5961b61b0c2c1be6dfd64fbcd3"}, - {file = "numpy-1.26.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:679b0076f67ecc0138fd2ede3a8fd196dddc2ad3254069bcb9faf9a79b1cebcd"}, - {file = "numpy-1.26.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:47711010ad8555514b434df65f7d7b076bb8261df1ca9bb78f53d3b2db02e95c"}, - {file = "numpy-1.26.4-cp39-cp39-win32.whl", hash = "sha256:a354325ee03388678242a4d7ebcd08b5c727033fcff3b2f536aea978e15ee9e6"}, - {file = "numpy-1.26.4-cp39-cp39-win_amd64.whl", hash = "sha256:3373d5d70a5fe74a2c1bb6d2cfd9609ecf686d47a2d7b1d37a8f3b6bf6003aea"}, - {file = "numpy-1.26.4-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:afedb719a9dcfc7eaf2287b839d8198e06dcd4cb5d276a3df279231138e83d30"}, - {file = "numpy-1.26.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95a7476c59002f2f6c590b9b7b998306fba6a5aa646b1e22ddfeaf8f78c3a29c"}, - {file = "numpy-1.26.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7e50d0a0cc3189f9cb0aeb3a6a6af18c16f59f004b866cd2be1c14b36134a4a0"}, - {file = "numpy-1.26.4.tar.gz", hash = "sha256:2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010"}, -] - -[[package]] -name = "oauthlib" -version = "3.2.2" -description = "A generic, spec-compliant, thorough implementation of the OAuth request-signing logic" -optional = false -python-versions = ">=3.6" -files = [ - {file = "oauthlib-3.2.2-py3-none-any.whl", hash = "sha256:8139f29aac13e25d502680e9e19963e83f16838d48a0d71c287fe40e7067fbca"}, - {file = "oauthlib-3.2.2.tar.gz", hash = "sha256:9859c40929662bec5d64f34d01c99e093149682a3f38915dc0655d5a633dd918"}, -] - -[package.extras] -rsa = ["cryptography (>=3.0.0)"] -signals = ["blinker (>=1.4.0)"] -signedtoken = ["cryptography (>=3.0.0)", "pyjwt (>=2.0.0,<3)"] - -[[package]] -name = "openpyxl" -version = "3.1.5" -description = "A Python library to read/write Excel 2010 xlsx/xlsm files" -optional = false -python-versions = ">=3.8" -files = [ - {file = "openpyxl-3.1.5-py2.py3-none-any.whl", hash = "sha256:5282c12b107bffeef825f4617dc029afaf41d0ea60823bbb665ef3079dc79de2"}, - {file = "openpyxl-3.1.5.tar.gz", hash = "sha256:cf0e3cf56142039133628b5acffe8ef0c12bc902d2aadd3e0fe5878dc08d1050"}, -] - -[package.dependencies] -et-xmlfile = "*" - -[[package]] -name = "packaging" -version = "24.1" -description = "Core utilities for Python packages" -optional = false -python-versions = ">=3.8" -files = [ - {file = "packaging-24.1-py3-none-any.whl", hash = "sha256:5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124"}, - {file = "packaging-24.1.tar.gz", hash = "sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002"}, -] - -[[package]] -name = "pandas" -version = "2.0.3" -description = "Powerful data structures for data analysis, time series, and statistics" -optional = false -python-versions = ">=3.8" -files = [ - {file = "pandas-2.0.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e4c7c9f27a4185304c7caf96dc7d91bc60bc162221152de697c98eb0b2648dd8"}, - {file = "pandas-2.0.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f167beed68918d62bffb6ec64f2e1d8a7d297a038f86d4aed056b9493fca407f"}, - {file = "pandas-2.0.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ce0c6f76a0f1ba361551f3e6dceaff06bde7514a374aa43e33b588ec10420183"}, - {file = "pandas-2.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba619e410a21d8c387a1ea6e8a0e49bb42216474436245718d7f2e88a2f8d7c0"}, - {file = "pandas-2.0.3-cp310-cp310-win32.whl", hash = "sha256:3ef285093b4fe5058eefd756100a367f27029913760773c8bf1d2d8bebe5d210"}, - {file = "pandas-2.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:9ee1a69328d5c36c98d8e74db06f4ad518a1840e8ccb94a4ba86920986bb617e"}, - {file = "pandas-2.0.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b084b91d8d66ab19f5bb3256cbd5ea661848338301940e17f4492b2ce0801fe8"}, - {file = "pandas-2.0.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:37673e3bdf1551b95bf5d4ce372b37770f9529743d2498032439371fc7b7eb26"}, - {file = "pandas-2.0.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b9cb1e14fdb546396b7e1b923ffaeeac24e4cedd14266c3497216dd4448e4f2d"}, - {file = "pandas-2.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d9cd88488cceb7635aebb84809d087468eb33551097d600c6dad13602029c2df"}, - {file = "pandas-2.0.3-cp311-cp311-win32.whl", hash = "sha256:694888a81198786f0e164ee3a581df7d505024fbb1f15202fc7db88a71d84ebd"}, - {file = "pandas-2.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:6a21ab5c89dcbd57f78d0ae16630b090eec626360085a4148693def5452d8a6b"}, - {file = "pandas-2.0.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:9e4da0d45e7f34c069fe4d522359df7d23badf83abc1d1cef398895822d11061"}, - {file = "pandas-2.0.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:32fca2ee1b0d93dd71d979726b12b61faa06aeb93cf77468776287f41ff8fdc5"}, - {file = "pandas-2.0.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:258d3624b3ae734490e4d63c430256e716f488c4fcb7c8e9bde2d3aa46c29089"}, - {file = "pandas-2.0.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9eae3dc34fa1aa7772dd3fc60270d13ced7346fcbcfee017d3132ec625e23bb0"}, - {file = "pandas-2.0.3-cp38-cp38-win32.whl", hash = "sha256:f3421a7afb1a43f7e38e82e844e2bca9a6d793d66c1a7f9f0ff39a795bbc5e02"}, - {file = "pandas-2.0.3-cp38-cp38-win_amd64.whl", hash = "sha256:69d7f3884c95da3a31ef82b7618af5710dba95bb885ffab339aad925c3e8ce78"}, - {file = "pandas-2.0.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5247fb1ba347c1261cbbf0fcfba4a3121fbb4029d95d9ef4dc45406620b25c8b"}, - {file = "pandas-2.0.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:81af086f4543c9d8bb128328b5d32e9986e0c84d3ee673a2ac6fb57fd14f755e"}, - {file = "pandas-2.0.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1994c789bf12a7c5098277fb43836ce090f1073858c10f9220998ac74f37c69b"}, - {file = "pandas-2.0.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5ec591c48e29226bcbb316e0c1e9423622bc7a4eaf1ef7c3c9fa1a3981f89641"}, - {file = "pandas-2.0.3-cp39-cp39-win32.whl", hash = "sha256:04dbdbaf2e4d46ca8da896e1805bc04eb85caa9a82e259e8eed00254d5e0c682"}, - {file = "pandas-2.0.3-cp39-cp39-win_amd64.whl", hash = "sha256:1168574b036cd8b93abc746171c9b4f1b83467438a5e45909fed645cf8692dbc"}, - {file = "pandas-2.0.3.tar.gz", hash = "sha256:c02f372a88e0d17f36d3093a644c73cfc1788e876a7c4bcb4020a77512e2043c"}, -] - -[package.dependencies] -numpy = [ - {version = ">=1.20.3", markers = "python_version < \"3.10\""}, - {version = ">=1.21.0", markers = "python_version >= \"3.10\" and python_version < \"3.11\""}, - {version = ">=1.23.2", markers = "python_version >= \"3.11\""}, -] -python-dateutil = ">=2.8.2" -pytz = ">=2020.1" -tzdata = ">=2022.1" - -[package.extras] -all = ["PyQt5 (>=5.15.1)", "SQLAlchemy (>=1.4.16)", "beautifulsoup4 (>=4.9.3)", "bottleneck (>=1.3.2)", "brotlipy (>=0.7.0)", "fastparquet (>=0.6.3)", "fsspec (>=2021.07.0)", "gcsfs (>=2021.07.0)", "html5lib (>=1.1)", "hypothesis (>=6.34.2)", "jinja2 (>=3.0.0)", "lxml (>=4.6.3)", "matplotlib (>=3.6.1)", "numba (>=0.53.1)", "numexpr (>=2.7.3)", "odfpy (>=1.4.1)", "openpyxl (>=3.0.7)", "pandas-gbq (>=0.15.0)", "psycopg2 (>=2.8.6)", "pyarrow (>=7.0.0)", "pymysql (>=1.0.2)", "pyreadstat (>=1.1.2)", "pytest (>=7.3.2)", "pytest-asyncio (>=0.17.0)", "pytest-xdist (>=2.2.0)", "python-snappy (>=0.6.0)", "pyxlsb (>=1.0.8)", "qtpy (>=2.2.0)", "s3fs (>=2021.08.0)", "scipy (>=1.7.1)", "tables (>=3.6.1)", "tabulate (>=0.8.9)", "xarray (>=0.21.0)", "xlrd (>=2.0.1)", "xlsxwriter (>=1.4.3)", "zstandard (>=0.15.2)"] -aws = ["s3fs (>=2021.08.0)"] -clipboard = ["PyQt5 (>=5.15.1)", "qtpy (>=2.2.0)"] -compression = ["brotlipy (>=0.7.0)", "python-snappy (>=0.6.0)", "zstandard (>=0.15.2)"] -computation = ["scipy (>=1.7.1)", "xarray (>=0.21.0)"] -excel = ["odfpy (>=1.4.1)", "openpyxl (>=3.0.7)", "pyxlsb (>=1.0.8)", "xlrd (>=2.0.1)", "xlsxwriter (>=1.4.3)"] -feather = ["pyarrow (>=7.0.0)"] -fss = ["fsspec (>=2021.07.0)"] -gcp = ["gcsfs (>=2021.07.0)", "pandas-gbq (>=0.15.0)"] -hdf5 = ["tables (>=3.6.1)"] -html = ["beautifulsoup4 (>=4.9.3)", "html5lib (>=1.1)", "lxml (>=4.6.3)"] -mysql = ["SQLAlchemy (>=1.4.16)", "pymysql (>=1.0.2)"] -output-formatting = ["jinja2 (>=3.0.0)", "tabulate (>=0.8.9)"] -parquet = ["pyarrow (>=7.0.0)"] -performance = ["bottleneck (>=1.3.2)", "numba (>=0.53.1)", "numexpr (>=2.7.1)"] -plot = ["matplotlib (>=3.6.1)"] -postgresql = ["SQLAlchemy (>=1.4.16)", "psycopg2 (>=2.8.6)"] -spss = ["pyreadstat (>=1.1.2)"] -sql-other = ["SQLAlchemy (>=1.4.16)"] -test = ["hypothesis (>=6.34.2)", "pytest (>=7.3.2)", "pytest-asyncio (>=0.17.0)", "pytest-xdist (>=2.2.0)"] -xml = ["lxml (>=4.6.3)"] - -[[package]] -name = "pathspec" -version = "0.12.1" -description = "Utility library for gitignore style pattern matching of file paths." -optional = false -python-versions = ">=3.8" -files = [ - {file = "pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08"}, - {file = "pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712"}, -] - -[[package]] -name = "platformdirs" -version = "4.2.2" -description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." -optional = false -python-versions = ">=3.8" -files = [ - {file = "platformdirs-4.2.2-py3-none-any.whl", hash = "sha256:2d7a1657e36a80ea911db832a8a6ece5ee53d8de21edd5cc5879af6530b1bfee"}, - {file = "platformdirs-4.2.2.tar.gz", hash = "sha256:38b7b51f512eed9e84a22788b4bce1de17c0adb134d6becb09836e37d8654cd3"}, -] - -[package.extras] -docs = ["furo (>=2023.9.10)", "proselint (>=0.13)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.25.2)"] -test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4.3)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)"] -type = ["mypy (>=1.8)"] - -[[package]] -name = "pluggy" -version = "1.5.0" -description = "plugin and hook calling mechanisms for python" -optional = false -python-versions = ">=3.8" -files = [ - {file = "pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669"}, - {file = "pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1"}, -] - -[package.extras] -dev = ["pre-commit", "tox"] -testing = ["pytest", "pytest-benchmark"] - -[[package]] -name = "pyarrow" -version = "16.1.0" -description = "Python library for Apache Arrow" -optional = false -python-versions = ">=3.8" -files = [ - {file = "pyarrow-16.1.0-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:17e23b9a65a70cc733d8b738baa6ad3722298fa0c81d88f63ff94bf25eaa77b9"}, - {file = "pyarrow-16.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:4740cc41e2ba5d641071d0ab5e9ef9b5e6e8c7611351a5cb7c1d175eaf43674a"}, - {file = "pyarrow-16.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:98100e0268d04e0eec47b73f20b39c45b4006f3c4233719c3848aa27a03c1aef"}, - {file = "pyarrow-16.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f68f409e7b283c085f2da014f9ef81e885d90dcd733bd648cfba3ef265961848"}, - {file = "pyarrow-16.1.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:a8914cd176f448e09746037b0c6b3a9d7688cef451ec5735094055116857580c"}, - {file = "pyarrow-16.1.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:48be160782c0556156d91adbdd5a4a7e719f8d407cb46ae3bb4eaee09b3111bd"}, - {file = "pyarrow-16.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:9cf389d444b0f41d9fe1444b70650fea31e9d52cfcb5f818b7888b91b586efff"}, - {file = "pyarrow-16.1.0-cp311-cp311-macosx_10_15_x86_64.whl", hash = "sha256:d0ebea336b535b37eee9eee31761813086d33ed06de9ab6fc6aaa0bace7b250c"}, - {file = "pyarrow-16.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2e73cfc4a99e796727919c5541c65bb88b973377501e39b9842ea71401ca6c1c"}, - {file = "pyarrow-16.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bf9251264247ecfe93e5f5a0cd43b8ae834f1e61d1abca22da55b20c788417f6"}, - {file = "pyarrow-16.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ddf5aace92d520d3d2a20031d8b0ec27b4395cab9f74e07cc95edf42a5cc0147"}, - {file = "pyarrow-16.1.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:25233642583bf658f629eb230b9bb79d9af4d9f9229890b3c878699c82f7d11e"}, - {file = "pyarrow-16.1.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:a33a64576fddfbec0a44112eaf844c20853647ca833e9a647bfae0582b2ff94b"}, - {file = "pyarrow-16.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:185d121b50836379fe012753cf15c4ba9638bda9645183ab36246923875f8d1b"}, - {file = "pyarrow-16.1.0-cp312-cp312-macosx_10_15_x86_64.whl", hash = "sha256:2e51ca1d6ed7f2e9d5c3c83decf27b0d17bb207a7dea986e8dc3e24f80ff7d6f"}, - {file = "pyarrow-16.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:06ebccb6f8cb7357de85f60d5da50e83507954af617d7b05f48af1621d331c9a"}, - {file = "pyarrow-16.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b04707f1979815f5e49824ce52d1dceb46e2f12909a48a6a753fe7cafbc44a0c"}, - {file = "pyarrow-16.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0d32000693deff8dc5df444b032b5985a48592c0697cb6e3071a5d59888714e2"}, - {file = "pyarrow-16.1.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:8785bb10d5d6fd5e15d718ee1d1f914fe768bf8b4d1e5e9bf253de8a26cb1628"}, - {file = "pyarrow-16.1.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:e1369af39587b794873b8a307cc6623a3b1194e69399af0efd05bb202195a5a7"}, - {file = "pyarrow-16.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:febde33305f1498f6df85e8020bca496d0e9ebf2093bab9e0f65e2b4ae2b3444"}, - {file = "pyarrow-16.1.0-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:b5f5705ab977947a43ac83b52ade3b881eb6e95fcc02d76f501d549a210ba77f"}, - {file = "pyarrow-16.1.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:0d27bf89dfc2576f6206e9cd6cf7a107c9c06dc13d53bbc25b0bd4556f19cf5f"}, - {file = "pyarrow-16.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0d07de3ee730647a600037bc1d7b7994067ed64d0eba797ac74b2bc77384f4c2"}, - {file = "pyarrow-16.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fbef391b63f708e103df99fbaa3acf9f671d77a183a07546ba2f2c297b361e83"}, - {file = "pyarrow-16.1.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:19741c4dbbbc986d38856ee7ddfdd6a00fc3b0fc2d928795b95410d38bb97d15"}, - {file = "pyarrow-16.1.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:f2c5fb249caa17b94e2b9278b36a05ce03d3180e6da0c4c3b3ce5b2788f30eed"}, - {file = "pyarrow-16.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:e6b6d3cd35fbb93b70ade1336022cc1147b95ec6af7d36906ca7fe432eb09710"}, - {file = "pyarrow-16.1.0-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:18da9b76a36a954665ccca8aa6bd9f46c1145f79c0bb8f4f244f5f8e799bca55"}, - {file = "pyarrow-16.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:99f7549779b6e434467d2aa43ab2b7224dd9e41bdde486020bae198978c9e05e"}, - {file = "pyarrow-16.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f07fdffe4fd5b15f5ec15c8b64584868d063bc22b86b46c9695624ca3505b7b4"}, - {file = "pyarrow-16.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ddfe389a08ea374972bd4065d5f25d14e36b43ebc22fc75f7b951f24378bf0b5"}, - {file = "pyarrow-16.1.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:3b20bd67c94b3a2ea0a749d2a5712fc845a69cb5d52e78e6449bbd295611f3aa"}, - {file = "pyarrow-16.1.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:ba8ac20693c0bb0bf4b238751d4409e62852004a8cf031c73b0e0962b03e45e3"}, - {file = "pyarrow-16.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:31a1851751433d89a986616015841977e0a188662fcffd1a5677453f1df2de0a"}, - {file = "pyarrow-16.1.0.tar.gz", hash = "sha256:15fbb22ea96d11f0b5768504a3f961edab25eaf4197c341720c4a387f6c60315"}, -] - -[package.dependencies] -numpy = ">=1.16.6" - -[[package]] -name = "pylint" -version = "3.2.5" -description = "python code static checker" -optional = false -python-versions = ">=3.8.0" -files = [ - {file = "pylint-3.2.5-py3-none-any.whl", hash = "sha256:32cd6c042b5004b8e857d727708720c54a676d1e22917cf1a2df9b4d4868abd6"}, - {file = "pylint-3.2.5.tar.gz", hash = "sha256:e9b7171e242dcc6ebd0aaa7540481d1a72860748a0a7816b8fe6cf6c80a6fe7e"}, -] - -[package.dependencies] -astroid = ">=3.2.2,<=3.3.0-dev0" -colorama = {version = ">=0.4.5", markers = "sys_platform == \"win32\""} -dill = [ - {version = ">=0.2", markers = "python_version < \"3.11\""}, - {version = ">=0.3.7", markers = "python_version >= \"3.12\""}, - {version = ">=0.3.6", markers = "python_version >= \"3.11\" and python_version < \"3.12\""}, -] -isort = ">=4.2.5,<5.13.0 || >5.13.0,<6" -mccabe = ">=0.6,<0.8" -platformdirs = ">=2.2.0" -tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} -tomlkit = ">=0.10.1" -typing-extensions = {version = ">=3.10.0", markers = "python_version < \"3.10\""} - -[package.extras] -spelling = ["pyenchant (>=3.2,<4.0)"] -testutils = ["gitpython (>3)"] - -[[package]] -name = "pytest" -version = "7.4.4" -description = "pytest: simple powerful testing with Python" -optional = false -python-versions = ">=3.7" -files = [ - {file = "pytest-7.4.4-py3-none-any.whl", hash = "sha256:b090cdf5ed60bf4c45261be03239c2c1c22df034fbffe691abe93cd80cea01d8"}, - {file = "pytest-7.4.4.tar.gz", hash = "sha256:2cf0005922c6ace4a3e2ec8b4080eb0d9753fdc93107415332f50ce9e7994280"}, -] - -[package.dependencies] -colorama = {version = "*", markers = "sys_platform == \"win32\""} -exceptiongroup = {version = ">=1.0.0rc8", markers = "python_version < \"3.11\""} -iniconfig = "*" -packaging = "*" -pluggy = ">=0.12,<2.0" -tomli = {version = ">=1.0.0", markers = "python_version < \"3.11\""} - -[package.extras] -testing = ["argcomplete", "attrs (>=19.2.0)", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "setuptools", "xmlschema"] - -[[package]] -name = "pytest-dotenv" -version = "0.5.2" -description = "A py.test plugin that parses environment files before running tests" -optional = false -python-versions = "*" -files = [ - {file = "pytest-dotenv-0.5.2.tar.gz", hash = "sha256:2dc6c3ac6d8764c71c6d2804e902d0ff810fa19692e95fe138aefc9b1aa73732"}, - {file = "pytest_dotenv-0.5.2-py3-none-any.whl", hash = "sha256:40a2cece120a213898afaa5407673f6bd924b1fa7eafce6bda0e8abffe2f710f"}, -] - -[package.dependencies] -pytest = ">=5.0.0" -python-dotenv = ">=0.9.1" - -[[package]] -name = "python-dateutil" -version = "2.9.0.post0" -description = "Extensions to the standard Python datetime module" -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" -files = [ - {file = "python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3"}, - {file = "python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427"}, -] - -[package.dependencies] -six = ">=1.5" - -[[package]] -name = "python-dotenv" -version = "1.0.1" -description = "Read key-value pairs from a .env file and set them as environment variables" -optional = false -python-versions = ">=3.8" -files = [ - {file = "python-dotenv-1.0.1.tar.gz", hash = "sha256:e324ee90a023d808f1959c46bcbc04446a10ced277783dc6ee09987c37ec10ca"}, - {file = "python_dotenv-1.0.1-py3-none-any.whl", hash = "sha256:f7b63ef50f1b690dddf550d03497b66d609393b40b564ed0d674909a68ebf16a"}, -] - -[package.extras] -cli = ["click (>=5.0)"] - -[[package]] -name = "pytz" -version = "2024.1" -description = "World timezone definitions, modern and historical" -optional = false -python-versions = "*" -files = [ - {file = "pytz-2024.1-py2.py3-none-any.whl", hash = "sha256:328171f4e3623139da4983451950b28e95ac706e13f3f2630a879749e7a8b319"}, - {file = "pytz-2024.1.tar.gz", hash = "sha256:2a29735ea9c18baf14b448846bde5a48030ed267578472d8955cd0e7443a9812"}, -] - -[[package]] -name = "requests" -version = "2.32.3" -description = "Python HTTP for Humans." -optional = false -python-versions = ">=3.8" -files = [ - {file = "requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6"}, - {file = "requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760"}, -] - -[package.dependencies] -certifi = ">=2017.4.17" -charset-normalizer = ">=2,<4" -idna = ">=2.5,<4" -urllib3 = ">=1.21.1,<3" - -[package.extras] -socks = ["PySocks (>=1.5.6,!=1.5.7)"] -use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] - -[[package]] -name = "six" -version = "1.16.0" -description = "Python 2 and 3 compatibility utilities" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" -files = [ - {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, - {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, -] - -[[package]] -name = "sqlalchemy" -version = "2.0.31" -description = "Database Abstraction Library" -optional = true -python-versions = ">=3.7" -files = [ - {file = "SQLAlchemy-2.0.31-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f2a213c1b699d3f5768a7272de720387ae0122f1becf0901ed6eaa1abd1baf6c"}, - {file = "SQLAlchemy-2.0.31-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9fea3d0884e82d1e33226935dac990b967bef21315cbcc894605db3441347443"}, - {file = "SQLAlchemy-2.0.31-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f3ad7f221d8a69d32d197e5968d798217a4feebe30144986af71ada8c548e9fa"}, - {file = "SQLAlchemy-2.0.31-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9f2bee229715b6366f86a95d497c347c22ddffa2c7c96143b59a2aa5cc9eebbc"}, - {file = "SQLAlchemy-2.0.31-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:cd5b94d4819c0c89280b7c6109c7b788a576084bf0a480ae17c227b0bc41e109"}, - {file = "SQLAlchemy-2.0.31-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:750900a471d39a7eeba57580b11983030517a1f512c2cb287d5ad0fcf3aebd58"}, - {file = "SQLAlchemy-2.0.31-cp310-cp310-win32.whl", hash = "sha256:7bd112be780928c7f493c1a192cd8c5fc2a2a7b52b790bc5a84203fb4381c6be"}, - {file = "SQLAlchemy-2.0.31-cp310-cp310-win_amd64.whl", hash = "sha256:5a48ac4d359f058474fadc2115f78a5cdac9988d4f99eae44917f36aa1476327"}, - {file = "SQLAlchemy-2.0.31-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f68470edd70c3ac3b6cd5c2a22a8daf18415203ca1b036aaeb9b0fb6f54e8298"}, - {file = "SQLAlchemy-2.0.31-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2e2c38c2a4c5c634fe6c3c58a789712719fa1bf9b9d6ff5ebfce9a9e5b89c1ca"}, - {file = "SQLAlchemy-2.0.31-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bd15026f77420eb2b324dcb93551ad9c5f22fab2c150c286ef1dc1160f110203"}, - {file = "SQLAlchemy-2.0.31-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2196208432deebdfe3b22185d46b08f00ac9d7b01284e168c212919891289396"}, - {file = "SQLAlchemy-2.0.31-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:352b2770097f41bff6029b280c0e03b217c2dcaddc40726f8f53ed58d8a85da4"}, - {file = "SQLAlchemy-2.0.31-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:56d51ae825d20d604583f82c9527d285e9e6d14f9a5516463d9705dab20c3740"}, - {file = "SQLAlchemy-2.0.31-cp311-cp311-win32.whl", hash = "sha256:6e2622844551945db81c26a02f27d94145b561f9d4b0c39ce7bfd2fda5776dac"}, - {file = "SQLAlchemy-2.0.31-cp311-cp311-win_amd64.whl", hash = "sha256:ccaf1b0c90435b6e430f5dd30a5aede4764942a695552eb3a4ab74ed63c5b8d3"}, - {file = "SQLAlchemy-2.0.31-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3b74570d99126992d4b0f91fb87c586a574a5872651185de8297c6f90055ae42"}, - {file = "SQLAlchemy-2.0.31-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6f77c4f042ad493cb8595e2f503c7a4fe44cd7bd59c7582fd6d78d7e7b8ec52c"}, - {file = "SQLAlchemy-2.0.31-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cd1591329333daf94467e699e11015d9c944f44c94d2091f4ac493ced0119449"}, - {file = "SQLAlchemy-2.0.31-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:74afabeeff415e35525bf7a4ecdab015f00e06456166a2eba7590e49f8db940e"}, - {file = "SQLAlchemy-2.0.31-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:b9c01990d9015df2c6f818aa8f4297d42ee71c9502026bb074e713d496e26b67"}, - {file = "SQLAlchemy-2.0.31-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:66f63278db425838b3c2b1c596654b31939427016ba030e951b292e32b99553e"}, - {file = "SQLAlchemy-2.0.31-cp312-cp312-win32.whl", hash = "sha256:0b0f658414ee4e4b8cbcd4a9bb0fd743c5eeb81fc858ca517217a8013d282c96"}, - {file = "SQLAlchemy-2.0.31-cp312-cp312-win_amd64.whl", hash = "sha256:fa4b1af3e619b5b0b435e333f3967612db06351217c58bfb50cee5f003db2a5a"}, - {file = "SQLAlchemy-2.0.31-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:f43e93057cf52a227eda401251c72b6fbe4756f35fa6bfebb5d73b86881e59b0"}, - {file = "SQLAlchemy-2.0.31-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d337bf94052856d1b330d5fcad44582a30c532a2463776e1651bd3294ee7e58b"}, - {file = "SQLAlchemy-2.0.31-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c06fb43a51ccdff3b4006aafee9fcf15f63f23c580675f7734245ceb6b6a9e05"}, - {file = "SQLAlchemy-2.0.31-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:b6e22630e89f0e8c12332b2b4c282cb01cf4da0d26795b7eae16702a608e7ca1"}, - {file = "SQLAlchemy-2.0.31-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:79a40771363c5e9f3a77f0e28b3302801db08040928146e6808b5b7a40749c88"}, - {file = "SQLAlchemy-2.0.31-cp37-cp37m-win32.whl", hash = "sha256:501ff052229cb79dd4c49c402f6cb03b5a40ae4771efc8bb2bfac9f6c3d3508f"}, - {file = "SQLAlchemy-2.0.31-cp37-cp37m-win_amd64.whl", hash = "sha256:597fec37c382a5442ffd471f66ce12d07d91b281fd474289356b1a0041bdf31d"}, - {file = "SQLAlchemy-2.0.31-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:dc6d69f8829712a4fd799d2ac8d79bdeff651c2301b081fd5d3fe697bd5b4ab9"}, - {file = "SQLAlchemy-2.0.31-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:23b9fbb2f5dd9e630db70fbe47d963c7779e9c81830869bd7d137c2dc1ad05fb"}, - {file = "SQLAlchemy-2.0.31-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2a21c97efcbb9f255d5c12a96ae14da873233597dfd00a3a0c4ce5b3e5e79704"}, - {file = "SQLAlchemy-2.0.31-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26a6a9837589c42b16693cf7bf836f5d42218f44d198f9343dd71d3164ceeeac"}, - {file = "SQLAlchemy-2.0.31-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:dc251477eae03c20fae8db9c1c23ea2ebc47331bcd73927cdcaecd02af98d3c3"}, - {file = "SQLAlchemy-2.0.31-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:2fd17e3bb8058359fa61248c52c7b09a97cf3c820e54207a50af529876451808"}, - {file = "SQLAlchemy-2.0.31-cp38-cp38-win32.whl", hash = "sha256:c76c81c52e1e08f12f4b6a07af2b96b9b15ea67ccdd40ae17019f1c373faa227"}, - {file = "SQLAlchemy-2.0.31-cp38-cp38-win_amd64.whl", hash = "sha256:4b600e9a212ed59355813becbcf282cfda5c93678e15c25a0ef896b354423238"}, - {file = "SQLAlchemy-2.0.31-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5b6cf796d9fcc9b37011d3f9936189b3c8074a02a4ed0c0fbbc126772c31a6d4"}, - {file = "SQLAlchemy-2.0.31-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:78fe11dbe37d92667c2c6e74379f75746dc947ee505555a0197cfba9a6d4f1a4"}, - {file = "SQLAlchemy-2.0.31-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2fc47dc6185a83c8100b37acda27658fe4dbd33b7d5e7324111f6521008ab4fe"}, - {file = "SQLAlchemy-2.0.31-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8a41514c1a779e2aa9a19f67aaadeb5cbddf0b2b508843fcd7bafdf4c6864005"}, - {file = "SQLAlchemy-2.0.31-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:afb6dde6c11ea4525318e279cd93c8734b795ac8bb5dda0eedd9ebaca7fa23f1"}, - {file = "SQLAlchemy-2.0.31-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:3f9faef422cfbb8fd53716cd14ba95e2ef655400235c3dfad1b5f467ba179c8c"}, - {file = "SQLAlchemy-2.0.31-cp39-cp39-win32.whl", hash = "sha256:fc6b14e8602f59c6ba893980bea96571dd0ed83d8ebb9c4479d9ed5425d562e9"}, - {file = "SQLAlchemy-2.0.31-cp39-cp39-win_amd64.whl", hash = "sha256:3cb8a66b167b033ec72c3812ffc8441d4e9f5f78f5e31e54dcd4c90a4ca5bebc"}, - {file = "SQLAlchemy-2.0.31-py3-none-any.whl", hash = "sha256:69f3e3c08867a8e4856e92d7afb618b95cdee18e0bc1647b77599722c9a28911"}, - {file = "SQLAlchemy-2.0.31.tar.gz", hash = "sha256:b607489dd4a54de56984a0c7656247504bd5523d9d0ba799aef59d4add009484"}, -] - -[package.dependencies] -greenlet = {version = "!=0.4.17", markers = "python_version < \"3.13\" and (platform_machine == \"aarch64\" or platform_machine == \"ppc64le\" or platform_machine == \"x86_64\" or platform_machine == \"amd64\" or platform_machine == \"AMD64\" or platform_machine == \"win32\" or platform_machine == \"WIN32\")"} -typing-extensions = ">=4.6.0" - -[package.extras] -aiomysql = ["aiomysql (>=0.2.0)", "greenlet (!=0.4.17)"] -aioodbc = ["aioodbc", "greenlet (!=0.4.17)"] -aiosqlite = ["aiosqlite", "greenlet (!=0.4.17)", "typing_extensions (!=3.10.0.1)"] -asyncio = ["greenlet (!=0.4.17)"] -asyncmy = ["asyncmy (>=0.2.3,!=0.2.4,!=0.2.6)", "greenlet (!=0.4.17)"] -mariadb-connector = ["mariadb (>=1.0.1,!=1.1.2,!=1.1.5)"] -mssql = ["pyodbc"] -mssql-pymssql = ["pymssql"] -mssql-pyodbc = ["pyodbc"] -mypy = ["mypy (>=0.910)"] -mysql = ["mysqlclient (>=1.4.0)"] -mysql-connector = ["mysql-connector-python"] -oracle = ["cx_oracle (>=8)"] -oracle-oracledb = ["oracledb (>=1.0.1)"] -postgresql = ["psycopg2 (>=2.7)"] -postgresql-asyncpg = ["asyncpg", "greenlet (!=0.4.17)"] -postgresql-pg8000 = ["pg8000 (>=1.29.1)"] -postgresql-psycopg = ["psycopg (>=3.0.7)"] -postgresql-psycopg2binary = ["psycopg2-binary"] -postgresql-psycopg2cffi = ["psycopg2cffi"] -postgresql-psycopgbinary = ["psycopg[binary] (>=3.0.7)"] -pymysql = ["pymysql"] -sqlcipher = ["sqlcipher3_binary"] - -[[package]] -name = "thrift" -version = "0.20.0" -description = "Python bindings for the Apache Thrift RPC system" -optional = false -python-versions = "*" -files = [ - {file = "thrift-0.20.0.tar.gz", hash = "sha256:4dd662eadf6b8aebe8a41729527bd69adf6ceaa2a8681cbef64d1273b3e8feba"}, -] - -[package.dependencies] -six = ">=1.7.2" - -[package.extras] -all = ["tornado (>=4.0)", "twisted"] -tornado = ["tornado (>=4.0)"] -twisted = ["twisted"] - -[[package]] -name = "tomli" -version = "2.0.1" -description = "A lil' TOML parser" -optional = false -python-versions = ">=3.7" -files = [ - {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"}, - {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, -] - -[[package]] -name = "tomlkit" -version = "0.12.5" -description = "Style preserving TOML library" -optional = false -python-versions = ">=3.7" -files = [ - {file = "tomlkit-0.12.5-py3-none-any.whl", hash = "sha256:af914f5a9c59ed9d0762c7b64d3b5d5df007448eb9cd2edc8a46b1eafead172f"}, - {file = "tomlkit-0.12.5.tar.gz", hash = "sha256:eef34fba39834d4d6b73c9ba7f3e4d1c417a4e56f89a7e96e090dd0d24b8fb3c"}, -] - -[[package]] -name = "typing-extensions" -version = "4.12.2" -description = "Backported and Experimental Type Hints for Python 3.8+" -optional = false -python-versions = ">=3.8" -files = [ - {file = "typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d"}, - {file = "typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8"}, -] - -[[package]] -name = "tzdata" -version = "2024.1" -description = "Provider of IANA time zone data" -optional = false -python-versions = ">=2" -files = [ - {file = "tzdata-2024.1-py2.py3-none-any.whl", hash = "sha256:9068bc196136463f5245e51efda838afa15aaeca9903f49050dfa2679db4d252"}, - {file = "tzdata-2024.1.tar.gz", hash = "sha256:2674120f8d891909751c38abcdfd386ac0a5a1127954fbc332af6b5ceae07efd"}, -] - -[[package]] -name = "urllib3" -version = "2.2.2" -description = "HTTP library with thread-safe connection pooling, file post, and more." -optional = false -python-versions = ">=3.8" -files = [ - {file = "urllib3-2.2.2-py3-none-any.whl", hash = "sha256:a448b2f64d686155468037e1ace9f2d2199776e17f0a46610480d311f73e3472"}, - {file = "urllib3-2.2.2.tar.gz", hash = "sha256:dd505485549a7a552833da5e6063639d0d177c04f23bc3864e41e5dc5f612168"}, -] - -[package.extras] -brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] -h2 = ["h2 (>=4,<5)"] -socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] -zstd = ["zstandard (>=0.18.0)"] - -[[package]] -name = "zipp" -version = "3.19.2" -description = "Backport of pathlib-compatible object wrapper for zip files" -optional = true -python-versions = ">=3.8" -files = [ - {file = "zipp-3.19.2-py3-none-any.whl", hash = "sha256:f091755f667055f2d02b32c53771a7a6c8b47e1fdbc4b72a8b9072b3eef8015c"}, - {file = "zipp-3.19.2.tar.gz", hash = "sha256:bf1dcf6450f873a13e952a29504887c89e6de7506209e5b1bcc3460135d4de19"}, -] - -[package.extras] -doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] -test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", "jaraco.test", "more-itertools", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy", "pytest-ruff (>=0.2.1)"] - -[extras] -alembic = ["alembic", "sqlalchemy"] -sqlalchemy = ["sqlalchemy"] - -[metadata] -lock-version = "2.0" -python-versions = "^3.8.0" -content-hash = "f99292898ce01a04566c5deaea9b46646881bf816d8d755e89446c2e8b8a616e" From 8c5e7dd26c8b92c92ca84970be58b53c529e67f5 Mon Sep 17 00:00:00 2001 From: Jothi Prakash Date: Mon, 26 Aug 2024 13:56:07 +0530 Subject: [PATCH 19/53] Changed the pyproject.toml --- .gitignore | 4 ++-- ...ricks_sql_connector-1.0.0-py3-none-any.whl | Bin 0 -> 2295 bytes .../databricks_sql_connector-1.0.0.tar.gz | Bin 0 -> 1678 bytes ..._sql_connector_core-1.0.0-py3-none-any.whl | Bin 315479 -> 315159 bytes ...databricks_sql_connector_core-1.0.0.tar.gz | Bin 307066 -> 307065 bytes databricks_sql_connector_core/pyproject.toml | 4 ++-- ...tabricks_sqlalchemy-1.0.0-py3-none-any.whl | Bin 0 -> 108113 bytes .../dist/databricks_sqlalchemy-1.0.0.tar.gz | Bin 0 -> 100595 bytes databricks_sqlalchemy/pyproject.toml | 4 ++-- 9 files changed, 6 insertions(+), 6 deletions(-) create mode 100644 databricks_sql_connector/dist/databricks_sql_connector-1.0.0-py3-none-any.whl create mode 100644 databricks_sql_connector/dist/databricks_sql_connector-1.0.0.tar.gz create mode 100644 databricks_sqlalchemy/dist/databricks_sqlalchemy-1.0.0-py3-none-any.whl create mode 100644 databricks_sqlalchemy/dist/databricks_sqlalchemy-1.0.0.tar.gz diff --git a/.gitignore b/.gitignore index abcb640d..bf9c0684 100644 --- a/.gitignore +++ b/.gitignore @@ -48,7 +48,7 @@ __pycache__/ .Python build/ develop-eggs/ -dist/ +#dist/ downloads/ eggs/ .eggs/ @@ -201,7 +201,7 @@ cython_debug/ # End of https://www.toptal.com/developers/gitignore/api/python,macos databricks_sql_connector.egg-info/ -dist/ +#dist/ build/ # vs code stuff diff --git a/databricks_sql_connector/dist/databricks_sql_connector-1.0.0-py3-none-any.whl b/databricks_sql_connector/dist/databricks_sql_connector-1.0.0-py3-none-any.whl new file mode 100644 index 0000000000000000000000000000000000000000..4cd32c830d241b29116f83314aabfca60d776a10 GIT binary patch literal 2295 zcmWIWW@Zs#U|`??VnrZkU|<513=CpGIwi3rF{vmsIlEXtK0Y%qvm`!Vub`5dApk|! zZjqx;^?<7NfmjMvS8-tuvQBU9Q|CiHJas&Mv`+b))9cgMJJacZ?)+(QU%iw1Oq;rb zzBV{<&D_cQ(^Zu#3eA?*X~DBifTo)Qu{fqJr6rj;#X!dqV@1_c)tQz@aanZIb7@p2 z(1IyI3ku#BplSX}`k;0(*XIhuJo^IA1E#XbcI_ zWnaS7s<7^aMP8Qaw&2^DC+}~5Db3O@qjPh&@n+@sHeBb8o=Mh-y^cXZRFFpFKXGKUpjvi?=r zvt#eA9de>)EG;K9vA_3mlsR1dtKphgc9>H3z3AB!X3dN@*8X-u{>w_!ovB`)a}T$? z+>`XvE!%qM&abx~HP>YyE6sKj*|yx}t!8Y~hN))?#J|Vi+jReT3hTcOtNNv-y`TF# z%DW59;hp6B>fA#%m&I(JOmpp7ty6Slwr~0(5!RLY#i{yN*z_58{dc^5-YOYq`*Qqb zLye4*zf+%t03#s+h(UP)k!T1+M!1Kos}JufN3I410oDt9mw#Xqc3r*4VM}*MRCJBk zgqaeh58oF5z4w!8B3}mAp>uq(`Dq4M(gV}&9j|$9*O2n%HJ|9?y=bdO(vCT2qY}#g zZ;5eFN}TXKs}9wDkNa8p41n(P0%A*2+?SeHQdAjVke``XQmj`}QPQoacgFLK=Q)qF zYp-~p^f}|{tEbub)C-=cx49ZT7W7&h^I(ylfNx9;Y9{trwDI`eDZn(l1z5^}iVLEH zDah5?Kgeb3rISUA4FnnBGKA0b z>)+qIS6lf>8HU3TX%Jjip%wf=d=R6Ea4@(U!ME!@9io7@r`p1EcZRm($t+7GRd z&fNX-?vpKIs}nXU<^7!SfBTCIHP6>3KI1r2Idf{~oJUSy&d5ZDdTY(ia`zH?8l=nk zfkh(LazPENdYkkwPvN!*OVjf{tFIhhaL%)Yt@pk{yqMRU503ZT%km;8Uh`K|?~LEF z<>abGd+WD9U3a}>ciWRTj}@m3cga1kVe`1IDs#eWUVh=*#@^V26N{Jv><@mBZHsjG zn7A?TN$b&1wM9OX{hY7l%+pp#My;rAnH9n1G$DMVs8Y1#sx8%C%Vn$?cW&I6{dvKi zXuC;|!kwRrxc;lu*ywxt_lgUDjVJIvO9?9CvxD3RwK{vX#jf5@_Rc$B+BWy{ z)+bluV}b?D?j_z&JoKXJ?v4G+HNS0(sg}0fJZhPu4k?RJCNA z@ovfG4fDU(6mR{^+gJUAJHVTfNrV}99RiGHFj&$Eq7V^|T!NyTfnK9POkiMG(rAWi z23q}sZVq~#fiPzdra7=01l`0;I?Y@MdKL8NdOA L^MR#~6PO18jJ_en literal 0 HcmV?d00001 diff --git a/databricks_sql_connector/dist/databricks_sql_connector-1.0.0.tar.gz b/databricks_sql_connector/dist/databricks_sql_connector-1.0.0.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..05718f9200bb20aa356c7fb04d5f78ee309956fe GIT binary patch literal 1678 zcmV;9266cxiwFn+00002|72lwVPbM=V{3C?b8&26V{dM5Wn*-2axF0~FfK4IbYXG; z?OJVf+Bgu-XZ;F|b2DjgK-k6@$|afRl3bg)w9Pe{`;t`BB|{)2 zw3l|0>$Q4j09)2dEA8&Hwpr33ji)Dc@|@9#iH&=KU18m?Z8yEev1)g0*Ks%SWa9x) z7Lp2>e&ff4+rf$C3EOenuGe&3*J+ZL-}Jps8*LbT_lT&ZeZj+bMNqttgD^`|7RpT2 z9byx^@%nJ@;KdoK&{d|ajuia{GVB5t1y@MG3H~fE-|2r+; zG5l}%KcD6z`wLo#%#!$i_`lf#&cDw8z6X?G`2PWLF0(8qdB&ue_E1U_hIg>F@QONk zMg7VvEHq}K;906VX%Deb#EMYxT+Uh#u0-+aAIErqE{X^6Iho2)mRg9G@GA=Ff4(fR zy>8xmLU}6T1G7I}bRuDv>{>k(^N^*5)_gCg;fU2;rI~=7R;}miHpW75{T&@LJ@*I9 z(=aZhl{H&6JP=u;8VeCx_+t+(`kh<*&-Y$FJ3M~%OpVt=Xn6}s#B!EKEDbp;dMMZH zRRg_kl8(}8Q;q~5NY%8vV-v?Gc5T}xuA?vJG>xcM4Q*n;2fVc3yE_hXNvpQ)61BV< zUW~rG1H*%&XtM`{OsNpr#Z1HlD>=1or)?p$8UO8RWmKaJ^9lC8WQ8nrqf49)aiBF* z=81WKrgx=US|<5)jb?8hwGjWNO0{hecR;b)?NV-&csHcx0zGt{oM;S|O_UBdw#C-_ zk!dHSF|u2LN)21HE2h4v}T4z9T8~ zqT6T;xg3>!6{n5G;u|Yrp3hie)B3d>;xhrNF!80sGfPg^T-naAajrv+KsUJ`NG z-B1>=xy#XioeY*N)m>24K_#kY>6bi?>czB>Ea@Q?QCw8?VpVekjR`jQ(jKb%_thfP zNX<3VQ1v1SEwU6&XwI#L#g!3Zi}^5xK0yL2S;dsVym|IV;|f zeEQQ?4R4+8A0M4EF$Sir+Ljzj8^55GsO&lQf&a zx76Qba1r<^#_46C*LT@3!*}(pl$X_M#0z;@QC|RSd)(MsM343}!c!hpVF%unPysHW zmiECCY|PmOi?m(Nlz)d5xPAmY*=H=p^Xs@j#R~&jA5p^7rQr6JQ^(mb2xG3!2Q)6& zRZ9@FG1Dw@^zye?7E&tZRE{b;sxy@ptaW!w4V5Q)2zDVD@R%*62sFV3^ZaL?|Nc+U zf1d4jTITuBJpTc&Eoa;y0GgIT0Hl4N@Bdu8Wt;bZKM?;nZ}Pum`2RupzkMtJyKUFd zzv2H?{)aAKkOMx;|E=~4|2s|BHvIn(&@Z~yIYFSGNudc>&zksW6EG(KoBaR%=YOy1 znf!0^|84odlsqo(^Z@wT{O`9`pa0q>|9?yQpJ=0-y8x5_?|1{ZSxbN4jx%YDeP?=uNk%aM;`at0B$mHss7T&a>NVkv5CrWCjL);e^yuj zh<|nd|3v&do@1}%f3MXv_x}%q7fe#+1NA?vQi(2hiGyC!gmv+{YCLq+S33zhEt7-- zkKlh%`-hIJTD>k_RO+EUT@JV`KWnP9gz|X3CZDJaM6YL+IQ44cF4h%ks@%@gTJOiS zDENRgn0TfX?soC3(<4wV7ulFa>bz1DpJoFItj6YDuZf?CY$#}wC<;5K>9C|jJytcd zI%?jvKk3|A;>n#Q9Q*Df&fP^^1l`6w0$Uua8o5<_&N9NnVh6mC-8E_B(X5i{G5!VX ziaWe>qhNJjKZgz$wW)RRM#)lHKbz*@eG+6Fs>~?LE>eWdy{>_Qfq{X6fq{X6fq{X6 Yfq{X6fq{X6!FPjy0G+EELI6+z0AEy6=Kufz literal 0 HcmV?d00001 diff --git a/databricks_sql_connector_core/dist/databricks_sql_connector_core-1.0.0-py3-none-any.whl b/databricks_sql_connector_core/dist/databricks_sql_connector_core-1.0.0-py3-none-any.whl index 3bf5a46b55d3c9bd4fbdb4dd806b0f779e65ddd1..62b25d2df8dcd9ab2f438c6aedd5d87ef5afe545 100644 GIT binary patch delta 1567 zcmV+)2H^SEpc9v#6M%#PgaU*Ev;@Yx3rNp)u*Rqb004jvmmjkPBbSi81Q>tTS<|9M z7XaY<{1%vDUoLWi>P1_+w@SyTwih`#C3p8~H}A0hpviX2XF*sVbH+tO<|SHpE8=z&OAdMrvV zgPnjq}Luw8)7oriBs0}&gu-$SIO)+DlUSp zb-vu*jHAAz&@;ia~`l zE)@GHbD&l1mw~%zx2a@ITTsgWdA5Ns9t2ju7iq`AD?%~+YO4L+9EQH1?g9aW&$KV5 zX%nbhkv|aUY4?zf){K87Sk;4&Cw@L4IEIm{C-Ey3WDs^i2Aa4^`uFT0F9tg1jE&ZP z+r$kv7P(^y;f>1-&}u=~qjPhT?q|+IZ~|M6_6h8lH%De?8*kn7MxmH%o1^!>s~Iib z3Ejrupz4uA`*Cw06uwFkoaH%cEd;YZzrkO^i>f^NX6>Z?>=A$UbU2cFBHWhiu`Fzy z_D-479)t1;fJ1sR2MxT(5Qd|<73g=yhMn1(6C@O;lH9b+nz)HDJ{-cJ@)wYZ%+b?i z&DgRXhR_60teL{7YRCAN!011z=r=8H=cZ~w9Mqrz={K1Y@%X}d6te`D@$l4^(lrv> zI)+Z$q3)R(W}JV^DsWo&AtMyduA9s6;BUzOaa6*{dL})(m+=|D`n&jKFG`V(R54PS zKZWSRxOrCy2t#vgN-udtZ$N$FDDffLwN(TLdy ziBrTXpiBC^e&q=Gu=D@Zi}#K9OR2wJ4EX?)CQ9C5g${puep{0l&(t;vO*jI<#Jj!3 zAJC^Vju6y)#^(2ADsTuvQ{)P}13jn{_~Jf_G`?+jf!m`MxJJz$;+8ik))2;c=Ygxq z#N(;cggbwn_5(uF^pANBfcf+u9x)2g5OoSt%C^%nVT+m-H1~nX(~n}R!o6Se8b&_u zxsBjFPOpDyFmGPBe1c1t#Q)YZ{@dUGwM~L9|9lcn{h0Jq9wqP3XrI(AOnw`{wL<$EW(khPu4hyiEf;R5TbJRY7g|IBk|082~ThCK1#@J}OrxLSNi(3w2 z(neiE*~7kTsW~%jZKRqOZXYg!lNimeDb7C_!3TfIdy$<7ApNlSiidX}| zqs*bP4@M)XqDme>$iY0fGj;A8yXluoaUh9i17|@H@1XHk_mu`@oLTJ7!XY z#;R`Pge>?P`kJ=)2Ri(cbMN%M&%8R!dwhH5vUGP|dTBNaa2UR1#P8|4}!@vmh z>YXr$Alp3p;(4-evng)vC;=VLn(5+d&~SgEmc$1w+H_4BAq2%>D+&WtQI^!phlPON z(%tN)y_)HoFW3(wtxD0oX%0*lc4(NEu-wHeWFJFt>MwSE6#s<1uK2Y(p?Py_KU?xi zkc5-){~iC9-?z7fQ-K!S$Lu-Sh1x*Tf(p@_fQG`{0rCowYF z{LLB;JjF?td(!%yx|x(YqKDq=l_9;EmoO}&T=(Y`;eIqQM;7;vgdjit54VTH z1p5pfNY8e##;64V0Dukv05kvq00000000000HguAyO#mY1Rs}>yaX2(P)h{{00000 RA^;))P7MG6v%v%a004Kc23G(8 delta 1814 zcmZ9NdpOgJAIFEUERE!vatSFSAuX3Bml!s3X>~A0DJQpKW5!{`T7|i6tg`%YSmb(K zYwow|kQ7HuVvb>s5Oc{YexB#|oZs*HozL^UpU)rf=ly>F`C{bDjTXoyrii47rij%8 zFPo)7$VAo8Rv-|_XHS;2tjJ@z^}wOPn_>7!A|@PrI}DFAz{lWI4Gi8mzHxl(Fi`mi z;&a3Haz9aHfAM&k1qn+VQlG6-LAXrNbT1!o=D7tbXB}`B0xsB32Gc+3H ziVy?j_ZGl=(s0nr8+y$Z2Z1&i@0tM^Y1C6t^js12Wouji-9Q^`LIMy6lw2nG_Ula)Hj>V)4ajMhnx6Ol%YZYpE^V- z(@(=Rg(`+EU(};|Lq0^*u;Hro3_{?7)A`aMVgvRgc{$|r$fKjZNd8zF*ORo$;E_bD z;p!TE^sA}>oA>UA15lQ9STgjHj7U!Pz@-sblKCAJCsyf>zjo|h(S1zPrHG zlEnpS;Z>;mBv^^lmA;=!Qn*DC%x2r5d$=1uyZfSL>jGHX>?$>rCT*$0@o}EKcGnz! zZ7jXfVO>o2r&|-Tz@P{2>Vn?GuHxVW_oj4o-QAeYF&@h-U-P4*zsZKcJyCpOq*cMP z!uysS&y&*!I`^-IJo_=MVsD)pYD?}KgyhUT2S*`tw%**Hu&j?F1;08{mFKHFRKVZ= zxM+++`>G&`OKUciFf8*}&sY6Sbe1M_Go^z3Mav5HC(>noN`8^@()uhzq`;S=v!TF% zYn>bYx=E`UVs-glCBdu0bb3gUCl!_M7vNpu4IFU47=HYSVpD?lsIqlxZO;HXoccg- z=UmHkgCXn(mye%F@hs&ni4Vw}MZDRS5?jHJ5vGAs6D!KC-Er>gY;_2-ZgE3n zve(|-BztbCYjR8qhl;43g8Qo?kDG*})HHNF_y6^~J5- zY;ngi5V#g=tev~yxMt=rd47>n-Nd|IL!Yg3p1hBodP^$XD0^nxw4sK$^J^~=x2^hJ z>b@EUC6CS5)g&NW;3 zqVr&F%J^>61`HZxBh^T#C{1t6VzoYQj9^5%v@d!s=U1!V;QFOjQsD3OdsA@_1f(i8Ovfd)+yiDDz>tr%*T}p3@0Wo`rwlvM^3Sy)y2ug0b3+sS9mi+q-TYaNBiI% zB;?J|{Hl|wAr0i>g;@i;9z2>@bL@v#dGH->8^7sS|$!52ng#`%7=m?_a;{8gK{ZIR0Q@nHCGl2TT5SV}$!U zDg8U1h997uL$|r8tTVei5>tgwYQ7m_V6NM+uquLg1JhJo_4GK0M^cVidU+bLW#7X0 zQ;>t4bUiC6_D4iMbeKZ6@~vC?)SsE3XJ25N5q0(2Gr~DE)8+a>axN!kn1$XaZ;iXi z7asp{KQ=!58bR|wOz1^yF5J$8+NZ9%>orjkd}^V?foYqd+%1s#M1LQzb2IaVA}pY$ zyk1b~2BvPi4S%J^k)HJAZmwKyXP8;b_2&c?e>{nud|p1l5qkl*^xEKzSi;>Dlx~F& zf)@hC;x=xWkTFx*!pmQic3*b}8hf$}f6wegz?1dMPY5-6e|lh-qOv2)O`g^h@s4+2*ENg}QY5m9-u|AGKCc^s~9+Vr{;n1iVOKZ*7@@%I%cy=Vp)M$N#P t3;)E@Kl=U$7HJU3i{e=nfYg<0#H#u1ET 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

  • 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 z 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 P0Dr?fjY2+H05}8yuT%Gq literal 0 HcmV?d00001 diff --git a/databricks_sqlalchemy/pyproject.toml b/databricks_sqlalchemy/pyproject.toml index 9b052224..857bceba 100644 --- a/databricks_sqlalchemy/pyproject.toml +++ b/databricks_sqlalchemy/pyproject.toml @@ -44,8 +44,8 @@ pytest-dotenv = "^0.5.2" "Homepage" = "https://github.com/databricks/databricks-sql-python" "Bug Tracker" = "https://github.com/databricks/databricks-sql-python/issues" -[tool.poetry.plugins."sqlalchemy.dialects"] -"databricks" = "databricks.sqlalchemy:DatabricksDialect" +#[tool.poetry.plugins."sqlalchemy.dialects"] +#"databricks" = "databricks.sqlalchemy:DatabricksDialect" [build-system] requires = ["poetry-core>=1.0.0"] From 24730dd21879f3b22b28ab563255cb9d01ad26d3 Mon Sep 17 00:00:00 2001 From: Jothi Prakash Date: Tue, 27 Aug 2024 12:15:34 +0530 Subject: [PATCH 20/53] Minor Fix --- ..._sql_connector_core-1.0.0-py3-none-any.whl | Bin 315159 -> 315463 bytes ...databricks_sql_connector_core-1.0.0.tar.gz | Bin 307065 -> 307059 bytes databricks_sql_connector_core/pyproject.toml | 4 ++-- 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/databricks_sql_connector_core/dist/databricks_sql_connector_core-1.0.0-py3-none-any.whl b/databricks_sql_connector_core/dist/databricks_sql_connector_core-1.0.0-py3-none-any.whl index 62b25d2df8dcd9ab2f438c6aedd5d87ef5afe545..8e98bd88e21c30cc72dd9bc4e18011dfb32bfce1 100644 GIT binary patch delta 1798 zcmZ9NX*3&%8is>(h$SsT8Mj&zqYX`I7%?N(q-u#$%-AZHL2W^#mMUpOOHtH1)(X{? z#!d)n>RO6ORC{R&Q4LCkYGZF*=iD>*o;&Y3?|FZG=X?G>MHPzum5SF>#8SjlB$|PJ zonXLRHV~`_003+cYMOVKc%rZwDF1r^fkceQM@9q_NYMyV94P~V7`7R<89C3cdu{j9 ze%J3{bMm%zUi>P=5uBG7z|l?u2st219aQ5yj=vepKLh}X zinyIX6Y{wGm#TJUz}n`vE|=YHG9`%#kauy!#8bsF8@)#y_r8t`-3KeabHY1>!}+d| zn}y7>4`pRJ09noa{($2fZSc&=2RHNyqsw3x$M;VoV{p#}9_Fj6Pu#58Qb_|F~3~!kifR>+@(N4clgngCUij%0pd*cccui9d-1vZAclHkN@cWCXYOd4+D(hnR}rua z59NNsmrD>J6J|ms!4fTkUoo zuQ;i);jOP*0?=@Ln;4G-_Z31fWa>5sEfaqbXXdJWM({P>1xIn)8b7b~1>QwW{mCc0 z`Np8|he$})%X|>c3?Pp65>~AX?=C)e+A*C9CCu3SMJU0 zNmEE_a7faFM=Jf;N8v8K%3YQ$K+0%BGJZMtjy4X7HkBw|bMIe~TOpVdG`YgX)kUZUUGuDG(D7~fN$E0(VF$9vtdot61l z(i5kMsg(ibl6y@oMm+B;=)y7k?~eoa9`5hAg)5M@7pg;4CDZy$Zmn*@C|5FOS0&nA z{_t)qyzKpGEZnbPrGlDuRUq?RN$ko(y;Z`~gelYOxU{O1`=|ZmJURY#KfU&e@6T;C z^eowchs}YB4$Nf_VMTG4X(TSg=x}zWd-~A@$O1l-%uoJ+rcFuuBuj1gx-ZuVBA>Lq zy9AHyb5ET6#6CCba)*~Z0d3!hZjGNwko|ElsonVW?j7lS*RCn(A{Pf@=sATR4Kn2^ z3@7FB<*Io@0*peVa^7xyx9rCgh2`DUVOsS+MoaVZYbM81o|~FP@E3atPgJw>gPPdC z++#4vS}Goe#`D@Dvaj_XF2mfbJ1aVZTfNlRG@YLqFxBg(eMT~5sYCydqFnAQC`04T zC((-_%TzwfNnzfHTw%WdI?X;u%f_?uW8%eZmZBkL$88)%Eb&O{02yr8hx|rUlteG+ z>G2s?wQEg>l@Gg^WN(NFkJYqqRaRql%1y|}N(obqBwByQvs3<*SzyRH-|O%ZA9SLd z)CWV}bQdJJm@1k6MQ`khOV?AOAL@1@v^jGH7tSu`Q_36Pp9p%cfl(3n$@oQ&PfH8sEZvXi1q5)|NXl`yjKm z<1fLRv?8S;WfQcZbzVeofy4nHQWj#SNyZIO8AKN$GtfTGY|&|kDzxR%?I>FUrlXyh zI7H&VA^=RotaVXs11#XYtor|(=fD$x<^BzNC$LDr6L<#wcMbiG_dl_K0RV%){tx!P b7?$xLMA7aD5DbO_pnwiJ03h}S@ZkDy%1m1& delta 1567 zcmV+)2H^R}pc9v#6M%#PgaU*Ev;@Yx3rNp)u*Rqb004jvmmjkPBbR`@1Q>tTS<|9M z7XaY<{1%vDUoLWi>P1_+w@SyTwih`#C3p8~H}A0hpviX2XF*sVbH+tO<|SHpE8=z&OAdMrvV zgPnjq}Luw8)7oriBs0}&gu-$SIO)+DlUSp zb-vu*jHAAz&@;ia~`l zE)@GHbD&l1mw~%zx2a@ITTsgWdA5Ns9t2ju7iq`AD?%~+YO4L+9EQH1?g9aW&$KV5 zX%nbhkv|aUY4?zf){K87Sk;4&Cw@L4IEIm{C-Ey3WDs^i2Aa4^`uFT0F9tg1jE&ZP z+r$kv7P(^y;f>1-&}u=~qjPhT?q|+IZ~|M6_6h8lH%De?8*kn7MxmH%o1^!>s~Iib z3Ejrupz4uA`*Cw06uwFkoaH%cEd;YZzrkO^i>f^NX6>Z?>=A$UbU2cFBHWhiu`Fzy z_D-479)t1;fJ1sR2MxT(5Qd|<73g=yhMn1(6C@O;lH9b+nz)HDJ{-cJ@)wYZ%+b?i z&DgRXhR_60teL{7YRCAN!011z=r=8H=cZ~w9Mqrz={K1Y@%X}d6te`D@$l4^(lrv> zI)+Z$q3)R(W}JV^DsWo&AtMyduA9s6;BUzOaa6*{dL})(m+=|D`n&jKFG`V(R54PS zKZWSRxOrCy2t#vgN-udtZ$N$FDDffLwN(TLdy ziBrTXpiBC^e&q=Gu=D@Zi}#K9OR2wJ4EX?)CQ9C5g${puep{0l&(t;vO*jI<#Jj!3 zAJC^Vju6y)#^(2ADsTuvQ{)P}13jn{_~Jf_G`?+jf!m`MxJJz$;+8ik))2;c=Ygxq z#N(;cggbwn_5(uF^pANBfcf+u9x)2g5OoSt%C^%nVT+m-H1~nX(~n}R!o6Se8b&_u zxsBjFPOpDyFmGPBe1c1t#Q)YZ{@dUGwM~L9|9lcn{h0Jq9wqP3XrI(AOnw`{wL<$EW(khPu4hyiEf;R5TbJRY7g|IBk|082~ThCK1#@J}OrxLSNi(3w2 z(neiE*~7kTsW~%jZKRqOZXYg!lNimeDb7C_!3TfIdy$<7ApNlSiidX}| zqs*bP4@M)XqDme>$iY0fGj;A8yXluoaUh9i17|@H@1XHk_mu`@oLTJ7!XY z#;R`Pge>?P`kJ=)2Ri(cbMN%M&%8R!dwhH5vUGP|dTBNaa2UR1#P8|4}!@vmh z>YXr$Alp3p;(4-evng)vC;=VLn(5+d&~SgEmc$1w+H_4BAq2%>D+&WtQI^!phlPON z(%tN)y_)HoFW3(wtxD0oX%0*lc4(NEu-wHeWFJFt>MwSE6#s<1uK2Y(p?Py_KU?xi zkc5-){~iC9-?z7fQ-K!S$Lu-Sh1x*Tf(p@_fQG`{0rCowYF z{LLB;JjF?td(!%yx|x(YqKDq=l_9;EmoO}&T=(Y`;eIqQM;7;vgdjit54U&1 z1p5pfNY8e##;64V0Dukv05kvq00000000000HguAyO;6I1Rs}xyaX2(P)h{{00000 RA^;))P7MG6v%v%a007P42L=ED diff --git a/databricks_sql_connector_core/dist/databricks_sql_connector_core-1.0.0.tar.gz b/databricks_sql_connector_core/dist/databricks_sql_connector_core-1.0.0.tar.gz index 8daba044d9256cdf209dd5f2c3b62dc5fac62fdb..2fca2860786685cff3767866e63cfe32933f2580 100644 GIT binary patch delta 182055 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�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 delta 182711 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%0DT>2 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%0A9~cR$KXH}0;&*G~#((@i$)Edu&9 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 z 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 diff --git a/databricks_sql_connector_core/poetry.lock b/databricks_sql_connector_core/poetry.lock deleted file mode 100644 index d4c1c08e..00000000 --- a/databricks_sql_connector_core/poetry.lock +++ /dev/null @@ -1,1177 +0,0 @@ -# This file is automatically @generated by Poetry 1.8.3 and should not be changed by hand. - -[[package]] -name = "alembic" -version = "1.13.2" -description = "A database migration tool for SQLAlchemy." -optional = true -python-versions = ">=3.8" -files = [ - {file = "alembic-1.13.2-py3-none-any.whl", hash = "sha256:6b8733129a6224a9a711e17c99b08462dbf7cc9670ba8f2e2ae9af860ceb1953"}, - {file = "alembic-1.13.2.tar.gz", hash = "sha256:1ff0ae32975f4fd96028c39ed9bb3c867fe3af956bd7bb37343b54c9fe7445ef"}, -] - -[package.dependencies] -importlib-metadata = {version = "*", markers = "python_version < \"3.9\""} -importlib-resources = {version = "*", markers = "python_version < \"3.9\""} -Mako = "*" -SQLAlchemy = ">=1.3.0" -typing-extensions = ">=4" - -[package.extras] -tz = ["backports.zoneinfo"] - -[[package]] -name = "astroid" -version = "3.2.4" -description = "An abstract syntax tree for Python with inference support." -optional = false -python-versions = ">=3.8.0" -files = [ - {file = "astroid-3.2.4-py3-none-any.whl", hash = "sha256:413658a61eeca6202a59231abb473f932038fbcbf1666587f66d482083413a25"}, - {file = "astroid-3.2.4.tar.gz", hash = "sha256:0e14202810b30da1b735827f78f5157be2bbd4a7a59b7707ca0bfc2fb4c0063a"}, -] - -[package.dependencies] -typing-extensions = {version = ">=4.0.0", markers = "python_version < \"3.11\""} - -[[package]] -name = "black" -version = "22.12.0" -description = "The uncompromising code formatter." -optional = false -python-versions = ">=3.7" -files = [ - {file = "black-22.12.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9eedd20838bd5d75b80c9f5487dbcb06836a43833a37846cf1d8c1cc01cef59d"}, - {file = "black-22.12.0-cp310-cp310-win_amd64.whl", hash = "sha256:159a46a4947f73387b4d83e87ea006dbb2337eab6c879620a3ba52699b1f4351"}, - {file = "black-22.12.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d30b212bffeb1e252b31dd269dfae69dd17e06d92b87ad26e23890f3efea366f"}, - {file = "black-22.12.0-cp311-cp311-win_amd64.whl", hash = "sha256:7412e75863aa5c5411886804678b7d083c7c28421210180d67dfd8cf1221e1f4"}, - {file = "black-22.12.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c116eed0efb9ff870ded8b62fe9f28dd61ef6e9ddd28d83d7d264a38417dcee2"}, - {file = "black-22.12.0-cp37-cp37m-win_amd64.whl", hash = "sha256:1f58cbe16dfe8c12b7434e50ff889fa479072096d79f0a7f25e4ab8e94cd8350"}, - {file = "black-22.12.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:77d86c9f3db9b1bf6761244bc0b3572a546f5fe37917a044e02f3166d5aafa7d"}, - {file = "black-22.12.0-cp38-cp38-win_amd64.whl", hash = "sha256:82d9fe8fee3401e02e79767016b4907820a7dc28d70d137eb397b92ef3cc5bfc"}, - {file = "black-22.12.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:101c69b23df9b44247bd88e1d7e90154336ac4992502d4197bdac35dd7ee3320"}, - {file = "black-22.12.0-cp39-cp39-win_amd64.whl", hash = "sha256:559c7a1ba9a006226f09e4916060982fd27334ae1998e7a38b3f33a37f7a2148"}, - {file = "black-22.12.0-py3-none-any.whl", hash = "sha256:436cc9167dd28040ad90d3b404aec22cedf24a6e4d7de221bec2730ec0c97bcf"}, - {file = "black-22.12.0.tar.gz", hash = "sha256:229351e5a18ca30f447bf724d007f890f97e13af070bb6ad4c0a441cd7596a2f"}, -] - -[package.dependencies] -click = ">=8.0.0" -mypy-extensions = ">=0.4.3" -pathspec = ">=0.9.0" -platformdirs = ">=2" -tomli = {version = ">=1.1.0", markers = "python_full_version < \"3.11.0a7\""} -typing-extensions = {version = ">=3.10.0.0", markers = "python_version < \"3.10\""} - -[package.extras] -colorama = ["colorama (>=0.4.3)"] -d = ["aiohttp (>=3.7.4)"] -jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"] -uvloop = ["uvloop (>=0.15.2)"] - -[[package]] -name = "certifi" -version = "2024.7.4" -description = "Python package for providing Mozilla's CA Bundle." -optional = false -python-versions = ">=3.6" -files = [ - {file = "certifi-2024.7.4-py3-none-any.whl", hash = "sha256:c198e21b1289c2ab85ee4e67bb4b4ef3ead0892059901a8d5b622f24a1101e90"}, - {file = "certifi-2024.7.4.tar.gz", hash = "sha256:5a1e7645bc0ec61a09e26c36f6106dd4cf40c6db3a1fb6352b0244e7fb057c7b"}, -] - -[[package]] -name = "charset-normalizer" -version = "3.3.2" -description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." -optional = false -python-versions = ">=3.7.0" -files = [ - {file = "charset-normalizer-3.3.2.tar.gz", hash = "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-win32.whl", hash = "sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-win32.whl", hash = "sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-win32.whl", hash = "sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:95f2a5796329323b8f0512e09dbb7a1860c46a39da62ecb2324f116fa8fdc85c"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c002b4ffc0be611f0d9da932eb0f704fe2602a9a949d1f738e4c34c75b0863d5"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a981a536974bbc7a512cf44ed14938cf01030a99e9b3a06dd59578882f06f985"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3287761bc4ee9e33561a7e058c72ac0938c4f57fe49a09eae428fd88aafe7bb6"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:42cb296636fcc8b0644486d15c12376cb9fa75443e00fb25de0b8602e64c1714"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0a55554a2fa0d408816b3b5cedf0045f4b8e1a6065aec45849de2d6f3f8e9786"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:c083af607d2515612056a31f0a8d9e0fcb5876b7bfc0abad3ecd275bc4ebc2d5"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:87d1351268731db79e0f8e745d92493ee2841c974128ef629dc518b937d9194c"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:bd8f7df7d12c2db9fab40bdd87a7c09b1530128315d047a086fa3ae3435cb3a8"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:c180f51afb394e165eafe4ac2936a14bee3eb10debc9d9e4db8958fe36afe711"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:8c622a5fe39a48f78944a87d4fb8a53ee07344641b0562c540d840748571b811"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-win32.whl", hash = "sha256:db364eca23f876da6f9e16c9da0df51aa4f104a972735574842618b8c6d999d4"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-win_amd64.whl", hash = "sha256:86216b5cee4b06df986d214f664305142d9c76df9b6512be2738aa72a2048f99"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:6463effa3186ea09411d50efc7d85360b38d5f09b870c48e4600f63af490e56a"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6c4caeef8fa63d06bd437cd4bdcf3ffefe6738fb1b25951440d80dc7df8c03ac"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:37e55c8e51c236f95b033f6fb391d7d7970ba5fe7ff453dad675e88cf303377a"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb69256e180cb6c8a894fee62b3afebae785babc1ee98b81cdf68bbca1987f33"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae5f4161f18c61806f411a13b0310bea87f987c7d2ecdbdaad0e94eb2e404238"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b2b0a0c0517616b6869869f8c581d4eb2dd83a4d79e0ebcb7d373ef9956aeb0a"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:45485e01ff4d3630ec0d9617310448a8702f70e9c01906b0d0118bdf9d124cf2"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eb00ed941194665c332bf8e078baf037d6c35d7c4f3102ea2d4f16ca94a26dc8"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2127566c664442652f024c837091890cb1942c30937add288223dc895793f898"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a50aebfa173e157099939b17f18600f72f84eed3049e743b68ad15bd69b6bf99"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:4d0d1650369165a14e14e1e47b372cfcb31d6ab44e6e33cb2d4e57265290044d"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:923c0c831b7cfcb071580d3f46c4baf50f174be571576556269530f4bbd79d04"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:06a81e93cd441c56a9b65d8e1d043daeb97a3d0856d177d5c90ba85acb3db087"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-win32.whl", hash = "sha256:6ef1d82a3af9d3eecdba2321dc1b3c238245d890843e040e41e470ffa64c3e25"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-win_amd64.whl", hash = "sha256:eb8821e09e916165e160797a6c17edda0679379a4be5c716c260e836e122f54b"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:c235ebd9baae02f1b77bcea61bce332cb4331dc3617d254df3323aa01ab47bd4"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5b4c145409bef602a690e7cfad0a15a55c13320ff7a3ad7ca59c13bb8ba4d45d"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:68d1f8a9e9e37c1223b656399be5d6b448dea850bed7d0f87a8311f1ff3dabb0"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22afcb9f253dac0696b5a4be4a1c0f8762f8239e21b99680099abd9b2b1b2269"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e27ad930a842b4c5eb8ac0016b0a54f5aebbe679340c26101df33424142c143c"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f79682fbe303db92bc2b1136016a38a42e835d932bab5b3b1bfcfbf0640e519"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b261ccdec7821281dade748d088bb6e9b69e6d15b30652b74cbbac25e280b796"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:122c7fa62b130ed55f8f285bfd56d5f4b4a5b503609d181f9ad85e55c89f4185"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d0eccceffcb53201b5bfebb52600a5fb483a20b61da9dbc885f8b103cbe7598c"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:9f96df6923e21816da7e0ad3fd47dd8f94b2a5ce594e00677c0013018b813458"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:7f04c839ed0b6b98b1a7501a002144b76c18fb1c1850c8b98d458ac269e26ed2"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:34d1c8da1e78d2e001f363791c98a272bb734000fcef47a491c1e3b0505657a8"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-win32.whl", hash = "sha256:aed38f6e4fb3f5d6bf81bfa990a07806be9d83cf7bacef998ab1a9bd660a581f"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:b01b88d45a6fcb69667cd6d2f7a9aeb4bf53760d7fc536bf679ec94fe9f3ff3d"}, - {file = "charset_normalizer-3.3.2-py3-none-any.whl", hash = "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc"}, -] - -[[package]] -name = "click" -version = "8.1.7" -description = "Composable command line interface toolkit" -optional = false -python-versions = ">=3.7" -files = [ - {file = "click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28"}, - {file = "click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"}, -] - -[package.dependencies] -colorama = {version = "*", markers = "platform_system == \"Windows\""} - -[[package]] -name = "colorama" -version = "0.4.6" -description = "Cross-platform colored terminal text." -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" -files = [ - {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, - {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, -] - -[[package]] -name = "dill" -version = "0.3.8" -description = "serialize all of Python" -optional = false -python-versions = ">=3.8" -files = [ - {file = "dill-0.3.8-py3-none-any.whl", hash = "sha256:c36ca9ffb54365bdd2f8eb3eff7d2a21237f8452b57ace88b1ac615b7e815bd7"}, - {file = "dill-0.3.8.tar.gz", hash = "sha256:3ebe3c479ad625c4553aca177444d89b486b1d84982eeacded644afc0cf797ca"}, -] - -[package.extras] -graph = ["objgraph (>=1.7.2)"] -profile = ["gprof2dot (>=2022.7.29)"] - -[[package]] -name = "et-xmlfile" -version = "1.1.0" -description = "An implementation of lxml.xmlfile for the standard library" -optional = false -python-versions = ">=3.6" -files = [ - {file = "et_xmlfile-1.1.0-py3-none-any.whl", hash = "sha256:a2ba85d1d6a74ef63837eed693bcb89c3f752169b0e3e7ae5b16ca5e1b3deada"}, - {file = "et_xmlfile-1.1.0.tar.gz", hash = "sha256:8eb9e2bc2f8c97e37a2dc85a09ecdcdec9d8a396530a6d5a33b30b9a92da0c5c"}, -] - -[[package]] -name = "exceptiongroup" -version = "1.2.2" -description = "Backport of PEP 654 (exception groups)" -optional = false -python-versions = ">=3.7" -files = [ - {file = "exceptiongroup-1.2.2-py3-none-any.whl", hash = "sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b"}, - {file = "exceptiongroup-1.2.2.tar.gz", hash = "sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc"}, -] - -[package.extras] -test = ["pytest (>=6)"] - -[[package]] -name = "greenlet" -version = "3.0.3" -description = "Lightweight in-process concurrent programming" -optional = true -python-versions = ">=3.7" -files = [ - {file = "greenlet-3.0.3-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:9da2bd29ed9e4f15955dd1595ad7bc9320308a3b766ef7f837e23ad4b4aac31a"}, - {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d353cadd6083fdb056bb46ed07e4340b0869c305c8ca54ef9da3421acbdf6881"}, - {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dca1e2f3ca00b84a396bc1bce13dd21f680f035314d2379c4160c98153b2059b"}, - {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3ed7fb269f15dc662787f4119ec300ad0702fa1b19d2135a37c2c4de6fadfd4a"}, - {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd4f49ae60e10adbc94b45c0b5e6a179acc1736cf7a90160b404076ee283cf83"}, - {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:73a411ef564e0e097dbe7e866bb2dda0f027e072b04da387282b02c308807405"}, - {file = "greenlet-3.0.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:7f362975f2d179f9e26928c5b517524e89dd48530a0202570d55ad6ca5d8a56f"}, - {file = "greenlet-3.0.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:649dde7de1a5eceb258f9cb00bdf50e978c9db1b996964cd80703614c86495eb"}, - {file = "greenlet-3.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:68834da854554926fbedd38c76e60c4a2e3198c6fbed520b106a8986445caaf9"}, - {file = "greenlet-3.0.3-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:b1b5667cced97081bf57b8fa1d6bfca67814b0afd38208d52538316e9422fc61"}, - {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:52f59dd9c96ad2fc0d5724107444f76eb20aaccb675bf825df6435acb7703559"}, - {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:afaff6cf5200befd5cec055b07d1c0a5a06c040fe5ad148abcd11ba6ab9b114e"}, - {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fe754d231288e1e64323cfad462fcee8f0288654c10bdf4f603a39ed923bef33"}, - {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2797aa5aedac23af156bbb5a6aa2cd3427ada2972c828244eb7d1b9255846379"}, - {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b7f009caad047246ed379e1c4dbcb8b020f0a390667ea74d2387be2998f58a22"}, - {file = "greenlet-3.0.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:c5e1536de2aad7bf62e27baf79225d0d64360d4168cf2e6becb91baf1ed074f3"}, - {file = "greenlet-3.0.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:894393ce10ceac937e56ec00bb71c4c2f8209ad516e96033e4b3b1de270e200d"}, - {file = "greenlet-3.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:1ea188d4f49089fc6fb283845ab18a2518d279c7cd9da1065d7a84e991748728"}, - {file = "greenlet-3.0.3-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:70fb482fdf2c707765ab5f0b6655e9cfcf3780d8d87355a063547b41177599be"}, - {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d4d1ac74f5c0c0524e4a24335350edad7e5f03b9532da7ea4d3c54d527784f2e"}, - {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:149e94a2dd82d19838fe4b2259f1b6b9957d5ba1b25640d2380bea9c5df37676"}, - {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:15d79dd26056573940fcb8c7413d84118086f2ec1a8acdfa854631084393efcc"}, - {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:881b7db1ebff4ba09aaaeae6aa491daeb226c8150fc20e836ad00041bcb11230"}, - {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fcd2469d6a2cf298f198f0487e0a5b1a47a42ca0fa4dfd1b6862c999f018ebbf"}, - {file = "greenlet-3.0.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:1f672519db1796ca0d8753f9e78ec02355e862d0998193038c7073045899f305"}, - {file = "greenlet-3.0.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2516a9957eed41dd8f1ec0c604f1cdc86758b587d964668b5b196a9db5bfcde6"}, - {file = "greenlet-3.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:bba5387a6975598857d86de9eac14210a49d554a77eb8261cc68b7d082f78ce2"}, - {file = "greenlet-3.0.3-cp37-cp37m-macosx_11_0_universal2.whl", hash = "sha256:5b51e85cb5ceda94e79d019ed36b35386e8c37d22f07d6a751cb659b180d5274"}, - {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:daf3cb43b7cf2ba96d614252ce1684c1bccee6b2183a01328c98d36fcd7d5cb0"}, - {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:99bf650dc5d69546e076f413a87481ee1d2d09aaaaaca058c9251b6d8c14783f"}, - {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2dd6e660effd852586b6a8478a1d244b8dc90ab5b1321751d2ea15deb49ed414"}, - {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e3391d1e16e2a5a1507d83e4a8b100f4ee626e8eca43cf2cadb543de69827c4c"}, - {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e1f145462f1fa6e4a4ae3c0f782e580ce44d57c8f2c7aae1b6fa88c0b2efdb41"}, - {file = "greenlet-3.0.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:1a7191e42732df52cb5f39d3527217e7ab73cae2cb3694d241e18f53d84ea9a7"}, - {file = "greenlet-3.0.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:0448abc479fab28b00cb472d278828b3ccca164531daab4e970a0458786055d6"}, - {file = "greenlet-3.0.3-cp37-cp37m-win32.whl", hash = "sha256:b542be2440edc2d48547b5923c408cbe0fc94afb9f18741faa6ae970dbcb9b6d"}, - {file = "greenlet-3.0.3-cp37-cp37m-win_amd64.whl", hash = "sha256:01bc7ea167cf943b4c802068e178bbf70ae2e8c080467070d01bfa02f337ee67"}, - {file = "greenlet-3.0.3-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:1996cb9306c8595335bb157d133daf5cf9f693ef413e7673cb07e3e5871379ca"}, - {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ddc0f794e6ad661e321caa8d2f0a55ce01213c74722587256fb6566049a8b04"}, - {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c9db1c18f0eaad2f804728c67d6c610778456e3e1cc4ab4bbd5eeb8e6053c6fc"}, - {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7170375bcc99f1a2fbd9c306f5be8764eaf3ac6b5cb968862cad4c7057756506"}, - {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6b66c9c1e7ccabad3a7d037b2bcb740122a7b17a53734b7d72a344ce39882a1b"}, - {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:098d86f528c855ead3479afe84b49242e174ed262456c342d70fc7f972bc13c4"}, - {file = "greenlet-3.0.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:81bb9c6d52e8321f09c3d165b2a78c680506d9af285bfccbad9fb7ad5a5da3e5"}, - {file = "greenlet-3.0.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:fd096eb7ffef17c456cfa587523c5f92321ae02427ff955bebe9e3c63bc9f0da"}, - {file = "greenlet-3.0.3-cp38-cp38-win32.whl", hash = "sha256:d46677c85c5ba00a9cb6f7a00b2bfa6f812192d2c9f7d9c4f6a55b60216712f3"}, - {file = "greenlet-3.0.3-cp38-cp38-win_amd64.whl", hash = "sha256:419b386f84949bf0e7c73e6032e3457b82a787c1ab4a0e43732898a761cc9dbf"}, - {file = "greenlet-3.0.3-cp39-cp39-macosx_11_0_universal2.whl", hash = "sha256:da70d4d51c8b306bb7a031d5cff6cc25ad253affe89b70352af5f1cb68e74b53"}, - {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:086152f8fbc5955df88382e8a75984e2bb1c892ad2e3c80a2508954e52295257"}, - {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d73a9fe764d77f87f8ec26a0c85144d6a951a6c438dfe50487df5595c6373eac"}, - {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b7dcbe92cc99f08c8dd11f930de4d99ef756c3591a5377d1d9cd7dd5e896da71"}, - {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1551a8195c0d4a68fac7a4325efac0d541b48def35feb49d803674ac32582f61"}, - {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:64d7675ad83578e3fc149b617a444fab8efdafc9385471f868eb5ff83e446b8b"}, - {file = "greenlet-3.0.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:b37eef18ea55f2ffd8f00ff8fe7c8d3818abd3e25fb73fae2ca3b672e333a7a6"}, - {file = "greenlet-3.0.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:77457465d89b8263bca14759d7c1684df840b6811b2499838cc5b040a8b5b113"}, - {file = "greenlet-3.0.3-cp39-cp39-win32.whl", hash = "sha256:57e8974f23e47dac22b83436bdcf23080ade568ce77df33159e019d161ce1d1e"}, - {file = "greenlet-3.0.3-cp39-cp39-win_amd64.whl", hash = "sha256:c5ee858cfe08f34712f548c3c363e807e7186f03ad7a5039ebadb29e8c6be067"}, - {file = "greenlet-3.0.3.tar.gz", hash = "sha256:43374442353259554ce33599da8b692d5aa96f8976d567d4badf263371fbe491"}, -] - -[package.extras] -docs = ["Sphinx", "furo"] -test = ["objgraph", "psutil"] - -[[package]] -name = "idna" -version = "3.8" -description = "Internationalized Domain Names in Applications (IDNA)" -optional = false -python-versions = ">=3.6" -files = [ - {file = "idna-3.8-py3-none-any.whl", hash = "sha256:050b4e5baadcd44d760cedbd2b8e639f2ff89bbc7a5730fcc662954303377aac"}, - {file = "idna-3.8.tar.gz", hash = "sha256:d838c2c0ed6fced7693d5e8ab8e734d5f8fda53a039c0164afb0b82e771e3603"}, -] - -[[package]] -name = "importlib-metadata" -version = "8.4.0" -description = "Read metadata from Python packages" -optional = true -python-versions = ">=3.8" -files = [ - {file = "importlib_metadata-8.4.0-py3-none-any.whl", hash = "sha256:66f342cc6ac9818fc6ff340576acd24d65ba0b3efabb2b4ac08b598965a4a2f1"}, - {file = "importlib_metadata-8.4.0.tar.gz", hash = "sha256:9a547d3bc3608b025f93d403fdd1aae741c24fbb8314df4b155675742ce303c5"}, -] - -[package.dependencies] -zipp = ">=0.5" - -[package.extras] -doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] -perf = ["ipython"] -test = ["flufl.flake8", "importlib-resources (>=1.3)", "jaraco.test (>=5.4)", "packaging", "pyfakefs", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy", "pytest-perf (>=0.9.2)", "pytest-ruff (>=0.2.1)"] - -[[package]] -name = "importlib-resources" -version = "6.4.4" -description = "Read resources from Python packages" -optional = true -python-versions = ">=3.8" -files = [ - {file = "importlib_resources-6.4.4-py3-none-any.whl", hash = "sha256:dda242603d1c9cd836c3368b1174ed74cb4049ecd209e7a1a0104620c18c5c11"}, - {file = "importlib_resources-6.4.4.tar.gz", hash = "sha256:20600c8b7361938dc0bb2d5ec0297802e575df486f5a544fa414da65e13721f7"}, -] - -[package.dependencies] -zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""} - -[package.extras] -check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] -cover = ["pytest-cov"] -doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] -enabler = ["pytest-enabler (>=2.2)"] -test = ["jaraco.test (>=5.4)", "pytest (>=6,!=8.1.*)", "zipp (>=3.17)"] -type = ["pytest-mypy"] - -[[package]] -name = "iniconfig" -version = "2.0.0" -description = "brain-dead simple config-ini parsing" -optional = false -python-versions = ">=3.7" -files = [ - {file = "iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374"}, - {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"}, -] - -[[package]] -name = "isort" -version = "5.13.2" -description = "A Python utility / library to sort Python imports." -optional = false -python-versions = ">=3.8.0" -files = [ - {file = "isort-5.13.2-py3-none-any.whl", hash = "sha256:8ca5e72a8d85860d5a3fa69b8745237f2939afe12dbf656afbcb47fe72d947a6"}, - {file = "isort-5.13.2.tar.gz", hash = "sha256:48fdfcb9face5d58a4f6dde2e72a1fb8dcaf8ab26f95ab49fab84c2ddefb0109"}, -] - -[package.extras] -colors = ["colorama (>=0.4.6)"] - -[[package]] -name = "lz4" -version = "4.3.3" -description = "LZ4 Bindings for Python" -optional = false -python-versions = ">=3.8" -files = [ - {file = "lz4-4.3.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b891880c187e96339474af2a3b2bfb11a8e4732ff5034be919aa9029484cd201"}, - {file = "lz4-4.3.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:222a7e35137d7539c9c33bb53fcbb26510c5748779364014235afc62b0ec797f"}, - {file = "lz4-4.3.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f76176492ff082657ada0d0f10c794b6da5800249ef1692b35cf49b1e93e8ef7"}, - {file = "lz4-4.3.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f1d18718f9d78182c6b60f568c9a9cec8a7204d7cb6fad4e511a2ef279e4cb05"}, - {file = "lz4-4.3.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6cdc60e21ec70266947a48839b437d46025076eb4b12c76bd47f8e5eb8a75dcc"}, - {file = "lz4-4.3.3-cp310-cp310-win32.whl", hash = "sha256:c81703b12475da73a5d66618856d04b1307e43428a7e59d98cfe5a5d608a74c6"}, - {file = "lz4-4.3.3-cp310-cp310-win_amd64.whl", hash = "sha256:43cf03059c0f941b772c8aeb42a0813d68d7081c009542301637e5782f8a33e2"}, - {file = "lz4-4.3.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:30e8c20b8857adef7be045c65f47ab1e2c4fabba86a9fa9a997d7674a31ea6b6"}, - {file = "lz4-4.3.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2f7b1839f795315e480fb87d9bc60b186a98e3e5d17203c6e757611ef7dcef61"}, - {file = "lz4-4.3.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:edfd858985c23523f4e5a7526ca6ee65ff930207a7ec8a8f57a01eae506aaee7"}, - {file = "lz4-4.3.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e9c410b11a31dbdc94c05ac3c480cb4b222460faf9231f12538d0074e56c563"}, - {file = "lz4-4.3.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d2507ee9c99dbddd191c86f0e0c8b724c76d26b0602db9ea23232304382e1f21"}, - {file = "lz4-4.3.3-cp311-cp311-win32.whl", hash = "sha256:f180904f33bdd1e92967923a43c22899e303906d19b2cf8bb547db6653ea6e7d"}, - {file = "lz4-4.3.3-cp311-cp311-win_amd64.whl", hash = "sha256:b14d948e6dce389f9a7afc666d60dd1e35fa2138a8ec5306d30cd2e30d36b40c"}, - {file = "lz4-4.3.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:e36cd7b9d4d920d3bfc2369840da506fa68258f7bb176b8743189793c055e43d"}, - {file = "lz4-4.3.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:31ea4be9d0059c00b2572d700bf2c1bc82f241f2c3282034a759c9a4d6ca4dc2"}, - {file = "lz4-4.3.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:33c9a6fd20767ccaf70649982f8f3eeb0884035c150c0b818ea660152cf3c809"}, - {file = "lz4-4.3.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bca8fccc15e3add173da91be8f34121578dc777711ffd98d399be35487c934bf"}, - {file = "lz4-4.3.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e7d84b479ddf39fe3ea05387f10b779155fc0990125f4fb35d636114e1c63a2e"}, - {file = "lz4-4.3.3-cp312-cp312-win32.whl", hash = "sha256:337cb94488a1b060ef1685187d6ad4ba8bc61d26d631d7ba909ee984ea736be1"}, - {file = "lz4-4.3.3-cp312-cp312-win_amd64.whl", hash = "sha256:5d35533bf2cee56f38ced91f766cd0038b6abf46f438a80d50c52750088be93f"}, - {file = "lz4-4.3.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:363ab65bf31338eb364062a15f302fc0fab0a49426051429866d71c793c23394"}, - {file = "lz4-4.3.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:0a136e44a16fc98b1abc404fbabf7f1fada2bdab6a7e970974fb81cf55b636d0"}, - {file = "lz4-4.3.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:abc197e4aca8b63f5ae200af03eb95fb4b5055a8f990079b5bdf042f568469dd"}, - {file = "lz4-4.3.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:56f4fe9c6327adb97406f27a66420b22ce02d71a5c365c48d6b656b4aaeb7775"}, - {file = "lz4-4.3.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f0e822cd7644995d9ba248cb4b67859701748a93e2ab7fc9bc18c599a52e4604"}, - {file = "lz4-4.3.3-cp38-cp38-win32.whl", hash = "sha256:24b3206de56b7a537eda3a8123c644a2b7bf111f0af53bc14bed90ce5562d1aa"}, - {file = "lz4-4.3.3-cp38-cp38-win_amd64.whl", hash = "sha256:b47839b53956e2737229d70714f1d75f33e8ac26e52c267f0197b3189ca6de24"}, - {file = "lz4-4.3.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6756212507405f270b66b3ff7f564618de0606395c0fe10a7ae2ffcbbe0b1fba"}, - {file = "lz4-4.3.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ee9ff50557a942d187ec85462bb0960207e7ec5b19b3b48949263993771c6205"}, - {file = "lz4-4.3.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2b901c7784caac9a1ded4555258207d9e9697e746cc8532129f150ffe1f6ba0d"}, - {file = "lz4-4.3.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b6d9ec061b9eca86e4dcc003d93334b95d53909afd5a32c6e4f222157b50c071"}, - {file = "lz4-4.3.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f4c7bf687303ca47d69f9f0133274958fd672efaa33fb5bcde467862d6c621f0"}, - {file = "lz4-4.3.3-cp39-cp39-win32.whl", hash = "sha256:054b4631a355606e99a42396f5db4d22046a3397ffc3269a348ec41eaebd69d2"}, - {file = "lz4-4.3.3-cp39-cp39-win_amd64.whl", hash = "sha256:eac9af361e0d98335a02ff12fb56caeb7ea1196cf1a49dbf6f17828a131da807"}, - {file = "lz4-4.3.3.tar.gz", hash = "sha256:01fe674ef2889dbb9899d8a67361e0c4a2c833af5aeb37dd505727cf5d2a131e"}, -] - -[package.extras] -docs = ["sphinx (>=1.6.0)", "sphinx-bootstrap-theme"] -flake8 = ["flake8"] -tests = ["psutil", "pytest (!=3.3.0)", "pytest-cov"] - -[[package]] -name = "mako" -version = "1.3.5" -description = "A super-fast templating language that borrows the best ideas from the existing templating languages." -optional = true -python-versions = ">=3.8" -files = [ - {file = "Mako-1.3.5-py3-none-any.whl", hash = "sha256:260f1dbc3a519453a9c856dedfe4beb4e50bd5a26d96386cb6c80856556bb91a"}, - {file = "Mako-1.3.5.tar.gz", hash = "sha256:48dbc20568c1d276a2698b36d968fa76161bf127194907ea6fc594fa81f943bc"}, -] - -[package.dependencies] -MarkupSafe = ">=0.9.2" - -[package.extras] -babel = ["Babel"] -lingua = ["lingua"] -testing = ["pytest"] - -[[package]] -name = "markupsafe" -version = "2.1.5" -description = "Safely add untrusted strings to HTML/XML markup." -optional = true -python-versions = ">=3.7" -files = [ - {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-win32.whl", hash = "sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-win_amd64.whl", hash = "sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ec585f69cec0aa07d945b20805be741395e28ac1627333b1c5b0105962ffced"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b91c037585eba9095565a3556f611e3cbfaa42ca1e865f7b8015fe5c7336d5a5"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7502934a33b54030eaf1194c21c692a534196063db72176b0c4028e140f8f32c"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0e397ac966fdf721b2c528cf028494e86172b4feba51d65f81ffd65c63798f3f"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c061bb86a71b42465156a3ee7bd58c8c2ceacdbeb95d05a99893e08b8467359a"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3a57fdd7ce31c7ff06cdfbf31dafa96cc533c21e443d57f5b1ecc6cdc668ec7f"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-win32.whl", hash = "sha256:397081c1a0bfb5124355710fe79478cdbeb39626492b15d399526ae53422b906"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-win_amd64.whl", hash = "sha256:2b7c57a4dfc4f16f7142221afe5ba4e093e09e728ca65c51f5620c9aaeb9a617"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-win32.whl", hash = "sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-win_amd64.whl", hash = "sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c8b29db45f8fe46ad280a7294f5c3ec36dbac9491f2d1c17345be8e69cc5928f"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ec6a563cff360b50eed26f13adc43e61bc0c04d94b8be985e6fb24b81f6dcfdf"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a549b9c31bec33820e885335b451286e2969a2d9e24879f83fe904a5ce59d70a"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4f11aa001c540f62c6166c7726f71f7573b52c68c31f014c25cc7901deea0b52"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:7b2e5a267c855eea6b4283940daa6e88a285f5f2a67f2220203786dfa59b37e9"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:2d2d793e36e230fd32babe143b04cec8a8b3eb8a3122d2aceb4a371e6b09b8df"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ce409136744f6521e39fd8e2a24c53fa18ad67aa5bc7c2cf83645cce5b5c4e50"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-win32.whl", hash = "sha256:4096e9de5c6fdf43fb4f04c26fb114f61ef0bf2e5604b6ee3019d51b69e8c371"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-win_amd64.whl", hash = "sha256:4275d846e41ecefa46e2015117a9f491e57a71ddd59bbead77e904dc02b1bed2"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:656f7526c69fac7f600bd1f400991cc282b417d17539a1b228617081106feb4a"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:97cafb1f3cbcd3fd2b6fbfb99ae11cdb14deea0736fc2b0952ee177f2b813a46"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f3fbcb7ef1f16e48246f704ab79d79da8a46891e2da03f8783a5b6fa41a9532"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa9db3f79de01457b03d4f01b34cf91bc0048eb2c3846ff26f66687c2f6d16ab"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffee1f21e5ef0d712f9033568f8344d5da8cc2869dbd08d87c84656e6a2d2f68"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5dedb4db619ba5a2787a94d877bc8ffc0566f92a01c0ef214865e54ecc9ee5e0"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:30b600cf0a7ac9234b2638fbc0fb6158ba5bdcdf46aeb631ead21248b9affbc4"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8dd717634f5a044f860435c1d8c16a270ddf0ef8588d4887037c5028b859b0c3"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-win32.whl", hash = "sha256:daa4ee5a243f0f20d528d939d06670a298dd39b1ad5f8a72a4275124a7819eff"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-win_amd64.whl", hash = "sha256:619bc166c4f2de5caa5a633b8b7326fbe98e0ccbfacabd87268a2b15ff73a029"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7a68b554d356a91cce1236aa7682dc01df0edba8d043fd1ce607c49dd3c1edcf"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:db0b55e0f3cc0be60c1f19efdde9a637c32740486004f20d1cff53c3c0ece4d2"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e53af139f8579a6d5f7b76549125f0d94d7e630761a2111bc431fd820e163b8"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17b950fccb810b3293638215058e432159d2b71005c74371d784862b7e4683f3"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c31f53cdae6ecfa91a77820e8b151dba54ab528ba65dfd235c80b086d68a465"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bff1b4290a66b490a2f4719358c0cdcd9bafb6b8f061e45c7a2460866bf50c2e"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bc1667f8b83f48511b94671e0e441401371dfd0f0a795c7daa4a3cd1dde55bea"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5049256f536511ee3f7e1b3f87d1d1209d327e818e6ae1365e8653d7e3abb6a6"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-win32.whl", hash = "sha256:00e046b6dd71aa03a41079792f8473dc494d564611a8f89bbbd7cb93295ebdcf"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-win_amd64.whl", hash = "sha256:fa173ec60341d6bb97a89f5ea19c85c5643c1e7dedebc22f5181eb73573142c5"}, - {file = "MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b"}, -] - -[[package]] -name = "mccabe" -version = "0.7.0" -description = "McCabe checker, plugin for flake8" -optional = false -python-versions = ">=3.6" -files = [ - {file = "mccabe-0.7.0-py2.py3-none-any.whl", hash = "sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e"}, - {file = "mccabe-0.7.0.tar.gz", hash = "sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325"}, -] - -[[package]] -name = "mypy" -version = "1.11.2" -description = "Optional static typing for Python" -optional = false -python-versions = ">=3.8" -files = [ - {file = "mypy-1.11.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d42a6dd818ffce7be66cce644f1dff482f1d97c53ca70908dff0b9ddc120b77a"}, - {file = "mypy-1.11.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:801780c56d1cdb896eacd5619a83e427ce436d86a3bdf9112527f24a66618fef"}, - {file = "mypy-1.11.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:41ea707d036a5307ac674ea172875f40c9d55c5394f888b168033177fce47383"}, - {file = "mypy-1.11.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6e658bd2d20565ea86da7d91331b0eed6d2eee22dc031579e6297f3e12c758c8"}, - {file = "mypy-1.11.2-cp310-cp310-win_amd64.whl", hash = "sha256:478db5f5036817fe45adb7332d927daa62417159d49783041338921dcf646fc7"}, - {file = "mypy-1.11.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:75746e06d5fa1e91bfd5432448d00d34593b52e7e91a187d981d08d1f33d4385"}, - {file = "mypy-1.11.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a976775ab2256aadc6add633d44f100a2517d2388906ec4f13231fafbb0eccca"}, - {file = "mypy-1.11.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:cd953f221ac1379050a8a646585a29574488974f79d8082cedef62744f0a0104"}, - {file = "mypy-1.11.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:57555a7715c0a34421013144a33d280e73c08df70f3a18a552938587ce9274f4"}, - {file = "mypy-1.11.2-cp311-cp311-win_amd64.whl", hash = "sha256:36383a4fcbad95f2657642a07ba22ff797de26277158f1cc7bd234821468b1b6"}, - {file = "mypy-1.11.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:e8960dbbbf36906c5c0b7f4fbf2f0c7ffb20f4898e6a879fcf56a41a08b0d318"}, - {file = "mypy-1.11.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:06d26c277962f3fb50e13044674aa10553981ae514288cb7d0a738f495550b36"}, - {file = "mypy-1.11.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6e7184632d89d677973a14d00ae4d03214c8bc301ceefcdaf5c474866814c987"}, - {file = "mypy-1.11.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:3a66169b92452f72117e2da3a576087025449018afc2d8e9bfe5ffab865709ca"}, - {file = "mypy-1.11.2-cp312-cp312-win_amd64.whl", hash = "sha256:969ea3ef09617aff826885a22ece0ddef69d95852cdad2f60c8bb06bf1f71f70"}, - {file = "mypy-1.11.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:37c7fa6121c1cdfcaac97ce3d3b5588e847aa79b580c1e922bb5d5d2902df19b"}, - {file = "mypy-1.11.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4a8a53bc3ffbd161b5b2a4fff2f0f1e23a33b0168f1c0778ec70e1a3d66deb86"}, - {file = "mypy-1.11.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2ff93107f01968ed834f4256bc1fc4475e2fecf6c661260066a985b52741ddce"}, - {file = "mypy-1.11.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:edb91dded4df17eae4537668b23f0ff6baf3707683734b6a818d5b9d0c0c31a1"}, - {file = "mypy-1.11.2-cp38-cp38-win_amd64.whl", hash = "sha256:ee23de8530d99b6db0573c4ef4bd8f39a2a6f9b60655bf7a1357e585a3486f2b"}, - {file = "mypy-1.11.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:801ca29f43d5acce85f8e999b1e431fb479cb02d0e11deb7d2abb56bdaf24fd6"}, - {file = "mypy-1.11.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:af8d155170fcf87a2afb55b35dc1a0ac21df4431e7d96717621962e4b9192e70"}, - {file = "mypy-1.11.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f7821776e5c4286b6a13138cc935e2e9b6fde05e081bdebf5cdb2bb97c9df81d"}, - {file = "mypy-1.11.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:539c570477a96a4e6fb718b8d5c3e0c0eba1f485df13f86d2970c91f0673148d"}, - {file = "mypy-1.11.2-cp39-cp39-win_amd64.whl", hash = "sha256:3f14cd3d386ac4d05c5a39a51b84387403dadbd936e17cb35882134d4f8f0d24"}, - {file = "mypy-1.11.2-py3-none-any.whl", hash = "sha256:b499bc07dbdcd3de92b0a8b29fdf592c111276f6a12fe29c30f6c417dd546d12"}, - {file = "mypy-1.11.2.tar.gz", hash = "sha256:7f9993ad3e0ffdc95c2a14b66dee63729f021968bff8ad911867579c65d13a79"}, -] - -[package.dependencies] -mypy-extensions = ">=1.0.0" -tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} -typing-extensions = ">=4.6.0" - -[package.extras] -dmypy = ["psutil (>=4.0)"] -install-types = ["pip"] -mypyc = ["setuptools (>=50)"] -reports = ["lxml"] - -[[package]] -name = "mypy-extensions" -version = "1.0.0" -description = "Type system extensions for programs checked with the mypy type checker." -optional = false -python-versions = ">=3.5" -files = [ - {file = "mypy_extensions-1.0.0-py3-none-any.whl", hash = "sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d"}, - {file = "mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"}, -] - -[[package]] -name = "numpy" -version = "1.24.4" -description = "Fundamental package for array computing in Python" -optional = false -python-versions = ">=3.8" -files = [ - {file = "numpy-1.24.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c0bfb52d2169d58c1cdb8cc1f16989101639b34c7d3ce60ed70b19c63eba0b64"}, - {file = "numpy-1.24.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ed094d4f0c177b1b8e7aa9cba7d6ceed51c0e569a5318ac0ca9a090680a6a1b1"}, - {file = "numpy-1.24.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79fc682a374c4a8ed08b331bef9c5f582585d1048fa6d80bc6c35bc384eee9b4"}, - {file = "numpy-1.24.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ffe43c74893dbf38c2b0a1f5428760a1a9c98285553c89e12d70a96a7f3a4d6"}, - {file = "numpy-1.24.4-cp310-cp310-win32.whl", hash = "sha256:4c21decb6ea94057331e111a5bed9a79d335658c27ce2adb580fb4d54f2ad9bc"}, - {file = "numpy-1.24.4-cp310-cp310-win_amd64.whl", hash = "sha256:b4bea75e47d9586d31e892a7401f76e909712a0fd510f58f5337bea9572c571e"}, - {file = "numpy-1.24.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f136bab9c2cfd8da131132c2cf6cc27331dd6fae65f95f69dcd4ae3c3639c810"}, - {file = "numpy-1.24.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e2926dac25b313635e4d6cf4dc4e51c8c0ebfed60b801c799ffc4c32bf3d1254"}, - {file = "numpy-1.24.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:222e40d0e2548690405b0b3c7b21d1169117391c2e82c378467ef9ab4c8f0da7"}, - {file = "numpy-1.24.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7215847ce88a85ce39baf9e89070cb860c98fdddacbaa6c0da3ffb31b3350bd5"}, - {file = "numpy-1.24.4-cp311-cp311-win32.whl", hash = "sha256:4979217d7de511a8d57f4b4b5b2b965f707768440c17cb70fbf254c4b225238d"}, - {file = "numpy-1.24.4-cp311-cp311-win_amd64.whl", hash = "sha256:b7b1fc9864d7d39e28f41d089bfd6353cb5f27ecd9905348c24187a768c79694"}, - {file = "numpy-1.24.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1452241c290f3e2a312c137a9999cdbf63f78864d63c79039bda65ee86943f61"}, - {file = "numpy-1.24.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:04640dab83f7c6c85abf9cd729c5b65f1ebd0ccf9de90b270cd61935eef0197f"}, - {file = "numpy-1.24.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5425b114831d1e77e4b5d812b69d11d962e104095a5b9c3b641a218abcc050e"}, - {file = "numpy-1.24.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd80e219fd4c71fc3699fc1dadac5dcf4fd882bfc6f7ec53d30fa197b8ee22dc"}, - {file = "numpy-1.24.4-cp38-cp38-win32.whl", hash = "sha256:4602244f345453db537be5314d3983dbf5834a9701b7723ec28923e2889e0bb2"}, - {file = "numpy-1.24.4-cp38-cp38-win_amd64.whl", hash = "sha256:692f2e0f55794943c5bfff12b3f56f99af76f902fc47487bdfe97856de51a706"}, - {file = "numpy-1.24.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2541312fbf09977f3b3ad449c4e5f4bb55d0dbf79226d7724211acc905049400"}, - {file = "numpy-1.24.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9667575fb6d13c95f1b36aca12c5ee3356bf001b714fc354eb5465ce1609e62f"}, - {file = "numpy-1.24.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f3a86ed21e4f87050382c7bc96571755193c4c1392490744ac73d660e8f564a9"}, - {file = "numpy-1.24.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d11efb4dbecbdf22508d55e48d9c8384db795e1b7b51ea735289ff96613ff74d"}, - {file = "numpy-1.24.4-cp39-cp39-win32.whl", hash = "sha256:6620c0acd41dbcb368610bb2f4d83145674040025e5536954782467100aa8835"}, - {file = "numpy-1.24.4-cp39-cp39-win_amd64.whl", hash = "sha256:befe2bf740fd8373cf56149a5c23a0f601e82869598d41f8e188a0e9869926f8"}, - {file = "numpy-1.24.4-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:31f13e25b4e304632a4619d0e0777662c2ffea99fcae2029556b17d8ff958aef"}, - {file = "numpy-1.24.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95f7ac6540e95bc440ad77f56e520da5bf877f87dca58bd095288dce8940532a"}, - {file = "numpy-1.24.4-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:e98f220aa76ca2a977fe435f5b04d7b3470c0a2e6312907b37ba6068f26787f2"}, - {file = "numpy-1.24.4.tar.gz", hash = "sha256:80f5e3a4e498641401868df4208b74581206afbee7cf7b8329daae82676d9463"}, -] - -[[package]] -name = "numpy" -version = "2.1.0" -description = "Fundamental package for array computing in Python" -optional = false -python-versions = ">=3.10" -files = [ - {file = "numpy-2.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6326ab99b52fafdcdeccf602d6286191a79fe2fda0ae90573c5814cd2b0bc1b8"}, - {file = "numpy-2.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0937e54c09f7a9a68da6889362ddd2ff584c02d015ec92672c099b61555f8911"}, - {file = "numpy-2.1.0-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:30014b234f07b5fec20f4146f69e13cfb1e33ee9a18a1879a0142fbb00d47673"}, - {file = "numpy-2.1.0-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:899da829b362ade41e1e7eccad2cf274035e1cb36ba73034946fccd4afd8606b"}, - {file = "numpy-2.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:08801848a40aea24ce16c2ecde3b756f9ad756586fb2d13210939eb69b023f5b"}, - {file = "numpy-2.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:398049e237d1aae53d82a416dade04defed1a47f87d18d5bd615b6e7d7e41d1f"}, - {file = "numpy-2.1.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:0abb3916a35d9090088a748636b2c06dc9a6542f99cd476979fb156a18192b84"}, - {file = "numpy-2.1.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:10e2350aea18d04832319aac0f887d5fcec1b36abd485d14f173e3e900b83e33"}, - {file = "numpy-2.1.0-cp310-cp310-win32.whl", hash = "sha256:f6b26e6c3b98adb648243670fddc8cab6ae17473f9dc58c51574af3e64d61211"}, - {file = "numpy-2.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:f505264735ee074250a9c78247ee8618292091d9d1fcc023290e9ac67e8f1afa"}, - {file = "numpy-2.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:76368c788ccb4f4782cf9c842b316140142b4cbf22ff8db82724e82fe1205dce"}, - {file = "numpy-2.1.0-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:f8e93a01a35be08d31ae33021e5268f157a2d60ebd643cfc15de6ab8e4722eb1"}, - {file = "numpy-2.1.0-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:9523f8b46485db6939bd069b28b642fec86c30909cea90ef550373787f79530e"}, - {file = "numpy-2.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:54139e0eb219f52f60656d163cbe67c31ede51d13236c950145473504fa208cb"}, - {file = "numpy-2.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5ebbf9fbdabed208d4ecd2e1dfd2c0741af2f876e7ae522c2537d404ca895c3"}, - {file = "numpy-2.1.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:378cb4f24c7d93066ee4103204f73ed046eb88f9ad5bb2275bb9fa0f6a02bd36"}, - {file = "numpy-2.1.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d8f699a709120b220dfe173f79c73cb2a2cab2c0b88dd59d7b49407d032b8ebd"}, - {file = "numpy-2.1.0-cp311-cp311-win32.whl", hash = "sha256:ffbd6faeb190aaf2b5e9024bac9622d2ee549b7ec89ef3a9373fa35313d44e0e"}, - {file = "numpy-2.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:0af3a5987f59d9c529c022c8c2a64805b339b7ef506509fba7d0556649b9714b"}, - {file = "numpy-2.1.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:fe76d75b345dc045acdbc006adcb197cc680754afd6c259de60d358d60c93736"}, - {file = "numpy-2.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f358ea9e47eb3c2d6eba121ab512dfff38a88db719c38d1e67349af210bc7529"}, - {file = "numpy-2.1.0-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:dd94ce596bda40a9618324547cfaaf6650b1a24f5390350142499aa4e34e53d1"}, - {file = "numpy-2.1.0-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:b47c551c6724960479cefd7353656498b86e7232429e3a41ab83be4da1b109e8"}, - {file = "numpy-2.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a0756a179afa766ad7cb6f036de622e8a8f16ffdd55aa31f296c870b5679d745"}, - {file = "numpy-2.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:24003ba8ff22ea29a8c306e61d316ac74111cebf942afbf692df65509a05f111"}, - {file = "numpy-2.1.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:b34fa5e3b5d6dc7e0a4243fa0f81367027cb6f4a7215a17852979634b5544ee0"}, - {file = "numpy-2.1.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:c4f982715e65036c34897eb598d64aef15150c447be2cfc6643ec7a11af06574"}, - {file = "numpy-2.1.0-cp312-cp312-win32.whl", hash = "sha256:c4cd94dfefbefec3f8b544f61286584292d740e6e9d4677769bc76b8f41deb02"}, - {file = "numpy-2.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:a0cdef204199278f5c461a0bed6ed2e052998276e6d8ab2963d5b5c39a0500bc"}, - {file = "numpy-2.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8ab81ccd753859ab89e67199b9da62c543850f819993761c1e94a75a814ed667"}, - {file = "numpy-2.1.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:442596f01913656d579309edcd179a2a2f9977d9a14ff41d042475280fc7f34e"}, - {file = "numpy-2.1.0-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:848c6b5cad9898e4b9ef251b6f934fa34630371f2e916261070a4eb9092ffd33"}, - {file = "numpy-2.1.0-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:54c6a63e9d81efe64bfb7bcb0ec64332a87d0b87575f6009c8ba67ea6374770b"}, - {file = "numpy-2.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:652e92fc409e278abdd61e9505649e3938f6d04ce7ef1953f2ec598a50e7c195"}, - {file = "numpy-2.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0ab32eb9170bf8ffcbb14f11613f4a0b108d3ffee0832457c5d4808233ba8977"}, - {file = "numpy-2.1.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:8fb49a0ba4d8f41198ae2d52118b050fd34dace4b8f3fb0ee34e23eb4ae775b1"}, - {file = "numpy-2.1.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:44e44973262dc3ae79e9063a1284a73e09d01b894b534a769732ccd46c28cc62"}, - {file = "numpy-2.1.0-cp313-cp313-win32.whl", hash = "sha256:ab83adc099ec62e044b1fbb3a05499fa1e99f6d53a1dde102b2d85eff66ed324"}, - {file = "numpy-2.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:de844aaa4815b78f6023832590d77da0e3b6805c644c33ce94a1e449f16d6ab5"}, - {file = "numpy-2.1.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:343e3e152bf5a087511cd325e3b7ecfd5b92d369e80e74c12cd87826e263ec06"}, - {file = "numpy-2.1.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:f07fa2f15dabe91259828ce7d71b5ca9e2eb7c8c26baa822c825ce43552f4883"}, - {file = "numpy-2.1.0-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:5474dad8c86ee9ba9bb776f4b99ef2d41b3b8f4e0d199d4f7304728ed34d0300"}, - {file = "numpy-2.1.0-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:1f817c71683fd1bb5cff1529a1d085a57f02ccd2ebc5cd2c566f9a01118e3b7d"}, - {file = "numpy-2.1.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3a3336fbfa0d38d3deacd3fe7f3d07e13597f29c13abf4d15c3b6dc2291cbbdd"}, - {file = "numpy-2.1.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7a894c51fd8c4e834f00ac742abad73fc485df1062f1b875661a3c1e1fb1c2f6"}, - {file = "numpy-2.1.0-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:9156ca1f79fc4acc226696e95bfcc2b486f165a6a59ebe22b2c1f82ab190384a"}, - {file = "numpy-2.1.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:624884b572dff8ca8f60fab591413f077471de64e376b17d291b19f56504b2bb"}, - {file = "numpy-2.1.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:15ef8b2177eeb7e37dd5ef4016f30b7659c57c2c0b57a779f1d537ff33a72c7b"}, - {file = "numpy-2.1.0-pp310-pypy310_pp73-macosx_14_0_x86_64.whl", hash = "sha256:e5f0642cdf4636198a4990de7a71b693d824c56a757862230454629cf62e323d"}, - {file = "numpy-2.1.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f15976718c004466406342789f31b6673776360f3b1e3c575f25302d7e789575"}, - {file = "numpy-2.1.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:6c1de77ded79fef664d5098a66810d4d27ca0224e9051906e634b3f7ead134c2"}, - {file = "numpy-2.1.0.tar.gz", hash = "sha256:7dc90da0081f7e1da49ec4e398ede6a8e9cc4f5ebe5f9e06b443ed889ee9aaa2"}, -] - -[[package]] -name = "oauthlib" -version = "3.2.2" -description = "A generic, spec-compliant, thorough implementation of the OAuth request-signing logic" -optional = false -python-versions = ">=3.6" -files = [ - {file = "oauthlib-3.2.2-py3-none-any.whl", hash = "sha256:8139f29aac13e25d502680e9e19963e83f16838d48a0d71c287fe40e7067fbca"}, - {file = "oauthlib-3.2.2.tar.gz", hash = "sha256:9859c40929662bec5d64f34d01c99e093149682a3f38915dc0655d5a633dd918"}, -] - -[package.extras] -rsa = ["cryptography (>=3.0.0)"] -signals = ["blinker (>=1.4.0)"] -signedtoken = ["cryptography (>=3.0.0)", "pyjwt (>=2.0.0,<3)"] - -[[package]] -name = "openpyxl" -version = "3.1.5" -description = "A Python library to read/write Excel 2010 xlsx/xlsm files" -optional = false -python-versions = ">=3.8" -files = [ - {file = "openpyxl-3.1.5-py2.py3-none-any.whl", hash = "sha256:5282c12b107bffeef825f4617dc029afaf41d0ea60823bbb665ef3079dc79de2"}, - {file = "openpyxl-3.1.5.tar.gz", hash = "sha256:cf0e3cf56142039133628b5acffe8ef0c12bc902d2aadd3e0fe5878dc08d1050"}, -] - -[package.dependencies] -et-xmlfile = "*" - -[[package]] -name = "packaging" -version = "24.1" -description = "Core utilities for Python packages" -optional = false -python-versions = ">=3.8" -files = [ - {file = "packaging-24.1-py3-none-any.whl", hash = "sha256:5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124"}, - {file = "packaging-24.1.tar.gz", hash = "sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002"}, -] - -[[package]] -name = "pandas" -version = "2.0.3" -description = "Powerful data structures for data analysis, time series, and statistics" -optional = false -python-versions = ">=3.8" -files = [ - {file = "pandas-2.0.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e4c7c9f27a4185304c7caf96dc7d91bc60bc162221152de697c98eb0b2648dd8"}, - {file = "pandas-2.0.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f167beed68918d62bffb6ec64f2e1d8a7d297a038f86d4aed056b9493fca407f"}, - {file = "pandas-2.0.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ce0c6f76a0f1ba361551f3e6dceaff06bde7514a374aa43e33b588ec10420183"}, - {file = "pandas-2.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba619e410a21d8c387a1ea6e8a0e49bb42216474436245718d7f2e88a2f8d7c0"}, - {file = "pandas-2.0.3-cp310-cp310-win32.whl", hash = "sha256:3ef285093b4fe5058eefd756100a367f27029913760773c8bf1d2d8bebe5d210"}, - {file = "pandas-2.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:9ee1a69328d5c36c98d8e74db06f4ad518a1840e8ccb94a4ba86920986bb617e"}, - {file = "pandas-2.0.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b084b91d8d66ab19f5bb3256cbd5ea661848338301940e17f4492b2ce0801fe8"}, - {file = "pandas-2.0.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:37673e3bdf1551b95bf5d4ce372b37770f9529743d2498032439371fc7b7eb26"}, - {file = "pandas-2.0.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b9cb1e14fdb546396b7e1b923ffaeeac24e4cedd14266c3497216dd4448e4f2d"}, - {file = "pandas-2.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d9cd88488cceb7635aebb84809d087468eb33551097d600c6dad13602029c2df"}, - {file = "pandas-2.0.3-cp311-cp311-win32.whl", hash = "sha256:694888a81198786f0e164ee3a581df7d505024fbb1f15202fc7db88a71d84ebd"}, - {file = "pandas-2.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:6a21ab5c89dcbd57f78d0ae16630b090eec626360085a4148693def5452d8a6b"}, - {file = "pandas-2.0.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:9e4da0d45e7f34c069fe4d522359df7d23badf83abc1d1cef398895822d11061"}, - {file = "pandas-2.0.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:32fca2ee1b0d93dd71d979726b12b61faa06aeb93cf77468776287f41ff8fdc5"}, - {file = "pandas-2.0.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:258d3624b3ae734490e4d63c430256e716f488c4fcb7c8e9bde2d3aa46c29089"}, - {file = "pandas-2.0.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9eae3dc34fa1aa7772dd3fc60270d13ced7346fcbcfee017d3132ec625e23bb0"}, - {file = "pandas-2.0.3-cp38-cp38-win32.whl", hash = "sha256:f3421a7afb1a43f7e38e82e844e2bca9a6d793d66c1a7f9f0ff39a795bbc5e02"}, - {file = "pandas-2.0.3-cp38-cp38-win_amd64.whl", hash = "sha256:69d7f3884c95da3a31ef82b7618af5710dba95bb885ffab339aad925c3e8ce78"}, - {file = "pandas-2.0.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5247fb1ba347c1261cbbf0fcfba4a3121fbb4029d95d9ef4dc45406620b25c8b"}, - {file = "pandas-2.0.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:81af086f4543c9d8bb128328b5d32e9986e0c84d3ee673a2ac6fb57fd14f755e"}, - {file = "pandas-2.0.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1994c789bf12a7c5098277fb43836ce090f1073858c10f9220998ac74f37c69b"}, - {file = "pandas-2.0.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5ec591c48e29226bcbb316e0c1e9423622bc7a4eaf1ef7c3c9fa1a3981f89641"}, - {file = "pandas-2.0.3-cp39-cp39-win32.whl", hash = "sha256:04dbdbaf2e4d46ca8da896e1805bc04eb85caa9a82e259e8eed00254d5e0c682"}, - {file = "pandas-2.0.3-cp39-cp39-win_amd64.whl", hash = "sha256:1168574b036cd8b93abc746171c9b4f1b83467438a5e45909fed645cf8692dbc"}, - {file = "pandas-2.0.3.tar.gz", hash = "sha256:c02f372a88e0d17f36d3093a644c73cfc1788e876a7c4bcb4020a77512e2043c"}, -] - -[package.dependencies] -numpy = [ - {version = ">=1.20.3", markers = "python_version < \"3.10\""}, - {version = ">=1.21.0", markers = "python_version >= \"3.10\" and python_version < \"3.11\""}, - {version = ">=1.23.2", markers = "python_version >= \"3.11\""}, -] -python-dateutil = ">=2.8.2" -pytz = ">=2020.1" -tzdata = ">=2022.1" - -[package.extras] -all = ["PyQt5 (>=5.15.1)", "SQLAlchemy (>=1.4.16)", "beautifulsoup4 (>=4.9.3)", "bottleneck (>=1.3.2)", "brotlipy (>=0.7.0)", "fastparquet (>=0.6.3)", "fsspec (>=2021.07.0)", "gcsfs (>=2021.07.0)", "html5lib (>=1.1)", "hypothesis (>=6.34.2)", "jinja2 (>=3.0.0)", "lxml (>=4.6.3)", "matplotlib (>=3.6.1)", "numba (>=0.53.1)", "numexpr (>=2.7.3)", "odfpy (>=1.4.1)", "openpyxl (>=3.0.7)", "pandas-gbq (>=0.15.0)", "psycopg2 (>=2.8.6)", "pyarrow (>=7.0.0)", "pymysql (>=1.0.2)", "pyreadstat (>=1.1.2)", "pytest (>=7.3.2)", "pytest-asyncio (>=0.17.0)", "pytest-xdist (>=2.2.0)", "python-snappy (>=0.6.0)", "pyxlsb (>=1.0.8)", "qtpy (>=2.2.0)", "s3fs (>=2021.08.0)", "scipy (>=1.7.1)", "tables (>=3.6.1)", "tabulate (>=0.8.9)", "xarray (>=0.21.0)", "xlrd (>=2.0.1)", "xlsxwriter (>=1.4.3)", "zstandard (>=0.15.2)"] -aws = ["s3fs (>=2021.08.0)"] -clipboard = ["PyQt5 (>=5.15.1)", "qtpy (>=2.2.0)"] -compression = ["brotlipy (>=0.7.0)", "python-snappy (>=0.6.0)", "zstandard (>=0.15.2)"] -computation = ["scipy (>=1.7.1)", "xarray (>=0.21.0)"] -excel = ["odfpy (>=1.4.1)", "openpyxl (>=3.0.7)", "pyxlsb (>=1.0.8)", "xlrd (>=2.0.1)", "xlsxwriter (>=1.4.3)"] -feather = ["pyarrow (>=7.0.0)"] -fss = ["fsspec (>=2021.07.0)"] -gcp = ["gcsfs (>=2021.07.0)", "pandas-gbq (>=0.15.0)"] -hdf5 = ["tables (>=3.6.1)"] -html = ["beautifulsoup4 (>=4.9.3)", "html5lib (>=1.1)", "lxml (>=4.6.3)"] -mysql = ["SQLAlchemy (>=1.4.16)", "pymysql (>=1.0.2)"] -output-formatting = ["jinja2 (>=3.0.0)", "tabulate (>=0.8.9)"] -parquet = ["pyarrow (>=7.0.0)"] -performance = ["bottleneck (>=1.3.2)", "numba (>=0.53.1)", "numexpr (>=2.7.1)"] -plot = ["matplotlib (>=3.6.1)"] -postgresql = ["SQLAlchemy (>=1.4.16)", "psycopg2 (>=2.8.6)"] -spss = ["pyreadstat (>=1.1.2)"] -sql-other = ["SQLAlchemy (>=1.4.16)"] -test = ["hypothesis (>=6.34.2)", "pytest (>=7.3.2)", "pytest-asyncio (>=0.17.0)", "pytest-xdist (>=2.2.0)"] -xml = ["lxml (>=4.6.3)"] - -[[package]] -name = "pathspec" -version = "0.12.1" -description = "Utility library for gitignore style pattern matching of file paths." -optional = false -python-versions = ">=3.8" -files = [ - {file = "pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08"}, - {file = "pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712"}, -] - -[[package]] -name = "platformdirs" -version = "4.2.2" -description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." -optional = false -python-versions = ">=3.8" -files = [ - {file = "platformdirs-4.2.2-py3-none-any.whl", hash = "sha256:2d7a1657e36a80ea911db832a8a6ece5ee53d8de21edd5cc5879af6530b1bfee"}, - {file = "platformdirs-4.2.2.tar.gz", hash = "sha256:38b7b51f512eed9e84a22788b4bce1de17c0adb134d6becb09836e37d8654cd3"}, -] - -[package.extras] -docs = ["furo (>=2023.9.10)", "proselint (>=0.13)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.25.2)"] -test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4.3)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)"] -type = ["mypy (>=1.8)"] - -[[package]] -name = "pluggy" -version = "1.5.0" -description = "plugin and hook calling mechanisms for python" -optional = false -python-versions = ">=3.8" -files = [ - {file = "pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669"}, - {file = "pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1"}, -] - -[package.extras] -dev = ["pre-commit", "tox"] -testing = ["pytest", "pytest-benchmark"] - -[[package]] -name = "pylint" -version = "3.2.6" -description = "python code static checker" -optional = false -python-versions = ">=3.8.0" -files = [ - {file = "pylint-3.2.6-py3-none-any.whl", hash = "sha256:03c8e3baa1d9fb995b12c1dbe00aa6c4bcef210c2a2634374aedeb22fb4a8f8f"}, - {file = "pylint-3.2.6.tar.gz", hash = "sha256:a5d01678349454806cff6d886fb072294f56a58c4761278c97fb557d708e1eb3"}, -] - -[package.dependencies] -astroid = ">=3.2.4,<=3.3.0-dev0" -colorama = {version = ">=0.4.5", markers = "sys_platform == \"win32\""} -dill = [ - {version = ">=0.2", markers = "python_version < \"3.11\""}, - {version = ">=0.3.7", markers = "python_version >= \"3.12\""}, - {version = ">=0.3.6", markers = "python_version >= \"3.11\" and python_version < \"3.12\""}, -] -isort = ">=4.2.5,<5.13.0 || >5.13.0,<6" -mccabe = ">=0.6,<0.8" -platformdirs = ">=2.2.0" -tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} -tomlkit = ">=0.10.1" -typing-extensions = {version = ">=3.10.0", markers = "python_version < \"3.10\""} - -[package.extras] -spelling = ["pyenchant (>=3.2,<4.0)"] -testutils = ["gitpython (>3)"] - -[[package]] -name = "pytest" -version = "7.4.4" -description = "pytest: simple powerful testing with Python" -optional = false -python-versions = ">=3.7" -files = [ - {file = "pytest-7.4.4-py3-none-any.whl", hash = "sha256:b090cdf5ed60bf4c45261be03239c2c1c22df034fbffe691abe93cd80cea01d8"}, - {file = "pytest-7.4.4.tar.gz", hash = "sha256:2cf0005922c6ace4a3e2ec8b4080eb0d9753fdc93107415332f50ce9e7994280"}, -] - -[package.dependencies] -colorama = {version = "*", markers = "sys_platform == \"win32\""} -exceptiongroup = {version = ">=1.0.0rc8", markers = "python_version < \"3.11\""} -iniconfig = "*" -packaging = "*" -pluggy = ">=0.12,<2.0" -tomli = {version = ">=1.0.0", markers = "python_version < \"3.11\""} - -[package.extras] -testing = ["argcomplete", "attrs (>=19.2.0)", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "setuptools", "xmlschema"] - -[[package]] -name = "pytest-dotenv" -version = "0.5.2" -description = "A py.test plugin that parses environment files before running tests" -optional = false -python-versions = "*" -files = [ - {file = "pytest-dotenv-0.5.2.tar.gz", hash = "sha256:2dc6c3ac6d8764c71c6d2804e902d0ff810fa19692e95fe138aefc9b1aa73732"}, - {file = "pytest_dotenv-0.5.2-py3-none-any.whl", hash = "sha256:40a2cece120a213898afaa5407673f6bd924b1fa7eafce6bda0e8abffe2f710f"}, -] - -[package.dependencies] -pytest = ">=5.0.0" -python-dotenv = ">=0.9.1" - -[[package]] -name = "python-dateutil" -version = "2.9.0.post0" -description = "Extensions to the standard Python datetime module" -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" -files = [ - {file = "python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3"}, - {file = "python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427"}, -] - -[package.dependencies] -six = ">=1.5" - -[[package]] -name = "python-dotenv" -version = "1.0.1" -description = "Read key-value pairs from a .env file and set them as environment variables" -optional = false -python-versions = ">=3.8" -files = [ - {file = "python-dotenv-1.0.1.tar.gz", hash = "sha256:e324ee90a023d808f1959c46bcbc04446a10ced277783dc6ee09987c37ec10ca"}, - {file = "python_dotenv-1.0.1-py3-none-any.whl", hash = "sha256:f7b63ef50f1b690dddf550d03497b66d609393b40b564ed0d674909a68ebf16a"}, -] - -[package.extras] -cli = ["click (>=5.0)"] - -[[package]] -name = "pytz" -version = "2024.1" -description = "World timezone definitions, modern and historical" -optional = false -python-versions = "*" -files = [ - {file = "pytz-2024.1-py2.py3-none-any.whl", hash = "sha256:328171f4e3623139da4983451950b28e95ac706e13f3f2630a879749e7a8b319"}, - {file = "pytz-2024.1.tar.gz", hash = "sha256:2a29735ea9c18baf14b448846bde5a48030ed267578472d8955cd0e7443a9812"}, -] - -[[package]] -name = "requests" -version = "2.32.3" -description = "Python HTTP for Humans." -optional = false -python-versions = ">=3.8" -files = [ - {file = "requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6"}, - {file = "requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760"}, -] - -[package.dependencies] -certifi = ">=2017.4.17" -charset-normalizer = ">=2,<4" -idna = ">=2.5,<4" -urllib3 = ">=1.21.1,<3" - -[package.extras] -socks = ["PySocks (>=1.5.6,!=1.5.7)"] -use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] - -[[package]] -name = "six" -version = "1.16.0" -description = "Python 2 and 3 compatibility utilities" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" -files = [ - {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, - {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, -] - -[[package]] -name = "sqlalchemy" -version = "2.0.32" -description = "Database Abstraction Library" -optional = true -python-versions = ">=3.7" -files = [ - {file = "SQLAlchemy-2.0.32-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0c9045ecc2e4db59bfc97b20516dfdf8e41d910ac6fb667ebd3a79ea54084619"}, - {file = "SQLAlchemy-2.0.32-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1467940318e4a860afd546ef61fefb98a14d935cd6817ed07a228c7f7c62f389"}, - {file = "SQLAlchemy-2.0.32-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5954463675cb15db8d4b521f3566a017c8789222b8316b1e6934c811018ee08b"}, - {file = "SQLAlchemy-2.0.32-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:167e7497035c303ae50651b351c28dc22a40bb98fbdb8468cdc971821b1ae533"}, - {file = "SQLAlchemy-2.0.32-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:b27dfb676ac02529fb6e343b3a482303f16e6bc3a4d868b73935b8792edb52d0"}, - {file = "SQLAlchemy-2.0.32-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:bf2360a5e0f7bd75fa80431bf8ebcfb920c9f885e7956c7efde89031695cafb8"}, - {file = "SQLAlchemy-2.0.32-cp310-cp310-win32.whl", hash = "sha256:306fe44e754a91cd9d600a6b070c1f2fadbb4a1a257b8781ccf33c7067fd3e4d"}, - {file = "SQLAlchemy-2.0.32-cp310-cp310-win_amd64.whl", hash = "sha256:99db65e6f3ab42e06c318f15c98f59a436f1c78179e6a6f40f529c8cc7100b22"}, - {file = "SQLAlchemy-2.0.32-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:21b053be28a8a414f2ddd401f1be8361e41032d2ef5884b2f31d31cb723e559f"}, - {file = "SQLAlchemy-2.0.32-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b178e875a7a25b5938b53b006598ee7645172fccafe1c291a706e93f48499ff5"}, - {file = "SQLAlchemy-2.0.32-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:723a40ee2cc7ea653645bd4cf024326dea2076673fc9d3d33f20f6c81db83e1d"}, - {file = "SQLAlchemy-2.0.32-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:295ff8689544f7ee7e819529633d058bd458c1fd7f7e3eebd0f9268ebc56c2a0"}, - {file = "SQLAlchemy-2.0.32-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:49496b68cd190a147118af585173ee624114dfb2e0297558c460ad7495f9dfe2"}, - {file = "SQLAlchemy-2.0.32-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:acd9b73c5c15f0ec5ce18128b1fe9157ddd0044abc373e6ecd5ba376a7e5d961"}, - {file = "SQLAlchemy-2.0.32-cp311-cp311-win32.whl", hash = "sha256:9365a3da32dabd3e69e06b972b1ffb0c89668994c7e8e75ce21d3e5e69ddef28"}, - {file = "SQLAlchemy-2.0.32-cp311-cp311-win_amd64.whl", hash = "sha256:8bd63d051f4f313b102a2af1cbc8b80f061bf78f3d5bd0843ff70b5859e27924"}, - {file = "SQLAlchemy-2.0.32-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:6bab3db192a0c35e3c9d1560eb8332463e29e5507dbd822e29a0a3c48c0a8d92"}, - {file = "SQLAlchemy-2.0.32-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:19d98f4f58b13900d8dec4ed09dd09ef292208ee44cc9c2fe01c1f0a2fe440e9"}, - {file = "SQLAlchemy-2.0.32-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3cd33c61513cb1b7371fd40cf221256456d26a56284e7d19d1f0b9f1eb7dd7e8"}, - {file = "SQLAlchemy-2.0.32-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7d6ba0497c1d066dd004e0f02a92426ca2df20fac08728d03f67f6960271feec"}, - {file = "SQLAlchemy-2.0.32-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2b6be53e4fde0065524f1a0a7929b10e9280987b320716c1509478b712a7688c"}, - {file = "SQLAlchemy-2.0.32-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:916a798f62f410c0b80b63683c8061f5ebe237b0f4ad778739304253353bc1cb"}, - {file = "SQLAlchemy-2.0.32-cp312-cp312-win32.whl", hash = "sha256:31983018b74908ebc6c996a16ad3690301a23befb643093fcfe85efd292e384d"}, - {file = "SQLAlchemy-2.0.32-cp312-cp312-win_amd64.whl", hash = "sha256:4363ed245a6231f2e2957cccdda3c776265a75851f4753c60f3004b90e69bfeb"}, - {file = "SQLAlchemy-2.0.32-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b8afd5b26570bf41c35c0121801479958b4446751a3971fb9a480c1afd85558e"}, - {file = "SQLAlchemy-2.0.32-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c750987fc876813f27b60d619b987b057eb4896b81117f73bb8d9918c14f1cad"}, - {file = "SQLAlchemy-2.0.32-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ada0102afff4890f651ed91120c1120065663506b760da4e7823913ebd3258be"}, - {file = "SQLAlchemy-2.0.32-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:78c03d0f8a5ab4f3034c0e8482cfcc415a3ec6193491cfa1c643ed707d476f16"}, - {file = "SQLAlchemy-2.0.32-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:3bd1cae7519283ff525e64645ebd7a3e0283f3c038f461ecc1c7b040a0c932a1"}, - {file = "SQLAlchemy-2.0.32-cp37-cp37m-win32.whl", hash = "sha256:01438ebcdc566d58c93af0171c74ec28efe6a29184b773e378a385e6215389da"}, - {file = "SQLAlchemy-2.0.32-cp37-cp37m-win_amd64.whl", hash = "sha256:4979dc80fbbc9d2ef569e71e0896990bc94df2b9fdbd878290bd129b65ab579c"}, - {file = "SQLAlchemy-2.0.32-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6c742be912f57586ac43af38b3848f7688863a403dfb220193a882ea60e1ec3a"}, - {file = "SQLAlchemy-2.0.32-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:62e23d0ac103bcf1c5555b6c88c114089587bc64d048fef5bbdb58dfd26f96da"}, - {file = "SQLAlchemy-2.0.32-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:251f0d1108aab8ea7b9aadbd07fb47fb8e3a5838dde34aa95a3349876b5a1f1d"}, - {file = "SQLAlchemy-2.0.32-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0ef18a84e5116340e38eca3e7f9eeaaef62738891422e7c2a0b80feab165905f"}, - {file = "SQLAlchemy-2.0.32-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:3eb6a97a1d39976f360b10ff208c73afb6a4de86dd2a6212ddf65c4a6a2347d5"}, - {file = "SQLAlchemy-2.0.32-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:0c1c9b673d21477cec17ab10bc4decb1322843ba35b481585facd88203754fc5"}, - {file = "SQLAlchemy-2.0.32-cp38-cp38-win32.whl", hash = "sha256:c41a2b9ca80ee555decc605bd3c4520cc6fef9abde8fd66b1cf65126a6922d65"}, - {file = "SQLAlchemy-2.0.32-cp38-cp38-win_amd64.whl", hash = "sha256:8a37e4d265033c897892279e8adf505c8b6b4075f2b40d77afb31f7185cd6ecd"}, - {file = "SQLAlchemy-2.0.32-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:52fec964fba2ef46476312a03ec8c425956b05c20220a1a03703537824b5e8e1"}, - {file = "SQLAlchemy-2.0.32-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:328429aecaba2aee3d71e11f2477c14eec5990fb6d0e884107935f7fb6001632"}, - {file = "SQLAlchemy-2.0.32-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:85a01b5599e790e76ac3fe3aa2f26e1feba56270023d6afd5550ed63c68552b3"}, - {file = "SQLAlchemy-2.0.32-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aaf04784797dcdf4c0aa952c8d234fa01974c4729db55c45732520ce12dd95b4"}, - {file = "SQLAlchemy-2.0.32-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:4488120becf9b71b3ac718f4138269a6be99a42fe023ec457896ba4f80749525"}, - {file = "SQLAlchemy-2.0.32-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:14e09e083a5796d513918a66f3d6aedbc131e39e80875afe81d98a03312889e6"}, - {file = "SQLAlchemy-2.0.32-cp39-cp39-win32.whl", hash = "sha256:0d322cc9c9b2154ba7e82f7bf25ecc7c36fbe2d82e2933b3642fc095a52cfc78"}, - {file = "SQLAlchemy-2.0.32-cp39-cp39-win_amd64.whl", hash = "sha256:7dd8583df2f98dea28b5cd53a1beac963f4f9d087888d75f22fcc93a07cf8d84"}, - {file = "SQLAlchemy-2.0.32-py3-none-any.whl", hash = "sha256:e567a8793a692451f706b363ccf3c45e056b67d90ead58c3bc9471af5d212202"}, - {file = "SQLAlchemy-2.0.32.tar.gz", hash = "sha256:c1b88cc8b02b6a5f0efb0345a03672d4c897dc7d92585176f88c67346f565ea8"}, -] - -[package.dependencies] -greenlet = {version = "!=0.4.17", markers = "python_version < \"3.13\" and (platform_machine == \"aarch64\" or platform_machine == \"ppc64le\" or platform_machine == \"x86_64\" or platform_machine == \"amd64\" or platform_machine == \"AMD64\" or platform_machine == \"win32\" or platform_machine == \"WIN32\")"} -typing-extensions = ">=4.6.0" - -[package.extras] -aiomysql = ["aiomysql (>=0.2.0)", "greenlet (!=0.4.17)"] -aioodbc = ["aioodbc", "greenlet (!=0.4.17)"] -aiosqlite = ["aiosqlite", "greenlet (!=0.4.17)", "typing_extensions (!=3.10.0.1)"] -asyncio = ["greenlet (!=0.4.17)"] -asyncmy = ["asyncmy (>=0.2.3,!=0.2.4,!=0.2.6)", "greenlet (!=0.4.17)"] -mariadb-connector = ["mariadb (>=1.0.1,!=1.1.2,!=1.1.5)"] -mssql = ["pyodbc"] -mssql-pymssql = ["pymssql"] -mssql-pyodbc = ["pyodbc"] -mypy = ["mypy (>=0.910)"] -mysql = ["mysqlclient (>=1.4.0)"] -mysql-connector = ["mysql-connector-python"] -oracle = ["cx_oracle (>=8)"] -oracle-oracledb = ["oracledb (>=1.0.1)"] -postgresql = ["psycopg2 (>=2.7)"] -postgresql-asyncpg = ["asyncpg", "greenlet (!=0.4.17)"] -postgresql-pg8000 = ["pg8000 (>=1.29.1)"] -postgresql-psycopg = ["psycopg (>=3.0.7)"] -postgresql-psycopg2binary = ["psycopg2-binary"] -postgresql-psycopg2cffi = ["psycopg2cffi"] -postgresql-psycopgbinary = ["psycopg[binary] (>=3.0.7)"] -pymysql = ["pymysql"] -sqlcipher = ["sqlcipher3_binary"] - -[[package]] -name = "thrift" -version = "0.20.0" -description = "Python bindings for the Apache Thrift RPC system" -optional = false -python-versions = "*" -files = [ - {file = "thrift-0.20.0.tar.gz", hash = "sha256:4dd662eadf6b8aebe8a41729527bd69adf6ceaa2a8681cbef64d1273b3e8feba"}, -] - -[package.dependencies] -six = ">=1.7.2" - -[package.extras] -all = ["tornado (>=4.0)", "twisted"] -tornado = ["tornado (>=4.0)"] -twisted = ["twisted"] - -[[package]] -name = "tomli" -version = "2.0.1" -description = "A lil' TOML parser" -optional = false -python-versions = ">=3.7" -files = [ - {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"}, - {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, -] - -[[package]] -name = "tomlkit" -version = "0.13.2" -description = "Style preserving TOML library" -optional = false -python-versions = ">=3.8" -files = [ - {file = "tomlkit-0.13.2-py3-none-any.whl", hash = "sha256:7a974427f6e119197f670fbbbeae7bef749a6c14e793db934baefc1b5f03efde"}, - {file = "tomlkit-0.13.2.tar.gz", hash = "sha256:fff5fe59a87295b278abd31bec92c15d9bc4a06885ab12bcea52c71119392e79"}, -] - -[[package]] -name = "typing-extensions" -version = "4.12.2" -description = "Backported and Experimental Type Hints for Python 3.8+" -optional = false -python-versions = ">=3.8" -files = [ - {file = "typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d"}, - {file = "typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8"}, -] - -[[package]] -name = "tzdata" -version = "2024.1" -description = "Provider of IANA time zone data" -optional = false -python-versions = ">=2" -files = [ - {file = "tzdata-2024.1-py2.py3-none-any.whl", hash = "sha256:9068bc196136463f5245e51efda838afa15aaeca9903f49050dfa2679db4d252"}, - {file = "tzdata-2024.1.tar.gz", hash = "sha256:2674120f8d891909751c38abcdfd386ac0a5a1127954fbc332af6b5ceae07efd"}, -] - -[[package]] -name = "urllib3" -version = "2.2.2" -description = "HTTP library with thread-safe connection pooling, file post, and more." -optional = false -python-versions = ">=3.8" -files = [ - {file = "urllib3-2.2.2-py3-none-any.whl", hash = "sha256:a448b2f64d686155468037e1ace9f2d2199776e17f0a46610480d311f73e3472"}, - {file = "urllib3-2.2.2.tar.gz", hash = "sha256:dd505485549a7a552833da5e6063639d0d177c04f23bc3864e41e5dc5f612168"}, -] - -[package.extras] -brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] -h2 = ["h2 (>=4,<5)"] -socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] -zstd = ["zstandard (>=0.18.0)"] - -[[package]] -name = "zipp" -version = "3.20.0" -description = "Backport of pathlib-compatible object wrapper for zip files" -optional = true -python-versions = ">=3.8" -files = [ - {file = "zipp-3.20.0-py3-none-any.whl", hash = "sha256:58da6168be89f0be59beb194da1250516fdaa062ccebd30127ac65d30045e10d"}, - {file = "zipp-3.20.0.tar.gz", hash = "sha256:0145e43d89664cfe1a2e533adc75adafed82fe2da404b4bbb6b026c0157bdb31"}, -] - -[package.extras] -doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] -test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", "jaraco.test", "more-itertools", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy", "pytest-ruff (>=0.2.1)"] - -[extras] -alembic = ["alembic", "sqlalchemy"] -sqlalchemy = ["sqlalchemy"] - -[metadata] -lock-version = "2.0" -python-versions = "^3.8.0" -content-hash = "b8dfeb118e260b886653e22d7c55736d9bfa41333347f5715c6a14927240d6f2" diff --git a/databricks_sql_connector_core/pyproject.toml b/databricks_sql_connector_core/pyproject.toml index cccffab4..2a340bbd 100644 --- a/databricks_sql_connector_core/pyproject.toml +++ b/databricks_sql_connector_core/pyproject.toml @@ -14,23 +14,17 @@ thrift = ">=0.16.0,<0.21.0" pandas = [ { version = ">=1.2.5,<2.2.0", python = ">=3.8" } ] -#pyarrow = ">=14.0.1,<17" - lz4 = "^4.0.2" requests = "^2.18.1" oauthlib = "^3.1.0" -#numpy = [ -# { version = "^1.16.6", python = ">=3.8,<3.11" }, -# { version = "^1.23.4", python = ">=3.11" }, -#] -sqlalchemy = { version = ">=2.0.21", optional = true } openpyxl = "^3.0.10" +databricks_sqlalchemy = { version = ">=1.0.0", optional = true } alembic = { version = "^1.0.11", optional = true } urllib3 = ">=1.26" [tool.poetry.extras] -sqlalchemy = ["sqlalchemy"] -alembic = ["sqlalchemy", "alembic"] +databricks_sqlalchemy = ["databricks_sqlalchemy"] +alembic = ["databricks_sqlalchemy", "alembic"] [tool.poetry.dev-dependencies] pytest = "^7.1.2" diff --git a/databricks_sql_connector_core/tests/unit/test_arrow_queue.py b/databricks_sql_connector_core/tests/unit/test_arrow_queue.py index 8080edb9..9ceed3da 100644 --- a/databricks_sql_connector_core/tests/unit/test_arrow_queue.py +++ b/databricks_sql_connector_core/tests/unit/test_arrow_queue.py @@ -8,7 +8,7 @@ from databricks_sql_connector_core.sql.utils import ArrowQueue -@pytest.mark.pyarrow_test +@pytest.mark.skipif(not pa, reason="Skipping because pyarrow is not installed") class ArrowQueueSuite(unittest.TestCase): @staticmethod def make_arrow_table(batch): diff --git a/databricks_sql_connector_core/tests/unit/test_cloud_fetch_queue.py b/databricks_sql_connector_core/tests/unit/test_cloud_fetch_queue.py index f4e74f46..0d31e0b4 100644 --- a/databricks_sql_connector_core/tests/unit/test_cloud_fetch_queue.py +++ b/databricks_sql_connector_core/tests/unit/test_cloud_fetch_queue.py @@ -11,7 +11,7 @@ import databricks_sql_connector_core.sql.utils as utils -@pytest.mark.pyarrow_test +@pytest.mark.skipif(not pyarrow, reason="Skipping because pyarrow is not installed") class CloudFetchQueueSuite(unittest.TestCase): def create_result_link( diff --git a/databricks_sql_connector_core/tests/unit/test_download_manager.py b/databricks_sql_connector_core/tests/unit/test_download_manager.py index c44cf126..c28e4c8e 100644 --- a/databricks_sql_connector_core/tests/unit/test_download_manager.py +++ b/databricks_sql_connector_core/tests/unit/test_download_manager.py @@ -1,12 +1,13 @@ import unittest from unittest.mock import patch, MagicMock - +import pytest from ssl import create_default_context import databricks_sql_connector_core.sql.cloudfetch.download_manager as download_manager from databricks_sql_connector_core.sql.thrift_api.TCLIService.ttypes import TSparkArrowResultLink +@pytest.mark.skipif(pytest.importorskip("pyarrow"), reason="Skipping because pyarrow is not installed") class DownloadManagerTests(unittest.TestCase): """ Unit tests for checking download manager logic. diff --git a/databricks_sql_connector_core/tests/unit/test_fetches.py b/databricks_sql_connector_core/tests/unit/test_fetches.py index f0a0978d..7c386280 100644 --- a/databricks_sql_connector_core/tests/unit/test_fetches.py +++ b/databricks_sql_connector_core/tests/unit/test_fetches.py @@ -10,7 +10,7 @@ from databricks_sql_connector_core.sql.utils import ExecuteResponse, ArrowQueue -@pytest.mark.pyarrow_test +@pytest.mark.skipif(not pa, reason="Skipping because pyarrow is not installed") class FetchTests(unittest.TestCase): """ Unit tests for checking the fetch logic. diff --git a/databricks_sql_connector_core/tests/unit/test_fetches_bench.py b/databricks_sql_connector_core/tests/unit/test_fetches_bench.py index 1ce74408..203c8d1d 100644 --- a/databricks_sql_connector_core/tests/unit/test_fetches_bench.py +++ b/databricks_sql_connector_core/tests/unit/test_fetches_bench.py @@ -12,7 +12,7 @@ from databricks_sql_connector_core.sql.utils import ExecuteResponse, ArrowQueue -@pytest.mark.pyarrow_test +@pytest.mark.skipif(not pa, reason="Skipping because pyarrow is not installed") class FetchBenchmarkTests(unittest.TestCase): """ Micro benchmark test for Arrow result handling. diff --git a/databricks_sql_connector_core/tests/unit/test_init_file.py b/databricks_sql_connector_core/tests/unit/test_init_file.py index cd92e513..a8f663db 100644 --- a/databricks_sql_connector_core/tests/unit/test_init_file.py +++ b/databricks_sql_connector_core/tests/unit/test_init_file.py @@ -9,7 +9,7 @@ class TestInitFile: """ def test_init_file_contents(self): - with open("databricks_sql_connector_core/src/databricks_sql_connector_core/__init__.py") as f: + with open("src/databricks_sql_connector_core/__init__.py") as f: init_file_contents = f.read() # This hash is the expected hash of the contents of `src/databricks/__init__.py`. diff --git a/databricks_sql_connector_core/tests/unit/test_thrift_backend.py b/databricks_sql_connector_core/tests/unit/test_thrift_backend.py index 51e87e7f..2d7b7ae2 100644 --- a/databricks_sql_connector_core/tests/unit/test_thrift_backend.py +++ b/databricks_sql_connector_core/tests/unit/test_thrift_backend.py @@ -29,7 +29,7 @@ def retry_policy_factory(): } -@pytest.mark.pyarrow_test +@pytest.mark.skipif(not pyarrow, reason="Skipping because pyarrow is not installed") class ThriftBackendTestSuite(unittest.TestCase): okay_status = ttypes.TStatus(statusCode=ttypes.TStatusCode.SUCCESS_STATUS) diff --git a/databricks_sqlalchemy/README.md b/databricks_sqlalchemy/README.md deleted file mode 100644 index e69de29b..00000000 diff --git a/databricks_sqlalchemy/dist/databricks_sqlalchemy-1.0.0-py3-none-any.whl b/databricks_sqlalchemy/dist/databricks_sqlalchemy-1.0.0-py3-none-any.whl deleted file mode 100644 index aac4891ec088238c06bae49ab10ee5c6a7f92f6f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 108113 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 L0B9sU`RF+v diff --git a/databricks_sqlalchemy/dist/databricks_sqlalchemy-1.0.0.tar.gz b/databricks_sqlalchemy/dist/databricks_sqlalchemy-1.0.0.tar.gz deleted file mode 100644 index 40aa4f64463c7e4b1fd804d14cac3b1872f79d66..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 100595 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
    1. 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 z z=D0TN^ohe8IY~cmL*P+cJ(?~p<>}aZ@}@>4jSKgHz03om5)~DH!}$OhpL~@SDaPgL zd<|_71DT0}oJB#1#J!7m+ZXLp>*qB~@7bX$L{mZZe@}EH3$n^ho_dPm;ww#L&)Zyi ze(}|}69K~o!JC5MqL!KIO-6Aq^zE>qVWUMRJK>S#6~&%4;;lTf7`ei_x46OmQn&&+ z{S#e7Cn(3t_L3QjG#-jHA&Rs>8nv!Pep`};LIdA>JG?l}`kXNSY!z3;U?JHrL8m%b zyT$KIbEkm~O-FObBOCS^CJzV^W539&#Ps7n32UkK7WtClpK|8zpT=ZxjmC2w*Z1+6 zwhjh7?%_|tLFGs1dmb%2fU1YmEG~(jlC94s%6N_kQI5TT;^vrYN*`ASanclK`Fc7~ zn%O!`FZ_&kI2*?LJ+l1cRLpccoy)Z3+L;95>Bb{-@>7@+ok@Qo>&M&EeNTX7ns6cT zqB_2>X79G?I;14AY8+9A_}Rloz=ghM@ZHXs`tr=9>+HF!W6hy+^Y6k;jK_ChaU1Yx zZJ3CQTLsm(o}<3g66SNf-qtQ@xGa+Jhm@(-t-6AHk=i3yuZ50qdcJnMf29d&=a>^S z{y-DoyAVWw|66QzOigd{SKDh>rxA(+EUDPNoR&Y2uV+<`eSRsr>1PIphyac1LB zXFy#Jaz=xw6+@VbBAi7Lh(|m$gP#!J6OiRdH1rfwYNV5TFFxXJug`4MLArWGvv`Uh zcMRA@y`8+v5QWR0wVz49mYKDdN#9sw8|gGt-H?fQ=Lx#SA$17T4Xg}f@C4qprEYn7 z8W=XVbclfBL=oy7^PYF-I)SR2rJ=|_DzW1#qvI;7$yLThMXQwIkMNmzzjqMKpU5a@6ddj>sut4F zOG$5I$yQ@YF~KY>CFIKsw0m6%n9nzD*^krM6*6K?j~8oE11*Wj0p%05>0LDHf|L=1 z%ZT;Lh#3y}aR{?L!u<{FDXIMOouoP4MzRsnc{v?<+^HT*Zk2{jc8*{CH7xiV8tnCt z#Y{eg1!MgEVl~qBHI`2@3I+e;xLAK&gbmFLc|0-=T&GD&_Yuw7rx4sT0PYzb?wKot z_cS$sk4aHzZAHG=`IW!8lF$a2)iVooBcowOO4{Pt z=@-GJ{|#iAH`K_*@_QYl2#m`6X@+hnd4pZSKCee`|Lhu_GskMYpe>3)4V(5K4E--Z z7dhRKw>yLX9Pie}8fj^|YxClCeqm;AeR|N3gbXq+I7eBkQuLyYDf^+yuWl9j8wLE0 z68Vk7v=^O@c4;FXQ{DIjU2qV8IQ{Cc6oW(6T+DkHKKj7xVg7-poYxuvNErKz|5&LJgl{18N)!(##>_t_r*eX5zRpQFZ&X7(<`1a7d@$MOPf0+&PHzudWipvVOMdMl*Liv@owgG@ev96o^1?D^BXZZmrhhS8f#qiVIfX{$9KXV=?G8@0(jERs^& zXpEKLA2{9Qc}A3MDYz5y-sB6o6AWGkgVCJ8z3or)MA&ggR23x=28~K*XGn^%0MfBe(lJTO>d_MevV>>oS5^ph!sjp6b4~`%o>aCN z{DlU{$8Yh+jq-{0<$XNzintg2`F}Dh_MWoUCubz%VKSndvPjZooJ9A+vx!~DcH>k8 z6hdodl78Y-M8~Mj6?H0!gaNo=06`caz!nKhDGaW13!YJxb8Y0G*daWIw7hPlKi+lW zQr*`fc+Hp$4{x|w4fJxMnHd0Z4*&!Q0NYt-6;xL^mUy?4sh7crqIf^I*2oO9kFTA$ zr^cQub1}>Zt<-hqv#Z+6(b-R+xj042{HHf!_VOD0L?XX7+>YZfi&L&$UH09*m}ROH zT$s78Y88(M-}Udl2a51! z$UJJy)ZJ{CjceDDBs(VGvD;p)Q~eijc4U(Jk?I{5Pu*9bc?i%Y1UR{{8yuI4{ZkdY z{*|S-F!Slm;}kOlyb*(=HopYzztg@5m=I|cG*I{SxRd(`zOn4PwA{Y5EMcF{c6Hu# z_T|T0Flt^%fb}aFhE+`g4K-DBKii%kzu=&HpS3N#b%na!XfmRY3oFC;3UdmDI)%nK zg*N-JsfM6kRnWiTp9V)MIvb5$zpziob(S!Ix5s^B?=+b+{g*9K2K*{^reo5K+ywA$ z0)#gK82$y#1HT(sc}LsH+htr2y;y46H#NtVDIva|XThqHoc6W6WuIX^O z{mW1oG!zOAje&+X$3V6Ycs|2+my=f=z_a^z6uDC#X1fecY+-)e)J>91)bHkDJ z$pSYmjfFRnd;%uX%kL9I(}M}CyXXycAX8e96D?>$Zcl~>|3Vtg=S#u4a=7SUin@qn zqiDX%t2yttoe7@u?}=9u{j^DEj{!W#0HI?5ivBzscLj~o!5^ftWGO2y{uWHOg*eo- zA5r=&%bg(F=E|9$FpG+O11>Mkj)!ECnq|eCWsx?v?hO-*&k0{NZI`kTGT6~UR0Lq} z?(M3WMhi8R>XhQr1 zbLLmRni;$D<5@b?ub08W(yMD#F1@jkH7H;WO1t*&caOZZ_d16wIFF$kS-WEcUS=5$ zlKdJ|mK#b1=^S^B>#+S*N)Xgs)(r#0p&DS&%+WLd6trN@Gi8kVe+Ts`Ke;ln&hATMM>nrwoqlUa$ET*b$l`L1u7}Sue;ejt$8_QN4sy-I2=v5dEaFCi@qB zUB=Ni+GpyCe0+X|GY?&+`S-sllpX^z2>?t2h$I1af1mY}+v0vB#7MkY3)r(e=uP)E ziYXElAhslO7dZWP+jg}xs3KW3`=&7OH~Q4bM@;)&%b{({y=}`M<_yJZzOF$? zcphLk_xVI9n&^HuYV+{m;d!fuB>L9ZhTWXP_2{|hoG}pGXaH_B9d5KM0D0`GL(}cs zHo`-8U2R8dpgiiLxx^cegZM_?A2q_R>4>f%7s@8V)8DCUYMTxoN&)YsfT1f#$~O`kq1eld6w)6FmN{DhwsW^$&#VNgq;x-_y)(}Lt{(5DHSi(2 zwxZxkenCWj!IQ@8Jz~q=(F#J#3oZW)Vu8j>TRU6CMr_vxE9Df<8dwU~NO({k)>>6a zE62ADOMV4Seif7aYWe*5vw2j9J;|lT%oF8wQXvAiT;*)lDp z27AWv_X*uoL~=JjB7_Ig&4a*7wSKXukJfl+`~d8`zeqnHuoSQ(HTsC1JM6G)+hW>K z;SMH;6b0*#=_Ujf&L>qRBb96=l&K_?X(g0hWNxJI`oDfuLGyJ-39ob#{1bH2H5ZA$ z&bwnnnN%GQj}a%yN$Y-f1Cv7(-_M|;BxgoY7DUY;*7jM zAC~<1D*^ESy9-Ab43gdw5d%|p@NZV|Dl0he{R}0uk9|<}AV5EB!&;&Zc;F(cqPJZTT(B{a9-;)sNSIdd|l}j>fu=#$+$5-G>WpMx@_4 zciPc(HMFA7=cfJI%rG918i|(a5J*EUbFgMMgxn|W9Fzma>g7NdvLHv4hT!=+k7FB{)ZO6s)d;ITY;VvMHlwaUT&wUOakYA2Uv*J`+_WdK(0QZ zsd}gzRC>tuP!*9>ucb@#bM5SjU8PVx_cx4t8%k_*+R6kEp~15=&C|(`L&O8W!$chIgiNk-^N_}>=@Nq`{GzU#XY?1a|Fy~8v|!z zwc;Dfi|wa!1skxwNZRr}7_JE3QQVGF<>@#T-H54B`$Y89n8vxJ(3_z1Z}IC(@getQ z28naH)~YP7S%f#B(^FR#ce}kK@~i}jk;a3OCWMiO9#0DgN(`bma?q#Qc#tfyV6^_Y zA6!!KM2w2RQMgMSl|tVdUdp>S%{wtZyR97hGX@?1*In*|Kn*dWzXa}24vP=pgMW6S zU49ZnTsRs53IzzL6k`OpadxiivNX$!728+`Yzc>{2#0A2hsV4}lp519ms>vD7PwQO zaS#cdi}w#-(A9I3{c+}wsma20qEH{GW<1kzk4%N+1I+SMAMG*F3R_SqDMIVpw=gFL z!|>*{WfzM*bu#XosS4vTs1&0FN&;`RS|(yk6l16zkxD?g60lbZ80Uy|5dkVux}YsS z-H+JUZjoEBHW<5s+JyFrKe~w>d-U%k_Q^YQlf|mW+O~jUD!?!;U^oCOuC#@QmaztL zTjM?~l|{1~w7PEZL)mFOy=JdG3Y*-oeMIhljBZ;H3rzoPP&B~Jy-w6!Hs|r3{w#d(-I83kRd0{ zfSF-r4{(OgYz5$%T$eF9I!sjT*M-F*-|z@XPL++aJmDtTJuLLwmT2E_^q=yrn#ip7 z8swWap8whsqCTECEnCjveD2`VmD5LLzRDdEqFM%N30$^c>*$P|2tqb@&G$H58-qNv zD`mxX^);GrqsgxPl~9AKJiP_j`Y&-mXNRHY)4nVmHbvnbs6K2Q40m{vNBifVtKWyp z)peXF%k>gJYa@}YIp6cgtju|}>yQ60chklgx_8!%6KJpZCacrVnnd`yz`0-cbeF5J z@%hazH+|1A;jMPvSbqA%_aZ+$H+?MTtX{j?vLB7Z6~|LKl=B^sdP3JHF^+v86^ zm&(GC(LfJl&79(9>Tb&yU|OL+Ir`wZiXfN7AH4hXEV^NC1%_Oi{!lXOvEy2*UO3*B z9G;)ZY2p|!R_@tf_@clSXwp^!YXEM$s#-~8_Y$m3ez4&C*F|YE= zT$M~ub|>TE?hj#&KG$PEy|EiJ6;<@2TAqB`gK5h>rUauV^OcGE2?W00tKDv*rt*Ku zxY9%uhEb?)N+6Q)yIoNfrguurn2e{{fqvTtKea;ED&za)O%Hhh>V#fBd%cv-ar*sM z_PQ+Xyc3aTHPCj4KzfN1V&Qcz_&I8(+Arwfe}7>#SIEeqN~yw&*5HL+>`kR^RNsC8 zMb0aeMEUW-Z@z+$-y_ zf-=tEQdb+njK)btv@xODyBD@(XH;Zov}9*-5&TCd6G1_R_|_|kLG`or$=ZrZvmcYrKPC|yd(P_guiJl|<5U~Z;A7~AWXdC! zRIlo99UFyIYkMQKocyKyz&q#0<^88nIbx|dv-z`a;@q1d8cO4i7ss{)XH*1dv;=1^%r~wi zkrd2_W{!zAa?GdgZPgb`&YFg-_3z(ChlWmkbWv*xpU5kvLfeS8nH`U?A1oQ|E7|IM zL@USFE5lNP23YIUC){p6wX`9Bi)g$bQj%qahSVQQ?a!^M`|zk$GyVqT8!}n^Q9trG zl=Ib>^OcwLRgm*t=ocqvPFJXwTAntYM|cV{cw~yHs2<+M`q(sUij2-*tK)1)9XLt0l%$azudx)bVLV+UpdrtU(ec!RgYS*BEsyxGURS>*mnlZobDhOV z49@pe-uR%hKWkYqDe&F6 z+OjR>SQh033rb^Dk>kg=OIZ9hH2yj!{<>2!z5U0P5(>|^*4vzY&YslcO}OZ_r|}rN z**N{s&sOzh=a{j$;~xqOa?|W(PcQBNcp%k%;p)D<>b`MM{n4ma60gkLsnffeLsec9 z{Y8miy^PuU_i7mgp3G0+6G`rwPr(voRY7rYK9_xN;G41nO}T@naD|$jC$FMkqWLcY z?)z+``kX$EnWYe$slVwpGNI*IEctEM%A}lWmbG2p0x11Z%Ha~-a2 zo)OhEHHz|t-A!j)e|w&ZP6d=p{35SLAZh)%=_*ou2PnQHBEGY$2czT6qYix58tbD@ z*{$94l%DL3i)Z`Zce(XMoxFg2l^F3ho;*F2&2-+&pK>4**-7_*L^vhIQFTBd{MyoO zuLa!wd8I2+D1EIzdya|d1`S!95v_U^sZ#S;Y%>N@5)&?o*(-^; z(9<3r%GDmwIocD!#Sz(g6495x*oa4%*Q57(>p&@OCClh5=M&qLr&K3TX-}TIoL$#% zhw#w`NDz1F3Tk4l-}yOvQ7VdzVcLqBn!SyN80-cn)f1PFbrXE66|eec;RGJA|- zIF59!-`w-J}VHc?5fez>fuqj*IcV6jEwUf$0oXit6x#9p>vR8Pc@{lu+br8X`TT=n z?nX|>oG?17a5ggSnR>iXeZ1+j|1Y6gconci!QZQ@^aghw2KEQ-)i!fTyH7=n5eaES z*m1P86zO+cQo;8P?Nw(;wYnsH?a%sUk79U9{ux{SU3=~RqMD&V$hSYd>y3_$Dv2Bfvi1?QNKFvLd>frn> zA}jfK2V3kuF}BF&+*@e9s!pZTv+lcQ7=;qrnG0pjFwlGm=rRPH6x(~4hN`w)qmLZIotBh?cV zz4CLzy!7%dinVIfXQ6&a)HI^Lw&IChT=v$BpyOptBGB|Z(CIsH0(-AAQ)PmOLUPG) zv-8PlFq+L{q~p;a<(HPJC|-`uY;Bx|R;abmxcMsL;d7q{NxoS zT0##lpnVT1=hZ1TU9M^KOpRVXMX@?+dIZpyRa}gjNlFmh_YK8DJJ%RyyH?%XR_ohV z1vE1ZCtPAm-{=y1I7ZICs(wP>ex#bQOD78!d0L5{i98BI$5j++l3wE#{G8gv+L-qL z8yd3ctD=BfCCf1$LcN^d#dI<<#uF3Yv=A{U^VRR$mmd3c?1FoY(nR2U39ba<2)#3> z0e4e@*Qvk-=`)5%JkJ|6AAQlkoIVzwA!!TIV)uP5d9-1L>QS_3I-AoNF&byzHqciG zFliK!Qp|8E=3Xgg!`^m2!(M#}v{Lk7hj#2f=cb%}VXkt+>Tj{IPC=)}z(7te+q>u5 z^h#6C^L-R!;iO}Iq+@vI12JuJS=gP!78wm+D6Or>SMq#{^tp=JxWaA|>G1_^)ZZ=T z09f|Q!y2nA@_6#|;`8&k#C!JZZ;aynB>hUm@}3#_V4QL<&it9y56N-t4#12tq8<@( zQDRn|0w&FT98XanpHUzGq*KE(7|GG!A+Zd=cGk1TCgh=tHa1L&gZ=%QU&yn#=2?gDOVuQ;*kPA!|B&B}WU z-E22`ay$PNd1Ld6&Molh`<)OY+t#0`JeDxUee=|ASR5Q02akz^Hz)h%QLf57bPa{9@8XO8mr3{KTh*nyTVZ z$eTK;<>Zx#0ruz-l{K>YS678i-<^hxbqOdPw1Pc6v6CxI&m666Tfjq&;Jrrh5B6Ey z4K^W30q3Ee)d5@sh1iW~2%?pq^INW{v-onAN;mdPx`J z9yg>V(jF4iSXG=ynM_W{hlqwmwfg^vEb`Sl$@&F8{vBj6*&#O7k*KVdZ#M`Y>I3if zfq&@F8d}X<6VYIeAbbjn=zkj-hACfsXlS|BP)Te}>ClizS4d>@iEUnewNn8$EeHQD z0q>RkQ(;2K6HE`&DFW<5k67!hRVr}amzjlFPXL!*`!s*hlBS6G{S8@MksaN@GFMljUR>e0fFn-23wmJA^1Tazi2(C zj>z-{$>ase6a>i@+S;drJ-D#Oh9!rcuL5@0n+(Rz#qHB^uZjRrCIy_EZ2SwrP3)UhLsOp_GiB`hAR$$015$ z>H*5Csvh06pY~)eEn+S0iDC{1eTd9kw25b&L-u1>-;)ljAtzpo$rM%=VxF#<`jTG# zt#tn4g}bVD372 zm$nUDH{_9ftm_HO^0z^!u>2_fq|CH^=9^f%$|FkhS&8gxK#2)0^A>j z$%vCf{9L0F=7LgrgHnZqQg@o=&eXn6$>Mg5l%xAcVszd_^qp6=esOooFs?`rDA>K} z?r_x^2M%cJb7{(RX)17O8rH*#SQbcs6LRtq)V4rdO)=`I?QKOix4t<4G3p46Uq=zz z@ma4Bm5?m`5ZzJtuz7DeplG?HXjz8*<9$zV9^5D(f*82#M>n7xbrIRnoK0y5X#>+V zX3JVN_#bcM3hVKAy~^UmVi=?d3Mq<#6g7MK+R|TU3N9~>4w!~$JVAr((jc?yG4xDG zAg<`{>3(&3!g!ilapL2U*$;r(4|KC1Tv68=G%x0sZEE?~z?WG+^s!>3)!I83X6@)yV*4Q7Ugys&G;2&Yv?Y;ApLs0|R4ev{0-BetR~dNmcRd zM&G`cRY%q>V%CkNM_<#N=lr5=KuL#9>1N1wX^3j+1KpC(5!rE)Q72qQRx2RCD@cyL0xuun>;dx&BbN;*13I{M+Fic6YVKR~@& z@ScShO`(k3-MV8d`SUv)qy5INRFT`0!cW0B!>%<-YtN@5HNUa&BKd)Eeqb*@(6G&q zMqb?7A-Hb?@^_Z}R*7i&{`x~hY?JkH?)E4+tz$wAT|ray>BoN2-YLTOmgQFP606M; zE1XI^eP_UM>cRLp?>n#iEUHu!m|5Ha( zInC|$fXZ^l)jj9@;rDm`ccY9qOEgOP-Xy$`UwA!g;^Pa~9S0;d8}DeT)UwVQXOo_h z)`Fi`piI>7l1S;NDvH^Z%q(r4YMtQlVX;1j;7Z-){`pN3+0PMv;m_w!q#eRcJg5?W9p zDEWTc{N0N){WBlmp6Ys#Sslo^4uq*EJVwp+!JY2TM84hbFGc*mqg2as6IMB_(6c@Z z!>NBuRp*!J($xFBp(F$}9x)V;_|Q;yfo)7>7u*?JloIkqNb=8qklPE_yA1lx2korQ zsw7QGjfF^CUv?7eofi#fAhT1D^C<{H2+1nf$@L~->=0F|`iSO18?l#ntAN<2zM8;z z%IqJE@miVk^%<+TV%v`DbW$Rx|C;Pg_Q&gE%_06x-b@9u!Qlr2`x zQ4iwQ1uvc1F2RzXHOx-qh?n|yd1Cdo4$bF#mn~jtl@F!GToOHtivksD1H{z~TozsJ z%nM94c9eDRj|+cX1;^9(<^~q9#R^{2pOs#{Y{SuxsxSDm6w~yj40WAd^!Vf-NCy0) z7V>e1up-kFGSZoPSvTv&(emh&YpDGArchbfd*bW6!jDnZhn+-?yZ@9>3?e&0-1BGhy?rz-^4`aN+Mo- z`X5m$wo!~Xfj&V$I~>rx6%m{d?4dg9>bn7x!13gHLF*PG3eZ9p@g zk9$IB(gHH?MMTBdg}qqqZ5sv;qHwEU5m3u#t>kPCw91{b#ez4&yjsmf7ApgbcKxZh z2UQ*2A8G???<4vyhF#Xh@ZvAdg4|fzzWA{YD6r%+M6-k$Y$YvRY97ecBb1v}9v^v} zTKT}1{kWPRCJTcwjO#I~8HOKHD3hyiqljCHMhV_Gbs8orEJhB;x5@Y+0yVV~6 zwpCAIX3e3y4+9M!5TeF@k-A#=?KGmRejL{;pG{lpZArZw{ewil2_SYleV@~W$UpIQFsqQ1fFxHc5k;hU?3?{J-}lb*%_}ChJ9g;w&sjF&mq&iq9J`{n>r2D&-NyV*pgjs$!@mf(6Yo) zO>;{Ix-_>4UhYkuKQ?f1fBrPjNkzx2Jc@Mzb+^BmK5Yqm+is872?tB+dNo<}YO?Ls zv?w=YgWtRX&WXf3{^a4$2M>98{dwtvn9CDes|SB69(w++i&dt85<7Gs5&&mXUO46v}s2cuj}#7W5ye@-hf$aoufIYc-!9+8lGoUpDgQjLNhcs zASj)id3|O=o-7=8%55`$|NaZA*h^2De!918zgd9`^YHOQp(#Eb|J1zQ!9{1HY^{DD zDSkbA>-|=5o)mF_T*SV1|xRJ}<$Pad&NuQBxZxdi2adYmieC?2> z+uH$hE>*R9pB!`H(cO#MpC&#X%nw*ZnCqX+%}(3IJDyinl-F4Fe2ve%3XRfajpi@A zrmhawx>cCC_;~5tFA)2@c;woh`z9v6Yvf%S*H-UD$vm|`+kR*EDe!+jH0GJktd+&y zUm5w=ya#S9Pjoo`h7t(5>}1XBeJnGvAUi#ChO;=hwy4gpiR9Nb#ji=jSbxHD9QVHA z%*u0SW@@`a@rUkh)vXV5F|O_B091chF+U~uOZt%N8*|njGtIF#%sB=A&!-=I$4m_D zO|V`Nz9yS9@OF&$ogJ-tljmLtpBtRxrTuBtxs5O8ESR|3Y5eiXzISVnxzt9$?#9~Q zL((=(vA^?R5uv_-xu!^vcKYS!n6n#pbDnlgHouIX+R&caFVWSCQ=XTkdHv7Y@kP=U z5JYP0?mx_uSC;K(g*@M`H+bwGgCp@5t6DeX#ynh1J))_(GGf5KXXlq?Wcj<)+xTQy z_|#kYP;MTmqMfb3FgD-xN`!q>pN+XSi=%^%9ycHEvc_h<-f-U;zm?$MUhij6Z{wX| z;azXxJ?58cgEK7y9(*;qb1!z_4eluNTps&9*=$VA^0!AywtV5bdGB#4GkVE|&4&5Hfo=1QTHnlI z{J{&!t(uklYF6%n_?tI{HHU-BM>r=EZrRTXIpqHmv18@UI0liz=p;U!RK4s)(4Evb%Q^;pV#N-=F<9+>jC1?k#Kfto{$rzz zhPr7_jy&<`faSLv$2=2`Z0=Ra=(U#7Ydxb^iGcH`$9BG-w(o?qWu-6O=(mZ?SB>ve zmOTIEsrt@muMQ9JYMcK2^TsPtZ535z(UnQ_D$C|oPEW}{(3s8JT{z&{QME7JKPFA- z%_?}&EQ(#+F@3Mw(&Yn#L}hV@-{;&f825f^8*bu3F)2($;)_Vt*I(SsYP?c3X=MlW z`^~4Dj~}SRzdKcYD4}SpICa{7*O=&0ra=2CkE2YzD9)^&oVjS&nddX>TT^BZPMy#p%`~wn zpZY4oc;J;N^^dII#~UB$NZNN?vt>&uZ>sHvlS@jICYL*?&-rb`&h(YFjjr`O>Y9d` zHw~NIH0+s9J7)mtviir2hxovP>CZmCxzNr+ccV*xN%f#E6b~ojQicoNOKQ_N@$rSsuzVpw>+LCt5*tT*4PL!5(-m%d3% z*&g>|vS{6$l|%dInph^~Bwo3HV&PwBwtd|??#MPP`c^B^R;${|=99*^Mx^)eG0o=7 zA?Q`Zu|A=fQmfdM2A81EL(jdO$i$gGvK!_Xf9gYY;h*-mv^Zn>4;#~e)R_KPJF23~ z$3%}kSmbR|>_VSSWKziIk8cb~$;x`7+3PQ6Np|J||Bd_g?+}Mu5{KInhd0e_FF!#s zXg5o`TYLW6yUf_Z{rbMv-DN$U_cn^WkKy&`@z+RG%_pBVe_Ipp%zIkvpHy9VZR4S9 z)rYS6PC8ugcD8h%+T8=9@Yb_)b~)Q7>AwH=wBt+Zp5Dur*PhvMsll)QL*Vf2DLbnR zYc?LLsXkQW8+4>)*AN?vvVPmMPc%n=HtrX;_pILCF>h&3d2`PHIe4P$*}p2*UD2Ev zi67!i)=Y>y_SB00#7gwUs;40Mh*!jiufZ$t^*i}-;f@`lTkhIy&VN;PfZx1oa*V(K zXQRi>-oByZD#l!!HSyyui$)!ng1vtl^)>jbDf-1tv$Ce-tFDYwdI=WClXs6kvh_md zYqeFE^BU5N)jkA}YtH8V!P{`nX`%U6t2zh2{FdrLj1e6Jf@^DUU9bJUy7pF0?JOJX z?F+nbW;i|JMR(ZFiyxNCd6n@X%k)LGJ!L8HM$p_%J-GX~>J6XL|H-4`xMr-J%oqN)heM9sJNopOtLFl1mipG5^RIDEKJtEp#y9W52gmHuZP%_- zZ3|quYem+H{kPX|V~%98)Dt7O3~AB77QLov)i3#3MoY7d(zA>TvQNGU@S>#jc)f*N zYN?)b`Z4`4hc)X~T*dhvfh>dT0@G#_OWSydywWIoaL9Tj^u6jPMdi=mWCFS#W zzi(7KnOf_+#b2}mexu|H;qCSSK0v|0a_v`HVIz&7Sq?j(TXpQ2m&c>kOvjbXN2{3l zy|>2G>Mv*Gmt?#u%2}x9eR$joR>H&}FW3IJET1t6iRE}p&qT5WP^?rlx}-OPef)uTXUMlLN(8dQ9J+o*v@>fKKr42gD6Ki0{W5uZ#R7Gw zH|o7z)~sgJj!ZkGUz`)0o42Spcs zj@w;l71KOiV>#`y&g71^)Ti4g_f9Z)TYJ5FYjt&PP4(cM<~?~?_4CwUAGSFjWmMlM zlhQD8%H0ETVz-CpL)QK>d*F0V-n8RUeK)Twn&cCz>(y7+i>&MAaOEYdz;vpck+w#4 zNBd;+-+Er$GxzGltf}pfH{CN?JmZ6{&YmC!7g=%>9 z)$k%~ctL&RbBQ}r?_KuNO!{`6NNHR0ahj;wVcp&Gi1}(hYs;oDsGSF8TN{(_T(sO; z(w;h~J#~J2YIgj&yf0^#j?_2WW7QTOzM<@EnEOf1*(G6vSu-~M6&5vzaMXB6`}yLb z+?!&vbx7T!=H8qF2thSBCl^oL7 zf5bG@@@?7^@!OvfO?eSob60pXNS=k0+@6&C*BqtoBrdFe)62)XoL8h%@xZcHJ?PS) zwdW2PXHM9}xl%Ct_Z8u#`=^Tclg8~Mwe2Hq`?ALLw|+(S;@rlj+5&N=+QJ3=Uez;Z z=gs|dOpjiVAL~3JdD=udJnMPyT||B&V`<{<^hCfXSsgYzR^MN5SYV+g@bmZDJ|Hvq z`H1|-e*G`lkN?^-E&;hS9=PMqfQKow6C1>mh|qje)ZY`)tB|EJ!e{U99gs8?qYMG zcF+>-jg>4Had3O&f+v<&Pvbs+c3tPhIiK8eXDMM|%&OF=^kLNW)QI$9Mc>%3LOwD2 zBz5dAjtDkZE7%(p5b<=$z_HQgJzO^#6?(en>1W~QzA#yNHTpWqu$I(XOVT)&URizj zSOd?;4Uphi#J%3u8}A((xL`r-ZZR>pAZbxfQ3XAbvr_NYwW9D_q3V@=)GMc|S0!5 zzFeOA<#Kg@qc69FE2d}d8-vrmS&$gKe}nMjucemX4ERyjo6g)%SYCK&@lei9d(s(u zQk6Z4zbG!!s6eekXVWyRhWEpFH6;Jb*H!NM=kiNX(!GzXBqkrEjoSw*TnXT{tQuko%hn_D& z?iOmUJ)fA@gBUVm7CU?7$(2_^`&RbtTS@L)2~CWjWZpJM?fvsj++io(9?UDqu}@Cf znWLm#I@b$E>-(?3aZuClNM8RSe91QI|D6@m~FD% z*GHC3nx9y$w`FIaTTK9+W>2#YzpCCfBsJ-ewZDZ%={7oV9%Kob+YY$#=aUys4P~ygp^fJ@+B{VM7zwFA)^~6}*pGd3W>K zmfx7(zcOFCGj#&48Qqz*wr|#yi;*$UKXT8hO?$UzPkJnQ>(R*L<+(=5cXttn&PaRn ztJ@kc-(R8*lYD!g1_5gsp17WYCAe=`#5UPzLeP9ma;tVW54PV*Hi253XWB)@pKoy z{bX`;h^ABDC~aJe{t?dT;k+lp{4?Tfi}}~i2(R_f|B_Yeq8?4Nncud*A=zNqOWmp? z>6ah9U6G(sS^jyO%Nn%^8fS#bt=99-bHnD0Gwn0Zbm}IYu zU7BNeEgQc}bAU(XoKUqZ3p9epAD()3_Eoj7*QV8c$~qD;ciljmeba$cV>NR)FC&D{ z*w;L8W|sLo43_RNNZ(;lkaF_ooM}Y0M0W7oybGfj-DA3cakEXoaCXs#_K7t@^^`h| zl#4HioY&Gme`8a1+mN|A-zH?4O>=QBA&-1!yZ$1jcGP>z!C5;_72Ii`khXiKS#v6J z`09-MmHqG`f-5t*v!^^=P1U`7u){u>{jF&yC^=5c_$@zrMOjRt!&xL?QLFK9{e{=) zHdZ}4{@P3nvuXUYVA!lTZjXP}*3RD%Ra4@3IBJvMn$?`<3w6h;!#jes6FwS;d!_5_ z;p)#GJN(eAHjU7jm<_+)+y886a>8+b$~WeK#Q95(Wwmb{7o0K8BSv`MX5NyPDSv*n zoqKRb@ZL=?ckc@9b2{TyT3yKD9;86$0r#sGzNH21Ib|zKJLGGXY*hnU9=92MNZgon z_Gl0)xJYd?=PYk$3naJxKiMOl^Z9>(xNhDS0EG!LD2(;>HY)$5EMYiwf2rrln? z|2bouukHQR5j=|hnik5_)~C6Bgry>2efIoX`#ag~?6@`fPw$?Nus3>o_UX*Se+iic zR&oXX5chJ+u|H#VL)pSfO{WqK>Pnj$D|`lyNUk_R_>|lyE2G@K^6u2$DcP;tM%7qa z?wxS&jAs8cK7!Q4w*}EFhH}ptHJ&fzgF)uPgWO~{dISC1$R5*XFB^Vw3Vvyt*N02% zXU`th;2pG@e9pzmy*0#WORiRO*5@nPedc`Zx8S2mVfq4~qs%jhq8Y$=bHv6%AMb$&8XGnh+4h^$*so7xzp0J=%0@ABdll^N(PQDs zetVkkguE>qc{(y~cX{@{NSpnd>&_AhNg*DOoeLA80q(i8TpoO4O#i@m@R6Zbz^ZF< z9&*9qNuz(wAI$RJIkydFivphR-;=iF#tGiyO&^kWt}c3WVeXmR6^U<76!w`@->*-7 zzp3^8lB^>Sdu8d5+4!n$DkX8eA$Qq7h4Ii>b*an+1#~wQB-m0jb{6k8$KVAT$AHga(`I%imxN=ZJwUJ==Nn>Q{Tzk$HbUE?_Ibu zKepG>*k0+ey$Jd#FBq#X#zf{{bpD-;PkFq0{jsN1%TLzFv=`Q_y|B5#mf%gdo>m}s zn%>rk=btCx&XHc9BW*Ng=bF*ypVL`Xns;TNhxQKjbq|`prjFhqNF8Z4Xj&CSoOH-$ z%iZKzw=Rv1X(Qp@kzT(el?A2GnX4H-ZBIx34xj6JS%o*^m&QEK_#8W-?i9mp`c>a+ zqTb|Sw)>i+EbauNMOIYSSZdayh%7Vvr{A88iAV?|8mkot-Mg85#qo||;r@&VhfJqf zn{5xVdk{8s?1Q9!EqR=gyzD+Bk1ow$wS4KS<>{-I7i>wmcDU);HPb#{GGE?_XSDXH z&MPf=oFbUpd;|JOb4tFpV2$hM#X9U-`$Gq-R;*SxRqkX z*2-oYt!3qU@`M8+HP`hAOujQSvGrC;%Ir%ET+jaMA8ORHD4Q&v{c7ctr+1HD-FWb7 z_2H`nivGynGvnm|#xL!Q3dgG5zmhz1g`dx!M|y*gi+d52#FWNxb=pBE2)UX@55%Wiuws|sF6z^Z=Y-+yyNKVo< z=fZEk2T#q{ITtQ;d8WnuwGZ=IUnXJAt$F1E`}bAvPgd`LdX4XwU!x(1yXAiw%-j8Hx!U}p2bw2u zOQ;*2HnV^G{FTQAy>`BNvG(%*n0ZyNrtfO#>++-|!nr8oS#jeUpG`x^dI>EDot{J!ikLFfF2I(|{qH_U;&%wPRE6 zj)C(lY%N+G%s;MpqxDrr>0Tc8`vYj(0CQ=P!3% zy4*E=xhtT>{bER7hnM_q#vJ#MXZ6wtP|UhJ_>U)GagZwaoP~O=r*J zJGVJT#V7mgZ>Ti9Nj5w~Hmo8W&c2XH8qwzVQhV@+h#FyeaMFp4Akk-yU+yoa=CqCc z<^F}6=j!lv7j=dg>kJ>LGdxab_+K-lYwijk_S!J5uIb9>`)@K+mc7(j?K=67x&18c zvtO59^H3jh>$f@4b>SK1t4_z9w8EdTdV9iZ^S0*J@SRoc&}#9sv!Q4AHD>y~oaa)0 z0NUTOq;;-WO#g3T+G~xx=5JgPb(e6$KEBtM``53otiF1&=IXEQ1(Ry7y%W`$F8z9A zXtI5rdQOWIy}EVgzPRrza`m>6Nq#I3_(lu(mMz1^P_PIW`XQW5atz%#O{@RF-CR-UzwR$@hR%S=oio^4# zt24hs3Db^VKGWk?9+ztxuT#-v#cE$i8tyjBPmRSJU%1M&iC5}#e&cb2;d%zc;|+!{ z8K226U^LJOxxc%ZlLx%qL!+kD+vo3(PCcppAaQi<+rheRTFMEwe zjJ}o8V5|1QR=x1$zl?Y};KP;6l{aSUXYbTWUo<-7xv+=O`D%UAIy>JP$1{7spe36R zh*^E;MYhGm>_d&&7DXC?6}5?+=L;5=B}Oh^lxM!8dR|FE zIK7#XVmqSw$SgDBxyR>kwO#%F_0?OgS7#L-im4Q3kAI<)l`*E{w;;L)e(C7OiSbt| z_6%##UbtJk*CP#`OOIU_B|rn~MiS##^Tt^j{bJSri&Zb<;#@{#L-JK$wO2$oaUd=w z(xvKr>x+=WxrE{Fcg(W6rVow!+Z^K5OsEnDInW#(Xg&@!K=8Ya85g)mZa=u1YnrrA zcjEk+Pw!^jcvQ67z}H-7+S$_{z?hxG3OCI#zL1}EVQJEZ^rQ=A_~UhX)R}{)d%G2U z8t`bV<%5sD>01j!tlB5GZhO>sa!1ldlLxaG`yCy06Mm6Bt!fHo!KH6kUxn-md8k9p zXxn6&Ony{yJE`$E&mv8yK5Kg8IH^lN+}VX6n9_VsT)C8Ac}`gAY?Ghyu57S}^OL&# z+l;IlbFWy#r#(3SFT2LMoHq!X6W$N#{=If6>RL|K|v^jOa=G55DsbvuvF_)K( z$CdI1Z{ZcYJrl)4RbFw;?-rSDQM*9BIiTz|U7+_SXS&PsK|$tvj^=tk=6bUaw{yIr zbRO8p42kaOT|NI)L1W$9`;qHScc0G~viNk4vCd}pBx-Es&_OQ_7_8cx(l;w*Rc^{E z_Uvg_RyPaQ6zT5yl$-FxY0OHEqLx7GeeXWbiWEnr=-V_LIO0*Zf0bi&N6N6=6xz#6 zkmE(@(O(dL$_;O?go>#HdOTZ5x$|;;+*Zx%rUg({Zoy19&W+!T$!~kl3bSJ6FWFaj z*}%PbGdR3siNAHU`E-}ANf3nW*3VSmt?E1sL_Q!T{=C>Z3+rR1J z_$f;s=9KMxafMmA;c#F5MV|wk_Ang(WIW1a;5(8{TkjsNyzDtYGi`Nf1l>0?9@v=iYgl@G3M>Ne1FM* zn)f2p_+e&VW2W)N9WA3rKd+di_OkXeJ5-H%W1drb??X)!hA!DrpLF;bCo0h3!~AJt zO{;M|t=f88X}+@dnU6Otbb8{oGcsRGXL`!nZR8h%#3N593@?O64qv^&wy8(jToQqe z&;Go6s@T+OoQYMNiPg5yX8*mtjA{%vP9fhb?0@WF(jBMkdJ9HZM5mh#v2Qq#>^uF= zwR!E&mzvfMS@ql2lHqBChNsORo|YYQW%bO3WeL7#hj6{rhy3wnb$V6NVw=w-{u|dJ zf1FP{=-2atRcwBn5o%!-TM`*M$QYe_jk1S_p$fqyA|J>lp(q}Bm1S*pJ{QwYr?*)jK;Tz zo`0C{6gDz(y+-5ZB}e0C7Hv9Q;CFMf|C!1DRg?X1m)IY)o~2e4)KaD|?8T%|Znyef zXf_=@V7PsuOL)>b#f zLRCWy(<5!&D?UyC889FBUSMsf@yDx*$jN=CTnI`T)gy;9Y{-i3C#G*txvYP6?SQMbdRK>JWG}AY zd`x#r&-61VKn`t!rtIpzjao~lQTIdgkoNC$za&vPW*bR?Z| zBvm<*ZdZJrCOo8jP`7f1m)`qZ24$3vh)YOPN+a)Z3Ttfrz?TE!YHnYDINgkxbaKkn(~aeVjqCZRCoeeXaE9{-o1J#} z-rn*@$reH{D??AKR!=Jpd)BG)(Z`pw#2OE(nii!#whXH5HFcprX=2%cGkBeg=A|<& z5BDE<{!4hnaHi`}X2URMFRuc|scGsTE53cKpYdj4X~!vl#?8|s)0T{#pU~m#Q@5}Y zKm2QG(d&voI23N{v`Tx|^rrj`jHMeG=^Gf+Cvtq8jc)eHe6@SeuKa`V`;6R>{Kw*J zr$UD{)$Pvvm{fYlUA=f_uh2D*Z#C?FyZNOZ%XKoV!IouIcYE&kgEd34lRmczelOD2 zPP$RCZHJ@Yhuv{ZoduD$Lx0nnai z!?JQxb8}Kn=+ma^c;=2(OT6Zl%PUTwq-O6`^=|7{*Ol8J=UmvbFY@K9UUGq& zQ-R(X{^_HEzxIh=+>oEvur#e9J*}Z&S3+d69=TQhgG1n$w1)MwAE-}l+tU;@|I(!; z`^_eAH*LvW=3T}7mHJl0@;|#}k&7p&pfeJu1l_l@O&a^}yu$Bl?z&ILcoo zPTHq4(e7#Hfnh@%*75IX`-Uux+I~ARL~tb3sj{zACD{oS=qPT{t*o_puBP_&*6&~5 zw=A<=t^WGn2TvatTWhiP^Ek!^T3Oh&sl8VnFD!(pk4EQipEFgxB9vCymsUxpRYD;h z;>cblMLpD}9Z56Z*QadPu_rl~cIF3$YDayV_+>CZ$}~Lc&!|z%H%Yh{ee3aqt=|u} zPVs69`jqumXC5zg_=WhM#HhB%&wclJoV0Igyw6!Q&o_Ty+2NK6xwBWN1vcboG%U?% zNY4Pc`NDoD%4+SQR?K^8eQcRJBzU2}W6!lyYv*KCSeWroPyhUjn`!W%?d+|$XzCVs z^HUp^rZ%LfHsC4)Qxhu6+Twb>jwf5`g>Iv6xRn*ZIJe})^%{p~*Lt`^^X{`hK8r9@3oM^F#ky#-=Fs0hz1;ej^ z_&ZMu#uP`U=|!f+N2XOowx1gH`=~XSzwBQA>i0`(@#mu7N1BG)-b;RbdB~z3J72es zu!4$>oa-iheQS94%(knGH(tHF1;`ov%xyPjWoAQzGc!7F+`tHx$2$Bmy&0NW8Ow4rG!OoIZ}hNlJ)h_X*I(5Y zsmD&9Er|4hD6w9Zg2+aPwiEA`yty^57yr%CypL&)6MEe{TD|yS^_j!fj>!k>18?T7 zUS;>}YIysUIjz4X*&hjt{uCa)`m@PG$OT{Ka;ZRX$KIK(78kXC z{O%71zZ_q0viG)My`8drMfAXu3jvSPn5=2?s!_wSxaKv_ekNO??3k;SnFi2lu@L&=1 zY};wg2l3EXH%BAg=7GU6LDAP9{DmLtrZvger*6X4`@R>44OteIu1QT_7LmTJnfj_W zK-W{>CFxXO2+RG;VHag1-0SmGo~ z_%*^P;SaWewa7w4)9h>i4@Qv-lfNC9Zc|X7wyJq@;S!*E7%*-)wSVO=%gtlQi`flZ z_PqSvHH&X<@!_Hyr;uCF-rxA*mi*GH+}*R=BWHa3P}MdjX3t)G@A}&>OglD|_Iq`7 z&$k!TlAmAuTpqLVTlvEL+lxxqdhA{CaY{(&32O@dIK!MmU-$9u{w7ANL&yAD_IQJ) z(#QZ#dra%G`pIc#58pTFerH&r%hkZx0QZQ{Bj~SW?{@iPU6SR+~d}`ZyzY% zG<-eOdst}uv&ZGGXczmH5 zjVFLq6|X+!le->VJp%s*C=|EsDOa4z=c_9HVdVaCCEzLr6dA5i`ejd~-{_cQc!H>K z9xn>6Lgn}^s{Ujcf`ZF5)YSA8>UjV#65_<;iXg6t5)j9SgrTZBvW^~Pat2(D2c>is zDzNH}bVR-j%7yO`mP87{)f({6P@%A4A8BDB6M{rSY(U6`MVG@FbaYXf=Y2J`!GGR>cC#DR{yiU}8PROIFE#d8h)Rb9YX6asIr{19+uWRF zCHoEEw=lP~uvEjvs{I!}VxfpC0L`oYzxlD8jN^z{9EfZ&$T?N0>Ig*nOj<$TUx2%%>SAH|MAcNhWsaW zmj4$2$p8O}{GTKz|82}k=C+fFR@UYgmX`mB|9|BFcgla{GMp-8(NwMg-OGO~b8Bl0 zME+aaSX+}w7O?!cvb6q3{{J^VEDoP15a9rsAy^D(NvTiclyqPyt{@kiZF}SbTSemZV009Q+Ukm2r{;n4pCNA15AL z%;B0Kzr7$4)fq4!dKEwo2aTdXp;!_6iza|TwfISvMY>0;a79oX< zm76D`WhK3EL9V(00@fS@t`H1c0`JZh^1&URpi>c^fFl8NhG=Z6fGT1|LylA-z?>H_ zm?63e&L0vA5gc-m8x$Hc`c72|;V-JRHehn2Xma9lIKc3Q>k%p3=~ROVHjO0}IQsZ_ zx;S{7;GA8Y+`Sw;!4H5$6EGGL6afi9bs_-($kk7=ppXd0XwwpQls?o#ZVMohSiqI<6NM5D31Erj2TvcjE(*|qWCa|7!TLM>>f+_l1t=(xxBV)6Rmq$jz^mrKK33!DX z1k$4iHwV1x~Z9FL79!3ga>IUenO0$y=+UE&y? zbkk8SfXHCQg1$n?B&3I9D|lCP4PBMdadwFhK<%HK&GL(Zft~=X78tewQo$F}V(7Q30sOTgO0D}qSG84SUVqlu`oEd0NN zwf>#_q=Y>%N*I5zLL_4@j4!a3locmJ*VPD7wX>_5{5w7FvL+4~GAvyvV8QLGI*A%j zkjxXrR-{q65)^hSC}hE8lQJ#d-^J6#DFA1I$Ep>I*&=XX#e6eSD2q~pDufLJ92?>i z(4xjTG8t!~&>1=Gcj^sLVrD`D79$QPVp2soF!2Ob3Gr|UcktmR=!mi=)4mia58xm< zFlR>xUw2f}2QXPeF!|VQ90%|fsF%axaoKS=CTtOKaWPErhYvJSF5o|$P|W9pXH*=# z+~Sbs7KbdiirN<3Ie;J8Y?dI}SW9k+gt?iC`1~Z(izs_S6fwb&VUwN)mJ2$O0tO9C z9iT=NC52FBK)UWLPEiad1Rn?hOdVhViT(h^!WI)i1iZi#RMXcz$638fe6MeACQU$q$2!CDl(0Uh~WYraACm@ zvj!2bWh`S!KGH`DP%?Q`x;%r+PdP>V1}y@MY(8B}QLDp)dZ~c*QEW=>Iz%ioz;iww z*tS$U1vcK;is}RYyZk?Nh{L16kY-*!P979zpeYbz*}_=7+~O~5kq9g1^OPIn@Muv; z9ZLFyZ14)VF(pJ$QSH- z00frT`KT-*ghLl`1`Dy>snVo1JdcMYm4kDy%zy6FNQzZ0_MbpWJt8tOs&KgsTBPe65DGpq>? z>n9oELCF=~xXbw>H%%0$2iDy8GpHiFb)jec%Umq``5nxQaf*ynQNEC31s1G|h?4Ih z5xWT!kSAio%e4ebu~SkZs_btiU^x7r9JkVtx*Ag_xAOn;puBn9pP1s|Vs;b--5;R9 z_AUhud+TbZn@G$gMI{TU!E_!6ZQBs%1#Cx-m;+=!CmbM|$B-$0uqXnWAQAp!W(9ZJ z#tN0RVh-$>MEik5ZvUqw30xUWu@Jl?ivuJG-isB*g1`MiFPZQUcY)Ne_r0sE5|+AK zRb>wm{K&1P@&p&~VvtTs8;i$do;9TZAuQZD94QoZ7OTY$BLb1e$0q2{u;7 z#tG6Y0K#xA*i1klD&QP#JoJYI-uJpk6#OD+a|AiW8WW?bY%wGxz+;wB>APJoD4rCW z=xR4YzD-5PjIv1#cLe561r(`J2eEmBOfi%jkl7QCY-oM&Y6(nKnVH%x!~Lrh;D16H zQ~^cj0bNA^*M#l95iHD2aF)hDrzc`W5sEmlBz~#QFGnA+t+}c!oGsIs`-(o6U=XcRob0Pe>#d@dRLf z1;Br^!DnG*24;uZJTYve!@HKq#vbeyK{wzDs3DBQ2Xa}WI2`67#c{+!5xk=aJC(r7 z2GQ}x-!bVyOR79%@OWr!7%xIxxR?b{2UJ6#c*wgY5%(nug*MKlM#CGLd;wr6K^!g$ ziX+N=Vl3D}1N%y8m|F$yy%XAdqLRl8sTAH^Cn#;U%Q??sCyP8d%0fQKRv|$NmVyo! zFI_681id?Nx(2rK09 zOopGJ(hPM#Q*j)?V{9DIMX{9^+!qUB0qz7eqo0*c{}Wmfx<^HUVv)}Lt$xHpg^V10 z*J=_x6Co;B4z?R*3Dq^^U{xwj3Pq4j7a2UbR8*}LhX#vwJf=!1i~&5bFgHh@DD@bo zio`{w)Ir!d?n+IP?-&dxPcwq0xdq7tX952Ik1K$R<0mU#%J8X#4zkj<3{VL>WTk5v zpc1agO4o9La+o5^Uzq$qsBa?1H_(SDz)(XU131_hD=$SQ07PZxCM%I!WuZ=-PgbVB z%3__S1zDLFR2J(rWys2$p}LsD^dT!S$&Y)2Sdy?!ijc#Lf++A!f?{-nBy>ZzPPmJJ zF$DBmc*71>m8b%A#UOd2jtV}N2El5pRH4Sf%eQnLK(~M}2bg^90a&pCk@!LkPGNUW z+EGwI8f!{~V<{yu1&Y1?t}P=Bx0qSL01Kd)O-F_WtL}7JqjtD>C;=~VcDW$CuQ(wq zR^psfatun#DL4d?@k)2V&@W@9I_E%#RyG6A4JH)i|*CogiNG&XfOd%3W4j? z9DEmXPyszdMN`;#rJ+fQDHPLa5Q<(Y8UX4rSSn4x69POSoxv7O6~SDpkz*n;t?h6~ zfEQW|a-k)YBCb3EX5hp7|G=(=RX>=$VB46-rL*7>3#HaMm<4E2Q&bmJ&1NV#vVE-* zSj49>i8KHMY$1UPV8GmASm(nKg*FWBd>9VmMzaJwF0wxoO%<@0!$3ID&KGv4jNX2XhyJrLryLz$v36OC7Tse zY7>+=Okr;V6UlOhyCG0GyXqm8i|(>WBK5g4(*Z;44|h%>Hlf>|O6ZE03Ryf%Z@jAD z1w$N3eh^fpVSs7EU_fw4OQ(Jt;+zmQR9fb5;J;r#>!hP0!Hsw)KNp7p7c5jkah~D` zs00>L06&0*hR4Radj}X#QE;?$T1#akk&ov>=OQ{HRDv*gV#K7A&=96mr{O7)6A>*x zMAGjft>UopohmT?p}|Q9Mgbjw&zMvKbu&)Y1r(Nb)gY2kW$fGJZxGfg zUZxv%l#82D>@CW5veiT`6rM_t1ang{o&Z}33~}xZoZPH{gULW&fOJD*lVB|umT5xR zk4oj@B)$wfk2_w3i-I6NjxT^r`4Ctz5RWk=7ZZpzAaNTg%;i8z5 zUTP^$F1S3bf(J^8ho~wrkvUYL2;$~&aq*z`1nh@p0>0bWYHU`jc6pg})@5XR3F36e zD#XH;g|MJNEiP1sz)L+1w(x+qCBljMI5ZFr=05b?A1vBoco9UDoO43XeW{EgBvOD3 z5=u{gxw!;ToP0b3y}bP?0keHwC|(Y}|FNBMIBwStIl35vdX7RBcAznD6436^EpPAx zRy~c8MN|1MEKyZ;p2!kG93eqryZOgLb0%Qn;6LIKieo{*n2-yt_+jH%-guJ_VU%Mq zM5&eYpd#I&W9;DT;^bp$VQD)F;TJbV`rzDQ!Gbfiw6%tH-e|csO4^)|3sg#YPe_Pk zv!WoF#W3R!QB~M%Toj-vS3X=9IoBvVW%jqmvNEy^(G?Pjp%fx=R%$Y{7`QNmKP8c2 zEG~mbK`Il0E@KFS-8Dd6hr)0San3qm~xxI)-^2i^=hm z9zaELuN;*xr1AK$MhKU~8%yP|#8m*X873+YQrICU*yM!r_nl(^?%+l}Va&+mF?}8jlbKvs^az|05T4*@C^EL}2))+jVk|N5XD_%>t zG^hgU7KvPBCKksj4O}x(vUo5sbZM19nWzYu=g{Q^emILuCoAAbPV9%Xwd9LQC4J{Y zQgJT{=0V!0$d0&Un3Qt{N=bzoDRwB{6wYr-A}JLmo$ zPXeHS^8fsO{vR|7gU;?E_uF^mf3vZeWTTY-&C1Hk{Ga?k|Hb@2-Dl^)^76>J5+v#l znwLjW<@}orHdv}3q=Z~rpU#PGq_+_$g}cf}Fr;@CL5-zWl(RG9G=Sr7(3QUnZCOjj z!AGg$KLLEE!++$IefUzUihWhz= zT#1Va7!$z0;=;xgd=ooiBXI`FyCM|zaXA%I>GTt#hj-SlVWrzx@qB_*k%!BmO1Y#l zrDINV$d*8KZ{oS?5a|9ixYKCN;+lSeM?yQCE66~8i3nDvC*j^R5z77 zqNk)A%OB;$j=ZSQmPJYmF%}CWH$w>`S>%gCydT1qQl^##w4mM<42%UkMilmQfXEd= z9Eq=5PJf26g!2#ZbN6<`Ir(^b0Xr8r9-wVJ9(J>#^(hUK$`%1D8QZ|6(^U@P-HqIAchw@@b`d{1e3-3$t`;(lmUT^{E8Zw?C{lbn>2 z7tH?`2q}v$M3k{SkmcV30gIgyLy_6dm;mEY1tJz#S%6u{$v>$yQK*U6xhg(#+C-rq z%YR7>N(6~KBmS&R#Kvj-z0Cq%{5Q1>qs90;#APQrsqo-Cgr*|=&rCpkpg$}Qon1Tw z9OT8IGMIGcp}g@!B2)D+<irKE7B(bV{%E@Bftl?|Z^^2-ryjk$_4QQCM`KEWina z1wu4N0^4cs0*DeJ;EDO&fQpy`2%@l|XoxLe41ovM8z=(oH<3b7{45k-N68RT#A zQTRTMhV^5M(}l<+tTazF}wi0=BK8=**3FdVAQV7^ExV*KZ^u^<#*7%S4F7O2b7 z5DuvpqG|uo@W}3R5wPZC?npd~3wJ?!00G-2 zmc=U(@VswVjk{ zPK86~(I_8)&2ES-IpmClSF+#?!Qc^GP6(4-S^-`;!=^0%wOmeWJY2OL#boKI@m;kh z4~@oX17M_m>`8)F_muh}f&OEZQ#gNz5KUI$kI^rjO8@uL@CS(}J2-<08Zm!Oz4O-_Z9Oa*=yG*nax(DgyGT7a&y*s!w^U`!~H zRQxDuSU0Sps3e%AZ4A~#W$WKTl&+ADDkc&&MWLGt6p#=VQKh7aGL&Ykp~A_5**M7= zWgY{Gi^qIn-6?liFokAQcH77l9r!C5XIlY%h%I|;vC>Y@d*s@4GfS* zsZ09Jf)guaiiUI$n9!5nhwsU*3~|m#3@nhMXdt>f7mcC^azqglOSS{wM3xNc14JNE zg-Bz{+K3D)06okDkc#3&@k_25EPOnGg?8Ux%!N?_W5m+J&cf2p+6osK;Dn$>R?3qq z6yY3@Kw-F0ptpy&Pmp)#S{>t%I>FqE!pZe5j*qnE<>2k$=He_@EwE`Nm=Kce%*@0> z(-<%lOf5~}4SiEH3tQ@BYdQoWmuBdef*Fk#J_+9LmsaB|;6($e3-3YW=@45)mFt)! z)Ke)Zr4+y?hKm-29~0r(IUU0p?01#HxeF;ADwi4o7@95DYmq<<$#(>Trw^Qe$pCpV`)XQiGVT<{N`UU*I1B(dyA9 zywti-&HYYN;UQFfq>@d6{DGl5i8fW3QC$HeN*+W1X$??1_)sk^SFZq>2vL?G@o<1D z1(Ry55OX-gB636oK2(9+vItF(CG$}!j^IZA&MHDIZWBxp{+&%EhvvVvTjEt70hAwA zHxyM}R(|}dNZz?vLYH=r$#>X&|G6LE021_uhuZEz&QPP)9 zU`j(54jzK4xnP1q8>`kGBs-_dC!t@jvn3|Lp(#x8uL1`#q!ILy=S|7gS9!p-OI&404$VpKPlb;!LpEUStH;VY|#KgBZSe>oM`BrL{iYf=^>CK@^F`lS~R#gg$Bw?lb}jn|H>}` zCOWbru;iR}DkcySe;TBNBJr=U9PzZ5C$*y5<6kU>BB~+>n z$catGgI<`g0uFdp)=K1)6;V*rogxwOnBPDaG>gXe!UEP#1--#vNg6=Oo~0_BqWhSg z&MhFRPT}m+@cSN-HYCY(kktlBI0t9bmn}Hhs7&BADFTR#yv7j*>D(l;J4%#AMI##) zSawYomn8xfA?Z($G(Jev$QC4*Cwmb&QNF+Or~Oe(Nu4i9ae}clJQ(XFdUg%F=sJ<3 zEC+yMwX$7cqAa6L*Ce9=Xf}(+68&qmgVQ$tr->!qsYiEgx*!q?h2*D^(Tk3?EaXY^ zmeT+Lq9ZVQF<^GdhJ_t*q@#qDQdO2^R@VC;qICCk{sFow9%t-I8zQKf;xfVGi)Esc zJG=^1eq^LbiIBM#p-6PS2?B;FO*mL-0%%5(3BtlknKxji4@(#&M=hZG#qb1CI5b@- zl9~t`w2+8JexWb-h*rqOCs8CZM4&pPEOn*|Z4%=PP%E4^RFVc;X_$)20Kr(2HA&J8 zRfxlbWf6~YSAamwj>DlzBe4!4x+JD26SzDPiw2=7<@kI^0Heql89$ul@Vjt;v=f9S z1w&JtN)isTW78C*$*?ZhF*}?;vbm0kPZ-Jz_7kI5 z7$V^Q0yKm}G^!Z3dqv~X?2%$2ntK;LX@)5MXi8VK_7ICuyT5y(i>0|4{B9*PWR3x= znngnmP{Rm_3oBlx2=BslF-7R7n0U3D01mi5`S>(d3%Uwp!q`~x_)9pFbyE>eNKri5 ztkjnLIVo61bg|efmr^=+!$lQO3MN9~o=b9vBZpS_0&pdikXvg7KCMfhBzM;^4E$NK^4oea-!&T~y$dj(jK*YfO zaoZEM4SvGxL`}<|F*|{E`NL)>irb$sjZmZV$L&qTKKyaZu?rG(V?JTl)z6q-Qlqka zlhZ`r@6!b+>KjyaAbnr0a(3bftw;Z3B_W zVz6k)Yvy@awre^Thl9iNqW+}%(XHz7Z&2rqvA4g6LkfC5cIFjH3=iuru-XrdT{&F> zR{CQw^-88#DK+5^X9x!CMl_O16Z1Bzknc!JQ#Mt=5-HXopNdi%TdMHVr+;xZrwRnr zI4pioevL%$^B9uQRHY>m@QBPw3zRMtl?clUpm}1J0L|p7gfb$|0ey=DO8`$n_>B#K zZ>VxQXxw;!DIOQ-#;9s1qc)a5z?UZ!MZmQKs?gAK<54pXDaBw3gd$T^WJp{NXcBz% zeIN*;kC6?GTc%WD+>Y_Iu24yNuq{W>*rqVAGzYhX` zG_-?6WNlIOB0`5@wEDHp$@=i@*DbrnVzXM8WJu(+exf$YP$$!t9(nuv?v}C{*?m=% zD_Tp>IWLW?xsXzqet1_bojp+9i&HrnC($U12Ny%D`HUxP`&$Ip0=G)ZG?n++4XIW) z_86UXucpkZm+g*yGuPA;e`uztP*-hE-Uqvm&EN-z8Tg%Elj~fQhTrN@%-3(L zW@G=jQM0Ptk{_?SXcpJ1Jz;P4x!RSqbbws}000000000000000000000000000000 P0Dr?fjY2+H05}8yuT%Gq diff --git a/databricks_sqlalchemy/pyproject.toml b/databricks_sqlalchemy/pyproject.toml deleted file mode 100644 index 857bceba..00000000 --- a/databricks_sqlalchemy/pyproject.toml +++ /dev/null @@ -1,67 +0,0 @@ -[tool.poetry] -name = "databricks-sqlalchemy" -version = "1.0.0" -description = "Databricks SQLAlchemy plugin for Python" -authors = ["Databricks "] -license = "Apache-2.0" -readme = "README.md" -packages = [{ include = "databricks_sqlalchemy", from = "src" }] -include = ["CHANGELOG.md"] - -[tool.poetry.dependencies] -python = "^3.8.0" -#thrift = ">=0.16.0,<0.21.0" -#pandas = [ -# { version = ">=1.2.5,<2.2.0", python = ">=3.8" } -#] -#pyarrow = ">=14.0.1,<17" - -#lz4 = "^4.0.2" -#requests = "^2.18.1" -#oauthlib = "^3.1.0" -#numpy = [ -# { version = "^1.16.6", python = ">=3.8,<3.11" }, -# { version = "^1.23.4", python = ">=3.11" }, -#] -#sqlalchemy = { version = ">=2.0.21", optional = true } -sqlalchemy = { version = ">=2.0.21" } -#openpyxl = "^3.0.10" -#alembic = { version = "^1.0.11", optional = true } -#urllib3 = ">=1.26" - -#[tool.poetry.extras] -#sqlalchemy = ["sqlalchemy"] -#alembic = ["sqlalchemy", "alembic"] - -[tool.poetry.dev-dependencies] -pytest = "^7.1.2" -mypy = "^1.10.1" -pylint = ">=2.12.0" -black = "^22.3.0" -pytest-dotenv = "^0.5.2" - -[tool.poetry.urls] -"Homepage" = "https://github.com/databricks/databricks-sql-python" -"Bug Tracker" = "https://github.com/databricks/databricks-sql-python/issues" - -#[tool.poetry.plugins."sqlalchemy.dialects"] -#"databricks" = "databricks.sqlalchemy:DatabricksDialect" - -[build-system] -requires = ["poetry-core>=1.0.0"] -build-backend = "poetry.core.masonry.api" - -[tool.mypy] -ignore_missing_imports = "true" -exclude = ['ttypes\.py$', 'TCLIService\.py$'] - -[tool.black] -exclude = '/(\.eggs|\.git|\.hg|\.mypy_cache|\.nox|\.tox|\.venv|\.svn|_build|buck-out|build|dist|thrift_api)/' -# -[tool.pytest.ini_options] -markers = {"reviewed" = "Test case has been reviewed by Databricks"} -minversion = "6.0" -log_cli = "false" -log_cli_level = "INFO" -testpaths = ["tests", "databricks_sqlalchemy/src/databricks_sqlalchemy/test_local"] -env_files = ["test.env"] diff --git a/databricks_sqlalchemy/src/databricks_sqlalchemy/README.sqlalchemy.md b/databricks_sqlalchemy/src/databricks_sqlalchemy/README.sqlalchemy.md deleted file mode 100644 index 8aa51973..00000000 --- a/databricks_sqlalchemy/src/databricks_sqlalchemy/README.sqlalchemy.md +++ /dev/null @@ -1,203 +0,0 @@ -## Databricks dialect for SQLALchemy 2.0 - -The Databricks dialect for SQLAlchemy serves as bridge between [SQLAlchemy](https://www.sqlalchemy.org/) and the Databricks SQL Python driver. The dialect is included with `databricks-sql-connector==3.0.0` and above. A working example demonstrating usage can be found in `examples/sqlalchemy.py`. - -## Usage with SQLAlchemy <= 2.0 -A SQLAlchemy 1.4 compatible dialect was first released in connector [version 2.4](https://github.com/databricks/databricks-sql-python/releases/tag/v2.4.0). Support for SQLAlchemy 1.4 was dropped from the dialect as part of `databricks-sql-connector==3.0.0`. To continue using the dialect with SQLAlchemy 1.x, you can use `databricks-sql-connector^2.4.0`. - - -## Installation - -To install the dialect and its dependencies: - -```shell -pip install databricks-sql-connector[sqlalchemy] -``` - -If you also plan to use `alembic` you can alternatively run: - -```shell -pip install databricks-sql-connector[alembic] -``` - -## Connection String - -Every SQLAlchemy application that connects to a database needs to use an [Engine](https://docs.sqlalchemy.org/en/20/tutorial/engine.html#tutorial-engine), which you can create by passing a connection string to `create_engine`. The connection string must include these components: - -1. Host -2. HTTP Path for a compute resource -3. API access token -4. Initial catalog for the connection -5. Initial schema for the connection - -**Note: Our dialect is built and tested on workspaces with Unity Catalog enabled. Support for the `hive_metastore` catalog is untested.** - -For example: - -```python -import os -from sqlalchemy import create_engine - -host = os.getenv("DATABRICKS_SERVER_HOSTNAME") -http_path = os.getenv("DATABRICKS_HTTP_PATH") -access_token = os.getenv("DATABRICKS_TOKEN") -catalog = os.getenv("DATABRICKS_CATALOG") -schema = os.getenv("DATABRICKS_SCHEMA") - -engine = create_engine( - f"databricks://token:{access_token}@{host}?http_path={http_path}&catalog={catalog}&schema={schema}" - ) -``` - -## Types - -The [SQLAlchemy type hierarchy](https://docs.sqlalchemy.org/en/20/core/type_basics.html) contains backend-agnostic type implementations (represented in CamelCase) and backend-specific types (represented in UPPERCASE). The majority of SQLAlchemy's [CamelCase](https://docs.sqlalchemy.org/en/20/core/type_basics.html#the-camelcase-datatypes) types are supported. This means that a SQLAlchemy application using these types should "just work" with Databricks. - -|SQLAlchemy Type|Databricks SQL Type| -|-|-| -[`BigInteger`](https://docs.sqlalchemy.org/en/20/core/type_basics.html#sqlalchemy.types.BigInteger)| [`BIGINT`](https://docs.databricks.com/en/sql/language-manual/data-types/bigint-type.html) -[`LargeBinary`](https://docs.sqlalchemy.org/en/20/core/type_basics.html#sqlalchemy.types.LargeBinary)| (not supported)| -[`Boolean`](https://docs.sqlalchemy.org/en/20/core/type_basics.html#sqlalchemy.types.Boolean)| [`BOOLEAN`](https://docs.databricks.com/en/sql/language-manual/data-types/boolean-type.html) -[`Date`](https://docs.sqlalchemy.org/en/20/core/type_basics.html#sqlalchemy.types.Date)| [`DATE`](https://docs.databricks.com/en/sql/language-manual/data-types/date-type.html) -[`DateTime`](https://docs.sqlalchemy.org/en/20/core/type_basics.html#sqlalchemy.types.DateTime)| [`TIMESTAMP_NTZ`](https://docs.databricks.com/en/sql/language-manual/data-types/timestamp-ntz-type.html)| -[`Double`](https://docs.sqlalchemy.org/en/20/core/type_basics.html#sqlalchemy.types.Double)| [`DOUBLE`](https://docs.databricks.com/en/sql/language-manual/data-types/double-type.html) -[`Enum`](https://docs.sqlalchemy.org/en/20/core/type_basics.html#sqlalchemy.types.Enum)| (not supported)| -[`Float`](https://docs.sqlalchemy.org/en/20/core/type_basics.html#sqlalchemy.types.Float)| [`FLOAT`](https://docs.databricks.com/en/sql/language-manual/data-types/float-type.html) -[`Integer`](https://docs.sqlalchemy.org/en/20/core/type_basics.html#sqlalchemy.types.Integer)| [`INT`](https://docs.databricks.com/en/sql/language-manual/data-types/int-type.html) -[`Numeric`](https://docs.sqlalchemy.org/en/20/core/type_basics.html#sqlalchemy.types.Numeric)| [`DECIMAL`](https://docs.databricks.com/en/sql/language-manual/data-types/decimal-type.html)| -[`PickleType`](https://docs.sqlalchemy.org/en/20/core/type_basics.html#sqlalchemy.types.PickleType)| (not supported)| -[`SmallInteger`](https://docs.sqlalchemy.org/en/20/core/type_basics.html#sqlalchemy.types.SmallInteger)| [`SMALLINT`](https://docs.databricks.com/en/sql/language-manual/data-types/smallint-type.html) -[`String`](https://docs.sqlalchemy.org/en/20/core/type_basics.html#sqlalchemy.types.String)| [`STRING`](https://docs.databricks.com/en/sql/language-manual/data-types/string-type.html)| -[`Text`](https://docs.sqlalchemy.org/en/20/core/type_basics.html#sqlalchemy.types.Text)| [`STRING`](https://docs.databricks.com/en/sql/language-manual/data-types/string-type.html)| -[`Time`](https://docs.sqlalchemy.org/en/20/core/type_basics.html#sqlalchemy.types.Time)| [`STRING`](https://docs.databricks.com/en/sql/language-manual/data-types/string-type.html)| -[`Unicode`](https://docs.sqlalchemy.org/en/20/core/type_basics.html#sqlalchemy.types.Unicode)| [`STRING`](https://docs.databricks.com/en/sql/language-manual/data-types/string-type.html)| -[`UnicodeText`](https://docs.sqlalchemy.org/en/20/core/type_basics.html#sqlalchemy.types.UnicodeText)| [`STRING`](https://docs.databricks.com/en/sql/language-manual/data-types/string-type.html)| -[`Uuid`](https://docs.sqlalchemy.org/en/20/core/type_basics.html#sqlalchemy.types.Uuid)| [`STRING`](https://docs.databricks.com/en/sql/language-manual/data-types/string-type.html) - -In addition, the dialect exposes three UPPERCASE SQLAlchemy types which are specific to Databricks: - -- [`databricks.sqlalchemy.TINYINT`](https://docs.databricks.com/en/sql/language-manual/data-types/tinyint-type.html) -- [`databricks.sqlalchemy.TIMESTAMP`](https://docs.databricks.com/en/sql/language-manual/data-types/timestamp-type.html) -- [`databricks.sqlalchemy.TIMESTAMP_NTZ`](https://docs.databricks.com/en/sql/language-manual/data-types/timestamp-ntz-type.html) - - -### `LargeBinary()` and `PickleType()` - -Databricks Runtime doesn't currently support binding of binary values in SQL queries, which is a pre-requisite for this functionality in SQLAlchemy. - -## `Enum()` and `CHECK` constraints - -Support for `CHECK` constraints is not implemented in this dialect. Support is planned for a future release. - -SQLAlchemy's `Enum()` type depends on `CHECK` constraints and is therefore not yet supported. - -### `DateTime()`, `TIMESTAMP_NTZ()`, and `TIMESTAMP()` - -Databricks Runtime provides two datetime-like types: `TIMESTAMP` which is always timezone-aware and `TIMESTAMP_NTZ` which is timezone agnostic. Both types can be imported from `databricks.sqlalchemy` and used in your models. - -The SQLAlchemy documentation indicates that `DateTime()` is not timezone-aware by default. So our dialect maps this type to `TIMESTAMP_NTZ()`. In practice, you should never need to use `TIMESTAMP_NTZ()` directly. Just use `DateTime()`. - -If you need your field to be timezone-aware, you can import `TIMESTAMP()` and use it instead. - -_Note that SQLAlchemy documentation suggests that you can declare a `DateTime()` with `timezone=True` on supported backends. However, if you do this with the Databricks dialect, the `timezone` argument will be ignored._ - -```python -from sqlalchemy import DateTime -from databricks.sqlalchemy import TIMESTAMP - -class SomeModel(Base): - some_date_without_timezone = DateTime() - some_date_with_timezone = TIMESTAMP() -``` - -### `String()`, `Text()`, `Unicode()`, and `UnicodeText()` - -Databricks Runtime doesn't support length limitations for `STRING` fields. Therefore `String()` or `String(1)` or `String(255)` will all produce identical DDL. Since `Text()`, `Unicode()`, `UnicodeText()` all use the same underlying type in Databricks SQL, they will generate equivalent DDL. - -### `Time()` - -Databricks Runtime doesn't have a native time-like data type. To implement this type in SQLAlchemy, our dialect stores SQLAlchemy `Time()` values in a `STRING` field. Unlike `DateTime` above, this type can optionally support timezone awareness (since the dialect is in complete control of the strings that we write to the Delta table). - -```python -from sqlalchemy import Time - -class SomeModel(Base): - time_tz = Time(timezone=True) - time_ntz = Time() -``` - - -# Usage Notes - -## `Identity()` and `autoincrement` - -Identity and generated value support is currently limited in this dialect. - -When defining models, SQLAlchemy types can accept an [`autoincrement`](https://docs.sqlalchemy.org/en/20/core/metadata.html#sqlalchemy.schema.Column.params.autoincrement) argument. In our dialect, this argument is currently ignored. To create an auto-incrementing field in your model you can pass in an explicit [`Identity()`](https://docs.sqlalchemy.org/en/20/core/defaults.html#identity-ddl) instead. - -Furthermore, in Databricks Runtime, only `BIGINT` fields can be configured to auto-increment. So in SQLAlchemy, you must use the `BigInteger()` type. - -```python -from sqlalchemy import Identity, String - -class SomeModel(Base): - id = BigInteger(Identity()) - value = String() -``` - -When calling `Base.metadata.create_all()`, the executed DDL will include `GENERATED ALWAYS AS IDENTITY` for the `id` column. This is useful when using SQLAlchemy to generate tables. However, as of this writing, `Identity()` constructs are not captured when SQLAlchemy reflects a table's metadata (support for this is planned). - -## Parameters - -`databricks-sql-connector` supports two approaches to parameterizing SQL queries: native and inline. Our SQLAlchemy 2.0 dialect always uses the native approach and is therefore limited to DBR 14.2 and above. If you are writing parameterized queries to be executed by SQLAlchemy, you must use the "named" paramstyle (`:param`). Read more about parameterization in `docs/parameters.md`. - -## Usage with pandas - -Use [`pandas.DataFrame.to_sql`](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.to_sql.html) and [`pandas.read_sql`](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_sql.html#pandas.read_sql) to write and read from Databricks SQL. These methods both accept a SQLAlchemy connection to interact with Databricks. - -### Read from Databricks SQL into pandas -```python -from sqlalchemy import create_engine -import pandas as pd - -engine = create_engine("databricks://token:dapi***@***.cloud.databricks.com?http_path=***&catalog=main&schema=test") -with engine.connect() as conn: - # This will read the contents of `main.test.some_table` - df = pd.read_sql("some_table", conn) -``` - -### Write to Databricks SQL from pandas - -```python -from sqlalchemy import create_engine -import pandas as pd - -engine = create_engine("databricks://token:dapi***@***.cloud.databricks.com?http_path=***&catalog=main&schema=test") -squares = [(i, i * i) for i in range(100)] -df = pd.DataFrame(data=squares,columns=['x','x_squared']) - -with engine.connect() as conn: - # This will write the contents of `df` to `main.test.squares` - df.to_sql('squares',conn) -``` - -## [`PrimaryKey()`](https://docs.sqlalchemy.org/en/20/core/constraints.html#sqlalchemy.schema.PrimaryKeyConstraint) and [`ForeignKey()`](https://docs.sqlalchemy.org/en/20/core/constraints.html#defining-foreign-keys) - -Unity Catalog workspaces in Databricks support PRIMARY KEY and FOREIGN KEY constraints. _Note that Databricks Runtime does not enforce the integrity of FOREIGN KEY constraints_. You can establish a primary key by setting `primary_key=True` when defining a column. - -When building `ForeignKey` or `ForeignKeyConstraint` objects, you must specify a `name` for the constraint. - -If your model definition requires a self-referential FOREIGN KEY constraint, you must include `use_alter=True` when defining the relationship. - -```python -from sqlalchemy import Table, Column, ForeignKey, BigInteger, String - -users = Table( - "users", - metadata_obj, - Column("id", BigInteger, primary_key=True), - Column("name", String(), nullable=False), - Column("email", String()), - Column("manager_id", ForeignKey("users.id", name="fk_users_manager_id_x_users_id", use_alter=True)) -) -``` diff --git a/databricks_sqlalchemy/src/databricks_sqlalchemy/README.tests.md b/databricks_sqlalchemy/src/databricks_sqlalchemy/README.tests.md deleted file mode 100644 index 3ed92aba..00000000 --- a/databricks_sqlalchemy/src/databricks_sqlalchemy/README.tests.md +++ /dev/null @@ -1,44 +0,0 @@ -## SQLAlchemy Dialect Compliance Test Suite with Databricks - -The contents of the `test/` directory follow the SQLAlchemy developers' [guidance] for running the reusable dialect compliance test suite. Since not every test in the suite is applicable to every dialect, two options are provided to skip tests: - -- Any test can be skipped by subclassing its parent class, re-declaring the test-case and adding a `pytest.mark.skip` directive. -- Any test that is decorated with a `@requires` decorator can be skipped by marking the indicated requirement as `.closed()` in `requirements.py` - -We prefer to skip test cases directly with the first method wherever possible. We only mark requirements as `closed()` if there is no easier option to avoid a test failure. This principally occurs in test cases where the same test in the suite is parametrized, and some parameter combinations are conditionally skipped depending on `requirements.py`. If we skip the entire test method, then we skip _all_ permutations, not just the combinations we don't support. - -## Regression, Unsupported, and Future test cases - -We maintain three files of test cases that we import from the SQLAlchemy source code: - -* **`_regression.py`** contains all the tests cases with tests that we expect to pass for our dialect. Each one is marked with `pytest.mark.reiewed` to indicate that we've evaluated it for relevance. This file only contains base class declarations. -* **`_unsupported.py`** contains test cases that fail because of missing features in Databricks. We mark them as skipped with a `SkipReason` enumeration. If Databricks comes to support these features, those test or entire classes can be moved to `_regression.py`. -* **`_future.py`** contains test cases that fail because of missing features in the dialect itself, but which _are_ supported by Databricks generally. We mark them as skipped with a `FutureFeature` enumeration. These are features that have not been prioritised or that do not violate our acceptance criteria. All of these test cases will eventually move to either `_regression.py`. - -In some cases, only certain tests in class should be skipped with a `SkipReason` or `FutureFeature` justification. In those cases, we import the class into `_regression.py`, then import it from there into one or both of `_future.py` and `_unsupported.py`. If a class needs to be "touched" by regression, unsupported, and future, the class will be imported in that order. If an entire class should be skipped, then we do not import it into `_regression.py` at all. - -We maintain `_extra.py` with test cases that depend on SQLAlchemy's reusable dialect test fixtures but which are specific to Databricks (e.g TinyIntegerTest). - -## Running the reusable dialect tests - -``` -poetry shell -cd src/databricks/sqlalchemy/test -python -m pytest test_suite.py --dburi \ - "databricks://token:$access_token@$host?http_path=$http_path&catalog=$catalog&schema=$schema" -``` - -Whatever schema you pass in the `dburi` argument should be empty. Some tests also require the presence of an empty schema named `test_schema`. Note that we plan to implement our own `provision.py` which SQLAlchemy can automatically use to create an empty schema for testing. But for now this is a manual process. - -You can run only reviewed tests by appending `-m "reviewed"` to the test runner invocation. - -You can run only the unreviewed tests by appending `-m "not reviewed"` instead. - -Note that because these tests depend on SQLAlchemy's custom pytest plugin, they are not discoverable by IDE-based test runners like VSCode or PyCharm and must be invoked from a CLI. - -## Running local unit and e2e tests - -Apart from the SQLAlchemy reusable suite, we maintain our own unit and e2e tests under the `test_local/` directory. These can be invoked from a VSCode or Pycharm since they don't depend on a custom pytest plugin. Due to pytest's lookup order, the `pytest.ini` which is required for running the reusable dialect tests, also conflicts with VSCode and Pycharm's default pytest implementation and overrides the settings in `pyproject.toml`. So to run these tests, you can delete or rename `pytest.ini`. - - -[guidance]: "https://github.com/sqlalchemy/sqlalchemy/blob/rel_2_0_22/README.dialects.rst" diff --git a/databricks_sqlalchemy/src/databricks_sqlalchemy/__init__.py b/databricks_sqlalchemy/src/databricks_sqlalchemy/__init__.py deleted file mode 100644 index 35ea050f..00000000 --- a/databricks_sqlalchemy/src/databricks_sqlalchemy/__init__.py +++ /dev/null @@ -1,4 +0,0 @@ -from databricks_sqlalchemy.base import DatabricksDialect -from databricks_sqlalchemy._types import TINYINT, TIMESTAMP, TIMESTAMP_NTZ - -__all__ = ["TINYINT", "TIMESTAMP", "TIMESTAMP_NTZ"] diff --git a/databricks_sqlalchemy/src/databricks_sqlalchemy/_ddl.py b/databricks_sqlalchemy/src/databricks_sqlalchemy/_ddl.py deleted file mode 100644 index d5d0bf87..00000000 --- a/databricks_sqlalchemy/src/databricks_sqlalchemy/_ddl.py +++ /dev/null @@ -1,100 +0,0 @@ -import re -from sqlalchemy.sql import compiler, sqltypes -import logging - -logger = logging.getLogger(__name__) - - -class DatabricksIdentifierPreparer(compiler.IdentifierPreparer): - """https://docs.databricks.com/en/sql/language-manual/sql-ref-identifiers.html""" - - legal_characters = re.compile(r"^[A-Z0-9_]+$", re.I) - - def __init__(self, dialect): - super().__init__(dialect, initial_quote="`") - - -class DatabricksDDLCompiler(compiler.DDLCompiler): - def post_create_table(self, table): - post = [" USING DELTA"] - if table.comment: - comment = self.sql_compiler.render_literal_value( - table.comment, sqltypes.String() - ) - post.append("COMMENT " + comment) - - post.append("TBLPROPERTIES('delta.feature.allowColumnDefaults' = 'enabled')") - return "\n".join(post) - - def visit_unique_constraint(self, constraint, **kw): - logger.warning("Databricks does not support unique constraints") - pass - - def visit_check_constraint(self, constraint, **kw): - logger.warning("This dialect does not support check constraints") - pass - - def visit_identity_column(self, identity, **kw): - """When configuring an Identity() with Databricks, only the always option is supported. - All other options are ignored. - - Note: IDENTITY columns must always be defined as BIGINT. An exception will be raised if INT is used. - - https://www.databricks.com/blog/2022/08/08/identity-columns-to-generate-surrogate-keys-are-now-available-in-a-lakehouse-near-you.html - """ - text = "GENERATED %s AS IDENTITY" % ( - "ALWAYS" if identity.always else "BY DEFAULT", - ) - return text - - def visit_set_column_comment(self, create, **kw): - return "ALTER TABLE %s ALTER COLUMN %s COMMENT %s" % ( - self.preparer.format_table(create.element.table), - self.preparer.format_column(create.element), - self.sql_compiler.render_literal_value( - create.element.comment, sqltypes.String() - ), - ) - - def visit_drop_column_comment(self, create, **kw): - return "ALTER TABLE %s ALTER COLUMN %s COMMENT ''" % ( - self.preparer.format_table(create.element.table), - self.preparer.format_column(create.element), - ) - - def get_column_specification(self, column, **kwargs): - """ - Emit a log message if a user attempts to set autoincrement=True on a column. - See comments in test_suite.py. We may implement implicit IDENTITY using this - feature in the future, similar to the Microsoft SQL Server dialect. - """ - if column is column.table._autoincrement_column or column.autoincrement is True: - logger.warning( - "Databricks dialect ignores SQLAlchemy's autoincrement semantics. Use explicit Identity() instead." - ) - - colspec = super().get_column_specification(column, **kwargs) - if column.comment is not None: - literal = self.sql_compiler.render_literal_value( - column.comment, sqltypes.STRINGTYPE - ) - colspec += " COMMENT " + literal - - return colspec - - -class DatabricksStatementCompiler(compiler.SQLCompiler): - def limit_clause(self, select, **kw): - """Identical to the default implementation of SQLCompiler.limit_clause except it writes LIMIT ALL instead of LIMIT -1, - since Databricks SQL doesn't support the latter. - - https://docs.databricks.com/en/sql/language-manual/sql-ref-syntax-qry-select-limit.html - """ - text = "" - if select._limit_clause is not None: - text += "\n LIMIT " + self.process(select._limit_clause, **kw) - if select._offset_clause is not None: - if select._limit_clause is None: - text += "\n LIMIT ALL" - text += " OFFSET " + self.process(select._offset_clause, **kw) - return text diff --git a/databricks_sqlalchemy/src/databricks_sqlalchemy/_parse.py b/databricks_sqlalchemy/src/databricks_sqlalchemy/_parse.py deleted file mode 100644 index e9498ec5..00000000 --- a/databricks_sqlalchemy/src/databricks_sqlalchemy/_parse.py +++ /dev/null @@ -1,385 +0,0 @@ -from typing import List, Optional, Dict -import re - -import sqlalchemy -from sqlalchemy.engine import CursorResult -from sqlalchemy.engine.interfaces import ReflectedColumn - -from databricks_sqlalchemy import _types as type_overrides - -""" -This module contains helper functions that can parse the contents -of metadata and exceptions received from DBR. These are mostly just -wrappers around regexes. -""" - - -class DatabricksSqlAlchemyParseException(Exception): - pass - - -def _match_table_not_found_string(message: str) -> bool: - """Return True if the message contains a substring indicating that a table was not found""" - - DBR_LTE_12_NOT_FOUND_STRING = "Table or view not found" - DBR_GT_12_NOT_FOUND_STRING = "TABLE_OR_VIEW_NOT_FOUND" - return any( - [ - DBR_LTE_12_NOT_FOUND_STRING in message, - DBR_GT_12_NOT_FOUND_STRING in message, - ] - ) - - -def _describe_table_extended_result_to_dict_list( - result: CursorResult, -) -> List[Dict[str, str]]: - """Transform the CursorResult of DESCRIBE TABLE EXTENDED into a list of Dictionaries""" - - rows_to_return = [] - for row in result.all(): - this_row = {"col_name": row.col_name, "data_type": row.data_type} - rows_to_return.append(this_row) - - return rows_to_return - - -def extract_identifiers_from_string(input_str: str) -> List[str]: - """For a string input resembling (`a`, `b`, `c`) return a list of identifiers ['a', 'b', 'c']""" - - # This matches the valid character list contained in DatabricksIdentifierPreparer - pattern = re.compile(r"`([A-Za-z0-9_]+)`") - matches = pattern.findall(input_str) - return [i for i in matches] - - -def extract_identifier_groups_from_string(input_str: str) -> List[str]: - """For a string input resembling : - - FOREIGN KEY (`pname`, `pid`, `pattr`) REFERENCES `main`.`pysql_sqlalchemy`.`tb1` (`name`, `id`, `attr`) - - Return ['(`pname`, `pid`, `pattr`)', '(`name`, `id`, `attr`)'] - """ - pattern = re.compile(r"\([`A-Za-z0-9_,\s]*\)") - matches = pattern.findall(input_str) - return [i for i in matches] - - -def extract_three_level_identifier_from_constraint_string(input_str: str) -> dict: - """For a string input resembling : - FOREIGN KEY (`parent_user_id`) REFERENCES `main`.`pysql_dialect_compliance`.`users` (`user_id`) - - Return a dict like - { - "catalog": "main", - "schema": "pysql_dialect_compliance", - "table": "users" - } - - Raise a DatabricksSqlAlchemyParseException if a 3L namespace isn't found - """ - pat = re.compile(r"REFERENCES\s+(.*?)\s*\(") - matches = pat.findall(input_str) - - if not matches: - raise DatabricksSqlAlchemyParseException( - "3L namespace not found in constraint string" - ) - - first_match = matches[0] - parts = first_match.split(".") - - def strip_backticks(input: str): - return input.replace("`", "") - - try: - return { - "catalog": strip_backticks(parts[0]), - "schema": strip_backticks(parts[1]), - "table": strip_backticks(parts[2]), - } - except IndexError: - raise DatabricksSqlAlchemyParseException( - "Incomplete 3L namespace found in constraint string: " + ".".join(parts) - ) - - -def _parse_fk_from_constraint_string(constraint_str: str) -> dict: - """Build a dictionary of foreign key constraint information from a constraint string. - - For example: - - ``` - FOREIGN KEY (`pname`, `pid`, `pattr`) REFERENCES `main`.`pysql_dialect_compliance`.`tb1` (`name`, `id`, `attr`) - ``` - - Return a dictionary like: - - ``` - { - "constrained_columns": ["pname", "pid", "pattr"], - "referred_table": "tb1", - "referred_schema": "pysql_dialect_compliance", - "referred_columns": ["name", "id", "attr"] - } - ``` - - Note that the constraint name doesn't appear in the constraint string so it will not - be present in the output of this function. - """ - - referred_table_dict = extract_three_level_identifier_from_constraint_string( - constraint_str - ) - referred_table = referred_table_dict["table"] - referred_schema = referred_table_dict["schema"] - - # _extracted is a tuple of two lists of identifiers - # we assume the first immediately follows "FOREIGN KEY" and the second - # immediately follows REFERENCES $tableName - _extracted = extract_identifier_groups_from_string(constraint_str) - constrained_columns_str, referred_columns_str = ( - _extracted[0], - _extracted[1], - ) - - constrained_columns = extract_identifiers_from_string(constrained_columns_str) - referred_columns = extract_identifiers_from_string(referred_columns_str) - - return { - "constrained_columns": constrained_columns, - "referred_table": referred_table, - "referred_columns": referred_columns, - "referred_schema": referred_schema, - } - - -def build_fk_dict( - fk_name: str, fk_constraint_string: str, schema_name: Optional[str] -) -> dict: - """ - Given a foriegn key name and a foreign key constraint string, return a dictionary - with the following keys: - - name - the name of the foreign key constraint - constrained_columns - a list of column names that make up the foreign key - referred_table - the name of the table that the foreign key references - referred_columns - a list of column names that are referenced by the foreign key - referred_schema - the name of the schema that the foreign key references. - - referred schema will be None if the schema_name argument is None. - This is required by SQLAlchey's ComponentReflectionTest::test_get_foreign_keys - """ - - # The foreign key name is not contained in the constraint string so we - # need to add it manually - base_fk_dict = _parse_fk_from_constraint_string(fk_constraint_string) - - if not schema_name: - schema_override_dict = dict(referred_schema=None) - else: - schema_override_dict = {} - - # mypy doesn't like this method of conditionally adding a key to a dictionary - # while keeping everything immutable - complete_foreign_key_dict = { - "name": fk_name, - **base_fk_dict, - **schema_override_dict, # type: ignore - } - - return complete_foreign_key_dict - - -def _parse_pk_columns_from_constraint_string(constraint_str: str) -> List[str]: - """Build a list of constrained columns from a constraint string returned by DESCRIBE TABLE EXTENDED - - For example: - - PRIMARY KEY (`id`, `name`, `email_address`) - - Returns a list like - - ["id", "name", "email_address"] - """ - - _extracted = extract_identifiers_from_string(constraint_str) - - return _extracted - - -def build_pk_dict(pk_name: str, pk_constraint_string: str) -> dict: - """Given a primary key name and a primary key constraint string, return a dictionary - with the following keys: - - constrained_columns - A list of string column names that make up the primary key - - name - The name of the primary key constraint - """ - - constrained_columns = _parse_pk_columns_from_constraint_string(pk_constraint_string) - - return {"constrained_columns": constrained_columns, "name": pk_name} - - -def match_dte_rows_by_value(dte_output: List[Dict[str, str]], match: str) -> List[dict]: - """Return a list of dictionaries containing only the col_name:data_type pairs where the `data_type` - value contains the match argument. - - Today, DESCRIBE TABLE EXTENDED doesn't give a deterministic name to the fields - a constraint will be found in its output. So we cycle through its output looking - for a match. This is brittle. We could optionally make two roundtrips: the first - would query information_schema for the name of the constraint on this table, and - a second to DESCRIBE TABLE EXTENDED, at which point we would know the name of the - constraint. But for now we instead assume that Python list comprehension is faster - than a network roundtrip - """ - - output_rows = [] - - for row_dict in dte_output: - if match in row_dict["data_type"]: - output_rows.append(row_dict) - - return output_rows - - -def match_dte_rows_by_key(dte_output: List[Dict[str, str]], match: str) -> List[dict]: - """Return a list of dictionaries containing only the col_name:data_type pairs where the `col_name` - value contains the match argument. - """ - - output_rows = [] - - for row_dict in dte_output: - if match in row_dict["col_name"]: - output_rows.append(row_dict) - - return output_rows - - -def get_fk_strings_from_dte_output(dte_output: List[Dict[str, str]]) -> List[dict]: - """If the DESCRIBE TABLE EXTENDED output contains foreign key constraints, return a list of dictionaries, - one dictionary per defined constraint - """ - - output = match_dte_rows_by_value(dte_output, "FOREIGN KEY") - - return output - - -def get_pk_strings_from_dte_output( - dte_output: List[Dict[str, str]] -) -> Optional[List[dict]]: - """If the DESCRIBE TABLE EXTENDED output contains primary key constraints, return a list of dictionaries, - one dictionary per defined constraint. - - Returns None if no primary key constraints are found. - """ - - output = match_dte_rows_by_value(dte_output, "PRIMARY KEY") - - return output - - -def get_comment_from_dte_output(dte_output: List[Dict[str, str]]) -> Optional[str]: - """Returns the value of the first "Comment" col_name data in dte_output""" - output = match_dte_rows_by_key(dte_output, "Comment") - if not output: - return None - else: - return output[0]["data_type"] - - -# The keys of this dictionary are the values we expect to see in a -# TGetColumnsRequest's .TYPE_NAME attribute. -# These are enumerated in ttypes.py as class TTypeId. -# TODO: confirm that all types in TTypeId are included here. -GET_COLUMNS_TYPE_MAP = { - "boolean": sqlalchemy.types.Boolean, - "smallint": sqlalchemy.types.SmallInteger, - "tinyint": type_overrides.TINYINT, - "int": sqlalchemy.types.Integer, - "bigint": sqlalchemy.types.BigInteger, - "float": sqlalchemy.types.Float, - "double": sqlalchemy.types.Float, - "string": sqlalchemy.types.String, - "varchar": sqlalchemy.types.String, - "char": sqlalchemy.types.String, - "binary": sqlalchemy.types.String, - "array": sqlalchemy.types.String, - "map": sqlalchemy.types.String, - "struct": sqlalchemy.types.String, - "uniontype": sqlalchemy.types.String, - "decimal": sqlalchemy.types.Numeric, - "timestamp": type_overrides.TIMESTAMP, - "timestamp_ntz": type_overrides.TIMESTAMP_NTZ, - "date": sqlalchemy.types.Date, -} - - -def parse_numeric_type_precision_and_scale(type_name_str): - """Return an intantiated sqlalchemy Numeric() type that preserves the precision and scale indicated - in the output from TGetColumnsRequest. - - type_name_str - The value of TGetColumnsReq.TYPE_NAME. - - If type_name_str is "DECIMAL(18,5) returns sqlalchemy.types.Numeric(18,5) - """ - - pattern = re.compile(r"DECIMAL\((\d+,\d+)\)") - match = re.search(pattern, type_name_str) - precision_and_scale = match.group(1) - precision, scale = tuple(precision_and_scale.split(",")) - - return sqlalchemy.types.Numeric(int(precision), int(scale)) - - -def parse_column_info_from_tgetcolumnsresponse(thrift_resp_row) -> ReflectedColumn: - """Returns a dictionary of the ReflectedColumn schema parsed from - a single of the result of a TGetColumnsRequest thrift RPC - """ - - pat = re.compile(r"^\w+") - - # This method assumes a valid TYPE_NAME field in the response. - # TODO: add error handling in case TGetColumnsResponse format changes - - _raw_col_type = re.search(pat, thrift_resp_row.TYPE_NAME).group(0).lower() # type: ignore - _col_type = GET_COLUMNS_TYPE_MAP[_raw_col_type] - - if _raw_col_type == "decimal": - final_col_type = parse_numeric_type_precision_and_scale( - thrift_resp_row.TYPE_NAME - ) - else: - final_col_type = _col_type - - # See comments about autoincrement in test_suite.py - # Since Databricks SQL doesn't currently support inline AUTOINCREMENT declarations - # the autoincrement must be manually declared with an Identity() construct in SQLAlchemy - # Other dialects can perform this extra Identity() step automatically. But that is not - # implemented in the Databricks dialect right now. So autoincrement is currently always False. - # It's not clear what IS_AUTO_INCREMENT in the thrift response actually reflects or whether - # it ever returns a `YES`. - - # Per the guidance in SQLAlchemy's docstrings, we prefer to not even include an autoincrement - # key in this dictionary. - this_column = { - "name": thrift_resp_row.COLUMN_NAME, - "type": final_col_type, - "nullable": bool(thrift_resp_row.NULLABLE), - "default": thrift_resp_row.COLUMN_DEF, - "comment": thrift_resp_row.REMARKS or None, - } - - # TODO: figure out how to return sqlalchemy.interfaces in a way that mypy respects - return this_column # type: ignore diff --git a/databricks_sqlalchemy/src/databricks_sqlalchemy/_types.py b/databricks_sqlalchemy/src/databricks_sqlalchemy/_types.py deleted file mode 100644 index 6d32ff59..00000000 --- a/databricks_sqlalchemy/src/databricks_sqlalchemy/_types.py +++ /dev/null @@ -1,325 +0,0 @@ -from datetime import datetime, time, timezone -from itertools import product -from typing import Any, Union, Optional - -import sqlalchemy -from sqlalchemy.engine.interfaces import Dialect -from sqlalchemy.ext.compiler import compiles - -# from databricks.sql.utils import ParamEscaper -import databricks.sql -from databricks.sql.utils import ParamEscaper - - -def process_literal_param_hack(value: Any): - """This method is supposed to accept a Python type and return a string representation of that type. - But due to some weirdness in the way SQLAlchemy's literal rendering works, we have to return - the value itself because, by the time it reaches our custom type code, it's already been converted - into a string. - - TimeTest - DateTimeTest - DateTimeTZTest - - This dynamic only seems to affect the literal rendering of datetime and time objects. - - All fail without this hack in-place. I'm not sure why. But it works. - """ - return value - - -@compiles(sqlalchemy.types.Enum, "databricks") -@compiles(sqlalchemy.types.String, "databricks") -@compiles(sqlalchemy.types.Text, "databricks") -@compiles(sqlalchemy.types.Time, "databricks") -@compiles(sqlalchemy.types.Unicode, "databricks") -@compiles(sqlalchemy.types.UnicodeText, "databricks") -@compiles(sqlalchemy.types.Uuid, "databricks") -def compile_string_databricks(type_, compiler, **kw): - """ - We override the default compilation for Enum(), String(), Text(), and Time() because SQLAlchemy - defaults to incompatible / abnormal compiled names - - Enum -> VARCHAR - String -> VARCHAR[LENGTH] - Text -> VARCHAR[LENGTH] - Time -> TIME - Unicode -> VARCHAR[LENGTH] - UnicodeText -> TEXT - Uuid -> CHAR[32] - - But all of these types will be compiled to STRING in Databricks SQL - """ - return "STRING" - - -@compiles(sqlalchemy.types.Integer, "databricks") -def compile_integer_databricks(type_, compiler, **kw): - """ - We need to override the default Integer compilation rendering because Databricks uses "INT" instead of "INTEGER" - """ - return "INT" - - -@compiles(sqlalchemy.types.LargeBinary, "databricks") -def compile_binary_databricks(type_, compiler, **kw): - """ - We need to override the default LargeBinary compilation rendering because Databricks uses "BINARY" instead of "BLOB" - """ - return "BINARY" - - -@compiles(sqlalchemy.types.Numeric, "databricks") -def compile_numeric_databricks(type_, compiler, **kw): - """ - We need to override the default Numeric compilation rendering because Databricks uses "DECIMAL" instead of "NUMERIC" - - The built-in visit_DECIMAL behaviour captures the precision and scale. Here we're just mapping calls to compile Numeric - to the SQLAlchemy Decimal() implementation - """ - return compiler.visit_DECIMAL(type_, **kw) - - -@compiles(sqlalchemy.types.DateTime, "databricks") -def compile_datetime_databricks(type_, compiler, **kw): - """ - We need to override the default DateTime compilation rendering because Databricks uses "TIMESTAMP_NTZ" instead of "DATETIME" - """ - return "TIMESTAMP_NTZ" - - -@compiles(sqlalchemy.types.ARRAY, "databricks") -def compile_array_databricks(type_, compiler, **kw): - """ - SQLAlchemy's default ARRAY can't compile as it's only implemented for Postgresql. - The Postgres implementation works for Databricks SQL, so we duplicate that here. - - :type_: - This is an instance of sqlalchemy.types.ARRAY which always includes an item_type attribute - which is itself an instance of TypeEngine - - https://docs.sqlalchemy.org/en/20/core/type_basics.html#sqlalchemy.types.ARRAY - """ - - inner = compiler.process(type_.item_type, **kw) - - return f"ARRAY<{inner}>" - - -class TIMESTAMP_NTZ(sqlalchemy.types.TypeDecorator): - """Represents values comprising values of fields year, month, day, hour, minute, and second. - All operations are performed without taking any time zone into account. - - Our dialect maps sqlalchemy.types.DateTime() to this type, which means that all DateTime() - objects are stored without tzinfo. To read and write timezone-aware datetimes use - databricks.sql.TIMESTAMP instead. - - https://docs.databricks.com/en/sql/language-manual/data-types/timestamp-ntz-type.html - """ - - impl = sqlalchemy.types.DateTime - - cache_ok = True - - def process_result_value(self, value: Union[None, datetime], dialect): - if value is None: - return None - return value.replace(tzinfo=None) - - -class TIMESTAMP(sqlalchemy.types.TypeDecorator): - """Represents values comprising values of fields year, month, day, hour, minute, and second, - with the session local time-zone. - - Our dialect maps sqlalchemy.types.DateTime() to TIMESTAMP_NTZ, which means that all DateTime() - objects are stored without tzinfo. To read and write timezone-aware datetimes use - this type instead. - - ```python - # This won't work - `Column(sqlalchemy.DateTime(timezone=True))` - - # But this does - `Column(TIMESTAMP)` - ```` - - https://docs.databricks.com/en/sql/language-manual/data-types/timestamp-type.html - """ - - impl = sqlalchemy.types.DateTime - - cache_ok = True - - def process_result_value(self, value: Union[None, datetime], dialect): - if value is None: - return None - - if not value.tzinfo: - return value.replace(tzinfo=timezone.utc) - return value - - def process_bind_param( - self, value: Union[datetime, None], dialect - ) -> Optional[datetime]: - """pysql can pass datetime.datetime() objects directly to DBR""" - return value - - def process_literal_param( - self, value: Union[datetime, None], dialect: Dialect - ) -> str: - """ """ - return process_literal_param_hack(value) - - -@compiles(TIMESTAMP, "databricks") -def compile_timestamp_databricks(type_, compiler, **kw): - """ - We need to override the default DateTime compilation rendering because Databricks uses "TIMESTAMP_NTZ" instead of "DATETIME" - """ - return "TIMESTAMP" - - -class DatabricksTimeType(sqlalchemy.types.TypeDecorator): - """Databricks has no native TIME type. So we store it as a string.""" - - impl = sqlalchemy.types.Time - cache_ok = True - - BASE_FMT = "%H:%M:%S" - MICROSEC_PART = ".%f" - TIMEZONE_PART = "%z" - - def _generate_fmt_string(self, ms: bool, tz: bool) -> str: - """Return a format string for datetime.strptime() that includes or excludes microseconds and timezone.""" - _ = lambda x, y: x if y else "" - return f"{self.BASE_FMT}{_(self.MICROSEC_PART,ms)}{_(self.TIMEZONE_PART,tz)}" - - @property - def allowed_fmt_strings(self): - """Time strings can be read with or without microseconds and with or without a timezone.""" - - if not hasattr(self, "_allowed_fmt_strings"): - ms_switch = tz_switch = [True, False] - self._allowed_fmt_strings = [ - self._generate_fmt_string(x, y) - for x, y in product(ms_switch, tz_switch) - ] - - return self._allowed_fmt_strings - - def _parse_result_string(self, value: str) -> time: - """Parse a string into a time object. Try all allowed formats until one works.""" - for fmt in self.allowed_fmt_strings: - try: - # We use timetz() here because we want to preserve the timezone information - # Calling .time() will strip the timezone information - return datetime.strptime(value, fmt).timetz() - except ValueError: - pass - - raise ValueError(f"Could not parse time string {value}") - - def _determine_fmt_string(self, value: time) -> str: - """Determine which format string to use to render a time object as a string.""" - ms_bool = value.microsecond > 0 - tz_bool = value.tzinfo is not None - return self._generate_fmt_string(ms_bool, tz_bool) - - def process_bind_param(self, value: Union[time, None], dialect) -> Union[None, str]: - """Values sent to the database are converted to %:H:%M:%S strings.""" - if value is None: - return None - fmt_string = self._determine_fmt_string(value) - return value.strftime(fmt_string) - - # mypy doesn't like this workaround because TypeEngine wants process_literal_param to return a string - def process_literal_param(self, value, dialect) -> time: # type: ignore - """ """ - return process_literal_param_hack(value) - - def process_result_value( - self, value: Union[None, str], dialect - ) -> Union[time, None]: - """Values received from the database are parsed into datetime.time() objects""" - if value is None: - return None - - return self._parse_result_string(value) - - -class DatabricksStringType(sqlalchemy.types.TypeDecorator): - """We have to implement our own String() type because SQLAlchemy's default implementation - wants to escape single-quotes with a doubled single-quote. Databricks uses a backslash for - escaping of literal strings. And SQLAlchemy's default escaping breaks Databricks SQL. - """ - - impl = sqlalchemy.types.String - cache_ok = True - pe = ParamEscaper() - - def process_literal_param(self, value, dialect) -> str: - """SQLAlchemy's default string escaping for backslashes doesn't work for databricks. The logic here - implements the same logic as our legacy inline escaping logic. - """ - - return self.pe.escape_string(value) - - def literal_processor(self, dialect): - """We manually override this method to prevent further processing of the string literal beyond - what happens in the process_literal_param() method. - - The SQLAlchemy docs _specifically_ say to not override this method. - - It appears that any processing that happens from TypeEngine.process_literal_param happens _before_ - and _in addition to_ whatever the class's impl.literal_processor() method does. The String.literal_processor() - method performs a string replacement that doubles any single-quote in the contained string. This raises a syntax - error in Databricks. And it's not necessary because ParamEscaper() already implements all the escaping we need. - - We should consider opening an issue on the SQLAlchemy project to see if I'm using it wrong. - - See type_api.py::TypeEngine.literal_processor: - - ```python - def process(value: Any) -> str: - return fixed_impl_processor( - fixed_process_literal_param(value, dialect) - ) - ``` - - That call to fixed_impl_processor wraps the result of fixed_process_literal_param (which is the - process_literal_param defined in our Databricks dialect) - - https://docs.sqlalchemy.org/en/20/core/custom_types.html#sqlalchemy.types.TypeDecorator.literal_processor - """ - - def process(value): - """This is a copy of the default String.literal_processor() method but stripping away - its double-escaping behaviour for single-quotes. - """ - - _step1 = self.process_literal_param(value, dialect="databricks") - if dialect.identifier_preparer._double_percents: - _step2 = _step1.replace("%", "%%") - else: - _step2 = _step1 - - return "%s" % _step2 - - return process - - -class TINYINT(sqlalchemy.types.TypeDecorator): - """Represents 1-byte signed integers - - Acts like a sqlalchemy SmallInteger() in Python but writes to a TINYINT field in Databricks - - https://docs.databricks.com/en/sql/language-manual/data-types/tinyint-type.html - """ - - impl = sqlalchemy.types.SmallInteger - cache_ok = True - - -@compiles(TINYINT, "databricks") -def compile_tinyint(type_, compiler, **kw): - return "TINYINT" diff --git a/databricks_sqlalchemy/src/databricks_sqlalchemy/base.py b/databricks_sqlalchemy/src/databricks_sqlalchemy/base.py deleted file mode 100644 index 0cff681c..00000000 --- a/databricks_sqlalchemy/src/databricks_sqlalchemy/base.py +++ /dev/null @@ -1,436 +0,0 @@ -from typing import Any, List, Optional, Dict, Union - -import databricks_sqlalchemy._ddl as dialect_ddl_impl -import databricks_sqlalchemy._types as dialect_type_impl -from databricks import sql -from databricks_sqlalchemy._parse import ( - _describe_table_extended_result_to_dict_list, - _match_table_not_found_string, - build_fk_dict, - build_pk_dict, - get_fk_strings_from_dte_output, - get_pk_strings_from_dte_output, - get_comment_from_dte_output, - parse_column_info_from_tgetcolumnsresponse, -) - -import sqlalchemy -from sqlalchemy import DDL, event -from sqlalchemy.engine import Connection, Engine, default, reflection -from sqlalchemy.engine.interfaces import ( - ReflectedForeignKeyConstraint, - ReflectedPrimaryKeyConstraint, - ReflectedColumn, - ReflectedTableComment, -) -from sqlalchemy.engine.reflection import ReflectionDefaults -from sqlalchemy.exc import DatabaseError, SQLAlchemyError - -try: - import alembic -except ImportError: - pass -else: - from alembic.ddl import DefaultImpl - - class DatabricksImpl(DefaultImpl): - __dialect__ = "databricks" - - -import logging - -logger = logging.getLogger(__name__) - - -class DatabricksDialect(default.DefaultDialect): - """This dialect implements only those methods required to pass our e2e tests""" - - # See sqlalchemy.engine.interfaces for descriptions of each of these properties - name: str = "databricks" - driver: str = "databricks" - default_schema_name: str = "default" - preparer = dialect_ddl_impl.DatabricksIdentifierPreparer # type: ignore - ddl_compiler = dialect_ddl_impl.DatabricksDDLCompiler - statement_compiler = dialect_ddl_impl.DatabricksStatementCompiler - supports_statement_cache: bool = True - supports_multivalues_insert: bool = True - supports_native_decimal: bool = True - supports_sane_rowcount: bool = False - non_native_boolean_check_constraint: bool = False - supports_identity_columns: bool = True - supports_schemas: bool = True - default_paramstyle: str = "named" - div_is_floordiv: bool = False - supports_default_values: bool = False - supports_server_side_cursors: bool = False - supports_sequences: bool = False - supports_native_boolean: bool = True - - colspecs = { - sqlalchemy.types.DateTime: dialect_type_impl.TIMESTAMP_NTZ, - sqlalchemy.types.Time: dialect_type_impl.DatabricksTimeType, - sqlalchemy.types.String: dialect_type_impl.DatabricksStringType, - } - - # SQLAlchemy requires that a table with no primary key - # constraint return a dictionary that looks like this. - EMPTY_PK: Dict[str, Any] = {"constrained_columns": [], "name": None} - - # SQLAlchemy requires that a table with no foreign keys - # defined return an empty list. Same for indexes. - EMPTY_FK: List - EMPTY_INDEX: List - EMPTY_FK = EMPTY_INDEX = [] - - @classmethod - def import_dbapi(cls): - return sql - - def _force_paramstyle_to_native_mode(self): - """This method can be removed after databricks-sql-connector wholly switches to NATIVE ParamApproach. - - This is a hack to trick SQLAlchemy into using a different paramstyle - than the one declared by this module in src/databricks/sql/__init__.py - - This method is called _after_ the dialect has been initialised, which is important because otherwise - our users would need to include a `paramstyle` argument in their SQLAlchemy connection string. - - This dialect is written to support NATIVE queries. Although the INLINE approach can technically work, - the same behaviour can be achieved within SQLAlchemy itself using its literal_processor methods. - """ - - self.paramstyle = self.default_paramstyle - - def create_connect_args(self, url): - # TODO: can schema be provided after HOST? - # Expected URI format is: databricks+thrift://token:dapi***@***.cloud.databricks.com?http_path=/sql/*** - - kwargs = { - "server_hostname": url.host, - "access_token": url.password, - "http_path": url.query.get("http_path"), - "catalog": url.query.get("catalog"), - "schema": url.query.get("schema"), - "use_inline_params": False, - } - - self.schema = kwargs["schema"] - self.catalog = kwargs["catalog"] - - self._force_paramstyle_to_native_mode() - - return [], kwargs - - def get_columns( - self, connection, table_name, schema=None, **kwargs - ) -> List[ReflectedColumn]: - """Return information about columns in `table_name`.""" - - with self.get_connection_cursor(connection) as cur: - resp = cur.columns( - catalog_name=self.catalog, - schema_name=schema or self.schema, - table_name=table_name, - ).fetchall() - - if not resp: - # TGetColumnsRequest will not raise an exception if passed a table that doesn't exist - # But Databricks supports tables with no columns. So if the result is an empty list, - # we need to check if the table exists (and raise an exception if not) or simply return - # an empty list. - self._describe_table_extended( - connection, - table_name, - self.catalog, - schema or self.schema, - expect_result=False, - ) - return resp - columns = [] - for col in resp: - row_dict = parse_column_info_from_tgetcolumnsresponse(col) - columns.append(row_dict) - - return columns - - def _describe_table_extended( - self, - connection: Connection, - table_name: str, - catalog_name: Optional[str] = None, - schema_name: Optional[str] = None, - expect_result=True, - ) -> Union[List[Dict[str, str]], None]: - """Run DESCRIBE TABLE EXTENDED on a table and return a list of dictionaries of the result. - - This method is the fastest way to check for the presence of a table in a schema. - - If expect_result is False, this method returns None as the output dict isn't required. - - Raises NoSuchTableError if the table is not present in the schema. - """ - - _target_catalog = catalog_name or self.catalog - _target_schema = schema_name or self.schema - _target = f"`{_target_catalog}`.`{_target_schema}`.`{table_name}`" - - # sql injection risk? - # DESCRIBE TABLE EXTENDED in DBR doesn't support parameterised inputs :( - stmt = DDL(f"DESCRIBE TABLE EXTENDED {_target}") - - try: - result = connection.execute(stmt) - except DatabaseError as e: - if _match_table_not_found_string(str(e)): - raise sqlalchemy.exc.NoSuchTableError( - f"No such table {table_name}" - ) from e - raise e - - if not expect_result: - return None - - fmt_result = _describe_table_extended_result_to_dict_list(result) - return fmt_result - - @reflection.cache - def get_pk_constraint( - self, - connection, - table_name: str, - schema: Optional[str] = None, - **kw: Any, - ) -> ReflectedPrimaryKeyConstraint: - """Fetch information about the primary key constraint on table_name. - - Returns a dictionary with these keys: - constrained_columns - a list of column names that make up the primary key. Results is an empty list - if no PRIMARY KEY is defined. - - name - the name of the primary key constraint - """ - - result = self._describe_table_extended( - connection=connection, - table_name=table_name, - schema_name=schema, - ) - - # Type ignore is because mypy knows that self._describe_table_extended *can* - # return None (even though it never will since expect_result defaults to True) - raw_pk_constraints: List = get_pk_strings_from_dte_output(result) # type: ignore - if not any(raw_pk_constraints): - return self.EMPTY_PK # type: ignore - - if len(raw_pk_constraints) > 1: - logger.warning( - "Found more than one primary key constraint in DESCRIBE TABLE EXTENDED output. " - "This is unexpected. Please report this as a bug. " - "Only the first primary key constraint will be returned." - ) - - first_pk_constraint = raw_pk_constraints[0] - pk_name = first_pk_constraint.get("col_name") - pk_constraint_string = first_pk_constraint.get("data_type") - - # TODO: figure out how to return sqlalchemy.interfaces in a way that mypy respects - return build_pk_dict(pk_name, pk_constraint_string) # type: ignore - - def get_foreign_keys( - self, connection, table_name, schema=None, **kw - ) -> List[ReflectedForeignKeyConstraint]: - """Return information about foreign_keys in `table_name`.""" - - result = self._describe_table_extended( - connection=connection, - table_name=table_name, - schema_name=schema, - ) - - # Type ignore is because mypy knows that self._describe_table_extended *can* - # return None (even though it never will since expect_result defaults to True) - raw_fk_constraints: List = get_fk_strings_from_dte_output(result) # type: ignore - - if not any(raw_fk_constraints): - return self.EMPTY_FK - - fk_constraints = [] - for constraint_dict in raw_fk_constraints: - fk_name = constraint_dict.get("col_name") - fk_constraint_string = constraint_dict.get("data_type") - this_constraint_dict = build_fk_dict( - fk_name, fk_constraint_string, schema_name=schema - ) - fk_constraints.append(this_constraint_dict) - - # TODO: figure out how to return sqlalchemy.interfaces in a way that mypy respects - return fk_constraints # type: ignore - - def get_indexes(self, connection, table_name, schema=None, **kw): - """SQLAlchemy requires this method. Databricks doesn't support indexes.""" - return self.EMPTY_INDEX - - @reflection.cache - def get_table_names(self, connection: Connection, schema=None, **kwargs): - """Return a list of tables in the current schema.""" - - _target_catalog = self.catalog - _target_schema = schema or self.schema - _target = f"`{_target_catalog}`.`{_target_schema}`" - - stmt = DDL(f"SHOW TABLES FROM {_target}") - - tables_result = connection.execute(stmt).all() - views_result = self.get_view_names(connection=connection, schema=schema) - - # In Databricks, SHOW TABLES FROM returns both tables and views. - # Potential optimisation: rewrite this to instead query information_schema - tables_minus_views = [ - row.tableName for row in tables_result if row.tableName not in views_result - ] - - return tables_minus_views - - @reflection.cache - def get_view_names( - self, - connection, - schema=None, - only_materialized=False, - only_temp=False, - **kwargs, - ) -> List[str]: - """Returns a list of string view names contained in the schema, if any.""" - - _target_catalog = self.catalog - _target_schema = schema or self.schema - _target = f"`{_target_catalog}`.`{_target_schema}`" - - stmt = DDL(f"SHOW VIEWS FROM {_target}") - result = connection.execute(stmt).all() - - return [ - row.viewName - for row in result - if (not only_materialized or row.isMaterialized) - and (not only_temp or row.isTemporary) - ] - - @reflection.cache - def get_materialized_view_names( - self, connection: Connection, schema: Optional[str] = None, **kw: Any - ) -> List[str]: - """A wrapper around get_view_names that fetches only the names of materialized views""" - return self.get_view_names(connection, schema, only_materialized=True) - - @reflection.cache - def get_temp_view_names( - self, connection: Connection, schema: Optional[str] = None, **kw: Any - ) -> List[str]: - """A wrapper around get_view_names that fetches only the names of temporary views""" - return self.get_view_names(connection, schema, only_temp=True) - - def do_rollback(self, dbapi_connection): - # Databricks SQL Does not support transactions - pass - - @reflection.cache - def has_table( - self, connection, table_name, schema=None, catalog=None, **kwargs - ) -> bool: - """For internal dialect use, check the existence of a particular table - or view in the database. - """ - - try: - self._describe_table_extended( - connection=connection, - table_name=table_name, - catalog_name=catalog, - schema_name=schema, - ) - return True - except sqlalchemy.exc.NoSuchTableError as e: - return False - - def get_connection_cursor(self, connection): - """Added for backwards compatibility with 1.3.x""" - if hasattr(connection, "_dbapi_connection"): - return connection._dbapi_connection.dbapi_connection.cursor() - elif hasattr(connection, "raw_connection"): - return connection.raw_connection().cursor() - elif hasattr(connection, "connection"): - return connection.connection.cursor() - - raise SQLAlchemyError( - "Databricks dialect can't obtain a cursor context manager from the dbapi" - ) - - @reflection.cache - def get_schema_names(self, connection, **kw): - """Return a list of all schema names available in the database.""" - stmt = DDL("SHOW SCHEMAS") - result = connection.execute(stmt) - schema_list = [row[0] for row in result] - return schema_list - - @reflection.cache - def get_table_comment( - self, - connection: Connection, - table_name: str, - schema: Optional[str] = None, - **kw: Any, - ) -> ReflectedTableComment: - result = self._describe_table_extended( - connection=connection, - table_name=table_name, - schema_name=schema, - ) - - if result is None: - return ReflectionDefaults.table_comment() - - comment = get_comment_from_dte_output(result) - - if comment: - return dict(text=comment) - else: - return ReflectionDefaults.table_comment() - - -@event.listens_for(Engine, "do_connect") -def receive_do_connect(dialect, conn_rec, cargs, cparams): - """Helpful for DS on traffic from clients using SQLAlchemy in particular""" - - # Ignore connect invocations that don't use our dialect - if not dialect.name == "databricks": - return - - ua = cparams.get("_user_agent_entry", "") - - def add_sqla_tag_if_not_present(val: str): - if not val: - output = "sqlalchemy" - - if val and "sqlalchemy" in val: - output = val - - else: - output = f"sqlalchemy + {val}" - - return output - - cparams["_user_agent_entry"] = add_sqla_tag_if_not_present(ua) - - if sqlalchemy.__version__.startswith("1.3"): - # SQLAlchemy 1.3.x fails to parse the http_path, catalog, and schema from our connection string - # These should be passed in as connect_args when building the Engine - - if "schema" in cparams: - dialect.schema = cparams["schema"] - - if "catalog" in cparams: - dialect.catalog = cparams["catalog"] diff --git a/databricks_sqlalchemy/src/databricks_sqlalchemy/py.typed b/databricks_sqlalchemy/src/databricks_sqlalchemy/py.typed deleted file mode 100755 index e69de29b..00000000 diff --git a/databricks_sqlalchemy/src/databricks_sqlalchemy/pytest.ini b/databricks_sqlalchemy/src/databricks_sqlalchemy/pytest.ini deleted file mode 100644 index 4ce8d299..00000000 --- a/databricks_sqlalchemy/src/databricks_sqlalchemy/pytest.ini +++ /dev/null @@ -1,4 +0,0 @@ - -[sqla_testing] -requirement_cls=databricks_sqlalchemy.requirements:Requirements -profile_file=profiles.txt diff --git a/databricks_sqlalchemy/src/databricks_sqlalchemy/requirements.py b/databricks_sqlalchemy/src/databricks_sqlalchemy/requirements.py deleted file mode 100644 index 5c70c029..00000000 --- a/databricks_sqlalchemy/src/databricks_sqlalchemy/requirements.py +++ /dev/null @@ -1,249 +0,0 @@ -""" -The complete list of requirements is provided by SQLAlchemy here: - -https://github.com/sqlalchemy/sqlalchemy/blob/main/lib/sqlalchemy/testing/requirements.py - -When SQLAlchemy skips a test because a requirement is closed() it gives a generic skip message. -To make these failures more actionable, we only define requirements in this file that we wish to -force to be open(). If a test should be skipped on Databricks, it will be specifically marked skip -in test_suite.py with a Databricks-specific reason. - -See the special note about the array_type exclusion below. -See special note about has_temp_table exclusion below. -""" - -import sqlalchemy.testing.requirements -import sqlalchemy.testing.exclusions - - -class Requirements(sqlalchemy.testing.requirements.SuiteRequirements): - @property - def date_historic(self): - """target dialect supports representation of Python - datetime.datetime() objects with historic (pre 1970) values.""" - - return sqlalchemy.testing.exclusions.open() - - @property - def datetime_historic(self): - """target dialect supports representation of Python - datetime.datetime() objects with historic (pre 1970) values.""" - - return sqlalchemy.testing.exclusions.open() - - @property - def datetime_literals(self): - """target dialect supports rendering of a date, time, or datetime as a - literal string, e.g. via the TypeEngine.literal_processor() method. - - """ - - return sqlalchemy.testing.exclusions.open() - - @property - def timestamp_microseconds(self): - """target dialect supports representation of Python - datetime.datetime() with microsecond objects but only - if TIMESTAMP is used.""" - - return sqlalchemy.testing.exclusions.open() - - @property - def time_microseconds(self): - """target dialect supports representation of Python - datetime.time() with microsecond objects. - - This requirement declaration isn't needed but I've included it here for completeness. - Since Databricks doesn't have a TIME type, SQLAlchemy will compile Time() columns - as STRING Databricks data types. And we use a custom time type to render those strings - between str() and time.time() representations. Therefore we can store _any_ precision - that SQLAlchemy needs. The time_microseconds requirement defaults to ON for all dialects - except mssql, mysql, mariadb, and oracle. - """ - - return sqlalchemy.testing.exclusions.open() - - @property - def infinity_floats(self): - """The Float type can persist and load float('inf'), float('-inf').""" - - return sqlalchemy.testing.exclusions.open() - - @property - def precision_numerics_retains_significant_digits(self): - """A precision numeric type will return empty significant digits, - i.e. a value such as 10.000 will come back in Decimal form with - the .000 maintained.""" - - return sqlalchemy.testing.exclusions.open() - - @property - def precision_numerics_many_significant_digits(self): - """target backend supports values with many digits on both sides, - such as 319438950232418390.273596, 87673.594069654243 - - """ - return sqlalchemy.testing.exclusions.open() - - @property - def array_type(self): - """While Databricks does support ARRAY types, pysql cannot bind them. So - we cannot use them with SQLAlchemy - - Due to a bug in SQLAlchemy, we _must_ define this exclusion as closed() here or else the - test runner will crash the pytest process due to an AttributeError - """ - - # TODO: Implement array type using inline? - return sqlalchemy.testing.exclusions.closed() - - @property - def table_ddl_if_exists(self): - """target platform supports IF NOT EXISTS / IF EXISTS for tables.""" - - return sqlalchemy.testing.exclusions.open() - - @property - def identity_columns(self): - """If a backend supports GENERATED { ALWAYS | BY DEFAULT } - AS IDENTITY""" - return sqlalchemy.testing.exclusions.open() - - @property - def identity_columns_standard(self): - """If a backend supports GENERATED { ALWAYS | BY DEFAULT } - AS IDENTITY with a standard syntax. - This is mainly to exclude MSSql. - """ - return sqlalchemy.testing.exclusions.open() - - @property - def has_temp_table(self): - """target dialect supports checking a single temp table name - - unfortunately this is not the same as temp_table_names - - SQLAlchemy's HasTableTest is not normalised in such a way that temp table tests - are separate from temp view and normal table tests. If those tests were split out, - we would just add detailed skip markers in test_suite.py. But since we'd like to - run the HasTableTest group for the features we support, we must set this exclusinon - to closed(). - - It would be ideal if there were a separate requirement for has_temp_view. Without it, - we're in a bind. - """ - return sqlalchemy.testing.exclusions.closed() - - @property - def temporary_views(self): - """target database supports temporary views""" - return sqlalchemy.testing.exclusions.open() - - @property - def views(self): - """Target database must support VIEWs.""" - - return sqlalchemy.testing.exclusions.open() - - @property - def temporary_tables(self): - """target database supports temporary tables - - ComponentReflection test is intricate and simply cannot function without this exclusion being defined here. - This happens because we cannot skip individual combinations used in ComponentReflection test. - """ - return sqlalchemy.testing.exclusions.closed() - - @property - def table_reflection(self): - """target database has general support for table reflection""" - return sqlalchemy.testing.exclusions.open() - - @property - def comment_reflection(self): - """Indicates if the database support table comment reflection""" - return sqlalchemy.testing.exclusions.open() - - @property - def comment_reflection_full_unicode(self): - """Indicates if the database support table comment reflection in the - full unicode range, including emoji etc. - """ - return sqlalchemy.testing.exclusions.open() - - @property - def temp_table_reflection(self): - """ComponentReflection test is intricate and simply cannot function without this exclusion being defined here. - This happens because we cannot skip individual combinations used in ComponentReflection test. - """ - return sqlalchemy.testing.exclusions.closed() - - @property - def index_reflection(self): - """ComponentReflection test is intricate and simply cannot function without this exclusion being defined here. - This happens because we cannot skip individual combinations used in ComponentReflection test. - """ - return sqlalchemy.testing.exclusions.closed() - - @property - def unique_constraint_reflection(self): - """ComponentReflection test is intricate and simply cannot function without this exclusion being defined here. - This happens because we cannot skip individual combinations used in ComponentReflection test. - - Databricks doesn't support UNIQUE constraints. - """ - return sqlalchemy.testing.exclusions.closed() - - @property - def reflects_pk_names(self): - """Target driver reflects the name of primary key constraints.""" - - return sqlalchemy.testing.exclusions.open() - - @property - def datetime_implicit_bound(self): - """target dialect when given a datetime object will bind it such - that the database server knows the object is a date, and not - a plain string. - """ - - return sqlalchemy.testing.exclusions.open() - - @property - def tuple_in(self): - return sqlalchemy.testing.exclusions.open() - - @property - def ctes(self): - return sqlalchemy.testing.exclusions.open() - - @property - def ctes_with_update_delete(self): - return sqlalchemy.testing.exclusions.open() - - @property - def delete_from(self): - """Target must support DELETE FROM..FROM or DELETE..USING syntax""" - return sqlalchemy.testing.exclusions.open() - - @property - def table_value_constructor(self): - return sqlalchemy.testing.exclusions.open() - - @property - def reflect_tables_no_columns(self): - return sqlalchemy.testing.exclusions.open() - - @property - def denormalized_names(self): - """Target database must have 'denormalized', i.e. - UPPERCASE as case insensitive names.""" - - return sqlalchemy.testing.exclusions.open() - - @property - def time_timezone(self): - """target dialect supports representation of Python - datetime.time() with tzinfo with Time(timezone=True).""" - - return sqlalchemy.testing.exclusions.open() diff --git a/databricks_sqlalchemy/src/databricks_sqlalchemy/setup.cfg b/databricks_sqlalchemy/src/databricks_sqlalchemy/setup.cfg deleted file mode 100644 index 4ce8d299..00000000 --- a/databricks_sqlalchemy/src/databricks_sqlalchemy/setup.cfg +++ /dev/null @@ -1,4 +0,0 @@ - -[sqla_testing] -requirement_cls=databricks_sqlalchemy.requirements:Requirements -profile_file=profiles.txt diff --git a/databricks_sqlalchemy/src/databricks_sqlalchemy/test/__init__.py b/databricks_sqlalchemy/src/databricks_sqlalchemy/test/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/databricks_sqlalchemy/src/databricks_sqlalchemy/test/_extra.py b/databricks_sqlalchemy/src/databricks_sqlalchemy/test/_extra.py deleted file mode 100644 index 48cc0ec7..00000000 --- a/databricks_sqlalchemy/src/databricks_sqlalchemy/test/_extra.py +++ /dev/null @@ -1,70 +0,0 @@ -"""Additional tests authored by Databricks that use SQLAlchemy's test fixtures -""" - -import datetime - -from sqlalchemy.testing.suite.test_types import ( - _LiteralRoundTripFixture, - fixtures, - testing, - eq_, - select, - Table, - Column, - config, - _DateFixture, - literal, -) -from databricks_sql_connector_core.sqlalchemy import TINYINT, TIMESTAMP - - -class TinyIntegerTest(_LiteralRoundTripFixture, fixtures.TestBase): - __backend__ = True - - def test_literal(self, literal_round_trip): - literal_round_trip(TINYINT, [5], [5]) - - @testing.fixture - def integer_round_trip(self, metadata, connection): - def run(datatype, data): - int_table = Table( - "tiny_integer_table", - metadata, - Column( - "id", - TINYINT, - primary_key=True, - test_needs_autoincrement=False, - ), - Column("tiny_integer_data", datatype), - ) - - metadata.create_all(config.db) - - connection.execute(int_table.insert(), {"id": 1, "integer_data": data}) - - row = connection.execute(select(int_table.c.integer_data)).first() - - eq_(row, (data,)) - - assert isinstance(row[0], int) - - return run - - -class DateTimeTZTestCustom(_DateFixture, fixtures.TablesTest): - """This test confirms that when a user uses the TIMESTAMP - type to store a datetime object, it retains its timezone - """ - - __backend__ = True - datatype = TIMESTAMP - data = datetime.datetime(2012, 10, 15, 12, 57, 18, tzinfo=datetime.timezone.utc) - - @testing.requires.datetime_implicit_bound - def test_select_direct(self, connection): - - # We need to pass the TIMESTAMP type to the literal function - # so that the value is processed correctly. - result = connection.scalar(select(literal(self.data, TIMESTAMP))) - eq_(result, self.data) diff --git a/databricks_sqlalchemy/src/databricks_sqlalchemy/test/_future.py b/databricks_sqlalchemy/src/databricks_sqlalchemy/test/_future.py deleted file mode 100644 index 76b4f7a9..00000000 --- a/databricks_sqlalchemy/src/databricks_sqlalchemy/test/_future.py +++ /dev/null @@ -1,331 +0,0 @@ -# type: ignore - -from enum import Enum - -import pytest -from databricks_sqlalchemy.test._regression import ( - ExpandingBoundInTest, - IdentityAutoincrementTest, - LikeFunctionsTest, - NormalizedNameTest, -) -from databricks_sqlalchemy.test._unsupported import ( - ComponentReflectionTest, - ComponentReflectionTestExtra, - CTETest, - InsertBehaviorTest, -) -from sqlalchemy.testing.suite import ( - ArrayTest, - BinaryTest, - BizarroCharacterFKResolutionTest, - CollateTest, - ComputedColumnTest, - ComputedReflectionTest, - DifficultParametersTest, - FutureWeCanSetDefaultSchemaWEventsTest, - IdentityColumnTest, - IdentityReflectionTest, - JSONLegacyStringCastIndexTest, - JSONTest, - NativeUUIDTest, - QuotedNameArgumentTest, - RowCountTest, - SimpleUpdateDeleteTest, - WeCanSetDefaultSchemaWEventsTest, -) - - -class FutureFeature(Enum): - ARRAY = "ARRAY column type handling" - BINARY = "BINARY column type handling" - CHECK = "CHECK constraint handling" - COLLATE = "COLLATE DDL generation" - CTE_FEAT = "required CTE features" - EMPTY_INSERT = "empty INSERT support" - FK_OPTS = "foreign key option checking" - GENERATED_COLUMNS = "Delta computed / generated columns support" - IDENTITY = "identity reflection" - JSON = "JSON column type handling" - MULTI_PK = "get_multi_pk_constraint method" - PROVISION = "event-driven engine configuration" - REGEXP = "_visit_regexp" - SANE_ROWCOUNT = "sane_rowcount support" - TBL_OPTS = "get_table_options method" - TEST_DESIGN = "required test-fixture overrides" - TUPLE_LITERAL = "tuple-like IN markers completely" - UUID = "native Uuid() type" - VIEW_DEF = "get_view_definition method" - - -def render_future_feature(rsn: FutureFeature, extra=False) -> str: - postfix = " More detail in _future.py" if extra else "" - return f"[FUTURE][{rsn.name}]: This dialect doesn't implement {rsn.value}.{postfix}" - - -@pytest.mark.reviewed -@pytest.mark.skip(render_future_feature(FutureFeature.BINARY)) -class BinaryTest(BinaryTest): - """Databricks doesn't support binding of BINARY type values. When DBR supports this, we can implement - in this dialect. - """ - - pass - - -class ExpandingBoundInTest(ExpandingBoundInTest): - @pytest.mark.skip(render_future_feature(FutureFeature.TUPLE_LITERAL)) - def test_empty_heterogeneous_tuples_bindparam(self): - pass - - @pytest.mark.skip(render_future_feature(FutureFeature.TUPLE_LITERAL)) - def test_empty_heterogeneous_tuples_direct(self): - pass - - @pytest.mark.skip(render_future_feature(FutureFeature.TUPLE_LITERAL)) - def test_empty_homogeneous_tuples_bindparam(self): - pass - - @pytest.mark.skip(render_future_feature(FutureFeature.TUPLE_LITERAL)) - def test_empty_homogeneous_tuples_direct(self): - pass - - -class NormalizedNameTest(NormalizedNameTest): - @pytest.mark.skip(render_future_feature(FutureFeature.TEST_DESIGN, True)) - def test_get_table_names(self): - """I'm not clear how this test can ever pass given that it's assertion looks like this: - - ```python - eq_(tablenames[0].upper(), tablenames[0].lower()) - eq_(tablenames[1].upper(), tablenames[1].lower()) - ``` - - It's forcibly calling .upper() and .lower() on the same string and expecting them to be equal. - """ - pass - - -class CTETest(CTETest): - @pytest.mark.skip(render_future_feature(FutureFeature.CTE_FEAT, True)) - def test_delete_from_round_trip(self): - """Databricks dialect doesn't implement multiple-table criteria within DELETE""" - pass - - -@pytest.mark.reviewed -@pytest.mark.skip(render_future_feature(FutureFeature.TEST_DESIGN, True)) -class IdentityColumnTest(IdentityColumnTest): - """Identity works. Test needs rewrite for Databricks. See comments in test_suite.py - - The setup for these tests tries to create a table with a DELTA IDENTITY column but has two problems: - 1. It uses an Integer() type for the column. Whereas DELTA IDENTITY columns must be BIGINT. - 2. It tries to set the start == 42, which Databricks doesn't support - - I can get the tests to _run_ by patching the table fixture to use BigInteger(). But it asserts that the - identity of two rows are 42 and 43, which is not possible since they will be rows 1 and 2 instead. - - I'm satisified through manual testing that our implementation of visit_identity_column works but a better test is needed. - """ - - pass - - -class IdentityAutoincrementTest(IdentityAutoincrementTest): - @pytest.mark.skip(render_future_feature(FutureFeature.TEST_DESIGN, True)) - def test_autoincrement_with_identity(self): - """This test has the same issue as IdentityColumnTest.test_select_all in that it creates a table with identity - using an Integer() rather than a BigInteger(). If I override this behaviour to use a BigInteger() instead, the - test passes. - """ - - -@pytest.mark.reviewed -@pytest.mark.skip(render_future_feature(FutureFeature.TEST_DESIGN)) -class BizarroCharacterFKResolutionTest(BizarroCharacterFKResolutionTest): - """Some of the combinations in this test pass. Others fail. Given the esoteric nature of these failures, - we have opted to defer implementing fixes to a later time, guided by customer feedback. Passage of - these tests is not an acceptance criteria for our dialect. - """ - - -@pytest.mark.reviewed -@pytest.mark.skip(render_future_feature(FutureFeature.TEST_DESIGN)) -class DifficultParametersTest(DifficultParametersTest): - """Some of the combinations in this test pass. Others fail. Given the esoteric nature of these failures, - we have opted to defer implementing fixes to a later time, guided by customer feedback. Passage of - these tests is not an acceptance criteria for our dialect. - """ - - -@pytest.mark.reviewed -@pytest.mark.skip(render_future_feature(FutureFeature.IDENTITY, True)) -class IdentityReflectionTest(IdentityReflectionTest): - """It's not clear _how_ to implement this for SQLAlchemy. Columns created with GENERATED ALWAYS AS IDENTITY - are not specially demarked in the output of TGetColumnsResponse or DESCRIBE TABLE EXTENDED. - - We could theoretically parse this from the contents of `SHOW CREATE TABLE` but that feels like a hack. - """ - - -@pytest.mark.reviewed -@pytest.mark.skip(render_future_feature(FutureFeature.JSON)) -class JSONTest(JSONTest): - """Databricks supports JSON path expressions in queries it's just not implemented in this dialect.""" - - pass - - -@pytest.mark.reviewed -@pytest.mark.skip(render_future_feature(FutureFeature.JSON)) -class JSONLegacyStringCastIndexTest(JSONLegacyStringCastIndexTest): - """Same comment applies as JSONTest""" - - pass - - -class LikeFunctionsTest(LikeFunctionsTest): - @pytest.mark.skip(render_future_feature(FutureFeature.REGEXP)) - def test_not_regexp_match(self): - """The defaul dialect doesn't implement _visit_regexp methods so we don't get them automatically.""" - pass - - @pytest.mark.skip(render_future_feature(FutureFeature.REGEXP)) - def test_regexp_match(self): - """The defaul dialect doesn't implement _visit_regexp methods so we don't get them automatically.""" - pass - - -@pytest.mark.reviewed -@pytest.mark.skip(render_future_feature(FutureFeature.COLLATE)) -class CollateTest(CollateTest): - """This is supported in Databricks. Not implemented here.""" - - -@pytest.mark.reviewed -@pytest.mark.skip(render_future_feature(FutureFeature.UUID, True)) -class NativeUUIDTest(NativeUUIDTest): - """Type implementation will be straightforward. Since Databricks doesn't have a native UUID type we can use - a STRING field, create a custom TypeDecorator for sqlalchemy.types.Uuid and add it to the dialect's colspecs. - - Then mark requirements.uuid_data_type as open() so this test can run. - """ - - -@pytest.mark.reviewed -@pytest.mark.skip(render_future_feature(FutureFeature.SANE_ROWCOUNT)) -class RowCountTest(RowCountTest): - pass - - -@pytest.mark.reviewed -@pytest.mark.skip(render_future_feature(FutureFeature.SANE_ROWCOUNT)) -class SimpleUpdateDeleteTest(SimpleUpdateDeleteTest): - pass - - -@pytest.mark.reviewed -@pytest.mark.skip(render_future_feature(FutureFeature.PROVISION, True)) -class WeCanSetDefaultSchemaWEventsTest(WeCanSetDefaultSchemaWEventsTest): - """provision.py allows us to define event listeners that emit DDL for things like setting up a test schema - or, in this case, changing the default schema for the connection after it's been built. This would override - the schema defined in the sqlalchemy connection string. This support is possible but is not implemented - in the dialect. Deferred for now. - """ - - pass - - -@pytest.mark.reviewed -@pytest.mark.skip(render_future_feature(FutureFeature.PROVISION, True)) -class FutureWeCanSetDefaultSchemaWEventsTest(FutureWeCanSetDefaultSchemaWEventsTest): - """provision.py allows us to define event listeners that emit DDL for things like setting up a test schema - or, in this case, changing the default schema for the connection after it's been built. This would override - the schema defined in the sqlalchemy connection string. This support is possible but is not implemented - in the dialect. Deferred for now. - """ - - pass - - -class ComponentReflectionTest(ComponentReflectionTest): - @pytest.mark.skip(reason=render_future_feature(FutureFeature.TBL_OPTS, True)) - def test_multi_get_table_options_tables(self): - """It's not clear what the expected ouput from this method would even _be_. Requires research.""" - pass - - @pytest.mark.skip(render_future_feature(FutureFeature.VIEW_DEF)) - def test_get_view_definition(self): - pass - - @pytest.mark.skip(render_future_feature(FutureFeature.VIEW_DEF)) - def test_get_view_definition_does_not_exist(self): - pass - - @pytest.mark.skip(render_future_feature(FutureFeature.MULTI_PK)) - def test_get_multi_pk_constraint(self): - pass - - @pytest.mark.skip(render_future_feature(FutureFeature.CHECK)) - def test_get_multi_check_constraints(self): - pass - - -class ComponentReflectionTestExtra(ComponentReflectionTestExtra): - @pytest.mark.skip(render_future_feature(FutureFeature.CHECK)) - def test_get_check_constraints(self): - pass - - @pytest.mark.skip(render_future_feature(FutureFeature.FK_OPTS)) - def test_get_foreign_key_options(self): - """It's not clear from the test code what the expected output is here. Further research required.""" - pass - - -class InsertBehaviorTest(InsertBehaviorTest): - @pytest.mark.skip(render_future_feature(FutureFeature.EMPTY_INSERT, True)) - def test_empty_insert(self): - """Empty inserts are possible using DEFAULT VALUES on Databricks. To implement it, we need - to hook into the SQLCompiler to render a no-op column list. With SQLAlchemy's default implementation - the request fails with a syntax error - """ - pass - - @pytest.mark.skip(render_future_feature(FutureFeature.EMPTY_INSERT, True)) - def test_empty_insert_multiple(self): - """Empty inserts are possible using DEFAULT VALUES on Databricks. To implement it, we need - to hook into the SQLCompiler to render a no-op column list. With SQLAlchemy's default implementation - the request fails with a syntax error - """ - pass - - -@pytest.mark.reviewed -@pytest.mark.skip(render_future_feature(FutureFeature.ARRAY)) -class ArrayTest(ArrayTest): - """While Databricks supports ARRAY types, DBR cannot handle bound parameters of this type. - This makes them unusable to SQLAlchemy without some workaround. Potentially we could inline - the values of these parameters (which risks sql injection). - """ - - -@pytest.mark.reviewed -@pytest.mark.skip(render_future_feature(FutureFeature.TEST_DESIGN, True)) -class QuotedNameArgumentTest(QuotedNameArgumentTest): - """These tests are challenging. The whole test setup depends on a table with a name like `quote ' one` - which will never work on Databricks because table names can't contains spaces. But QuotedNamedArgumentTest - also checks the behaviour of DDL identifier preparation process. We need to override some of IdentifierPreparer - methods because these are the ultimate control for whether or not CHECK and UNIQUE constraints are emitted. - """ - - -@pytest.mark.reviewed -@pytest.mark.skip(reason=render_future_feature(FutureFeature.GENERATED_COLUMNS)) -class ComputedColumnTest(ComputedColumnTest): - pass - - -@pytest.mark.reviewed -@pytest.mark.skip(reason=render_future_feature(FutureFeature.GENERATED_COLUMNS)) -class ComputedReflectionTest(ComputedReflectionTest): - pass diff --git a/databricks_sqlalchemy/src/databricks_sqlalchemy/test/_regression.py b/databricks_sqlalchemy/src/databricks_sqlalchemy/test/_regression.py deleted file mode 100644 index 1d2e6d00..00000000 --- a/databricks_sqlalchemy/src/databricks_sqlalchemy/test/_regression.py +++ /dev/null @@ -1,311 +0,0 @@ -# type: ignore - -import pytest -from sqlalchemy.testing.suite import ( - ArgSignatureTest, - BooleanTest, - CastTypeDecoratorTest, - ComponentReflectionTestExtra, - CompositeKeyReflectionTest, - CompoundSelectTest, - DateHistoricTest, - DateTest, - DateTimeCoercedToDateTimeTest, - DateTimeHistoricTest, - DateTimeMicrosecondsTest, - DateTimeTest, - DeprecatedCompoundSelectTest, - DistinctOnTest, - EscapingTest, - ExistsTest, - ExpandingBoundInTest, - FetchLimitOffsetTest, - FutureTableDDLTest, - HasTableTest, - IdentityAutoincrementTest, - InsertBehaviorTest, - IntegerTest, - IsOrIsNotDistinctFromTest, - JoinTest, - LikeFunctionsTest, - NormalizedNameTest, - NumericTest, - OrderByLabelTest, - PingTest, - PostCompileParamsTest, - ReturningGuardsTest, - RowFetchTest, - SameNamedSchemaTableTest, - StringTest, - TableDDLTest, - TableNoColumnsTest, - TextTest, - TimeMicrosecondsTest, - TimestampMicrosecondsTest, - TimeTest, - TimeTZTest, - TrueDivTest, - UnicodeTextTest, - UnicodeVarcharTest, - UuidTest, - ValuesExpressionTest, -) - -from databricks_sqlalchemy.test.overrides._ctetest import CTETest -from databricks_sqlalchemy.test.overrides._componentreflectiontest import ( - ComponentReflectionTest, -) - - -@pytest.mark.reviewed -class NumericTest(NumericTest): - pass - - -@pytest.mark.reviewed -class HasTableTest(HasTableTest): - pass - - -@pytest.mark.reviewed -class ComponentReflectionTestExtra(ComponentReflectionTestExtra): - pass - - -@pytest.mark.reviewed -class InsertBehaviorTest(InsertBehaviorTest): - pass - - -@pytest.mark.reviewed -class ComponentReflectionTest(ComponentReflectionTest): - """This test requires two schemas be present in the target Databricks workspace: - - The schema set in --dburi - - A second schema named "test_schema" - - Note that test_get_multi_foreign keys is flaky because DBR does not guarantee the order of data returned in DESCRIBE TABLE EXTENDED - - _Most_ of these tests pass if we manually override the bad test setup. - """ - - pass - - -@pytest.mark.reviewed -class TableDDLTest(TableDDLTest): - pass - - -@pytest.mark.reviewed -class FutureTableDDLTest(FutureTableDDLTest): - pass - - -@pytest.mark.reviewed -class FetchLimitOffsetTest(FetchLimitOffsetTest): - pass - - -@pytest.mark.reviewed -class UuidTest(UuidTest): - pass - - -@pytest.mark.reviewed -class ValuesExpressionTest(ValuesExpressionTest): - pass - - -@pytest.mark.reviewed -class BooleanTest(BooleanTest): - pass - - -@pytest.mark.reviewed -class PostCompileParamsTest(PostCompileParamsTest): - pass - - -@pytest.mark.reviewed -class TimeMicrosecondsTest(TimeMicrosecondsTest): - pass - - -@pytest.mark.reviewed -class TextTest(TextTest): - pass - - -@pytest.mark.reviewed -class StringTest(StringTest): - pass - - -@pytest.mark.reviewed -class DateTimeMicrosecondsTest(DateTimeMicrosecondsTest): - pass - - -@pytest.mark.reviewed -class TimestampMicrosecondsTest(TimestampMicrosecondsTest): - pass - - -@pytest.mark.reviewed -class DateTimeCoercedToDateTimeTest(DateTimeCoercedToDateTimeTest): - pass - - -@pytest.mark.reviewed -class TimeTest(TimeTest): - pass - - -@pytest.mark.reviewed -class DateTimeTest(DateTimeTest): - pass - - -@pytest.mark.reviewed -class DateTimeHistoricTest(DateTimeHistoricTest): - pass - - -@pytest.mark.reviewed -class DateTest(DateTest): - pass - - -@pytest.mark.reviewed -class DateHistoricTest(DateHistoricTest): - pass - - -@pytest.mark.reviewed -class RowFetchTest(RowFetchTest): - pass - - -@pytest.mark.reviewed -class CompositeKeyReflectionTest(CompositeKeyReflectionTest): - pass - - -@pytest.mark.reviewed -class TrueDivTest(TrueDivTest): - pass - - -@pytest.mark.reviewed -class ArgSignatureTest(ArgSignatureTest): - pass - - -@pytest.mark.reviewed -class CompoundSelectTest(CompoundSelectTest): - pass - - -@pytest.mark.reviewed -class DeprecatedCompoundSelectTest(DeprecatedCompoundSelectTest): - pass - - -@pytest.mark.reviewed -class CastTypeDecoratorTest(CastTypeDecoratorTest): - pass - - -@pytest.mark.reviewed -class DistinctOnTest(DistinctOnTest): - pass - - -@pytest.mark.reviewed -class EscapingTest(EscapingTest): - pass - - -@pytest.mark.reviewed -class ExistsTest(ExistsTest): - pass - - -@pytest.mark.reviewed -class IntegerTest(IntegerTest): - pass - - -@pytest.mark.reviewed -class IsOrIsNotDistinctFromTest(IsOrIsNotDistinctFromTest): - pass - - -@pytest.mark.reviewed -class JoinTest(JoinTest): - pass - - -@pytest.mark.reviewed -class OrderByLabelTest(OrderByLabelTest): - pass - - -@pytest.mark.reviewed -class PingTest(PingTest): - pass - - -@pytest.mark.reviewed -class ReturningGuardsTest(ReturningGuardsTest): - pass - - -@pytest.mark.reviewed -class SameNamedSchemaTableTest(SameNamedSchemaTableTest): - pass - - -@pytest.mark.reviewed -class UnicodeTextTest(UnicodeTextTest): - pass - - -@pytest.mark.reviewed -class UnicodeVarcharTest(UnicodeVarcharTest): - pass - - -@pytest.mark.reviewed -class TableNoColumnsTest(TableNoColumnsTest): - pass - - -@pytest.mark.reviewed -class ExpandingBoundInTest(ExpandingBoundInTest): - pass - - -@pytest.mark.reviewed -class CTETest(CTETest): - pass - - -@pytest.mark.reviewed -class NormalizedNameTest(NormalizedNameTest): - pass - - -@pytest.mark.reviewed -class IdentityAutoincrementTest(IdentityAutoincrementTest): - pass - - -@pytest.mark.reviewed -class LikeFunctionsTest(LikeFunctionsTest): - pass - - -@pytest.mark.reviewed -class TimeTZTest(TimeTZTest): - pass diff --git a/databricks_sqlalchemy/src/databricks_sqlalchemy/test/_unsupported.py b/databricks_sqlalchemy/src/databricks_sqlalchemy/test/_unsupported.py deleted file mode 100644 index c40c5975..00000000 --- a/databricks_sqlalchemy/src/databricks_sqlalchemy/test/_unsupported.py +++ /dev/null @@ -1,450 +0,0 @@ -# type: ignore - -from enum import Enum - -import pytest -from databricks_sqlalchemy.test._regression import ( - ComponentReflectionTest, - ComponentReflectionTestExtra, - CTETest, - FetchLimitOffsetTest, - FutureTableDDLTest, - HasTableTest, - InsertBehaviorTest, - NumericTest, - TableDDLTest, - UuidTest, -) - -# These are test suites that are fully skipped with a SkipReason -from sqlalchemy.testing.suite import ( - AutocommitIsolationTest, - DateTimeTZTest, - ExceptionTest, - HasIndexTest, - HasSequenceTest, - HasSequenceTestEmpty, - IsolationLevelTest, - LastrowidTest, - LongNameBlowoutTest, - PercentSchemaNamesTest, - ReturningTest, - SequenceCompilerTest, - SequenceTest, - ServerSideCursorsTest, - UnicodeSchemaTest, -) - - -class SkipReason(Enum): - AUTO_INC = "implicit AUTO_INCREMENT" - CTE_FEAT = "required CTE features" - CURSORS = "server-side cursors" - DECIMAL_FEAT = "required decimal features" - ENFORCE_KEYS = "enforcing primary or foreign key restraints" - FETCH = "fetch clauses" - IDENTIFIER_LENGTH = "identifiers > 255 characters" - IMPL_FLOAT_PREC = "required implicit float precision" - IMPLICIT_ORDER = "deterministic return order if ORDER BY is not present" - INDEXES = "SQL INDEXes" - RETURNING = "INSERT ... RETURNING syntax" - SEQUENCES = "SQL SEQUENCES" - STRING_FEAT = "required STRING type features" - SYMBOL_CHARSET = "symbols expected by test" - TEMP_TBL = "temporary tables" - TIMEZONE_OPT = "timezone-optional TIMESTAMP fields" - TRANSACTIONS = "transactions" - UNIQUE = "UNIQUE constraints" - - -def render_skip_reason(rsn: SkipReason, setup_error=False, extra=False) -> str: - prefix = "[BADSETUP]" if setup_error else "" - postfix = " More detail in _unsupported.py" if extra else "" - return f"[UNSUPPORTED]{prefix}[{rsn.name}]: Databricks does not support {rsn.value}.{postfix}" - - -@pytest.mark.reviewed -@pytest.mark.skip(reason=render_skip_reason(SkipReason.ENFORCE_KEYS)) -class ExceptionTest(ExceptionTest): - """Per Databricks documentation, primary and foreign key constraints are informational only - and are not enforced. - - https://docs.databricks.com/api/workspace/tableconstraints - """ - - pass - - -@pytest.mark.reviewed -@pytest.mark.skip(reason=render_skip_reason(SkipReason.IDENTIFIER_LENGTH)) -class LongNameBlowoutTest(LongNameBlowoutTest): - """These tests all include assertions that the tested name > 255 characters""" - - pass - - -@pytest.mark.reviewed -@pytest.mark.skip(reason=render_skip_reason(SkipReason.SEQUENCES)) -class HasSequenceTest(HasSequenceTest): - pass - - -@pytest.mark.reviewed -@pytest.mark.skip(reason=render_skip_reason(SkipReason.SEQUENCES)) -class HasSequenceTestEmpty(HasSequenceTestEmpty): - pass - - -@pytest.mark.reviewed -@pytest.mark.skip(reason=render_skip_reason(SkipReason.INDEXES)) -class HasIndexTest(HasIndexTest): - pass - - -@pytest.mark.reviewed -@pytest.mark.skip(reason=render_skip_reason(SkipReason.SYMBOL_CHARSET)) -class UnicodeSchemaTest(UnicodeSchemaTest): - pass - - -@pytest.mark.reviewed -@pytest.mark.skip(reason=render_skip_reason(SkipReason.CURSORS)) -class ServerSideCursorsTest(ServerSideCursorsTest): - pass - - -@pytest.mark.reviewed -@pytest.mark.skip(reason=render_skip_reason(SkipReason.SYMBOL_CHARSET)) -class PercentSchemaNamesTest(PercentSchemaNamesTest): - pass - - -@pytest.mark.reviewed -@pytest.mark.skip(reason=render_skip_reason(SkipReason.TRANSACTIONS)) -class IsolationLevelTest(IsolationLevelTest): - pass - - -@pytest.mark.reviewed -@pytest.mark.skip(reason=render_skip_reason(SkipReason.TRANSACTIONS)) -class AutocommitIsolationTest(AutocommitIsolationTest): - pass - - -@pytest.mark.reviewed -@pytest.mark.skip(reason=render_skip_reason(SkipReason.RETURNING)) -class ReturningTest(ReturningTest): - pass - - -@pytest.mark.reviewed -@pytest.mark.skip(reason=render_skip_reason(SkipReason.SEQUENCES)) -class SequenceTest(SequenceTest): - pass - - -@pytest.mark.reviewed -@pytest.mark.skip(reason=render_skip_reason(SkipReason.SEQUENCES)) -class SequenceCompilerTest(SequenceCompilerTest): - pass - - -class FetchLimitOffsetTest(FetchLimitOffsetTest): - @pytest.mark.flaky - @pytest.mark.skip(reason=render_skip_reason(SkipReason.IMPLICIT_ORDER, extra=True)) - def test_limit_render_multiple_times(self): - """This test depends on the order that records are inserted into the table. It's passing criteria requires that - a record inserted with id=1 is the first record returned when no ORDER BY clause is specified. But Databricks occasionally - INSERTS in a different order, which makes this test seem to fail. The test is flaky, but the underlying functionality - (can multiple LIMIT clauses be rendered) is not broken. - - Unclear if this is a bug in Databricks, Delta, or some race-condition in the test itself. - """ - pass - - @pytest.mark.skip(reason=render_skip_reason(SkipReason.FETCH)) - def test_bound_fetch_offset(self): - pass - - @pytest.mark.skip(reason=render_skip_reason(SkipReason.FETCH)) - def test_fetch_offset_no_order(self): - pass - - @pytest.mark.skip(reason=render_skip_reason(SkipReason.FETCH)) - def test_fetch_offset_nobinds(self): - pass - - @pytest.mark.skip(reason=render_skip_reason(SkipReason.FETCH)) - def test_simple_fetch(self): - pass - - @pytest.mark.skip(reason=render_skip_reason(SkipReason.FETCH)) - def test_simple_fetch_offset(self): - pass - - @pytest.mark.skip(reason=render_skip_reason(SkipReason.FETCH)) - def test_simple_fetch_percent(self): - pass - - @pytest.mark.skip(reason=render_skip_reason(SkipReason.FETCH)) - def test_simple_fetch_percent_ties(self): - pass - - @pytest.mark.skip(reason=render_skip_reason(SkipReason.FETCH)) - def test_simple_fetch_ties(self): - pass - - @pytest.mark.skip(reason=render_skip_reason(SkipReason.FETCH)) - def test_expr_fetch_offset(self): - pass - - @pytest.mark.skip(reason=render_skip_reason(SkipReason.FETCH)) - def test_fetch_offset_percent(self): - pass - - @pytest.mark.skip(reason=render_skip_reason(SkipReason.FETCH)) - def test_fetch_offset_percent_ties(self): - pass - - @pytest.mark.skip(reason=render_skip_reason(SkipReason.FETCH)) - def test_fetch_offset_ties(self): - pass - - @pytest.mark.skip(reason=render_skip_reason(SkipReason.FETCH)) - def test_fetch_offset_ties_exact_number(self): - pass - - -class UuidTest(UuidTest): - @pytest.mark.skip(reason=render_skip_reason(SkipReason.RETURNING)) - def test_uuid_returning(self): - pass - - -class FutureTableDDLTest(FutureTableDDLTest): - @pytest.mark.skip(render_skip_reason(SkipReason.INDEXES)) - def test_create_index_if_not_exists(self): - """We could use requirements.index_reflection and requirements.index_ddl_if_exists - here to disable this but prefer a more meaningful skip message - """ - pass - - @pytest.mark.skip(render_skip_reason(SkipReason.INDEXES)) - def test_drop_index_if_exists(self): - """We could use requirements.index_reflection and requirements.index_ddl_if_exists - here to disable this but prefer a more meaningful skip message - """ - pass - - -class TableDDLTest(TableDDLTest): - @pytest.mark.skip(reason=render_skip_reason(SkipReason.INDEXES)) - def test_create_index_if_not_exists(self, connection): - """We could use requirements.index_reflection and requirements.index_ddl_if_exists - here to disable this but prefer a more meaningful skip message - """ - pass - - @pytest.mark.skip(reason=render_skip_reason(SkipReason.INDEXES)) - def test_drop_index_if_exists(self, connection): - """We could use requirements.index_reflection and requirements.index_ddl_if_exists - here to disable this but prefer a more meaningful skip message - """ - pass - - -class ComponentReflectionTest(ComponentReflectionTest): - """This test requires two schemas be present in the target Databricks workspace: - - The schema set in --dburi - - A second schema named "test_schema" - - Note that test_get_multi_foreign keys is flaky because DBR does not guarantee the order of data returned in DESCRIBE TABLE EXTENDED - """ - - @pytest.mark.skip(reason=render_skip_reason(SkipReason.UNIQUE)) - def test_get_multi_unique_constraints(self): - pass - - @pytest.mark.skip(reason=render_skip_reason(SkipReason.TEMP_TBL, True, True)) - def test_get_temp_view_names(self): - """While Databricks supports temporary views, this test creates a temp view aimed at a temp table. - Databricks doesn't support temp tables. So the test can never pass. - """ - pass - - @pytest.mark.skip(reason=render_skip_reason(SkipReason.TEMP_TBL)) - def test_get_temp_table_columns(self): - pass - - @pytest.mark.skip(reason=render_skip_reason(SkipReason.TEMP_TBL)) - def test_get_temp_table_indexes(self): - pass - - @pytest.mark.skip(reason=render_skip_reason(SkipReason.TEMP_TBL)) - def test_get_temp_table_names(self): - pass - - @pytest.mark.skip(reason=render_skip_reason(SkipReason.TEMP_TBL)) - def test_get_temp_table_unique_constraints(self): - pass - - @pytest.mark.skip(reason=render_skip_reason(SkipReason.TEMP_TBL)) - def test_reflect_table_temp_table(self): - pass - - @pytest.mark.skip(render_skip_reason(SkipReason.INDEXES)) - def test_get_indexes(self): - pass - - @pytest.mark.skip(render_skip_reason(SkipReason.INDEXES)) - def test_multi_indexes(self): - pass - - @pytest.mark.skip(render_skip_reason(SkipReason.INDEXES)) - def get_noncol_index(self): - pass - - @pytest.mark.skip(render_skip_reason(SkipReason.UNIQUE)) - def test_get_unique_constraints(self): - pass - - -class NumericTest(NumericTest): - @pytest.mark.skip(render_skip_reason(SkipReason.DECIMAL_FEAT)) - def test_enotation_decimal(self): - """This test automatically runs if requirements.precision_numerics_enotation_large is open()""" - pass - - @pytest.mark.skip(render_skip_reason(SkipReason.DECIMAL_FEAT)) - def test_enotation_decimal_large(self): - """This test automatically runs if requirements.precision_numerics_enotation_large is open()""" - pass - - @pytest.mark.skip(render_skip_reason(SkipReason.IMPL_FLOAT_PREC, extra=True)) - def test_float_coerce_round_trip(self): - """ - This automatically runs if requirements.literal_float_coercion is open() - - Without additional work, Databricks returns 15.75629997253418 when you SELECT 15.7563. - This is a potential area where we could override the Float literal processor to add a CAST. - Will leave to a PM to decide if we should do so. - """ - pass - - @pytest.mark.skip(render_skip_reason(SkipReason.IMPL_FLOAT_PREC, extra=True)) - def test_float_custom_scale(self): - """This test automatically runs if requirements.precision_generic_float_type is open()""" - pass - - -class HasTableTest(HasTableTest): - """Databricks does not support temporary tables.""" - - @pytest.mark.skip(render_skip_reason(SkipReason.TEMP_TBL)) - def test_has_table_temp_table(self): - pass - - @pytest.mark.skip(render_skip_reason(SkipReason.TEMP_TBL, True, True)) - def test_has_table_temp_view(self): - """Databricks supports temporary views but this test depends on requirements.has_temp_table, which we - explicitly close so that we can run other tests in this group. See the comment under has_temp_table in - requirements.py for details. - - From what I can see, there is no way to run this test since it will fail during setup if we mark has_temp_table - open(). It _might_ be possible to hijack this behaviour by implementing temp_table_keyword_args in our own - provision.py. Doing so would mean creating a real table during this class setup instead of a temp table. Then - we could just skip the temp table tests but run the temp view tests. But this test fixture doesn't cleanup its - temp tables and has no hook to do so. - - It would be ideal for SQLAlchemy to define a separate requirements.has_temp_views. - """ - pass - - -class ComponentReflectionTestExtra(ComponentReflectionTestExtra): - @pytest.mark.skip(render_skip_reason(SkipReason.INDEXES)) - def test_reflect_covering_index(self): - pass - - @pytest.mark.skip(render_skip_reason(SkipReason.INDEXES)) - def test_reflect_expression_based_indexes(self): - pass - - @pytest.mark.skip(render_skip_reason(SkipReason.STRING_FEAT, extra=True)) - def test_varchar_reflection(self): - """Databricks doesn't enforce string length limitations like STRING(255).""" - pass - - -class InsertBehaviorTest(InsertBehaviorTest): - @pytest.mark.skip(render_skip_reason(SkipReason.AUTO_INC, True, True)) - def test_autoclose_on_insert(self): - """The setup for this test creates a column with implicit autoincrement enabled. - This dialect does not implement implicit autoincrement - users must declare Identity() explicitly. - """ - pass - - @pytest.mark.skip(render_skip_reason(SkipReason.AUTO_INC, True, True)) - def test_insert_from_select_autoinc(self): - """Implicit autoincrement is not implemented in this dialect.""" - pass - - @pytest.mark.skip(render_skip_reason(SkipReason.AUTO_INC, True, True)) - def test_insert_from_select_autoinc_no_rows(self): - pass - - @pytest.mark.skip(render_skip_reason(SkipReason.RETURNING)) - def test_autoclose_on_insert_implicit_returning(self): - pass - - -@pytest.mark.reviewed -@pytest.mark.skip(render_skip_reason(SkipReason.AUTO_INC, extra=True)) -class LastrowidTest(LastrowidTest): - """SQLAlchemy docs describe that a column without an explicit Identity() may implicitly create one if autoincrement=True. - That is what this method tests. Databricks supports auto-incrementing IDENTITY columns but they must be explicitly - declared. This limitation is present in our dialect as well. Which means that SQLAlchemy's autoincrement setting of a column - is ignored. We emit a logging.WARN message if you try it. - - In the future we could handle this autoincrement by implicitly calling the visit_identity_column() method of our DDLCompiler - when autoincrement=True. There is an example of this in the Microsoft SQL Server dialect: MSSDDLCompiler.get_column_specification - - For now, if you need to create a SQLAlchemy column with an auto-incrementing identity, you must set this explicitly in your column - definition by passing an Identity() to the column constructor. - """ - - pass - - -class CTETest(CTETest): - """During the teardown for this test block, it tries to drop a constraint that it never named which raises - a compilation error. This could point to poor constraint reflection but our other constraint reflection - tests pass. Requires investigation. - """ - - @pytest.mark.skip(render_skip_reason(SkipReason.CTE_FEAT, extra=True)) - def test_select_recursive_round_trip(self): - pass - - @pytest.mark.skip(render_skip_reason(SkipReason.CTE_FEAT, extra=True)) - def test_delete_scalar_subq_round_trip(self): - """Error received is [UNSUPPORTED_SUBQUERY_EXPRESSION_CATEGORY.MUST_AGGREGATE_CORRELATED_SCALAR_SUBQUERY] - - This suggests a limitation of the platform. But a workaround may be possible if customers require it. - """ - pass - - -@pytest.mark.reviewed -@pytest.mark.skip(render_skip_reason(SkipReason.TIMEZONE_OPT, True)) -class DateTimeTZTest(DateTimeTZTest): - """Test whether the sqlalchemy.DateTime() type can _optionally_ include timezone info. - This dialect maps DateTime() → TIMESTAMP, which _always_ includes tzinfo. - - Users can use databricks_sql_connector_core.sqlalchemy.TIMESTAMP_NTZ for a tzinfo-less timestamp. The SQLA docs - acknowledge this is expected for some dialects. - - https://docs.sqlalchemy.org/en/20/core/type_basics.html#sqlalchemy.types.DateTime - """ - - pass diff --git a/databricks_sqlalchemy/src/databricks_sqlalchemy/test/conftest.py b/databricks_sqlalchemy/src/databricks_sqlalchemy/test/conftest.py deleted file mode 100644 index 81e9479e..00000000 --- a/databricks_sqlalchemy/src/databricks_sqlalchemy/test/conftest.py +++ /dev/null @@ -1,13 +0,0 @@ -from sqlalchemy.dialects import registry -import pytest - -registry.register("databricks", "databricks_sqlalchemy", "DatabricksDialect") -# sqlalchemy's dialect-testing machinery wants an entry like this. -# This seems to be based around dialects maybe having multiple drivers -# and wanting to test driver-specific URLs, but doesn't seem to make -# much sense for dialects with only one driver. -registry.register("databricks.databricks", "databricks_sqlalchemy", "DatabricksDialect") - -pytest.register_assert_rewrite("sqlalchemy.testing.assertions") - -from sqlalchemy.testing.plugin.pytestplugin import * diff --git a/databricks_sqlalchemy/src/databricks_sqlalchemy/test/overrides/__init__.py b/databricks_sqlalchemy/src/databricks_sqlalchemy/test/overrides/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/databricks_sqlalchemy/src/databricks_sqlalchemy/test/overrides/_componentreflectiontest.py b/databricks_sqlalchemy/src/databricks_sqlalchemy/test/overrides/_componentreflectiontest.py deleted file mode 100644 index a1f58fa6..00000000 --- a/databricks_sqlalchemy/src/databricks_sqlalchemy/test/overrides/_componentreflectiontest.py +++ /dev/null @@ -1,189 +0,0 @@ -"""The default test setup uses self-referential foreign keys and indexes for a test table. -We override to remove these assumptions. - -Note that test_multi_foreign_keys currently does not pass for all combinations due to -an ordering issue. The dialect returns the expected information. But this test makes assertions -on the order of the returned results. We can't guarantee that order at the moment. - -The test fixture actually tries to sort the outputs, but this sort isn't working. Will need -to follow-up on this later. -""" -import sqlalchemy as sa -from sqlalchemy.testing import config -from sqlalchemy.testing.schema import Column -from sqlalchemy.testing.schema import Table -from sqlalchemy import ForeignKey -from sqlalchemy import testing - -from sqlalchemy.testing.suite.test_reflection import ComponentReflectionTest - - -class ComponentReflectionTest(ComponentReflectionTest): # type: ignore - @classmethod - def define_reflected_tables(cls, metadata, schema): - if schema: - schema_prefix = schema + "." - else: - schema_prefix = "" - - if testing.requires.self_referential_foreign_keys.enabled: - parent_id_args = ( - ForeignKey( - "%susers.user_id" % schema_prefix, name="user_id_fk", use_alter=True - ), - ) - else: - parent_id_args = () - users = Table( - "users", - metadata, - Column("user_id", sa.INT, primary_key=True), - Column("test1", sa.CHAR(5), nullable=False), - Column("test2", sa.Float(), nullable=False), - Column("parent_user_id", sa.Integer, *parent_id_args), - sa.CheckConstraint( - "test2 > 0", - name="zz_test2_gt_zero", - comment="users check constraint", - ), - sa.CheckConstraint("test2 <= 1000"), - schema=schema, - test_needs_fk=True, - ) - - Table( - "dingalings", - metadata, - Column("dingaling_id", sa.Integer, primary_key=True), - Column( - "address_id", - sa.Integer, - ForeignKey( - "%semail_addresses.address_id" % schema_prefix, - name="zz_email_add_id_fg", - comment="di fk comment", - ), - ), - Column( - "id_user", - sa.Integer, - ForeignKey("%susers.user_id" % schema_prefix), - ), - Column("data", sa.String(30), unique=True), - sa.CheckConstraint( - "address_id > 0 AND address_id < 1000", - name="address_id_gt_zero", - ), - sa.UniqueConstraint( - "address_id", - "dingaling_id", - name="zz_dingalings_multiple", - comment="di unique comment", - ), - schema=schema, - test_needs_fk=True, - ) - Table( - "email_addresses", - metadata, - Column("address_id", sa.Integer), - Column("remote_user_id", sa.Integer, ForeignKey(users.c.user_id)), - Column("email_address", sa.String(20)), - sa.PrimaryKeyConstraint( - "address_id", name="email_ad_pk", comment="ea pk comment" - ), - schema=schema, - test_needs_fk=True, - ) - Table( - "comment_test", - metadata, - Column("id", sa.Integer, primary_key=True, comment="id comment"), - Column("data", sa.String(20), comment="data % comment"), - Column( - "d2", - sa.String(20), - comment=r"""Comment types type speedily ' " \ '' Fun!""", - ), - Column("d3", sa.String(42), comment="Comment\nwith\rescapes"), - schema=schema, - comment=r"""the test % ' " \ table comment""", - ) - Table( - "no_constraints", - metadata, - Column("data", sa.String(20)), - schema=schema, - comment="no\nconstraints\rhas\fescaped\vcomment", - ) - - if testing.requires.cross_schema_fk_reflection.enabled: - if schema is None: - Table( - "local_table", - metadata, - Column("id", sa.Integer, primary_key=True), - Column("data", sa.String(20)), - Column( - "remote_id", - ForeignKey("%s.remote_table_2.id" % testing.config.test_schema), - ), - test_needs_fk=True, - schema=config.db.dialect.default_schema_name, - ) - else: - Table( - "remote_table", - metadata, - Column("id", sa.Integer, primary_key=True), - Column( - "local_id", - ForeignKey( - "%s.local_table.id" % config.db.dialect.default_schema_name - ), - ), - Column("data", sa.String(20)), - schema=schema, - test_needs_fk=True, - ) - Table( - "remote_table_2", - metadata, - Column("id", sa.Integer, primary_key=True), - Column("data", sa.String(20)), - schema=schema, - test_needs_fk=True, - ) - - if testing.requires.index_reflection.enabled: - Index("users_t_idx", users.c.test1, users.c.test2, unique=True) - Index("users_all_idx", users.c.user_id, users.c.test2, users.c.test1) - - if not schema: - # test_needs_fk is at the moment to force MySQL InnoDB - noncol_idx_test_nopk = Table( - "noncol_idx_test_nopk", - metadata, - Column("q", sa.String(5)), - test_needs_fk=True, - ) - - noncol_idx_test_pk = Table( - "noncol_idx_test_pk", - metadata, - Column("id", sa.Integer, primary_key=True), - Column("q", sa.String(5)), - test_needs_fk=True, - ) - - if ( - testing.requires.indexes_with_ascdesc.enabled - and testing.requires.reflect_indexes_with_ascdesc.enabled - ): - Index("noncol_idx_nopk", noncol_idx_test_nopk.c.q.desc()) - Index("noncol_idx_pk", noncol_idx_test_pk.c.q.desc()) - - if testing.requires.view_column_reflection.enabled: - cls.define_views(metadata, schema) - if not schema and testing.requires.temp_table_reflection.enabled: - cls.define_temp_tables(metadata) diff --git a/databricks_sqlalchemy/src/databricks_sqlalchemy/test/overrides/_ctetest.py b/databricks_sqlalchemy/src/databricks_sqlalchemy/test/overrides/_ctetest.py deleted file mode 100644 index 3cdae036..00000000 --- a/databricks_sqlalchemy/src/databricks_sqlalchemy/test/overrides/_ctetest.py +++ /dev/null @@ -1,33 +0,0 @@ -"""The default test setup uses a self-referential foreign key. With our dialect this requires -`use_alter=True` and the fk constraint to be named. So we override this to make the test pass. -""" - -from sqlalchemy.testing.suite import CTETest - -from sqlalchemy.testing.schema import Column -from sqlalchemy.testing.schema import Table -from sqlalchemy import ForeignKey -from sqlalchemy import Integer -from sqlalchemy import String - - -class CTETest(CTETest): # type: ignore - @classmethod - def define_tables(cls, metadata): - Table( - "some_table", - metadata, - Column("id", Integer, primary_key=True), - Column("data", String(50)), - Column( - "parent_id", ForeignKey("some_table.id", name="fk_test", use_alter=True) - ), - ) - - Table( - "some_other_table", - metadata, - Column("id", Integer, primary_key=True), - Column("data", String(50)), - Column("parent_id", Integer), - ) diff --git a/databricks_sqlalchemy/src/databricks_sqlalchemy/test/test_suite.py b/databricks_sqlalchemy/src/databricks_sqlalchemy/test/test_suite.py deleted file mode 100644 index 02a4208d..00000000 --- a/databricks_sqlalchemy/src/databricks_sqlalchemy/test/test_suite.py +++ /dev/null @@ -1,12 +0,0 @@ -""" -The order of these imports is important. Test cases are imported first from SQLAlchemy, -then are overridden by our local skip markers in _regression, _unsupported, and _future. -""" - - -# type: ignore -# fmt: off -from sqlalchemy.testing.suite import * -from databricks_sqlalchemy.test._regression import * -from databricks_sqlalchemy.test._unsupported import * -from databricks_sqlalchemy.test._future import * diff --git a/databricks_sqlalchemy/src/databricks_sqlalchemy/test_local/__init__.py b/databricks_sqlalchemy/src/databricks_sqlalchemy/test_local/__init__.py deleted file mode 100644 index eca1cf55..00000000 --- a/databricks_sqlalchemy/src/databricks_sqlalchemy/test_local/__init__.py +++ /dev/null @@ -1,5 +0,0 @@ -""" -This module contains tests entirely maintained by Databricks. - -These tests do not rely on SQLAlchemy's custom test runner. -""" diff --git a/databricks_sqlalchemy/src/databricks_sqlalchemy/test_local/conftest.py b/databricks_sqlalchemy/src/databricks_sqlalchemy/test_local/conftest.py deleted file mode 100644 index c8b350be..00000000 --- a/databricks_sqlalchemy/src/databricks_sqlalchemy/test_local/conftest.py +++ /dev/null @@ -1,44 +0,0 @@ -import os -import pytest - - -@pytest.fixture(scope="session") -def host(): - return os.getenv("DATABRICKS_SERVER_HOSTNAME") - - -@pytest.fixture(scope="session") -def http_path(): - return os.getenv("DATABRICKS_HTTP_PATH") - - -@pytest.fixture(scope="session") -def access_token(): - return os.getenv("DATABRICKS_TOKEN") - - -@pytest.fixture(scope="session") -def ingestion_user(): - return os.getenv("DATABRICKS_USER") - - -@pytest.fixture(scope="session") -def catalog(): - return os.getenv("DATABRICKS_CATALOG") - - -@pytest.fixture(scope="session") -def schema(): - return os.getenv("DATABRICKS_SCHEMA", "default") - - -@pytest.fixture(scope="session", autouse=True) -def connection_details(host, http_path, access_token, ingestion_user, catalog, schema): - return { - "host": host, - "http_path": http_path, - "access_token": access_token, - "ingestion_user": ingestion_user, - "catalog": catalog, - "schema": schema, - } diff --git a/databricks_sqlalchemy/src/databricks_sqlalchemy/test_local/e2e/MOCK_DATA.xlsx b/databricks_sqlalchemy/src/databricks_sqlalchemy/test_local/e2e/MOCK_DATA.xlsx deleted file mode 100644 index e080689a9d978891664c1848474f64401a453165..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 59837 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 Ki0m!^!2bbc3S|iZ diff --git a/databricks_sqlalchemy/src/databricks_sqlalchemy/test_local/e2e/__init__.py b/databricks_sqlalchemy/src/databricks_sqlalchemy/test_local/e2e/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/databricks_sqlalchemy/src/databricks_sqlalchemy/test_local/e2e/test_basic.py b/databricks_sqlalchemy/src/databricks_sqlalchemy/test_local/e2e/test_basic.py deleted file mode 100644 index 215d3ebc..00000000 --- a/databricks_sqlalchemy/src/databricks_sqlalchemy/test_local/e2e/test_basic.py +++ /dev/null @@ -1,543 +0,0 @@ -import datetime -import decimal -from typing import Tuple, Union, List -from unittest import skipIf - -import pytest -from sqlalchemy import ( - Column, - MetaData, - Table, - Text, - create_engine, - insert, - select, - text, -) -from sqlalchemy.engine import Engine -from sqlalchemy.engine.reflection import Inspector -from sqlalchemy.orm import DeclarativeBase, Mapped, Session, mapped_column -from sqlalchemy.schema import DropColumnComment, SetColumnComment -from sqlalchemy.types import BOOLEAN, DECIMAL, Date, Integer, String - -try: - from sqlalchemy.orm import declarative_base -except ImportError: - from sqlalchemy.ext.declarative import declarative_base - - -USER_AGENT_TOKEN = "PySQL e2e Tests" - - -def sqlalchemy_1_3(): - import sqlalchemy - - return sqlalchemy.__version__.startswith("1.3") - - -def version_agnostic_select(object_to_select, *args, **kwargs): - """ - SQLAlchemy==1.3.x requires arguments to select() to be a Python list - - https://docs.sqlalchemy.org/en/20/changelog/migration_14.html#orm-query-is-internally-unified-with-select-update-delete-2-0-style-execution-available - """ - - if sqlalchemy_1_3(): - return select([object_to_select], *args, **kwargs) - else: - return select(object_to_select, *args, **kwargs) - - -def version_agnostic_connect_arguments(connection_details) -> Tuple[str, dict]: - HOST = connection_details["host"] - HTTP_PATH = connection_details["http_path"] - ACCESS_TOKEN = connection_details["access_token"] - CATALOG = connection_details["catalog"] - SCHEMA = connection_details["schema"] - - ua_connect_args = {"_user_agent_entry": USER_AGENT_TOKEN} - - if sqlalchemy_1_3(): - conn_string = f"databricks://token:{ACCESS_TOKEN}@{HOST}" - connect_args = { - **ua_connect_args, - "http_path": HTTP_PATH, - "server_hostname": HOST, - "catalog": CATALOG, - "schema": SCHEMA, - } - - return conn_string, connect_args - else: - return ( - f"databricks://token:{ACCESS_TOKEN}@{HOST}?http_path={HTTP_PATH}&catalog={CATALOG}&schema={SCHEMA}", - ua_connect_args, - ) - - -@pytest.fixture -def db_engine(connection_details) -> Engine: - conn_string, connect_args = version_agnostic_connect_arguments(connection_details) - return create_engine(conn_string, connect_args=connect_args) - - -def run_query(db_engine: Engine, query: Union[str, Text]): - if not isinstance(query, Text): - _query = text(query) # type: ignore - else: - _query = query # type: ignore - with db_engine.begin() as conn: - return conn.execute(_query).fetchall() - - -@pytest.fixture -def samples_engine(connection_details) -> Engine: - details = connection_details.copy() - details["catalog"] = "samples" - details["schema"] = "nyctaxi" - conn_string, connect_args = version_agnostic_connect_arguments(details) - return create_engine(conn_string, connect_args=connect_args) - - -@pytest.fixture() -def base(db_engine): - return declarative_base() - - -@pytest.fixture() -def session(db_engine): - return Session(db_engine) - - -@pytest.fixture() -def metadata_obj(db_engine): - return MetaData() - - -def test_can_connect(db_engine): - simple_query = "SELECT 1" - result = run_query(db_engine, simple_query) - assert len(result) == 1 - - -def test_connect_args(db_engine): - """Verify that extra connect args passed to sqlalchemy.create_engine are passed to DBAPI - - This will most commonly happen when partners supply a user agent entry - """ - - conn = db_engine.connect() - connection_headers = conn.connection.thrift_backend._transport._headers - user_agent = connection_headers["User-Agent"] - - expected = f"(sqlalchemy + {USER_AGENT_TOKEN})" - assert expected in user_agent - - -@pytest.mark.skipif(sqlalchemy_1_3(), reason="Pandas requires SQLAlchemy >= 1.4") -@pytest.mark.skip( - reason="DBR is currently limited to 256 parameters per call to .execute(). Test cannot pass." -) -def test_pandas_upload(db_engine, metadata_obj): - import pandas as pd - - SCHEMA = "default" - try: - df = pd.read_excel( - "databricks_sqlalchemy/test_local/e2e/demo_data/MOCK_DATA.xlsx" - ) - df.to_sql( - "mock_data", - db_engine, - schema=SCHEMA, - index=False, - method="multi", - if_exists="replace", - ) - - df_after = pd.read_sql_table("mock_data", db_engine, schema=SCHEMA) - assert len(df) == len(df_after) - except Exception as e: - raise e - finally: - db_engine.execute("DROP TABLE mock_data") - - -def test_create_table_not_null(db_engine, metadata_obj: MetaData): - table_name = "PySQLTest_{}".format(datetime.datetime.utcnow().strftime("%s")) - - SampleTable = Table( - table_name, - metadata_obj, - Column("name", String(255)), - Column("episodes", Integer), - Column("some_bool", BOOLEAN, nullable=False), - ) - - metadata_obj.create_all(db_engine) - - columns = db_engine.dialect.get_columns( - connection=db_engine.connect(), table_name=table_name - ) - - name_column_description = columns[0] - some_bool_column_description = columns[2] - - assert name_column_description.get("nullable") is True - assert some_bool_column_description.get("nullable") is False - - metadata_obj.drop_all(db_engine) - - -def test_column_comment(db_engine, metadata_obj: MetaData): - table_name = "PySQLTest_{}".format(datetime.datetime.utcnow().strftime("%s")) - - column = Column("name", String(255), comment="some comment") - SampleTable = Table(table_name, metadata_obj, column) - - metadata_obj.create_all(db_engine) - connection = db_engine.connect() - - columns = db_engine.dialect.get_columns( - connection=connection, table_name=table_name - ) - - assert columns[0].get("comment") == "some comment" - - column.comment = "other comment" - connection.execute(SetColumnComment(column)) - - columns = db_engine.dialect.get_columns( - connection=connection, table_name=table_name - ) - - assert columns[0].get("comment") == "other comment" - - connection.execute(DropColumnComment(column)) - - columns = db_engine.dialect.get_columns( - connection=connection, table_name=table_name - ) - - assert columns[0].get("comment") == None - - metadata_obj.drop_all(db_engine) - - -def test_bulk_insert_with_core(db_engine, metadata_obj, session): - import random - - # Maximum number of parameter is 256. 256/4 == 64 - num_to_insert = 64 - - table_name = "PySQLTest_{}".format(datetime.datetime.utcnow().strftime("%s")) - - names = ["Bim", "Miki", "Sarah", "Ira"] - - SampleTable = Table( - table_name, metadata_obj, Column("name", String(255)), Column("number", Integer) - ) - - rows = [ - {"name": names[i % 3], "number": random.choice(range(64))} - for i in range(num_to_insert) - ] - - metadata_obj.create_all(db_engine) - with db_engine.begin() as conn: - conn.execute(insert(SampleTable).values(rows)) - - with db_engine.begin() as conn: - rows = conn.execute(version_agnostic_select(SampleTable)).fetchall() - - assert len(rows) == num_to_insert - - -def test_create_insert_drop_table_core(base, db_engine, metadata_obj: MetaData): - """ """ - - SampleTable = Table( - "PySQLTest_{}".format(datetime.datetime.utcnow().strftime("%s")), - metadata_obj, - Column("name", String(255)), - Column("episodes", Integer), - Column("some_bool", BOOLEAN), - Column("dollars", DECIMAL(10, 2)), - ) - - metadata_obj.create_all(db_engine) - - insert_stmt = insert(SampleTable).values( - name="Bim Adewunmi", episodes=6, some_bool=True, dollars=decimal.Decimal(125) - ) - - with db_engine.connect() as conn: - conn.execute(insert_stmt) - - select_stmt = version_agnostic_select(SampleTable) - with db_engine.begin() as conn: - resp = conn.execute(select_stmt) - - result = resp.fetchall() - - assert len(result) == 1 - - metadata_obj.drop_all(db_engine) - - -# ORM tests are made following this tutorial -# https://docs.sqlalchemy.org/en/14/orm/quickstart.html - - -@skipIf(False, "Unity catalog must be supported") -def test_create_insert_drop_table_orm(db_engine): - """ORM classes built on the declarative base class must have a primary key. - This is restricted to Unity Catalog. - """ - - class Base(DeclarativeBase): - pass - - class SampleObject(Base): - __tablename__ = "PySQLTest_{}".format(datetime.datetime.utcnow().strftime("%s")) - - name: Mapped[str] = mapped_column(String(255), primary_key=True) - episodes: Mapped[int] = mapped_column(Integer) - some_bool: Mapped[bool] = mapped_column(BOOLEAN) - - Base.metadata.create_all(db_engine) - - sample_object_1 = SampleObject(name="Bim Adewunmi", episodes=6, some_bool=True) - sample_object_2 = SampleObject(name="Miki Meek", episodes=12, some_bool=False) - - session = Session(db_engine) - session.add(sample_object_1) - session.add(sample_object_2) - session.flush() - - stmt = version_agnostic_select(SampleObject).where( - SampleObject.name.in_(["Bim Adewunmi", "Miki Meek"]) - ) - - if sqlalchemy_1_3(): - output = [i for i in session.execute(stmt)] - else: - output = [i for i in session.scalars(stmt)] - - assert len(output) == 2 - - Base.metadata.drop_all(db_engine) - - -def test_dialect_type_mappings(db_engine, metadata_obj: MetaData): - """Confirms that we get back the same time we declared in a model and inserted using Core""" - - class Base(DeclarativeBase): - pass - - SampleTable = Table( - "PySQLTest_{}".format(datetime.datetime.utcnow().strftime("%s")), - metadata_obj, - Column("string_example", String(255)), - Column("integer_example", Integer), - Column("boolean_example", BOOLEAN), - Column("decimal_example", DECIMAL(10, 2)), - Column("date_example", Date), - ) - - string_example = "" - integer_example = 100 - boolean_example = True - decimal_example = decimal.Decimal(125) - date_example = datetime.date(2013, 1, 1) - - metadata_obj.create_all(db_engine) - - insert_stmt = insert(SampleTable).values( - string_example=string_example, - integer_example=integer_example, - boolean_example=boolean_example, - decimal_example=decimal_example, - date_example=date_example, - ) - - with db_engine.connect() as conn: - conn.execute(insert_stmt) - - select_stmt = version_agnostic_select(SampleTable) - with db_engine.begin() as conn: - resp = conn.execute(select_stmt) - - result = resp.fetchall() - this_row = result[0] - - assert this_row.string_example == string_example - assert this_row.integer_example == integer_example - assert this_row.boolean_example == boolean_example - assert this_row.decimal_example == decimal_example - assert this_row.date_example == date_example - - metadata_obj.drop_all(db_engine) - - -def test_inspector_smoke_test(samples_engine: Engine): - """It does not appear that 3L namespace is supported here""" - - schema, table = "nyctaxi", "trips" - - try: - inspector = Inspector.from_engine(samples_engine) - except Exception as e: - assert False, f"Could not build inspector: {e}" - - # Expect six columns - columns = inspector.get_columns(table, schema=schema) - - # Expect zero views, but the method should return - views = inspector.get_view_names(schema=schema) - - assert ( - len(columns) == 6 - ), "Dialect did not find the expected number of columns in samples.nyctaxi.trips" - assert len(views) == 0, "Views could not be fetched" - - -@pytest.mark.skip(reason="engine.table_names has been removed in sqlalchemy verison 2") -def test_get_table_names_smoke_test(samples_engine: Engine): - with samples_engine.connect() as conn: - _names = samples_engine.table_names(schema="nyctaxi", connection=conn) # type: ignore - _names is not None, "get_table_names did not succeed" - - -def test_has_table_across_schemas( - db_engine: Engine, samples_engine: Engine, catalog: str, schema: str -): - """For this test to pass these conditions must be met: - - Table samples.nyctaxi.trips must exist - - Table samples.tpch.customer must exist - - The `catalog` and `schema` environment variables must be set and valid - """ - - with samples_engine.connect() as conn: - # 1) Check for table within schema declared at engine creation time - assert samples_engine.dialect.has_table(connection=conn, table_name="trips") - - # 2) Check for table within another schema in the same catalog - assert samples_engine.dialect.has_table( - connection=conn, table_name="customer", schema="tpch" - ) - - # 3) Check for a table within a different catalog - # Create a table in a different catalog - with db_engine.connect() as conn: - conn.execute(text("CREATE TABLE test_has_table (numbers_are_cool INT);")) - - try: - # Verify that this table is not found in the samples catalog - assert not samples_engine.dialect.has_table( - connection=conn, table_name="test_has_table" - ) - # Verify that this table is found in a separate catalog - assert samples_engine.dialect.has_table( - connection=conn, - table_name="test_has_table", - schema=schema, - catalog=catalog, - ) - finally: - conn.execute(text("DROP TABLE test_has_table;")) - - -def test_user_agent_adjustment(db_engine): - # If .connect() is called multiple times on an engine, don't keep pre-pending the user agent - # https://github.com/databricks/databricks-sql-python/issues/192 - c1 = db_engine.connect() - c2 = db_engine.connect() - - def get_conn_user_agent(conn): - return conn.connection.dbapi_connection.thrift_backend._transport._headers.get( - "User-Agent" - ) - - ua1 = get_conn_user_agent(c1) - ua2 = get_conn_user_agent(c2) - same_ua = ua1 == ua2 - - c1.close() - c2.close() - - assert same_ua, f"User agents didn't match \n {ua1} \n {ua2}" - - -@pytest.fixture -def sample_table(metadata_obj: MetaData, db_engine: Engine): - """This fixture creates a sample table and cleans it up after the test is complete.""" - from databricks_sqlalchemy._parse import GET_COLUMNS_TYPE_MAP - - table_name = "PySQLTest_{}".format(datetime.datetime.utcnow().strftime("%s")) - - args: List[Column] = [ - Column(colname, coltype) for colname, coltype in GET_COLUMNS_TYPE_MAP.items() - ] - - SampleTable = Table(table_name, metadata_obj, *args) - - metadata_obj.create_all(db_engine) - - yield table_name - - metadata_obj.drop_all(db_engine) - - -def test_get_columns(db_engine, sample_table: str): - """Created after PECO-1297 and Github Issue #295 to verify that get_columsn behaves like it should for all known SQLAlchemy types""" - - inspector = Inspector.from_engine(db_engine) - - # this raises an exception if `parse_column_info_from_tgetcolumnsresponse` fails a lookup - columns = inspector.get_columns(sample_table) - - assert True - - -class TestCommentReflection: - @pytest.fixture(scope="class") - def engine(self, connection_details: dict): - HOST = connection_details["host"] - HTTP_PATH = connection_details["http_path"] - ACCESS_TOKEN = connection_details["access_token"] - CATALOG = connection_details["catalog"] - SCHEMA = connection_details["schema"] - - connection_string = f"databricks://token:{ACCESS_TOKEN}@{HOST}?http_path={HTTP_PATH}&catalog={CATALOG}&schema={SCHEMA}" - connect_args = {"_user_agent_entry": USER_AGENT_TOKEN} - - engine = create_engine(connection_string, connect_args=connect_args) - return engine - - @pytest.fixture - def inspector(self, engine: Engine) -> Inspector: - return Inspector.from_engine(engine) - - @pytest.fixture(scope="class") - def table(self, engine): - md = MetaData() - tbl = Table( - "foo", - md, - Column("bar", String, comment="column comment"), - comment="table comment", - ) - md.create_all(bind=engine) - - yield tbl - - md.drop_all(bind=engine) - - def test_table_comment_reflection(self, inspector: Inspector, table: Table): - comment = inspector.get_table_comment(table.name) - assert comment == {"text": "table comment"} - - def test_column_comment(self, inspector: Inspector, table: Table): - result = inspector.get_columns(table.name)[0].get("comment") - assert result == "column comment" diff --git a/databricks_sqlalchemy/src/databricks_sqlalchemy/test_local/test_ddl.py b/databricks_sqlalchemy/src/databricks_sqlalchemy/test_local/test_ddl.py deleted file mode 100644 index f596dffa..00000000 --- a/databricks_sqlalchemy/src/databricks_sqlalchemy/test_local/test_ddl.py +++ /dev/null @@ -1,96 +0,0 @@ -import pytest -from sqlalchemy import Column, MetaData, String, Table, create_engine -from sqlalchemy.schema import ( - CreateTable, - DropColumnComment, - DropTableComment, - SetColumnComment, - SetTableComment, -) - - -class DDLTestBase: - engine = create_engine( - "databricks://token:****@****?http_path=****&catalog=****&schema=****" - ) - - def compile(self, stmt): - return str(stmt.compile(bind=self.engine)) - - -class TestColumnCommentDDL(DDLTestBase): - @pytest.fixture - def metadata(self) -> MetaData: - """Assemble a metadata object with one table containing one column.""" - metadata = MetaData() - - column = Column("foo", String, comment="bar") - table = Table("foobar", metadata, column) - - return metadata - - @pytest.fixture - def table(self, metadata) -> Table: - return metadata.tables.get("foobar") - - @pytest.fixture - def column(self, table) -> Column: - return table.columns[0] - - def test_create_table_with_column_comment(self, table): - stmt = CreateTable(table) - output = self.compile(stmt) - - # output is a CREATE TABLE statement - assert "foo STRING COMMENT 'bar'" in output - - def test_alter_table_add_column_comment(self, column): - stmt = SetColumnComment(column) - output = self.compile(stmt) - assert output == "ALTER TABLE foobar ALTER COLUMN foo COMMENT 'bar'" - - def test_alter_table_drop_column_comment(self, column): - stmt = DropColumnComment(column) - output = self.compile(stmt) - assert output == "ALTER TABLE foobar ALTER COLUMN foo COMMENT ''" - - -class TestTableCommentDDL(DDLTestBase): - @pytest.fixture - def metadata(self) -> MetaData: - """Assemble a metadata object with one table containing one column.""" - metadata = MetaData() - - col1 = Column("foo", String) - col2 = Column("foo", String) - tbl_w_comment = Table("martin", metadata, col1, comment="foobar") - tbl_wo_comment = Table("prs", metadata, col2) - - return metadata - - @pytest.fixture - def table_with_comment(self, metadata) -> Table: - return metadata.tables.get("martin") - - @pytest.fixture - def table_without_comment(self, metadata) -> Table: - return metadata.tables.get("prs") - - def test_create_table_with_comment(self, table_with_comment): - stmt = CreateTable(table_with_comment) - output = self.compile(stmt) - assert "USING DELTA" in output - assert "COMMENT 'foobar'" in output - - def test_alter_table_add_comment(self, table_without_comment: Table): - table_without_comment.comment = "wireless mechanical keyboard" - stmt = SetTableComment(table_without_comment) - output = self.compile(stmt) - - assert output == "COMMENT ON TABLE prs IS 'wireless mechanical keyboard'" - - def test_alter_table_drop_comment(self, table_with_comment): - """The syntax for COMMENT ON is here: https://docs.databricks.com/en/sql/language-manual/sql-ref-syntax-ddl-comment.html""" - stmt = DropTableComment(table_with_comment) - output = self.compile(stmt) - assert output == "COMMENT ON TABLE martin IS NULL" diff --git a/databricks_sqlalchemy/src/databricks_sqlalchemy/test_local/test_parsing.py b/databricks_sqlalchemy/src/databricks_sqlalchemy/test_local/test_parsing.py deleted file mode 100644 index 76161422..00000000 --- a/databricks_sqlalchemy/src/databricks_sqlalchemy/test_local/test_parsing.py +++ /dev/null @@ -1,160 +0,0 @@ -import pytest -from databricks_sqlalchemy._parse import ( - extract_identifiers_from_string, - extract_identifier_groups_from_string, - extract_three_level_identifier_from_constraint_string, - build_fk_dict, - build_pk_dict, - match_dte_rows_by_value, - get_comment_from_dte_output, - DatabricksSqlAlchemyParseException, -) - - -# These are outputs from DESCRIBE TABLE EXTENDED -@pytest.mark.parametrize( - "input, expected", - [ - ("PRIMARY KEY (`pk1`, `pk2`)", ["pk1", "pk2"]), - ("PRIMARY KEY (`a`, `b`, `c`)", ["a", "b", "c"]), - ("PRIMARY KEY (`name`, `id`, `attr`)", ["name", "id", "attr"]), - ], -) -def test_extract_identifiers(input, expected): - assert ( - extract_identifiers_from_string(input) == expected - ), "Failed to extract identifiers from string" - - -@pytest.mark.parametrize( - "input, expected", - [ - ( - "FOREIGN KEY (`pname`, `pid`, `pattr`) REFERENCES `main`.`pysql_sqlalchemy`.`tb1` (`name`, `id`, `attr`)", - [ - "(`pname`, `pid`, `pattr`)", - "(`name`, `id`, `attr`)", - ], - ) - ], -) -def test_extract_identifer_batches(input, expected): - assert ( - extract_identifier_groups_from_string(input) == expected - ), "Failed to extract identifier groups from string" - - -def test_extract_3l_namespace_from_constraint_string(): - input = "FOREIGN KEY (`parent_user_id`) REFERENCES `main`.`pysql_dialect_compliance`.`users` (`user_id`)" - expected = { - "catalog": "main", - "schema": "pysql_dialect_compliance", - "table": "users", - } - - assert ( - extract_three_level_identifier_from_constraint_string(input) == expected - ), "Failed to extract 3L namespace from constraint string" - - -def test_extract_3l_namespace_from_bad_constraint_string(): - input = "FOREIGN KEY (`parent_user_id`) REFERENCES `pysql_dialect_compliance`.`users` (`user_id`)" - - with pytest.raises(DatabricksSqlAlchemyParseException): - extract_three_level_identifier_from_constraint_string(input) - - -@pytest.mark.parametrize("tschema", [None, "some_schema"]) -def test_build_fk_dict(tschema): - fk_constraint_string = "FOREIGN KEY (`parent_user_id`) REFERENCES `main`.`some_schema`.`users` (`user_id`)" - - result = build_fk_dict("some_fk_name", fk_constraint_string, schema_name=tschema) - - assert result == { - "name": "some_fk_name", - "constrained_columns": ["parent_user_id"], - "referred_schema": tschema, - "referred_table": "users", - "referred_columns": ["user_id"], - } - - -def test_build_pk_dict(): - pk_constraint_string = "PRIMARY KEY (`id`, `name`, `email_address`)" - pk_name = "pk1" - - result = build_pk_dict(pk_name, pk_constraint_string) - - assert result == { - "constrained_columns": ["id", "name", "email_address"], - "name": "pk1", - } - - -# This is a real example of the output from DESCRIBE TABLE EXTENDED as of 15 October 2023 -RAW_SAMPLE_DTE_OUTPUT = [ - ["id", "int"], - ["name", "string"], - ["", ""], - ["# Detailed Table Information", ""], - ["Catalog", "main"], - ["Database", "pysql_sqlalchemy"], - ["Table", "exampleexampleexample"], - ["Created Time", "Sun Oct 15 21:12:54 UTC 2023"], - ["Last Access", "UNKNOWN"], - ["Created By", "Spark "], - ["Type", "MANAGED"], - ["Location", "s3://us-west-2-****-/19a85dee-****/tables/ccb7***"], - ["Provider", "delta"], - ["Comment", "some comment"], - ["Owner", "some.user@example.com"], - ["Is_managed_location", "true"], - ["Predictive Optimization", "ENABLE (inherited from CATALOG main)"], - [ - "Table Properties", - "[delta.checkpoint.writeStatsAsJson=false,delta.checkpoint.writeStatsAsStruct=true,delta.minReaderVersion=1,delta.minWriterVersion=2]", - ], - ["", ""], - ["# Constraints", ""], - ["exampleexampleexample_pk", "PRIMARY KEY (`id`)"], - [ - "exampleexampleexample_fk", - "FOREIGN KEY (`parent_user_id`) REFERENCES `main`.`pysql_dialect_compliance`.`users` (`user_id`)", - ], -] - -FMT_SAMPLE_DT_OUTPUT = [ - {"col_name": i[0], "data_type": i[1]} for i in RAW_SAMPLE_DTE_OUTPUT -] - - -@pytest.mark.parametrize( - "match, output", - [ - ( - "PRIMARY KEY", - [ - { - "col_name": "exampleexampleexample_pk", - "data_type": "PRIMARY KEY (`id`)", - } - ], - ), - ( - "FOREIGN KEY", - [ - { - "col_name": "exampleexampleexample_fk", - "data_type": "FOREIGN KEY (`parent_user_id`) REFERENCES `main`.`pysql_dialect_compliance`.`users` (`user_id`)", - } - ], - ), - ], -) -def test_filter_dict_by_value(match, output): - result = match_dte_rows_by_value(FMT_SAMPLE_DT_OUTPUT, match) - assert result == output - - -def test_get_comment_from_dte_output(): - assert get_comment_from_dte_output(FMT_SAMPLE_DT_OUTPUT) == "some comment" diff --git a/databricks_sqlalchemy/src/databricks_sqlalchemy/test_local/test_types.py b/databricks_sqlalchemy/src/databricks_sqlalchemy/test_local/test_types.py deleted file mode 100644 index 4d61c55c..00000000 --- a/databricks_sqlalchemy/src/databricks_sqlalchemy/test_local/test_types.py +++ /dev/null @@ -1,161 +0,0 @@ -import enum - -import pytest -import sqlalchemy - -from databricks_sqlalchemy.base import DatabricksDialect -from databricks_sqlalchemy._types import TINYINT, TIMESTAMP, TIMESTAMP_NTZ - - -class DatabricksDataType(enum.Enum): - """https://docs.databricks.com/en/sql/language-manual/sql-ref-datatypes.html""" - - BIGINT = enum.auto() - BINARY = enum.auto() - BOOLEAN = enum.auto() - DATE = enum.auto() - DECIMAL = enum.auto() - DOUBLE = enum.auto() - FLOAT = enum.auto() - INT = enum.auto() - INTERVAL = enum.auto() - VOID = enum.auto() - SMALLINT = enum.auto() - STRING = enum.auto() - TIMESTAMP = enum.auto() - TIMESTAMP_NTZ = enum.auto() - TINYINT = enum.auto() - ARRAY = enum.auto() - MAP = enum.auto() - STRUCT = enum.auto() - - -# Defines the way that SQLAlchemy CamelCase types are compiled into Databricks SQL types. -# Note: I wish I could define this within the TestCamelCaseTypesCompilation class, but pytest doesn't like that. -camel_case_type_map = { - sqlalchemy.types.BigInteger: DatabricksDataType.BIGINT, - sqlalchemy.types.LargeBinary: DatabricksDataType.BINARY, - sqlalchemy.types.Boolean: DatabricksDataType.BOOLEAN, - sqlalchemy.types.Date: DatabricksDataType.DATE, - sqlalchemy.types.DateTime: DatabricksDataType.TIMESTAMP_NTZ, - sqlalchemy.types.Double: DatabricksDataType.DOUBLE, - sqlalchemy.types.Enum: DatabricksDataType.STRING, - sqlalchemy.types.Float: DatabricksDataType.FLOAT, - sqlalchemy.types.Integer: DatabricksDataType.INT, - sqlalchemy.types.Interval: DatabricksDataType.TIMESTAMP_NTZ, - sqlalchemy.types.Numeric: DatabricksDataType.DECIMAL, - sqlalchemy.types.PickleType: DatabricksDataType.BINARY, - sqlalchemy.types.SmallInteger: DatabricksDataType.SMALLINT, - sqlalchemy.types.String: DatabricksDataType.STRING, - sqlalchemy.types.Text: DatabricksDataType.STRING, - sqlalchemy.types.Time: DatabricksDataType.STRING, - sqlalchemy.types.Unicode: DatabricksDataType.STRING, - sqlalchemy.types.UnicodeText: DatabricksDataType.STRING, - sqlalchemy.types.Uuid: DatabricksDataType.STRING, -} - - -def dict_as_tuple_list(d: dict): - """Return a list of [(key, value), ...] from a dictionary.""" - return [(key, value) for key, value in d.items()] - - -class CompilationTestBase: - dialect = DatabricksDialect() - - def _assert_compiled_value( - self, type_: sqlalchemy.types.TypeEngine, expected: DatabricksDataType - ): - """Assert that when type_ is compiled for the databricks dialect, it renders the DatabricksDataType name. - - This method initialises the type_ with no arguments. - """ - compiled_result = type_().compile(dialect=self.dialect) # type: ignore - assert compiled_result == expected.name - - def _assert_compiled_value_explicit( - self, type_: sqlalchemy.types.TypeEngine, expected: str - ): - """Assert that when type_ is compiled for the databricks dialect, it renders the expected string. - - This method expects an initialised type_ so that we can test how a TypeEngine created with arguments - is compiled. - """ - compiled_result = type_.compile(dialect=self.dialect) - assert compiled_result == expected - - -class TestCamelCaseTypesCompilation(CompilationTestBase): - """Per the sqlalchemy documentation[^1] here, the camel case members of sqlalchemy.types are - are expected to work across all dialects. These tests verify that the types compile into valid - Databricks SQL type strings. For example, the sqlalchemy.types.Integer() should compile as "INT". - - Truly custom types like STRUCT (notice the uppercase) are not expected to work across all dialects. - We test these separately. - - Note that these tests have to do with type **name** compiliation. Which is separate from actually - mapping values between Python and Databricks. - - Note: SchemaType and MatchType are not tested because it's not used in table definitions - - [1]: https://docs.sqlalchemy.org/en/20/core/type_basics.html#generic-camelcase-types - """ - - @pytest.mark.parametrize("type_, expected", dict_as_tuple_list(camel_case_type_map)) - def test_bare_camel_case_types_compile(self, type_, expected): - self._assert_compiled_value(type_, expected) - - def test_numeric_renders_as_decimal_with_precision(self): - self._assert_compiled_value_explicit( - sqlalchemy.types.Numeric(10), "DECIMAL(10)" - ) - - def test_numeric_renders_as_decimal_with_precision_and_scale(self): - self._assert_compiled_value_explicit( - sqlalchemy.types.Numeric(10, 2), "DECIMAL(10, 2)" - ) - - -uppercase_type_map = { - sqlalchemy.types.ARRAY: DatabricksDataType.ARRAY, - sqlalchemy.types.BIGINT: DatabricksDataType.BIGINT, - sqlalchemy.types.BINARY: DatabricksDataType.BINARY, - sqlalchemy.types.BOOLEAN: DatabricksDataType.BOOLEAN, - sqlalchemy.types.DATE: DatabricksDataType.DATE, - sqlalchemy.types.DECIMAL: DatabricksDataType.DECIMAL, - sqlalchemy.types.DOUBLE: DatabricksDataType.DOUBLE, - sqlalchemy.types.FLOAT: DatabricksDataType.FLOAT, - sqlalchemy.types.INT: DatabricksDataType.INT, - sqlalchemy.types.SMALLINT: DatabricksDataType.SMALLINT, - sqlalchemy.types.TIMESTAMP: DatabricksDataType.TIMESTAMP, - TINYINT: DatabricksDataType.TINYINT, - TIMESTAMP: DatabricksDataType.TIMESTAMP, - TIMESTAMP_NTZ: DatabricksDataType.TIMESTAMP_NTZ, -} - - -class TestUppercaseTypesCompilation(CompilationTestBase): - """Per the sqlalchemy documentation[^1], uppercase types are considered to be specific to some - database backends. These tests verify that the types compile into valid Databricks SQL type strings. - - [1]: https://docs.sqlalchemy.org/en/20/core/type_basics.html#backend-specific-uppercase-datatypes - """ - - @pytest.mark.parametrize("type_, expected", dict_as_tuple_list(uppercase_type_map)) - def test_bare_uppercase_types_compile(self, type_, expected): - if isinstance(type_, type(sqlalchemy.types.ARRAY)): - # ARRAY cannot be initialised without passing an item definition so we test separately - # I preserve it in the uppercase_type_map for clarity - assert True - else: - self._assert_compiled_value(type_, expected) - - def test_array_string_renders_as_array_of_string(self): - """SQLAlchemy's ARRAY type requires an item definition. And their docs indicate that they've only tested - it with Postgres since that's the only first-class dialect with support for ARRAY. - - https://docs.sqlalchemy.org/en/20/core/type_basics.html#sqlalchemy.types.ARRAY - """ - self._assert_compiled_value_explicit( - sqlalchemy.types.ARRAY(sqlalchemy.types.String), "ARRAY" - ) From bad7c0b7e85968b6da0e1b684b4b665320ec1195 Mon Sep 17 00:00:00 2001 From: Jothi Prakash Date: Sun, 1 Sep 2024 21:44:38 +0530 Subject: [PATCH 22/53] Fixed the Decimal and timestamp conversion issue in non arrow pipeline --- databricks_sql_connector/pyproject.toml | 53 ++++++------------ ..._sql_connector_core-1.0.0-py3-none-any.whl | Bin 315466 -> 315589 bytes ...databricks_sql_connector_core-1.0.0.tar.gz | Bin 307004 -> 307173 bytes .../sql/utils.py | 16 +++++- .../tests/e2e/common/decimal_tests.py | 28 +++++++-- .../tests/e2e/common/large_queries_mixin.py | 5 ++ .../tests/e2e/common/predicates.py | 9 ++- .../{ => tests/e2e}/conftest.py | 0 .../tests/e2e/test_complex_types.py | 1 + .../tests/e2e/test_driver.py | 19 ++++--- .../tests/e2e/test_parameterized_queries.py | 5 +- setup_script.py | 4 +- 12 files changed, 82 insertions(+), 58 deletions(-) rename databricks_sql_connector_core/{ => tests/e2e}/conftest.py (100%) diff --git a/databricks_sql_connector/pyproject.toml b/databricks_sql_connector/pyproject.toml index d0c4aafb..1de9ba66 100644 --- a/databricks_sql_connector/pyproject.toml +++ b/databricks_sql_connector/pyproject.toml @@ -10,38 +10,23 @@ include = ["CHANGELOG.md"] [tool.poetry.dependencies] python = "^3.8.0" -#thrift = ">=0.16.0,<0.21.0" -#pandas = [ -# { version = ">=1.2.5,<2.2.0", python = ">=3.8" } -#] -#pyarrow = ">=14.0.1,<17" - -#lz4 = "^4.0.2" -#requests = "^2.18.1" -#oauthlib = "^3.1.0" -#numpy = [ -# { version = "^1.16.6", python = ">=3.8,<3.11" }, -# { version = "^1.23.4", python = ">=3.11" }, -#] +pyarrow = ">=14.0.1,<17" +databricks_sql_connector_core = { version = ">=1.0.0"} databricks_sqlalchemy = { version = ">=1.0.0", optional = true } -#openpyxl = "^3.0.10" -#alembic = { version = "^1.0.11", optional = true } -#urllib3 = ">=1.26" -# + [tool.poetry.extras] databricks_sqlalchemy = ["databricks_sqlalchemy"] -#alembic = ["sqlalchemy", "alembic"] -# -#[tool.poetry.dev-dependencies] -#pytest = "^7.1.2" -#mypy = "^1.10.1" -#pylint = ">=2.12.0" -#black = "^22.3.0" -#pytest-dotenv = "^0.5.2" -#[tool.poetry.urls] -#"Homepage" = "https://github.com/databricks/databricks-sql-python" -#"Bug Tracker" = "https://github.com/databricks/databricks-sql-python/issues" +[tool.poetry.dev-dependencies] +pytest = "^7.1.2" +mypy = "^1.10.1" +pylint = ">=2.12.0" +black = "^22.3.0" +pytest-dotenv = "^0.5.2" + +[tool.poetry.urls] +"Homepage" = "https://github.com/databricks/databricks-sql-python" +"Bug Tracker" = "https://github.com/databricks/databricks-sql-python/issues" [tool.poetry.plugins."sqlalchemy.dialects"] "databricks" = "databricks_sqlalchemy:DatabricksDialect" @@ -49,14 +34,10 @@ databricks_sqlalchemy = ["databricks_sqlalchemy"] [build-system] requires = ["poetry-core>=1.0.0"] build-backend = "poetry.core.masonry.api" -# -#[tool.mypy] -#ignore_missing_imports = "true" -#exclude = ['ttypes\.py$', 'TCLIService\.py$'] -# -#[tool.black] -#exclude = '/(\.eggs|\.git|\.hg|\.mypy_cache|\.nox|\.tox|\.venv|\.svn|_build|buck-out|build|dist|thrift_api)/' -# + +[tool.black] +exclude = '/(\.eggs|\.git|\.hg|\.mypy_cache|\.nox|\.tox|\.venv|\.svn|_build|buck-out|build|dist|thrift_api)/' + [tool.pytest.ini_options] markers = {"reviewed" = "Test case has been reviewed by Databricks"} minversion = "6.0" diff --git a/databricks_sql_connector_core/dist/databricks_sql_connector_core-1.0.0-py3-none-any.whl b/databricks_sql_connector_core/dist/databricks_sql_connector_core-1.0.0-py3-none-any.whl index 82ac801585209999e8ed74aabd39b404280b4fb6..603e356e9a1b20c333c8a58293a4199d4a348219 100644 GIT binary patch delta 8548 zcmV-qA)DUHpcBQR6M%#PgaU*Ev;^Il4Yvb=5NsL%0PkV|04kG_awV4!nFI=dYjfL1 zlHd6&=HSvATthfH&iP!dV)kTN-uOHPLoBf zLB^A*fwKShAb@8D;HTw6mRI?V+rap#oD%k??MX3{g`B-hrez?qcp+!yYMIJb`_O{_ zp_D~DF^x19=HojXDVePn=EEWU*0WzPlkBp>Hd_aR$3IFG{5@IXh;bT!h|d}PFtaW6 zcuG}cot+&WxS9Sg zhT>zM$)28ET*i|knO>_%{gy`4Jj;L}c>%u)8N#cIj!U2k<4rIF0pmOpMmSCL)od=y z=~Xz(Z?iOyXVD_g;!9b782G1Bt=-O^QM^pT(ZSJ⋙guQyG@P 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 t&-z(E>u3F}pY^kT*3bG`KkH}xte^F>e%8sj5 diff --git a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/utils.py b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/utils.py index 5c490c73..d2d400af 100644 --- a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/utils.py +++ b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/utils.py @@ -2,6 +2,7 @@ import json from thrift.protocol import TJSONProtocol from thrift.transport import TTransport +import pytz import datetime import decimal from abc import ABC, abstractmethod @@ -83,10 +84,12 @@ def build_queue( ) return ArrowQueue(converted_arrow_table, n_valid_rows) elif row_set_type == TSparkRowSetType.COLUMN_BASED_SET: - converted_column_table, column_names = convert_column_based_set_to_column_table( + column_table, column_names = convert_column_based_set_to_column_table( t_row_set.columns, description) + converted_column_table = convert_to_assigned_datatypes_in_column_table(column_table, description) + return ColumnQueue(converted_column_table, column_names) elif row_set_type == TSparkRowSetType.URL_BASED_SET: return CloudFetchQueue( @@ -587,6 +590,17 @@ def convert_decimals_in_arrow_table(table, description) -> 'pyarrow.Table': return table +def convert_to_assigned_datatypes_in_column_table(column_table, description): + for i, col in enumerate(column_table): + if description[i][1] == "decimal": + column_table[i] = tuple(v if v is None else Decimal(v) for v in col) + elif description[i][1] == "date": + column_table[i] = tuple(v if v is None else datetime.date.fromisoformat(v) for v in col) + elif description[i][1] == "timestamp": + column_table[i] = tuple(v if v is None else datetime.datetime.strptime(v, "%Y-%m-%d %H:%M:%S.%f").replace(tzinfo = pytz.UTC) for v in col) + + return column_table + def convert_column_based_set_to_arrow_table(columns, description): arrow_table = pyarrow.Table.from_arrays( [_convert_column_to_arrow_array(c) for c in columns], diff --git a/databricks_sql_connector_core/tests/e2e/common/decimal_tests.py b/databricks_sql_connector_core/tests/e2e/common/decimal_tests.py index 5005cdf1..9c28c417 100644 --- a/databricks_sql_connector_core/tests/e2e/common/decimal_tests.py +++ b/databricks_sql_connector_core/tests/e2e/common/decimal_tests.py @@ -1,11 +1,17 @@ from decimal import Decimal -import pyarrow +try: + import pyarrow +except ImportError: + pyarrow = None import pytest -class DecimalTestsMixin: - decimal_and_expected_results = [ +def decimal_and_expected_results(): + if pyarrow is None: + return [] + + return [ ("100.001 AS DECIMAL(6, 3)", Decimal("100.001"), pyarrow.decimal128(6, 3)), ("1000000.0000 AS DECIMAL(11, 4)", Decimal("1000000.0000"), pyarrow.decimal128(11, 4)), ("-10.2343 AS DECIMAL(10, 6)", Decimal("-10.234300"), pyarrow.decimal128(10, 6)), @@ -17,7 +23,13 @@ class DecimalTestsMixin: ("1e-3 AS DECIMAL(38, 3)", Decimal("0.001"), pyarrow.decimal128(38, 3)), ] - multi_decimals_and_expected_results = [ + +def multi_decimals_and_expected_results(): + + if pyarrow is None: + return [] + + return [ ( ["1 AS DECIMAL(6, 3)", "100.001 AS DECIMAL(6, 3)", "NULL AS DECIMAL(6, 3)"], [Decimal("1.00"), Decimal("100.001"), None], @@ -30,7 +42,11 @@ class DecimalTestsMixin: ), ] - @pytest.mark.parametrize("decimal, expected_value, expected_type", decimal_and_expected_results) + +@pytest.mark.skipif(not pyarrow, reason="Skipping because pyarrow is not installed") +class DecimalTestsMixin: + + @pytest.mark.parametrize("decimal, expected_value, expected_type", decimal_and_expected_results()) def test_decimals(self, decimal, expected_value, expected_type): with self.cursor({}) as cursor: query = "SELECT CAST ({})".format(decimal) @@ -40,7 +56,7 @@ def test_decimals(self, decimal, expected_value, expected_type): assert table.to_pydict().popitem()[1][0] == expected_value @pytest.mark.parametrize( - "decimals, expected_values, expected_type", multi_decimals_and_expected_results + "decimals, expected_values, expected_type", multi_decimals_and_expected_results() ) def test_multi_decimals(self, decimals, expected_values, expected_type): with self.cursor({}) as cursor: diff --git a/databricks_sql_connector_core/tests/e2e/common/large_queries_mixin.py b/databricks_sql_connector_core/tests/e2e/common/large_queries_mixin.py index 9ebc3f01..af152a89 100644 --- a/databricks_sql_connector_core/tests/e2e/common/large_queries_mixin.py +++ b/databricks_sql_connector_core/tests/e2e/common/large_queries_mixin.py @@ -1,6 +1,10 @@ import logging import math import time +from unittest import skipUnless + +import pytest +from tests.e2e.common.predicates import pysql_supports_arrow log = logging.getLogger(__name__) @@ -40,6 +44,7 @@ def fetch_rows(self, cursor, row_count, fetchmany_size): + "assuming 10K fetch size." ) + @skipUnless(pysql_supports_arrow(), "Without pyarrow lz4 compression is not supported") def test_query_with_large_wide_result_set(self): resultSize = 300 * 1000 * 1000 # 300 MB width = 8192 # B diff --git a/databricks_sql_connector_core/tests/e2e/common/predicates.py b/databricks_sql_connector_core/tests/e2e/common/predicates.py index 529fb7fe..2c40a005 100644 --- a/databricks_sql_connector_core/tests/e2e/common/predicates.py +++ b/databricks_sql_connector_core/tests/e2e/common/predicates.py @@ -8,9 +8,12 @@ def pysql_supports_arrow(): - """Import databricks_sql_connector_core.sql and test whether Cursor has fetchall_arrow.""" - from databricks_sql_connector_core.sql.client import Cursor - return hasattr(Cursor, 'fetchall_arrow') + """ Checks if the pyarrow library is installed or not""" + try: + __import__("pyarrow") + return True + except ImportError: + return False def pysql_has_version(compare, version): diff --git a/databricks_sql_connector_core/conftest.py b/databricks_sql_connector_core/tests/e2e/conftest.py similarity index 100% rename from databricks_sql_connector_core/conftest.py rename to databricks_sql_connector_core/tests/e2e/conftest.py diff --git a/databricks_sql_connector_core/tests/e2e/test_complex_types.py b/databricks_sql_connector_core/tests/e2e/test_complex_types.py index 0a7f514a..0321b2b4 100644 --- a/databricks_sql_connector_core/tests/e2e/test_complex_types.py +++ b/databricks_sql_connector_core/tests/e2e/test_complex_types.py @@ -4,6 +4,7 @@ from tests.e2e.test_driver import PySQLPytestTestCase +@pytest.mark.skipif(pytest.importorskip("pyarrow"), reason="Skipping because pyarrow is not installed") class TestComplexTypes(PySQLPytestTestCase): @pytest.fixture(scope="class") def table_fixture(self, connection_details): diff --git a/databricks_sql_connector_core/tests/e2e/test_driver.py b/databricks_sql_connector_core/tests/e2e/test_driver.py index 52764ad3..c910ee8f 100644 --- a/databricks_sql_connector_core/tests/e2e/test_driver.py +++ b/databricks_sql_connector_core/tests/e2e/test_driver.py @@ -12,7 +12,10 @@ from uuid import uuid4 import numpy as np -import pyarrow +try: + import pyarrow +except: + pyarrow = None import pytz import thrift import pytest @@ -591,7 +594,7 @@ def test_ssp_passthrough(self): cursor.execute("SET ansi_mode") assert list(cursor.fetchone()) == ["ansi_mode", str(enable_ansi)] - @skipUnless(pysql_supports_arrow(), "arrow test needs arrow support") + @pytest.mark.skipif(not pyarrow, reason="Skipping because pyarrow is not installed") def test_timestamps_arrow(self): with self.cursor({"session_configuration": {"ansi_mode": False}}) as cursor: for timestamp, expected in self.timestamp_and_expected_results: @@ -611,7 +614,7 @@ def test_timestamps_arrow(self): aware_timestamp and aware_timestamp.timestamp() * 1000000 ), "timestamp {} did not match {}".format(timestamp, expected) - @skipUnless(pysql_supports_arrow(), "arrow test needs arrow support") + @pytest.mark.skipif(not pyarrow, reason="Skipping because pyarrow is not installed") def test_multi_timestamps_arrow(self): with self.cursor({"session_configuration": {"ansi_mode": False}}) as cursor: query, expected = self.multi_query() @@ -627,7 +630,7 @@ def test_multi_timestamps_arrow(self): ] assert result == expected - @skipUnless(pysql_supports_arrow(), "arrow test needs arrow support") + @pytest.mark.skipif(not pyarrow, reason="Skipping because pyarrow is not installed") def test_timezone_with_timestamp(self): if self.should_add_timezone(): with self.cursor() as cursor: @@ -646,7 +649,7 @@ def test_timezone_with_timestamp(self): assert arrow_result_table.field(0).type == ts_type assert arrow_result_value == expected.timestamp() * 1000000 - @skipUnless(pysql_supports_arrow(), "arrow test needs arrow support") + @pytest.mark.skipif(not pyarrow, reason="Skipping because pyarrow is not installed") def test_can_flip_compression(self): with self.cursor() as cursor: cursor.execute("SELECT array(1,2,3,4)") @@ -663,7 +666,7 @@ def test_can_flip_compression(self): def _should_have_native_complex_types(self): return pysql_has_version(">=", 2) and is_thrift_v5_plus(self.arguments) - @skipUnless(pysql_supports_arrow(), "arrow test needs arrow support") + @pytest.mark.skipif(not pyarrow, reason="Skipping because pyarrow is not installed") def test_arrays_are_not_returned_as_strings_arrow(self): if self._should_have_native_complex_types(): with self.cursor() as cursor: @@ -674,7 +677,7 @@ def test_arrays_are_not_returned_as_strings_arrow(self): assert pyarrow.types.is_list(list_type) assert pyarrow.types.is_integer(list_type.value_type) - @skipUnless(pysql_supports_arrow(), "arrow test needs arrow support") + @pytest.mark.skipif(not pyarrow, reason="Skipping because pyarrow is not installed") def test_structs_are_not_returned_as_strings_arrow(self): if self._should_have_native_complex_types(): with self.cursor() as cursor: @@ -684,7 +687,7 @@ def test_structs_are_not_returned_as_strings_arrow(self): struct_type = arrow_df.field(0).type assert pyarrow.types.is_struct(struct_type) - @skipUnless(pysql_supports_arrow(), "arrow test needs arrow support") + @pytest.mark.skipif(not pyarrow, reason="Skipping because pyarrow is not installed") def test_decimal_not_returned_as_strings_arrow(self): if self._should_have_native_complex_types(): with self.cursor() as cursor: diff --git a/databricks_sql_connector_core/tests/e2e/test_parameterized_queries.py b/databricks_sql_connector_core/tests/e2e/test_parameterized_queries.py index 8bde1b95..9ae53dba 100644 --- a/databricks_sql_connector_core/tests/e2e/test_parameterized_queries.py +++ b/databricks_sql_connector_core/tests/e2e/test_parameterized_queries.py @@ -284,6 +284,8 @@ def test_primitive_single( (PrimitiveExtra.TINYINT, TinyIntParameter), ], ) + @pytest.mark.skipif(pytest.importorskip("pyarrow"), + reason="Without pyarrow TIMESTAMP_NTZ datatype cannot be inferred") def test_dbsqlparameter_single( self, primitive: Primitive, @@ -417,7 +419,6 @@ def test_inline_named_dont_break_sql(self): params = {"one": "%(one)s"} with self.cursor(extra_params={"use_inline_params": True}) as cursor: result = cursor.execute(query, parameters=params).fetchone() - print("hello") def test_native_ordinals_dont_break_sql(self): """This test accompanies test_inline_ordinals_can_break_sql to prove that ordinal @@ -450,4 +451,4 @@ def test_native_like_wildcard_works(self): with self.cursor(extra_params={"use_inline_params": False}) as cursor: result = cursor.execute(query, parameters=params).fetchone() - assert result.col == 1 \ No newline at end of file + assert result.col == 1 diff --git a/setup_script.py b/setup_script.py index 27b021cb..7e40c129 100644 --- a/setup_script.py +++ b/setup_script.py @@ -27,5 +27,5 @@ def build_and_install_library(directory_name): if __name__ == "__main__": build_and_install_library("databricks_sql_connector_core") - build_and_install_library("databricks_sql_connector") - build_and_install_library("databricks_sqlalchemy") \ No newline at end of file + # build_and_install_library("databricks_sql_connector") + # build_and_install_library("databricks_sqlalchemy") \ No newline at end of file From 520d2c85d3208ca7e5ef885ecec2a344269e6815 Mon Sep 17 00:00:00 2001 From: Jothi Prakash Date: Mon, 2 Sep 2024 10:59:42 +0530 Subject: [PATCH 23/53] Removed not required files and reformatted --- .gitignore | 3 +- check.py | 42 - check_sqlalchemy.py | 174 - .../src/databricks/sql/__init__.py | 2 +- .../src/databricks/sql/utils.py | 2 +- .../src/databricks/sqlalchemy/__init__.py | 3 +- databricks_sql_connector_core/pyproject.toml | 2 +- .../sql/auth/auth.py | 8 +- .../sql/auth/authenticators.py | 16 +- .../sql/auth/oauth.py | 4 +- .../sql/auth/thrift_http_client.py | 5 +- .../sql/client.py | 20 +- .../sql/cloudfetch/download_manager.py | 4 +- .../sql/cloudfetch/downloader.py | 4 +- .../sql/thrift_api/TCLIService/TCLIService.py | 1814 ++-- .../sql/thrift_api/TCLIService/__init__.py | 2 +- .../sql/thrift_api/TCLIService/constants.py | 69 +- .../sql/thrift_api/TCLIService/ttypes.py | 8102 +++++++++++++---- .../sql/thrift_backend.py | 21 +- .../sql/utils.py | 80 +- .../sqlalchemy/__init__.py | 3 +- .../tests/e2e/common/core_tests.py | 31 +- .../tests/e2e/common/decimal_tests.py | 25 +- .../tests/e2e/common/large_queries_mixin.py | 16 +- .../tests/e2e/common/predicates.py | 35 +- .../tests/e2e/common/retry_test_mixins.py | 81 +- .../e2e/common/staging_ingestion_tests.py | 110 +- .../tests/e2e/common/timestamp_tests.py | 17 +- .../tests/e2e/common/uc_volume_tests.py | 92 +- .../tests/e2e/test_complex_types.py | 8 +- .../tests/e2e/test_driver.py | 118 +- .../tests/e2e/test_parameterized_queries.py | 84 +- .../tests/unit/test_arrow_queue.py | 17 +- .../tests/unit/test_auth.py | 30 +- .../tests/unit/test_client.py | 235 +- .../tests/unit/test_cloud_fetch_queue.py | 79 +- .../tests/unit/test_column_queue.py | 2 - .../tests/unit/test_download_manager.py | 40 +- .../tests/unit/test_downloader.py | 85 +- .../tests/unit/test_endpoint.py | 16 +- .../tests/unit/test_fetches.py | 94 +- .../tests/unit/test_fetches_bench.py | 23 +- .../tests/unit/test_oauth_persistence.py | 12 +- .../tests/unit/test_param_escaper.py | 128 +- .../tests/unit/test_parameters.py | 120 +- .../tests/unit/test_retry.py | 11 +- .../tests/unit/test_thrift_backend.py | 762 +- examples/custom_cred_provider.py | 23 +- examples/insert_data.py | 26 +- examples/interactive_oauth.py | 10 +- examples/m2m_oauth.py | 14 +- examples/parameters.py | 2 +- examples/persistent_oauth.py | 21 +- examples/query_cancel.py | 69 +- examples/query_execute.py | 18 +- examples/set_user_agent.py | 20 +- examples/staging_ingestion.py | 10 +- examples/v3_retries_query_execute.py | 24 +- setup_script.py | 31 - tester.py | 2 +- 60 files changed, 9304 insertions(+), 3617 deletions(-) delete mode 100644 check.py delete mode 100644 check_sqlalchemy.py delete mode 100644 setup_script.py diff --git a/.gitignore b/.gitignore index bf9c0684..2b6edee5 100644 --- a/.gitignore +++ b/.gitignore @@ -162,7 +162,6 @@ celerybeat.pid .venv env/ venv/ -venv_main/ ENV/ env.bak/ venv.bak/ @@ -196,7 +195,7 @@ cython_debug/ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore # and can be added to the global gitignore or merged into this file. For a more nuclear # option (not recommended) you can uncomment the following to ignore the entire idea folder. -.idea/ +#.idea/ # End of https://www.toptal.com/developers/gitignore/api/python,macos diff --git a/check.py b/check.py deleted file mode 100644 index a9aa6c43..00000000 --- a/check.py +++ /dev/null @@ -1,42 +0,0 @@ -import os -import sys -# import logging -# -# logging.basicConfig(level=logging.DEBUG) - -# -# # Get the parent directory of the current file -# target_folder_path = os.path.abspath(os.path.join(os.path.dirname(__file__), "..", "databricks-sql-python", "src")) -# -# # Add the parent directory to sys.path -# sys.path.append(target_folder_path) - -from databricks import sql - -# from dotenv import load_dotenv - -# export DATABRICKS_TOKEN=whatever - - -# Load environment variables from .env file -# load_dotenv() - -host = "e2-dogfood.staging.cloud.databricks.com" -http_path = "/sql/1.0/warehouses/58aa1b363649e722" - -access_token = "" -connection = sql.connect( - server_hostname=host, - http_path=http_path, - access_token=access_token) - - -cursor = connection.cursor() -cursor.execute('SELECT :param `p`, * FROM RANGE(10)', {"param": "foo"}) -# cursor.execute('SELECT 1') -result = cursor.fetchall() -for row in result: - print(row) - -cursor.close() -connection.close() \ No newline at end of file diff --git a/check_sqlalchemy.py b/check_sqlalchemy.py deleted file mode 100644 index 71fb0ba6..00000000 --- a/check_sqlalchemy.py +++ /dev/null @@ -1,174 +0,0 @@ -""" -databricks-sql-connector includes a SQLAlchemy 2.0 dialect compatible with Databricks SQL. To install -its dependencies you can run `pip install databricks-sql-connector[sqlalchemy]`. - -The expected connection string format which you can pass to create_engine() is: - -databricks://token:dapi***@***.cloud.databricks.com?http_path=/sql/***&catalog=**&schema=** - -Our dialect implements the majority of SQLAlchemy 2.0's API. Because of the extent of SQLAlchemy's -capabilities it isn't feasible to provide examples of every usage in a single script, so we only -provide a basic one here. Learn more about usage in README.sqlalchemy.md in this repo. -""" - -# fmt: off - -import os -from datetime import date, datetime, time, timedelta, timezone -from decimal import Decimal -from uuid import UUID - -# By convention, backend-specific SQLA types are defined in uppercase -# This dialect exposes Databricks SQL's TIMESTAMP and TINYINT types -# as these are not covered by the generic, camelcase types shown below -from databricks.sqlalchemy import TIMESTAMP, TINYINT - -# Beside the CamelCase types shown below, line comments reflect -# the underlying Databricks SQL / Delta table type -from sqlalchemy import ( - BigInteger, # BIGINT - Boolean, # BOOLEAN - Column, - Date, # DATE - DateTime, # TIMESTAMP_NTZ - Integer, # INTEGER - Numeric, # DECIMAL - String, # STRING - Time, # STRING - Uuid, # STRING - create_engine, - select, -) -from sqlalchemy.orm import DeclarativeBase, Session - -host = "e2-dogfood.staging.cloud.databricks.com" -http_path = "/sql/1.0/warehouses/58aa1b363649e722" -access_token = "" -catalog = "___________________first" -schema = "jprakash-test" - - -# Extra arguments are passed untouched to databricks-sql-connector -# See src/databricks/sql/thrift_backend.py for complete list -extra_connect_args = { - "_tls_verify_hostname": True, - "_user_agent_entry": "PySQL Example Script", -} - - -engine = create_engine( - f"databricks://token:{access_token}@{host}?http_path={http_path}&catalog={catalog}&schema={schema}", - connect_args=extra_connect_args, echo=True, -) - - -class Base(DeclarativeBase): - pass - - -# This object gives a usage example for each supported type -# for more details on these, see README.sqlalchemy.md -class SampleObject(Base): - __tablename__ = "pysql_sqlalchemy_example_table" - - bigint_col = Column(BigInteger, primary_key=True) - string_col = Column(String) - tinyint_col = Column(TINYINT) - int_col = Column(Integer) - numeric_col = Column(Numeric(10, 2)) - boolean_col = Column(Boolean) - date_col = Column(Date) - datetime_col = Column(TIMESTAMP) - datetime_col_ntz = Column(DateTime) - time_col = Column(Time) - uuid_col = Column(Uuid) - -# This generates a CREATE TABLE statement against the catalog and schema -# specified in the connection string -Base.metadata.create_all(engine) - -# Output SQL is: -# CREATE TABLE pysql_sqlalchemy_example_table ( -# bigint_col BIGINT NOT NULL, -# string_col STRING, -# tinyint_col SMALLINT, -# int_col INT, -# numeric_col DECIMAL(10, 2), -# boolean_col BOOLEAN, -# date_col DATE, -# datetime_col TIMESTAMP, -# datetime_col_ntz TIMESTAMP_NTZ, -# time_col STRING, -# uuid_col STRING, -# PRIMARY KEY (bigint_col) -# ) USING DELTA - -# The code that follows will INSERT a record using SQLAlchemy ORM containing these values -# and then SELECT it back out. The output is compared to the input to demonstrate that -# all type information is preserved. -sample_object = { - "bigint_col": 1234567890123456789, - "string_col": "foo", - "tinyint_col": -100, - "int_col": 5280, - "numeric_col": Decimal("525600.01"), - "boolean_col": True, - "date_col": date(2020, 12, 25), - "datetime_col": datetime( - 1991, 8, 3, 21, 30, 5, tzinfo=timezone(timedelta(hours=-8)) - ), - "datetime_col_ntz": datetime(1990, 12, 4, 6, 33, 41), - "time_col": time(23, 59, 59), - "uuid_col": UUID(int=255), -} -sa_obj = SampleObject(**sample_object) - -session = Session(engine) -session.add(sa_obj) -session.commit() - -# Output SQL is: -# INSERT INTO -# pysql_sqlalchemy_example_table ( -# bigint_col, -# string_col, -# tinyint_col, -# int_col, -# numeric_col, -# boolean_col, -# date_col, -# datetime_col, -# datetime_col_ntz, -# time_col, -# uuid_col -# ) -# VALUES -# ( -# :bigint_col, -# :string_col, -# :tinyint_col, -# :int_col, -# :numeric_col, -# :boolean_col, -# :date_col, -# :datetime_col, -# :datetime_col_ntz, -# :time_col, -# :uuid_col -# ) - -# Here we build a SELECT query using ORM -stmt = select(SampleObject).where(SampleObject.int_col == 5280) - -# Then fetch one result with session.scalar() -result = session.scalar(stmt) - -# Finally, we read out the input data and compare it to the output -compare = {key: getattr(result, key) for key in sample_object.keys()} -assert compare == sample_object - -# Then we drop the demonstration table -Base.metadata.drop_all(engine) - -# Output SQL is: -# DROP TABLE pysql_sqlalchemy_example_table \ No newline at end of file diff --git a/databricks_sql_connector/src/databricks/sql/__init__.py b/databricks_sql_connector/src/databricks/sql/__init__.py index 55ffecfd..50130d88 100644 --- a/databricks_sql_connector/src/databricks/sql/__init__.py +++ b/databricks_sql_connector/src/databricks/sql/__init__.py @@ -1 +1 @@ -from databricks_sql_connector_core.sql import * \ No newline at end of file +from databricks_sql_connector_core.sql import * diff --git a/databricks_sql_connector/src/databricks/sql/utils.py b/databricks_sql_connector/src/databricks/sql/utils.py index 67ab7467..1f64382c 100644 --- a/databricks_sql_connector/src/databricks/sql/utils.py +++ b/databricks_sql_connector/src/databricks/sql/utils.py @@ -1 +1 @@ -from databricks_sql_connector_core.sql.utils import * \ No newline at end of file +from databricks_sql_connector_core.sql.utils import * diff --git a/databricks_sql_connector/src/databricks/sqlalchemy/__init__.py b/databricks_sql_connector/src/databricks/sqlalchemy/__init__.py index 2f0e155c..f4874904 100644 --- a/databricks_sql_connector/src/databricks/sqlalchemy/__init__.py +++ b/databricks_sql_connector/src/databricks/sqlalchemy/__init__.py @@ -2,4 +2,5 @@ from databricks_sqlalchemy import * except: import warnings - warnings.warn("Install databricks_sqlalchemy plugin before using this") \ No newline at end of file + + warnings.warn("Install databricks_sqlalchemy plugin before using this") diff --git a/databricks_sql_connector_core/pyproject.toml b/databricks_sql_connector_core/pyproject.toml index 2a340bbd..f009a334 100644 --- a/databricks_sql_connector_core/pyproject.toml +++ b/databricks_sql_connector_core/pyproject.toml @@ -50,7 +50,7 @@ exclude = ['ttypes\.py$', 'TCLIService\.py$'] [tool.black] exclude = '/(\.eggs|\.git|\.hg|\.mypy_cache|\.nox|\.tox|\.venv|\.svn|_build|buck-out|build|dist|thrift_api)/' -# + [tool.pytest.ini_options] markers = {"reviewed" = "Test case has been reviewed by Databricks"} minversion = "6.0" diff --git a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/auth/auth.py b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/auth/auth.py index 3946e8e1..37355ce8 100755 --- a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/auth/auth.py +++ b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/auth/auth.py @@ -107,9 +107,11 @@ def get_python_sql_connector_auth_provider(hostname: str, **kwargs): tls_client_cert_file=kwargs.get("_tls_client_cert_file"), oauth_scopes=PYSQL_OAUTH_SCOPES, oauth_client_id=kwargs.get("oauth_client_id") or client_id, - oauth_redirect_port_range=[kwargs["oauth_redirect_port"]] - if kwargs.get("oauth_client_id") and kwargs.get("oauth_redirect_port") - else redirect_port_range, + oauth_redirect_port_range=( + [kwargs["oauth_redirect_port"]] + if kwargs.get("oauth_client_id") and kwargs.get("oauth_redirect_port") + else redirect_port_range + ), oauth_persistence=kwargs.get("experimental_oauth_persistence"), credentials_provider=kwargs.get("credentials_provider"), ) diff --git a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/auth/authenticators.py b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/auth/authenticators.py index 63e3c248..bb34b5b0 100644 --- a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/auth/authenticators.py +++ b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/auth/authenticators.py @@ -4,11 +4,17 @@ from typing import Callable, Dict, List from databricks_sql_connector_core.sql.auth.oauth import OAuthManager -from databricks_sql_connector_core.sql.auth.endpoint import get_oauth_endpoints, infer_cloud_from_host +from databricks_sql_connector_core.sql.auth.endpoint import ( + get_oauth_endpoints, + infer_cloud_from_host, +) # Private API: this is an evolving interface and it will change in the future. # Please must not depend on it in your applications. -from databricks_sql_connector_core.sql.experimental.oauth_persistence import OAuthToken, OAuthPersistence +from databricks_sql_connector_core.sql.experimental.oauth_persistence import ( + OAuthToken, + OAuthPersistence, +) class AuthProvider: @@ -25,12 +31,10 @@ class CredentialsProvider(abc.ABC): for authenticating requests to Databricks REST APIs""" @abc.abstractmethod - def auth_type(self) -> str: - ... + def auth_type(self) -> str: ... @abc.abstractmethod - def __call__(self, *args, **kwargs) -> HeaderFactory: - ... + def __call__(self, *args, **kwargs) -> HeaderFactory: ... # Private API: this is an evolving interface and it will change in the future. diff --git a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/auth/oauth.py b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/auth/oauth.py index c26e6854..0944a901 100644 --- a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/auth/oauth.py +++ b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/auth/oauth.py @@ -13,7 +13,9 @@ from oauthlib.oauth2.rfc6749.errors import OAuth2Error from requests.exceptions import RequestException -from databricks_sql_connector_core.sql.auth.oauth_http_handler import OAuthHttpSingleRequestHandler +from databricks_sql_connector_core.sql.auth.oauth_http_handler import ( + OAuthHttpSingleRequestHandler, +) from databricks_sql_connector_core.sql.auth.endpoint import OAuthEndpointCollection logger = logging.getLogger(__name__) diff --git a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/auth/thrift_http_client.py b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/auth/thrift_http_client.py index f2c73d62..f4fd0e13 100644 --- a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/auth/thrift_http_client.py +++ b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/auth/thrift_http_client.py @@ -15,7 +15,10 @@ from urllib3 import HTTPConnectionPool, HTTPSConnectionPool, ProxyManager from urllib3.util import make_headers -from databricks_sql_connector_core.sql.auth.retry import CommandType, DatabricksRetryPolicy +from databricks_sql_connector_core.sql.auth.retry import ( + CommandType, + DatabricksRetryPolicy, +) class THttpClient(thrift.transport.THttpClient.THttpClient): diff --git a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/client.py b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/client.py index c953480d..c8b8f52f 100755 --- a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/client.py +++ b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/client.py @@ -1,6 +1,7 @@ from typing import Dict, Tuple, List, Optional, Any, Union, Sequence import pandas + try: import pyarrow except ImportError: @@ -27,7 +28,7 @@ inject_parameters, transform_paramstyle, ArrowQueue, - ColumnQueue + ColumnQueue, ) from databricks_sql_connector_core.sql.parameters.native import ( DbsqlParameterBase, @@ -42,8 +43,12 @@ from databricks_sql_connector_core.sql.types import Row -from databricks_sql_connector_core.sql.auth.auth import get_python_sql_connector_auth_provider -from databricks_sql_connector_core.sql.experimental.oauth_persistence import OAuthPersistence +from databricks_sql_connector_core.sql.auth.auth import ( + get_python_sql_connector_auth_provider, +) +from databricks_sql_connector_core.sql.experimental.oauth_persistence import ( + OAuthPersistence, +) from databricks_sql_connector_core.sql.thrift_api.TCLIService.ttypes import ( TSparkParameter, @@ -1148,7 +1153,6 @@ def _convert_columnar_table(self, table): return result - def _convert_arrow_table(self, table): column_names = [c[0] for c in self.description] ResultRow = Row(*column_names) @@ -1224,7 +1228,7 @@ def merge_columnar(self, result1, result2): :param result2: :return: """ - merged_result = [result1[i]+result2[i] for i in range(len(result1))] + merged_result = [result1[i] + result2[i] for i in range(len(result1))] return merged_result def fetchmany_columnar(self, size: int): @@ -1241,9 +1245,9 @@ def fetchmany_columnar(self, size: int): self._next_row_index += len(results[0]) while ( - n_remaining_rows > 0 - and not self.has_been_closed_server_side - and self.has_more_rows + n_remaining_rows > 0 + and not self.has_been_closed_server_side + and self.has_more_rows ): self._fill_results_buffer() partial_results = self.results.next_n_rows(n_remaining_rows) diff --git a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/cloudfetch/download_manager.py b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/cloudfetch/download_manager.py index 7c2b5571..ffa41f31 100644 --- a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/cloudfetch/download_manager.py +++ b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/cloudfetch/download_manager.py @@ -9,7 +9,9 @@ DownloadableResultSettings, DownloadedFile, ) -from databricks_sql_connector_core.sql.thrift_api.TCLIService.ttypes import TSparkArrowResultLink +from databricks_sql_connector_core.sql.thrift_api.TCLIService.ttypes import ( + TSparkArrowResultLink, +) logger = logging.getLogger(__name__) diff --git a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/cloudfetch/downloader.py b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/cloudfetch/downloader.py index a013fd20..4667bf2a 100644 --- a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/cloudfetch/downloader.py +++ b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/cloudfetch/downloader.py @@ -7,7 +7,9 @@ import lz4.frame import time -from databricks_sql_connector_core.sql.thrift_api.TCLIService.ttypes import TSparkArrowResultLink +from databricks_sql_connector_core.sql.thrift_api.TCLIService.ttypes import ( + TSparkArrowResultLink, +) from databricks_sql_connector_core.sql.exc import Error diff --git a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/thrift_api/TCLIService/TCLIService.py b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/thrift_api/TCLIService/TCLIService.py index 071e78a9..9d176988 100644 --- a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/thrift_api/TCLIService/TCLIService.py +++ b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/thrift_api/TCLIService/TCLIService.py @@ -6,7 +6,13 @@ # options string: py # -from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException +from thrift.Thrift import ( + TType, + TMessageType, + TFrozenDict, + TException, + TApplicationException, +) from thrift.protocol.TProtocol import TProtocolException from thrift.TRecursive import fix_spec @@ -15,6 +21,7 @@ from .ttypes import * from thrift.Thrift import TProcessor from thrift.transport import TTransport + all_structs = [] @@ -205,7 +212,7 @@ def OpenSession(self, req): return self.recv_OpenSession() def send_OpenSession(self, req): - self._oprot.writeMessageBegin('OpenSession', TMessageType.CALL, self._seqid) + self._oprot.writeMessageBegin("OpenSession", TMessageType.CALL, self._seqid) args = OpenSession_args() args.req = req args.write(self._oprot) @@ -225,7 +232,9 @@ def recv_OpenSession(self): iprot.readMessageEnd() if result.success is not None: return result.success - raise TApplicationException(TApplicationException.MISSING_RESULT, "OpenSession failed: unknown result") + raise TApplicationException( + TApplicationException.MISSING_RESULT, "OpenSession failed: unknown result" + ) def CloseSession(self, req): """ @@ -237,7 +246,7 @@ def CloseSession(self, req): return self.recv_CloseSession() def send_CloseSession(self, req): - self._oprot.writeMessageBegin('CloseSession', TMessageType.CALL, self._seqid) + self._oprot.writeMessageBegin("CloseSession", TMessageType.CALL, self._seqid) args = CloseSession_args() args.req = req args.write(self._oprot) @@ -257,7 +266,9 @@ def recv_CloseSession(self): iprot.readMessageEnd() if result.success is not None: return result.success - raise TApplicationException(TApplicationException.MISSING_RESULT, "CloseSession failed: unknown result") + raise TApplicationException( + TApplicationException.MISSING_RESULT, "CloseSession failed: unknown result" + ) def GetInfo(self, req): """ @@ -269,7 +280,7 @@ def GetInfo(self, req): return self.recv_GetInfo() def send_GetInfo(self, req): - self._oprot.writeMessageBegin('GetInfo', TMessageType.CALL, self._seqid) + self._oprot.writeMessageBegin("GetInfo", TMessageType.CALL, self._seqid) args = GetInfo_args() args.req = req args.write(self._oprot) @@ -289,7 +300,9 @@ def recv_GetInfo(self): iprot.readMessageEnd() if result.success is not None: return result.success - raise TApplicationException(TApplicationException.MISSING_RESULT, "GetInfo failed: unknown result") + raise TApplicationException( + TApplicationException.MISSING_RESULT, "GetInfo failed: unknown result" + ) def ExecuteStatement(self, req): """ @@ -301,7 +314,9 @@ def ExecuteStatement(self, req): return self.recv_ExecuteStatement() def send_ExecuteStatement(self, req): - self._oprot.writeMessageBegin('ExecuteStatement', TMessageType.CALL, self._seqid) + self._oprot.writeMessageBegin( + "ExecuteStatement", TMessageType.CALL, self._seqid + ) args = ExecuteStatement_args() args.req = req args.write(self._oprot) @@ -321,7 +336,10 @@ def recv_ExecuteStatement(self): iprot.readMessageEnd() if result.success is not None: return result.success - raise TApplicationException(TApplicationException.MISSING_RESULT, "ExecuteStatement failed: unknown result") + raise TApplicationException( + TApplicationException.MISSING_RESULT, + "ExecuteStatement failed: unknown result", + ) def GetTypeInfo(self, req): """ @@ -333,7 +351,7 @@ def GetTypeInfo(self, req): return self.recv_GetTypeInfo() def send_GetTypeInfo(self, req): - self._oprot.writeMessageBegin('GetTypeInfo', TMessageType.CALL, self._seqid) + self._oprot.writeMessageBegin("GetTypeInfo", TMessageType.CALL, self._seqid) args = GetTypeInfo_args() args.req = req args.write(self._oprot) @@ -353,7 +371,9 @@ def recv_GetTypeInfo(self): iprot.readMessageEnd() if result.success is not None: return result.success - raise TApplicationException(TApplicationException.MISSING_RESULT, "GetTypeInfo failed: unknown result") + raise TApplicationException( + TApplicationException.MISSING_RESULT, "GetTypeInfo failed: unknown result" + ) def GetCatalogs(self, req): """ @@ -365,7 +385,7 @@ def GetCatalogs(self, req): return self.recv_GetCatalogs() def send_GetCatalogs(self, req): - self._oprot.writeMessageBegin('GetCatalogs', TMessageType.CALL, self._seqid) + self._oprot.writeMessageBegin("GetCatalogs", TMessageType.CALL, self._seqid) args = GetCatalogs_args() args.req = req args.write(self._oprot) @@ -385,7 +405,9 @@ def recv_GetCatalogs(self): iprot.readMessageEnd() if result.success is not None: return result.success - raise TApplicationException(TApplicationException.MISSING_RESULT, "GetCatalogs failed: unknown result") + raise TApplicationException( + TApplicationException.MISSING_RESULT, "GetCatalogs failed: unknown result" + ) def GetSchemas(self, req): """ @@ -397,7 +419,7 @@ def GetSchemas(self, req): return self.recv_GetSchemas() def send_GetSchemas(self, req): - self._oprot.writeMessageBegin('GetSchemas', TMessageType.CALL, self._seqid) + self._oprot.writeMessageBegin("GetSchemas", TMessageType.CALL, self._seqid) args = GetSchemas_args() args.req = req args.write(self._oprot) @@ -417,7 +439,9 @@ def recv_GetSchemas(self): iprot.readMessageEnd() if result.success is not None: return result.success - raise TApplicationException(TApplicationException.MISSING_RESULT, "GetSchemas failed: unknown result") + raise TApplicationException( + TApplicationException.MISSING_RESULT, "GetSchemas failed: unknown result" + ) def GetTables(self, req): """ @@ -429,7 +453,7 @@ def GetTables(self, req): return self.recv_GetTables() def send_GetTables(self, req): - self._oprot.writeMessageBegin('GetTables', TMessageType.CALL, self._seqid) + self._oprot.writeMessageBegin("GetTables", TMessageType.CALL, self._seqid) args = GetTables_args() args.req = req args.write(self._oprot) @@ -449,7 +473,9 @@ def recv_GetTables(self): iprot.readMessageEnd() if result.success is not None: return result.success - raise TApplicationException(TApplicationException.MISSING_RESULT, "GetTables failed: unknown result") + raise TApplicationException( + TApplicationException.MISSING_RESULT, "GetTables failed: unknown result" + ) def GetTableTypes(self, req): """ @@ -461,7 +487,7 @@ def GetTableTypes(self, req): return self.recv_GetTableTypes() def send_GetTableTypes(self, req): - self._oprot.writeMessageBegin('GetTableTypes', TMessageType.CALL, self._seqid) + self._oprot.writeMessageBegin("GetTableTypes", TMessageType.CALL, self._seqid) args = GetTableTypes_args() args.req = req args.write(self._oprot) @@ -481,7 +507,9 @@ def recv_GetTableTypes(self): iprot.readMessageEnd() if result.success is not None: return result.success - raise TApplicationException(TApplicationException.MISSING_RESULT, "GetTableTypes failed: unknown result") + raise TApplicationException( + TApplicationException.MISSING_RESULT, "GetTableTypes failed: unknown result" + ) def GetColumns(self, req): """ @@ -493,7 +521,7 @@ def GetColumns(self, req): return self.recv_GetColumns() def send_GetColumns(self, req): - self._oprot.writeMessageBegin('GetColumns', TMessageType.CALL, self._seqid) + self._oprot.writeMessageBegin("GetColumns", TMessageType.CALL, self._seqid) args = GetColumns_args() args.req = req args.write(self._oprot) @@ -513,7 +541,9 @@ def recv_GetColumns(self): iprot.readMessageEnd() if result.success is not None: return result.success - raise TApplicationException(TApplicationException.MISSING_RESULT, "GetColumns failed: unknown result") + raise TApplicationException( + TApplicationException.MISSING_RESULT, "GetColumns failed: unknown result" + ) def GetFunctions(self, req): """ @@ -525,7 +555,7 @@ def GetFunctions(self, req): return self.recv_GetFunctions() def send_GetFunctions(self, req): - self._oprot.writeMessageBegin('GetFunctions', TMessageType.CALL, self._seqid) + self._oprot.writeMessageBegin("GetFunctions", TMessageType.CALL, self._seqid) args = GetFunctions_args() args.req = req args.write(self._oprot) @@ -545,7 +575,9 @@ def recv_GetFunctions(self): iprot.readMessageEnd() if result.success is not None: return result.success - raise TApplicationException(TApplicationException.MISSING_RESULT, "GetFunctions failed: unknown result") + raise TApplicationException( + TApplicationException.MISSING_RESULT, "GetFunctions failed: unknown result" + ) def GetPrimaryKeys(self, req): """ @@ -557,7 +589,7 @@ def GetPrimaryKeys(self, req): return self.recv_GetPrimaryKeys() def send_GetPrimaryKeys(self, req): - self._oprot.writeMessageBegin('GetPrimaryKeys', TMessageType.CALL, self._seqid) + self._oprot.writeMessageBegin("GetPrimaryKeys", TMessageType.CALL, self._seqid) args = GetPrimaryKeys_args() args.req = req args.write(self._oprot) @@ -577,7 +609,10 @@ def recv_GetPrimaryKeys(self): iprot.readMessageEnd() if result.success is not None: return result.success - raise TApplicationException(TApplicationException.MISSING_RESULT, "GetPrimaryKeys failed: unknown result") + raise TApplicationException( + TApplicationException.MISSING_RESULT, + "GetPrimaryKeys failed: unknown result", + ) def GetCrossReference(self, req): """ @@ -589,7 +624,9 @@ def GetCrossReference(self, req): return self.recv_GetCrossReference() def send_GetCrossReference(self, req): - self._oprot.writeMessageBegin('GetCrossReference', TMessageType.CALL, self._seqid) + self._oprot.writeMessageBegin( + "GetCrossReference", TMessageType.CALL, self._seqid + ) args = GetCrossReference_args() args.req = req args.write(self._oprot) @@ -609,7 +646,10 @@ def recv_GetCrossReference(self): iprot.readMessageEnd() if result.success is not None: return result.success - raise TApplicationException(TApplicationException.MISSING_RESULT, "GetCrossReference failed: unknown result") + raise TApplicationException( + TApplicationException.MISSING_RESULT, + "GetCrossReference failed: unknown result", + ) def GetOperationStatus(self, req): """ @@ -621,7 +661,9 @@ def GetOperationStatus(self, req): return self.recv_GetOperationStatus() def send_GetOperationStatus(self, req): - self._oprot.writeMessageBegin('GetOperationStatus', TMessageType.CALL, self._seqid) + self._oprot.writeMessageBegin( + "GetOperationStatus", TMessageType.CALL, self._seqid + ) args = GetOperationStatus_args() args.req = req args.write(self._oprot) @@ -641,7 +683,10 @@ def recv_GetOperationStatus(self): iprot.readMessageEnd() if result.success is not None: return result.success - raise TApplicationException(TApplicationException.MISSING_RESULT, "GetOperationStatus failed: unknown result") + raise TApplicationException( + TApplicationException.MISSING_RESULT, + "GetOperationStatus failed: unknown result", + ) def CancelOperation(self, req): """ @@ -653,7 +698,7 @@ def CancelOperation(self, req): return self.recv_CancelOperation() def send_CancelOperation(self, req): - self._oprot.writeMessageBegin('CancelOperation', TMessageType.CALL, self._seqid) + self._oprot.writeMessageBegin("CancelOperation", TMessageType.CALL, self._seqid) args = CancelOperation_args() args.req = req args.write(self._oprot) @@ -673,7 +718,10 @@ def recv_CancelOperation(self): iprot.readMessageEnd() if result.success is not None: return result.success - raise TApplicationException(TApplicationException.MISSING_RESULT, "CancelOperation failed: unknown result") + raise TApplicationException( + TApplicationException.MISSING_RESULT, + "CancelOperation failed: unknown result", + ) def CloseOperation(self, req): """ @@ -685,7 +733,7 @@ def CloseOperation(self, req): return self.recv_CloseOperation() def send_CloseOperation(self, req): - self._oprot.writeMessageBegin('CloseOperation', TMessageType.CALL, self._seqid) + self._oprot.writeMessageBegin("CloseOperation", TMessageType.CALL, self._seqid) args = CloseOperation_args() args.req = req args.write(self._oprot) @@ -705,7 +753,10 @@ def recv_CloseOperation(self): iprot.readMessageEnd() if result.success is not None: return result.success - raise TApplicationException(TApplicationException.MISSING_RESULT, "CloseOperation failed: unknown result") + raise TApplicationException( + TApplicationException.MISSING_RESULT, + "CloseOperation failed: unknown result", + ) def GetResultSetMetadata(self, req): """ @@ -717,7 +768,9 @@ def GetResultSetMetadata(self, req): return self.recv_GetResultSetMetadata() def send_GetResultSetMetadata(self, req): - self._oprot.writeMessageBegin('GetResultSetMetadata', TMessageType.CALL, self._seqid) + self._oprot.writeMessageBegin( + "GetResultSetMetadata", TMessageType.CALL, self._seqid + ) args = GetResultSetMetadata_args() args.req = req args.write(self._oprot) @@ -737,7 +790,10 @@ def recv_GetResultSetMetadata(self): iprot.readMessageEnd() if result.success is not None: return result.success - raise TApplicationException(TApplicationException.MISSING_RESULT, "GetResultSetMetadata failed: unknown result") + raise TApplicationException( + TApplicationException.MISSING_RESULT, + "GetResultSetMetadata failed: unknown result", + ) def FetchResults(self, req): """ @@ -749,7 +805,7 @@ def FetchResults(self, req): return self.recv_FetchResults() def send_FetchResults(self, req): - self._oprot.writeMessageBegin('FetchResults', TMessageType.CALL, self._seqid) + self._oprot.writeMessageBegin("FetchResults", TMessageType.CALL, self._seqid) args = FetchResults_args() args.req = req args.write(self._oprot) @@ -769,7 +825,9 @@ def recv_FetchResults(self): iprot.readMessageEnd() if result.success is not None: return result.success - raise TApplicationException(TApplicationException.MISSING_RESULT, "FetchResults failed: unknown result") + raise TApplicationException( + TApplicationException.MISSING_RESULT, "FetchResults failed: unknown result" + ) def GetDelegationToken(self, req): """ @@ -781,7 +839,9 @@ def GetDelegationToken(self, req): return self.recv_GetDelegationToken() def send_GetDelegationToken(self, req): - self._oprot.writeMessageBegin('GetDelegationToken', TMessageType.CALL, self._seqid) + self._oprot.writeMessageBegin( + "GetDelegationToken", TMessageType.CALL, self._seqid + ) args = GetDelegationToken_args() args.req = req args.write(self._oprot) @@ -801,7 +861,10 @@ def recv_GetDelegationToken(self): iprot.readMessageEnd() if result.success is not None: return result.success - raise TApplicationException(TApplicationException.MISSING_RESULT, "GetDelegationToken failed: unknown result") + raise TApplicationException( + TApplicationException.MISSING_RESULT, + "GetDelegationToken failed: unknown result", + ) def CancelDelegationToken(self, req): """ @@ -813,7 +876,9 @@ def CancelDelegationToken(self, req): return self.recv_CancelDelegationToken() def send_CancelDelegationToken(self, req): - self._oprot.writeMessageBegin('CancelDelegationToken', TMessageType.CALL, self._seqid) + self._oprot.writeMessageBegin( + "CancelDelegationToken", TMessageType.CALL, self._seqid + ) args = CancelDelegationToken_args() args.req = req args.write(self._oprot) @@ -833,7 +898,10 @@ def recv_CancelDelegationToken(self): iprot.readMessageEnd() if result.success is not None: return result.success - raise TApplicationException(TApplicationException.MISSING_RESULT, "CancelDelegationToken failed: unknown result") + raise TApplicationException( + TApplicationException.MISSING_RESULT, + "CancelDelegationToken failed: unknown result", + ) def RenewDelegationToken(self, req): """ @@ -845,7 +913,9 @@ def RenewDelegationToken(self, req): return self.recv_RenewDelegationToken() def send_RenewDelegationToken(self, req): - self._oprot.writeMessageBegin('RenewDelegationToken', TMessageType.CALL, self._seqid) + self._oprot.writeMessageBegin( + "RenewDelegationToken", TMessageType.CALL, self._seqid + ) args = RenewDelegationToken_args() args.req = req args.write(self._oprot) @@ -865,7 +935,10 @@ def recv_RenewDelegationToken(self): iprot.readMessageEnd() if result.success is not None: return result.success - raise TApplicationException(TApplicationException.MISSING_RESULT, "RenewDelegationToken failed: unknown result") + raise TApplicationException( + TApplicationException.MISSING_RESULT, + "RenewDelegationToken failed: unknown result", + ) class Processor(Iface, TProcessor): @@ -888,11 +961,17 @@ def __init__(self, handler): self._processMap["GetOperationStatus"] = Processor.process_GetOperationStatus self._processMap["CancelOperation"] = Processor.process_CancelOperation self._processMap["CloseOperation"] = Processor.process_CloseOperation - self._processMap["GetResultSetMetadata"] = Processor.process_GetResultSetMetadata + self._processMap["GetResultSetMetadata"] = ( + Processor.process_GetResultSetMetadata + ) self._processMap["FetchResults"] = Processor.process_FetchResults self._processMap["GetDelegationToken"] = Processor.process_GetDelegationToken - self._processMap["CancelDelegationToken"] = Processor.process_CancelDelegationToken - self._processMap["RenewDelegationToken"] = Processor.process_RenewDelegationToken + self._processMap["CancelDelegationToken"] = ( + Processor.process_CancelDelegationToken + ) + self._processMap["RenewDelegationToken"] = ( + Processor.process_RenewDelegationToken + ) self._on_message_begin = None def on_message_begin(self, func): @@ -905,7 +984,9 @@ def process(self, iprot, oprot): if name not in self._processMap: iprot.skip(TType.STRUCT) iprot.readMessageEnd() - x = TApplicationException(TApplicationException.UNKNOWN_METHOD, 'Unknown function %s' % (name)) + x = TApplicationException( + TApplicationException.UNKNOWN_METHOD, "Unknown function %s" % (name) + ) oprot.writeMessageBegin(name, TMessageType.EXCEPTION, seqid) x.write(oprot) oprot.writeMessageEnd() @@ -926,13 +1007,15 @@ def process_OpenSession(self, seqid, iprot, oprot): except TTransport.TTransportException: raise except TApplicationException as ex: - logging.exception('TApplication exception in handler') + logging.exception("TApplication exception in handler") msg_type = TMessageType.EXCEPTION result = ex except Exception: - logging.exception('Unexpected exception in handler') + logging.exception("Unexpected exception in handler") msg_type = TMessageType.EXCEPTION - result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error') + result = TApplicationException( + TApplicationException.INTERNAL_ERROR, "Internal error" + ) oprot.writeMessageBegin("OpenSession", msg_type, seqid) result.write(oprot) oprot.writeMessageEnd() @@ -949,13 +1032,15 @@ def process_CloseSession(self, seqid, iprot, oprot): except TTransport.TTransportException: raise except TApplicationException as ex: - logging.exception('TApplication exception in handler') + logging.exception("TApplication exception in handler") msg_type = TMessageType.EXCEPTION result = ex except Exception: - logging.exception('Unexpected exception in handler') + logging.exception("Unexpected exception in handler") msg_type = TMessageType.EXCEPTION - result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error') + result = TApplicationException( + TApplicationException.INTERNAL_ERROR, "Internal error" + ) oprot.writeMessageBegin("CloseSession", msg_type, seqid) result.write(oprot) oprot.writeMessageEnd() @@ -972,13 +1057,15 @@ def process_GetInfo(self, seqid, iprot, oprot): except TTransport.TTransportException: raise except TApplicationException as ex: - logging.exception('TApplication exception in handler') + logging.exception("TApplication exception in handler") msg_type = TMessageType.EXCEPTION result = ex except Exception: - logging.exception('Unexpected exception in handler') + logging.exception("Unexpected exception in handler") msg_type = TMessageType.EXCEPTION - result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error') + result = TApplicationException( + TApplicationException.INTERNAL_ERROR, "Internal error" + ) oprot.writeMessageBegin("GetInfo", msg_type, seqid) result.write(oprot) oprot.writeMessageEnd() @@ -995,13 +1082,15 @@ def process_ExecuteStatement(self, seqid, iprot, oprot): except TTransport.TTransportException: raise except TApplicationException as ex: - logging.exception('TApplication exception in handler') + logging.exception("TApplication exception in handler") msg_type = TMessageType.EXCEPTION result = ex except Exception: - logging.exception('Unexpected exception in handler') + logging.exception("Unexpected exception in handler") msg_type = TMessageType.EXCEPTION - result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error') + result = TApplicationException( + TApplicationException.INTERNAL_ERROR, "Internal error" + ) oprot.writeMessageBegin("ExecuteStatement", msg_type, seqid) result.write(oprot) oprot.writeMessageEnd() @@ -1018,13 +1107,15 @@ def process_GetTypeInfo(self, seqid, iprot, oprot): except TTransport.TTransportException: raise except TApplicationException as ex: - logging.exception('TApplication exception in handler') + logging.exception("TApplication exception in handler") msg_type = TMessageType.EXCEPTION result = ex except Exception: - logging.exception('Unexpected exception in handler') + logging.exception("Unexpected exception in handler") msg_type = TMessageType.EXCEPTION - result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error') + result = TApplicationException( + TApplicationException.INTERNAL_ERROR, "Internal error" + ) oprot.writeMessageBegin("GetTypeInfo", msg_type, seqid) result.write(oprot) oprot.writeMessageEnd() @@ -1041,13 +1132,15 @@ def process_GetCatalogs(self, seqid, iprot, oprot): except TTransport.TTransportException: raise except TApplicationException as ex: - logging.exception('TApplication exception in handler') + logging.exception("TApplication exception in handler") msg_type = TMessageType.EXCEPTION result = ex except Exception: - logging.exception('Unexpected exception in handler') + logging.exception("Unexpected exception in handler") msg_type = TMessageType.EXCEPTION - result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error') + result = TApplicationException( + TApplicationException.INTERNAL_ERROR, "Internal error" + ) oprot.writeMessageBegin("GetCatalogs", msg_type, seqid) result.write(oprot) oprot.writeMessageEnd() @@ -1064,13 +1157,15 @@ def process_GetSchemas(self, seqid, iprot, oprot): except TTransport.TTransportException: raise except TApplicationException as ex: - logging.exception('TApplication exception in handler') + logging.exception("TApplication exception in handler") msg_type = TMessageType.EXCEPTION result = ex except Exception: - logging.exception('Unexpected exception in handler') + logging.exception("Unexpected exception in handler") msg_type = TMessageType.EXCEPTION - result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error') + result = TApplicationException( + TApplicationException.INTERNAL_ERROR, "Internal error" + ) oprot.writeMessageBegin("GetSchemas", msg_type, seqid) result.write(oprot) oprot.writeMessageEnd() @@ -1087,13 +1182,15 @@ def process_GetTables(self, seqid, iprot, oprot): except TTransport.TTransportException: raise except TApplicationException as ex: - logging.exception('TApplication exception in handler') + logging.exception("TApplication exception in handler") msg_type = TMessageType.EXCEPTION result = ex except Exception: - logging.exception('Unexpected exception in handler') + logging.exception("Unexpected exception in handler") msg_type = TMessageType.EXCEPTION - result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error') + result = TApplicationException( + TApplicationException.INTERNAL_ERROR, "Internal error" + ) oprot.writeMessageBegin("GetTables", msg_type, seqid) result.write(oprot) oprot.writeMessageEnd() @@ -1110,13 +1207,15 @@ def process_GetTableTypes(self, seqid, iprot, oprot): except TTransport.TTransportException: raise except TApplicationException as ex: - logging.exception('TApplication exception in handler') + logging.exception("TApplication exception in handler") msg_type = TMessageType.EXCEPTION result = ex except Exception: - logging.exception('Unexpected exception in handler') + logging.exception("Unexpected exception in handler") msg_type = TMessageType.EXCEPTION - result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error') + result = TApplicationException( + TApplicationException.INTERNAL_ERROR, "Internal error" + ) oprot.writeMessageBegin("GetTableTypes", msg_type, seqid) result.write(oprot) oprot.writeMessageEnd() @@ -1133,13 +1232,15 @@ def process_GetColumns(self, seqid, iprot, oprot): except TTransport.TTransportException: raise except TApplicationException as ex: - logging.exception('TApplication exception in handler') + logging.exception("TApplication exception in handler") msg_type = TMessageType.EXCEPTION result = ex except Exception: - logging.exception('Unexpected exception in handler') + logging.exception("Unexpected exception in handler") msg_type = TMessageType.EXCEPTION - result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error') + result = TApplicationException( + TApplicationException.INTERNAL_ERROR, "Internal error" + ) oprot.writeMessageBegin("GetColumns", msg_type, seqid) result.write(oprot) oprot.writeMessageEnd() @@ -1156,13 +1257,15 @@ def process_GetFunctions(self, seqid, iprot, oprot): except TTransport.TTransportException: raise except TApplicationException as ex: - logging.exception('TApplication exception in handler') + logging.exception("TApplication exception in handler") msg_type = TMessageType.EXCEPTION result = ex except Exception: - logging.exception('Unexpected exception in handler') + logging.exception("Unexpected exception in handler") msg_type = TMessageType.EXCEPTION - result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error') + result = TApplicationException( + TApplicationException.INTERNAL_ERROR, "Internal error" + ) oprot.writeMessageBegin("GetFunctions", msg_type, seqid) result.write(oprot) oprot.writeMessageEnd() @@ -1179,13 +1282,15 @@ def process_GetPrimaryKeys(self, seqid, iprot, oprot): except TTransport.TTransportException: raise except TApplicationException as ex: - logging.exception('TApplication exception in handler') + logging.exception("TApplication exception in handler") msg_type = TMessageType.EXCEPTION result = ex except Exception: - logging.exception('Unexpected exception in handler') + logging.exception("Unexpected exception in handler") msg_type = TMessageType.EXCEPTION - result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error') + result = TApplicationException( + TApplicationException.INTERNAL_ERROR, "Internal error" + ) oprot.writeMessageBegin("GetPrimaryKeys", msg_type, seqid) result.write(oprot) oprot.writeMessageEnd() @@ -1202,13 +1307,15 @@ def process_GetCrossReference(self, seqid, iprot, oprot): except TTransport.TTransportException: raise except TApplicationException as ex: - logging.exception('TApplication exception in handler') + logging.exception("TApplication exception in handler") msg_type = TMessageType.EXCEPTION result = ex except Exception: - logging.exception('Unexpected exception in handler') + logging.exception("Unexpected exception in handler") msg_type = TMessageType.EXCEPTION - result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error') + result = TApplicationException( + TApplicationException.INTERNAL_ERROR, "Internal error" + ) oprot.writeMessageBegin("GetCrossReference", msg_type, seqid) result.write(oprot) oprot.writeMessageEnd() @@ -1225,13 +1332,15 @@ def process_GetOperationStatus(self, seqid, iprot, oprot): except TTransport.TTransportException: raise except TApplicationException as ex: - logging.exception('TApplication exception in handler') + logging.exception("TApplication exception in handler") msg_type = TMessageType.EXCEPTION result = ex except Exception: - logging.exception('Unexpected exception in handler') + logging.exception("Unexpected exception in handler") msg_type = TMessageType.EXCEPTION - result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error') + result = TApplicationException( + TApplicationException.INTERNAL_ERROR, "Internal error" + ) oprot.writeMessageBegin("GetOperationStatus", msg_type, seqid) result.write(oprot) oprot.writeMessageEnd() @@ -1248,13 +1357,15 @@ def process_CancelOperation(self, seqid, iprot, oprot): except TTransport.TTransportException: raise except TApplicationException as ex: - logging.exception('TApplication exception in handler') + logging.exception("TApplication exception in handler") msg_type = TMessageType.EXCEPTION result = ex except Exception: - logging.exception('Unexpected exception in handler') + logging.exception("Unexpected exception in handler") msg_type = TMessageType.EXCEPTION - result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error') + result = TApplicationException( + TApplicationException.INTERNAL_ERROR, "Internal error" + ) oprot.writeMessageBegin("CancelOperation", msg_type, seqid) result.write(oprot) oprot.writeMessageEnd() @@ -1271,13 +1382,15 @@ def process_CloseOperation(self, seqid, iprot, oprot): except TTransport.TTransportException: raise except TApplicationException as ex: - logging.exception('TApplication exception in handler') + logging.exception("TApplication exception in handler") msg_type = TMessageType.EXCEPTION result = ex except Exception: - logging.exception('Unexpected exception in handler') + logging.exception("Unexpected exception in handler") msg_type = TMessageType.EXCEPTION - result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error') + result = TApplicationException( + TApplicationException.INTERNAL_ERROR, "Internal error" + ) oprot.writeMessageBegin("CloseOperation", msg_type, seqid) result.write(oprot) oprot.writeMessageEnd() @@ -1294,13 +1407,15 @@ def process_GetResultSetMetadata(self, seqid, iprot, oprot): except TTransport.TTransportException: raise except TApplicationException as ex: - logging.exception('TApplication exception in handler') + logging.exception("TApplication exception in handler") msg_type = TMessageType.EXCEPTION result = ex except Exception: - logging.exception('Unexpected exception in handler') + logging.exception("Unexpected exception in handler") msg_type = TMessageType.EXCEPTION - result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error') + result = TApplicationException( + TApplicationException.INTERNAL_ERROR, "Internal error" + ) oprot.writeMessageBegin("GetResultSetMetadata", msg_type, seqid) result.write(oprot) oprot.writeMessageEnd() @@ -1317,13 +1432,15 @@ def process_FetchResults(self, seqid, iprot, oprot): except TTransport.TTransportException: raise except TApplicationException as ex: - logging.exception('TApplication exception in handler') + logging.exception("TApplication exception in handler") msg_type = TMessageType.EXCEPTION result = ex except Exception: - logging.exception('Unexpected exception in handler') + logging.exception("Unexpected exception in handler") msg_type = TMessageType.EXCEPTION - result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error') + result = TApplicationException( + TApplicationException.INTERNAL_ERROR, "Internal error" + ) oprot.writeMessageBegin("FetchResults", msg_type, seqid) result.write(oprot) oprot.writeMessageEnd() @@ -1340,13 +1457,15 @@ def process_GetDelegationToken(self, seqid, iprot, oprot): except TTransport.TTransportException: raise except TApplicationException as ex: - logging.exception('TApplication exception in handler') + logging.exception("TApplication exception in handler") msg_type = TMessageType.EXCEPTION result = ex except Exception: - logging.exception('Unexpected exception in handler') + logging.exception("Unexpected exception in handler") msg_type = TMessageType.EXCEPTION - result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error') + result = TApplicationException( + TApplicationException.INTERNAL_ERROR, "Internal error" + ) oprot.writeMessageBegin("GetDelegationToken", msg_type, seqid) result.write(oprot) oprot.writeMessageEnd() @@ -1363,13 +1482,15 @@ def process_CancelDelegationToken(self, seqid, iprot, oprot): except TTransport.TTransportException: raise except TApplicationException as ex: - logging.exception('TApplication exception in handler') + logging.exception("TApplication exception in handler") msg_type = TMessageType.EXCEPTION result = ex except Exception: - logging.exception('Unexpected exception in handler') + logging.exception("Unexpected exception in handler") msg_type = TMessageType.EXCEPTION - result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error') + result = TApplicationException( + TApplicationException.INTERNAL_ERROR, "Internal error" + ) oprot.writeMessageBegin("CancelDelegationToken", msg_type, seqid) result.write(oprot) oprot.writeMessageEnd() @@ -1386,18 +1507,21 @@ def process_RenewDelegationToken(self, seqid, iprot, oprot): except TTransport.TTransportException: raise except TApplicationException as ex: - logging.exception('TApplication exception in handler') + logging.exception("TApplication exception in handler") msg_type = TMessageType.EXCEPTION result = ex except Exception: - logging.exception('Unexpected exception in handler') + logging.exception("Unexpected exception in handler") msg_type = TMessageType.EXCEPTION - result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error') + result = TApplicationException( + TApplicationException.INTERNAL_ERROR, "Internal error" + ) oprot.writeMessageBegin("RenewDelegationToken", msg_type, seqid) result.write(oprot) oprot.writeMessageEnd() oprot.trans.flush() + # HELPER FUNCTIONS AND STRUCTURES @@ -1408,12 +1532,18 @@ class OpenSession_args(object): """ - - def __init__(self, req=None,): + def __init__( + self, + req=None, + ): self.req = req def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -1434,11 +1564,13 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('OpenSession_args') + oprot.writeStructBegin("OpenSession_args") if self.req is not None: - oprot.writeFieldBegin('req', TType.STRUCT, 1) + oprot.writeFieldBegin("req", TType.STRUCT, 1) self.req.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -1448,19 +1580,26 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) + + all_structs.append(OpenSession_args) OpenSession_args.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'req', [TOpenSessionReq, None], None, ), # 1 + ( + 1, + TType.STRUCT, + "req", + [TOpenSessionReq, None], + None, + ), # 1 ) @@ -1471,12 +1610,18 @@ class OpenSession_result(object): """ - - def __init__(self, success=None,): + def __init__( + self, + success=None, + ): self.success = success def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -1497,11 +1642,13 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('OpenSession_result') + oprot.writeStructBegin("OpenSession_result") if self.success is not None: - oprot.writeFieldBegin('success', TType.STRUCT, 0) + oprot.writeFieldBegin("success", TType.STRUCT, 0) self.success.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -1511,18 +1658,25 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) + + all_structs.append(OpenSession_result) OpenSession_result.thrift_spec = ( - (0, TType.STRUCT, 'success', [TOpenSessionResp, None], None, ), # 0 + ( + 0, + TType.STRUCT, + "success", + [TOpenSessionResp, None], + None, + ), # 0 ) @@ -1533,12 +1687,18 @@ class CloseSession_args(object): """ - - def __init__(self, req=None,): + def __init__( + self, + req=None, + ): self.req = req def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -1559,11 +1719,13 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('CloseSession_args') + oprot.writeStructBegin("CloseSession_args") if self.req is not None: - oprot.writeFieldBegin('req', TType.STRUCT, 1) + oprot.writeFieldBegin("req", TType.STRUCT, 1) self.req.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -1573,19 +1735,26 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) + + all_structs.append(CloseSession_args) CloseSession_args.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'req', [TCloseSessionReq, None], None, ), # 1 + ( + 1, + TType.STRUCT, + "req", + [TCloseSessionReq, None], + None, + ), # 1 ) @@ -1596,12 +1765,18 @@ class CloseSession_result(object): """ - - def __init__(self, success=None,): + def __init__( + self, + success=None, + ): self.success = success def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -1622,11 +1797,13 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('CloseSession_result') + oprot.writeStructBegin("CloseSession_result") if self.success is not None: - oprot.writeFieldBegin('success', TType.STRUCT, 0) + oprot.writeFieldBegin("success", TType.STRUCT, 0) self.success.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -1636,18 +1813,25 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) + + all_structs.append(CloseSession_result) CloseSession_result.thrift_spec = ( - (0, TType.STRUCT, 'success', [TCloseSessionResp, None], None, ), # 0 + ( + 0, + TType.STRUCT, + "success", + [TCloseSessionResp, None], + None, + ), # 0 ) @@ -1658,12 +1842,18 @@ class GetInfo_args(object): """ - - def __init__(self, req=None,): + def __init__( + self, + req=None, + ): self.req = req def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -1684,11 +1874,13 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('GetInfo_args') + oprot.writeStructBegin("GetInfo_args") if self.req is not None: - oprot.writeFieldBegin('req', TType.STRUCT, 1) + oprot.writeFieldBegin("req", TType.STRUCT, 1) self.req.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -1698,19 +1890,26 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) + + all_structs.append(GetInfo_args) GetInfo_args.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'req', [TGetInfoReq, None], None, ), # 1 + ( + 1, + TType.STRUCT, + "req", + [TGetInfoReq, None], + None, + ), # 1 ) @@ -1721,12 +1920,18 @@ class GetInfo_result(object): """ - - def __init__(self, success=None,): + def __init__( + self, + success=None, + ): self.success = success def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -1747,11 +1952,13 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('GetInfo_result') + oprot.writeStructBegin("GetInfo_result") if self.success is not None: - oprot.writeFieldBegin('success', TType.STRUCT, 0) + oprot.writeFieldBegin("success", TType.STRUCT, 0) self.success.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -1761,18 +1968,25 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) + + all_structs.append(GetInfo_result) GetInfo_result.thrift_spec = ( - (0, TType.STRUCT, 'success', [TGetInfoResp, None], None, ), # 0 + ( + 0, + TType.STRUCT, + "success", + [TGetInfoResp, None], + None, + ), # 0 ) @@ -1783,12 +1997,18 @@ class ExecuteStatement_args(object): """ - - def __init__(self, req=None,): + def __init__( + self, + req=None, + ): self.req = req def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -1809,11 +2029,13 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('ExecuteStatement_args') + oprot.writeStructBegin("ExecuteStatement_args") if self.req is not None: - oprot.writeFieldBegin('req', TType.STRUCT, 1) + oprot.writeFieldBegin("req", TType.STRUCT, 1) self.req.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -1823,19 +2045,26 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) + + all_structs.append(ExecuteStatement_args) ExecuteStatement_args.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'req', [TExecuteStatementReq, None], None, ), # 1 + ( + 1, + TType.STRUCT, + "req", + [TExecuteStatementReq, None], + None, + ), # 1 ) @@ -1846,12 +2075,18 @@ class ExecuteStatement_result(object): """ - - def __init__(self, success=None,): + def __init__( + self, + success=None, + ): self.success = success def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -1872,11 +2107,13 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('ExecuteStatement_result') + oprot.writeStructBegin("ExecuteStatement_result") if self.success is not None: - oprot.writeFieldBegin('success', TType.STRUCT, 0) + oprot.writeFieldBegin("success", TType.STRUCT, 0) self.success.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -1886,18 +2123,25 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) + + all_structs.append(ExecuteStatement_result) ExecuteStatement_result.thrift_spec = ( - (0, TType.STRUCT, 'success', [TExecuteStatementResp, None], None, ), # 0 + ( + 0, + TType.STRUCT, + "success", + [TExecuteStatementResp, None], + None, + ), # 0 ) @@ -1908,12 +2152,18 @@ class GetTypeInfo_args(object): """ - - def __init__(self, req=None,): + def __init__( + self, + req=None, + ): self.req = req def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -1934,11 +2184,13 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('GetTypeInfo_args') + oprot.writeStructBegin("GetTypeInfo_args") if self.req is not None: - oprot.writeFieldBegin('req', TType.STRUCT, 1) + oprot.writeFieldBegin("req", TType.STRUCT, 1) self.req.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -1948,19 +2200,26 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) + + all_structs.append(GetTypeInfo_args) GetTypeInfo_args.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'req', [TGetTypeInfoReq, None], None, ), # 1 + ( + 1, + TType.STRUCT, + "req", + [TGetTypeInfoReq, None], + None, + ), # 1 ) @@ -1971,12 +2230,18 @@ class GetTypeInfo_result(object): """ - - def __init__(self, success=None,): + def __init__( + self, + success=None, + ): self.success = success def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -1997,11 +2262,13 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('GetTypeInfo_result') + oprot.writeStructBegin("GetTypeInfo_result") if self.success is not None: - oprot.writeFieldBegin('success', TType.STRUCT, 0) + oprot.writeFieldBegin("success", TType.STRUCT, 0) self.success.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -2011,18 +2278,25 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) + + all_structs.append(GetTypeInfo_result) GetTypeInfo_result.thrift_spec = ( - (0, TType.STRUCT, 'success', [TGetTypeInfoResp, None], None, ), # 0 + ( + 0, + TType.STRUCT, + "success", + [TGetTypeInfoResp, None], + None, + ), # 0 ) @@ -2033,12 +2307,18 @@ class GetCatalogs_args(object): """ - - def __init__(self, req=None,): + def __init__( + self, + req=None, + ): self.req = req def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -2059,11 +2339,13 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('GetCatalogs_args') + oprot.writeStructBegin("GetCatalogs_args") if self.req is not None: - oprot.writeFieldBegin('req', TType.STRUCT, 1) + oprot.writeFieldBegin("req", TType.STRUCT, 1) self.req.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -2073,19 +2355,26 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) + + all_structs.append(GetCatalogs_args) GetCatalogs_args.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'req', [TGetCatalogsReq, None], None, ), # 1 + ( + 1, + TType.STRUCT, + "req", + [TGetCatalogsReq, None], + None, + ), # 1 ) @@ -2096,12 +2385,18 @@ class GetCatalogs_result(object): """ - - def __init__(self, success=None,): + def __init__( + self, + success=None, + ): self.success = success def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -2122,11 +2417,13 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('GetCatalogs_result') + oprot.writeStructBegin("GetCatalogs_result") if self.success is not None: - oprot.writeFieldBegin('success', TType.STRUCT, 0) + oprot.writeFieldBegin("success", TType.STRUCT, 0) self.success.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -2136,18 +2433,25 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) + + all_structs.append(GetCatalogs_result) GetCatalogs_result.thrift_spec = ( - (0, TType.STRUCT, 'success', [TGetCatalogsResp, None], None, ), # 0 + ( + 0, + TType.STRUCT, + "success", + [TGetCatalogsResp, None], + None, + ), # 0 ) @@ -2158,12 +2462,18 @@ class GetSchemas_args(object): """ - - def __init__(self, req=None,): + def __init__( + self, + req=None, + ): self.req = req def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -2184,11 +2494,13 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('GetSchemas_args') + oprot.writeStructBegin("GetSchemas_args") if self.req is not None: - oprot.writeFieldBegin('req', TType.STRUCT, 1) + oprot.writeFieldBegin("req", TType.STRUCT, 1) self.req.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -2198,19 +2510,26 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) + + all_structs.append(GetSchemas_args) GetSchemas_args.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'req', [TGetSchemasReq, None], None, ), # 1 + ( + 1, + TType.STRUCT, + "req", + [TGetSchemasReq, None], + None, + ), # 1 ) @@ -2221,12 +2540,18 @@ class GetSchemas_result(object): """ - - def __init__(self, success=None,): + def __init__( + self, + success=None, + ): self.success = success def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -2247,11 +2572,13 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('GetSchemas_result') + oprot.writeStructBegin("GetSchemas_result") if self.success is not None: - oprot.writeFieldBegin('success', TType.STRUCT, 0) + oprot.writeFieldBegin("success", TType.STRUCT, 0) self.success.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -2261,18 +2588,25 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) + + all_structs.append(GetSchemas_result) GetSchemas_result.thrift_spec = ( - (0, TType.STRUCT, 'success', [TGetSchemasResp, None], None, ), # 0 + ( + 0, + TType.STRUCT, + "success", + [TGetSchemasResp, None], + None, + ), # 0 ) @@ -2283,12 +2617,18 @@ class GetTables_args(object): """ - - def __init__(self, req=None,): + def __init__( + self, + req=None, + ): self.req = req def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -2309,11 +2649,13 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('GetTables_args') + oprot.writeStructBegin("GetTables_args") if self.req is not None: - oprot.writeFieldBegin('req', TType.STRUCT, 1) + oprot.writeFieldBegin("req", TType.STRUCT, 1) self.req.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -2323,19 +2665,26 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) + + all_structs.append(GetTables_args) GetTables_args.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'req', [TGetTablesReq, None], None, ), # 1 + ( + 1, + TType.STRUCT, + "req", + [TGetTablesReq, None], + None, + ), # 1 ) @@ -2346,12 +2695,18 @@ class GetTables_result(object): """ - - def __init__(self, success=None,): + def __init__( + self, + success=None, + ): self.success = success def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -2372,11 +2727,13 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('GetTables_result') + oprot.writeStructBegin("GetTables_result") if self.success is not None: - oprot.writeFieldBegin('success', TType.STRUCT, 0) + oprot.writeFieldBegin("success", TType.STRUCT, 0) self.success.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -2386,18 +2743,25 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) + + all_structs.append(GetTables_result) GetTables_result.thrift_spec = ( - (0, TType.STRUCT, 'success', [TGetTablesResp, None], None, ), # 0 + ( + 0, + TType.STRUCT, + "success", + [TGetTablesResp, None], + None, + ), # 0 ) @@ -2408,12 +2772,18 @@ class GetTableTypes_args(object): """ - - def __init__(self, req=None,): + def __init__( + self, + req=None, + ): self.req = req def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -2434,11 +2804,13 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('GetTableTypes_args') + oprot.writeStructBegin("GetTableTypes_args") if self.req is not None: - oprot.writeFieldBegin('req', TType.STRUCT, 1) + oprot.writeFieldBegin("req", TType.STRUCT, 1) self.req.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -2448,19 +2820,26 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) + + all_structs.append(GetTableTypes_args) GetTableTypes_args.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'req', [TGetTableTypesReq, None], None, ), # 1 + ( + 1, + TType.STRUCT, + "req", + [TGetTableTypesReq, None], + None, + ), # 1 ) @@ -2471,12 +2850,18 @@ class GetTableTypes_result(object): """ - - def __init__(self, success=None,): + def __init__( + self, + success=None, + ): self.success = success def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -2497,11 +2882,13 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('GetTableTypes_result') + oprot.writeStructBegin("GetTableTypes_result") if self.success is not None: - oprot.writeFieldBegin('success', TType.STRUCT, 0) + oprot.writeFieldBegin("success", TType.STRUCT, 0) self.success.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -2511,18 +2898,25 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) + + all_structs.append(GetTableTypes_result) GetTableTypes_result.thrift_spec = ( - (0, TType.STRUCT, 'success', [TGetTableTypesResp, None], None, ), # 0 + ( + 0, + TType.STRUCT, + "success", + [TGetTableTypesResp, None], + None, + ), # 0 ) @@ -2533,12 +2927,18 @@ class GetColumns_args(object): """ - - def __init__(self, req=None,): + def __init__( + self, + req=None, + ): self.req = req def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -2559,11 +2959,13 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('GetColumns_args') + oprot.writeStructBegin("GetColumns_args") if self.req is not None: - oprot.writeFieldBegin('req', TType.STRUCT, 1) + oprot.writeFieldBegin("req", TType.STRUCT, 1) self.req.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -2573,19 +2975,26 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) + + all_structs.append(GetColumns_args) GetColumns_args.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'req', [TGetColumnsReq, None], None, ), # 1 + ( + 1, + TType.STRUCT, + "req", + [TGetColumnsReq, None], + None, + ), # 1 ) @@ -2596,12 +3005,18 @@ class GetColumns_result(object): """ - - def __init__(self, success=None,): + def __init__( + self, + success=None, + ): self.success = success def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -2622,11 +3037,13 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('GetColumns_result') + oprot.writeStructBegin("GetColumns_result") if self.success is not None: - oprot.writeFieldBegin('success', TType.STRUCT, 0) + oprot.writeFieldBegin("success", TType.STRUCT, 0) self.success.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -2636,18 +3053,25 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) + + all_structs.append(GetColumns_result) GetColumns_result.thrift_spec = ( - (0, TType.STRUCT, 'success', [TGetColumnsResp, None], None, ), # 0 + ( + 0, + TType.STRUCT, + "success", + [TGetColumnsResp, None], + None, + ), # 0 ) @@ -2658,12 +3082,18 @@ class GetFunctions_args(object): """ - - def __init__(self, req=None,): + def __init__( + self, + req=None, + ): self.req = req def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -2684,11 +3114,13 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('GetFunctions_args') + oprot.writeStructBegin("GetFunctions_args") if self.req is not None: - oprot.writeFieldBegin('req', TType.STRUCT, 1) + oprot.writeFieldBegin("req", TType.STRUCT, 1) self.req.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -2698,19 +3130,26 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) + + all_structs.append(GetFunctions_args) GetFunctions_args.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'req', [TGetFunctionsReq, None], None, ), # 1 + ( + 1, + TType.STRUCT, + "req", + [TGetFunctionsReq, None], + None, + ), # 1 ) @@ -2721,12 +3160,18 @@ class GetFunctions_result(object): """ - - def __init__(self, success=None,): + def __init__( + self, + success=None, + ): self.success = success def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -2747,11 +3192,13 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('GetFunctions_result') + oprot.writeStructBegin("GetFunctions_result") if self.success is not None: - oprot.writeFieldBegin('success', TType.STRUCT, 0) + oprot.writeFieldBegin("success", TType.STRUCT, 0) self.success.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -2761,18 +3208,25 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) + + all_structs.append(GetFunctions_result) GetFunctions_result.thrift_spec = ( - (0, TType.STRUCT, 'success', [TGetFunctionsResp, None], None, ), # 0 + ( + 0, + TType.STRUCT, + "success", + [TGetFunctionsResp, None], + None, + ), # 0 ) @@ -2783,12 +3237,18 @@ class GetPrimaryKeys_args(object): """ - - def __init__(self, req=None,): + def __init__( + self, + req=None, + ): self.req = req def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -2809,11 +3269,13 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('GetPrimaryKeys_args') + oprot.writeStructBegin("GetPrimaryKeys_args") if self.req is not None: - oprot.writeFieldBegin('req', TType.STRUCT, 1) + oprot.writeFieldBegin("req", TType.STRUCT, 1) self.req.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -2823,19 +3285,26 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) + + all_structs.append(GetPrimaryKeys_args) GetPrimaryKeys_args.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'req', [TGetPrimaryKeysReq, None], None, ), # 1 + ( + 1, + TType.STRUCT, + "req", + [TGetPrimaryKeysReq, None], + None, + ), # 1 ) @@ -2846,12 +3315,18 @@ class GetPrimaryKeys_result(object): """ - - def __init__(self, success=None,): + def __init__( + self, + success=None, + ): self.success = success def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -2872,11 +3347,13 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('GetPrimaryKeys_result') + oprot.writeStructBegin("GetPrimaryKeys_result") if self.success is not None: - oprot.writeFieldBegin('success', TType.STRUCT, 0) + oprot.writeFieldBegin("success", TType.STRUCT, 0) self.success.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -2886,18 +3363,25 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) + + all_structs.append(GetPrimaryKeys_result) GetPrimaryKeys_result.thrift_spec = ( - (0, TType.STRUCT, 'success', [TGetPrimaryKeysResp, None], None, ), # 0 + ( + 0, + TType.STRUCT, + "success", + [TGetPrimaryKeysResp, None], + None, + ), # 0 ) @@ -2908,12 +3392,18 @@ class GetCrossReference_args(object): """ - - def __init__(self, req=None,): + def __init__( + self, + req=None, + ): self.req = req def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -2934,11 +3424,13 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('GetCrossReference_args') + oprot.writeStructBegin("GetCrossReference_args") if self.req is not None: - oprot.writeFieldBegin('req', TType.STRUCT, 1) + oprot.writeFieldBegin("req", TType.STRUCT, 1) self.req.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -2948,19 +3440,26 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) + + all_structs.append(GetCrossReference_args) GetCrossReference_args.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'req', [TGetCrossReferenceReq, None], None, ), # 1 + ( + 1, + TType.STRUCT, + "req", + [TGetCrossReferenceReq, None], + None, + ), # 1 ) @@ -2971,12 +3470,18 @@ class GetCrossReference_result(object): """ - - def __init__(self, success=None,): + def __init__( + self, + success=None, + ): self.success = success def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -2997,11 +3502,13 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('GetCrossReference_result') + oprot.writeStructBegin("GetCrossReference_result") if self.success is not None: - oprot.writeFieldBegin('success', TType.STRUCT, 0) + oprot.writeFieldBegin("success", TType.STRUCT, 0) self.success.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -3011,18 +3518,25 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) + + all_structs.append(GetCrossReference_result) GetCrossReference_result.thrift_spec = ( - (0, TType.STRUCT, 'success', [TGetCrossReferenceResp, None], None, ), # 0 + ( + 0, + TType.STRUCT, + "success", + [TGetCrossReferenceResp, None], + None, + ), # 0 ) @@ -3033,12 +3547,18 @@ class GetOperationStatus_args(object): """ - - def __init__(self, req=None,): + def __init__( + self, + req=None, + ): self.req = req def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -3059,11 +3579,13 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('GetOperationStatus_args') + oprot.writeStructBegin("GetOperationStatus_args") if self.req is not None: - oprot.writeFieldBegin('req', TType.STRUCT, 1) + oprot.writeFieldBegin("req", TType.STRUCT, 1) self.req.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -3073,19 +3595,26 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) + + all_structs.append(GetOperationStatus_args) GetOperationStatus_args.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'req', [TGetOperationStatusReq, None], None, ), # 1 + ( + 1, + TType.STRUCT, + "req", + [TGetOperationStatusReq, None], + None, + ), # 1 ) @@ -3096,12 +3625,18 @@ class GetOperationStatus_result(object): """ - - def __init__(self, success=None,): + def __init__( + self, + success=None, + ): self.success = success def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -3122,11 +3657,13 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('GetOperationStatus_result') + oprot.writeStructBegin("GetOperationStatus_result") if self.success is not None: - oprot.writeFieldBegin('success', TType.STRUCT, 0) + oprot.writeFieldBegin("success", TType.STRUCT, 0) self.success.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -3136,18 +3673,25 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) + + all_structs.append(GetOperationStatus_result) GetOperationStatus_result.thrift_spec = ( - (0, TType.STRUCT, 'success', [TGetOperationStatusResp, None], None, ), # 0 + ( + 0, + TType.STRUCT, + "success", + [TGetOperationStatusResp, None], + None, + ), # 0 ) @@ -3158,12 +3702,18 @@ class CancelOperation_args(object): """ - - def __init__(self, req=None,): + def __init__( + self, + req=None, + ): self.req = req def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -3184,11 +3734,13 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('CancelOperation_args') + oprot.writeStructBegin("CancelOperation_args") if self.req is not None: - oprot.writeFieldBegin('req', TType.STRUCT, 1) + oprot.writeFieldBegin("req", TType.STRUCT, 1) self.req.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -3198,19 +3750,26 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) + + all_structs.append(CancelOperation_args) CancelOperation_args.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'req', [TCancelOperationReq, None], None, ), # 1 + ( + 1, + TType.STRUCT, + "req", + [TCancelOperationReq, None], + None, + ), # 1 ) @@ -3221,12 +3780,18 @@ class CancelOperation_result(object): """ - - def __init__(self, success=None,): + def __init__( + self, + success=None, + ): self.success = success def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -3247,11 +3812,13 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('CancelOperation_result') + oprot.writeStructBegin("CancelOperation_result") if self.success is not None: - oprot.writeFieldBegin('success', TType.STRUCT, 0) + oprot.writeFieldBegin("success", TType.STRUCT, 0) self.success.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -3261,18 +3828,25 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) + + all_structs.append(CancelOperation_result) CancelOperation_result.thrift_spec = ( - (0, TType.STRUCT, 'success', [TCancelOperationResp, None], None, ), # 0 + ( + 0, + TType.STRUCT, + "success", + [TCancelOperationResp, None], + None, + ), # 0 ) @@ -3283,12 +3857,18 @@ class CloseOperation_args(object): """ - - def __init__(self, req=None,): + def __init__( + self, + req=None, + ): self.req = req def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -3309,11 +3889,13 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('CloseOperation_args') + oprot.writeStructBegin("CloseOperation_args") if self.req is not None: - oprot.writeFieldBegin('req', TType.STRUCT, 1) + oprot.writeFieldBegin("req", TType.STRUCT, 1) self.req.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -3323,19 +3905,26 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) + + all_structs.append(CloseOperation_args) CloseOperation_args.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'req', [TCloseOperationReq, None], None, ), # 1 + ( + 1, + TType.STRUCT, + "req", + [TCloseOperationReq, None], + None, + ), # 1 ) @@ -3346,12 +3935,18 @@ class CloseOperation_result(object): """ - - def __init__(self, success=None,): + def __init__( + self, + success=None, + ): self.success = success def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -3372,11 +3967,13 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('CloseOperation_result') + oprot.writeStructBegin("CloseOperation_result") if self.success is not None: - oprot.writeFieldBegin('success', TType.STRUCT, 0) + oprot.writeFieldBegin("success", TType.STRUCT, 0) self.success.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -3386,18 +3983,25 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) + + all_structs.append(CloseOperation_result) CloseOperation_result.thrift_spec = ( - (0, TType.STRUCT, 'success', [TCloseOperationResp, None], None, ), # 0 + ( + 0, + TType.STRUCT, + "success", + [TCloseOperationResp, None], + None, + ), # 0 ) @@ -3408,12 +4012,18 @@ class GetResultSetMetadata_args(object): """ - - def __init__(self, req=None,): + def __init__( + self, + req=None, + ): self.req = req def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -3434,11 +4044,13 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('GetResultSetMetadata_args') + oprot.writeStructBegin("GetResultSetMetadata_args") if self.req is not None: - oprot.writeFieldBegin('req', TType.STRUCT, 1) + oprot.writeFieldBegin("req", TType.STRUCT, 1) self.req.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -3448,19 +4060,26 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) + + all_structs.append(GetResultSetMetadata_args) GetResultSetMetadata_args.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'req', [TGetResultSetMetadataReq, None], None, ), # 1 + ( + 1, + TType.STRUCT, + "req", + [TGetResultSetMetadataReq, None], + None, + ), # 1 ) @@ -3471,12 +4090,18 @@ class GetResultSetMetadata_result(object): """ - - def __init__(self, success=None,): + def __init__( + self, + success=None, + ): self.success = success def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -3497,11 +4122,13 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('GetResultSetMetadata_result') + oprot.writeStructBegin("GetResultSetMetadata_result") if self.success is not None: - oprot.writeFieldBegin('success', TType.STRUCT, 0) + oprot.writeFieldBegin("success", TType.STRUCT, 0) self.success.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -3511,18 +4138,25 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) + + all_structs.append(GetResultSetMetadata_result) GetResultSetMetadata_result.thrift_spec = ( - (0, TType.STRUCT, 'success', [TGetResultSetMetadataResp, None], None, ), # 0 + ( + 0, + TType.STRUCT, + "success", + [TGetResultSetMetadataResp, None], + None, + ), # 0 ) @@ -3533,12 +4167,18 @@ class FetchResults_args(object): """ - - def __init__(self, req=None,): + def __init__( + self, + req=None, + ): self.req = req def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -3559,11 +4199,13 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('FetchResults_args') + oprot.writeStructBegin("FetchResults_args") if self.req is not None: - oprot.writeFieldBegin('req', TType.STRUCT, 1) + oprot.writeFieldBegin("req", TType.STRUCT, 1) self.req.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -3573,19 +4215,26 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) + + all_structs.append(FetchResults_args) FetchResults_args.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'req', [TFetchResultsReq, None], None, ), # 1 + ( + 1, + TType.STRUCT, + "req", + [TFetchResultsReq, None], + None, + ), # 1 ) @@ -3596,12 +4245,18 @@ class FetchResults_result(object): """ - - def __init__(self, success=None,): + def __init__( + self, + success=None, + ): self.success = success def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -3622,11 +4277,13 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('FetchResults_result') + oprot.writeStructBegin("FetchResults_result") if self.success is not None: - oprot.writeFieldBegin('success', TType.STRUCT, 0) + oprot.writeFieldBegin("success", TType.STRUCT, 0) self.success.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -3636,18 +4293,25 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) + + all_structs.append(FetchResults_result) FetchResults_result.thrift_spec = ( - (0, TType.STRUCT, 'success', [TFetchResultsResp, None], None, ), # 0 + ( + 0, + TType.STRUCT, + "success", + [TFetchResultsResp, None], + None, + ), # 0 ) @@ -3658,12 +4322,18 @@ class GetDelegationToken_args(object): """ - - def __init__(self, req=None,): + def __init__( + self, + req=None, + ): self.req = req def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -3684,11 +4354,13 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('GetDelegationToken_args') + oprot.writeStructBegin("GetDelegationToken_args") if self.req is not None: - oprot.writeFieldBegin('req', TType.STRUCT, 1) + oprot.writeFieldBegin("req", TType.STRUCT, 1) self.req.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -3698,19 +4370,26 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) + + all_structs.append(GetDelegationToken_args) GetDelegationToken_args.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'req', [TGetDelegationTokenReq, None], None, ), # 1 + ( + 1, + TType.STRUCT, + "req", + [TGetDelegationTokenReq, None], + None, + ), # 1 ) @@ -3721,12 +4400,18 @@ class GetDelegationToken_result(object): """ - - def __init__(self, success=None,): + def __init__( + self, + success=None, + ): self.success = success def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -3747,11 +4432,13 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('GetDelegationToken_result') + oprot.writeStructBegin("GetDelegationToken_result") if self.success is not None: - oprot.writeFieldBegin('success', TType.STRUCT, 0) + oprot.writeFieldBegin("success", TType.STRUCT, 0) self.success.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -3761,18 +4448,25 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) + + all_structs.append(GetDelegationToken_result) GetDelegationToken_result.thrift_spec = ( - (0, TType.STRUCT, 'success', [TGetDelegationTokenResp, None], None, ), # 0 + ( + 0, + TType.STRUCT, + "success", + [TGetDelegationTokenResp, None], + None, + ), # 0 ) @@ -3783,12 +4477,18 @@ class CancelDelegationToken_args(object): """ - - def __init__(self, req=None,): + def __init__( + self, + req=None, + ): self.req = req def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -3809,11 +4509,13 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('CancelDelegationToken_args') + oprot.writeStructBegin("CancelDelegationToken_args") if self.req is not None: - oprot.writeFieldBegin('req', TType.STRUCT, 1) + oprot.writeFieldBegin("req", TType.STRUCT, 1) self.req.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -3823,19 +4525,26 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) + + all_structs.append(CancelDelegationToken_args) CancelDelegationToken_args.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'req', [TCancelDelegationTokenReq, None], None, ), # 1 + ( + 1, + TType.STRUCT, + "req", + [TCancelDelegationTokenReq, None], + None, + ), # 1 ) @@ -3846,12 +4555,18 @@ class CancelDelegationToken_result(object): """ - - def __init__(self, success=None,): + def __init__( + self, + success=None, + ): self.success = success def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -3872,11 +4587,13 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('CancelDelegationToken_result') + oprot.writeStructBegin("CancelDelegationToken_result") if self.success is not None: - oprot.writeFieldBegin('success', TType.STRUCT, 0) + oprot.writeFieldBegin("success", TType.STRUCT, 0) self.success.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -3886,18 +4603,25 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) + + all_structs.append(CancelDelegationToken_result) CancelDelegationToken_result.thrift_spec = ( - (0, TType.STRUCT, 'success', [TCancelDelegationTokenResp, None], None, ), # 0 + ( + 0, + TType.STRUCT, + "success", + [TCancelDelegationTokenResp, None], + None, + ), # 0 ) @@ -3908,12 +4632,18 @@ class RenewDelegationToken_args(object): """ - - def __init__(self, req=None,): + def __init__( + self, + req=None, + ): self.req = req def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -3934,11 +4664,13 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('RenewDelegationToken_args') + oprot.writeStructBegin("RenewDelegationToken_args") if self.req is not None: - oprot.writeFieldBegin('req', TType.STRUCT, 1) + oprot.writeFieldBegin("req", TType.STRUCT, 1) self.req.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -3948,19 +4680,26 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) + + all_structs.append(RenewDelegationToken_args) RenewDelegationToken_args.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'req', [TRenewDelegationTokenReq, None], None, ), # 1 + ( + 1, + TType.STRUCT, + "req", + [TRenewDelegationTokenReq, None], + None, + ), # 1 ) @@ -3971,12 +4710,18 @@ class RenewDelegationToken_result(object): """ - - def __init__(self, success=None,): + def __init__( + self, + success=None, + ): self.success = success def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -3997,11 +4742,13 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('RenewDelegationToken_result') + oprot.writeStructBegin("RenewDelegationToken_result") if self.success is not None: - oprot.writeFieldBegin('success', TType.STRUCT, 0) + oprot.writeFieldBegin("success", TType.STRUCT, 0) self.success.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -4011,18 +4758,25 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) + + all_structs.append(RenewDelegationToken_result) RenewDelegationToken_result.thrift_spec = ( - (0, TType.STRUCT, 'success', [TRenewDelegationTokenResp, None], None, ), # 0 + ( + 0, + TType.STRUCT, + "success", + [TRenewDelegationTokenResp, None], + None, + ), # 0 ) fix_spec(all_structs) del all_structs diff --git a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/thrift_api/TCLIService/__init__.py b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/thrift_api/TCLIService/__init__.py index fe5e7c20..13c45b51 100644 --- a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/thrift_api/TCLIService/__init__.py +++ b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/thrift_api/TCLIService/__init__.py @@ -1 +1 @@ -__all__ = ['ttypes', 'constants', 'TCLIService'] +__all__ = ["ttypes", "constants", "TCLIService"] diff --git a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/thrift_api/TCLIService/constants.py b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/thrift_api/TCLIService/constants.py index 2cdf2f41..e47fd6f9 100644 --- a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/thrift_api/TCLIService/constants.py +++ b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/thrift_api/TCLIService/constants.py @@ -6,13 +6,21 @@ # options string: py # -from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException +from thrift.Thrift import ( + TType, + TMessageType, + TFrozenDict, + TException, + TApplicationException, +) from thrift.protocol.TProtocol import TProtocolException from thrift.TRecursive import fix_spec import sys from .ttypes import * -PRIMITIVE_TYPES = set(( + +PRIMITIVE_TYPES = set( + ( 0, 1, 2, @@ -30,40 +38,45 @@ 19, 20, 21, -)) -COMPLEX_TYPES = set(( + ) +) +COMPLEX_TYPES = set( + ( 10, 11, 12, 13, 14, -)) -COLLECTION_TYPES = set(( + ) +) +COLLECTION_TYPES = set( + ( 10, 11, -)) + ) +) TYPE_NAMES = { - 10: "ARRAY", - 4: "BIGINT", - 9: "BINARY", - 0: "BOOLEAN", - 19: "CHAR", - 17: "DATE", - 15: "DECIMAL", - 6: "DOUBLE", - 5: "FLOAT", - 21: "INTERVAL_DAY_TIME", - 20: "INTERVAL_YEAR_MONTH", - 3: "INT", - 11: "MAP", - 16: "NULL", - 2: "SMALLINT", - 7: "STRING", - 12: "STRUCT", - 8: "TIMESTAMP", - 1: "TINYINT", - 13: "UNIONTYPE", - 18: "VARCHAR", + 10: "ARRAY", + 4: "BIGINT", + 9: "BINARY", + 0: "BOOLEAN", + 19: "CHAR", + 17: "DATE", + 15: "DECIMAL", + 6: "DOUBLE", + 5: "FLOAT", + 21: "INTERVAL_DAY_TIME", + 20: "INTERVAL_YEAR_MONTH", + 3: "INT", + 11: "MAP", + 16: "NULL", + 2: "SMALLINT", + 7: "STRING", + 12: "STRUCT", + 8: "TIMESTAMP", + 1: "TINYINT", + 13: "UNIONTYPE", + 18: "VARCHAR", } CHARACTER_MAXIMUM_LENGTH = "characterMaximumLength" PRECISION = "precision" diff --git a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/thrift_api/TCLIService/ttypes.py b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/thrift_api/TCLIService/ttypes.py index 797b390c..c0cd0803 100644 --- a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/thrift_api/TCLIService/ttypes.py +++ b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/thrift_api/TCLIService/ttypes.py @@ -6,13 +6,20 @@ # options string: py # -from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException +from thrift.Thrift import ( + TType, + TMessageType, + TFrozenDict, + TException, + TApplicationException, +) from thrift.protocol.TProtocol import TProtocolException from thrift.TRecursive import fix_spec import sys from thrift.transport import TTransport + all_structs = [] @@ -666,13 +673,20 @@ class TTypeQualifierValue(object): """ - - def __init__(self, i32Value=None, stringValue=None,): + def __init__( + self, + i32Value=None, + stringValue=None, + ): self.i32Value = i32Value self.stringValue = stringValue def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -687,7 +701,11 @@ def read(self, iprot): iprot.skip(ftype) elif fid == 2: if ftype == TType.STRING: - self.stringValue = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.stringValue = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) else: @@ -697,16 +715,22 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TTypeQualifierValue') + oprot.writeStructBegin("TTypeQualifierValue") if self.i32Value is not None: - oprot.writeFieldBegin('i32Value', TType.I32, 1) + oprot.writeFieldBegin("i32Value", TType.I32, 1) oprot.writeI32(self.i32Value) oprot.writeFieldEnd() if self.stringValue is not None: - oprot.writeFieldBegin('stringValue', TType.STRING, 2) - oprot.writeString(self.stringValue.encode('utf-8') if sys.version_info[0] == 2 else self.stringValue) + oprot.writeFieldBegin("stringValue", TType.STRING, 2) + oprot.writeString( + self.stringValue.encode("utf-8") + if sys.version_info[0] == 2 + else self.stringValue + ) oprot.writeFieldEnd() oprot.writeFieldStop() oprot.writeStructEnd() @@ -715,9 +739,8 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -733,12 +756,18 @@ class TTypeQualifiers(object): """ - - def __init__(self, qualifiers=None,): + def __init__( + self, + qualifiers=None, + ): self.qualifiers = qualifiers def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -751,7 +780,11 @@ def read(self, iprot): self.qualifiers = {} (_ktype1, _vtype2, _size0) = iprot.readMapBegin() for _i4 in range(_size0): - _key5 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + _key5 = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) _val6 = TTypeQualifierValue() _val6.read(iprot) self.qualifiers[_key5] = _val6 @@ -765,14 +798,18 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TTypeQualifiers') + oprot.writeStructBegin("TTypeQualifiers") if self.qualifiers is not None: - oprot.writeFieldBegin('qualifiers', TType.MAP, 1) + oprot.writeFieldBegin("qualifiers", TType.MAP, 1) oprot.writeMapBegin(TType.STRING, TType.STRUCT, len(self.qualifiers)) for kiter7, viter8 in self.qualifiers.items(): - oprot.writeString(kiter7.encode('utf-8') if sys.version_info[0] == 2 else kiter7) + oprot.writeString( + kiter7.encode("utf-8") if sys.version_info[0] == 2 else kiter7 + ) viter8.write(oprot) oprot.writeMapEnd() oprot.writeFieldEnd() @@ -781,13 +818,12 @@ def write(self, oprot): def validate(self): if self.qualifiers is None: - raise TProtocolException(message='Required field qualifiers is unset!') + raise TProtocolException(message="Required field qualifiers is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -804,13 +840,20 @@ class TTAllowedParameterValueEntry(object): """ - - def __init__(self, type=None, typeQualifiers=None,): + def __init__( + self, + type=None, + typeQualifiers=None, + ): self.type = type self.typeQualifiers = typeQualifiers def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -836,15 +879,17 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TTAllowedParameterValueEntry') + oprot.writeStructBegin("TTAllowedParameterValueEntry") if self.type is not None: - oprot.writeFieldBegin('type', TType.I32, 1) + oprot.writeFieldBegin("type", TType.I32, 1) oprot.writeI32(self.type) oprot.writeFieldEnd() if self.typeQualifiers is not None: - oprot.writeFieldBegin('typeQualifiers', TType.STRUCT, 2) + oprot.writeFieldBegin("typeQualifiers", TType.STRUCT, 2) self.typeQualifiers.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -852,13 +897,12 @@ def write(self, oprot): def validate(self): if self.type is None: - raise TProtocolException(message='Required field type is unset!') + raise TProtocolException(message="Required field type is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -874,12 +918,18 @@ class TArrayTypeEntry(object): """ - - def __init__(self, objectTypePtr=None,): + def __init__( + self, + objectTypePtr=None, + ): self.objectTypePtr = objectTypePtr def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -899,11 +949,13 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TArrayTypeEntry') + oprot.writeStructBegin("TArrayTypeEntry") if self.objectTypePtr is not None: - oprot.writeFieldBegin('objectTypePtr', TType.I32, 1) + oprot.writeFieldBegin("objectTypePtr", TType.I32, 1) oprot.writeI32(self.objectTypePtr) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -911,13 +963,12 @@ def write(self, oprot): def validate(self): if self.objectTypePtr is None: - raise TProtocolException(message='Required field objectTypePtr is unset!') + raise TProtocolException(message="Required field objectTypePtr is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -934,13 +985,20 @@ class TMapTypeEntry(object): """ - - def __init__(self, keyTypePtr=None, valueTypePtr=None,): + def __init__( + self, + keyTypePtr=None, + valueTypePtr=None, + ): self.keyTypePtr = keyTypePtr self.valueTypePtr = valueTypePtr def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -965,15 +1023,17 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TMapTypeEntry') + oprot.writeStructBegin("TMapTypeEntry") if self.keyTypePtr is not None: - oprot.writeFieldBegin('keyTypePtr', TType.I32, 1) + oprot.writeFieldBegin("keyTypePtr", TType.I32, 1) oprot.writeI32(self.keyTypePtr) oprot.writeFieldEnd() if self.valueTypePtr is not None: - oprot.writeFieldBegin('valueTypePtr', TType.I32, 2) + oprot.writeFieldBegin("valueTypePtr", TType.I32, 2) oprot.writeI32(self.valueTypePtr) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -981,15 +1041,14 @@ def write(self, oprot): def validate(self): if self.keyTypePtr is None: - raise TProtocolException(message='Required field keyTypePtr is unset!') + raise TProtocolException(message="Required field keyTypePtr is unset!") if self.valueTypePtr is None: - raise TProtocolException(message='Required field valueTypePtr is unset!') + raise TProtocolException(message="Required field valueTypePtr is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -1005,12 +1064,18 @@ class TStructTypeEntry(object): """ - - def __init__(self, nameToTypePtr=None,): + def __init__( + self, + nameToTypePtr=None, + ): self.nameToTypePtr = nameToTypePtr def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -1023,7 +1088,11 @@ def read(self, iprot): self.nameToTypePtr = {} (_ktype10, _vtype11, _size9) = iprot.readMapBegin() for _i13 in range(_size9): - _key14 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + _key14 = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) _val15 = iprot.readI32() self.nameToTypePtr[_key14] = _val15 iprot.readMapEnd() @@ -1036,14 +1105,18 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TStructTypeEntry') + oprot.writeStructBegin("TStructTypeEntry") if self.nameToTypePtr is not None: - oprot.writeFieldBegin('nameToTypePtr', TType.MAP, 1) + oprot.writeFieldBegin("nameToTypePtr", TType.MAP, 1) oprot.writeMapBegin(TType.STRING, TType.I32, len(self.nameToTypePtr)) for kiter16, viter17 in self.nameToTypePtr.items(): - oprot.writeString(kiter16.encode('utf-8') if sys.version_info[0] == 2 else kiter16) + oprot.writeString( + kiter16.encode("utf-8") if sys.version_info[0] == 2 else kiter16 + ) oprot.writeI32(viter17) oprot.writeMapEnd() oprot.writeFieldEnd() @@ -1052,13 +1125,12 @@ def write(self, oprot): def validate(self): if self.nameToTypePtr is None: - raise TProtocolException(message='Required field nameToTypePtr is unset!') + raise TProtocolException(message="Required field nameToTypePtr is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -1074,12 +1146,18 @@ class TUnionTypeEntry(object): """ - - def __init__(self, nameToTypePtr=None,): + def __init__( + self, + nameToTypePtr=None, + ): self.nameToTypePtr = nameToTypePtr def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -1092,7 +1170,11 @@ def read(self, iprot): self.nameToTypePtr = {} (_ktype19, _vtype20, _size18) = iprot.readMapBegin() for _i22 in range(_size18): - _key23 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + _key23 = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) _val24 = iprot.readI32() self.nameToTypePtr[_key23] = _val24 iprot.readMapEnd() @@ -1105,14 +1187,18 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TUnionTypeEntry') + oprot.writeStructBegin("TUnionTypeEntry") if self.nameToTypePtr is not None: - oprot.writeFieldBegin('nameToTypePtr', TType.MAP, 1) + oprot.writeFieldBegin("nameToTypePtr", TType.MAP, 1) oprot.writeMapBegin(TType.STRING, TType.I32, len(self.nameToTypePtr)) for kiter25, viter26 in self.nameToTypePtr.items(): - oprot.writeString(kiter25.encode('utf-8') if sys.version_info[0] == 2 else kiter25) + oprot.writeString( + kiter25.encode("utf-8") if sys.version_info[0] == 2 else kiter25 + ) oprot.writeI32(viter26) oprot.writeMapEnd() oprot.writeFieldEnd() @@ -1121,13 +1207,12 @@ def write(self, oprot): def validate(self): if self.nameToTypePtr is None: - raise TProtocolException(message='Required field nameToTypePtr is unset!') + raise TProtocolException(message="Required field nameToTypePtr is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -1143,12 +1228,18 @@ class TUserDefinedTypeEntry(object): """ - - def __init__(self, typeClassName=None,): + def __init__( + self, + typeClassName=None, + ): self.typeClassName = typeClassName def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -1158,7 +1249,11 @@ def read(self, iprot): break if fid == 1: if ftype == TType.STRING: - self.typeClassName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.typeClassName = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) else: @@ -1168,25 +1263,30 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TUserDefinedTypeEntry') + oprot.writeStructBegin("TUserDefinedTypeEntry") if self.typeClassName is not None: - oprot.writeFieldBegin('typeClassName', TType.STRING, 1) - oprot.writeString(self.typeClassName.encode('utf-8') if sys.version_info[0] == 2 else self.typeClassName) + oprot.writeFieldBegin("typeClassName", TType.STRING, 1) + oprot.writeString( + self.typeClassName.encode("utf-8") + if sys.version_info[0] == 2 + else self.typeClassName + ) oprot.writeFieldEnd() oprot.writeFieldStop() oprot.writeStructEnd() def validate(self): if self.typeClassName is None: - raise TProtocolException(message='Required field typeClassName is unset!') + raise TProtocolException(message="Required field typeClassName is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -1207,8 +1307,15 @@ class TTypeEntry(object): """ - - def __init__(self, primitiveEntry=None, arrayEntry=None, mapEntry=None, structEntry=None, unionEntry=None, userDefinedTypeEntry=None,): + def __init__( + self, + primitiveEntry=None, + arrayEntry=None, + mapEntry=None, + structEntry=None, + unionEntry=None, + userDefinedTypeEntry=None, + ): self.primitiveEntry = primitiveEntry self.arrayEntry = arrayEntry self.mapEntry = mapEntry @@ -1217,7 +1324,11 @@ def __init__(self, primitiveEntry=None, arrayEntry=None, mapEntry=None, structEn self.userDefinedTypeEntry = userDefinedTypeEntry def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -1268,31 +1379,33 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TTypeEntry') + oprot.writeStructBegin("TTypeEntry") if self.primitiveEntry is not None: - oprot.writeFieldBegin('primitiveEntry', TType.STRUCT, 1) + oprot.writeFieldBegin("primitiveEntry", TType.STRUCT, 1) self.primitiveEntry.write(oprot) oprot.writeFieldEnd() if self.arrayEntry is not None: - oprot.writeFieldBegin('arrayEntry', TType.STRUCT, 2) + oprot.writeFieldBegin("arrayEntry", TType.STRUCT, 2) self.arrayEntry.write(oprot) oprot.writeFieldEnd() if self.mapEntry is not None: - oprot.writeFieldBegin('mapEntry', TType.STRUCT, 3) + oprot.writeFieldBegin("mapEntry", TType.STRUCT, 3) self.mapEntry.write(oprot) oprot.writeFieldEnd() if self.structEntry is not None: - oprot.writeFieldBegin('structEntry', TType.STRUCT, 4) + oprot.writeFieldBegin("structEntry", TType.STRUCT, 4) self.structEntry.write(oprot) oprot.writeFieldEnd() if self.unionEntry is not None: - oprot.writeFieldBegin('unionEntry', TType.STRUCT, 5) + oprot.writeFieldBegin("unionEntry", TType.STRUCT, 5) self.unionEntry.write(oprot) oprot.writeFieldEnd() if self.userDefinedTypeEntry is not None: - oprot.writeFieldBegin('userDefinedTypeEntry', TType.STRUCT, 6) + oprot.writeFieldBegin("userDefinedTypeEntry", TType.STRUCT, 6) self.userDefinedTypeEntry.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -1302,9 +1415,8 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -1320,12 +1432,18 @@ class TTypeDesc(object): """ - - def __init__(self, types=None,): + def __init__( + self, + types=None, + ): self.types = types def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -1351,11 +1469,13 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TTypeDesc') + oprot.writeStructBegin("TTypeDesc") if self.types is not None: - oprot.writeFieldBegin('types', TType.LIST, 1) + oprot.writeFieldBegin("types", TType.LIST, 1) oprot.writeListBegin(TType.STRUCT, len(self.types)) for iter33 in self.types: iter33.write(oprot) @@ -1366,13 +1486,12 @@ def write(self, oprot): def validate(self): if self.types is None: - raise TProtocolException(message='Required field types is unset!') + raise TProtocolException(message="Required field types is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -1391,15 +1510,24 @@ class TColumnDesc(object): """ - - def __init__(self, columnName=None, typeDesc=None, position=None, comment=None,): + def __init__( + self, + columnName=None, + typeDesc=None, + position=None, + comment=None, + ): self.columnName = columnName self.typeDesc = typeDesc self.position = position self.comment = comment def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -1409,7 +1537,11 @@ def read(self, iprot): break if fid == 1: if ftype == TType.STRING: - self.columnName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.columnName = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 2: @@ -1425,7 +1557,11 @@ def read(self, iprot): iprot.skip(ftype) elif fid == 4: if ftype == TType.STRING: - self.comment = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.comment = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) else: @@ -1435,41 +1571,50 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TColumnDesc') + oprot.writeStructBegin("TColumnDesc") if self.columnName is not None: - oprot.writeFieldBegin('columnName', TType.STRING, 1) - oprot.writeString(self.columnName.encode('utf-8') if sys.version_info[0] == 2 else self.columnName) + oprot.writeFieldBegin("columnName", TType.STRING, 1) + oprot.writeString( + self.columnName.encode("utf-8") + if sys.version_info[0] == 2 + else self.columnName + ) oprot.writeFieldEnd() if self.typeDesc is not None: - oprot.writeFieldBegin('typeDesc', TType.STRUCT, 2) + oprot.writeFieldBegin("typeDesc", TType.STRUCT, 2) self.typeDesc.write(oprot) oprot.writeFieldEnd() if self.position is not None: - oprot.writeFieldBegin('position', TType.I32, 3) + oprot.writeFieldBegin("position", TType.I32, 3) oprot.writeI32(self.position) oprot.writeFieldEnd() if self.comment is not None: - oprot.writeFieldBegin('comment', TType.STRING, 4) - oprot.writeString(self.comment.encode('utf-8') if sys.version_info[0] == 2 else self.comment) + oprot.writeFieldBegin("comment", TType.STRING, 4) + oprot.writeString( + self.comment.encode("utf-8") + if sys.version_info[0] == 2 + else self.comment + ) oprot.writeFieldEnd() oprot.writeFieldStop() oprot.writeStructEnd() def validate(self): if self.columnName is None: - raise TProtocolException(message='Required field columnName is unset!') + raise TProtocolException(message="Required field columnName is unset!") if self.typeDesc is None: - raise TProtocolException(message='Required field typeDesc is unset!') + raise TProtocolException(message="Required field typeDesc is unset!") if self.position is None: - raise TProtocolException(message='Required field position is unset!') + raise TProtocolException(message="Required field position is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -1485,12 +1630,18 @@ class TTableSchema(object): """ - - def __init__(self, columns=None,): + def __init__( + self, + columns=None, + ): self.columns = columns def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -1516,11 +1667,13 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TTableSchema') + oprot.writeStructBegin("TTableSchema") if self.columns is not None: - oprot.writeFieldBegin('columns', TType.LIST, 1) + oprot.writeFieldBegin("columns", TType.LIST, 1) oprot.writeListBegin(TType.STRUCT, len(self.columns)) for iter40 in self.columns: iter40.write(oprot) @@ -1531,13 +1684,12 @@ def write(self, oprot): def validate(self): if self.columns is None: - raise TProtocolException(message='Required field columns is unset!') + raise TProtocolException(message="Required field columns is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -1553,12 +1705,18 @@ class TBoolValue(object): """ - - def __init__(self, value=None,): + def __init__( + self, + value=None, + ): self.value = value def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -1578,11 +1736,13 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TBoolValue') + oprot.writeStructBegin("TBoolValue") if self.value is not None: - oprot.writeFieldBegin('value', TType.BOOL, 1) + oprot.writeFieldBegin("value", TType.BOOL, 1) oprot.writeBool(self.value) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -1592,9 +1752,8 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -1610,12 +1769,18 @@ class TByteValue(object): """ - - def __init__(self, value=None,): + def __init__( + self, + value=None, + ): self.value = value def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -1635,11 +1800,13 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TByteValue') + oprot.writeStructBegin("TByteValue") if self.value is not None: - oprot.writeFieldBegin('value', TType.BYTE, 1) + oprot.writeFieldBegin("value", TType.BYTE, 1) oprot.writeByte(self.value) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -1649,9 +1816,8 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -1667,12 +1833,18 @@ class TI16Value(object): """ - - def __init__(self, value=None,): + def __init__( + self, + value=None, + ): self.value = value def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -1692,11 +1864,13 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TI16Value') + oprot.writeStructBegin("TI16Value") if self.value is not None: - oprot.writeFieldBegin('value', TType.I16, 1) + oprot.writeFieldBegin("value", TType.I16, 1) oprot.writeI16(self.value) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -1706,9 +1880,8 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -1724,12 +1897,18 @@ class TI32Value(object): """ - - def __init__(self, value=None,): + def __init__( + self, + value=None, + ): self.value = value def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -1749,11 +1928,13 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TI32Value') + oprot.writeStructBegin("TI32Value") if self.value is not None: - oprot.writeFieldBegin('value', TType.I32, 1) + oprot.writeFieldBegin("value", TType.I32, 1) oprot.writeI32(self.value) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -1763,9 +1944,8 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -1781,12 +1961,18 @@ class TI64Value(object): """ - - def __init__(self, value=None,): + def __init__( + self, + value=None, + ): self.value = value def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -1806,11 +1992,13 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TI64Value') + oprot.writeStructBegin("TI64Value") if self.value is not None: - oprot.writeFieldBegin('value', TType.I64, 1) + oprot.writeFieldBegin("value", TType.I64, 1) oprot.writeI64(self.value) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -1820,9 +2008,8 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -1838,12 +2025,18 @@ class TDoubleValue(object): """ - - def __init__(self, value=None,): + def __init__( + self, + value=None, + ): self.value = value def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -1863,11 +2056,13 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TDoubleValue') + oprot.writeStructBegin("TDoubleValue") if self.value is not None: - oprot.writeFieldBegin('value', TType.DOUBLE, 1) + oprot.writeFieldBegin("value", TType.DOUBLE, 1) oprot.writeDouble(self.value) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -1877,9 +2072,8 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -1895,12 +2089,18 @@ class TStringValue(object): """ - - def __init__(self, value=None,): + def __init__( + self, + value=None, + ): self.value = value def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -1910,7 +2110,11 @@ def read(self, iprot): break if fid == 1: if ftype == TType.STRING: - self.value = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.value = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) else: @@ -1920,12 +2124,16 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TStringValue') + oprot.writeStructBegin("TStringValue") if self.value is not None: - oprot.writeFieldBegin('value', TType.STRING, 1) - oprot.writeString(self.value.encode('utf-8') if sys.version_info[0] == 2 else self.value) + oprot.writeFieldBegin("value", TType.STRING, 1) + oprot.writeString( + self.value.encode("utf-8") if sys.version_info[0] == 2 else self.value + ) oprot.writeFieldEnd() oprot.writeFieldStop() oprot.writeStructEnd() @@ -1934,9 +2142,8 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -1958,8 +2165,16 @@ class TColumnValue(object): """ - - def __init__(self, boolVal=None, byteVal=None, i16Val=None, i32Val=None, i64Val=None, doubleVal=None, stringVal=None,): + def __init__( + self, + boolVal=None, + byteVal=None, + i16Val=None, + i32Val=None, + i64Val=None, + doubleVal=None, + stringVal=None, + ): self.boolVal = boolVal self.byteVal = byteVal self.i16Val = i16Val @@ -1969,7 +2184,11 @@ def __init__(self, boolVal=None, byteVal=None, i16Val=None, i32Val=None, i64Val= self.stringVal = stringVal def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -2026,35 +2245,37 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TColumnValue') + oprot.writeStructBegin("TColumnValue") if self.boolVal is not None: - oprot.writeFieldBegin('boolVal', TType.STRUCT, 1) + oprot.writeFieldBegin("boolVal", TType.STRUCT, 1) self.boolVal.write(oprot) oprot.writeFieldEnd() if self.byteVal is not None: - oprot.writeFieldBegin('byteVal', TType.STRUCT, 2) + oprot.writeFieldBegin("byteVal", TType.STRUCT, 2) self.byteVal.write(oprot) oprot.writeFieldEnd() if self.i16Val is not None: - oprot.writeFieldBegin('i16Val', TType.STRUCT, 3) + oprot.writeFieldBegin("i16Val", TType.STRUCT, 3) self.i16Val.write(oprot) oprot.writeFieldEnd() if self.i32Val is not None: - oprot.writeFieldBegin('i32Val', TType.STRUCT, 4) + oprot.writeFieldBegin("i32Val", TType.STRUCT, 4) self.i32Val.write(oprot) oprot.writeFieldEnd() if self.i64Val is not None: - oprot.writeFieldBegin('i64Val', TType.STRUCT, 5) + oprot.writeFieldBegin("i64Val", TType.STRUCT, 5) self.i64Val.write(oprot) oprot.writeFieldEnd() if self.doubleVal is not None: - oprot.writeFieldBegin('doubleVal', TType.STRUCT, 6) + oprot.writeFieldBegin("doubleVal", TType.STRUCT, 6) self.doubleVal.write(oprot) oprot.writeFieldEnd() if self.stringVal is not None: - oprot.writeFieldBegin('stringVal', TType.STRUCT, 7) + oprot.writeFieldBegin("stringVal", TType.STRUCT, 7) self.stringVal.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -2064,9 +2285,8 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -2082,12 +2302,18 @@ class TRow(object): """ - - def __init__(self, colVals=None,): + def __init__( + self, + colVals=None, + ): self.colVals = colVals def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -2113,11 +2339,13 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TRow') + oprot.writeStructBegin("TRow") if self.colVals is not None: - oprot.writeFieldBegin('colVals', TType.LIST, 1) + oprot.writeFieldBegin("colVals", TType.LIST, 1) oprot.writeListBegin(TType.STRUCT, len(self.colVals)) for iter47 in self.colVals: iter47.write(oprot) @@ -2128,13 +2356,12 @@ def write(self, oprot): def validate(self): if self.colVals is None: - raise TProtocolException(message='Required field colVals is unset!') + raise TProtocolException(message="Required field colVals is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -2151,13 +2378,20 @@ class TBoolColumn(object): """ - - def __init__(self, values=None, nulls=None,): + def __init__( + self, + values=None, + nulls=None, + ): self.values = values self.nulls = nulls def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -2187,18 +2421,20 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TBoolColumn') + oprot.writeStructBegin("TBoolColumn") if self.values is not None: - oprot.writeFieldBegin('values', TType.LIST, 1) + oprot.writeFieldBegin("values", TType.LIST, 1) oprot.writeListBegin(TType.BOOL, len(self.values)) for iter54 in self.values: oprot.writeBool(iter54) oprot.writeListEnd() oprot.writeFieldEnd() if self.nulls is not None: - oprot.writeFieldBegin('nulls', TType.STRING, 2) + oprot.writeFieldBegin("nulls", TType.STRING, 2) oprot.writeBinary(self.nulls) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -2206,15 +2442,14 @@ def write(self, oprot): def validate(self): if self.values is None: - raise TProtocolException(message='Required field values is unset!') + raise TProtocolException(message="Required field values is unset!") if self.nulls is None: - raise TProtocolException(message='Required field nulls is unset!') + raise TProtocolException(message="Required field nulls is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -2231,13 +2466,20 @@ class TByteColumn(object): """ - - def __init__(self, values=None, nulls=None,): + def __init__( + self, + values=None, + nulls=None, + ): self.values = values self.nulls = nulls def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -2267,18 +2509,20 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TByteColumn') + oprot.writeStructBegin("TByteColumn") if self.values is not None: - oprot.writeFieldBegin('values', TType.LIST, 1) + oprot.writeFieldBegin("values", TType.LIST, 1) oprot.writeListBegin(TType.BYTE, len(self.values)) for iter61 in self.values: oprot.writeByte(iter61) oprot.writeListEnd() oprot.writeFieldEnd() if self.nulls is not None: - oprot.writeFieldBegin('nulls', TType.STRING, 2) + oprot.writeFieldBegin("nulls", TType.STRING, 2) oprot.writeBinary(self.nulls) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -2286,15 +2530,14 @@ def write(self, oprot): def validate(self): if self.values is None: - raise TProtocolException(message='Required field values is unset!') + raise TProtocolException(message="Required field values is unset!") if self.nulls is None: - raise TProtocolException(message='Required field nulls is unset!') + raise TProtocolException(message="Required field nulls is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -2311,13 +2554,20 @@ class TI16Column(object): """ - - def __init__(self, values=None, nulls=None,): + def __init__( + self, + values=None, + nulls=None, + ): self.values = values self.nulls = nulls def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -2347,18 +2597,20 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TI16Column') + oprot.writeStructBegin("TI16Column") if self.values is not None: - oprot.writeFieldBegin('values', TType.LIST, 1) + oprot.writeFieldBegin("values", TType.LIST, 1) oprot.writeListBegin(TType.I16, len(self.values)) for iter68 in self.values: oprot.writeI16(iter68) oprot.writeListEnd() oprot.writeFieldEnd() if self.nulls is not None: - oprot.writeFieldBegin('nulls', TType.STRING, 2) + oprot.writeFieldBegin("nulls", TType.STRING, 2) oprot.writeBinary(self.nulls) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -2366,15 +2618,14 @@ def write(self, oprot): def validate(self): if self.values is None: - raise TProtocolException(message='Required field values is unset!') + raise TProtocolException(message="Required field values is unset!") if self.nulls is None: - raise TProtocolException(message='Required field nulls is unset!') + raise TProtocolException(message="Required field nulls is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -2391,13 +2642,20 @@ class TI32Column(object): """ - - def __init__(self, values=None, nulls=None,): + def __init__( + self, + values=None, + nulls=None, + ): self.values = values self.nulls = nulls def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -2427,18 +2685,20 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TI32Column') + oprot.writeStructBegin("TI32Column") if self.values is not None: - oprot.writeFieldBegin('values', TType.LIST, 1) + oprot.writeFieldBegin("values", TType.LIST, 1) oprot.writeListBegin(TType.I32, len(self.values)) for iter75 in self.values: oprot.writeI32(iter75) oprot.writeListEnd() oprot.writeFieldEnd() if self.nulls is not None: - oprot.writeFieldBegin('nulls', TType.STRING, 2) + oprot.writeFieldBegin("nulls", TType.STRING, 2) oprot.writeBinary(self.nulls) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -2446,15 +2706,14 @@ def write(self, oprot): def validate(self): if self.values is None: - raise TProtocolException(message='Required field values is unset!') + raise TProtocolException(message="Required field values is unset!") if self.nulls is None: - raise TProtocolException(message='Required field nulls is unset!') + raise TProtocolException(message="Required field nulls is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -2471,13 +2730,20 @@ class TI64Column(object): """ - - def __init__(self, values=None, nulls=None,): + def __init__( + self, + values=None, + nulls=None, + ): self.values = values self.nulls = nulls def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -2507,18 +2773,20 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TI64Column') + oprot.writeStructBegin("TI64Column") if self.values is not None: - oprot.writeFieldBegin('values', TType.LIST, 1) + oprot.writeFieldBegin("values", TType.LIST, 1) oprot.writeListBegin(TType.I64, len(self.values)) for iter82 in self.values: oprot.writeI64(iter82) oprot.writeListEnd() oprot.writeFieldEnd() if self.nulls is not None: - oprot.writeFieldBegin('nulls', TType.STRING, 2) + oprot.writeFieldBegin("nulls", TType.STRING, 2) oprot.writeBinary(self.nulls) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -2526,15 +2794,14 @@ def write(self, oprot): def validate(self): if self.values is None: - raise TProtocolException(message='Required field values is unset!') + raise TProtocolException(message="Required field values is unset!") if self.nulls is None: - raise TProtocolException(message='Required field nulls is unset!') + raise TProtocolException(message="Required field nulls is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -2551,13 +2818,20 @@ class TDoubleColumn(object): """ - - def __init__(self, values=None, nulls=None,): + def __init__( + self, + values=None, + nulls=None, + ): self.values = values self.nulls = nulls def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -2587,18 +2861,20 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TDoubleColumn') + oprot.writeStructBegin("TDoubleColumn") if self.values is not None: - oprot.writeFieldBegin('values', TType.LIST, 1) + oprot.writeFieldBegin("values", TType.LIST, 1) oprot.writeListBegin(TType.DOUBLE, len(self.values)) for iter89 in self.values: oprot.writeDouble(iter89) oprot.writeListEnd() oprot.writeFieldEnd() if self.nulls is not None: - oprot.writeFieldBegin('nulls', TType.STRING, 2) + oprot.writeFieldBegin("nulls", TType.STRING, 2) oprot.writeBinary(self.nulls) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -2606,15 +2882,14 @@ def write(self, oprot): def validate(self): if self.values is None: - raise TProtocolException(message='Required field values is unset!') + raise TProtocolException(message="Required field values is unset!") if self.nulls is None: - raise TProtocolException(message='Required field nulls is unset!') + raise TProtocolException(message="Required field nulls is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -2631,13 +2906,20 @@ class TStringColumn(object): """ - - def __init__(self, values=None, nulls=None,): + def __init__( + self, + values=None, + nulls=None, + ): self.values = values self.nulls = nulls def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -2650,7 +2932,11 @@ def read(self, iprot): self.values = [] (_etype93, _size90) = iprot.readListBegin() for _i94 in range(_size90): - _elem95 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + _elem95 = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) self.values.append(_elem95) iprot.readListEnd() else: @@ -2667,18 +2953,22 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TStringColumn') + oprot.writeStructBegin("TStringColumn") if self.values is not None: - oprot.writeFieldBegin('values', TType.LIST, 1) + oprot.writeFieldBegin("values", TType.LIST, 1) oprot.writeListBegin(TType.STRING, len(self.values)) for iter96 in self.values: - oprot.writeString(iter96.encode('utf-8') if sys.version_info[0] == 2 else iter96) + oprot.writeString( + iter96.encode("utf-8") if sys.version_info[0] == 2 else iter96 + ) oprot.writeListEnd() oprot.writeFieldEnd() if self.nulls is not None: - oprot.writeFieldBegin('nulls', TType.STRING, 2) + oprot.writeFieldBegin("nulls", TType.STRING, 2) oprot.writeBinary(self.nulls) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -2686,15 +2976,14 @@ def write(self, oprot): def validate(self): if self.values is None: - raise TProtocolException(message='Required field values is unset!') + raise TProtocolException(message="Required field values is unset!") if self.nulls is None: - raise TProtocolException(message='Required field nulls is unset!') + raise TProtocolException(message="Required field nulls is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -2711,13 +3000,20 @@ class TBinaryColumn(object): """ - - def __init__(self, values=None, nulls=None,): + def __init__( + self, + values=None, + nulls=None, + ): self.values = values self.nulls = nulls def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -2747,18 +3043,20 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TBinaryColumn') + oprot.writeStructBegin("TBinaryColumn") if self.values is not None: - oprot.writeFieldBegin('values', TType.LIST, 1) + oprot.writeFieldBegin("values", TType.LIST, 1) oprot.writeListBegin(TType.STRING, len(self.values)) for iter103 in self.values: oprot.writeBinary(iter103) oprot.writeListEnd() oprot.writeFieldEnd() if self.nulls is not None: - oprot.writeFieldBegin('nulls', TType.STRING, 2) + oprot.writeFieldBegin("nulls", TType.STRING, 2) oprot.writeBinary(self.nulls) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -2766,15 +3064,14 @@ def write(self, oprot): def validate(self): if self.values is None: - raise TProtocolException(message='Required field values is unset!') + raise TProtocolException(message="Required field values is unset!") if self.nulls is None: - raise TProtocolException(message='Required field nulls is unset!') + raise TProtocolException(message="Required field nulls is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -2797,8 +3094,17 @@ class TColumn(object): """ - - def __init__(self, boolVal=None, byteVal=None, i16Val=None, i32Val=None, i64Val=None, doubleVal=None, stringVal=None, binaryVal=None,): + def __init__( + self, + boolVal=None, + byteVal=None, + i16Val=None, + i32Val=None, + i64Val=None, + doubleVal=None, + stringVal=None, + binaryVal=None, + ): self.boolVal = boolVal self.byteVal = byteVal self.i16Val = i16Val @@ -2809,7 +3115,11 @@ def __init__(self, boolVal=None, byteVal=None, i16Val=None, i32Val=None, i64Val= self.binaryVal = binaryVal def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -2872,39 +3182,41 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TColumn') + oprot.writeStructBegin("TColumn") if self.boolVal is not None: - oprot.writeFieldBegin('boolVal', TType.STRUCT, 1) + oprot.writeFieldBegin("boolVal", TType.STRUCT, 1) self.boolVal.write(oprot) oprot.writeFieldEnd() if self.byteVal is not None: - oprot.writeFieldBegin('byteVal', TType.STRUCT, 2) + oprot.writeFieldBegin("byteVal", TType.STRUCT, 2) self.byteVal.write(oprot) oprot.writeFieldEnd() if self.i16Val is not None: - oprot.writeFieldBegin('i16Val', TType.STRUCT, 3) + oprot.writeFieldBegin("i16Val", TType.STRUCT, 3) self.i16Val.write(oprot) oprot.writeFieldEnd() if self.i32Val is not None: - oprot.writeFieldBegin('i32Val', TType.STRUCT, 4) + oprot.writeFieldBegin("i32Val", TType.STRUCT, 4) self.i32Val.write(oprot) oprot.writeFieldEnd() if self.i64Val is not None: - oprot.writeFieldBegin('i64Val', TType.STRUCT, 5) + oprot.writeFieldBegin("i64Val", TType.STRUCT, 5) self.i64Val.write(oprot) oprot.writeFieldEnd() if self.doubleVal is not None: - oprot.writeFieldBegin('doubleVal', TType.STRUCT, 6) + oprot.writeFieldBegin("doubleVal", TType.STRUCT, 6) self.doubleVal.write(oprot) oprot.writeFieldEnd() if self.stringVal is not None: - oprot.writeFieldBegin('stringVal', TType.STRUCT, 7) + oprot.writeFieldBegin("stringVal", TType.STRUCT, 7) self.stringVal.write(oprot) oprot.writeFieldEnd() if self.binaryVal is not None: - oprot.writeFieldBegin('binaryVal', TType.STRUCT, 8) + oprot.writeFieldBegin("binaryVal", TType.STRUCT, 8) self.binaryVal.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -2914,9 +3226,8 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -2932,12 +3243,18 @@ class TDBSqlJsonArrayFormat(object): """ - - def __init__(self, compressionCodec=None,): + def __init__( + self, + compressionCodec=None, + ): self.compressionCodec = compressionCodec def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -2957,11 +3274,13 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TDBSqlJsonArrayFormat') + oprot.writeStructBegin("TDBSqlJsonArrayFormat") if self.compressionCodec is not None: - oprot.writeFieldBegin('compressionCodec', TType.I32, 1) + oprot.writeFieldBegin("compressionCodec", TType.I32, 1) oprot.writeI32(self.compressionCodec) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -2971,9 +3290,8 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -2989,12 +3307,18 @@ class TDBSqlCsvFormat(object): """ - - def __init__(self, compressionCodec=None,): + def __init__( + self, + compressionCodec=None, + ): self.compressionCodec = compressionCodec def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -3014,11 +3338,13 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TDBSqlCsvFormat') + oprot.writeStructBegin("TDBSqlCsvFormat") if self.compressionCodec is not None: - oprot.writeFieldBegin('compressionCodec', TType.I32, 1) + oprot.writeFieldBegin("compressionCodec", TType.I32, 1) oprot.writeI32(self.compressionCodec) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -3028,9 +3354,8 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -3047,13 +3372,20 @@ class TDBSqlArrowFormat(object): """ - - def __init__(self, arrowLayout=None, compressionCodec=None,): + def __init__( + self, + arrowLayout=None, + compressionCodec=None, + ): self.arrowLayout = arrowLayout self.compressionCodec = compressionCodec def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -3078,15 +3410,17 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TDBSqlArrowFormat') + oprot.writeStructBegin("TDBSqlArrowFormat") if self.arrowLayout is not None: - oprot.writeFieldBegin('arrowLayout', TType.I32, 1) + oprot.writeFieldBegin("arrowLayout", TType.I32, 1) oprot.writeI32(self.arrowLayout) oprot.writeFieldEnd() if self.compressionCodec is not None: - oprot.writeFieldBegin('compressionCodec', TType.I32, 2) + oprot.writeFieldBegin("compressionCodec", TType.I32, 2) oprot.writeI32(self.compressionCodec) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -3096,9 +3430,8 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -3116,14 +3449,17 @@ class TDBSqlResultFormat(object): """ - def __init__(self, arrowFormat=None, csvFormat=None, jsonArrayFormat=None): self.arrowFormat = arrowFormat self.csvFormat = csvFormat self.jsonArrayFormat = jsonArrayFormat def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -3156,19 +3492,21 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TDBSqlResultFormat') + oprot.writeStructBegin("TDBSqlResultFormat") if self.arrowFormat is not None: - oprot.writeFieldBegin('arrowFormat', TType.STRUCT, 1) + oprot.writeFieldBegin("arrowFormat", TType.STRUCT, 1) self.arrowFormat.write(oprot) oprot.writeFieldEnd() if self.csvFormat is not None: - oprot.writeFieldBegin('csvFormat', TType.STRUCT, 2) + oprot.writeFieldBegin("csvFormat", TType.STRUCT, 2) self.csvFormat.write(oprot) oprot.writeFieldEnd() if self.jsonArrayFormat is not None: - oprot.writeFieldBegin('jsonArrayFormat', TType.STRUCT, 3) + oprot.writeFieldBegin("jsonArrayFormat", TType.STRUCT, 3) self.jsonArrayFormat.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -3178,9 +3516,8 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -3197,13 +3534,20 @@ class TSparkArrowBatch(object): """ - - def __init__(self, batch=None, rowCount=None,): + def __init__( + self, + batch=None, + rowCount=None, + ): self.batch = batch self.rowCount = rowCount def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -3228,15 +3572,17 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TSparkArrowBatch') + oprot.writeStructBegin("TSparkArrowBatch") if self.batch is not None: - oprot.writeFieldBegin('batch', TType.STRING, 1) + oprot.writeFieldBegin("batch", TType.STRING, 1) oprot.writeBinary(self.batch) oprot.writeFieldEnd() if self.rowCount is not None: - oprot.writeFieldBegin('rowCount', TType.I64, 2) + oprot.writeFieldBegin("rowCount", TType.I64, 2) oprot.writeI64(self.rowCount) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -3244,15 +3590,14 @@ def write(self, oprot): def validate(self): if self.batch is None: - raise TProtocolException(message='Required field batch is unset!') + raise TProtocolException(message="Required field batch is unset!") if self.rowCount is None: - raise TProtocolException(message='Required field rowCount is unset!') + raise TProtocolException(message="Required field rowCount is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -3273,8 +3618,15 @@ class TSparkArrowResultLink(object): """ - - def __init__(self, fileLink=None, expiryTime=None, startRowOffset=None, rowCount=None, bytesNum=None, httpHeaders=None,): + def __init__( + self, + fileLink=None, + expiryTime=None, + startRowOffset=None, + rowCount=None, + bytesNum=None, + httpHeaders=None, + ): self.fileLink = fileLink self.expiryTime = expiryTime self.startRowOffset = startRowOffset @@ -3283,7 +3635,11 @@ def __init__(self, fileLink=None, expiryTime=None, startRowOffset=None, rowCount self.httpHeaders = httpHeaders def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -3293,7 +3649,11 @@ def read(self, iprot): break if fid == 1: if ftype == TType.STRING: - self.fileLink = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.fileLink = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 2: @@ -3321,8 +3681,16 @@ def read(self, iprot): self.httpHeaders = {} (_ktype105, _vtype106, _size104) = iprot.readMapBegin() for _i108 in range(_size104): - _key109 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - _val110 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + _key109 = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) + _val110 = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) self.httpHeaders[_key109] = _val110 iprot.readMapEnd() else: @@ -3334,35 +3702,45 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TSparkArrowResultLink') + oprot.writeStructBegin("TSparkArrowResultLink") if self.fileLink is not None: - oprot.writeFieldBegin('fileLink', TType.STRING, 1) - oprot.writeString(self.fileLink.encode('utf-8') if sys.version_info[0] == 2 else self.fileLink) + oprot.writeFieldBegin("fileLink", TType.STRING, 1) + oprot.writeString( + self.fileLink.encode("utf-8") + if sys.version_info[0] == 2 + else self.fileLink + ) oprot.writeFieldEnd() if self.expiryTime is not None: - oprot.writeFieldBegin('expiryTime', TType.I64, 2) + oprot.writeFieldBegin("expiryTime", TType.I64, 2) oprot.writeI64(self.expiryTime) oprot.writeFieldEnd() if self.startRowOffset is not None: - oprot.writeFieldBegin('startRowOffset', TType.I64, 3) + oprot.writeFieldBegin("startRowOffset", TType.I64, 3) oprot.writeI64(self.startRowOffset) oprot.writeFieldEnd() if self.rowCount is not None: - oprot.writeFieldBegin('rowCount', TType.I64, 4) + oprot.writeFieldBegin("rowCount", TType.I64, 4) oprot.writeI64(self.rowCount) oprot.writeFieldEnd() if self.bytesNum is not None: - oprot.writeFieldBegin('bytesNum', TType.I64, 5) + oprot.writeFieldBegin("bytesNum", TType.I64, 5) oprot.writeI64(self.bytesNum) oprot.writeFieldEnd() if self.httpHeaders is not None: - oprot.writeFieldBegin('httpHeaders', TType.MAP, 6) + oprot.writeFieldBegin("httpHeaders", TType.MAP, 6) oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.httpHeaders)) for kiter111, viter112 in self.httpHeaders.items(): - oprot.writeString(kiter111.encode('utf-8') if sys.version_info[0] == 2 else kiter111) - oprot.writeString(viter112.encode('utf-8') if sys.version_info[0] == 2 else viter112) + oprot.writeString( + kiter111.encode("utf-8") if sys.version_info[0] == 2 else kiter111 + ) + oprot.writeString( + viter112.encode("utf-8") if sys.version_info[0] == 2 else viter112 + ) oprot.writeMapEnd() oprot.writeFieldEnd() oprot.writeFieldStop() @@ -3370,21 +3748,20 @@ def write(self, oprot): def validate(self): if self.fileLink is None: - raise TProtocolException(message='Required field fileLink is unset!') + raise TProtocolException(message="Required field fileLink is unset!") if self.expiryTime is None: - raise TProtocolException(message='Required field expiryTime is unset!') + raise TProtocolException(message="Required field expiryTime is unset!") if self.startRowOffset is None: - raise TProtocolException(message='Required field startRowOffset is unset!') + raise TProtocolException(message="Required field startRowOffset is unset!") if self.rowCount is None: - raise TProtocolException(message='Required field rowCount is unset!') + raise TProtocolException(message="Required field rowCount is unset!") if self.bytesNum is None: - raise TProtocolException(message='Required field bytesNum is unset!') + raise TProtocolException(message="Required field bytesNum is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -3407,8 +3784,17 @@ class TDBSqlCloudResultFile(object): """ - - def __init__(self, filePath=None, startRowOffset=None, rowCount=None, uncompressedBytes=None, compressedBytes=None, fileLink=None, linkExpiryTime=None, httpHeaders=None,): + def __init__( + self, + filePath=None, + startRowOffset=None, + rowCount=None, + uncompressedBytes=None, + compressedBytes=None, + fileLink=None, + linkExpiryTime=None, + httpHeaders=None, + ): self.filePath = filePath self.startRowOffset = startRowOffset self.rowCount = rowCount @@ -3419,7 +3805,11 @@ def __init__(self, filePath=None, startRowOffset=None, rowCount=None, uncompress self.httpHeaders = httpHeaders def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -3429,7 +3819,11 @@ def read(self, iprot): break if fid == 1: if ftype == TType.STRING: - self.filePath = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.filePath = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 2: @@ -3454,7 +3848,11 @@ def read(self, iprot): iprot.skip(ftype) elif fid == 6: if ftype == TType.STRING: - self.fileLink = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.fileLink = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 7: @@ -3467,8 +3865,16 @@ def read(self, iprot): self.httpHeaders = {} (_ktype114, _vtype115, _size113) = iprot.readMapBegin() for _i117 in range(_size113): - _key118 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - _val119 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + _key118 = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) + _val119 = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) self.httpHeaders[_key118] = _val119 iprot.readMapEnd() else: @@ -3480,43 +3886,57 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TDBSqlCloudResultFile') + oprot.writeStructBegin("TDBSqlCloudResultFile") if self.filePath is not None: - oprot.writeFieldBegin('filePath', TType.STRING, 1) - oprot.writeString(self.filePath.encode('utf-8') if sys.version_info[0] == 2 else self.filePath) + oprot.writeFieldBegin("filePath", TType.STRING, 1) + oprot.writeString( + self.filePath.encode("utf-8") + if sys.version_info[0] == 2 + else self.filePath + ) oprot.writeFieldEnd() if self.startRowOffset is not None: - oprot.writeFieldBegin('startRowOffset', TType.I64, 2) + oprot.writeFieldBegin("startRowOffset", TType.I64, 2) oprot.writeI64(self.startRowOffset) oprot.writeFieldEnd() if self.rowCount is not None: - oprot.writeFieldBegin('rowCount', TType.I64, 3) + oprot.writeFieldBegin("rowCount", TType.I64, 3) oprot.writeI64(self.rowCount) oprot.writeFieldEnd() if self.uncompressedBytes is not None: - oprot.writeFieldBegin('uncompressedBytes', TType.I64, 4) + oprot.writeFieldBegin("uncompressedBytes", TType.I64, 4) oprot.writeI64(self.uncompressedBytes) oprot.writeFieldEnd() if self.compressedBytes is not None: - oprot.writeFieldBegin('compressedBytes', TType.I64, 5) + oprot.writeFieldBegin("compressedBytes", TType.I64, 5) oprot.writeI64(self.compressedBytes) oprot.writeFieldEnd() if self.fileLink is not None: - oprot.writeFieldBegin('fileLink', TType.STRING, 6) - oprot.writeString(self.fileLink.encode('utf-8') if sys.version_info[0] == 2 else self.fileLink) + oprot.writeFieldBegin("fileLink", TType.STRING, 6) + oprot.writeString( + self.fileLink.encode("utf-8") + if sys.version_info[0] == 2 + else self.fileLink + ) oprot.writeFieldEnd() if self.linkExpiryTime is not None: - oprot.writeFieldBegin('linkExpiryTime', TType.I64, 7) + oprot.writeFieldBegin("linkExpiryTime", TType.I64, 7) oprot.writeI64(self.linkExpiryTime) oprot.writeFieldEnd() if self.httpHeaders is not None: - oprot.writeFieldBegin('httpHeaders', TType.MAP, 8) + oprot.writeFieldBegin("httpHeaders", TType.MAP, 8) oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.httpHeaders)) for kiter120, viter121 in self.httpHeaders.items(): - oprot.writeString(kiter120.encode('utf-8') if sys.version_info[0] == 2 else kiter120) - oprot.writeString(viter121.encode('utf-8') if sys.version_info[0] == 2 else viter121) + oprot.writeString( + kiter120.encode("utf-8") if sys.version_info[0] == 2 else kiter120 + ) + oprot.writeString( + viter121.encode("utf-8") if sys.version_info[0] == 2 else viter121 + ) oprot.writeMapEnd() oprot.writeFieldEnd() oprot.writeFieldStop() @@ -3526,9 +3946,8 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -3551,8 +3970,17 @@ class TRowSet(object): """ - - def __init__(self, startRowOffset=None, rows=None, columns=None, binaryColumns=None, columnCount=None, arrowBatches=None, resultLinks=None, cloudFetchResults=None,): + def __init__( + self, + startRowOffset=None, + rows=None, + columns=None, + binaryColumns=None, + columnCount=None, + arrowBatches=None, + resultLinks=None, + cloudFetchResults=None, + ): self.startRowOffset = startRowOffset self.rows = rows self.columns = columns @@ -3563,7 +3991,11 @@ def __init__(self, startRowOffset=None, rows=None, columns=None, binaryColumns=N self.cloudFetchResults = cloudFetchResults def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -3648,51 +4080,53 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TRowSet') + oprot.writeStructBegin("TRowSet") if self.startRowOffset is not None: - oprot.writeFieldBegin('startRowOffset', TType.I64, 1) + oprot.writeFieldBegin("startRowOffset", TType.I64, 1) oprot.writeI64(self.startRowOffset) oprot.writeFieldEnd() if self.rows is not None: - oprot.writeFieldBegin('rows', TType.LIST, 2) + oprot.writeFieldBegin("rows", TType.LIST, 2) oprot.writeListBegin(TType.STRUCT, len(self.rows)) for iter152 in self.rows: iter152.write(oprot) oprot.writeListEnd() oprot.writeFieldEnd() if self.columns is not None: - oprot.writeFieldBegin('columns', TType.LIST, 3) + oprot.writeFieldBegin("columns", TType.LIST, 3) oprot.writeListBegin(TType.STRUCT, len(self.columns)) for iter153 in self.columns: iter153.write(oprot) oprot.writeListEnd() oprot.writeFieldEnd() if self.binaryColumns is not None: - oprot.writeFieldBegin('binaryColumns', TType.STRING, 4) + oprot.writeFieldBegin("binaryColumns", TType.STRING, 4) oprot.writeBinary(self.binaryColumns) oprot.writeFieldEnd() if self.columnCount is not None: - oprot.writeFieldBegin('columnCount', TType.I32, 5) + oprot.writeFieldBegin("columnCount", TType.I32, 5) oprot.writeI32(self.columnCount) oprot.writeFieldEnd() if self.arrowBatches is not None: - oprot.writeFieldBegin('arrowBatches', TType.LIST, 1281) + oprot.writeFieldBegin("arrowBatches", TType.LIST, 1281) oprot.writeListBegin(TType.STRUCT, len(self.arrowBatches)) for iter154 in self.arrowBatches: iter154.write(oprot) oprot.writeListEnd() oprot.writeFieldEnd() if self.resultLinks is not None: - oprot.writeFieldBegin('resultLinks', TType.LIST, 1282) + oprot.writeFieldBegin("resultLinks", TType.LIST, 1282) oprot.writeListBegin(TType.STRUCT, len(self.resultLinks)) for iter155 in self.resultLinks: iter155.write(oprot) oprot.writeListEnd() oprot.writeFieldEnd() if self.cloudFetchResults is not None: - oprot.writeFieldBegin('cloudFetchResults', TType.LIST, 3329) + oprot.writeFieldBegin("cloudFetchResults", TType.LIST, 3329) oprot.writeListBegin(TType.STRUCT, len(self.cloudFetchResults)) for iter156 in self.cloudFetchResults: iter156.write(oprot) @@ -3703,15 +4137,14 @@ def write(self, oprot): def validate(self): if self.startRowOffset is None: - raise TProtocolException(message='Required field startRowOffset is unset!') + raise TProtocolException(message="Required field startRowOffset is unset!") if self.rows is None: - raise TProtocolException(message='Required field rows is unset!') + raise TProtocolException(message="Required field rows is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -3730,15 +4163,24 @@ class TDBSqlTempView(object): """ - - def __init__(self, name=None, sqlStatement=None, properties=None, viewSchema=None,): + def __init__( + self, + name=None, + sqlStatement=None, + properties=None, + viewSchema=None, + ): self.name = name self.sqlStatement = sqlStatement self.properties = properties self.viewSchema = viewSchema def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -3748,12 +4190,20 @@ def read(self, iprot): break if fid == 1: if ftype == TType.STRING: - self.name = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.name = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 2: if ftype == TType.STRING: - self.sqlStatement = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.sqlStatement = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 3: @@ -3761,15 +4211,27 @@ def read(self, iprot): self.properties = {} (_ktype158, _vtype159, _size157) = iprot.readMapBegin() for _i161 in range(_size157): - _key162 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - _val163 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + _key162 = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) + _val163 = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) self.properties[_key162] = _val163 iprot.readMapEnd() else: iprot.skip(ftype) elif fid == 4: if ftype == TType.STRING: - self.viewSchema = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.viewSchema = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) else: @@ -3779,28 +4241,44 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TDBSqlTempView') + oprot.writeStructBegin("TDBSqlTempView") if self.name is not None: - oprot.writeFieldBegin('name', TType.STRING, 1) - oprot.writeString(self.name.encode('utf-8') if sys.version_info[0] == 2 else self.name) + oprot.writeFieldBegin("name", TType.STRING, 1) + oprot.writeString( + self.name.encode("utf-8") if sys.version_info[0] == 2 else self.name + ) oprot.writeFieldEnd() if self.sqlStatement is not None: - oprot.writeFieldBegin('sqlStatement', TType.STRING, 2) - oprot.writeString(self.sqlStatement.encode('utf-8') if sys.version_info[0] == 2 else self.sqlStatement) + oprot.writeFieldBegin("sqlStatement", TType.STRING, 2) + oprot.writeString( + self.sqlStatement.encode("utf-8") + if sys.version_info[0] == 2 + else self.sqlStatement + ) oprot.writeFieldEnd() if self.properties is not None: - oprot.writeFieldBegin('properties', TType.MAP, 3) + oprot.writeFieldBegin("properties", TType.MAP, 3) oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.properties)) for kiter164, viter165 in self.properties.items(): - oprot.writeString(kiter164.encode('utf-8') if sys.version_info[0] == 2 else kiter164) - oprot.writeString(viter165.encode('utf-8') if sys.version_info[0] == 2 else viter165) + oprot.writeString( + kiter164.encode("utf-8") if sys.version_info[0] == 2 else kiter164 + ) + oprot.writeString( + viter165.encode("utf-8") if sys.version_info[0] == 2 else viter165 + ) oprot.writeMapEnd() oprot.writeFieldEnd() if self.viewSchema is not None: - oprot.writeFieldBegin('viewSchema', TType.STRING, 4) - oprot.writeString(self.viewSchema.encode('utf-8') if sys.version_info[0] == 2 else self.viewSchema) + oprot.writeFieldBegin("viewSchema", TType.STRING, 4) + oprot.writeString( + self.viewSchema.encode("utf-8") + if sys.version_info[0] == 2 + else self.viewSchema + ) oprot.writeFieldEnd() oprot.writeFieldStop() oprot.writeStructEnd() @@ -3809,9 +4287,8 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -3827,12 +4304,18 @@ class TDBSqlSessionCapabilities(object): """ - - def __init__(self, supportsMultipleCatalogs=None,): + def __init__( + self, + supportsMultipleCatalogs=None, + ): self.supportsMultipleCatalogs = supportsMultipleCatalogs def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -3852,11 +4335,13 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TDBSqlSessionCapabilities') + oprot.writeStructBegin("TDBSqlSessionCapabilities") if self.supportsMultipleCatalogs is not None: - oprot.writeFieldBegin('supportsMultipleCatalogs', TType.BOOL, 1) + oprot.writeFieldBegin("supportsMultipleCatalogs", TType.BOOL, 1) oprot.writeBool(self.supportsMultipleCatalogs) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -3866,9 +4351,8 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -3895,8 +4379,21 @@ class TExpressionInfo(object): """ - - def __init__(self, className=None, usage=None, name=None, extended=None, db=None, arguments=None, examples=None, note=None, group=None, since=None, deprecated=None, source=None,): + def __init__( + self, + className=None, + usage=None, + name=None, + extended=None, + db=None, + arguments=None, + examples=None, + note=None, + group=None, + since=None, + deprecated=None, + source=None, + ): self.className = className self.usage = usage self.name = name @@ -3911,7 +4408,11 @@ def __init__(self, className=None, usage=None, name=None, extended=None, db=None self.source = source def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -3921,62 +4422,110 @@ def read(self, iprot): break if fid == 1: if ftype == TType.STRING: - self.className = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.className = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 2: if ftype == TType.STRING: - self.usage = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.usage = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 3: if ftype == TType.STRING: - self.name = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.name = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 4: if ftype == TType.STRING: - self.extended = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.extended = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 5: if ftype == TType.STRING: - self.db = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.db = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 6: if ftype == TType.STRING: - self.arguments = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.arguments = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 7: if ftype == TType.STRING: - self.examples = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.examples = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 8: if ftype == TType.STRING: - self.note = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.note = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 9: if ftype == TType.STRING: - self.group = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.group = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 10: if ftype == TType.STRING: - self.since = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.since = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 11: if ftype == TType.STRING: - self.deprecated = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.deprecated = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 12: if ftype == TType.STRING: - self.source = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.source = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) else: @@ -3986,56 +4535,92 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TExpressionInfo') + oprot.writeStructBegin("TExpressionInfo") if self.className is not None: - oprot.writeFieldBegin('className', TType.STRING, 1) - oprot.writeString(self.className.encode('utf-8') if sys.version_info[0] == 2 else self.className) + oprot.writeFieldBegin("className", TType.STRING, 1) + oprot.writeString( + self.className.encode("utf-8") + if sys.version_info[0] == 2 + else self.className + ) oprot.writeFieldEnd() if self.usage is not None: - oprot.writeFieldBegin('usage', TType.STRING, 2) - oprot.writeString(self.usage.encode('utf-8') if sys.version_info[0] == 2 else self.usage) + oprot.writeFieldBegin("usage", TType.STRING, 2) + oprot.writeString( + self.usage.encode("utf-8") if sys.version_info[0] == 2 else self.usage + ) oprot.writeFieldEnd() if self.name is not None: - oprot.writeFieldBegin('name', TType.STRING, 3) - oprot.writeString(self.name.encode('utf-8') if sys.version_info[0] == 2 else self.name) + oprot.writeFieldBegin("name", TType.STRING, 3) + oprot.writeString( + self.name.encode("utf-8") if sys.version_info[0] == 2 else self.name + ) oprot.writeFieldEnd() if self.extended is not None: - oprot.writeFieldBegin('extended', TType.STRING, 4) - oprot.writeString(self.extended.encode('utf-8') if sys.version_info[0] == 2 else self.extended) + oprot.writeFieldBegin("extended", TType.STRING, 4) + oprot.writeString( + self.extended.encode("utf-8") + if sys.version_info[0] == 2 + else self.extended + ) oprot.writeFieldEnd() if self.db is not None: - oprot.writeFieldBegin('db', TType.STRING, 5) - oprot.writeString(self.db.encode('utf-8') if sys.version_info[0] == 2 else self.db) + oprot.writeFieldBegin("db", TType.STRING, 5) + oprot.writeString( + self.db.encode("utf-8") if sys.version_info[0] == 2 else self.db + ) oprot.writeFieldEnd() if self.arguments is not None: - oprot.writeFieldBegin('arguments', TType.STRING, 6) - oprot.writeString(self.arguments.encode('utf-8') if sys.version_info[0] == 2 else self.arguments) + oprot.writeFieldBegin("arguments", TType.STRING, 6) + oprot.writeString( + self.arguments.encode("utf-8") + if sys.version_info[0] == 2 + else self.arguments + ) oprot.writeFieldEnd() if self.examples is not None: - oprot.writeFieldBegin('examples', TType.STRING, 7) - oprot.writeString(self.examples.encode('utf-8') if sys.version_info[0] == 2 else self.examples) + oprot.writeFieldBegin("examples", TType.STRING, 7) + oprot.writeString( + self.examples.encode("utf-8") + if sys.version_info[0] == 2 + else self.examples + ) oprot.writeFieldEnd() if self.note is not None: - oprot.writeFieldBegin('note', TType.STRING, 8) - oprot.writeString(self.note.encode('utf-8') if sys.version_info[0] == 2 else self.note) + oprot.writeFieldBegin("note", TType.STRING, 8) + oprot.writeString( + self.note.encode("utf-8") if sys.version_info[0] == 2 else self.note + ) oprot.writeFieldEnd() if self.group is not None: - oprot.writeFieldBegin('group', TType.STRING, 9) - oprot.writeString(self.group.encode('utf-8') if sys.version_info[0] == 2 else self.group) + oprot.writeFieldBegin("group", TType.STRING, 9) + oprot.writeString( + self.group.encode("utf-8") if sys.version_info[0] == 2 else self.group + ) oprot.writeFieldEnd() if self.since is not None: - oprot.writeFieldBegin('since', TType.STRING, 10) - oprot.writeString(self.since.encode('utf-8') if sys.version_info[0] == 2 else self.since) + oprot.writeFieldBegin("since", TType.STRING, 10) + oprot.writeString( + self.since.encode("utf-8") if sys.version_info[0] == 2 else self.since + ) oprot.writeFieldEnd() if self.deprecated is not None: - oprot.writeFieldBegin('deprecated', TType.STRING, 11) - oprot.writeString(self.deprecated.encode('utf-8') if sys.version_info[0] == 2 else self.deprecated) + oprot.writeFieldBegin("deprecated", TType.STRING, 11) + oprot.writeString( + self.deprecated.encode("utf-8") + if sys.version_info[0] == 2 + else self.deprecated + ) oprot.writeFieldEnd() if self.source is not None: - oprot.writeFieldBegin('source', TType.STRING, 12) - oprot.writeString(self.source.encode('utf-8') if sys.version_info[0] == 2 else self.source) + oprot.writeFieldBegin("source", TType.STRING, 12) + oprot.writeString( + self.source.encode("utf-8") if sys.version_info[0] == 2 else self.source + ) oprot.writeFieldEnd() oprot.writeFieldStop() oprot.writeStructEnd() @@ -4044,9 +4629,8 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -4062,12 +4646,18 @@ class TDBSqlConfValue(object): """ - - def __init__(self, value=None,): + def __init__( + self, + value=None, + ): self.value = value def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -4077,7 +4667,11 @@ def read(self, iprot): break if fid == 1: if ftype == TType.STRING: - self.value = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.value = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) else: @@ -4087,12 +4681,16 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TDBSqlConfValue') + oprot.writeStructBegin("TDBSqlConfValue") if self.value is not None: - oprot.writeFieldBegin('value', TType.STRING, 1) - oprot.writeString(self.value.encode('utf-8') if sys.version_info[0] == 2 else self.value) + oprot.writeFieldBegin("value", TType.STRING, 1) + oprot.writeString( + self.value.encode("utf-8") if sys.version_info[0] == 2 else self.value + ) oprot.writeFieldEnd() oprot.writeFieldStop() oprot.writeStructEnd() @@ -4101,9 +4699,8 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -4125,8 +4722,16 @@ class TDBSqlSessionConf(object): """ - - def __init__(self, confs=None, tempViews=None, currentDatabase=None, currentCatalog=None, sessionCapabilities=None, expressionsInfos=None, internalConfs=None,): + def __init__( + self, + confs=None, + tempViews=None, + currentDatabase=None, + currentCatalog=None, + sessionCapabilities=None, + expressionsInfos=None, + internalConfs=None, + ): self.confs = confs self.tempViews = tempViews self.currentDatabase = currentDatabase @@ -4136,7 +4741,11 @@ def __init__(self, confs=None, tempViews=None, currentDatabase=None, currentCata self.internalConfs = internalConfs def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -4149,8 +4758,16 @@ def read(self, iprot): self.confs = {} (_ktype167, _vtype168, _size166) = iprot.readMapBegin() for _i170 in range(_size166): - _key171 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - _val172 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + _key171 = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) + _val172 = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) self.confs[_key171] = _val172 iprot.readMapEnd() else: @@ -4168,12 +4785,20 @@ def read(self, iprot): iprot.skip(ftype) elif fid == 3: if ftype == TType.STRING: - self.currentDatabase = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.currentDatabase = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 4: if ftype == TType.STRING: - self.currentCatalog = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.currentCatalog = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 5: @@ -4198,7 +4823,11 @@ def read(self, iprot): self.internalConfs = {} (_ktype186, _vtype187, _size185) = iprot.readMapBegin() for _i189 in range(_size185): - _key190 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + _key190 = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) _val191 = TDBSqlConfValue() _val191.read(iprot) self.internalConfs[_key190] = _val191 @@ -4212,48 +4841,64 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TDBSqlSessionConf') + oprot.writeStructBegin("TDBSqlSessionConf") if self.confs is not None: - oprot.writeFieldBegin('confs', TType.MAP, 1) + oprot.writeFieldBegin("confs", TType.MAP, 1) oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.confs)) for kiter192, viter193 in self.confs.items(): - oprot.writeString(kiter192.encode('utf-8') if sys.version_info[0] == 2 else kiter192) - oprot.writeString(viter193.encode('utf-8') if sys.version_info[0] == 2 else viter193) + oprot.writeString( + kiter192.encode("utf-8") if sys.version_info[0] == 2 else kiter192 + ) + oprot.writeString( + viter193.encode("utf-8") if sys.version_info[0] == 2 else viter193 + ) oprot.writeMapEnd() oprot.writeFieldEnd() if self.tempViews is not None: - oprot.writeFieldBegin('tempViews', TType.LIST, 2) + oprot.writeFieldBegin("tempViews", TType.LIST, 2) oprot.writeListBegin(TType.STRUCT, len(self.tempViews)) for iter194 in self.tempViews: iter194.write(oprot) oprot.writeListEnd() oprot.writeFieldEnd() if self.currentDatabase is not None: - oprot.writeFieldBegin('currentDatabase', TType.STRING, 3) - oprot.writeString(self.currentDatabase.encode('utf-8') if sys.version_info[0] == 2 else self.currentDatabase) + oprot.writeFieldBegin("currentDatabase", TType.STRING, 3) + oprot.writeString( + self.currentDatabase.encode("utf-8") + if sys.version_info[0] == 2 + else self.currentDatabase + ) oprot.writeFieldEnd() if self.currentCatalog is not None: - oprot.writeFieldBegin('currentCatalog', TType.STRING, 4) - oprot.writeString(self.currentCatalog.encode('utf-8') if sys.version_info[0] == 2 else self.currentCatalog) + oprot.writeFieldBegin("currentCatalog", TType.STRING, 4) + oprot.writeString( + self.currentCatalog.encode("utf-8") + if sys.version_info[0] == 2 + else self.currentCatalog + ) oprot.writeFieldEnd() if self.sessionCapabilities is not None: - oprot.writeFieldBegin('sessionCapabilities', TType.STRUCT, 5) + oprot.writeFieldBegin("sessionCapabilities", TType.STRUCT, 5) self.sessionCapabilities.write(oprot) oprot.writeFieldEnd() if self.expressionsInfos is not None: - oprot.writeFieldBegin('expressionsInfos', TType.LIST, 6) + oprot.writeFieldBegin("expressionsInfos", TType.LIST, 6) oprot.writeListBegin(TType.STRUCT, len(self.expressionsInfos)) for iter195 in self.expressionsInfos: iter195.write(oprot) oprot.writeListEnd() oprot.writeFieldEnd() if self.internalConfs is not None: - oprot.writeFieldBegin('internalConfs', TType.MAP, 7) + oprot.writeFieldBegin("internalConfs", TType.MAP, 7) oprot.writeMapBegin(TType.STRING, TType.STRUCT, len(self.internalConfs)) for kiter196, viter197 in self.internalConfs.items(): - oprot.writeString(kiter196.encode('utf-8') if sys.version_info[0] == 2 else kiter196) + oprot.writeString( + kiter196.encode("utf-8") if sys.version_info[0] == 2 else kiter196 + ) viter197.write(oprot) oprot.writeMapEnd() oprot.writeFieldEnd() @@ -4264,9 +4909,8 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -4289,8 +4933,17 @@ class TStatus(object): """ - - def __init__(self, statusCode=None, infoMessages=None, sqlState=None, errorCode=None, errorMessage=None, displayMessage=None, errorDetailsJson=None, responseValidation=None,): + def __init__( + self, + statusCode=None, + infoMessages=None, + sqlState=None, + errorCode=None, + errorMessage=None, + displayMessage=None, + errorDetailsJson=None, + responseValidation=None, + ): self.statusCode = statusCode self.infoMessages = infoMessages self.sqlState = sqlState @@ -4301,7 +4954,11 @@ def __init__(self, statusCode=None, infoMessages=None, sqlState=None, errorCode= self.responseValidation = responseValidation def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -4319,14 +4976,22 @@ def read(self, iprot): self.infoMessages = [] (_etype201, _size198) = iprot.readListBegin() for _i202 in range(_size198): - _elem203 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + _elem203 = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) self.infoMessages.append(_elem203) iprot.readListEnd() else: iprot.skip(ftype) elif fid == 3: if ftype == TType.STRING: - self.sqlState = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.sqlState = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 4: @@ -4336,17 +5001,29 @@ def read(self, iprot): iprot.skip(ftype) elif fid == 5: if ftype == TType.STRING: - self.errorMessage = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.errorMessage = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 6: if ftype == TType.STRING: - self.displayMessage = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.displayMessage = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 1281: if ftype == TType.STRING: - self.errorDetailsJson = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.errorDetailsJson = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 3329: @@ -4361,42 +5038,62 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TStatus') + oprot.writeStructBegin("TStatus") if self.statusCode is not None: - oprot.writeFieldBegin('statusCode', TType.I32, 1) + oprot.writeFieldBegin("statusCode", TType.I32, 1) oprot.writeI32(self.statusCode) oprot.writeFieldEnd() if self.infoMessages is not None: - oprot.writeFieldBegin('infoMessages', TType.LIST, 2) + oprot.writeFieldBegin("infoMessages", TType.LIST, 2) oprot.writeListBegin(TType.STRING, len(self.infoMessages)) for iter204 in self.infoMessages: - oprot.writeString(iter204.encode('utf-8') if sys.version_info[0] == 2 else iter204) + oprot.writeString( + iter204.encode("utf-8") if sys.version_info[0] == 2 else iter204 + ) oprot.writeListEnd() oprot.writeFieldEnd() if self.sqlState is not None: - oprot.writeFieldBegin('sqlState', TType.STRING, 3) - oprot.writeString(self.sqlState.encode('utf-8') if sys.version_info[0] == 2 else self.sqlState) + oprot.writeFieldBegin("sqlState", TType.STRING, 3) + oprot.writeString( + self.sqlState.encode("utf-8") + if sys.version_info[0] == 2 + else self.sqlState + ) oprot.writeFieldEnd() if self.errorCode is not None: - oprot.writeFieldBegin('errorCode', TType.I32, 4) + oprot.writeFieldBegin("errorCode", TType.I32, 4) oprot.writeI32(self.errorCode) oprot.writeFieldEnd() if self.errorMessage is not None: - oprot.writeFieldBegin('errorMessage', TType.STRING, 5) - oprot.writeString(self.errorMessage.encode('utf-8') if sys.version_info[0] == 2 else self.errorMessage) + oprot.writeFieldBegin("errorMessage", TType.STRING, 5) + oprot.writeString( + self.errorMessage.encode("utf-8") + if sys.version_info[0] == 2 + else self.errorMessage + ) oprot.writeFieldEnd() if self.displayMessage is not None: - oprot.writeFieldBegin('displayMessage', TType.STRING, 6) - oprot.writeString(self.displayMessage.encode('utf-8') if sys.version_info[0] == 2 else self.displayMessage) + oprot.writeFieldBegin("displayMessage", TType.STRING, 6) + oprot.writeString( + self.displayMessage.encode("utf-8") + if sys.version_info[0] == 2 + else self.displayMessage + ) oprot.writeFieldEnd() if self.errorDetailsJson is not None: - oprot.writeFieldBegin('errorDetailsJson', TType.STRING, 1281) - oprot.writeString(self.errorDetailsJson.encode('utf-8') if sys.version_info[0] == 2 else self.errorDetailsJson) + oprot.writeFieldBegin("errorDetailsJson", TType.STRING, 1281) + oprot.writeString( + self.errorDetailsJson.encode("utf-8") + if sys.version_info[0] == 2 + else self.errorDetailsJson + ) oprot.writeFieldEnd() if self.responseValidation is not None: - oprot.writeFieldBegin('responseValidation', TType.STRING, 3329) + oprot.writeFieldBegin("responseValidation", TType.STRING, 3329) oprot.writeBinary(self.responseValidation) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -4404,13 +5101,12 @@ def write(self, oprot): def validate(self): if self.statusCode is None: - raise TProtocolException(message='Required field statusCode is unset!') + raise TProtocolException(message="Required field statusCode is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -4427,13 +5123,20 @@ class TNamespace(object): """ - - def __init__(self, catalogName=None, schemaName=None,): + def __init__( + self, + catalogName=None, + schemaName=None, + ): self.catalogName = catalogName self.schemaName = schemaName def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -4443,12 +5146,20 @@ def read(self, iprot): break if fid == 1: if ftype == TType.STRING: - self.catalogName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.catalogName = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 2: if ftype == TType.STRING: - self.schemaName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.schemaName = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) else: @@ -4458,16 +5169,26 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TNamespace') + oprot.writeStructBegin("TNamespace") if self.catalogName is not None: - oprot.writeFieldBegin('catalogName', TType.STRING, 1) - oprot.writeString(self.catalogName.encode('utf-8') if sys.version_info[0] == 2 else self.catalogName) + oprot.writeFieldBegin("catalogName", TType.STRING, 1) + oprot.writeString( + self.catalogName.encode("utf-8") + if sys.version_info[0] == 2 + else self.catalogName + ) oprot.writeFieldEnd() if self.schemaName is not None: - oprot.writeFieldBegin('schemaName', TType.STRING, 2) - oprot.writeString(self.schemaName.encode('utf-8') if sys.version_info[0] == 2 else self.schemaName) + oprot.writeFieldBegin("schemaName", TType.STRING, 2) + oprot.writeString( + self.schemaName.encode("utf-8") + if sys.version_info[0] == 2 + else self.schemaName + ) oprot.writeFieldEnd() oprot.writeFieldStop() oprot.writeStructEnd() @@ -4476,9 +5197,8 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -4496,14 +5216,22 @@ class THandleIdentifier(object): """ - - def __init__(self, guid=None, secret=None, executionVersion=None,): + def __init__( + self, + guid=None, + secret=None, + executionVersion=None, + ): self.guid = guid self.secret = secret self.executionVersion = executionVersion def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -4533,19 +5261,21 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('THandleIdentifier') + oprot.writeStructBegin("THandleIdentifier") if self.guid is not None: - oprot.writeFieldBegin('guid', TType.STRING, 1) + oprot.writeFieldBegin("guid", TType.STRING, 1) oprot.writeBinary(self.guid) oprot.writeFieldEnd() if self.secret is not None: - oprot.writeFieldBegin('secret', TType.STRING, 2) + oprot.writeFieldBegin("secret", TType.STRING, 2) oprot.writeBinary(self.secret) oprot.writeFieldEnd() if self.executionVersion is not None: - oprot.writeFieldBegin('executionVersion', TType.I16, 3329) + oprot.writeFieldBegin("executionVersion", TType.I16, 3329) oprot.writeI16(self.executionVersion) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -4553,15 +5283,14 @@ def write(self, oprot): def validate(self): if self.guid is None: - raise TProtocolException(message='Required field guid is unset!') + raise TProtocolException(message="Required field guid is unset!") if self.secret is None: - raise TProtocolException(message='Required field secret is unset!') + raise TProtocolException(message="Required field secret is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -4578,13 +5307,20 @@ class TSessionHandle(object): """ - - def __init__(self, sessionId=None, serverProtocolVersion=None,): + def __init__( + self, + sessionId=None, + serverProtocolVersion=None, + ): self.sessionId = sessionId self.serverProtocolVersion = serverProtocolVersion def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -4610,15 +5346,17 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TSessionHandle') + oprot.writeStructBegin("TSessionHandle") if self.sessionId is not None: - oprot.writeFieldBegin('sessionId', TType.STRUCT, 1) + oprot.writeFieldBegin("sessionId", TType.STRUCT, 1) self.sessionId.write(oprot) oprot.writeFieldEnd() if self.serverProtocolVersion is not None: - oprot.writeFieldBegin('serverProtocolVersion', TType.I32, 3329) + oprot.writeFieldBegin("serverProtocolVersion", TType.I32, 3329) oprot.writeI32(self.serverProtocolVersion) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -4626,13 +5364,12 @@ def write(self, oprot): def validate(self): if self.sessionId is None: - raise TProtocolException(message='Required field sessionId is unset!') + raise TProtocolException(message="Required field sessionId is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -4651,15 +5388,24 @@ class TOperationHandle(object): """ - - def __init__(self, operationId=None, operationType=None, hasResultSet=None, modifiedRowCount=None,): + def __init__( + self, + operationId=None, + operationType=None, + hasResultSet=None, + modifiedRowCount=None, + ): self.operationId = operationId self.operationType = operationType self.hasResultSet = hasResultSet self.modifiedRowCount = modifiedRowCount def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -4695,23 +5441,25 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TOperationHandle') + oprot.writeStructBegin("TOperationHandle") if self.operationId is not None: - oprot.writeFieldBegin('operationId', TType.STRUCT, 1) + oprot.writeFieldBegin("operationId", TType.STRUCT, 1) self.operationId.write(oprot) oprot.writeFieldEnd() if self.operationType is not None: - oprot.writeFieldBegin('operationType', TType.I32, 2) + oprot.writeFieldBegin("operationType", TType.I32, 2) oprot.writeI32(self.operationType) oprot.writeFieldEnd() if self.hasResultSet is not None: - oprot.writeFieldBegin('hasResultSet', TType.BOOL, 3) + oprot.writeFieldBegin("hasResultSet", TType.BOOL, 3) oprot.writeBool(self.hasResultSet) oprot.writeFieldEnd() if self.modifiedRowCount is not None: - oprot.writeFieldBegin('modifiedRowCount', TType.DOUBLE, 4) + oprot.writeFieldBegin("modifiedRowCount", TType.DOUBLE, 4) oprot.writeDouble(self.modifiedRowCount) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -4719,17 +5467,16 @@ def write(self, oprot): def validate(self): if self.operationId is None: - raise TProtocolException(message='Required field operationId is unset!') + raise TProtocolException(message="Required field operationId is unset!") if self.operationType is None: - raise TProtocolException(message='Required field operationType is unset!') + raise TProtocolException(message="Required field operationType is unset!") if self.hasResultSet is None: - raise TProtocolException(message='Required field hasResultSet is unset!') + raise TProtocolException(message="Required field hasResultSet is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -4754,8 +5501,19 @@ class TOpenSessionReq(object): """ - - def __init__(self, client_protocol= -7, username=None, password=None, configuration=None, getInfos=None, client_protocol_i64=None, connectionProperties=None, initialNamespace=None, canUseMultipleCatalogs=None, sessionId=None,): + def __init__( + self, + client_protocol=-7, + username=None, + password=None, + configuration=None, + getInfos=None, + client_protocol_i64=None, + connectionProperties=None, + initialNamespace=None, + canUseMultipleCatalogs=None, + sessionId=None, + ): self.client_protocol = client_protocol self.username = username self.password = password @@ -4768,7 +5526,11 @@ def __init__(self, client_protocol= -7, username=None, password=None, configu self.sessionId = sessionId def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -4783,12 +5545,20 @@ def read(self, iprot): iprot.skip(ftype) elif fid == 2: if ftype == TType.STRING: - self.username = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.username = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 3: if ftype == TType.STRING: - self.password = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.password = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 4: @@ -4796,8 +5566,16 @@ def read(self, iprot): self.configuration = {} (_ktype206, _vtype207, _size205) = iprot.readMapBegin() for _i209 in range(_size205): - _key210 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - _val211 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + _key210 = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) + _val211 = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) self.configuration[_key210] = _val211 iprot.readMapEnd() else: @@ -4822,8 +5600,16 @@ def read(self, iprot): self.connectionProperties = {} (_ktype219, _vtype220, _size218) = iprot.readMapBegin() for _i222 in range(_size218): - _key223 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - _val224 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + _key223 = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) + _val224 = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) self.connectionProperties[_key223] = _val224 iprot.readMapEnd() else: @@ -4852,58 +5638,78 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TOpenSessionReq') + oprot.writeStructBegin("TOpenSessionReq") if self.client_protocol is not None: - oprot.writeFieldBegin('client_protocol', TType.I32, 1) + oprot.writeFieldBegin("client_protocol", TType.I32, 1) oprot.writeI32(self.client_protocol) oprot.writeFieldEnd() if self.username is not None: - oprot.writeFieldBegin('username', TType.STRING, 2) - oprot.writeString(self.username.encode('utf-8') if sys.version_info[0] == 2 else self.username) + oprot.writeFieldBegin("username", TType.STRING, 2) + oprot.writeString( + self.username.encode("utf-8") + if sys.version_info[0] == 2 + else self.username + ) oprot.writeFieldEnd() if self.password is not None: - oprot.writeFieldBegin('password', TType.STRING, 3) - oprot.writeString(self.password.encode('utf-8') if sys.version_info[0] == 2 else self.password) + oprot.writeFieldBegin("password", TType.STRING, 3) + oprot.writeString( + self.password.encode("utf-8") + if sys.version_info[0] == 2 + else self.password + ) oprot.writeFieldEnd() if self.configuration is not None: - oprot.writeFieldBegin('configuration', TType.MAP, 4) + oprot.writeFieldBegin("configuration", TType.MAP, 4) oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.configuration)) for kiter225, viter226 in self.configuration.items(): - oprot.writeString(kiter225.encode('utf-8') if sys.version_info[0] == 2 else kiter225) - oprot.writeString(viter226.encode('utf-8') if sys.version_info[0] == 2 else viter226) + oprot.writeString( + kiter225.encode("utf-8") if sys.version_info[0] == 2 else kiter225 + ) + oprot.writeString( + viter226.encode("utf-8") if sys.version_info[0] == 2 else viter226 + ) oprot.writeMapEnd() oprot.writeFieldEnd() if self.getInfos is not None: - oprot.writeFieldBegin('getInfos', TType.LIST, 1281) + oprot.writeFieldBegin("getInfos", TType.LIST, 1281) oprot.writeListBegin(TType.I32, len(self.getInfos)) for iter227 in self.getInfos: oprot.writeI32(iter227) oprot.writeListEnd() oprot.writeFieldEnd() if self.client_protocol_i64 is not None: - oprot.writeFieldBegin('client_protocol_i64', TType.I64, 1282) + oprot.writeFieldBegin("client_protocol_i64", TType.I64, 1282) oprot.writeI64(self.client_protocol_i64) oprot.writeFieldEnd() if self.connectionProperties is not None: - oprot.writeFieldBegin('connectionProperties', TType.MAP, 1283) - oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.connectionProperties)) + oprot.writeFieldBegin("connectionProperties", TType.MAP, 1283) + oprot.writeMapBegin( + TType.STRING, TType.STRING, len(self.connectionProperties) + ) for kiter228, viter229 in self.connectionProperties.items(): - oprot.writeString(kiter228.encode('utf-8') if sys.version_info[0] == 2 else kiter228) - oprot.writeString(viter229.encode('utf-8') if sys.version_info[0] == 2 else viter229) + oprot.writeString( + kiter228.encode("utf-8") if sys.version_info[0] == 2 else kiter228 + ) + oprot.writeString( + viter229.encode("utf-8") if sys.version_info[0] == 2 else viter229 + ) oprot.writeMapEnd() oprot.writeFieldEnd() if self.initialNamespace is not None: - oprot.writeFieldBegin('initialNamespace', TType.STRUCT, 1284) + oprot.writeFieldBegin("initialNamespace", TType.STRUCT, 1284) self.initialNamespace.write(oprot) oprot.writeFieldEnd() if self.canUseMultipleCatalogs is not None: - oprot.writeFieldBegin('canUseMultipleCatalogs', TType.BOOL, 1285) + oprot.writeFieldBegin("canUseMultipleCatalogs", TType.BOOL, 1285) oprot.writeBool(self.canUseMultipleCatalogs) oprot.writeFieldEnd() if self.sessionId is not None: - oprot.writeFieldBegin('sessionId', TType.STRUCT, 3329) + oprot.writeFieldBegin("sessionId", TType.STRUCT, 3329) self.sessionId.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -4913,9 +5719,8 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -4937,8 +5742,16 @@ class TOpenSessionResp(object): """ - - def __init__(self, status=None, serverProtocolVersion=None, sessionHandle=None, configuration=None, initialNamespace=None, canUseMultipleCatalogs=None, getInfos=None,): + def __init__( + self, + status=None, + serverProtocolVersion=None, + sessionHandle=None, + configuration=None, + initialNamespace=None, + canUseMultipleCatalogs=None, + getInfos=None, + ): self.status = status self.serverProtocolVersion = serverProtocolVersion self.sessionHandle = sessionHandle @@ -4948,7 +5761,11 @@ def __init__(self, status=None, serverProtocolVersion=None, sessionHandle=None, self.getInfos = getInfos def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -4978,8 +5795,16 @@ def read(self, iprot): self.configuration = {} (_ktype231, _vtype232, _size230) = iprot.readMapBegin() for _i234 in range(_size230): - _key235 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - _val236 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + _key235 = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) + _val236 = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) self.configuration[_key235] = _val236 iprot.readMapEnd() else: @@ -5013,42 +5838,48 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TOpenSessionResp') + oprot.writeStructBegin("TOpenSessionResp") if self.status is not None: - oprot.writeFieldBegin('status', TType.STRUCT, 1) + oprot.writeFieldBegin("status", TType.STRUCT, 1) self.status.write(oprot) oprot.writeFieldEnd() if self.serverProtocolVersion is not None: - oprot.writeFieldBegin('serverProtocolVersion', TType.I32, 2) + oprot.writeFieldBegin("serverProtocolVersion", TType.I32, 2) oprot.writeI32(self.serverProtocolVersion) oprot.writeFieldEnd() if self.sessionHandle is not None: - oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 3) + oprot.writeFieldBegin("sessionHandle", TType.STRUCT, 3) self.sessionHandle.write(oprot) oprot.writeFieldEnd() if self.configuration is not None: - oprot.writeFieldBegin('configuration', TType.MAP, 4) + oprot.writeFieldBegin("configuration", TType.MAP, 4) oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.configuration)) for kiter243, viter244 in self.configuration.items(): - oprot.writeString(kiter243.encode('utf-8') if sys.version_info[0] == 2 else kiter243) - oprot.writeString(viter244.encode('utf-8') if sys.version_info[0] == 2 else viter244) + oprot.writeString( + kiter243.encode("utf-8") if sys.version_info[0] == 2 else kiter243 + ) + oprot.writeString( + viter244.encode("utf-8") if sys.version_info[0] == 2 else viter244 + ) oprot.writeMapEnd() oprot.writeFieldEnd() if self.getInfos is not None: - oprot.writeFieldBegin('getInfos', TType.LIST, 1281) + oprot.writeFieldBegin("getInfos", TType.LIST, 1281) oprot.writeListBegin(TType.STRUCT, len(self.getInfos)) for iter245 in self.getInfos: iter245.write(oprot) oprot.writeListEnd() oprot.writeFieldEnd() if self.initialNamespace is not None: - oprot.writeFieldBegin('initialNamespace', TType.STRUCT, 1284) + oprot.writeFieldBegin("initialNamespace", TType.STRUCT, 1284) self.initialNamespace.write(oprot) oprot.writeFieldEnd() if self.canUseMultipleCatalogs is not None: - oprot.writeFieldBegin('canUseMultipleCatalogs', TType.BOOL, 1285) + oprot.writeFieldBegin("canUseMultipleCatalogs", TType.BOOL, 1285) oprot.writeBool(self.canUseMultipleCatalogs) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -5056,15 +5887,16 @@ def write(self, oprot): def validate(self): if self.status is None: - raise TProtocolException(message='Required field status is unset!') + raise TProtocolException(message="Required field status is unset!") if self.serverProtocolVersion is None: - raise TProtocolException(message='Required field serverProtocolVersion is unset!') + raise TProtocolException( + message="Required field serverProtocolVersion is unset!" + ) return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -5080,12 +5912,18 @@ class TCloseSessionReq(object): """ - - def __init__(self, sessionHandle=None,): + def __init__( + self, + sessionHandle=None, + ): self.sessionHandle = sessionHandle def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -5106,11 +5944,13 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TCloseSessionReq') + oprot.writeStructBegin("TCloseSessionReq") if self.sessionHandle is not None: - oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 1) + oprot.writeFieldBegin("sessionHandle", TType.STRUCT, 1) self.sessionHandle.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -5118,13 +5958,12 @@ def write(self, oprot): def validate(self): if self.sessionHandle is None: - raise TProtocolException(message='Required field sessionHandle is unset!') + raise TProtocolException(message="Required field sessionHandle is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -5140,12 +5979,18 @@ class TCloseSessionResp(object): """ - - def __init__(self, status=None,): + def __init__( + self, + status=None, + ): self.status = status def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -5166,11 +6011,13 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TCloseSessionResp') + oprot.writeStructBegin("TCloseSessionResp") if self.status is not None: - oprot.writeFieldBegin('status', TType.STRUCT, 1) + oprot.writeFieldBegin("status", TType.STRUCT, 1) self.status.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -5178,13 +6025,12 @@ def write(self, oprot): def validate(self): if self.status is None: - raise TProtocolException(message='Required field status is unset!') + raise TProtocolException(message="Required field status is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -5205,8 +6051,15 @@ class TGetInfoValue(object): """ - - def __init__(self, stringValue=None, smallIntValue=None, integerBitmask=None, integerFlag=None, binaryValue=None, lenValue=None,): + def __init__( + self, + stringValue=None, + smallIntValue=None, + integerBitmask=None, + integerFlag=None, + binaryValue=None, + lenValue=None, + ): self.stringValue = stringValue self.smallIntValue = smallIntValue self.integerBitmask = integerBitmask @@ -5215,7 +6068,11 @@ def __init__(self, stringValue=None, smallIntValue=None, integerBitmask=None, in self.lenValue = lenValue def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -5225,7 +6082,11 @@ def read(self, iprot): break if fid == 1: if ftype == TType.STRING: - self.stringValue = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.stringValue = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 2: @@ -5260,31 +6121,37 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TGetInfoValue') + oprot.writeStructBegin("TGetInfoValue") if self.stringValue is not None: - oprot.writeFieldBegin('stringValue', TType.STRING, 1) - oprot.writeString(self.stringValue.encode('utf-8') if sys.version_info[0] == 2 else self.stringValue) + oprot.writeFieldBegin("stringValue", TType.STRING, 1) + oprot.writeString( + self.stringValue.encode("utf-8") + if sys.version_info[0] == 2 + else self.stringValue + ) oprot.writeFieldEnd() if self.smallIntValue is not None: - oprot.writeFieldBegin('smallIntValue', TType.I16, 2) + oprot.writeFieldBegin("smallIntValue", TType.I16, 2) oprot.writeI16(self.smallIntValue) oprot.writeFieldEnd() if self.integerBitmask is not None: - oprot.writeFieldBegin('integerBitmask', TType.I32, 3) + oprot.writeFieldBegin("integerBitmask", TType.I32, 3) oprot.writeI32(self.integerBitmask) oprot.writeFieldEnd() if self.integerFlag is not None: - oprot.writeFieldBegin('integerFlag', TType.I32, 4) + oprot.writeFieldBegin("integerFlag", TType.I32, 4) oprot.writeI32(self.integerFlag) oprot.writeFieldEnd() if self.binaryValue is not None: - oprot.writeFieldBegin('binaryValue', TType.I32, 5) + oprot.writeFieldBegin("binaryValue", TType.I32, 5) oprot.writeI32(self.binaryValue) oprot.writeFieldEnd() if self.lenValue is not None: - oprot.writeFieldBegin('lenValue', TType.I64, 6) + oprot.writeFieldBegin("lenValue", TType.I64, 6) oprot.writeI64(self.lenValue) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -5294,9 +6161,8 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -5314,14 +6180,22 @@ class TGetInfoReq(object): """ - - def __init__(self, sessionHandle=None, infoType=None, sessionConf=None,): + def __init__( + self, + sessionHandle=None, + infoType=None, + sessionConf=None, + ): self.sessionHandle = sessionHandle self.infoType = infoType self.sessionConf = sessionConf def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -5353,19 +6227,21 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TGetInfoReq') + oprot.writeStructBegin("TGetInfoReq") if self.sessionHandle is not None: - oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 1) + oprot.writeFieldBegin("sessionHandle", TType.STRUCT, 1) self.sessionHandle.write(oprot) oprot.writeFieldEnd() if self.infoType is not None: - oprot.writeFieldBegin('infoType', TType.I32, 2) + oprot.writeFieldBegin("infoType", TType.I32, 2) oprot.writeI32(self.infoType) oprot.writeFieldEnd() if self.sessionConf is not None: - oprot.writeFieldBegin('sessionConf', TType.STRUCT, 3329) + oprot.writeFieldBegin("sessionConf", TType.STRUCT, 3329) self.sessionConf.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -5373,15 +6249,14 @@ def write(self, oprot): def validate(self): if self.sessionHandle is None: - raise TProtocolException(message='Required field sessionHandle is unset!') + raise TProtocolException(message="Required field sessionHandle is unset!") if self.infoType is None: - raise TProtocolException(message='Required field infoType is unset!') + raise TProtocolException(message="Required field infoType is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -5398,13 +6273,20 @@ class TGetInfoResp(object): """ - - def __init__(self, status=None, infoValue=None,): + def __init__( + self, + status=None, + infoValue=None, + ): self.status = status self.infoValue = infoValue def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -5431,15 +6313,17 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TGetInfoResp') + oprot.writeStructBegin("TGetInfoResp") if self.status is not None: - oprot.writeFieldBegin('status', TType.STRUCT, 1) + oprot.writeFieldBegin("status", TType.STRUCT, 1) self.status.write(oprot) oprot.writeFieldEnd() if self.infoValue is not None: - oprot.writeFieldBegin('infoValue', TType.STRUCT, 2) + oprot.writeFieldBegin("infoValue", TType.STRUCT, 2) self.infoValue.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -5447,15 +6331,14 @@ def write(self, oprot): def validate(self): if self.status is None: - raise TProtocolException(message='Required field status is unset!') + raise TProtocolException(message="Required field status is unset!") if self.infoValue is None: - raise TProtocolException(message='Required field infoValue is unset!') + raise TProtocolException(message="Required field infoValue is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -5472,13 +6355,20 @@ class TSparkGetDirectResults(object): """ - - def __init__(self, maxRows=None, maxBytes=None,): + def __init__( + self, + maxRows=None, + maxBytes=None, + ): self.maxRows = maxRows self.maxBytes = maxBytes def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -5503,15 +6393,17 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TSparkGetDirectResults') + oprot.writeStructBegin("TSparkGetDirectResults") if self.maxRows is not None: - oprot.writeFieldBegin('maxRows', TType.I64, 1) + oprot.writeFieldBegin("maxRows", TType.I64, 1) oprot.writeI64(self.maxRows) oprot.writeFieldEnd() if self.maxBytes is not None: - oprot.writeFieldBegin('maxBytes', TType.I64, 2) + oprot.writeFieldBegin("maxBytes", TType.I64, 2) oprot.writeI64(self.maxBytes) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -5519,13 +6411,12 @@ def write(self, oprot): def validate(self): if self.maxRows is None: - raise TProtocolException(message='Required field maxRows is unset!') + raise TProtocolException(message="Required field maxRows is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -5544,15 +6435,24 @@ class TSparkDirectResults(object): """ - - def __init__(self, operationStatus=None, resultSetMetadata=None, resultSet=None, closeOperation=None,): + def __init__( + self, + operationStatus=None, + resultSetMetadata=None, + resultSet=None, + closeOperation=None, + ): self.operationStatus = operationStatus self.resultSetMetadata = resultSetMetadata self.resultSet = resultSet self.closeOperation = closeOperation def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -5591,23 +6491,25 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TSparkDirectResults') + oprot.writeStructBegin("TSparkDirectResults") if self.operationStatus is not None: - oprot.writeFieldBegin('operationStatus', TType.STRUCT, 1) + oprot.writeFieldBegin("operationStatus", TType.STRUCT, 1) self.operationStatus.write(oprot) oprot.writeFieldEnd() if self.resultSetMetadata is not None: - oprot.writeFieldBegin('resultSetMetadata', TType.STRUCT, 2) + oprot.writeFieldBegin("resultSetMetadata", TType.STRUCT, 2) self.resultSetMetadata.write(oprot) oprot.writeFieldEnd() if self.resultSet is not None: - oprot.writeFieldBegin('resultSet', TType.STRUCT, 3) + oprot.writeFieldBegin("resultSet", TType.STRUCT, 3) self.resultSet.write(oprot) oprot.writeFieldEnd() if self.closeOperation is not None: - oprot.writeFieldBegin('closeOperation', TType.STRUCT, 4) + oprot.writeFieldBegin("closeOperation", TType.STRUCT, 4) self.closeOperation.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -5617,9 +6519,8 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -5639,8 +6540,14 @@ class TSparkArrowTypes(object): """ - - def __init__(self, timestampAsArrow=None, decimalAsArrow=None, complexTypesAsArrow=None, intervalTypesAsArrow=None, nullTypeAsArrow=None,): + def __init__( + self, + timestampAsArrow=None, + decimalAsArrow=None, + complexTypesAsArrow=None, + intervalTypesAsArrow=None, + nullTypeAsArrow=None, + ): self.timestampAsArrow = timestampAsArrow self.decimalAsArrow = decimalAsArrow self.complexTypesAsArrow = complexTypesAsArrow @@ -5648,7 +6555,11 @@ def __init__(self, timestampAsArrow=None, decimalAsArrow=None, complexTypesAsArr self.nullTypeAsArrow = nullTypeAsArrow def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -5688,27 +6599,29 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TSparkArrowTypes') + oprot.writeStructBegin("TSparkArrowTypes") if self.timestampAsArrow is not None: - oprot.writeFieldBegin('timestampAsArrow', TType.BOOL, 1) + oprot.writeFieldBegin("timestampAsArrow", TType.BOOL, 1) oprot.writeBool(self.timestampAsArrow) oprot.writeFieldEnd() if self.decimalAsArrow is not None: - oprot.writeFieldBegin('decimalAsArrow', TType.BOOL, 2) + oprot.writeFieldBegin("decimalAsArrow", TType.BOOL, 2) oprot.writeBool(self.decimalAsArrow) oprot.writeFieldEnd() if self.complexTypesAsArrow is not None: - oprot.writeFieldBegin('complexTypesAsArrow', TType.BOOL, 3) + oprot.writeFieldBegin("complexTypesAsArrow", TType.BOOL, 3) oprot.writeBool(self.complexTypesAsArrow) oprot.writeFieldEnd() if self.intervalTypesAsArrow is not None: - oprot.writeFieldBegin('intervalTypesAsArrow', TType.BOOL, 4) + oprot.writeFieldBegin("intervalTypesAsArrow", TType.BOOL, 4) oprot.writeBool(self.intervalTypesAsArrow) oprot.writeFieldEnd() if self.nullTypeAsArrow is not None: - oprot.writeFieldBegin('nullTypeAsArrow', TType.BOOL, 5) + oprot.writeFieldBegin("nullTypeAsArrow", TType.BOOL, 5) oprot.writeBool(self.nullTypeAsArrow) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -5718,9 +6631,8 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -5771,8 +6683,45 @@ class TExecuteStatementReq(object): """ - - def __init__(self, sessionHandle=None, statement=None, confOverlay=None, runAsync=False, getDirectResults=None, queryTimeout=0, canReadArrowResult=None, canDownloadResult=None, canDecompressLZ4Result=None, maxBytesPerFile=None, useArrowNativeTypes=None, resultRowLimit=None, parameters=None, maxBytesPerBatch=None, statementConf=None, operationId=None, sessionConf=None, rejectHighCostQueries=None, estimatedCost=None, executionVersion=None, requestValidation=None, resultPersistenceMode=None, trimArrowBatchesToLimit=None, fetchDisposition=None, enforceResultPersistenceMode=None, statementList=None, persistResultManifest=None, resultRetentionSeconds=None, resultByteLimit=None, resultDataFormat=None, originatingClientIdentity=None, preferSingleFileResult=None, preferDriverOnlyUpload=None, enforceEmbeddedSchemaCorrectness=False, idempotencyToken=None, throwErrorOnByteLimitTruncation=None,): + def __init__( + self, + sessionHandle=None, + statement=None, + confOverlay=None, + runAsync=False, + getDirectResults=None, + queryTimeout=0, + canReadArrowResult=None, + canDownloadResult=None, + canDecompressLZ4Result=None, + maxBytesPerFile=None, + useArrowNativeTypes=None, + resultRowLimit=None, + parameters=None, + maxBytesPerBatch=None, + statementConf=None, + operationId=None, + sessionConf=None, + rejectHighCostQueries=None, + estimatedCost=None, + executionVersion=None, + requestValidation=None, + resultPersistenceMode=None, + trimArrowBatchesToLimit=None, + fetchDisposition=None, + enforceResultPersistenceMode=None, + statementList=None, + persistResultManifest=None, + resultRetentionSeconds=None, + resultByteLimit=None, + resultDataFormat=None, + originatingClientIdentity=None, + preferSingleFileResult=None, + preferDriverOnlyUpload=None, + enforceEmbeddedSchemaCorrectness=False, + idempotencyToken=None, + throwErrorOnByteLimitTruncation=None, + ): self.sessionHandle = sessionHandle self.statement = statement self.confOverlay = confOverlay @@ -5811,7 +6760,11 @@ def __init__(self, sessionHandle=None, statement=None, confOverlay=None, runAsyn self.throwErrorOnByteLimitTruncation = throwErrorOnByteLimitTruncation def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -5827,7 +6780,11 @@ def read(self, iprot): iprot.skip(ftype) elif fid == 2: if ftype == TType.STRING: - self.statement = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.statement = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 3: @@ -5835,8 +6792,16 @@ def read(self, iprot): self.confOverlay = {} (_ktype247, _vtype248, _size246) = iprot.readMapBegin() for _i250 in range(_size246): - _key251 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - _val252 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + _key251 = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) + _val252 = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) self.confOverlay[_key251] = _val252 iprot.readMapEnd() else: @@ -5996,7 +6961,11 @@ def read(self, iprot): iprot.skip(ftype) elif fid == 3350: if ftype == TType.STRING: - self.originatingClientIdentity = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.originatingClientIdentity = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 3351: @@ -6016,7 +6985,11 @@ def read(self, iprot): iprot.skip(ftype) elif fid == 3360: if ftype == TType.STRING: - self.idempotencyToken = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.idempotencyToken = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 3361: @@ -6031,161 +7004,179 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TExecuteStatementReq') + oprot.writeStructBegin("TExecuteStatementReq") if self.sessionHandle is not None: - oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 1) + oprot.writeFieldBegin("sessionHandle", TType.STRUCT, 1) self.sessionHandle.write(oprot) oprot.writeFieldEnd() if self.statement is not None: - oprot.writeFieldBegin('statement', TType.STRING, 2) - oprot.writeString(self.statement.encode('utf-8') if sys.version_info[0] == 2 else self.statement) + oprot.writeFieldBegin("statement", TType.STRING, 2) + oprot.writeString( + self.statement.encode("utf-8") + if sys.version_info[0] == 2 + else self.statement + ) oprot.writeFieldEnd() if self.confOverlay is not None: - oprot.writeFieldBegin('confOverlay', TType.MAP, 3) + oprot.writeFieldBegin("confOverlay", TType.MAP, 3) oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.confOverlay)) for kiter265, viter266 in self.confOverlay.items(): - oprot.writeString(kiter265.encode('utf-8') if sys.version_info[0] == 2 else kiter265) - oprot.writeString(viter266.encode('utf-8') if sys.version_info[0] == 2 else viter266) + oprot.writeString( + kiter265.encode("utf-8") if sys.version_info[0] == 2 else kiter265 + ) + oprot.writeString( + viter266.encode("utf-8") if sys.version_info[0] == 2 else viter266 + ) oprot.writeMapEnd() oprot.writeFieldEnd() if self.runAsync is not None: - oprot.writeFieldBegin('runAsync', TType.BOOL, 4) + oprot.writeFieldBegin("runAsync", TType.BOOL, 4) oprot.writeBool(self.runAsync) oprot.writeFieldEnd() if self.queryTimeout is not None: - oprot.writeFieldBegin('queryTimeout', TType.I64, 5) + oprot.writeFieldBegin("queryTimeout", TType.I64, 5) oprot.writeI64(self.queryTimeout) oprot.writeFieldEnd() if self.getDirectResults is not None: - oprot.writeFieldBegin('getDirectResults', TType.STRUCT, 1281) + oprot.writeFieldBegin("getDirectResults", TType.STRUCT, 1281) self.getDirectResults.write(oprot) oprot.writeFieldEnd() if self.canReadArrowResult is not None: - oprot.writeFieldBegin('canReadArrowResult', TType.BOOL, 1282) + oprot.writeFieldBegin("canReadArrowResult", TType.BOOL, 1282) oprot.writeBool(self.canReadArrowResult) oprot.writeFieldEnd() if self.canDownloadResult is not None: - oprot.writeFieldBegin('canDownloadResult', TType.BOOL, 1283) + oprot.writeFieldBegin("canDownloadResult", TType.BOOL, 1283) oprot.writeBool(self.canDownloadResult) oprot.writeFieldEnd() if self.canDecompressLZ4Result is not None: - oprot.writeFieldBegin('canDecompressLZ4Result', TType.BOOL, 1284) + oprot.writeFieldBegin("canDecompressLZ4Result", TType.BOOL, 1284) oprot.writeBool(self.canDecompressLZ4Result) oprot.writeFieldEnd() if self.maxBytesPerFile is not None: - oprot.writeFieldBegin('maxBytesPerFile', TType.I64, 1285) + oprot.writeFieldBegin("maxBytesPerFile", TType.I64, 1285) oprot.writeI64(self.maxBytesPerFile) oprot.writeFieldEnd() if self.useArrowNativeTypes is not None: - oprot.writeFieldBegin('useArrowNativeTypes', TType.STRUCT, 1286) + oprot.writeFieldBegin("useArrowNativeTypes", TType.STRUCT, 1286) self.useArrowNativeTypes.write(oprot) oprot.writeFieldEnd() if self.resultRowLimit is not None: - oprot.writeFieldBegin('resultRowLimit', TType.I64, 1287) + oprot.writeFieldBegin("resultRowLimit", TType.I64, 1287) oprot.writeI64(self.resultRowLimit) oprot.writeFieldEnd() if self.parameters is not None: - oprot.writeFieldBegin('parameters', TType.LIST, 1288) + oprot.writeFieldBegin("parameters", TType.LIST, 1288) oprot.writeListBegin(TType.STRUCT, len(self.parameters)) for iter267 in self.parameters: iter267.write(oprot) oprot.writeListEnd() oprot.writeFieldEnd() if self.maxBytesPerBatch is not None: - oprot.writeFieldBegin('maxBytesPerBatch', TType.I64, 1289) + oprot.writeFieldBegin("maxBytesPerBatch", TType.I64, 1289) oprot.writeI64(self.maxBytesPerBatch) oprot.writeFieldEnd() if self.statementConf is not None: - oprot.writeFieldBegin('statementConf', TType.STRUCT, 1296) + oprot.writeFieldBegin("statementConf", TType.STRUCT, 1296) self.statementConf.write(oprot) oprot.writeFieldEnd() if self.operationId is not None: - oprot.writeFieldBegin('operationId', TType.STRUCT, 3329) + oprot.writeFieldBegin("operationId", TType.STRUCT, 3329) self.operationId.write(oprot) oprot.writeFieldEnd() if self.sessionConf is not None: - oprot.writeFieldBegin('sessionConf', TType.STRUCT, 3330) + oprot.writeFieldBegin("sessionConf", TType.STRUCT, 3330) self.sessionConf.write(oprot) oprot.writeFieldEnd() if self.rejectHighCostQueries is not None: - oprot.writeFieldBegin('rejectHighCostQueries', TType.BOOL, 3331) + oprot.writeFieldBegin("rejectHighCostQueries", TType.BOOL, 3331) oprot.writeBool(self.rejectHighCostQueries) oprot.writeFieldEnd() if self.estimatedCost is not None: - oprot.writeFieldBegin('estimatedCost', TType.DOUBLE, 3332) + oprot.writeFieldBegin("estimatedCost", TType.DOUBLE, 3332) oprot.writeDouble(self.estimatedCost) oprot.writeFieldEnd() if self.executionVersion is not None: - oprot.writeFieldBegin('executionVersion', TType.I16, 3333) + oprot.writeFieldBegin("executionVersion", TType.I16, 3333) oprot.writeI16(self.executionVersion) oprot.writeFieldEnd() if self.requestValidation is not None: - oprot.writeFieldBegin('requestValidation', TType.STRING, 3334) + oprot.writeFieldBegin("requestValidation", TType.STRING, 3334) oprot.writeBinary(self.requestValidation) oprot.writeFieldEnd() if self.resultPersistenceMode is not None: - oprot.writeFieldBegin('resultPersistenceMode', TType.I32, 3335) + oprot.writeFieldBegin("resultPersistenceMode", TType.I32, 3335) oprot.writeI32(self.resultPersistenceMode) oprot.writeFieldEnd() if self.trimArrowBatchesToLimit is not None: - oprot.writeFieldBegin('trimArrowBatchesToLimit', TType.BOOL, 3336) + oprot.writeFieldBegin("trimArrowBatchesToLimit", TType.BOOL, 3336) oprot.writeBool(self.trimArrowBatchesToLimit) oprot.writeFieldEnd() if self.fetchDisposition is not None: - oprot.writeFieldBegin('fetchDisposition', TType.I32, 3337) + oprot.writeFieldBegin("fetchDisposition", TType.I32, 3337) oprot.writeI32(self.fetchDisposition) oprot.writeFieldEnd() if self.enforceResultPersistenceMode is not None: - oprot.writeFieldBegin('enforceResultPersistenceMode', TType.BOOL, 3344) + oprot.writeFieldBegin("enforceResultPersistenceMode", TType.BOOL, 3344) oprot.writeBool(self.enforceResultPersistenceMode) oprot.writeFieldEnd() if self.statementList is not None: - oprot.writeFieldBegin('statementList', TType.LIST, 3345) + oprot.writeFieldBegin("statementList", TType.LIST, 3345) oprot.writeListBegin(TType.STRUCT, len(self.statementList)) for iter268 in self.statementList: iter268.write(oprot) oprot.writeListEnd() oprot.writeFieldEnd() if self.persistResultManifest is not None: - oprot.writeFieldBegin('persistResultManifest', TType.BOOL, 3346) + oprot.writeFieldBegin("persistResultManifest", TType.BOOL, 3346) oprot.writeBool(self.persistResultManifest) oprot.writeFieldEnd() if self.resultRetentionSeconds is not None: - oprot.writeFieldBegin('resultRetentionSeconds', TType.I64, 3347) + oprot.writeFieldBegin("resultRetentionSeconds", TType.I64, 3347) oprot.writeI64(self.resultRetentionSeconds) oprot.writeFieldEnd() if self.resultByteLimit is not None: - oprot.writeFieldBegin('resultByteLimit', TType.I64, 3348) + oprot.writeFieldBegin("resultByteLimit", TType.I64, 3348) oprot.writeI64(self.resultByteLimit) oprot.writeFieldEnd() if self.resultDataFormat is not None: - oprot.writeFieldBegin('resultDataFormat', TType.STRUCT, 3349) + oprot.writeFieldBegin("resultDataFormat", TType.STRUCT, 3349) self.resultDataFormat.write(oprot) oprot.writeFieldEnd() if self.originatingClientIdentity is not None: - oprot.writeFieldBegin('originatingClientIdentity', TType.STRING, 3350) - oprot.writeString(self.originatingClientIdentity.encode('utf-8') if sys.version_info[0] == 2 else self.originatingClientIdentity) + oprot.writeFieldBegin("originatingClientIdentity", TType.STRING, 3350) + oprot.writeString( + self.originatingClientIdentity.encode("utf-8") + if sys.version_info[0] == 2 + else self.originatingClientIdentity + ) oprot.writeFieldEnd() if self.preferSingleFileResult is not None: - oprot.writeFieldBegin('preferSingleFileResult', TType.BOOL, 3351) + oprot.writeFieldBegin("preferSingleFileResult", TType.BOOL, 3351) oprot.writeBool(self.preferSingleFileResult) oprot.writeFieldEnd() if self.preferDriverOnlyUpload is not None: - oprot.writeFieldBegin('preferDriverOnlyUpload', TType.BOOL, 3352) + oprot.writeFieldBegin("preferDriverOnlyUpload", TType.BOOL, 3352) oprot.writeBool(self.preferDriverOnlyUpload) oprot.writeFieldEnd() if self.enforceEmbeddedSchemaCorrectness is not None: - oprot.writeFieldBegin('enforceEmbeddedSchemaCorrectness', TType.BOOL, 3353) + oprot.writeFieldBegin("enforceEmbeddedSchemaCorrectness", TType.BOOL, 3353) oprot.writeBool(self.enforceEmbeddedSchemaCorrectness) oprot.writeFieldEnd() if self.idempotencyToken is not None: - oprot.writeFieldBegin('idempotencyToken', TType.STRING, 3360) - oprot.writeString(self.idempotencyToken.encode('utf-8') if sys.version_info[0] == 2 else self.idempotencyToken) + oprot.writeFieldBegin("idempotencyToken", TType.STRING, 3360) + oprot.writeString( + self.idempotencyToken.encode("utf-8") + if sys.version_info[0] == 2 + else self.idempotencyToken + ) oprot.writeFieldEnd() if self.throwErrorOnByteLimitTruncation is not None: - oprot.writeFieldBegin('throwErrorOnByteLimitTruncation', TType.BOOL, 3361) + oprot.writeFieldBegin("throwErrorOnByteLimitTruncation", TType.BOOL, 3361) oprot.writeBool(self.throwErrorOnByteLimitTruncation) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -6193,15 +7184,14 @@ def write(self, oprot): def validate(self): if self.sessionHandle is None: - raise TProtocolException(message='Required field sessionHandle is unset!') + raise TProtocolException(message="Required field sessionHandle is unset!") if self.statement is None: - raise TProtocolException(message='Required field statement is unset!') + raise TProtocolException(message="Required field statement is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -6217,12 +7207,18 @@ class TDBSqlStatement(object): """ - - def __init__(self, statement=None,): + def __init__( + self, + statement=None, + ): self.statement = statement def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -6232,7 +7228,11 @@ def read(self, iprot): break if fid == 1: if ftype == TType.STRING: - self.statement = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.statement = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) else: @@ -6242,12 +7242,18 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TDBSqlStatement') + oprot.writeStructBegin("TDBSqlStatement") if self.statement is not None: - oprot.writeFieldBegin('statement', TType.STRING, 1) - oprot.writeString(self.statement.encode('utf-8') if sys.version_info[0] == 2 else self.statement) + oprot.writeFieldBegin("statement", TType.STRING, 1) + oprot.writeString( + self.statement.encode("utf-8") + if sys.version_info[0] == 2 + else self.statement + ) oprot.writeFieldEnd() oprot.writeFieldStop() oprot.writeStructEnd() @@ -6256,9 +7262,8 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -6276,14 +7281,22 @@ class TSparkParameterValue(object): """ - - def __init__(self, stringValue=None, doubleValue=None, booleanValue=None,): + def __init__( + self, + stringValue=None, + doubleValue=None, + booleanValue=None, + ): self.stringValue = stringValue self.doubleValue = doubleValue self.booleanValue = booleanValue def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -6293,7 +7306,11 @@ def read(self, iprot): break if fid == 1: if ftype == TType.STRING: - self.stringValue = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.stringValue = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 2: @@ -6313,19 +7330,25 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TSparkParameterValue') + oprot.writeStructBegin("TSparkParameterValue") if self.stringValue is not None: - oprot.writeFieldBegin('stringValue', TType.STRING, 1) - oprot.writeString(self.stringValue.encode('utf-8') if sys.version_info[0] == 2 else self.stringValue) + oprot.writeFieldBegin("stringValue", TType.STRING, 1) + oprot.writeString( + self.stringValue.encode("utf-8") + if sys.version_info[0] == 2 + else self.stringValue + ) oprot.writeFieldEnd() if self.doubleValue is not None: - oprot.writeFieldBegin('doubleValue', TType.DOUBLE, 2) + oprot.writeFieldBegin("doubleValue", TType.DOUBLE, 2) oprot.writeDouble(self.doubleValue) oprot.writeFieldEnd() if self.booleanValue is not None: - oprot.writeFieldBegin('booleanValue', TType.BOOL, 3) + oprot.writeFieldBegin("booleanValue", TType.BOOL, 3) oprot.writeBool(self.booleanValue) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -6335,9 +7358,8 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -6356,15 +7378,24 @@ class TSparkParameter(object): """ - - def __init__(self, ordinal=None, name=None, type=None, value=None,): + def __init__( + self, + ordinal=None, + name=None, + type=None, + value=None, + ): self.ordinal = ordinal self.name = name self.type = type self.value = value def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -6379,12 +7410,20 @@ def read(self, iprot): iprot.skip(ftype) elif fid == 2: if ftype == TType.STRING: - self.name = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.name = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 3: if ftype == TType.STRING: - self.type = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.type = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 4: @@ -6400,23 +7439,29 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TSparkParameter') + oprot.writeStructBegin("TSparkParameter") if self.ordinal is not None: - oprot.writeFieldBegin('ordinal', TType.I32, 1) + oprot.writeFieldBegin("ordinal", TType.I32, 1) oprot.writeI32(self.ordinal) oprot.writeFieldEnd() if self.name is not None: - oprot.writeFieldBegin('name', TType.STRING, 2) - oprot.writeString(self.name.encode('utf-8') if sys.version_info[0] == 2 else self.name) + oprot.writeFieldBegin("name", TType.STRING, 2) + oprot.writeString( + self.name.encode("utf-8") if sys.version_info[0] == 2 else self.name + ) oprot.writeFieldEnd() if self.type is not None: - oprot.writeFieldBegin('type', TType.STRING, 3) - oprot.writeString(self.type.encode('utf-8') if sys.version_info[0] == 2 else self.type) + oprot.writeFieldBegin("type", TType.STRING, 3) + oprot.writeString( + self.type.encode("utf-8") if sys.version_info[0] == 2 else self.type + ) oprot.writeFieldEnd() if self.value is not None: - oprot.writeFieldBegin('value', TType.STRUCT, 4) + oprot.writeFieldBegin("value", TType.STRUCT, 4) self.value.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -6426,9 +7471,8 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -6447,15 +7491,24 @@ class TStatementConf(object): """ - - def __init__(self, sessionless=None, initialNamespace=None, client_protocol=None, client_protocol_i64=None,): + def __init__( + self, + sessionless=None, + initialNamespace=None, + client_protocol=None, + client_protocol_i64=None, + ): self.sessionless = sessionless self.initialNamespace = initialNamespace self.client_protocol = client_protocol self.client_protocol_i64 = client_protocol_i64 def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -6491,23 +7544,25 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TStatementConf') + oprot.writeStructBegin("TStatementConf") if self.sessionless is not None: - oprot.writeFieldBegin('sessionless', TType.BOOL, 1) + oprot.writeFieldBegin("sessionless", TType.BOOL, 1) oprot.writeBool(self.sessionless) oprot.writeFieldEnd() if self.initialNamespace is not None: - oprot.writeFieldBegin('initialNamespace', TType.STRUCT, 2) + oprot.writeFieldBegin("initialNamespace", TType.STRUCT, 2) self.initialNamespace.write(oprot) oprot.writeFieldEnd() if self.client_protocol is not None: - oprot.writeFieldBegin('client_protocol', TType.I32, 3) + oprot.writeFieldBegin("client_protocol", TType.I32, 3) oprot.writeI32(self.client_protocol) oprot.writeFieldEnd() if self.client_protocol_i64 is not None: - oprot.writeFieldBegin('client_protocol_i64', TType.I64, 4) + oprot.writeFieldBegin("client_protocol_i64", TType.I64, 4) oprot.writeI64(self.client_protocol_i64) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -6517,9 +7572,8 @@ def validate(self): return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -6546,8 +7600,21 @@ class TExecuteStatementResp(object): """ - - def __init__(self, status=None, operationHandle=None, directResults=None, executionRejected=None, maxClusterCapacity=None, queryCost=None, sessionConf=None, currentClusterLoad=None, idempotencyType=None, remoteResultCacheEnabled=None, isServerless=None, operationHandles=None,): + def __init__( + self, + status=None, + operationHandle=None, + directResults=None, + executionRejected=None, + maxClusterCapacity=None, + queryCost=None, + sessionConf=None, + currentClusterLoad=None, + idempotencyType=None, + remoteResultCacheEnabled=None, + isServerless=None, + operationHandles=None, + ): self.status = status self.operationHandle = operationHandle self.directResults = directResults @@ -6562,7 +7629,11 @@ def __init__(self, status=None, operationHandle=None, directResults=None, execut self.operationHandles = operationHandles def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -6647,55 +7718,57 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TExecuteStatementResp') + oprot.writeStructBegin("TExecuteStatementResp") if self.status is not None: - oprot.writeFieldBegin('status', TType.STRUCT, 1) + oprot.writeFieldBegin("status", TType.STRUCT, 1) self.status.write(oprot) oprot.writeFieldEnd() if self.operationHandle is not None: - oprot.writeFieldBegin('operationHandle', TType.STRUCT, 2) + oprot.writeFieldBegin("operationHandle", TType.STRUCT, 2) self.operationHandle.write(oprot) oprot.writeFieldEnd() if self.directResults is not None: - oprot.writeFieldBegin('directResults', TType.STRUCT, 1281) + oprot.writeFieldBegin("directResults", TType.STRUCT, 1281) self.directResults.write(oprot) oprot.writeFieldEnd() if self.executionRejected is not None: - oprot.writeFieldBegin('executionRejected', TType.BOOL, 3329) + oprot.writeFieldBegin("executionRejected", TType.BOOL, 3329) oprot.writeBool(self.executionRejected) oprot.writeFieldEnd() if self.maxClusterCapacity is not None: - oprot.writeFieldBegin('maxClusterCapacity', TType.DOUBLE, 3330) + oprot.writeFieldBegin("maxClusterCapacity", TType.DOUBLE, 3330) oprot.writeDouble(self.maxClusterCapacity) oprot.writeFieldEnd() if self.queryCost is not None: - oprot.writeFieldBegin('queryCost', TType.DOUBLE, 3331) + oprot.writeFieldBegin("queryCost", TType.DOUBLE, 3331) oprot.writeDouble(self.queryCost) oprot.writeFieldEnd() if self.sessionConf is not None: - oprot.writeFieldBegin('sessionConf', TType.STRUCT, 3332) + oprot.writeFieldBegin("sessionConf", TType.STRUCT, 3332) self.sessionConf.write(oprot) oprot.writeFieldEnd() if self.currentClusterLoad is not None: - oprot.writeFieldBegin('currentClusterLoad', TType.DOUBLE, 3333) + oprot.writeFieldBegin("currentClusterLoad", TType.DOUBLE, 3333) oprot.writeDouble(self.currentClusterLoad) oprot.writeFieldEnd() if self.idempotencyType is not None: - oprot.writeFieldBegin('idempotencyType', TType.I32, 3334) + oprot.writeFieldBegin("idempotencyType", TType.I32, 3334) oprot.writeI32(self.idempotencyType) oprot.writeFieldEnd() if self.remoteResultCacheEnabled is not None: - oprot.writeFieldBegin('remoteResultCacheEnabled', TType.BOOL, 3335) + oprot.writeFieldBegin("remoteResultCacheEnabled", TType.BOOL, 3335) oprot.writeBool(self.remoteResultCacheEnabled) oprot.writeFieldEnd() if self.isServerless is not None: - oprot.writeFieldBegin('isServerless', TType.BOOL, 3336) + oprot.writeFieldBegin("isServerless", TType.BOOL, 3336) oprot.writeBool(self.isServerless) oprot.writeFieldEnd() if self.operationHandles is not None: - oprot.writeFieldBegin('operationHandles', TType.LIST, 3337) + oprot.writeFieldBegin("operationHandles", TType.LIST, 3337) oprot.writeListBegin(TType.STRUCT, len(self.operationHandles)) for iter275 in self.operationHandles: iter275.write(oprot) @@ -6706,13 +7779,12 @@ def write(self, oprot): def validate(self): if self.status is None: - raise TProtocolException(message='Required field status is unset!') + raise TProtocolException(message="Required field status is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -6732,8 +7804,14 @@ class TGetTypeInfoReq(object): """ - - def __init__(self, sessionHandle=None, getDirectResults=None, runAsync=False, operationId=None, sessionConf=None,): + def __init__( + self, + sessionHandle=None, + getDirectResults=None, + runAsync=False, + operationId=None, + sessionConf=None, + ): self.sessionHandle = sessionHandle self.getDirectResults = getDirectResults self.runAsync = runAsync @@ -6741,7 +7819,11 @@ def __init__(self, sessionHandle=None, getDirectResults=None, runAsync=False, op self.sessionConf = sessionConf def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -6785,27 +7867,29 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TGetTypeInfoReq') + oprot.writeStructBegin("TGetTypeInfoReq") if self.sessionHandle is not None: - oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 1) + oprot.writeFieldBegin("sessionHandle", TType.STRUCT, 1) self.sessionHandle.write(oprot) oprot.writeFieldEnd() if self.getDirectResults is not None: - oprot.writeFieldBegin('getDirectResults', TType.STRUCT, 1281) + oprot.writeFieldBegin("getDirectResults", TType.STRUCT, 1281) self.getDirectResults.write(oprot) oprot.writeFieldEnd() if self.runAsync is not None: - oprot.writeFieldBegin('runAsync', TType.BOOL, 1282) + oprot.writeFieldBegin("runAsync", TType.BOOL, 1282) oprot.writeBool(self.runAsync) oprot.writeFieldEnd() if self.operationId is not None: - oprot.writeFieldBegin('operationId', TType.STRUCT, 3329) + oprot.writeFieldBegin("operationId", TType.STRUCT, 3329) self.operationId.write(oprot) oprot.writeFieldEnd() if self.sessionConf is not None: - oprot.writeFieldBegin('sessionConf', TType.STRUCT, 3330) + oprot.writeFieldBegin("sessionConf", TType.STRUCT, 3330) self.sessionConf.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -6813,13 +7897,12 @@ def write(self, oprot): def validate(self): if self.sessionHandle is None: - raise TProtocolException(message='Required field sessionHandle is unset!') + raise TProtocolException(message="Required field sessionHandle is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -6837,14 +7920,22 @@ class TGetTypeInfoResp(object): """ - - def __init__(self, status=None, operationHandle=None, directResults=None,): + def __init__( + self, + status=None, + operationHandle=None, + directResults=None, + ): self.status = status self.operationHandle = operationHandle self.directResults = directResults def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -6877,19 +7968,21 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TGetTypeInfoResp') + oprot.writeStructBegin("TGetTypeInfoResp") if self.status is not None: - oprot.writeFieldBegin('status', TType.STRUCT, 1) + oprot.writeFieldBegin("status", TType.STRUCT, 1) self.status.write(oprot) oprot.writeFieldEnd() if self.operationHandle is not None: - oprot.writeFieldBegin('operationHandle', TType.STRUCT, 2) + oprot.writeFieldBegin("operationHandle", TType.STRUCT, 2) self.operationHandle.write(oprot) oprot.writeFieldEnd() if self.directResults is not None: - oprot.writeFieldBegin('directResults', TType.STRUCT, 1281) + oprot.writeFieldBegin("directResults", TType.STRUCT, 1281) self.directResults.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -6897,13 +7990,12 @@ def write(self, oprot): def validate(self): if self.status is None: - raise TProtocolException(message='Required field status is unset!') + raise TProtocolException(message="Required field status is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -6923,8 +8015,14 @@ class TGetCatalogsReq(object): """ - - def __init__(self, sessionHandle=None, getDirectResults=None, runAsync=False, operationId=None, sessionConf=None,): + def __init__( + self, + sessionHandle=None, + getDirectResults=None, + runAsync=False, + operationId=None, + sessionConf=None, + ): self.sessionHandle = sessionHandle self.getDirectResults = getDirectResults self.runAsync = runAsync @@ -6932,7 +8030,11 @@ def __init__(self, sessionHandle=None, getDirectResults=None, runAsync=False, op self.sessionConf = sessionConf def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -6976,27 +8078,29 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TGetCatalogsReq') + oprot.writeStructBegin("TGetCatalogsReq") if self.sessionHandle is not None: - oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 1) + oprot.writeFieldBegin("sessionHandle", TType.STRUCT, 1) self.sessionHandle.write(oprot) oprot.writeFieldEnd() if self.getDirectResults is not None: - oprot.writeFieldBegin('getDirectResults', TType.STRUCT, 1281) + oprot.writeFieldBegin("getDirectResults", TType.STRUCT, 1281) self.getDirectResults.write(oprot) oprot.writeFieldEnd() if self.runAsync is not None: - oprot.writeFieldBegin('runAsync', TType.BOOL, 1282) + oprot.writeFieldBegin("runAsync", TType.BOOL, 1282) oprot.writeBool(self.runAsync) oprot.writeFieldEnd() if self.operationId is not None: - oprot.writeFieldBegin('operationId', TType.STRUCT, 3329) + oprot.writeFieldBegin("operationId", TType.STRUCT, 3329) self.operationId.write(oprot) oprot.writeFieldEnd() if self.sessionConf is not None: - oprot.writeFieldBegin('sessionConf', TType.STRUCT, 3330) + oprot.writeFieldBegin("sessionConf", TType.STRUCT, 3330) self.sessionConf.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -7004,13 +8108,12 @@ def write(self, oprot): def validate(self): if self.sessionHandle is None: - raise TProtocolException(message='Required field sessionHandle is unset!') + raise TProtocolException(message="Required field sessionHandle is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -7028,14 +8131,22 @@ class TGetCatalogsResp(object): """ - - def __init__(self, status=None, operationHandle=None, directResults=None,): + def __init__( + self, + status=None, + operationHandle=None, + directResults=None, + ): self.status = status self.operationHandle = operationHandle self.directResults = directResults def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -7068,19 +8179,21 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TGetCatalogsResp') + oprot.writeStructBegin("TGetCatalogsResp") if self.status is not None: - oprot.writeFieldBegin('status', TType.STRUCT, 1) + oprot.writeFieldBegin("status", TType.STRUCT, 1) self.status.write(oprot) oprot.writeFieldEnd() if self.operationHandle is not None: - oprot.writeFieldBegin('operationHandle', TType.STRUCT, 2) + oprot.writeFieldBegin("operationHandle", TType.STRUCT, 2) self.operationHandle.write(oprot) oprot.writeFieldEnd() if self.directResults is not None: - oprot.writeFieldBegin('directResults', TType.STRUCT, 1281) + oprot.writeFieldBegin("directResults", TType.STRUCT, 1281) self.directResults.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -7088,13 +8201,12 @@ def write(self, oprot): def validate(self): if self.status is None: - raise TProtocolException(message='Required field status is unset!') + raise TProtocolException(message="Required field status is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -7116,8 +8228,16 @@ class TGetSchemasReq(object): """ - - def __init__(self, sessionHandle=None, catalogName=None, schemaName=None, getDirectResults=None, runAsync=False, operationId=None, sessionConf=None,): + def __init__( + self, + sessionHandle=None, + catalogName=None, + schemaName=None, + getDirectResults=None, + runAsync=False, + operationId=None, + sessionConf=None, + ): self.sessionHandle = sessionHandle self.catalogName = catalogName self.schemaName = schemaName @@ -7127,7 +8247,11 @@ def __init__(self, sessionHandle=None, catalogName=None, schemaName=None, getDir self.sessionConf = sessionConf def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -7143,12 +8267,20 @@ def read(self, iprot): iprot.skip(ftype) elif fid == 2: if ftype == TType.STRING: - self.catalogName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.catalogName = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 3: if ftype == TType.STRING: - self.schemaName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.schemaName = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 1281: @@ -7181,35 +8313,45 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TGetSchemasReq') + oprot.writeStructBegin("TGetSchemasReq") if self.sessionHandle is not None: - oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 1) + oprot.writeFieldBegin("sessionHandle", TType.STRUCT, 1) self.sessionHandle.write(oprot) oprot.writeFieldEnd() if self.catalogName is not None: - oprot.writeFieldBegin('catalogName', TType.STRING, 2) - oprot.writeString(self.catalogName.encode('utf-8') if sys.version_info[0] == 2 else self.catalogName) + oprot.writeFieldBegin("catalogName", TType.STRING, 2) + oprot.writeString( + self.catalogName.encode("utf-8") + if sys.version_info[0] == 2 + else self.catalogName + ) oprot.writeFieldEnd() if self.schemaName is not None: - oprot.writeFieldBegin('schemaName', TType.STRING, 3) - oprot.writeString(self.schemaName.encode('utf-8') if sys.version_info[0] == 2 else self.schemaName) + oprot.writeFieldBegin("schemaName", TType.STRING, 3) + oprot.writeString( + self.schemaName.encode("utf-8") + if sys.version_info[0] == 2 + else self.schemaName + ) oprot.writeFieldEnd() if self.getDirectResults is not None: - oprot.writeFieldBegin('getDirectResults', TType.STRUCT, 1281) + oprot.writeFieldBegin("getDirectResults", TType.STRUCT, 1281) self.getDirectResults.write(oprot) oprot.writeFieldEnd() if self.runAsync is not None: - oprot.writeFieldBegin('runAsync', TType.BOOL, 1282) + oprot.writeFieldBegin("runAsync", TType.BOOL, 1282) oprot.writeBool(self.runAsync) oprot.writeFieldEnd() if self.operationId is not None: - oprot.writeFieldBegin('operationId', TType.STRUCT, 3329) + oprot.writeFieldBegin("operationId", TType.STRUCT, 3329) self.operationId.write(oprot) oprot.writeFieldEnd() if self.sessionConf is not None: - oprot.writeFieldBegin('sessionConf', TType.STRUCT, 3330) + oprot.writeFieldBegin("sessionConf", TType.STRUCT, 3330) self.sessionConf.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -7217,13 +8359,12 @@ def write(self, oprot): def validate(self): if self.sessionHandle is None: - raise TProtocolException(message='Required field sessionHandle is unset!') + raise TProtocolException(message="Required field sessionHandle is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -7241,14 +8382,22 @@ class TGetSchemasResp(object): """ - - def __init__(self, status=None, operationHandle=None, directResults=None,): + def __init__( + self, + status=None, + operationHandle=None, + directResults=None, + ): self.status = status self.operationHandle = operationHandle self.directResults = directResults def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -7281,19 +8430,21 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TGetSchemasResp') + oprot.writeStructBegin("TGetSchemasResp") if self.status is not None: - oprot.writeFieldBegin('status', TType.STRUCT, 1) + oprot.writeFieldBegin("status", TType.STRUCT, 1) self.status.write(oprot) oprot.writeFieldEnd() if self.operationHandle is not None: - oprot.writeFieldBegin('operationHandle', TType.STRUCT, 2) + oprot.writeFieldBegin("operationHandle", TType.STRUCT, 2) self.operationHandle.write(oprot) oprot.writeFieldEnd() if self.directResults is not None: - oprot.writeFieldBegin('directResults', TType.STRUCT, 1281) + oprot.writeFieldBegin("directResults", TType.STRUCT, 1281) self.directResults.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -7301,13 +8452,12 @@ def write(self, oprot): def validate(self): if self.status is None: - raise TProtocolException(message='Required field status is unset!') + raise TProtocolException(message="Required field status is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -7331,8 +8481,18 @@ class TGetTablesReq(object): """ - - def __init__(self, sessionHandle=None, catalogName=None, schemaName=None, tableName=None, tableTypes=None, getDirectResults=None, runAsync=False, operationId=None, sessionConf=None,): + def __init__( + self, + sessionHandle=None, + catalogName=None, + schemaName=None, + tableName=None, + tableTypes=None, + getDirectResults=None, + runAsync=False, + operationId=None, + sessionConf=None, + ): self.sessionHandle = sessionHandle self.catalogName = catalogName self.schemaName = schemaName @@ -7344,7 +8504,11 @@ def __init__(self, sessionHandle=None, catalogName=None, schemaName=None, tableN self.sessionConf = sessionConf def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -7360,17 +8524,29 @@ def read(self, iprot): iprot.skip(ftype) elif fid == 2: if ftype == TType.STRING: - self.catalogName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.catalogName = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 3: if ftype == TType.STRING: - self.schemaName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.schemaName = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 4: if ftype == TType.STRING: - self.tableName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.tableName = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 5: @@ -7378,7 +8554,11 @@ def read(self, iprot): self.tableTypes = [] (_etype279, _size276) = iprot.readListBegin() for _i280 in range(_size276): - _elem281 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + _elem281 = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) self.tableTypes.append(_elem281) iprot.readListEnd() else: @@ -7413,46 +8593,62 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TGetTablesReq') + oprot.writeStructBegin("TGetTablesReq") if self.sessionHandle is not None: - oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 1) + oprot.writeFieldBegin("sessionHandle", TType.STRUCT, 1) self.sessionHandle.write(oprot) oprot.writeFieldEnd() if self.catalogName is not None: - oprot.writeFieldBegin('catalogName', TType.STRING, 2) - oprot.writeString(self.catalogName.encode('utf-8') if sys.version_info[0] == 2 else self.catalogName) + oprot.writeFieldBegin("catalogName", TType.STRING, 2) + oprot.writeString( + self.catalogName.encode("utf-8") + if sys.version_info[0] == 2 + else self.catalogName + ) oprot.writeFieldEnd() if self.schemaName is not None: - oprot.writeFieldBegin('schemaName', TType.STRING, 3) - oprot.writeString(self.schemaName.encode('utf-8') if sys.version_info[0] == 2 else self.schemaName) + oprot.writeFieldBegin("schemaName", TType.STRING, 3) + oprot.writeString( + self.schemaName.encode("utf-8") + if sys.version_info[0] == 2 + else self.schemaName + ) oprot.writeFieldEnd() if self.tableName is not None: - oprot.writeFieldBegin('tableName', TType.STRING, 4) - oprot.writeString(self.tableName.encode('utf-8') if sys.version_info[0] == 2 else self.tableName) + oprot.writeFieldBegin("tableName", TType.STRING, 4) + oprot.writeString( + self.tableName.encode("utf-8") + if sys.version_info[0] == 2 + else self.tableName + ) oprot.writeFieldEnd() if self.tableTypes is not None: - oprot.writeFieldBegin('tableTypes', TType.LIST, 5) + oprot.writeFieldBegin("tableTypes", TType.LIST, 5) oprot.writeListBegin(TType.STRING, len(self.tableTypes)) for iter282 in self.tableTypes: - oprot.writeString(iter282.encode('utf-8') if sys.version_info[0] == 2 else iter282) + oprot.writeString( + iter282.encode("utf-8") if sys.version_info[0] == 2 else iter282 + ) oprot.writeListEnd() oprot.writeFieldEnd() if self.getDirectResults is not None: - oprot.writeFieldBegin('getDirectResults', TType.STRUCT, 1281) + oprot.writeFieldBegin("getDirectResults", TType.STRUCT, 1281) self.getDirectResults.write(oprot) oprot.writeFieldEnd() if self.runAsync is not None: - oprot.writeFieldBegin('runAsync', TType.BOOL, 1282) + oprot.writeFieldBegin("runAsync", TType.BOOL, 1282) oprot.writeBool(self.runAsync) oprot.writeFieldEnd() if self.operationId is not None: - oprot.writeFieldBegin('operationId', TType.STRUCT, 3329) + oprot.writeFieldBegin("operationId", TType.STRUCT, 3329) self.operationId.write(oprot) oprot.writeFieldEnd() if self.sessionConf is not None: - oprot.writeFieldBegin('sessionConf', TType.STRUCT, 3330) + oprot.writeFieldBegin("sessionConf", TType.STRUCT, 3330) self.sessionConf.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -7460,13 +8656,12 @@ def write(self, oprot): def validate(self): if self.sessionHandle is None: - raise TProtocolException(message='Required field sessionHandle is unset!') + raise TProtocolException(message="Required field sessionHandle is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -7484,14 +8679,22 @@ class TGetTablesResp(object): """ - - def __init__(self, status=None, operationHandle=None, directResults=None,): + def __init__( + self, + status=None, + operationHandle=None, + directResults=None, + ): self.status = status self.operationHandle = operationHandle self.directResults = directResults def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -7524,19 +8727,21 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TGetTablesResp') + oprot.writeStructBegin("TGetTablesResp") if self.status is not None: - oprot.writeFieldBegin('status', TType.STRUCT, 1) + oprot.writeFieldBegin("status", TType.STRUCT, 1) self.status.write(oprot) oprot.writeFieldEnd() if self.operationHandle is not None: - oprot.writeFieldBegin('operationHandle', TType.STRUCT, 2) + oprot.writeFieldBegin("operationHandle", TType.STRUCT, 2) self.operationHandle.write(oprot) oprot.writeFieldEnd() if self.directResults is not None: - oprot.writeFieldBegin('directResults', TType.STRUCT, 1281) + oprot.writeFieldBegin("directResults", TType.STRUCT, 1281) self.directResults.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -7544,13 +8749,12 @@ def write(self, oprot): def validate(self): if self.status is None: - raise TProtocolException(message='Required field status is unset!') + raise TProtocolException(message="Required field status is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -7570,8 +8774,14 @@ class TGetTableTypesReq(object): """ - - def __init__(self, sessionHandle=None, getDirectResults=None, runAsync=False, operationId=None, sessionConf=None,): + def __init__( + self, + sessionHandle=None, + getDirectResults=None, + runAsync=False, + operationId=None, + sessionConf=None, + ): self.sessionHandle = sessionHandle self.getDirectResults = getDirectResults self.runAsync = runAsync @@ -7579,7 +8789,11 @@ def __init__(self, sessionHandle=None, getDirectResults=None, runAsync=False, op self.sessionConf = sessionConf def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -7623,27 +8837,29 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TGetTableTypesReq') + oprot.writeStructBegin("TGetTableTypesReq") if self.sessionHandle is not None: - oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 1) + oprot.writeFieldBegin("sessionHandle", TType.STRUCT, 1) self.sessionHandle.write(oprot) oprot.writeFieldEnd() if self.getDirectResults is not None: - oprot.writeFieldBegin('getDirectResults', TType.STRUCT, 1281) + oprot.writeFieldBegin("getDirectResults", TType.STRUCT, 1281) self.getDirectResults.write(oprot) oprot.writeFieldEnd() if self.runAsync is not None: - oprot.writeFieldBegin('runAsync', TType.BOOL, 1282) + oprot.writeFieldBegin("runAsync", TType.BOOL, 1282) oprot.writeBool(self.runAsync) oprot.writeFieldEnd() if self.operationId is not None: - oprot.writeFieldBegin('operationId', TType.STRUCT, 3329) + oprot.writeFieldBegin("operationId", TType.STRUCT, 3329) self.operationId.write(oprot) oprot.writeFieldEnd() if self.sessionConf is not None: - oprot.writeFieldBegin('sessionConf', TType.STRUCT, 3330) + oprot.writeFieldBegin("sessionConf", TType.STRUCT, 3330) self.sessionConf.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -7651,13 +8867,12 @@ def write(self, oprot): def validate(self): if self.sessionHandle is None: - raise TProtocolException(message='Required field sessionHandle is unset!') + raise TProtocolException(message="Required field sessionHandle is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -7675,14 +8890,22 @@ class TGetTableTypesResp(object): """ - - def __init__(self, status=None, operationHandle=None, directResults=None,): + def __init__( + self, + status=None, + operationHandle=None, + directResults=None, + ): self.status = status self.operationHandle = operationHandle self.directResults = directResults def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -7715,19 +8938,21 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TGetTableTypesResp') + oprot.writeStructBegin("TGetTableTypesResp") if self.status is not None: - oprot.writeFieldBegin('status', TType.STRUCT, 1) + oprot.writeFieldBegin("status", TType.STRUCT, 1) self.status.write(oprot) oprot.writeFieldEnd() if self.operationHandle is not None: - oprot.writeFieldBegin('operationHandle', TType.STRUCT, 2) + oprot.writeFieldBegin("operationHandle", TType.STRUCT, 2) self.operationHandle.write(oprot) oprot.writeFieldEnd() if self.directResults is not None: - oprot.writeFieldBegin('directResults', TType.STRUCT, 1281) + oprot.writeFieldBegin("directResults", TType.STRUCT, 1281) self.directResults.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -7735,13 +8960,12 @@ def write(self, oprot): def validate(self): if self.status is None: - raise TProtocolException(message='Required field status is unset!') + raise TProtocolException(message="Required field status is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -7765,8 +8989,18 @@ class TGetColumnsReq(object): """ - - def __init__(self, sessionHandle=None, catalogName=None, schemaName=None, tableName=None, columnName=None, getDirectResults=None, runAsync=False, operationId=None, sessionConf=None,): + def __init__( + self, + sessionHandle=None, + catalogName=None, + schemaName=None, + tableName=None, + columnName=None, + getDirectResults=None, + runAsync=False, + operationId=None, + sessionConf=None, + ): self.sessionHandle = sessionHandle self.catalogName = catalogName self.schemaName = schemaName @@ -7778,7 +9012,11 @@ def __init__(self, sessionHandle=None, catalogName=None, schemaName=None, tableN self.sessionConf = sessionConf def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -7794,22 +9032,38 @@ def read(self, iprot): iprot.skip(ftype) elif fid == 2: if ftype == TType.STRING: - self.catalogName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.catalogName = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 3: if ftype == TType.STRING: - self.schemaName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.schemaName = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 4: if ftype == TType.STRING: - self.tableName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.tableName = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 5: if ftype == TType.STRING: - self.columnName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.columnName = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 1281: @@ -7842,43 +9096,61 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TGetColumnsReq') + oprot.writeStructBegin("TGetColumnsReq") if self.sessionHandle is not None: - oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 1) + oprot.writeFieldBegin("sessionHandle", TType.STRUCT, 1) self.sessionHandle.write(oprot) oprot.writeFieldEnd() if self.catalogName is not None: - oprot.writeFieldBegin('catalogName', TType.STRING, 2) - oprot.writeString(self.catalogName.encode('utf-8') if sys.version_info[0] == 2 else self.catalogName) + oprot.writeFieldBegin("catalogName", TType.STRING, 2) + oprot.writeString( + self.catalogName.encode("utf-8") + if sys.version_info[0] == 2 + else self.catalogName + ) oprot.writeFieldEnd() if self.schemaName is not None: - oprot.writeFieldBegin('schemaName', TType.STRING, 3) - oprot.writeString(self.schemaName.encode('utf-8') if sys.version_info[0] == 2 else self.schemaName) + oprot.writeFieldBegin("schemaName", TType.STRING, 3) + oprot.writeString( + self.schemaName.encode("utf-8") + if sys.version_info[0] == 2 + else self.schemaName + ) oprot.writeFieldEnd() if self.tableName is not None: - oprot.writeFieldBegin('tableName', TType.STRING, 4) - oprot.writeString(self.tableName.encode('utf-8') if sys.version_info[0] == 2 else self.tableName) + oprot.writeFieldBegin("tableName", TType.STRING, 4) + oprot.writeString( + self.tableName.encode("utf-8") + if sys.version_info[0] == 2 + else self.tableName + ) oprot.writeFieldEnd() if self.columnName is not None: - oprot.writeFieldBegin('columnName', TType.STRING, 5) - oprot.writeString(self.columnName.encode('utf-8') if sys.version_info[0] == 2 else self.columnName) + oprot.writeFieldBegin("columnName", TType.STRING, 5) + oprot.writeString( + self.columnName.encode("utf-8") + if sys.version_info[0] == 2 + else self.columnName + ) oprot.writeFieldEnd() if self.getDirectResults is not None: - oprot.writeFieldBegin('getDirectResults', TType.STRUCT, 1281) + oprot.writeFieldBegin("getDirectResults", TType.STRUCT, 1281) self.getDirectResults.write(oprot) oprot.writeFieldEnd() if self.runAsync is not None: - oprot.writeFieldBegin('runAsync', TType.BOOL, 1282) + oprot.writeFieldBegin("runAsync", TType.BOOL, 1282) oprot.writeBool(self.runAsync) oprot.writeFieldEnd() if self.operationId is not None: - oprot.writeFieldBegin('operationId', TType.STRUCT, 3329) + oprot.writeFieldBegin("operationId", TType.STRUCT, 3329) self.operationId.write(oprot) oprot.writeFieldEnd() if self.sessionConf is not None: - oprot.writeFieldBegin('sessionConf', TType.STRUCT, 3330) + oprot.writeFieldBegin("sessionConf", TType.STRUCT, 3330) self.sessionConf.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -7886,13 +9158,12 @@ def write(self, oprot): def validate(self): if self.sessionHandle is None: - raise TProtocolException(message='Required field sessionHandle is unset!') + raise TProtocolException(message="Required field sessionHandle is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -7910,14 +9181,22 @@ class TGetColumnsResp(object): """ - - def __init__(self, status=None, operationHandle=None, directResults=None,): + def __init__( + self, + status=None, + operationHandle=None, + directResults=None, + ): self.status = status self.operationHandle = operationHandle self.directResults = directResults def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -7950,19 +9229,21 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TGetColumnsResp') + oprot.writeStructBegin("TGetColumnsResp") if self.status is not None: - oprot.writeFieldBegin('status', TType.STRUCT, 1) + oprot.writeFieldBegin("status", TType.STRUCT, 1) self.status.write(oprot) oprot.writeFieldEnd() if self.operationHandle is not None: - oprot.writeFieldBegin('operationHandle', TType.STRUCT, 2) + oprot.writeFieldBegin("operationHandle", TType.STRUCT, 2) self.operationHandle.write(oprot) oprot.writeFieldEnd() if self.directResults is not None: - oprot.writeFieldBegin('directResults', TType.STRUCT, 1281) + oprot.writeFieldBegin("directResults", TType.STRUCT, 1281) self.directResults.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -7970,13 +9251,12 @@ def write(self, oprot): def validate(self): if self.status is None: - raise TProtocolException(message='Required field status is unset!') + raise TProtocolException(message="Required field status is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -7999,8 +9279,17 @@ class TGetFunctionsReq(object): """ - - def __init__(self, sessionHandle=None, catalogName=None, schemaName=None, functionName=None, getDirectResults=None, runAsync=False, operationId=None, sessionConf=None,): + def __init__( + self, + sessionHandle=None, + catalogName=None, + schemaName=None, + functionName=None, + getDirectResults=None, + runAsync=False, + operationId=None, + sessionConf=None, + ): self.sessionHandle = sessionHandle self.catalogName = catalogName self.schemaName = schemaName @@ -8011,7 +9300,11 @@ def __init__(self, sessionHandle=None, catalogName=None, schemaName=None, functi self.sessionConf = sessionConf def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -8027,17 +9320,29 @@ def read(self, iprot): iprot.skip(ftype) elif fid == 2: if ftype == TType.STRING: - self.catalogName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.catalogName = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 3: if ftype == TType.STRING: - self.schemaName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.schemaName = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 4: if ftype == TType.STRING: - self.functionName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.functionName = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 1281: @@ -8070,39 +9375,53 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TGetFunctionsReq') + oprot.writeStructBegin("TGetFunctionsReq") if self.sessionHandle is not None: - oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 1) + oprot.writeFieldBegin("sessionHandle", TType.STRUCT, 1) self.sessionHandle.write(oprot) oprot.writeFieldEnd() if self.catalogName is not None: - oprot.writeFieldBegin('catalogName', TType.STRING, 2) - oprot.writeString(self.catalogName.encode('utf-8') if sys.version_info[0] == 2 else self.catalogName) + oprot.writeFieldBegin("catalogName", TType.STRING, 2) + oprot.writeString( + self.catalogName.encode("utf-8") + if sys.version_info[0] == 2 + else self.catalogName + ) oprot.writeFieldEnd() if self.schemaName is not None: - oprot.writeFieldBegin('schemaName', TType.STRING, 3) - oprot.writeString(self.schemaName.encode('utf-8') if sys.version_info[0] == 2 else self.schemaName) + oprot.writeFieldBegin("schemaName", TType.STRING, 3) + oprot.writeString( + self.schemaName.encode("utf-8") + if sys.version_info[0] == 2 + else self.schemaName + ) oprot.writeFieldEnd() if self.functionName is not None: - oprot.writeFieldBegin('functionName', TType.STRING, 4) - oprot.writeString(self.functionName.encode('utf-8') if sys.version_info[0] == 2 else self.functionName) + oprot.writeFieldBegin("functionName", TType.STRING, 4) + oprot.writeString( + self.functionName.encode("utf-8") + if sys.version_info[0] == 2 + else self.functionName + ) oprot.writeFieldEnd() if self.getDirectResults is not None: - oprot.writeFieldBegin('getDirectResults', TType.STRUCT, 1281) + oprot.writeFieldBegin("getDirectResults", TType.STRUCT, 1281) self.getDirectResults.write(oprot) oprot.writeFieldEnd() if self.runAsync is not None: - oprot.writeFieldBegin('runAsync', TType.BOOL, 1282) + oprot.writeFieldBegin("runAsync", TType.BOOL, 1282) oprot.writeBool(self.runAsync) oprot.writeFieldEnd() if self.operationId is not None: - oprot.writeFieldBegin('operationId', TType.STRUCT, 3329) + oprot.writeFieldBegin("operationId", TType.STRUCT, 3329) self.operationId.write(oprot) oprot.writeFieldEnd() if self.sessionConf is not None: - oprot.writeFieldBegin('sessionConf', TType.STRUCT, 3330) + oprot.writeFieldBegin("sessionConf", TType.STRUCT, 3330) self.sessionConf.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -8110,15 +9429,14 @@ def write(self, oprot): def validate(self): if self.sessionHandle is None: - raise TProtocolException(message='Required field sessionHandle is unset!') + raise TProtocolException(message="Required field sessionHandle is unset!") if self.functionName is None: - raise TProtocolException(message='Required field functionName is unset!') + raise TProtocolException(message="Required field functionName is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -8136,14 +9454,22 @@ class TGetFunctionsResp(object): """ - - def __init__(self, status=None, operationHandle=None, directResults=None,): + def __init__( + self, + status=None, + operationHandle=None, + directResults=None, + ): self.status = status self.operationHandle = operationHandle self.directResults = directResults def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -8176,19 +9502,21 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TGetFunctionsResp') + oprot.writeStructBegin("TGetFunctionsResp") if self.status is not None: - oprot.writeFieldBegin('status', TType.STRUCT, 1) + oprot.writeFieldBegin("status", TType.STRUCT, 1) self.status.write(oprot) oprot.writeFieldEnd() if self.operationHandle is not None: - oprot.writeFieldBegin('operationHandle', TType.STRUCT, 2) + oprot.writeFieldBegin("operationHandle", TType.STRUCT, 2) self.operationHandle.write(oprot) oprot.writeFieldEnd() if self.directResults is not None: - oprot.writeFieldBegin('directResults', TType.STRUCT, 1281) + oprot.writeFieldBegin("directResults", TType.STRUCT, 1281) self.directResults.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -8196,13 +9524,12 @@ def write(self, oprot): def validate(self): if self.status is None: - raise TProtocolException(message='Required field status is unset!') + raise TProtocolException(message="Required field status is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -8225,8 +9552,17 @@ class TGetPrimaryKeysReq(object): """ - - def __init__(self, sessionHandle=None, catalogName=None, schemaName=None, tableName=None, getDirectResults=None, runAsync=False, operationId=None, sessionConf=None,): + def __init__( + self, + sessionHandle=None, + catalogName=None, + schemaName=None, + tableName=None, + getDirectResults=None, + runAsync=False, + operationId=None, + sessionConf=None, + ): self.sessionHandle = sessionHandle self.catalogName = catalogName self.schemaName = schemaName @@ -8237,7 +9573,11 @@ def __init__(self, sessionHandle=None, catalogName=None, schemaName=None, tableN self.sessionConf = sessionConf def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -8253,17 +9593,29 @@ def read(self, iprot): iprot.skip(ftype) elif fid == 2: if ftype == TType.STRING: - self.catalogName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.catalogName = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 3: if ftype == TType.STRING: - self.schemaName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.schemaName = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 4: if ftype == TType.STRING: - self.tableName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.tableName = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 1281: @@ -8296,39 +9648,53 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TGetPrimaryKeysReq') + oprot.writeStructBegin("TGetPrimaryKeysReq") if self.sessionHandle is not None: - oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 1) + oprot.writeFieldBegin("sessionHandle", TType.STRUCT, 1) self.sessionHandle.write(oprot) oprot.writeFieldEnd() if self.catalogName is not None: - oprot.writeFieldBegin('catalogName', TType.STRING, 2) - oprot.writeString(self.catalogName.encode('utf-8') if sys.version_info[0] == 2 else self.catalogName) + oprot.writeFieldBegin("catalogName", TType.STRING, 2) + oprot.writeString( + self.catalogName.encode("utf-8") + if sys.version_info[0] == 2 + else self.catalogName + ) oprot.writeFieldEnd() if self.schemaName is not None: - oprot.writeFieldBegin('schemaName', TType.STRING, 3) - oprot.writeString(self.schemaName.encode('utf-8') if sys.version_info[0] == 2 else self.schemaName) + oprot.writeFieldBegin("schemaName", TType.STRING, 3) + oprot.writeString( + self.schemaName.encode("utf-8") + if sys.version_info[0] == 2 + else self.schemaName + ) oprot.writeFieldEnd() if self.tableName is not None: - oprot.writeFieldBegin('tableName', TType.STRING, 4) - oprot.writeString(self.tableName.encode('utf-8') if sys.version_info[0] == 2 else self.tableName) + oprot.writeFieldBegin("tableName", TType.STRING, 4) + oprot.writeString( + self.tableName.encode("utf-8") + if sys.version_info[0] == 2 + else self.tableName + ) oprot.writeFieldEnd() if self.getDirectResults is not None: - oprot.writeFieldBegin('getDirectResults', TType.STRUCT, 1281) + oprot.writeFieldBegin("getDirectResults", TType.STRUCT, 1281) self.getDirectResults.write(oprot) oprot.writeFieldEnd() if self.runAsync is not None: - oprot.writeFieldBegin('runAsync', TType.BOOL, 1282) + oprot.writeFieldBegin("runAsync", TType.BOOL, 1282) oprot.writeBool(self.runAsync) oprot.writeFieldEnd() if self.operationId is not None: - oprot.writeFieldBegin('operationId', TType.STRUCT, 3329) + oprot.writeFieldBegin("operationId", TType.STRUCT, 3329) self.operationId.write(oprot) oprot.writeFieldEnd() if self.sessionConf is not None: - oprot.writeFieldBegin('sessionConf', TType.STRUCT, 3330) + oprot.writeFieldBegin("sessionConf", TType.STRUCT, 3330) self.sessionConf.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -8336,13 +9702,12 @@ def write(self, oprot): def validate(self): if self.sessionHandle is None: - raise TProtocolException(message='Required field sessionHandle is unset!') + raise TProtocolException(message="Required field sessionHandle is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -8360,14 +9725,22 @@ class TGetPrimaryKeysResp(object): """ - - def __init__(self, status=None, operationHandle=None, directResults=None,): + def __init__( + self, + status=None, + operationHandle=None, + directResults=None, + ): self.status = status self.operationHandle = operationHandle self.directResults = directResults def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -8400,19 +9773,21 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TGetPrimaryKeysResp') + oprot.writeStructBegin("TGetPrimaryKeysResp") if self.status is not None: - oprot.writeFieldBegin('status', TType.STRUCT, 1) + oprot.writeFieldBegin("status", TType.STRUCT, 1) self.status.write(oprot) oprot.writeFieldEnd() if self.operationHandle is not None: - oprot.writeFieldBegin('operationHandle', TType.STRUCT, 2) + oprot.writeFieldBegin("operationHandle", TType.STRUCT, 2) self.operationHandle.write(oprot) oprot.writeFieldEnd() if self.directResults is not None: - oprot.writeFieldBegin('directResults', TType.STRUCT, 1281) + oprot.writeFieldBegin("directResults", TType.STRUCT, 1281) self.directResults.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -8420,13 +9795,12 @@ def write(self, oprot): def validate(self): if self.status is None: - raise TProtocolException(message='Required field status is unset!') + raise TProtocolException(message="Required field status is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -8452,8 +9826,20 @@ class TGetCrossReferenceReq(object): """ - - def __init__(self, sessionHandle=None, parentCatalogName=None, parentSchemaName=None, parentTableName=None, foreignCatalogName=None, foreignSchemaName=None, foreignTableName=None, getDirectResults=None, runAsync=False, operationId=None, sessionConf=None,): + def __init__( + self, + sessionHandle=None, + parentCatalogName=None, + parentSchemaName=None, + parentTableName=None, + foreignCatalogName=None, + foreignSchemaName=None, + foreignTableName=None, + getDirectResults=None, + runAsync=False, + operationId=None, + sessionConf=None, + ): self.sessionHandle = sessionHandle self.parentCatalogName = parentCatalogName self.parentSchemaName = parentSchemaName @@ -8467,7 +9853,11 @@ def __init__(self, sessionHandle=None, parentCatalogName=None, parentSchemaName= self.sessionConf = sessionConf def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -8483,32 +9873,56 @@ def read(self, iprot): iprot.skip(ftype) elif fid == 2: if ftype == TType.STRING: - self.parentCatalogName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.parentCatalogName = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 3: if ftype == TType.STRING: - self.parentSchemaName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.parentSchemaName = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 4: if ftype == TType.STRING: - self.parentTableName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.parentTableName = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 5: if ftype == TType.STRING: - self.foreignCatalogName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.foreignCatalogName = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 6: if ftype == TType.STRING: - self.foreignSchemaName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.foreignSchemaName = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 7: if ftype == TType.STRING: - self.foreignTableName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.foreignTableName = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 1281: @@ -8541,51 +9955,77 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TGetCrossReferenceReq') + oprot.writeStructBegin("TGetCrossReferenceReq") if self.sessionHandle is not None: - oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 1) + oprot.writeFieldBegin("sessionHandle", TType.STRUCT, 1) self.sessionHandle.write(oprot) oprot.writeFieldEnd() if self.parentCatalogName is not None: - oprot.writeFieldBegin('parentCatalogName', TType.STRING, 2) - oprot.writeString(self.parentCatalogName.encode('utf-8') if sys.version_info[0] == 2 else self.parentCatalogName) + oprot.writeFieldBegin("parentCatalogName", TType.STRING, 2) + oprot.writeString( + self.parentCatalogName.encode("utf-8") + if sys.version_info[0] == 2 + else self.parentCatalogName + ) oprot.writeFieldEnd() if self.parentSchemaName is not None: - oprot.writeFieldBegin('parentSchemaName', TType.STRING, 3) - oprot.writeString(self.parentSchemaName.encode('utf-8') if sys.version_info[0] == 2 else self.parentSchemaName) + oprot.writeFieldBegin("parentSchemaName", TType.STRING, 3) + oprot.writeString( + self.parentSchemaName.encode("utf-8") + if sys.version_info[0] == 2 + else self.parentSchemaName + ) oprot.writeFieldEnd() if self.parentTableName is not None: - oprot.writeFieldBegin('parentTableName', TType.STRING, 4) - oprot.writeString(self.parentTableName.encode('utf-8') if sys.version_info[0] == 2 else self.parentTableName) + oprot.writeFieldBegin("parentTableName", TType.STRING, 4) + oprot.writeString( + self.parentTableName.encode("utf-8") + if sys.version_info[0] == 2 + else self.parentTableName + ) oprot.writeFieldEnd() if self.foreignCatalogName is not None: - oprot.writeFieldBegin('foreignCatalogName', TType.STRING, 5) - oprot.writeString(self.foreignCatalogName.encode('utf-8') if sys.version_info[0] == 2 else self.foreignCatalogName) + oprot.writeFieldBegin("foreignCatalogName", TType.STRING, 5) + oprot.writeString( + self.foreignCatalogName.encode("utf-8") + if sys.version_info[0] == 2 + else self.foreignCatalogName + ) oprot.writeFieldEnd() if self.foreignSchemaName is not None: - oprot.writeFieldBegin('foreignSchemaName', TType.STRING, 6) - oprot.writeString(self.foreignSchemaName.encode('utf-8') if sys.version_info[0] == 2 else self.foreignSchemaName) + oprot.writeFieldBegin("foreignSchemaName", TType.STRING, 6) + oprot.writeString( + self.foreignSchemaName.encode("utf-8") + if sys.version_info[0] == 2 + else self.foreignSchemaName + ) oprot.writeFieldEnd() if self.foreignTableName is not None: - oprot.writeFieldBegin('foreignTableName', TType.STRING, 7) - oprot.writeString(self.foreignTableName.encode('utf-8') if sys.version_info[0] == 2 else self.foreignTableName) + oprot.writeFieldBegin("foreignTableName", TType.STRING, 7) + oprot.writeString( + self.foreignTableName.encode("utf-8") + if sys.version_info[0] == 2 + else self.foreignTableName + ) oprot.writeFieldEnd() if self.getDirectResults is not None: - oprot.writeFieldBegin('getDirectResults', TType.STRUCT, 1281) + oprot.writeFieldBegin("getDirectResults", TType.STRUCT, 1281) self.getDirectResults.write(oprot) oprot.writeFieldEnd() if self.runAsync is not None: - oprot.writeFieldBegin('runAsync', TType.BOOL, 1282) + oprot.writeFieldBegin("runAsync", TType.BOOL, 1282) oprot.writeBool(self.runAsync) oprot.writeFieldEnd() if self.operationId is not None: - oprot.writeFieldBegin('operationId', TType.STRUCT, 3329) + oprot.writeFieldBegin("operationId", TType.STRUCT, 3329) self.operationId.write(oprot) oprot.writeFieldEnd() if self.sessionConf is not None: - oprot.writeFieldBegin('sessionConf', TType.STRUCT, 3330) + oprot.writeFieldBegin("sessionConf", TType.STRUCT, 3330) self.sessionConf.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -8593,13 +10033,12 @@ def write(self, oprot): def validate(self): if self.sessionHandle is None: - raise TProtocolException(message='Required field sessionHandle is unset!') + raise TProtocolException(message="Required field sessionHandle is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -8617,14 +10056,22 @@ class TGetCrossReferenceResp(object): """ - - def __init__(self, status=None, operationHandle=None, directResults=None,): + def __init__( + self, + status=None, + operationHandle=None, + directResults=None, + ): self.status = status self.operationHandle = operationHandle self.directResults = directResults def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -8657,19 +10104,21 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TGetCrossReferenceResp') + oprot.writeStructBegin("TGetCrossReferenceResp") if self.status is not None: - oprot.writeFieldBegin('status', TType.STRUCT, 1) + oprot.writeFieldBegin("status", TType.STRUCT, 1) self.status.write(oprot) oprot.writeFieldEnd() if self.operationHandle is not None: - oprot.writeFieldBegin('operationHandle', TType.STRUCT, 2) + oprot.writeFieldBegin("operationHandle", TType.STRUCT, 2) self.operationHandle.write(oprot) oprot.writeFieldEnd() if self.directResults is not None: - oprot.writeFieldBegin('directResults', TType.STRUCT, 1281) + oprot.writeFieldBegin("directResults", TType.STRUCT, 1281) self.directResults.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -8677,13 +10126,12 @@ def write(self, oprot): def validate(self): if self.status is None: - raise TProtocolException(message='Required field status is unset!') + raise TProtocolException(message="Required field status is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -8700,13 +10148,20 @@ class TGetOperationStatusReq(object): """ - - def __init__(self, operationHandle=None, getProgressUpdate=None,): + def __init__( + self, + operationHandle=None, + getProgressUpdate=None, + ): self.operationHandle = operationHandle self.getProgressUpdate = getProgressUpdate def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -8732,15 +10187,17 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TGetOperationStatusReq') + oprot.writeStructBegin("TGetOperationStatusReq") if self.operationHandle is not None: - oprot.writeFieldBegin('operationHandle', TType.STRUCT, 1) + oprot.writeFieldBegin("operationHandle", TType.STRUCT, 1) self.operationHandle.write(oprot) oprot.writeFieldEnd() if self.getProgressUpdate is not None: - oprot.writeFieldBegin('getProgressUpdate', TType.BOOL, 2) + oprot.writeFieldBegin("getProgressUpdate", TType.BOOL, 2) oprot.writeBool(self.getProgressUpdate) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -8748,13 +10205,12 @@ def write(self, oprot): def validate(self): if self.operationHandle is None: - raise TProtocolException(message='Required field operationHandle is unset!') + raise TProtocolException(message="Required field operationHandle is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -8791,8 +10247,27 @@ class TGetOperationStatusResp(object): """ - - def __init__(self, status=None, operationState=None, sqlState=None, errorCode=None, errorMessage=None, taskStatus=None, operationStarted=None, operationCompleted=None, hasResultSet=None, progressUpdateResponse=None, numModifiedRows=None, displayMessage=None, diagnosticInfo=None, errorDetailsJson=None, responseValidation=None, idempotencyType=None, statementTimeout=None, statementTimeoutLevel=None,): + def __init__( + self, + status=None, + operationState=None, + sqlState=None, + errorCode=None, + errorMessage=None, + taskStatus=None, + operationStarted=None, + operationCompleted=None, + hasResultSet=None, + progressUpdateResponse=None, + numModifiedRows=None, + displayMessage=None, + diagnosticInfo=None, + errorDetailsJson=None, + responseValidation=None, + idempotencyType=None, + statementTimeout=None, + statementTimeoutLevel=None, + ): self.status = status self.operationState = operationState self.sqlState = sqlState @@ -8813,7 +10288,11 @@ def __init__(self, status=None, operationState=None, sqlState=None, errorCode=No self.statementTimeoutLevel = statementTimeoutLevel def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -8834,7 +10313,11 @@ def read(self, iprot): iprot.skip(ftype) elif fid == 3: if ftype == TType.STRING: - self.sqlState = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.sqlState = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 4: @@ -8844,12 +10327,20 @@ def read(self, iprot): iprot.skip(ftype) elif fid == 5: if ftype == TType.STRING: - self.errorMessage = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.errorMessage = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 6: if ftype == TType.STRING: - self.taskStatus = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.taskStatus = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 7: @@ -8880,17 +10371,29 @@ def read(self, iprot): iprot.skip(ftype) elif fid == 1281: if ftype == TType.STRING: - self.displayMessage = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.displayMessage = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 1282: if ftype == TType.STRING: - self.diagnosticInfo = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.diagnosticInfo = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 1283: if ftype == TType.STRING: - self.errorDetailsJson = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.errorDetailsJson = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 3329: @@ -8920,79 +10423,105 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TGetOperationStatusResp') + oprot.writeStructBegin("TGetOperationStatusResp") if self.status is not None: - oprot.writeFieldBegin('status', TType.STRUCT, 1) + oprot.writeFieldBegin("status", TType.STRUCT, 1) self.status.write(oprot) oprot.writeFieldEnd() if self.operationState is not None: - oprot.writeFieldBegin('operationState', TType.I32, 2) + oprot.writeFieldBegin("operationState", TType.I32, 2) oprot.writeI32(self.operationState) oprot.writeFieldEnd() if self.sqlState is not None: - oprot.writeFieldBegin('sqlState', TType.STRING, 3) - oprot.writeString(self.sqlState.encode('utf-8') if sys.version_info[0] == 2 else self.sqlState) + oprot.writeFieldBegin("sqlState", TType.STRING, 3) + oprot.writeString( + self.sqlState.encode("utf-8") + if sys.version_info[0] == 2 + else self.sqlState + ) oprot.writeFieldEnd() if self.errorCode is not None: - oprot.writeFieldBegin('errorCode', TType.I32, 4) + oprot.writeFieldBegin("errorCode", TType.I32, 4) oprot.writeI32(self.errorCode) oprot.writeFieldEnd() if self.errorMessage is not None: - oprot.writeFieldBegin('errorMessage', TType.STRING, 5) - oprot.writeString(self.errorMessage.encode('utf-8') if sys.version_info[0] == 2 else self.errorMessage) + oprot.writeFieldBegin("errorMessage", TType.STRING, 5) + oprot.writeString( + self.errorMessage.encode("utf-8") + if sys.version_info[0] == 2 + else self.errorMessage + ) oprot.writeFieldEnd() if self.taskStatus is not None: - oprot.writeFieldBegin('taskStatus', TType.STRING, 6) - oprot.writeString(self.taskStatus.encode('utf-8') if sys.version_info[0] == 2 else self.taskStatus) + oprot.writeFieldBegin("taskStatus", TType.STRING, 6) + oprot.writeString( + self.taskStatus.encode("utf-8") + if sys.version_info[0] == 2 + else self.taskStatus + ) oprot.writeFieldEnd() if self.operationStarted is not None: - oprot.writeFieldBegin('operationStarted', TType.I64, 7) + oprot.writeFieldBegin("operationStarted", TType.I64, 7) oprot.writeI64(self.operationStarted) oprot.writeFieldEnd() if self.operationCompleted is not None: - oprot.writeFieldBegin('operationCompleted', TType.I64, 8) + oprot.writeFieldBegin("operationCompleted", TType.I64, 8) oprot.writeI64(self.operationCompleted) oprot.writeFieldEnd() if self.hasResultSet is not None: - oprot.writeFieldBegin('hasResultSet', TType.BOOL, 9) + oprot.writeFieldBegin("hasResultSet", TType.BOOL, 9) oprot.writeBool(self.hasResultSet) oprot.writeFieldEnd() if self.progressUpdateResponse is not None: - oprot.writeFieldBegin('progressUpdateResponse', TType.STRUCT, 10) + oprot.writeFieldBegin("progressUpdateResponse", TType.STRUCT, 10) self.progressUpdateResponse.write(oprot) oprot.writeFieldEnd() if self.numModifiedRows is not None: - oprot.writeFieldBegin('numModifiedRows', TType.I64, 11) + oprot.writeFieldBegin("numModifiedRows", TType.I64, 11) oprot.writeI64(self.numModifiedRows) oprot.writeFieldEnd() if self.displayMessage is not None: - oprot.writeFieldBegin('displayMessage', TType.STRING, 1281) - oprot.writeString(self.displayMessage.encode('utf-8') if sys.version_info[0] == 2 else self.displayMessage) + oprot.writeFieldBegin("displayMessage", TType.STRING, 1281) + oprot.writeString( + self.displayMessage.encode("utf-8") + if sys.version_info[0] == 2 + else self.displayMessage + ) oprot.writeFieldEnd() if self.diagnosticInfo is not None: - oprot.writeFieldBegin('diagnosticInfo', TType.STRING, 1282) - oprot.writeString(self.diagnosticInfo.encode('utf-8') if sys.version_info[0] == 2 else self.diagnosticInfo) + oprot.writeFieldBegin("diagnosticInfo", TType.STRING, 1282) + oprot.writeString( + self.diagnosticInfo.encode("utf-8") + if sys.version_info[0] == 2 + else self.diagnosticInfo + ) oprot.writeFieldEnd() if self.errorDetailsJson is not None: - oprot.writeFieldBegin('errorDetailsJson', TType.STRING, 1283) - oprot.writeString(self.errorDetailsJson.encode('utf-8') if sys.version_info[0] == 2 else self.errorDetailsJson) + oprot.writeFieldBegin("errorDetailsJson", TType.STRING, 1283) + oprot.writeString( + self.errorDetailsJson.encode("utf-8") + if sys.version_info[0] == 2 + else self.errorDetailsJson + ) oprot.writeFieldEnd() if self.responseValidation is not None: - oprot.writeFieldBegin('responseValidation', TType.STRING, 3329) + oprot.writeFieldBegin("responseValidation", TType.STRING, 3329) oprot.writeBinary(self.responseValidation) oprot.writeFieldEnd() if self.idempotencyType is not None: - oprot.writeFieldBegin('idempotencyType', TType.I32, 3330) + oprot.writeFieldBegin("idempotencyType", TType.I32, 3330) oprot.writeI32(self.idempotencyType) oprot.writeFieldEnd() if self.statementTimeout is not None: - oprot.writeFieldBegin('statementTimeout', TType.I64, 3331) + oprot.writeFieldBegin("statementTimeout", TType.I64, 3331) oprot.writeI64(self.statementTimeout) oprot.writeFieldEnd() if self.statementTimeoutLevel is not None: - oprot.writeFieldBegin('statementTimeoutLevel', TType.I32, 3332) + oprot.writeFieldBegin("statementTimeoutLevel", TType.I32, 3332) oprot.writeI32(self.statementTimeoutLevel) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -9000,13 +10529,12 @@ def write(self, oprot): def validate(self): if self.status is None: - raise TProtocolException(message='Required field status is unset!') + raise TProtocolException(message="Required field status is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -9024,14 +10552,22 @@ class TCancelOperationReq(object): """ - - def __init__(self, operationHandle=None, executionVersion=None, replacedByNextAttempt=None,): + def __init__( + self, + operationHandle=None, + executionVersion=None, + replacedByNextAttempt=None, + ): self.operationHandle = operationHandle self.executionVersion = executionVersion self.replacedByNextAttempt = replacedByNextAttempt def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -9062,19 +10598,21 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TCancelOperationReq') + oprot.writeStructBegin("TCancelOperationReq") if self.operationHandle is not None: - oprot.writeFieldBegin('operationHandle', TType.STRUCT, 1) + oprot.writeFieldBegin("operationHandle", TType.STRUCT, 1) self.operationHandle.write(oprot) oprot.writeFieldEnd() if self.executionVersion is not None: - oprot.writeFieldBegin('executionVersion', TType.I16, 3329) + oprot.writeFieldBegin("executionVersion", TType.I16, 3329) oprot.writeI16(self.executionVersion) oprot.writeFieldEnd() if self.replacedByNextAttempt is not None: - oprot.writeFieldBegin('replacedByNextAttempt', TType.BOOL, 3330) + oprot.writeFieldBegin("replacedByNextAttempt", TType.BOOL, 3330) oprot.writeBool(self.replacedByNextAttempt) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -9082,13 +10620,12 @@ def write(self, oprot): def validate(self): if self.operationHandle is None: - raise TProtocolException(message='Required field operationHandle is unset!') + raise TProtocolException(message="Required field operationHandle is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -9104,12 +10641,18 @@ class TCancelOperationResp(object): """ - - def __init__(self, status=None,): + def __init__( + self, + status=None, + ): self.status = status def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -9130,11 +10673,13 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TCancelOperationResp') + oprot.writeStructBegin("TCancelOperationResp") if self.status is not None: - oprot.writeFieldBegin('status', TType.STRUCT, 1) + oprot.writeFieldBegin("status", TType.STRUCT, 1) self.status.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -9142,13 +10687,12 @@ def write(self, oprot): def validate(self): if self.status is None: - raise TProtocolException(message='Required field status is unset!') + raise TProtocolException(message="Required field status is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -9165,13 +10709,20 @@ class TCloseOperationReq(object): """ - - def __init__(self, operationHandle=None, closeReason= 0,): + def __init__( + self, + operationHandle=None, + closeReason=0, + ): self.operationHandle = operationHandle self.closeReason = closeReason def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -9197,15 +10748,17 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TCloseOperationReq') + oprot.writeStructBegin("TCloseOperationReq") if self.operationHandle is not None: - oprot.writeFieldBegin('operationHandle', TType.STRUCT, 1) + oprot.writeFieldBegin("operationHandle", TType.STRUCT, 1) self.operationHandle.write(oprot) oprot.writeFieldEnd() if self.closeReason is not None: - oprot.writeFieldBegin('closeReason', TType.I32, 3329) + oprot.writeFieldBegin("closeReason", TType.I32, 3329) oprot.writeI32(self.closeReason) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -9213,13 +10766,12 @@ def write(self, oprot): def validate(self): if self.operationHandle is None: - raise TProtocolException(message='Required field operationHandle is unset!') + raise TProtocolException(message="Required field operationHandle is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -9235,12 +10787,18 @@ class TCloseOperationResp(object): """ - - def __init__(self, status=None,): + def __init__( + self, + status=None, + ): self.status = status def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -9261,11 +10819,13 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TCloseOperationResp') + oprot.writeStructBegin("TCloseOperationResp") if self.status is not None: - oprot.writeFieldBegin('status', TType.STRUCT, 1) + oprot.writeFieldBegin("status", TType.STRUCT, 1) self.status.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -9273,13 +10833,12 @@ def write(self, oprot): def validate(self): if self.status is None: - raise TProtocolException(message='Required field status is unset!') + raise TProtocolException(message="Required field status is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -9296,13 +10855,20 @@ class TGetResultSetMetadataReq(object): """ - - def __init__(self, operationHandle=None, includeCloudResultFiles=None,): + def __init__( + self, + operationHandle=None, + includeCloudResultFiles=None, + ): self.operationHandle = operationHandle self.includeCloudResultFiles = includeCloudResultFiles def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -9328,15 +10894,17 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TGetResultSetMetadataReq') + oprot.writeStructBegin("TGetResultSetMetadataReq") if self.operationHandle is not None: - oprot.writeFieldBegin('operationHandle', TType.STRUCT, 1) + oprot.writeFieldBegin("operationHandle", TType.STRUCT, 1) self.operationHandle.write(oprot) oprot.writeFieldEnd() if self.includeCloudResultFiles is not None: - oprot.writeFieldBegin('includeCloudResultFiles', TType.BOOL, 3329) + oprot.writeFieldBegin("includeCloudResultFiles", TType.BOOL, 3329) oprot.writeBool(self.includeCloudResultFiles) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -9344,13 +10912,12 @@ def write(self, oprot): def validate(self): if self.operationHandle is None: - raise TProtocolException(message='Required field operationHandle is unset!') + raise TProtocolException(message="Required field operationHandle is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -9386,8 +10953,30 @@ class TGetResultSetMetadataResp(object): """ - - def __init__(self, status=None, schema=None, resultFormat=None, lz4Compressed=None, arrowSchema=None, cacheLookupResult=None, uncompressedBytes=None, compressedBytes=None, isStagingOperation=None, reasonForNoCloudFetch=None, resultFiles=None, manifestFile=None, manifestFileFormat=None, cacheLookupLatency=None, remoteCacheMissReason=None, fetchDisposition=None, remoteResultCacheEnabled=None, isServerless=None, resultDataFormat=None, truncatedByThriftLimit=None, resultByteLimit=None,): + def __init__( + self, + status=None, + schema=None, + resultFormat=None, + lz4Compressed=None, + arrowSchema=None, + cacheLookupResult=None, + uncompressedBytes=None, + compressedBytes=None, + isStagingOperation=None, + reasonForNoCloudFetch=None, + resultFiles=None, + manifestFile=None, + manifestFileFormat=None, + cacheLookupLatency=None, + remoteCacheMissReason=None, + fetchDisposition=None, + remoteResultCacheEnabled=None, + isServerless=None, + resultDataFormat=None, + truncatedByThriftLimit=None, + resultByteLimit=None, + ): self.status = status self.schema = schema self.resultFormat = resultFormat @@ -9411,7 +11000,11 @@ def __init__(self, status=None, schema=None, resultFormat=None, lz4Compressed=No self.resultByteLimit = resultByteLimit def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -9484,7 +11077,11 @@ def read(self, iprot): iprot.skip(ftype) elif fid == 3331: if ftype == TType.STRING: - self.manifestFile = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.manifestFile = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 3332: @@ -9499,7 +11096,11 @@ def read(self, iprot): iprot.skip(ftype) elif fid == 3334: if ftype == TType.STRING: - self.remoteCacheMissReason = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.remoteCacheMissReason = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 3335: @@ -9540,94 +11141,104 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TGetResultSetMetadataResp') + oprot.writeStructBegin("TGetResultSetMetadataResp") if self.status is not None: - oprot.writeFieldBegin('status', TType.STRUCT, 1) + oprot.writeFieldBegin("status", TType.STRUCT, 1) self.status.write(oprot) oprot.writeFieldEnd() if self.schema is not None: - oprot.writeFieldBegin('schema', TType.STRUCT, 2) + oprot.writeFieldBegin("schema", TType.STRUCT, 2) self.schema.write(oprot) oprot.writeFieldEnd() if self.resultFormat is not None: - oprot.writeFieldBegin('resultFormat', TType.I32, 1281) + oprot.writeFieldBegin("resultFormat", TType.I32, 1281) oprot.writeI32(self.resultFormat) oprot.writeFieldEnd() if self.lz4Compressed is not None: - oprot.writeFieldBegin('lz4Compressed', TType.BOOL, 1282) + oprot.writeFieldBegin("lz4Compressed", TType.BOOL, 1282) oprot.writeBool(self.lz4Compressed) oprot.writeFieldEnd() if self.arrowSchema is not None: - oprot.writeFieldBegin('arrowSchema', TType.STRING, 1283) + oprot.writeFieldBegin("arrowSchema", TType.STRING, 1283) oprot.writeBinary(self.arrowSchema) oprot.writeFieldEnd() if self.cacheLookupResult is not None: - oprot.writeFieldBegin('cacheLookupResult', TType.I32, 1284) + oprot.writeFieldBegin("cacheLookupResult", TType.I32, 1284) oprot.writeI32(self.cacheLookupResult) oprot.writeFieldEnd() if self.uncompressedBytes is not None: - oprot.writeFieldBegin('uncompressedBytes', TType.I64, 1285) + oprot.writeFieldBegin("uncompressedBytes", TType.I64, 1285) oprot.writeI64(self.uncompressedBytes) oprot.writeFieldEnd() if self.compressedBytes is not None: - oprot.writeFieldBegin('compressedBytes', TType.I64, 1286) + oprot.writeFieldBegin("compressedBytes", TType.I64, 1286) oprot.writeI64(self.compressedBytes) oprot.writeFieldEnd() if self.isStagingOperation is not None: - oprot.writeFieldBegin('isStagingOperation', TType.BOOL, 1287) + oprot.writeFieldBegin("isStagingOperation", TType.BOOL, 1287) oprot.writeBool(self.isStagingOperation) oprot.writeFieldEnd() if self.reasonForNoCloudFetch is not None: - oprot.writeFieldBegin('reasonForNoCloudFetch', TType.I32, 3329) + oprot.writeFieldBegin("reasonForNoCloudFetch", TType.I32, 3329) oprot.writeI32(self.reasonForNoCloudFetch) oprot.writeFieldEnd() if self.resultFiles is not None: - oprot.writeFieldBegin('resultFiles', TType.LIST, 3330) + oprot.writeFieldBegin("resultFiles", TType.LIST, 3330) oprot.writeListBegin(TType.STRUCT, len(self.resultFiles)) for iter289 in self.resultFiles: iter289.write(oprot) oprot.writeListEnd() oprot.writeFieldEnd() if self.manifestFile is not None: - oprot.writeFieldBegin('manifestFile', TType.STRING, 3331) - oprot.writeString(self.manifestFile.encode('utf-8') if sys.version_info[0] == 2 else self.manifestFile) + oprot.writeFieldBegin("manifestFile", TType.STRING, 3331) + oprot.writeString( + self.manifestFile.encode("utf-8") + if sys.version_info[0] == 2 + else self.manifestFile + ) oprot.writeFieldEnd() if self.manifestFileFormat is not None: - oprot.writeFieldBegin('manifestFileFormat', TType.I32, 3332) + oprot.writeFieldBegin("manifestFileFormat", TType.I32, 3332) oprot.writeI32(self.manifestFileFormat) oprot.writeFieldEnd() if self.cacheLookupLatency is not None: - oprot.writeFieldBegin('cacheLookupLatency', TType.I64, 3333) + oprot.writeFieldBegin("cacheLookupLatency", TType.I64, 3333) oprot.writeI64(self.cacheLookupLatency) oprot.writeFieldEnd() if self.remoteCacheMissReason is not None: - oprot.writeFieldBegin('remoteCacheMissReason', TType.STRING, 3334) - oprot.writeString(self.remoteCacheMissReason.encode('utf-8') if sys.version_info[0] == 2 else self.remoteCacheMissReason) + oprot.writeFieldBegin("remoteCacheMissReason", TType.STRING, 3334) + oprot.writeString( + self.remoteCacheMissReason.encode("utf-8") + if sys.version_info[0] == 2 + else self.remoteCacheMissReason + ) oprot.writeFieldEnd() if self.fetchDisposition is not None: - oprot.writeFieldBegin('fetchDisposition', TType.I32, 3335) + oprot.writeFieldBegin("fetchDisposition", TType.I32, 3335) oprot.writeI32(self.fetchDisposition) oprot.writeFieldEnd() if self.remoteResultCacheEnabled is not None: - oprot.writeFieldBegin('remoteResultCacheEnabled', TType.BOOL, 3336) + oprot.writeFieldBegin("remoteResultCacheEnabled", TType.BOOL, 3336) oprot.writeBool(self.remoteResultCacheEnabled) oprot.writeFieldEnd() if self.isServerless is not None: - oprot.writeFieldBegin('isServerless', TType.BOOL, 3337) + oprot.writeFieldBegin("isServerless", TType.BOOL, 3337) oprot.writeBool(self.isServerless) oprot.writeFieldEnd() if self.resultDataFormat is not None: - oprot.writeFieldBegin('resultDataFormat', TType.STRUCT, 3344) + oprot.writeFieldBegin("resultDataFormat", TType.STRUCT, 3344) self.resultDataFormat.write(oprot) oprot.writeFieldEnd() if self.truncatedByThriftLimit is not None: - oprot.writeFieldBegin('truncatedByThriftLimit', TType.BOOL, 3345) + oprot.writeFieldBegin("truncatedByThriftLimit", TType.BOOL, 3345) oprot.writeBool(self.truncatedByThriftLimit) oprot.writeFieldEnd() if self.resultByteLimit is not None: - oprot.writeFieldBegin('resultByteLimit', TType.I64, 3346) + oprot.writeFieldBegin("resultByteLimit", TType.I64, 3346) oprot.writeI64(self.resultByteLimit) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -9635,13 +11246,12 @@ def write(self, oprot): def validate(self): if self.status is None: - raise TProtocolException(message='Required field status is unset!') + raise TProtocolException(message="Required field status is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -9663,8 +11273,16 @@ class TFetchResultsReq(object): """ - - def __init__(self, operationHandle=None, orientation= 0, maxRows=None, fetchType=0, maxBytes=None, startRowOffset=None, includeResultSetMetadata=None,): + def __init__( + self, + operationHandle=None, + orientation=0, + maxRows=None, + fetchType=0, + maxBytes=None, + startRowOffset=None, + includeResultSetMetadata=None, + ): self.operationHandle = operationHandle self.orientation = orientation self.maxRows = maxRows @@ -9674,7 +11292,11 @@ def __init__(self, operationHandle=None, orientation= 0, maxRows=None, fetchT self.includeResultSetMetadata = includeResultSetMetadata def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -9725,35 +11347,37 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TFetchResultsReq') + oprot.writeStructBegin("TFetchResultsReq") if self.operationHandle is not None: - oprot.writeFieldBegin('operationHandle', TType.STRUCT, 1) + oprot.writeFieldBegin("operationHandle", TType.STRUCT, 1) self.operationHandle.write(oprot) oprot.writeFieldEnd() if self.orientation is not None: - oprot.writeFieldBegin('orientation', TType.I32, 2) + oprot.writeFieldBegin("orientation", TType.I32, 2) oprot.writeI32(self.orientation) oprot.writeFieldEnd() if self.maxRows is not None: - oprot.writeFieldBegin('maxRows', TType.I64, 3) + oprot.writeFieldBegin("maxRows", TType.I64, 3) oprot.writeI64(self.maxRows) oprot.writeFieldEnd() if self.fetchType is not None: - oprot.writeFieldBegin('fetchType', TType.I16, 4) + oprot.writeFieldBegin("fetchType", TType.I16, 4) oprot.writeI16(self.fetchType) oprot.writeFieldEnd() if self.maxBytes is not None: - oprot.writeFieldBegin('maxBytes', TType.I64, 1281) + oprot.writeFieldBegin("maxBytes", TType.I64, 1281) oprot.writeI64(self.maxBytes) oprot.writeFieldEnd() if self.startRowOffset is not None: - oprot.writeFieldBegin('startRowOffset', TType.I64, 1282) + oprot.writeFieldBegin("startRowOffset", TType.I64, 1282) oprot.writeI64(self.startRowOffset) oprot.writeFieldEnd() if self.includeResultSetMetadata is not None: - oprot.writeFieldBegin('includeResultSetMetadata', TType.BOOL, 1283) + oprot.writeFieldBegin("includeResultSetMetadata", TType.BOOL, 1283) oprot.writeBool(self.includeResultSetMetadata) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -9761,17 +11385,16 @@ def write(self, oprot): def validate(self): if self.operationHandle is None: - raise TProtocolException(message='Required field operationHandle is unset!') + raise TProtocolException(message="Required field operationHandle is unset!") if self.orientation is None: - raise TProtocolException(message='Required field orientation is unset!') + raise TProtocolException(message="Required field orientation is unset!") if self.maxRows is None: - raise TProtocolException(message='Required field maxRows is unset!') + raise TProtocolException(message="Required field maxRows is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -9791,8 +11414,14 @@ class TFetchResultsResp(object): """ - - def __init__(self, status=None, hasMoreRows=None, results=None, resultSetMetadata=None, responseValidation=None,): + def __init__( + self, + status=None, + hasMoreRows=None, + results=None, + resultSetMetadata=None, + responseValidation=None, + ): self.status = status self.hasMoreRows = hasMoreRows self.results = results @@ -9800,7 +11429,11 @@ def __init__(self, status=None, hasMoreRows=None, results=None, resultSetMetadat self.responseValidation = responseValidation def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -9843,27 +11476,29 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TFetchResultsResp') + oprot.writeStructBegin("TFetchResultsResp") if self.status is not None: - oprot.writeFieldBegin('status', TType.STRUCT, 1) + oprot.writeFieldBegin("status", TType.STRUCT, 1) self.status.write(oprot) oprot.writeFieldEnd() if self.hasMoreRows is not None: - oprot.writeFieldBegin('hasMoreRows', TType.BOOL, 2) + oprot.writeFieldBegin("hasMoreRows", TType.BOOL, 2) oprot.writeBool(self.hasMoreRows) oprot.writeFieldEnd() if self.results is not None: - oprot.writeFieldBegin('results', TType.STRUCT, 3) + oprot.writeFieldBegin("results", TType.STRUCT, 3) self.results.write(oprot) oprot.writeFieldEnd() if self.resultSetMetadata is not None: - oprot.writeFieldBegin('resultSetMetadata', TType.STRUCT, 1281) + oprot.writeFieldBegin("resultSetMetadata", TType.STRUCT, 1281) self.resultSetMetadata.write(oprot) oprot.writeFieldEnd() if self.responseValidation is not None: - oprot.writeFieldBegin('responseValidation', TType.STRING, 3329) + oprot.writeFieldBegin("responseValidation", TType.STRING, 3329) oprot.writeBinary(self.responseValidation) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -9871,13 +11506,12 @@ def write(self, oprot): def validate(self): if self.status is None: - raise TProtocolException(message='Required field status is unset!') + raise TProtocolException(message="Required field status is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -9896,15 +11530,24 @@ class TGetDelegationTokenReq(object): """ - - def __init__(self, sessionHandle=None, owner=None, renewer=None, sessionConf=None,): + def __init__( + self, + sessionHandle=None, + owner=None, + renewer=None, + sessionConf=None, + ): self.sessionHandle = sessionHandle self.owner = owner self.renewer = renewer self.sessionConf = sessionConf def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -9920,12 +11563,20 @@ def read(self, iprot): iprot.skip(ftype) elif fid == 2: if ftype == TType.STRING: - self.owner = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.owner = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 3: if ftype == TType.STRING: - self.renewer = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.renewer = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 3329: @@ -9941,23 +11592,31 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TGetDelegationTokenReq') + oprot.writeStructBegin("TGetDelegationTokenReq") if self.sessionHandle is not None: - oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 1) + oprot.writeFieldBegin("sessionHandle", TType.STRUCT, 1) self.sessionHandle.write(oprot) oprot.writeFieldEnd() if self.owner is not None: - oprot.writeFieldBegin('owner', TType.STRING, 2) - oprot.writeString(self.owner.encode('utf-8') if sys.version_info[0] == 2 else self.owner) + oprot.writeFieldBegin("owner", TType.STRING, 2) + oprot.writeString( + self.owner.encode("utf-8") if sys.version_info[0] == 2 else self.owner + ) oprot.writeFieldEnd() if self.renewer is not None: - oprot.writeFieldBegin('renewer', TType.STRING, 3) - oprot.writeString(self.renewer.encode('utf-8') if sys.version_info[0] == 2 else self.renewer) + oprot.writeFieldBegin("renewer", TType.STRING, 3) + oprot.writeString( + self.renewer.encode("utf-8") + if sys.version_info[0] == 2 + else self.renewer + ) oprot.writeFieldEnd() if self.sessionConf is not None: - oprot.writeFieldBegin('sessionConf', TType.STRUCT, 3329) + oprot.writeFieldBegin("sessionConf", TType.STRUCT, 3329) self.sessionConf.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -9965,17 +11624,16 @@ def write(self, oprot): def validate(self): if self.sessionHandle is None: - raise TProtocolException(message='Required field sessionHandle is unset!') + raise TProtocolException(message="Required field sessionHandle is unset!") if self.owner is None: - raise TProtocolException(message='Required field owner is unset!') + raise TProtocolException(message="Required field owner is unset!") if self.renewer is None: - raise TProtocolException(message='Required field renewer is unset!') + raise TProtocolException(message="Required field renewer is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -9992,13 +11650,20 @@ class TGetDelegationTokenResp(object): """ - - def __init__(self, status=None, delegationToken=None,): + def __init__( + self, + status=None, + delegationToken=None, + ): self.status = status self.delegationToken = delegationToken def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -10014,7 +11679,11 @@ def read(self, iprot): iprot.skip(ftype) elif fid == 2: if ftype == TType.STRING: - self.delegationToken = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.delegationToken = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) else: @@ -10024,29 +11693,34 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TGetDelegationTokenResp') + oprot.writeStructBegin("TGetDelegationTokenResp") if self.status is not None: - oprot.writeFieldBegin('status', TType.STRUCT, 1) + oprot.writeFieldBegin("status", TType.STRUCT, 1) self.status.write(oprot) oprot.writeFieldEnd() if self.delegationToken is not None: - oprot.writeFieldBegin('delegationToken', TType.STRING, 2) - oprot.writeString(self.delegationToken.encode('utf-8') if sys.version_info[0] == 2 else self.delegationToken) + oprot.writeFieldBegin("delegationToken", TType.STRING, 2) + oprot.writeString( + self.delegationToken.encode("utf-8") + if sys.version_info[0] == 2 + else self.delegationToken + ) oprot.writeFieldEnd() oprot.writeFieldStop() oprot.writeStructEnd() def validate(self): if self.status is None: - raise TProtocolException(message='Required field status is unset!') + raise TProtocolException(message="Required field status is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -10064,14 +11738,22 @@ class TCancelDelegationTokenReq(object): """ - - def __init__(self, sessionHandle=None, delegationToken=None, sessionConf=None,): + def __init__( + self, + sessionHandle=None, + delegationToken=None, + sessionConf=None, + ): self.sessionHandle = sessionHandle self.delegationToken = delegationToken self.sessionConf = sessionConf def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -10087,7 +11769,11 @@ def read(self, iprot): iprot.skip(ftype) elif fid == 2: if ftype == TType.STRING: - self.delegationToken = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.delegationToken = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 3329: @@ -10103,19 +11789,25 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TCancelDelegationTokenReq') + oprot.writeStructBegin("TCancelDelegationTokenReq") if self.sessionHandle is not None: - oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 1) + oprot.writeFieldBegin("sessionHandle", TType.STRUCT, 1) self.sessionHandle.write(oprot) oprot.writeFieldEnd() if self.delegationToken is not None: - oprot.writeFieldBegin('delegationToken', TType.STRING, 2) - oprot.writeString(self.delegationToken.encode('utf-8') if sys.version_info[0] == 2 else self.delegationToken) + oprot.writeFieldBegin("delegationToken", TType.STRING, 2) + oprot.writeString( + self.delegationToken.encode("utf-8") + if sys.version_info[0] == 2 + else self.delegationToken + ) oprot.writeFieldEnd() if self.sessionConf is not None: - oprot.writeFieldBegin('sessionConf', TType.STRUCT, 3329) + oprot.writeFieldBegin("sessionConf", TType.STRUCT, 3329) self.sessionConf.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -10123,15 +11815,14 @@ def write(self, oprot): def validate(self): if self.sessionHandle is None: - raise TProtocolException(message='Required field sessionHandle is unset!') + raise TProtocolException(message="Required field sessionHandle is unset!") if self.delegationToken is None: - raise TProtocolException(message='Required field delegationToken is unset!') + raise TProtocolException(message="Required field delegationToken is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -10147,12 +11838,18 @@ class TCancelDelegationTokenResp(object): """ - - def __init__(self, status=None,): + def __init__( + self, + status=None, + ): self.status = status def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -10173,11 +11870,13 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TCancelDelegationTokenResp') + oprot.writeStructBegin("TCancelDelegationTokenResp") if self.status is not None: - oprot.writeFieldBegin('status', TType.STRUCT, 1) + oprot.writeFieldBegin("status", TType.STRUCT, 1) self.status.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -10185,13 +11884,12 @@ def write(self, oprot): def validate(self): if self.status is None: - raise TProtocolException(message='Required field status is unset!') + raise TProtocolException(message="Required field status is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -10209,14 +11907,22 @@ class TRenewDelegationTokenReq(object): """ - - def __init__(self, sessionHandle=None, delegationToken=None, sessionConf=None,): + def __init__( + self, + sessionHandle=None, + delegationToken=None, + sessionConf=None, + ): self.sessionHandle = sessionHandle self.delegationToken = delegationToken self.sessionConf = sessionConf def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -10232,7 +11938,11 @@ def read(self, iprot): iprot.skip(ftype) elif fid == 2: if ftype == TType.STRING: - self.delegationToken = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.delegationToken = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 3329: @@ -10248,19 +11958,25 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TRenewDelegationTokenReq') + oprot.writeStructBegin("TRenewDelegationTokenReq") if self.sessionHandle is not None: - oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 1) + oprot.writeFieldBegin("sessionHandle", TType.STRUCT, 1) self.sessionHandle.write(oprot) oprot.writeFieldEnd() if self.delegationToken is not None: - oprot.writeFieldBegin('delegationToken', TType.STRING, 2) - oprot.writeString(self.delegationToken.encode('utf-8') if sys.version_info[0] == 2 else self.delegationToken) + oprot.writeFieldBegin("delegationToken", TType.STRING, 2) + oprot.writeString( + self.delegationToken.encode("utf-8") + if sys.version_info[0] == 2 + else self.delegationToken + ) oprot.writeFieldEnd() if self.sessionConf is not None: - oprot.writeFieldBegin('sessionConf', TType.STRUCT, 3329) + oprot.writeFieldBegin("sessionConf", TType.STRUCT, 3329) self.sessionConf.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -10268,15 +11984,14 @@ def write(self, oprot): def validate(self): if self.sessionHandle is None: - raise TProtocolException(message='Required field sessionHandle is unset!') + raise TProtocolException(message="Required field sessionHandle is unset!") if self.delegationToken is None: - raise TProtocolException(message='Required field delegationToken is unset!') + raise TProtocolException(message="Required field delegationToken is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -10292,12 +12007,18 @@ class TRenewDelegationTokenResp(object): """ - - def __init__(self, status=None,): + def __init__( + self, + status=None, + ): self.status = status def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -10318,11 +12039,13 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TRenewDelegationTokenResp') + oprot.writeStructBegin("TRenewDelegationTokenResp") if self.status is not None: - oprot.writeFieldBegin('status', TType.STRUCT, 1) + oprot.writeFieldBegin("status", TType.STRUCT, 1) self.status.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -10330,13 +12053,12 @@ def write(self, oprot): def validate(self): if self.status is None: - raise TProtocolException(message='Required field status is unset!') + raise TProtocolException(message="Required field status is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ @@ -10357,8 +12079,15 @@ class TProgressUpdateResp(object): """ - - def __init__(self, headerNames=None, rows=None, progressedPercentage=None, status=None, footerSummary=None, startTime=None,): + def __init__( + self, + headerNames=None, + rows=None, + progressedPercentage=None, + status=None, + footerSummary=None, + startTime=None, + ): self.headerNames = headerNames self.rows = rows self.progressedPercentage = progressedPercentage @@ -10367,7 +12096,11 @@ def __init__(self, headerNames=None, rows=None, progressedPercentage=None, statu self.startTime = startTime def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + if ( + iprot._fast_decode is not None + and isinstance(iprot.trans, TTransport.CReadableTransport) + and self.thrift_spec is not None + ): iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -10380,7 +12113,11 @@ def read(self, iprot): self.headerNames = [] (_etype293, _size290) = iprot.readListBegin() for _i294 in range(_size290): - _elem295 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + _elem295 = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) self.headerNames.append(_elem295) iprot.readListEnd() else: @@ -10393,7 +12130,11 @@ def read(self, iprot): _elem301 = [] (_etype305, _size302) = iprot.readListBegin() for _i306 in range(_size302): - _elem307 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + _elem307 = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) _elem301.append(_elem307) iprot.readListEnd() self.rows.append(_elem301) @@ -10412,7 +12153,11 @@ def read(self, iprot): iprot.skip(ftype) elif fid == 5: if ftype == TType.STRING: - self.footerSummary = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.footerSummary = ( + iprot.readString().decode("utf-8", errors="replace") + if sys.version_info[0] == 2 + else iprot.readString() + ) else: iprot.skip(ftype) elif fid == 6: @@ -10427,40 +12172,50 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + oprot.trans.write( + oprot._fast_encode(self, [self.__class__, self.thrift_spec]) + ) return - oprot.writeStructBegin('TProgressUpdateResp') + oprot.writeStructBegin("TProgressUpdateResp") if self.headerNames is not None: - oprot.writeFieldBegin('headerNames', TType.LIST, 1) + oprot.writeFieldBegin("headerNames", TType.LIST, 1) oprot.writeListBegin(TType.STRING, len(self.headerNames)) for iter308 in self.headerNames: - oprot.writeString(iter308.encode('utf-8') if sys.version_info[0] == 2 else iter308) + oprot.writeString( + iter308.encode("utf-8") if sys.version_info[0] == 2 else iter308 + ) oprot.writeListEnd() oprot.writeFieldEnd() if self.rows is not None: - oprot.writeFieldBegin('rows', TType.LIST, 2) + oprot.writeFieldBegin("rows", TType.LIST, 2) oprot.writeListBegin(TType.LIST, len(self.rows)) for iter309 in self.rows: oprot.writeListBegin(TType.STRING, len(iter309)) for iter310 in iter309: - oprot.writeString(iter310.encode('utf-8') if sys.version_info[0] == 2 else iter310) + oprot.writeString( + iter310.encode("utf-8") if sys.version_info[0] == 2 else iter310 + ) oprot.writeListEnd() oprot.writeListEnd() oprot.writeFieldEnd() if self.progressedPercentage is not None: - oprot.writeFieldBegin('progressedPercentage', TType.DOUBLE, 3) + oprot.writeFieldBegin("progressedPercentage", TType.DOUBLE, 3) oprot.writeDouble(self.progressedPercentage) oprot.writeFieldEnd() if self.status is not None: - oprot.writeFieldBegin('status', TType.I32, 4) + oprot.writeFieldBegin("status", TType.I32, 4) oprot.writeI32(self.status) oprot.writeFieldEnd() if self.footerSummary is not None: - oprot.writeFieldBegin('footerSummary', TType.STRING, 5) - oprot.writeString(self.footerSummary.encode('utf-8') if sys.version_info[0] == 2 else self.footerSummary) + oprot.writeFieldBegin("footerSummary", TType.STRING, 5) + oprot.writeString( + self.footerSummary.encode("utf-8") + if sys.version_info[0] == 2 + else self.footerSummary + ) oprot.writeFieldEnd() if self.startTime is not None: - oprot.writeFieldBegin('startTime', TType.I64, 6) + oprot.writeFieldBegin("startTime", TType.I64, 6) oprot.writeI64(self.startTime) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -10468,270 +12223,813 @@ def write(self, oprot): def validate(self): if self.headerNames is None: - raise TProtocolException(message='Required field headerNames is unset!') + raise TProtocolException(message="Required field headerNames is unset!") if self.rows is None: - raise TProtocolException(message='Required field rows is unset!') + raise TProtocolException(message="Required field rows is unset!") if self.progressedPercentage is None: - raise TProtocolException(message='Required field progressedPercentage is unset!') + raise TProtocolException( + message="Required field progressedPercentage is unset!" + ) if self.status is None: - raise TProtocolException(message='Required field status is unset!') + raise TProtocolException(message="Required field status is unset!") if self.footerSummary is None: - raise TProtocolException(message='Required field footerSummary is unset!') + raise TProtocolException(message="Required field footerSummary is unset!") if self.startTime is None: - raise TProtocolException(message='Required field startTime is unset!') + raise TProtocolException(message="Required field startTime is unset!") return def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] + return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) + + all_structs.append(TTypeQualifierValue) TTypeQualifierValue.thrift_spec = ( None, # 0 - (1, TType.I32, 'i32Value', None, None, ), # 1 - (2, TType.STRING, 'stringValue', 'UTF8', None, ), # 2 + ( + 1, + TType.I32, + "i32Value", + None, + None, + ), # 1 + ( + 2, + TType.STRING, + "stringValue", + "UTF8", + None, + ), # 2 ) all_structs.append(TTypeQualifiers) TTypeQualifiers.thrift_spec = ( None, # 0 - (1, TType.MAP, 'qualifiers', (TType.STRING, 'UTF8', TType.STRUCT, [TTypeQualifierValue, None], False), None, ), # 1 + ( + 1, + TType.MAP, + "qualifiers", + (TType.STRING, "UTF8", TType.STRUCT, [TTypeQualifierValue, None], False), + None, + ), # 1 ) all_structs.append(TTAllowedParameterValueEntry) TTAllowedParameterValueEntry.thrift_spec = ( None, # 0 - (1, TType.I32, 'type', None, None, ), # 1 - (2, TType.STRUCT, 'typeQualifiers', [TTypeQualifiers, None], None, ), # 2 + ( + 1, + TType.I32, + "type", + None, + None, + ), # 1 + ( + 2, + TType.STRUCT, + "typeQualifiers", + [TTypeQualifiers, None], + None, + ), # 2 ) all_structs.append(TArrayTypeEntry) TArrayTypeEntry.thrift_spec = ( None, # 0 - (1, TType.I32, 'objectTypePtr', None, None, ), # 1 + ( + 1, + TType.I32, + "objectTypePtr", + None, + None, + ), # 1 ) all_structs.append(TMapTypeEntry) TMapTypeEntry.thrift_spec = ( None, # 0 - (1, TType.I32, 'keyTypePtr', None, None, ), # 1 - (2, TType.I32, 'valueTypePtr', None, None, ), # 2 + ( + 1, + TType.I32, + "keyTypePtr", + None, + None, + ), # 1 + ( + 2, + TType.I32, + "valueTypePtr", + None, + None, + ), # 2 ) all_structs.append(TStructTypeEntry) TStructTypeEntry.thrift_spec = ( None, # 0 - (1, TType.MAP, 'nameToTypePtr', (TType.STRING, 'UTF8', TType.I32, None, False), None, ), # 1 + ( + 1, + TType.MAP, + "nameToTypePtr", + (TType.STRING, "UTF8", TType.I32, None, False), + None, + ), # 1 ) all_structs.append(TUnionTypeEntry) TUnionTypeEntry.thrift_spec = ( None, # 0 - (1, TType.MAP, 'nameToTypePtr', (TType.STRING, 'UTF8', TType.I32, None, False), None, ), # 1 + ( + 1, + TType.MAP, + "nameToTypePtr", + (TType.STRING, "UTF8", TType.I32, None, False), + None, + ), # 1 ) all_structs.append(TUserDefinedTypeEntry) TUserDefinedTypeEntry.thrift_spec = ( None, # 0 - (1, TType.STRING, 'typeClassName', 'UTF8', None, ), # 1 + ( + 1, + TType.STRING, + "typeClassName", + "UTF8", + None, + ), # 1 ) all_structs.append(TTypeEntry) TTypeEntry.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'primitiveEntry', [TTAllowedParameterValueEntry, None], None, ), # 1 - (2, TType.STRUCT, 'arrayEntry', [TArrayTypeEntry, None], None, ), # 2 - (3, TType.STRUCT, 'mapEntry', [TMapTypeEntry, None], None, ), # 3 - (4, TType.STRUCT, 'structEntry', [TStructTypeEntry, None], None, ), # 4 - (5, TType.STRUCT, 'unionEntry', [TUnionTypeEntry, None], None, ), # 5 - (6, TType.STRUCT, 'userDefinedTypeEntry', [TUserDefinedTypeEntry, None], None, ), # 6 + ( + 1, + TType.STRUCT, + "primitiveEntry", + [TTAllowedParameterValueEntry, None], + None, + ), # 1 + ( + 2, + TType.STRUCT, + "arrayEntry", + [TArrayTypeEntry, None], + None, + ), # 2 + ( + 3, + TType.STRUCT, + "mapEntry", + [TMapTypeEntry, None], + None, + ), # 3 + ( + 4, + TType.STRUCT, + "structEntry", + [TStructTypeEntry, None], + None, + ), # 4 + ( + 5, + TType.STRUCT, + "unionEntry", + [TUnionTypeEntry, None], + None, + ), # 5 + ( + 6, + TType.STRUCT, + "userDefinedTypeEntry", + [TUserDefinedTypeEntry, None], + None, + ), # 6 ) all_structs.append(TTypeDesc) TTypeDesc.thrift_spec = ( None, # 0 - (1, TType.LIST, 'types', (TType.STRUCT, [TTypeEntry, None], False), None, ), # 1 + ( + 1, + TType.LIST, + "types", + (TType.STRUCT, [TTypeEntry, None], False), + None, + ), # 1 ) all_structs.append(TColumnDesc) TColumnDesc.thrift_spec = ( None, # 0 - (1, TType.STRING, 'columnName', 'UTF8', None, ), # 1 - (2, TType.STRUCT, 'typeDesc', [TTypeDesc, None], None, ), # 2 - (3, TType.I32, 'position', None, None, ), # 3 - (4, TType.STRING, 'comment', 'UTF8', None, ), # 4 + ( + 1, + TType.STRING, + "columnName", + "UTF8", + None, + ), # 1 + ( + 2, + TType.STRUCT, + "typeDesc", + [TTypeDesc, None], + None, + ), # 2 + ( + 3, + TType.I32, + "position", + None, + None, + ), # 3 + ( + 4, + TType.STRING, + "comment", + "UTF8", + None, + ), # 4 ) all_structs.append(TTableSchema) TTableSchema.thrift_spec = ( None, # 0 - (1, TType.LIST, 'columns', (TType.STRUCT, [TColumnDesc, None], False), None, ), # 1 + ( + 1, + TType.LIST, + "columns", + (TType.STRUCT, [TColumnDesc, None], False), + None, + ), # 1 ) all_structs.append(TBoolValue) TBoolValue.thrift_spec = ( None, # 0 - (1, TType.BOOL, 'value', None, None, ), # 1 + ( + 1, + TType.BOOL, + "value", + None, + None, + ), # 1 ) all_structs.append(TByteValue) TByteValue.thrift_spec = ( None, # 0 - (1, TType.BYTE, 'value', None, None, ), # 1 + ( + 1, + TType.BYTE, + "value", + None, + None, + ), # 1 ) all_structs.append(TI16Value) TI16Value.thrift_spec = ( None, # 0 - (1, TType.I16, 'value', None, None, ), # 1 + ( + 1, + TType.I16, + "value", + None, + None, + ), # 1 ) all_structs.append(TI32Value) TI32Value.thrift_spec = ( None, # 0 - (1, TType.I32, 'value', None, None, ), # 1 + ( + 1, + TType.I32, + "value", + None, + None, + ), # 1 ) all_structs.append(TI64Value) TI64Value.thrift_spec = ( None, # 0 - (1, TType.I64, 'value', None, None, ), # 1 + ( + 1, + TType.I64, + "value", + None, + None, + ), # 1 ) all_structs.append(TDoubleValue) TDoubleValue.thrift_spec = ( None, # 0 - (1, TType.DOUBLE, 'value', None, None, ), # 1 + ( + 1, + TType.DOUBLE, + "value", + None, + None, + ), # 1 ) all_structs.append(TStringValue) TStringValue.thrift_spec = ( None, # 0 - (1, TType.STRING, 'value', 'UTF8', None, ), # 1 + ( + 1, + TType.STRING, + "value", + "UTF8", + None, + ), # 1 ) all_structs.append(TColumnValue) TColumnValue.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'boolVal', [TBoolValue, None], None, ), # 1 - (2, TType.STRUCT, 'byteVal', [TByteValue, None], None, ), # 2 - (3, TType.STRUCT, 'i16Val', [TI16Value, None], None, ), # 3 - (4, TType.STRUCT, 'i32Val', [TI32Value, None], None, ), # 4 - (5, TType.STRUCT, 'i64Val', [TI64Value, None], None, ), # 5 - (6, TType.STRUCT, 'doubleVal', [TDoubleValue, None], None, ), # 6 - (7, TType.STRUCT, 'stringVal', [TStringValue, None], None, ), # 7 + ( + 1, + TType.STRUCT, + "boolVal", + [TBoolValue, None], + None, + ), # 1 + ( + 2, + TType.STRUCT, + "byteVal", + [TByteValue, None], + None, + ), # 2 + ( + 3, + TType.STRUCT, + "i16Val", + [TI16Value, None], + None, + ), # 3 + ( + 4, + TType.STRUCT, + "i32Val", + [TI32Value, None], + None, + ), # 4 + ( + 5, + TType.STRUCT, + "i64Val", + [TI64Value, None], + None, + ), # 5 + ( + 6, + TType.STRUCT, + "doubleVal", + [TDoubleValue, None], + None, + ), # 6 + ( + 7, + TType.STRUCT, + "stringVal", + [TStringValue, None], + None, + ), # 7 ) all_structs.append(TRow) TRow.thrift_spec = ( None, # 0 - (1, TType.LIST, 'colVals', (TType.STRUCT, [TColumnValue, None], False), None, ), # 1 + ( + 1, + TType.LIST, + "colVals", + (TType.STRUCT, [TColumnValue, None], False), + None, + ), # 1 ) all_structs.append(TBoolColumn) TBoolColumn.thrift_spec = ( None, # 0 - (1, TType.LIST, 'values', (TType.BOOL, None, False), None, ), # 1 - (2, TType.STRING, 'nulls', 'BINARY', None, ), # 2 + ( + 1, + TType.LIST, + "values", + (TType.BOOL, None, False), + None, + ), # 1 + ( + 2, + TType.STRING, + "nulls", + "BINARY", + None, + ), # 2 ) all_structs.append(TByteColumn) TByteColumn.thrift_spec = ( None, # 0 - (1, TType.LIST, 'values', (TType.BYTE, None, False), None, ), # 1 - (2, TType.STRING, 'nulls', 'BINARY', None, ), # 2 + ( + 1, + TType.LIST, + "values", + (TType.BYTE, None, False), + None, + ), # 1 + ( + 2, + TType.STRING, + "nulls", + "BINARY", + None, + ), # 2 ) all_structs.append(TI16Column) TI16Column.thrift_spec = ( None, # 0 - (1, TType.LIST, 'values', (TType.I16, None, False), None, ), # 1 - (2, TType.STRING, 'nulls', 'BINARY', None, ), # 2 + ( + 1, + TType.LIST, + "values", + (TType.I16, None, False), + None, + ), # 1 + ( + 2, + TType.STRING, + "nulls", + "BINARY", + None, + ), # 2 ) all_structs.append(TI32Column) TI32Column.thrift_spec = ( None, # 0 - (1, TType.LIST, 'values', (TType.I32, None, False), None, ), # 1 - (2, TType.STRING, 'nulls', 'BINARY', None, ), # 2 + ( + 1, + TType.LIST, + "values", + (TType.I32, None, False), + None, + ), # 1 + ( + 2, + TType.STRING, + "nulls", + "BINARY", + None, + ), # 2 ) all_structs.append(TI64Column) TI64Column.thrift_spec = ( None, # 0 - (1, TType.LIST, 'values', (TType.I64, None, False), None, ), # 1 - (2, TType.STRING, 'nulls', 'BINARY', None, ), # 2 + ( + 1, + TType.LIST, + "values", + (TType.I64, None, False), + None, + ), # 1 + ( + 2, + TType.STRING, + "nulls", + "BINARY", + None, + ), # 2 ) all_structs.append(TDoubleColumn) TDoubleColumn.thrift_spec = ( None, # 0 - (1, TType.LIST, 'values', (TType.DOUBLE, None, False), None, ), # 1 - (2, TType.STRING, 'nulls', 'BINARY', None, ), # 2 + ( + 1, + TType.LIST, + "values", + (TType.DOUBLE, None, False), + None, + ), # 1 + ( + 2, + TType.STRING, + "nulls", + "BINARY", + None, + ), # 2 ) all_structs.append(TStringColumn) TStringColumn.thrift_spec = ( None, # 0 - (1, TType.LIST, 'values', (TType.STRING, 'UTF8', False), None, ), # 1 - (2, TType.STRING, 'nulls', 'BINARY', None, ), # 2 + ( + 1, + TType.LIST, + "values", + (TType.STRING, "UTF8", False), + None, + ), # 1 + ( + 2, + TType.STRING, + "nulls", + "BINARY", + None, + ), # 2 ) all_structs.append(TBinaryColumn) TBinaryColumn.thrift_spec = ( None, # 0 - (1, TType.LIST, 'values', (TType.STRING, 'BINARY', False), None, ), # 1 - (2, TType.STRING, 'nulls', 'BINARY', None, ), # 2 + ( + 1, + TType.LIST, + "values", + (TType.STRING, "BINARY", False), + None, + ), # 1 + ( + 2, + TType.STRING, + "nulls", + "BINARY", + None, + ), # 2 ) all_structs.append(TColumn) TColumn.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'boolVal', [TBoolColumn, None], None, ), # 1 - (2, TType.STRUCT, 'byteVal', [TByteColumn, None], None, ), # 2 - (3, TType.STRUCT, 'i16Val', [TI16Column, None], None, ), # 3 - (4, TType.STRUCT, 'i32Val', [TI32Column, None], None, ), # 4 - (5, TType.STRUCT, 'i64Val', [TI64Column, None], None, ), # 5 - (6, TType.STRUCT, 'doubleVal', [TDoubleColumn, None], None, ), # 6 - (7, TType.STRUCT, 'stringVal', [TStringColumn, None], None, ), # 7 - (8, TType.STRUCT, 'binaryVal', [TBinaryColumn, None], None, ), # 8 + ( + 1, + TType.STRUCT, + "boolVal", + [TBoolColumn, None], + None, + ), # 1 + ( + 2, + TType.STRUCT, + "byteVal", + [TByteColumn, None], + None, + ), # 2 + ( + 3, + TType.STRUCT, + "i16Val", + [TI16Column, None], + None, + ), # 3 + ( + 4, + TType.STRUCT, + "i32Val", + [TI32Column, None], + None, + ), # 4 + ( + 5, + TType.STRUCT, + "i64Val", + [TI64Column, None], + None, + ), # 5 + ( + 6, + TType.STRUCT, + "doubleVal", + [TDoubleColumn, None], + None, + ), # 6 + ( + 7, + TType.STRUCT, + "stringVal", + [TStringColumn, None], + None, + ), # 7 + ( + 8, + TType.STRUCT, + "binaryVal", + [TBinaryColumn, None], + None, + ), # 8 ) all_structs.append(TDBSqlJsonArrayFormat) TDBSqlJsonArrayFormat.thrift_spec = ( None, # 0 - (1, TType.I32, 'compressionCodec', None, None, ), # 1 + ( + 1, + TType.I32, + "compressionCodec", + None, + None, + ), # 1 ) all_structs.append(TDBSqlCsvFormat) TDBSqlCsvFormat.thrift_spec = ( None, # 0 - (1, TType.I32, 'compressionCodec', None, None, ), # 1 + ( + 1, + TType.I32, + "compressionCodec", + None, + None, + ), # 1 ) all_structs.append(TDBSqlArrowFormat) TDBSqlArrowFormat.thrift_spec = ( None, # 0 - (1, TType.I32, 'arrowLayout', None, None, ), # 1 - (2, TType.I32, 'compressionCodec', None, None, ), # 2 + ( + 1, + TType.I32, + "arrowLayout", + None, + None, + ), # 1 + ( + 2, + TType.I32, + "compressionCodec", + None, + None, + ), # 2 ) all_structs.append(TDBSqlResultFormat) TDBSqlResultFormat.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'arrowFormat', [TDBSqlArrowFormat, None], None, ), # 1 - (2, TType.STRUCT, 'csvFormat', [TDBSqlCsvFormat, None], None, ), # 2 - (3, TType.STRUCT, 'jsonArrayFormat', [TDBSqlJsonArrayFormat, None], None, ), # 3 + ( + 1, + TType.STRUCT, + "arrowFormat", + [TDBSqlArrowFormat, None], + None, + ), # 1 + ( + 2, + TType.STRUCT, + "csvFormat", + [TDBSqlCsvFormat, None], + None, + ), # 2 + ( + 3, + TType.STRUCT, + "jsonArrayFormat", + [TDBSqlJsonArrayFormat, None], + None, + ), # 3 ) all_structs.append(TSparkArrowBatch) TSparkArrowBatch.thrift_spec = ( None, # 0 - (1, TType.STRING, 'batch', 'BINARY', None, ), # 1 - (2, TType.I64, 'rowCount', None, None, ), # 2 + ( + 1, + TType.STRING, + "batch", + "BINARY", + None, + ), # 1 + ( + 2, + TType.I64, + "rowCount", + None, + None, + ), # 2 ) all_structs.append(TSparkArrowResultLink) TSparkArrowResultLink.thrift_spec = ( None, # 0 - (1, TType.STRING, 'fileLink', 'UTF8', None, ), # 1 - (2, TType.I64, 'expiryTime', None, None, ), # 2 - (3, TType.I64, 'startRowOffset', None, None, ), # 3 - (4, TType.I64, 'rowCount', None, None, ), # 4 - (5, TType.I64, 'bytesNum', None, None, ), # 5 - (6, TType.MAP, 'httpHeaders', (TType.STRING, 'UTF8', TType.STRING, 'UTF8', False), None, ), # 6 + ( + 1, + TType.STRING, + "fileLink", + "UTF8", + None, + ), # 1 + ( + 2, + TType.I64, + "expiryTime", + None, + None, + ), # 2 + ( + 3, + TType.I64, + "startRowOffset", + None, + None, + ), # 3 + ( + 4, + TType.I64, + "rowCount", + None, + None, + ), # 4 + ( + 5, + TType.I64, + "bytesNum", + None, + None, + ), # 5 + ( + 6, + TType.MAP, + "httpHeaders", + (TType.STRING, "UTF8", TType.STRING, "UTF8", False), + None, + ), # 6 ) all_structs.append(TDBSqlCloudResultFile) TDBSqlCloudResultFile.thrift_spec = ( None, # 0 - (1, TType.STRING, 'filePath', 'UTF8', None, ), # 1 - (2, TType.I64, 'startRowOffset', None, None, ), # 2 - (3, TType.I64, 'rowCount', None, None, ), # 3 - (4, TType.I64, 'uncompressedBytes', None, None, ), # 4 - (5, TType.I64, 'compressedBytes', None, None, ), # 5 - (6, TType.STRING, 'fileLink', 'UTF8', None, ), # 6 - (7, TType.I64, 'linkExpiryTime', None, None, ), # 7 - (8, TType.MAP, 'httpHeaders', (TType.STRING, 'UTF8', TType.STRING, 'UTF8', False), None, ), # 8 + ( + 1, + TType.STRING, + "filePath", + "UTF8", + None, + ), # 1 + ( + 2, + TType.I64, + "startRowOffset", + None, + None, + ), # 2 + ( + 3, + TType.I64, + "rowCount", + None, + None, + ), # 3 + ( + 4, + TType.I64, + "uncompressedBytes", + None, + None, + ), # 4 + ( + 5, + TType.I64, + "compressedBytes", + None, + None, + ), # 5 + ( + 6, + TType.STRING, + "fileLink", + "UTF8", + None, + ), # 6 + ( + 7, + TType.I64, + "linkExpiryTime", + None, + None, + ), # 7 + ( + 8, + TType.MAP, + "httpHeaders", + (TType.STRING, "UTF8", TType.STRING, "UTF8", False), + None, + ), # 8 ) all_structs.append(TRowSet) TRowSet.thrift_spec = ( None, # 0 - (1, TType.I64, 'startRowOffset', None, None, ), # 1 - (2, TType.LIST, 'rows', (TType.STRUCT, [TRow, None], False), None, ), # 2 - (3, TType.LIST, 'columns', (TType.STRUCT, [TColumn, None], False), None, ), # 3 - (4, TType.STRING, 'binaryColumns', 'BINARY', None, ), # 4 - (5, TType.I32, 'columnCount', None, None, ), # 5 + ( + 1, + TType.I64, + "startRowOffset", + None, + None, + ), # 1 + ( + 2, + TType.LIST, + "rows", + (TType.STRUCT, [TRow, None], False), + None, + ), # 2 + ( + 3, + TType.LIST, + "columns", + (TType.STRUCT, [TColumn, None], False), + None, + ), # 3 + ( + 4, + TType.STRING, + "binaryColumns", + "BINARY", + None, + ), # 4 + ( + 5, + TType.I32, + "columnCount", + None, + None, + ), # 5 None, # 6 None, # 7 None, # 8 @@ -12007,8 +14305,20 @@ def __ne__(self, other): None, # 1278 None, # 1279 None, # 1280 - (1281, TType.LIST, 'arrowBatches', (TType.STRUCT, [TSparkArrowBatch, None], False), None, ), # 1281 - (1282, TType.LIST, 'resultLinks', (TType.STRUCT, [TSparkArrowResultLink, None], False), None, ), # 1282 + ( + 1281, + TType.LIST, + "arrowBatches", + (TType.STRUCT, [TSparkArrowBatch, None], False), + None, + ), # 1281 + ( + 1282, + TType.LIST, + "resultLinks", + (TType.STRUCT, [TSparkArrowResultLink, None], False), + None, + ), # 1282 None, # 1283 None, # 1284 None, # 1285 @@ -14055,62 +16365,254 @@ def __ne__(self, other): None, # 3326 None, # 3327 None, # 3328 - (3329, TType.LIST, 'cloudFetchResults', (TType.STRUCT, [TDBSqlCloudResultFile, None], False), None, ), # 3329 + ( + 3329, + TType.LIST, + "cloudFetchResults", + (TType.STRUCT, [TDBSqlCloudResultFile, None], False), + None, + ), # 3329 ) all_structs.append(TDBSqlTempView) TDBSqlTempView.thrift_spec = ( None, # 0 - (1, TType.STRING, 'name', 'UTF8', None, ), # 1 - (2, TType.STRING, 'sqlStatement', 'UTF8', None, ), # 2 - (3, TType.MAP, 'properties', (TType.STRING, 'UTF8', TType.STRING, 'UTF8', False), None, ), # 3 - (4, TType.STRING, 'viewSchema', 'UTF8', None, ), # 4 + ( + 1, + TType.STRING, + "name", + "UTF8", + None, + ), # 1 + ( + 2, + TType.STRING, + "sqlStatement", + "UTF8", + None, + ), # 2 + ( + 3, + TType.MAP, + "properties", + (TType.STRING, "UTF8", TType.STRING, "UTF8", False), + None, + ), # 3 + ( + 4, + TType.STRING, + "viewSchema", + "UTF8", + None, + ), # 4 ) all_structs.append(TDBSqlSessionCapabilities) TDBSqlSessionCapabilities.thrift_spec = ( None, # 0 - (1, TType.BOOL, 'supportsMultipleCatalogs', None, None, ), # 1 + ( + 1, + TType.BOOL, + "supportsMultipleCatalogs", + None, + None, + ), # 1 ) all_structs.append(TExpressionInfo) TExpressionInfo.thrift_spec = ( None, # 0 - (1, TType.STRING, 'className', 'UTF8', None, ), # 1 - (2, TType.STRING, 'usage', 'UTF8', None, ), # 2 - (3, TType.STRING, 'name', 'UTF8', None, ), # 3 - (4, TType.STRING, 'extended', 'UTF8', None, ), # 4 - (5, TType.STRING, 'db', 'UTF8', None, ), # 5 - (6, TType.STRING, 'arguments', 'UTF8', None, ), # 6 - (7, TType.STRING, 'examples', 'UTF8', None, ), # 7 - (8, TType.STRING, 'note', 'UTF8', None, ), # 8 - (9, TType.STRING, 'group', 'UTF8', None, ), # 9 - (10, TType.STRING, 'since', 'UTF8', None, ), # 10 - (11, TType.STRING, 'deprecated', 'UTF8', None, ), # 11 - (12, TType.STRING, 'source', 'UTF8', None, ), # 12 + ( + 1, + TType.STRING, + "className", + "UTF8", + None, + ), # 1 + ( + 2, + TType.STRING, + "usage", + "UTF8", + None, + ), # 2 + ( + 3, + TType.STRING, + "name", + "UTF8", + None, + ), # 3 + ( + 4, + TType.STRING, + "extended", + "UTF8", + None, + ), # 4 + ( + 5, + TType.STRING, + "db", + "UTF8", + None, + ), # 5 + ( + 6, + TType.STRING, + "arguments", + "UTF8", + None, + ), # 6 + ( + 7, + TType.STRING, + "examples", + "UTF8", + None, + ), # 7 + ( + 8, + TType.STRING, + "note", + "UTF8", + None, + ), # 8 + ( + 9, + TType.STRING, + "group", + "UTF8", + None, + ), # 9 + ( + 10, + TType.STRING, + "since", + "UTF8", + None, + ), # 10 + ( + 11, + TType.STRING, + "deprecated", + "UTF8", + None, + ), # 11 + ( + 12, + TType.STRING, + "source", + "UTF8", + None, + ), # 12 ) all_structs.append(TDBSqlConfValue) TDBSqlConfValue.thrift_spec = ( None, # 0 - (1, TType.STRING, 'value', 'UTF8', None, ), # 1 + ( + 1, + TType.STRING, + "value", + "UTF8", + None, + ), # 1 ) all_structs.append(TDBSqlSessionConf) TDBSqlSessionConf.thrift_spec = ( None, # 0 - (1, TType.MAP, 'confs', (TType.STRING, 'UTF8', TType.STRING, 'UTF8', False), None, ), # 1 - (2, TType.LIST, 'tempViews', (TType.STRUCT, [TDBSqlTempView, None], False), None, ), # 2 - (3, TType.STRING, 'currentDatabase', 'UTF8', None, ), # 3 - (4, TType.STRING, 'currentCatalog', 'UTF8', None, ), # 4 - (5, TType.STRUCT, 'sessionCapabilities', [TDBSqlSessionCapabilities, None], None, ), # 5 - (6, TType.LIST, 'expressionsInfos', (TType.STRUCT, [TExpressionInfo, None], False), None, ), # 6 - (7, TType.MAP, 'internalConfs', (TType.STRING, 'UTF8', TType.STRUCT, [TDBSqlConfValue, None], False), None, ), # 7 + ( + 1, + TType.MAP, + "confs", + (TType.STRING, "UTF8", TType.STRING, "UTF8", False), + None, + ), # 1 + ( + 2, + TType.LIST, + "tempViews", + (TType.STRUCT, [TDBSqlTempView, None], False), + None, + ), # 2 + ( + 3, + TType.STRING, + "currentDatabase", + "UTF8", + None, + ), # 3 + ( + 4, + TType.STRING, + "currentCatalog", + "UTF8", + None, + ), # 4 + ( + 5, + TType.STRUCT, + "sessionCapabilities", + [TDBSqlSessionCapabilities, None], + None, + ), # 5 + ( + 6, + TType.LIST, + "expressionsInfos", + (TType.STRUCT, [TExpressionInfo, None], False), + None, + ), # 6 + ( + 7, + TType.MAP, + "internalConfs", + (TType.STRING, "UTF8", TType.STRUCT, [TDBSqlConfValue, None], False), + None, + ), # 7 ) all_structs.append(TStatus) TStatus.thrift_spec = ( None, # 0 - (1, TType.I32, 'statusCode', None, None, ), # 1 - (2, TType.LIST, 'infoMessages', (TType.STRING, 'UTF8', False), None, ), # 2 - (3, TType.STRING, 'sqlState', 'UTF8', None, ), # 3 - (4, TType.I32, 'errorCode', None, None, ), # 4 - (5, TType.STRING, 'errorMessage', 'UTF8', None, ), # 5 - (6, TType.STRING, 'displayMessage', 'UTF8', None, ), # 6 + ( + 1, + TType.I32, + "statusCode", + None, + None, + ), # 1 + ( + 2, + TType.LIST, + "infoMessages", + (TType.STRING, "UTF8", False), + None, + ), # 2 + ( + 3, + TType.STRING, + "sqlState", + "UTF8", + None, + ), # 3 + ( + 4, + TType.I32, + "errorCode", + None, + None, + ), # 4 + ( + 5, + TType.STRING, + "errorMessage", + "UTF8", + None, + ), # 5 + ( + 6, + TType.STRING, + "displayMessage", + "UTF8", + None, + ), # 6 None, # 7 None, # 8 None, # 9 @@ -15385,7 +17887,13 @@ def __ne__(self, other): None, # 1278 None, # 1279 None, # 1280 - (1281, TType.STRING, 'errorDetailsJson', 'UTF8', None, ), # 1281 + ( + 1281, + TType.STRING, + "errorDetailsJson", + "UTF8", + None, + ), # 1281 None, # 1282 None, # 1283 None, # 1284 @@ -17433,19 +19941,49 @@ def __ne__(self, other): None, # 3326 None, # 3327 None, # 3328 - (3329, TType.STRING, 'responseValidation', 'BINARY', None, ), # 3329 + ( + 3329, + TType.STRING, + "responseValidation", + "BINARY", + None, + ), # 3329 ) all_structs.append(TNamespace) TNamespace.thrift_spec = ( None, # 0 - (1, TType.STRING, 'catalogName', 'UTF8', None, ), # 1 - (2, TType.STRING, 'schemaName', 'UTF8', None, ), # 2 + ( + 1, + TType.STRING, + "catalogName", + "UTF8", + None, + ), # 1 + ( + 2, + TType.STRING, + "schemaName", + "UTF8", + None, + ), # 2 ) all_structs.append(THandleIdentifier) THandleIdentifier.thrift_spec = ( None, # 0 - (1, TType.STRING, 'guid', 'BINARY', None, ), # 1 - (2, TType.STRING, 'secret', 'BINARY', None, ), # 2 + ( + 1, + TType.STRING, + "guid", + "BINARY", + None, + ), # 1 + ( + 2, + TType.STRING, + "secret", + "BINARY", + None, + ), # 2 None, # 3 None, # 4 None, # 5 @@ -20772,12 +23310,24 @@ def __ne__(self, other): None, # 3326 None, # 3327 None, # 3328 - (3329, TType.I16, 'executionVersion', None, None, ), # 3329 + ( + 3329, + TType.I16, + "executionVersion", + None, + None, + ), # 3329 ) all_structs.append(TSessionHandle) TSessionHandle.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'sessionId', [THandleIdentifier, None], None, ), # 1 + ( + 1, + TType.STRUCT, + "sessionId", + [THandleIdentifier, None], + None, + ), # 1 None, # 2 None, # 3 None, # 4 @@ -24105,23 +26655,77 @@ def __ne__(self, other): None, # 3326 None, # 3327 None, # 3328 - (3329, TType.I32, 'serverProtocolVersion', None, None, ), # 3329 + ( + 3329, + TType.I32, + "serverProtocolVersion", + None, + None, + ), # 3329 ) all_structs.append(TOperationHandle) TOperationHandle.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'operationId', [THandleIdentifier, None], None, ), # 1 - (2, TType.I32, 'operationType', None, None, ), # 2 - (3, TType.BOOL, 'hasResultSet', None, None, ), # 3 - (4, TType.DOUBLE, 'modifiedRowCount', None, None, ), # 4 + ( + 1, + TType.STRUCT, + "operationId", + [THandleIdentifier, None], + None, + ), # 1 + ( + 2, + TType.I32, + "operationType", + None, + None, + ), # 2 + ( + 3, + TType.BOOL, + "hasResultSet", + None, + None, + ), # 3 + ( + 4, + TType.DOUBLE, + "modifiedRowCount", + None, + None, + ), # 4 ) all_structs.append(TOpenSessionReq) TOpenSessionReq.thrift_spec = ( None, # 0 - (1, TType.I32, 'client_protocol', None, -7, ), # 1 - (2, TType.STRING, 'username', 'UTF8', None, ), # 2 - (3, TType.STRING, 'password', 'UTF8', None, ), # 3 - (4, TType.MAP, 'configuration', (TType.STRING, 'UTF8', TType.STRING, 'UTF8', False), None, ), # 4 + ( + 1, + TType.I32, + "client_protocol", + None, + -7, + ), # 1 + ( + 2, + TType.STRING, + "username", + "UTF8", + None, + ), # 2 + ( + 3, + TType.STRING, + "password", + "UTF8", + None, + ), # 3 + ( + 4, + TType.MAP, + "configuration", + (TType.STRING, "UTF8", TType.STRING, "UTF8", False), + None, + ), # 4 None, # 5 None, # 6 None, # 7 @@ -25398,11 +28002,41 @@ def __ne__(self, other): None, # 1278 None, # 1279 None, # 1280 - (1281, TType.LIST, 'getInfos', (TType.I32, None, False), None, ), # 1281 - (1282, TType.I64, 'client_protocol_i64', None, None, ), # 1282 - (1283, TType.MAP, 'connectionProperties', (TType.STRING, 'UTF8', TType.STRING, 'UTF8', False), None, ), # 1283 - (1284, TType.STRUCT, 'initialNamespace', [TNamespace, None], None, ), # 1284 - (1285, TType.BOOL, 'canUseMultipleCatalogs', None, None, ), # 1285 + ( + 1281, + TType.LIST, + "getInfos", + (TType.I32, None, False), + None, + ), # 1281 + ( + 1282, + TType.I64, + "client_protocol_i64", + None, + None, + ), # 1282 + ( + 1283, + TType.MAP, + "connectionProperties", + (TType.STRING, "UTF8", TType.STRING, "UTF8", False), + None, + ), # 1283 + ( + 1284, + TType.STRUCT, + "initialNamespace", + [TNamespace, None], + None, + ), # 1284 + ( + 1285, + TType.BOOL, + "canUseMultipleCatalogs", + None, + None, + ), # 1285 None, # 1286 None, # 1287 None, # 1288 @@ -27446,15 +30080,45 @@ def __ne__(self, other): None, # 3326 None, # 3327 None, # 3328 - (3329, TType.STRUCT, 'sessionId', [THandleIdentifier, None], None, ), # 3329 + ( + 3329, + TType.STRUCT, + "sessionId", + [THandleIdentifier, None], + None, + ), # 3329 ) all_structs.append(TOpenSessionResp) TOpenSessionResp.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 - (2, TType.I32, 'serverProtocolVersion', None, None, ), # 2 - (3, TType.STRUCT, 'sessionHandle', [TSessionHandle, None], None, ), # 3 - (4, TType.MAP, 'configuration', (TType.STRING, 'UTF8', TType.STRING, 'UTF8', False), None, ), # 4 + ( + 1, + TType.STRUCT, + "status", + [TStatus, None], + None, + ), # 1 + ( + 2, + TType.I32, + "serverProtocolVersion", + None, + None, + ), # 2 + ( + 3, + TType.STRUCT, + "sessionHandle", + [TSessionHandle, None], + None, + ), # 3 + ( + 4, + TType.MAP, + "configuration", + (TType.STRING, "UTF8", TType.STRING, "UTF8", False), + None, + ), # 4 None, # 5 None, # 6 None, # 7 @@ -28731,37 +31395,115 @@ def __ne__(self, other): None, # 1278 None, # 1279 None, # 1280 - (1281, TType.LIST, 'getInfos', (TType.STRUCT, [TGetInfoValue, None], False), None, ), # 1281 + ( + 1281, + TType.LIST, + "getInfos", + (TType.STRUCT, [TGetInfoValue, None], False), + None, + ), # 1281 None, # 1282 None, # 1283 - (1284, TType.STRUCT, 'initialNamespace', [TNamespace, None], None, ), # 1284 - (1285, TType.BOOL, 'canUseMultipleCatalogs', None, None, ), # 1285 + ( + 1284, + TType.STRUCT, + "initialNamespace", + [TNamespace, None], + None, + ), # 1284 + ( + 1285, + TType.BOOL, + "canUseMultipleCatalogs", + None, + None, + ), # 1285 ) all_structs.append(TCloseSessionReq) TCloseSessionReq.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'sessionHandle', [TSessionHandle, None], None, ), # 1 + ( + 1, + TType.STRUCT, + "sessionHandle", + [TSessionHandle, None], + None, + ), # 1 ) all_structs.append(TCloseSessionResp) TCloseSessionResp.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 + ( + 1, + TType.STRUCT, + "status", + [TStatus, None], + None, + ), # 1 ) all_structs.append(TGetInfoValue) TGetInfoValue.thrift_spec = ( None, # 0 - (1, TType.STRING, 'stringValue', 'UTF8', None, ), # 1 - (2, TType.I16, 'smallIntValue', None, None, ), # 2 - (3, TType.I32, 'integerBitmask', None, None, ), # 3 - (4, TType.I32, 'integerFlag', None, None, ), # 4 - (5, TType.I32, 'binaryValue', None, None, ), # 5 - (6, TType.I64, 'lenValue', None, None, ), # 6 + ( + 1, + TType.STRING, + "stringValue", + "UTF8", + None, + ), # 1 + ( + 2, + TType.I16, + "smallIntValue", + None, + None, + ), # 2 + ( + 3, + TType.I32, + "integerBitmask", + None, + None, + ), # 3 + ( + 4, + TType.I32, + "integerFlag", + None, + None, + ), # 4 + ( + 5, + TType.I32, + "binaryValue", + None, + None, + ), # 5 + ( + 6, + TType.I64, + "lenValue", + None, + None, + ), # 6 ) all_structs.append(TGetInfoReq) TGetInfoReq.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'sessionHandle', [TSessionHandle, None], None, ), # 1 - (2, TType.I32, 'infoType', None, None, ), # 2 + ( + 1, + TType.STRUCT, + "sessionHandle", + [TSessionHandle, None], + None, + ), # 1 + ( + 2, + TType.I32, + "infoType", + None, + None, + ), # 2 None, # 3 None, # 4 None, # 5 @@ -32088,45 +34830,159 @@ def __ne__(self, other): None, # 3326 None, # 3327 None, # 3328 - (3329, TType.STRUCT, 'sessionConf', [TDBSqlSessionConf, None], None, ), # 3329 + ( + 3329, + TType.STRUCT, + "sessionConf", + [TDBSqlSessionConf, None], + None, + ), # 3329 ) all_structs.append(TGetInfoResp) TGetInfoResp.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 - (2, TType.STRUCT, 'infoValue', [TGetInfoValue, None], None, ), # 2 + ( + 1, + TType.STRUCT, + "status", + [TStatus, None], + None, + ), # 1 + ( + 2, + TType.STRUCT, + "infoValue", + [TGetInfoValue, None], + None, + ), # 2 ) all_structs.append(TSparkGetDirectResults) TSparkGetDirectResults.thrift_spec = ( None, # 0 - (1, TType.I64, 'maxRows', None, None, ), # 1 - (2, TType.I64, 'maxBytes', None, None, ), # 2 + ( + 1, + TType.I64, + "maxRows", + None, + None, + ), # 1 + ( + 2, + TType.I64, + "maxBytes", + None, + None, + ), # 2 ) all_structs.append(TSparkDirectResults) TSparkDirectResults.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'operationStatus', [TGetOperationStatusResp, None], None, ), # 1 - (2, TType.STRUCT, 'resultSetMetadata', [TGetResultSetMetadataResp, None], None, ), # 2 - (3, TType.STRUCT, 'resultSet', [TFetchResultsResp, None], None, ), # 3 - (4, TType.STRUCT, 'closeOperation', [TCloseOperationResp, None], None, ), # 4 + ( + 1, + TType.STRUCT, + "operationStatus", + [TGetOperationStatusResp, None], + None, + ), # 1 + ( + 2, + TType.STRUCT, + "resultSetMetadata", + [TGetResultSetMetadataResp, None], + None, + ), # 2 + ( + 3, + TType.STRUCT, + "resultSet", + [TFetchResultsResp, None], + None, + ), # 3 + ( + 4, + TType.STRUCT, + "closeOperation", + [TCloseOperationResp, None], + None, + ), # 4 ) all_structs.append(TSparkArrowTypes) TSparkArrowTypes.thrift_spec = ( None, # 0 - (1, TType.BOOL, 'timestampAsArrow', None, None, ), # 1 - (2, TType.BOOL, 'decimalAsArrow', None, None, ), # 2 - (3, TType.BOOL, 'complexTypesAsArrow', None, None, ), # 3 - (4, TType.BOOL, 'intervalTypesAsArrow', None, None, ), # 4 - (5, TType.BOOL, 'nullTypeAsArrow', None, None, ), # 5 + ( + 1, + TType.BOOL, + "timestampAsArrow", + None, + None, + ), # 1 + ( + 2, + TType.BOOL, + "decimalAsArrow", + None, + None, + ), # 2 + ( + 3, + TType.BOOL, + "complexTypesAsArrow", + None, + None, + ), # 3 + ( + 4, + TType.BOOL, + "intervalTypesAsArrow", + None, + None, + ), # 4 + ( + 5, + TType.BOOL, + "nullTypeAsArrow", + None, + None, + ), # 5 ) all_structs.append(TExecuteStatementReq) TExecuteStatementReq.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'sessionHandle', [TSessionHandle, None], None, ), # 1 - (2, TType.STRING, 'statement', 'UTF8', None, ), # 2 - (3, TType.MAP, 'confOverlay', (TType.STRING, 'UTF8', TType.STRING, 'UTF8', False), None, ), # 3 - (4, TType.BOOL, 'runAsync', None, False, ), # 4 - (5, TType.I64, 'queryTimeout', None, 0, ), # 5 + ( + 1, + TType.STRUCT, + "sessionHandle", + [TSessionHandle, None], + None, + ), # 1 + ( + 2, + TType.STRING, + "statement", + "UTF8", + None, + ), # 2 + ( + 3, + TType.MAP, + "confOverlay", + (TType.STRING, "UTF8", TType.STRING, "UTF8", False), + None, + ), # 3 + ( + 4, + TType.BOOL, + "runAsync", + None, + False, + ), # 4 + ( + 5, + TType.I64, + "queryTimeout", + None, + 0, + ), # 5 None, # 6 None, # 7 None, # 8 @@ -33402,22 +36258,82 @@ def __ne__(self, other): None, # 1278 None, # 1279 None, # 1280 - (1281, TType.STRUCT, 'getDirectResults', [TSparkGetDirectResults, None], None, ), # 1281 - (1282, TType.BOOL, 'canReadArrowResult', None, None, ), # 1282 - (1283, TType.BOOL, 'canDownloadResult', None, None, ), # 1283 - (1284, TType.BOOL, 'canDecompressLZ4Result', None, None, ), # 1284 - (1285, TType.I64, 'maxBytesPerFile', None, None, ), # 1285 - (1286, TType.STRUCT, 'useArrowNativeTypes', [TSparkArrowTypes, None], None, ), # 1286 - (1287, TType.I64, 'resultRowLimit', None, None, ), # 1287 - (1288, TType.LIST, 'parameters', (TType.STRUCT, [TSparkParameter, None], False), None, ), # 1288 - (1289, TType.I64, 'maxBytesPerBatch', None, None, ), # 1289 + ( + 1281, + TType.STRUCT, + "getDirectResults", + [TSparkGetDirectResults, None], + None, + ), # 1281 + ( + 1282, + TType.BOOL, + "canReadArrowResult", + None, + None, + ), # 1282 + ( + 1283, + TType.BOOL, + "canDownloadResult", + None, + None, + ), # 1283 + ( + 1284, + TType.BOOL, + "canDecompressLZ4Result", + None, + None, + ), # 1284 + ( + 1285, + TType.I64, + "maxBytesPerFile", + None, + None, + ), # 1285 + ( + 1286, + TType.STRUCT, + "useArrowNativeTypes", + [TSparkArrowTypes, None], + None, + ), # 1286 + ( + 1287, + TType.I64, + "resultRowLimit", + None, + None, + ), # 1287 + ( + 1288, + TType.LIST, + "parameters", + (TType.STRUCT, [TSparkParameter, None], False), + None, + ), # 1288 + ( + 1289, + TType.I64, + "maxBytesPerBatch", + None, + None, + ), # 1289 None, # 1290 None, # 1291 None, # 1292 None, # 1293 None, # 1294 None, # 1295 - (1296, TType.STRUCT, 'statementConf', [TStatementConf, None], None, ), # 1296 + ( + 1296, + TType.STRUCT, + "statementConf", + [TStatementConf, None], + None, + ), # 1296 None, # 1297 None, # 1298 None, # 1299 @@ -35450,73 +38366,283 @@ def __ne__(self, other): None, # 3326 None, # 3327 None, # 3328 - (3329, TType.STRUCT, 'operationId', [THandleIdentifier, None], None, ), # 3329 - (3330, TType.STRUCT, 'sessionConf', [TDBSqlSessionConf, None], None, ), # 3330 - (3331, TType.BOOL, 'rejectHighCostQueries', None, None, ), # 3331 - (3332, TType.DOUBLE, 'estimatedCost', None, None, ), # 3332 - (3333, TType.I16, 'executionVersion', None, None, ), # 3333 - (3334, TType.STRING, 'requestValidation', 'BINARY', None, ), # 3334 - (3335, TType.I32, 'resultPersistenceMode', None, None, ), # 3335 - (3336, TType.BOOL, 'trimArrowBatchesToLimit', None, None, ), # 3336 - (3337, TType.I32, 'fetchDisposition', None, None, ), # 3337 + ( + 3329, + TType.STRUCT, + "operationId", + [THandleIdentifier, None], + None, + ), # 3329 + ( + 3330, + TType.STRUCT, + "sessionConf", + [TDBSqlSessionConf, None], + None, + ), # 3330 + ( + 3331, + TType.BOOL, + "rejectHighCostQueries", + None, + None, + ), # 3331 + ( + 3332, + TType.DOUBLE, + "estimatedCost", + None, + None, + ), # 3332 + ( + 3333, + TType.I16, + "executionVersion", + None, + None, + ), # 3333 + ( + 3334, + TType.STRING, + "requestValidation", + "BINARY", + None, + ), # 3334 + ( + 3335, + TType.I32, + "resultPersistenceMode", + None, + None, + ), # 3335 + ( + 3336, + TType.BOOL, + "trimArrowBatchesToLimit", + None, + None, + ), # 3336 + ( + 3337, + TType.I32, + "fetchDisposition", + None, + None, + ), # 3337 None, # 3338 None, # 3339 None, # 3340 None, # 3341 None, # 3342 None, # 3343 - (3344, TType.BOOL, 'enforceResultPersistenceMode', None, None, ), # 3344 - (3345, TType.LIST, 'statementList', (TType.STRUCT, [TDBSqlStatement, None], False), None, ), # 3345 - (3346, TType.BOOL, 'persistResultManifest', None, None, ), # 3346 - (3347, TType.I64, 'resultRetentionSeconds', None, None, ), # 3347 - (3348, TType.I64, 'resultByteLimit', None, None, ), # 3348 - (3349, TType.STRUCT, 'resultDataFormat', [TDBSqlResultFormat, None], None, ), # 3349 - (3350, TType.STRING, 'originatingClientIdentity', 'UTF8', None, ), # 3350 - (3351, TType.BOOL, 'preferSingleFileResult', None, None, ), # 3351 - (3352, TType.BOOL, 'preferDriverOnlyUpload', None, None, ), # 3352 - (3353, TType.BOOL, 'enforceEmbeddedSchemaCorrectness', None, False, ), # 3353 + ( + 3344, + TType.BOOL, + "enforceResultPersistenceMode", + None, + None, + ), # 3344 + ( + 3345, + TType.LIST, + "statementList", + (TType.STRUCT, [TDBSqlStatement, None], False), + None, + ), # 3345 + ( + 3346, + TType.BOOL, + "persistResultManifest", + None, + None, + ), # 3346 + ( + 3347, + TType.I64, + "resultRetentionSeconds", + None, + None, + ), # 3347 + ( + 3348, + TType.I64, + "resultByteLimit", + None, + None, + ), # 3348 + ( + 3349, + TType.STRUCT, + "resultDataFormat", + [TDBSqlResultFormat, None], + None, + ), # 3349 + ( + 3350, + TType.STRING, + "originatingClientIdentity", + "UTF8", + None, + ), # 3350 + ( + 3351, + TType.BOOL, + "preferSingleFileResult", + None, + None, + ), # 3351 + ( + 3352, + TType.BOOL, + "preferDriverOnlyUpload", + None, + None, + ), # 3352 + ( + 3353, + TType.BOOL, + "enforceEmbeddedSchemaCorrectness", + None, + False, + ), # 3353 None, # 3354 None, # 3355 None, # 3356 None, # 3357 None, # 3358 None, # 3359 - (3360, TType.STRING, 'idempotencyToken', 'UTF8', None, ), # 3360 - (3361, TType.BOOL, 'throwErrorOnByteLimitTruncation', None, None, ), # 3361 + ( + 3360, + TType.STRING, + "idempotencyToken", + "UTF8", + None, + ), # 3360 + ( + 3361, + TType.BOOL, + "throwErrorOnByteLimitTruncation", + None, + None, + ), # 3361 ) all_structs.append(TDBSqlStatement) TDBSqlStatement.thrift_spec = ( None, # 0 - (1, TType.STRING, 'statement', 'UTF8', None, ), # 1 + ( + 1, + TType.STRING, + "statement", + "UTF8", + None, + ), # 1 ) all_structs.append(TSparkParameterValue) TSparkParameterValue.thrift_spec = ( None, # 0 - (1, TType.STRING, 'stringValue', 'UTF8', None, ), # 1 - (2, TType.DOUBLE, 'doubleValue', None, None, ), # 2 - (3, TType.BOOL, 'booleanValue', None, None, ), # 3 + ( + 1, + TType.STRING, + "stringValue", + "UTF8", + None, + ), # 1 + ( + 2, + TType.DOUBLE, + "doubleValue", + None, + None, + ), # 2 + ( + 3, + TType.BOOL, + "booleanValue", + None, + None, + ), # 3 ) all_structs.append(TSparkParameter) TSparkParameter.thrift_spec = ( None, # 0 - (1, TType.I32, 'ordinal', None, None, ), # 1 - (2, TType.STRING, 'name', 'UTF8', None, ), # 2 - (3, TType.STRING, 'type', 'UTF8', None, ), # 3 - (4, TType.STRUCT, 'value', [TSparkParameterValue, None], None, ), # 4 + ( + 1, + TType.I32, + "ordinal", + None, + None, + ), # 1 + ( + 2, + TType.STRING, + "name", + "UTF8", + None, + ), # 2 + ( + 3, + TType.STRING, + "type", + "UTF8", + None, + ), # 3 + ( + 4, + TType.STRUCT, + "value", + [TSparkParameterValue, None], + None, + ), # 4 ) all_structs.append(TStatementConf) TStatementConf.thrift_spec = ( None, # 0 - (1, TType.BOOL, 'sessionless', None, None, ), # 1 - (2, TType.STRUCT, 'initialNamespace', [TNamespace, None], None, ), # 2 - (3, TType.I32, 'client_protocol', None, None, ), # 3 - (4, TType.I64, 'client_protocol_i64', None, None, ), # 4 + ( + 1, + TType.BOOL, + "sessionless", + None, + None, + ), # 1 + ( + 2, + TType.STRUCT, + "initialNamespace", + [TNamespace, None], + None, + ), # 2 + ( + 3, + TType.I32, + "client_protocol", + None, + None, + ), # 3 + ( + 4, + TType.I64, + "client_protocol_i64", + None, + None, + ), # 4 ) all_structs.append(TExecuteStatementResp) TExecuteStatementResp.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 - (2, TType.STRUCT, 'operationHandle', [TOperationHandle, None], None, ), # 2 + ( + 1, + TType.STRUCT, + "status", + [TStatus, None], + None, + ), # 1 + ( + 2, + TType.STRUCT, + "operationHandle", + [TOperationHandle, None], + None, + ), # 2 None, # 3 None, # 4 None, # 5 @@ -36795,7 +39921,13 @@ def __ne__(self, other): None, # 1278 None, # 1279 None, # 1280 - (1281, TType.STRUCT, 'directResults', [TSparkDirectResults, None], None, ), # 1281 + ( + 1281, + TType.STRUCT, + "directResults", + [TSparkDirectResults, None], + None, + ), # 1281 None, # 1282 None, # 1283 None, # 1284 @@ -38843,20 +41975,80 @@ def __ne__(self, other): None, # 3326 None, # 3327 None, # 3328 - (3329, TType.BOOL, 'executionRejected', None, None, ), # 3329 - (3330, TType.DOUBLE, 'maxClusterCapacity', None, None, ), # 3330 - (3331, TType.DOUBLE, 'queryCost', None, None, ), # 3331 - (3332, TType.STRUCT, 'sessionConf', [TDBSqlSessionConf, None], None, ), # 3332 - (3333, TType.DOUBLE, 'currentClusterLoad', None, None, ), # 3333 - (3334, TType.I32, 'idempotencyType', None, None, ), # 3334 - (3335, TType.BOOL, 'remoteResultCacheEnabled', None, None, ), # 3335 - (3336, TType.BOOL, 'isServerless', None, None, ), # 3336 - (3337, TType.LIST, 'operationHandles', (TType.STRUCT, [TOperationHandle, None], False), None, ), # 3337 + ( + 3329, + TType.BOOL, + "executionRejected", + None, + None, + ), # 3329 + ( + 3330, + TType.DOUBLE, + "maxClusterCapacity", + None, + None, + ), # 3330 + ( + 3331, + TType.DOUBLE, + "queryCost", + None, + None, + ), # 3331 + ( + 3332, + TType.STRUCT, + "sessionConf", + [TDBSqlSessionConf, None], + None, + ), # 3332 + ( + 3333, + TType.DOUBLE, + "currentClusterLoad", + None, + None, + ), # 3333 + ( + 3334, + TType.I32, + "idempotencyType", + None, + None, + ), # 3334 + ( + 3335, + TType.BOOL, + "remoteResultCacheEnabled", + None, + None, + ), # 3335 + ( + 3336, + TType.BOOL, + "isServerless", + None, + None, + ), # 3336 + ( + 3337, + TType.LIST, + "operationHandles", + (TType.STRUCT, [TOperationHandle, None], False), + None, + ), # 3337 ) all_structs.append(TGetTypeInfoReq) TGetTypeInfoReq.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'sessionHandle', [TSessionHandle, None], None, ), # 1 + ( + 1, + TType.STRUCT, + "sessionHandle", + [TSessionHandle, None], + None, + ), # 1 None, # 2 None, # 3 None, # 4 @@ -40136,8 +43328,20 @@ def __ne__(self, other): None, # 1278 None, # 1279 None, # 1280 - (1281, TType.STRUCT, 'getDirectResults', [TSparkGetDirectResults, None], None, ), # 1281 - (1282, TType.BOOL, 'runAsync', None, False, ), # 1282 + ( + 1281, + TType.STRUCT, + "getDirectResults", + [TSparkGetDirectResults, None], + None, + ), # 1281 + ( + 1282, + TType.BOOL, + "runAsync", + None, + False, + ), # 1282 None, # 1283 None, # 1284 None, # 1285 @@ -42184,14 +45388,38 @@ def __ne__(self, other): None, # 3326 None, # 3327 None, # 3328 - (3329, TType.STRUCT, 'operationId', [THandleIdentifier, None], None, ), # 3329 - (3330, TType.STRUCT, 'sessionConf', [TDBSqlSessionConf, None], None, ), # 3330 + ( + 3329, + TType.STRUCT, + "operationId", + [THandleIdentifier, None], + None, + ), # 3329 + ( + 3330, + TType.STRUCT, + "sessionConf", + [TDBSqlSessionConf, None], + None, + ), # 3330 ) all_structs.append(TGetTypeInfoResp) TGetTypeInfoResp.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 - (2, TType.STRUCT, 'operationHandle', [TOperationHandle, None], None, ), # 2 + ( + 1, + TType.STRUCT, + "status", + [TStatus, None], + None, + ), # 1 + ( + 2, + TType.STRUCT, + "operationHandle", + [TOperationHandle, None], + None, + ), # 2 None, # 3 None, # 4 None, # 5 @@ -43470,12 +46698,24 @@ def __ne__(self, other): None, # 1278 None, # 1279 None, # 1280 - (1281, TType.STRUCT, 'directResults', [TSparkDirectResults, None], None, ), # 1281 + ( + 1281, + TType.STRUCT, + "directResults", + [TSparkDirectResults, None], + None, + ), # 1281 ) all_structs.append(TGetCatalogsReq) TGetCatalogsReq.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'sessionHandle', [TSessionHandle, None], None, ), # 1 + ( + 1, + TType.STRUCT, + "sessionHandle", + [TSessionHandle, None], + None, + ), # 1 None, # 2 None, # 3 None, # 4 @@ -44755,8 +47995,20 @@ def __ne__(self, other): None, # 1278 None, # 1279 None, # 1280 - (1281, TType.STRUCT, 'getDirectResults', [TSparkGetDirectResults, None], None, ), # 1281 - (1282, TType.BOOL, 'runAsync', None, False, ), # 1282 + ( + 1281, + TType.STRUCT, + "getDirectResults", + [TSparkGetDirectResults, None], + None, + ), # 1281 + ( + 1282, + TType.BOOL, + "runAsync", + None, + False, + ), # 1282 None, # 1283 None, # 1284 None, # 1285 @@ -46803,14 +50055,38 @@ def __ne__(self, other): None, # 3326 None, # 3327 None, # 3328 - (3329, TType.STRUCT, 'operationId', [THandleIdentifier, None], None, ), # 3329 - (3330, TType.STRUCT, 'sessionConf', [TDBSqlSessionConf, None], None, ), # 3330 + ( + 3329, + TType.STRUCT, + "operationId", + [THandleIdentifier, None], + None, + ), # 3329 + ( + 3330, + TType.STRUCT, + "sessionConf", + [TDBSqlSessionConf, None], + None, + ), # 3330 ) all_structs.append(TGetCatalogsResp) TGetCatalogsResp.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 - (2, TType.STRUCT, 'operationHandle', [TOperationHandle, None], None, ), # 2 + ( + 1, + TType.STRUCT, + "status", + [TStatus, None], + None, + ), # 1 + ( + 2, + TType.STRUCT, + "operationHandle", + [TOperationHandle, None], + None, + ), # 2 None, # 3 None, # 4 None, # 5 @@ -48089,14 +51365,38 @@ def __ne__(self, other): None, # 1278 None, # 1279 None, # 1280 - (1281, TType.STRUCT, 'directResults', [TSparkDirectResults, None], None, ), # 1281 + ( + 1281, + TType.STRUCT, + "directResults", + [TSparkDirectResults, None], + None, + ), # 1281 ) all_structs.append(TGetSchemasReq) TGetSchemasReq.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'sessionHandle', [TSessionHandle, None], None, ), # 1 - (2, TType.STRING, 'catalogName', 'UTF8', None, ), # 2 - (3, TType.STRING, 'schemaName', 'UTF8', None, ), # 3 + ( + 1, + TType.STRUCT, + "sessionHandle", + [TSessionHandle, None], + None, + ), # 1 + ( + 2, + TType.STRING, + "catalogName", + "UTF8", + None, + ), # 2 + ( + 3, + TType.STRING, + "schemaName", + "UTF8", + None, + ), # 3 None, # 4 None, # 5 None, # 6 @@ -49374,8 +52674,20 @@ def __ne__(self, other): None, # 1278 None, # 1279 None, # 1280 - (1281, TType.STRUCT, 'getDirectResults', [TSparkGetDirectResults, None], None, ), # 1281 - (1282, TType.BOOL, 'runAsync', None, False, ), # 1282 + ( + 1281, + TType.STRUCT, + "getDirectResults", + [TSparkGetDirectResults, None], + None, + ), # 1281 + ( + 1282, + TType.BOOL, + "runAsync", + None, + False, + ), # 1282 None, # 1283 None, # 1284 None, # 1285 @@ -51422,14 +54734,38 @@ def __ne__(self, other): None, # 3326 None, # 3327 None, # 3328 - (3329, TType.STRUCT, 'operationId', [THandleIdentifier, None], None, ), # 3329 - (3330, TType.STRUCT, 'sessionConf', [TDBSqlSessionConf, None], None, ), # 3330 + ( + 3329, + TType.STRUCT, + "operationId", + [THandleIdentifier, None], + None, + ), # 3329 + ( + 3330, + TType.STRUCT, + "sessionConf", + [TDBSqlSessionConf, None], + None, + ), # 3330 ) all_structs.append(TGetSchemasResp) TGetSchemasResp.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 - (2, TType.STRUCT, 'operationHandle', [TOperationHandle, None], None, ), # 2 + ( + 1, + TType.STRUCT, + "status", + [TStatus, None], + None, + ), # 1 + ( + 2, + TType.STRUCT, + "operationHandle", + [TOperationHandle, None], + None, + ), # 2 None, # 3 None, # 4 None, # 5 @@ -52708,16 +56044,52 @@ def __ne__(self, other): None, # 1278 None, # 1279 None, # 1280 - (1281, TType.STRUCT, 'directResults', [TSparkDirectResults, None], None, ), # 1281 + ( + 1281, + TType.STRUCT, + "directResults", + [TSparkDirectResults, None], + None, + ), # 1281 ) all_structs.append(TGetTablesReq) TGetTablesReq.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'sessionHandle', [TSessionHandle, None], None, ), # 1 - (2, TType.STRING, 'catalogName', 'UTF8', None, ), # 2 - (3, TType.STRING, 'schemaName', 'UTF8', None, ), # 3 - (4, TType.STRING, 'tableName', 'UTF8', None, ), # 4 - (5, TType.LIST, 'tableTypes', (TType.STRING, 'UTF8', False), None, ), # 5 + ( + 1, + TType.STRUCT, + "sessionHandle", + [TSessionHandle, None], + None, + ), # 1 + ( + 2, + TType.STRING, + "catalogName", + "UTF8", + None, + ), # 2 + ( + 3, + TType.STRING, + "schemaName", + "UTF8", + None, + ), # 3 + ( + 4, + TType.STRING, + "tableName", + "UTF8", + None, + ), # 4 + ( + 5, + TType.LIST, + "tableTypes", + (TType.STRING, "UTF8", False), + None, + ), # 5 None, # 6 None, # 7 None, # 8 @@ -53993,8 +57365,20 @@ def __ne__(self, other): None, # 1278 None, # 1279 None, # 1280 - (1281, TType.STRUCT, 'getDirectResults', [TSparkGetDirectResults, None], None, ), # 1281 - (1282, TType.BOOL, 'runAsync', None, False, ), # 1282 + ( + 1281, + TType.STRUCT, + "getDirectResults", + [TSparkGetDirectResults, None], + None, + ), # 1281 + ( + 1282, + TType.BOOL, + "runAsync", + None, + False, + ), # 1282 None, # 1283 None, # 1284 None, # 1285 @@ -56041,14 +59425,38 @@ def __ne__(self, other): None, # 3326 None, # 3327 None, # 3328 - (3329, TType.STRUCT, 'operationId', [THandleIdentifier, None], None, ), # 3329 - (3330, TType.STRUCT, 'sessionConf', [TDBSqlSessionConf, None], None, ), # 3330 + ( + 3329, + TType.STRUCT, + "operationId", + [THandleIdentifier, None], + None, + ), # 3329 + ( + 3330, + TType.STRUCT, + "sessionConf", + [TDBSqlSessionConf, None], + None, + ), # 3330 ) all_structs.append(TGetTablesResp) TGetTablesResp.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 - (2, TType.STRUCT, 'operationHandle', [TOperationHandle, None], None, ), # 2 + ( + 1, + TType.STRUCT, + "status", + [TStatus, None], + None, + ), # 1 + ( + 2, + TType.STRUCT, + "operationHandle", + [TOperationHandle, None], + None, + ), # 2 None, # 3 None, # 4 None, # 5 @@ -57327,12 +60735,24 @@ def __ne__(self, other): None, # 1278 None, # 1279 None, # 1280 - (1281, TType.STRUCT, 'directResults', [TSparkDirectResults, None], None, ), # 1281 + ( + 1281, + TType.STRUCT, + "directResults", + [TSparkDirectResults, None], + None, + ), # 1281 ) all_structs.append(TGetTableTypesReq) TGetTableTypesReq.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'sessionHandle', [TSessionHandle, None], None, ), # 1 + ( + 1, + TType.STRUCT, + "sessionHandle", + [TSessionHandle, None], + None, + ), # 1 None, # 2 None, # 3 None, # 4 @@ -58612,8 +62032,20 @@ def __ne__(self, other): None, # 1278 None, # 1279 None, # 1280 - (1281, TType.STRUCT, 'getDirectResults', [TSparkGetDirectResults, None], None, ), # 1281 - (1282, TType.BOOL, 'runAsync', None, False, ), # 1282 + ( + 1281, + TType.STRUCT, + "getDirectResults", + [TSparkGetDirectResults, None], + None, + ), # 1281 + ( + 1282, + TType.BOOL, + "runAsync", + None, + False, + ), # 1282 None, # 1283 None, # 1284 None, # 1285 @@ -60660,14 +64092,38 @@ def __ne__(self, other): None, # 3326 None, # 3327 None, # 3328 - (3329, TType.STRUCT, 'operationId', [THandleIdentifier, None], None, ), # 3329 - (3330, TType.STRUCT, 'sessionConf', [TDBSqlSessionConf, None], None, ), # 3330 + ( + 3329, + TType.STRUCT, + "operationId", + [THandleIdentifier, None], + None, + ), # 3329 + ( + 3330, + TType.STRUCT, + "sessionConf", + [TDBSqlSessionConf, None], + None, + ), # 3330 ) all_structs.append(TGetTableTypesResp) TGetTableTypesResp.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 - (2, TType.STRUCT, 'operationHandle', [TOperationHandle, None], None, ), # 2 + ( + 1, + TType.STRUCT, + "status", + [TStatus, None], + None, + ), # 1 + ( + 2, + TType.STRUCT, + "operationHandle", + [TOperationHandle, None], + None, + ), # 2 None, # 3 None, # 4 None, # 5 @@ -61946,16 +65402,52 @@ def __ne__(self, other): None, # 1278 None, # 1279 None, # 1280 - (1281, TType.STRUCT, 'directResults', [TSparkDirectResults, None], None, ), # 1281 + ( + 1281, + TType.STRUCT, + "directResults", + [TSparkDirectResults, None], + None, + ), # 1281 ) all_structs.append(TGetColumnsReq) TGetColumnsReq.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'sessionHandle', [TSessionHandle, None], None, ), # 1 - (2, TType.STRING, 'catalogName', 'UTF8', None, ), # 2 - (3, TType.STRING, 'schemaName', 'UTF8', None, ), # 3 - (4, TType.STRING, 'tableName', 'UTF8', None, ), # 4 - (5, TType.STRING, 'columnName', 'UTF8', None, ), # 5 + ( + 1, + TType.STRUCT, + "sessionHandle", + [TSessionHandle, None], + None, + ), # 1 + ( + 2, + TType.STRING, + "catalogName", + "UTF8", + None, + ), # 2 + ( + 3, + TType.STRING, + "schemaName", + "UTF8", + None, + ), # 3 + ( + 4, + TType.STRING, + "tableName", + "UTF8", + None, + ), # 4 + ( + 5, + TType.STRING, + "columnName", + "UTF8", + None, + ), # 5 None, # 6 None, # 7 None, # 8 @@ -63231,8 +66723,20 @@ def __ne__(self, other): None, # 1278 None, # 1279 None, # 1280 - (1281, TType.STRUCT, 'getDirectResults', [TSparkGetDirectResults, None], None, ), # 1281 - (1282, TType.BOOL, 'runAsync', None, False, ), # 1282 + ( + 1281, + TType.STRUCT, + "getDirectResults", + [TSparkGetDirectResults, None], + None, + ), # 1281 + ( + 1282, + TType.BOOL, + "runAsync", + None, + False, + ), # 1282 None, # 1283 None, # 1284 None, # 1285 @@ -65279,14 +68783,38 @@ def __ne__(self, other): None, # 3326 None, # 3327 None, # 3328 - (3329, TType.STRUCT, 'operationId', [THandleIdentifier, None], None, ), # 3329 - (3330, TType.STRUCT, 'sessionConf', [TDBSqlSessionConf, None], None, ), # 3330 + ( + 3329, + TType.STRUCT, + "operationId", + [THandleIdentifier, None], + None, + ), # 3329 + ( + 3330, + TType.STRUCT, + "sessionConf", + [TDBSqlSessionConf, None], + None, + ), # 3330 ) all_structs.append(TGetColumnsResp) TGetColumnsResp.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 - (2, TType.STRUCT, 'operationHandle', [TOperationHandle, None], None, ), # 2 + ( + 1, + TType.STRUCT, + "status", + [TStatus, None], + None, + ), # 1 + ( + 2, + TType.STRUCT, + "operationHandle", + [TOperationHandle, None], + None, + ), # 2 None, # 3 None, # 4 None, # 5 @@ -66565,15 +70093,45 @@ def __ne__(self, other): None, # 1278 None, # 1279 None, # 1280 - (1281, TType.STRUCT, 'directResults', [TSparkDirectResults, None], None, ), # 1281 + ( + 1281, + TType.STRUCT, + "directResults", + [TSparkDirectResults, None], + None, + ), # 1281 ) all_structs.append(TGetFunctionsReq) TGetFunctionsReq.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'sessionHandle', [TSessionHandle, None], None, ), # 1 - (2, TType.STRING, 'catalogName', 'UTF8', None, ), # 2 - (3, TType.STRING, 'schemaName', 'UTF8', None, ), # 3 - (4, TType.STRING, 'functionName', 'UTF8', None, ), # 4 + ( + 1, + TType.STRUCT, + "sessionHandle", + [TSessionHandle, None], + None, + ), # 1 + ( + 2, + TType.STRING, + "catalogName", + "UTF8", + None, + ), # 2 + ( + 3, + TType.STRING, + "schemaName", + "UTF8", + None, + ), # 3 + ( + 4, + TType.STRING, + "functionName", + "UTF8", + None, + ), # 4 None, # 5 None, # 6 None, # 7 @@ -67850,8 +71408,20 @@ def __ne__(self, other): None, # 1278 None, # 1279 None, # 1280 - (1281, TType.STRUCT, 'getDirectResults', [TSparkGetDirectResults, None], None, ), # 1281 - (1282, TType.BOOL, 'runAsync', None, False, ), # 1282 + ( + 1281, + TType.STRUCT, + "getDirectResults", + [TSparkGetDirectResults, None], + None, + ), # 1281 + ( + 1282, + TType.BOOL, + "runAsync", + None, + False, + ), # 1282 None, # 1283 None, # 1284 None, # 1285 @@ -69898,14 +73468,38 @@ def __ne__(self, other): None, # 3326 None, # 3327 None, # 3328 - (3329, TType.STRUCT, 'operationId', [THandleIdentifier, None], None, ), # 3329 - (3330, TType.STRUCT, 'sessionConf', [TDBSqlSessionConf, None], None, ), # 3330 + ( + 3329, + TType.STRUCT, + "operationId", + [THandleIdentifier, None], + None, + ), # 3329 + ( + 3330, + TType.STRUCT, + "sessionConf", + [TDBSqlSessionConf, None], + None, + ), # 3330 ) all_structs.append(TGetFunctionsResp) TGetFunctionsResp.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 - (2, TType.STRUCT, 'operationHandle', [TOperationHandle, None], None, ), # 2 + ( + 1, + TType.STRUCT, + "status", + [TStatus, None], + None, + ), # 1 + ( + 2, + TType.STRUCT, + "operationHandle", + [TOperationHandle, None], + None, + ), # 2 None, # 3 None, # 4 None, # 5 @@ -71184,15 +74778,45 @@ def __ne__(self, other): None, # 1278 None, # 1279 None, # 1280 - (1281, TType.STRUCT, 'directResults', [TSparkDirectResults, None], None, ), # 1281 + ( + 1281, + TType.STRUCT, + "directResults", + [TSparkDirectResults, None], + None, + ), # 1281 ) all_structs.append(TGetPrimaryKeysReq) TGetPrimaryKeysReq.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'sessionHandle', [TSessionHandle, None], None, ), # 1 - (2, TType.STRING, 'catalogName', 'UTF8', None, ), # 2 - (3, TType.STRING, 'schemaName', 'UTF8', None, ), # 3 - (4, TType.STRING, 'tableName', 'UTF8', None, ), # 4 + ( + 1, + TType.STRUCT, + "sessionHandle", + [TSessionHandle, None], + None, + ), # 1 + ( + 2, + TType.STRING, + "catalogName", + "UTF8", + None, + ), # 2 + ( + 3, + TType.STRING, + "schemaName", + "UTF8", + None, + ), # 3 + ( + 4, + TType.STRING, + "tableName", + "UTF8", + None, + ), # 4 None, # 5 None, # 6 None, # 7 @@ -72469,8 +76093,20 @@ def __ne__(self, other): None, # 1278 None, # 1279 None, # 1280 - (1281, TType.STRUCT, 'getDirectResults', [TSparkGetDirectResults, None], None, ), # 1281 - (1282, TType.BOOL, 'runAsync', None, False, ), # 1282 + ( + 1281, + TType.STRUCT, + "getDirectResults", + [TSparkGetDirectResults, None], + None, + ), # 1281 + ( + 1282, + TType.BOOL, + "runAsync", + None, + False, + ), # 1282 None, # 1283 None, # 1284 None, # 1285 @@ -74517,14 +78153,38 @@ def __ne__(self, other): None, # 3326 None, # 3327 None, # 3328 - (3329, TType.STRUCT, 'operationId', [THandleIdentifier, None], None, ), # 3329 - (3330, TType.STRUCT, 'sessionConf', [TDBSqlSessionConf, None], None, ), # 3330 + ( + 3329, + TType.STRUCT, + "operationId", + [THandleIdentifier, None], + None, + ), # 3329 + ( + 3330, + TType.STRUCT, + "sessionConf", + [TDBSqlSessionConf, None], + None, + ), # 3330 ) all_structs.append(TGetPrimaryKeysResp) TGetPrimaryKeysResp.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 - (2, TType.STRUCT, 'operationHandle', [TOperationHandle, None], None, ), # 2 + ( + 1, + TType.STRUCT, + "status", + [TStatus, None], + None, + ), # 1 + ( + 2, + TType.STRUCT, + "operationHandle", + [TOperationHandle, None], + None, + ), # 2 None, # 3 None, # 4 None, # 5 @@ -75803,18 +79463,66 @@ def __ne__(self, other): None, # 1278 None, # 1279 None, # 1280 - (1281, TType.STRUCT, 'directResults', [TSparkDirectResults, None], None, ), # 1281 + ( + 1281, + TType.STRUCT, + "directResults", + [TSparkDirectResults, None], + None, + ), # 1281 ) all_structs.append(TGetCrossReferenceReq) TGetCrossReferenceReq.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'sessionHandle', [TSessionHandle, None], None, ), # 1 - (2, TType.STRING, 'parentCatalogName', 'UTF8', None, ), # 2 - (3, TType.STRING, 'parentSchemaName', 'UTF8', None, ), # 3 - (4, TType.STRING, 'parentTableName', 'UTF8', None, ), # 4 - (5, TType.STRING, 'foreignCatalogName', 'UTF8', None, ), # 5 - (6, TType.STRING, 'foreignSchemaName', 'UTF8', None, ), # 6 - (7, TType.STRING, 'foreignTableName', 'UTF8', None, ), # 7 + ( + 1, + TType.STRUCT, + "sessionHandle", + [TSessionHandle, None], + None, + ), # 1 + ( + 2, + TType.STRING, + "parentCatalogName", + "UTF8", + None, + ), # 2 + ( + 3, + TType.STRING, + "parentSchemaName", + "UTF8", + None, + ), # 3 + ( + 4, + TType.STRING, + "parentTableName", + "UTF8", + None, + ), # 4 + ( + 5, + TType.STRING, + "foreignCatalogName", + "UTF8", + None, + ), # 5 + ( + 6, + TType.STRING, + "foreignSchemaName", + "UTF8", + None, + ), # 6 + ( + 7, + TType.STRING, + "foreignTableName", + "UTF8", + None, + ), # 7 None, # 8 None, # 9 None, # 10 @@ -77088,8 +80796,20 @@ def __ne__(self, other): None, # 1278 None, # 1279 None, # 1280 - (1281, TType.STRUCT, 'getDirectResults', [TSparkGetDirectResults, None], None, ), # 1281 - (1282, TType.BOOL, 'runAsync', None, False, ), # 1282 + ( + 1281, + TType.STRUCT, + "getDirectResults", + [TSparkGetDirectResults, None], + None, + ), # 1281 + ( + 1282, + TType.BOOL, + "runAsync", + None, + False, + ), # 1282 None, # 1283 None, # 1284 None, # 1285 @@ -79136,14 +82856,38 @@ def __ne__(self, other): None, # 3326 None, # 3327 None, # 3328 - (3329, TType.STRUCT, 'operationId', [THandleIdentifier, None], None, ), # 3329 - (3330, TType.STRUCT, 'sessionConf', [TDBSqlSessionConf, None], None, ), # 3330 + ( + 3329, + TType.STRUCT, + "operationId", + [THandleIdentifier, None], + None, + ), # 3329 + ( + 3330, + TType.STRUCT, + "sessionConf", + [TDBSqlSessionConf, None], + None, + ), # 3330 ) all_structs.append(TGetCrossReferenceResp) TGetCrossReferenceResp.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 - (2, TType.STRUCT, 'operationHandle', [TOperationHandle, None], None, ), # 2 + ( + 1, + TType.STRUCT, + "status", + [TStatus, None], + None, + ), # 1 + ( + 2, + TType.STRUCT, + "operationHandle", + [TOperationHandle, None], + None, + ), # 2 None, # 3 None, # 4 None, # 5 @@ -80422,28 +84166,112 @@ def __ne__(self, other): None, # 1278 None, # 1279 None, # 1280 - (1281, TType.STRUCT, 'directResults', [TSparkDirectResults, None], None, ), # 1281 + ( + 1281, + TType.STRUCT, + "directResults", + [TSparkDirectResults, None], + None, + ), # 1281 ) all_structs.append(TGetOperationStatusReq) TGetOperationStatusReq.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'operationHandle', [TOperationHandle, None], None, ), # 1 - (2, TType.BOOL, 'getProgressUpdate', None, None, ), # 2 + ( + 1, + TType.STRUCT, + "operationHandle", + [TOperationHandle, None], + None, + ), # 1 + ( + 2, + TType.BOOL, + "getProgressUpdate", + None, + None, + ), # 2 ) all_structs.append(TGetOperationStatusResp) TGetOperationStatusResp.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 - (2, TType.I32, 'operationState', None, None, ), # 2 - (3, TType.STRING, 'sqlState', 'UTF8', None, ), # 3 - (4, TType.I32, 'errorCode', None, None, ), # 4 - (5, TType.STRING, 'errorMessage', 'UTF8', None, ), # 5 - (6, TType.STRING, 'taskStatus', 'UTF8', None, ), # 6 - (7, TType.I64, 'operationStarted', None, None, ), # 7 - (8, TType.I64, 'operationCompleted', None, None, ), # 8 - (9, TType.BOOL, 'hasResultSet', None, None, ), # 9 - (10, TType.STRUCT, 'progressUpdateResponse', [TProgressUpdateResp, None], None, ), # 10 - (11, TType.I64, 'numModifiedRows', None, None, ), # 11 + ( + 1, + TType.STRUCT, + "status", + [TStatus, None], + None, + ), # 1 + ( + 2, + TType.I32, + "operationState", + None, + None, + ), # 2 + ( + 3, + TType.STRING, + "sqlState", + "UTF8", + None, + ), # 3 + ( + 4, + TType.I32, + "errorCode", + None, + None, + ), # 4 + ( + 5, + TType.STRING, + "errorMessage", + "UTF8", + None, + ), # 5 + ( + 6, + TType.STRING, + "taskStatus", + "UTF8", + None, + ), # 6 + ( + 7, + TType.I64, + "operationStarted", + None, + None, + ), # 7 + ( + 8, + TType.I64, + "operationCompleted", + None, + None, + ), # 8 + ( + 9, + TType.BOOL, + "hasResultSet", + None, + None, + ), # 9 + ( + 10, + TType.STRUCT, + "progressUpdateResponse", + [TProgressUpdateResp, None], + None, + ), # 10 + ( + 11, + TType.I64, + "numModifiedRows", + None, + None, + ), # 11 None, # 12 None, # 13 None, # 14 @@ -81713,9 +85541,27 @@ def __ne__(self, other): None, # 1278 None, # 1279 None, # 1280 - (1281, TType.STRING, 'displayMessage', 'UTF8', None, ), # 1281 - (1282, TType.STRING, 'diagnosticInfo', 'UTF8', None, ), # 1282 - (1283, TType.STRING, 'errorDetailsJson', 'UTF8', None, ), # 1283 + ( + 1281, + TType.STRING, + "displayMessage", + "UTF8", + None, + ), # 1281 + ( + 1282, + TType.STRING, + "diagnosticInfo", + "UTF8", + None, + ), # 1282 + ( + 1283, + TType.STRING, + "errorDetailsJson", + "UTF8", + None, + ), # 1283 None, # 1284 None, # 1285 None, # 1286 @@ -83761,15 +87607,45 @@ def __ne__(self, other): None, # 3326 None, # 3327 None, # 3328 - (3329, TType.STRING, 'responseValidation', 'BINARY', None, ), # 3329 - (3330, TType.I32, 'idempotencyType', None, None, ), # 3330 - (3331, TType.I64, 'statementTimeout', None, None, ), # 3331 - (3332, TType.I32, 'statementTimeoutLevel', None, None, ), # 3332 + ( + 3329, + TType.STRING, + "responseValidation", + "BINARY", + None, + ), # 3329 + ( + 3330, + TType.I32, + "idempotencyType", + None, + None, + ), # 3330 + ( + 3331, + TType.I64, + "statementTimeout", + None, + None, + ), # 3331 + ( + 3332, + TType.I32, + "statementTimeoutLevel", + None, + None, + ), # 3332 ) all_structs.append(TCancelOperationReq) TCancelOperationReq.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'operationHandle', [TOperationHandle, None], None, ), # 1 + ( + 1, + TType.STRUCT, + "operationHandle", + [TOperationHandle, None], + None, + ), # 1 None, # 2 None, # 3 None, # 4 @@ -87097,18 +90973,42 @@ def __ne__(self, other): None, # 3326 None, # 3327 None, # 3328 - (3329, TType.I16, 'executionVersion', None, None, ), # 3329 - (3330, TType.BOOL, 'replacedByNextAttempt', None, None, ), # 3330 + ( + 3329, + TType.I16, + "executionVersion", + None, + None, + ), # 3329 + ( + 3330, + TType.BOOL, + "replacedByNextAttempt", + None, + None, + ), # 3330 ) all_structs.append(TCancelOperationResp) TCancelOperationResp.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 + ( + 1, + TType.STRUCT, + "status", + [TStatus, None], + None, + ), # 1 ) all_structs.append(TCloseOperationReq) TCloseOperationReq.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'operationHandle', [TOperationHandle, None], None, ), # 1 + ( + 1, + TType.STRUCT, + "operationHandle", + [TOperationHandle, None], + None, + ), # 1 None, # 2 None, # 3 None, # 4 @@ -90436,17 +94336,35 @@ def __ne__(self, other): None, # 3326 None, # 3327 None, # 3328 - (3329, TType.I32, 'closeReason', None, 0, ), # 3329 + ( + 3329, + TType.I32, + "closeReason", + None, + 0, + ), # 3329 ) all_structs.append(TCloseOperationResp) TCloseOperationResp.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 + ( + 1, + TType.STRUCT, + "status", + [TStatus, None], + None, + ), # 1 ) all_structs.append(TGetResultSetMetadataReq) TGetResultSetMetadataReq.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'operationHandle', [TOperationHandle, None], None, ), # 1 + ( + 1, + TType.STRUCT, + "operationHandle", + [TOperationHandle, None], + None, + ), # 1 None, # 2 None, # 3 None, # 4 @@ -93774,13 +97692,31 @@ def __ne__(self, other): None, # 3326 None, # 3327 None, # 3328 - (3329, TType.BOOL, 'includeCloudResultFiles', None, None, ), # 3329 + ( + 3329, + TType.BOOL, + "includeCloudResultFiles", + None, + None, + ), # 3329 ) all_structs.append(TGetResultSetMetadataResp) TGetResultSetMetadataResp.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 - (2, TType.STRUCT, 'schema', [TTableSchema, None], None, ), # 2 + ( + 1, + TType.STRUCT, + "status", + [TStatus, None], + None, + ), # 1 + ( + 2, + TType.STRUCT, + "schema", + [TTableSchema, None], + None, + ), # 2 None, # 3 None, # 4 None, # 5 @@ -95059,13 +98995,55 @@ def __ne__(self, other): None, # 1278 None, # 1279 None, # 1280 - (1281, TType.I32, 'resultFormat', None, None, ), # 1281 - (1282, TType.BOOL, 'lz4Compressed', None, None, ), # 1282 - (1283, TType.STRING, 'arrowSchema', 'BINARY', None, ), # 1283 - (1284, TType.I32, 'cacheLookupResult', None, None, ), # 1284 - (1285, TType.I64, 'uncompressedBytes', None, None, ), # 1285 - (1286, TType.I64, 'compressedBytes', None, None, ), # 1286 - (1287, TType.BOOL, 'isStagingOperation', None, None, ), # 1287 + ( + 1281, + TType.I32, + "resultFormat", + None, + None, + ), # 1281 + ( + 1282, + TType.BOOL, + "lz4Compressed", + None, + None, + ), # 1282 + ( + 1283, + TType.STRING, + "arrowSchema", + "BINARY", + None, + ), # 1283 + ( + 1284, + TType.I32, + "cacheLookupResult", + None, + None, + ), # 1284 + ( + 1285, + TType.I64, + "uncompressedBytes", + None, + None, + ), # 1285 + ( + 1286, + TType.I64, + "compressedBytes", + None, + None, + ), # 1286 + ( + 1287, + TType.BOOL, + "isStagingOperation", + None, + None, + ), # 1287 None, # 1288 None, # 1289 None, # 1290 @@ -97107,32 +101085,128 @@ def __ne__(self, other): None, # 3326 None, # 3327 None, # 3328 - (3329, TType.I32, 'reasonForNoCloudFetch', None, None, ), # 3329 - (3330, TType.LIST, 'resultFiles', (TType.STRUCT, [TDBSqlCloudResultFile, None], False), None, ), # 3330 - (3331, TType.STRING, 'manifestFile', 'UTF8', None, ), # 3331 - (3332, TType.I32, 'manifestFileFormat', None, None, ), # 3332 - (3333, TType.I64, 'cacheLookupLatency', None, None, ), # 3333 - (3334, TType.STRING, 'remoteCacheMissReason', 'UTF8', None, ), # 3334 - (3335, TType.I32, 'fetchDisposition', None, None, ), # 3335 - (3336, TType.BOOL, 'remoteResultCacheEnabled', None, None, ), # 3336 - (3337, TType.BOOL, 'isServerless', None, None, ), # 3337 + ( + 3329, + TType.I32, + "reasonForNoCloudFetch", + None, + None, + ), # 3329 + ( + 3330, + TType.LIST, + "resultFiles", + (TType.STRUCT, [TDBSqlCloudResultFile, None], False), + None, + ), # 3330 + ( + 3331, + TType.STRING, + "manifestFile", + "UTF8", + None, + ), # 3331 + ( + 3332, + TType.I32, + "manifestFileFormat", + None, + None, + ), # 3332 + ( + 3333, + TType.I64, + "cacheLookupLatency", + None, + None, + ), # 3333 + ( + 3334, + TType.STRING, + "remoteCacheMissReason", + "UTF8", + None, + ), # 3334 + ( + 3335, + TType.I32, + "fetchDisposition", + None, + None, + ), # 3335 + ( + 3336, + TType.BOOL, + "remoteResultCacheEnabled", + None, + None, + ), # 3336 + ( + 3337, + TType.BOOL, + "isServerless", + None, + None, + ), # 3337 None, # 3338 None, # 3339 None, # 3340 None, # 3341 None, # 3342 None, # 3343 - (3344, TType.STRUCT, 'resultDataFormat', [TDBSqlResultFormat, None], None, ), # 3344 - (3345, TType.BOOL, 'truncatedByThriftLimit', None, None, ), # 3345 - (3346, TType.I64, 'resultByteLimit', None, None, ), # 3346 + ( + 3344, + TType.STRUCT, + "resultDataFormat", + [TDBSqlResultFormat, None], + None, + ), # 3344 + ( + 3345, + TType.BOOL, + "truncatedByThriftLimit", + None, + None, + ), # 3345 + ( + 3346, + TType.I64, + "resultByteLimit", + None, + None, + ), # 3346 ) all_structs.append(TFetchResultsReq) TFetchResultsReq.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'operationHandle', [TOperationHandle, None], None, ), # 1 - (2, TType.I32, 'orientation', None, 0, ), # 2 - (3, TType.I64, 'maxRows', None, None, ), # 3 - (4, TType.I16, 'fetchType', None, 0, ), # 4 + ( + 1, + TType.STRUCT, + "operationHandle", + [TOperationHandle, None], + None, + ), # 1 + ( + 2, + TType.I32, + "orientation", + None, + 0, + ), # 2 + ( + 3, + TType.I64, + "maxRows", + None, + None, + ), # 3 + ( + 4, + TType.I16, + "fetchType", + None, + 0, + ), # 4 None, # 5 None, # 6 None, # 7 @@ -98409,16 +102483,52 @@ def __ne__(self, other): None, # 1278 None, # 1279 None, # 1280 - (1281, TType.I64, 'maxBytes', None, None, ), # 1281 - (1282, TType.I64, 'startRowOffset', None, None, ), # 1282 - (1283, TType.BOOL, 'includeResultSetMetadata', None, None, ), # 1283 + ( + 1281, + TType.I64, + "maxBytes", + None, + None, + ), # 1281 + ( + 1282, + TType.I64, + "startRowOffset", + None, + None, + ), # 1282 + ( + 1283, + TType.BOOL, + "includeResultSetMetadata", + None, + None, + ), # 1283 ) all_structs.append(TFetchResultsResp) TFetchResultsResp.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 - (2, TType.BOOL, 'hasMoreRows', None, None, ), # 2 - (3, TType.STRUCT, 'results', [TRowSet, None], None, ), # 3 + ( + 1, + TType.STRUCT, + "status", + [TStatus, None], + None, + ), # 1 + ( + 2, + TType.BOOL, + "hasMoreRows", + None, + None, + ), # 2 + ( + 3, + TType.STRUCT, + "results", + [TRowSet, None], + None, + ), # 3 None, # 4 None, # 5 None, # 6 @@ -99696,7 +103806,13 @@ def __ne__(self, other): None, # 1278 None, # 1279 None, # 1280 - (1281, TType.STRUCT, 'resultSetMetadata', [TGetResultSetMetadataResp, None], None, ), # 1281 + ( + 1281, + TType.STRUCT, + "resultSetMetadata", + [TGetResultSetMetadataResp, None], + None, + ), # 1281 None, # 1282 None, # 1283 None, # 1284 @@ -101744,14 +105860,38 @@ def __ne__(self, other): None, # 3326 None, # 3327 None, # 3328 - (3329, TType.STRING, 'responseValidation', 'BINARY', None, ), # 3329 + ( + 3329, + TType.STRING, + "responseValidation", + "BINARY", + None, + ), # 3329 ) all_structs.append(TGetDelegationTokenReq) TGetDelegationTokenReq.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'sessionHandle', [TSessionHandle, None], None, ), # 1 - (2, TType.STRING, 'owner', 'UTF8', None, ), # 2 - (3, TType.STRING, 'renewer', 'UTF8', None, ), # 3 + ( + 1, + TType.STRUCT, + "sessionHandle", + [TSessionHandle, None], + None, + ), # 1 + ( + 2, + TType.STRING, + "owner", + "UTF8", + None, + ), # 2 + ( + 3, + TType.STRING, + "renewer", + "UTF8", + None, + ), # 3 None, # 4 None, # 5 None, # 6 @@ -105077,19 +109217,49 @@ def __ne__(self, other): None, # 3326 None, # 3327 None, # 3328 - (3329, TType.STRUCT, 'sessionConf', [TDBSqlSessionConf, None], None, ), # 3329 + ( + 3329, + TType.STRUCT, + "sessionConf", + [TDBSqlSessionConf, None], + None, + ), # 3329 ) all_structs.append(TGetDelegationTokenResp) TGetDelegationTokenResp.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 - (2, TType.STRING, 'delegationToken', 'UTF8', None, ), # 2 + ( + 1, + TType.STRUCT, + "status", + [TStatus, None], + None, + ), # 1 + ( + 2, + TType.STRING, + "delegationToken", + "UTF8", + None, + ), # 2 ) all_structs.append(TCancelDelegationTokenReq) TCancelDelegationTokenReq.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'sessionHandle', [TSessionHandle, None], None, ), # 1 - (2, TType.STRING, 'delegationToken', 'UTF8', None, ), # 2 + ( + 1, + TType.STRUCT, + "sessionHandle", + [TSessionHandle, None], + None, + ), # 1 + ( + 2, + TType.STRING, + "delegationToken", + "UTF8", + None, + ), # 2 None, # 3 None, # 4 None, # 5 @@ -108416,18 +112586,42 @@ def __ne__(self, other): None, # 3326 None, # 3327 None, # 3328 - (3329, TType.STRUCT, 'sessionConf', [TDBSqlSessionConf, None], None, ), # 3329 + ( + 3329, + TType.STRUCT, + "sessionConf", + [TDBSqlSessionConf, None], + None, + ), # 3329 ) all_structs.append(TCancelDelegationTokenResp) TCancelDelegationTokenResp.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 + ( + 1, + TType.STRUCT, + "status", + [TStatus, None], + None, + ), # 1 ) all_structs.append(TRenewDelegationTokenReq) TRenewDelegationTokenReq.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'sessionHandle', [TSessionHandle, None], None, ), # 1 - (2, TType.STRING, 'delegationToken', 'UTF8', None, ), # 2 + ( + 1, + TType.STRUCT, + "sessionHandle", + [TSessionHandle, None], + None, + ), # 1 + ( + 2, + TType.STRING, + "delegationToken", + "UTF8", + None, + ), # 2 None, # 3 None, # 4 None, # 5 @@ -111754,22 +115948,70 @@ def __ne__(self, other): None, # 3326 None, # 3327 None, # 3328 - (3329, TType.STRUCT, 'sessionConf', [TDBSqlSessionConf, None], None, ), # 3329 + ( + 3329, + TType.STRUCT, + "sessionConf", + [TDBSqlSessionConf, None], + None, + ), # 3329 ) all_structs.append(TRenewDelegationTokenResp) TRenewDelegationTokenResp.thrift_spec = ( None, # 0 - (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 + ( + 1, + TType.STRUCT, + "status", + [TStatus, None], + None, + ), # 1 ) all_structs.append(TProgressUpdateResp) TProgressUpdateResp.thrift_spec = ( None, # 0 - (1, TType.LIST, 'headerNames', (TType.STRING, 'UTF8', False), None, ), # 1 - (2, TType.LIST, 'rows', (TType.LIST, (TType.STRING, 'UTF8', False), False), None, ), # 2 - (3, TType.DOUBLE, 'progressedPercentage', None, None, ), # 3 - (4, TType.I32, 'status', None, None, ), # 4 - (5, TType.STRING, 'footerSummary', 'UTF8', None, ), # 5 - (6, TType.I64, 'startTime', None, None, ), # 6 + ( + 1, + TType.LIST, + "headerNames", + (TType.STRING, "UTF8", False), + None, + ), # 1 + ( + 2, + TType.LIST, + "rows", + (TType.LIST, (TType.STRING, "UTF8", False), False), + None, + ), # 2 + ( + 3, + TType.DOUBLE, + "progressedPercentage", + None, + None, + ), # 3 + ( + 4, + TType.I32, + "status", + None, + None, + ), # 4 + ( + 5, + TType.STRING, + "footerSummary", + "UTF8", + None, + ), # 5 + ( + 6, + TType.I64, + "startTime", + None, + None, + ), # 6 ) fix_spec(all_structs) del all_structs diff --git a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/thrift_backend.py b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/thrift_backend.py index 9c888a80..7e5e5e03 100644 --- a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/thrift_backend.py +++ b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/thrift_backend.py @@ -227,11 +227,13 @@ def __init__( additional_transport_args["retry_policy"] = self.retry_policy - self._transport = databricks_sql_connector_core.sql.auth.thrift_http_client.THttpClient( - auth_provider=self._auth_provider, - uri_or_host=uri, - ssl_context=self._ssl_context, - **additional_transport_args, # type: ignore + self._transport = ( + databricks_sql_connector_core.sql.auth.thrift_http_client.THttpClient( + auth_provider=self._auth_provider, + uri_or_host=uri, + ssl_context=self._ssl_context, + **additional_transport_args, # type: ignore + ) ) timeout = kwargs.get("_socket_timeout", DEFAULT_SOCKET_TIMEOUT) @@ -644,7 +646,10 @@ def _create_arrow_table(self, t_row_set, lz4_compressed, schema_bytes, descripti num_rows, ) = convert_column_based_set_to_arrow_table(t_row_set.columns, description) elif t_row_set.arrowBatches is not None: - (arrow_table, num_rows,) = convert_arrow_based_set_to_arrow_table( + ( + arrow_table, + num_rows, + ) = convert_arrow_based_set_to_arrow_table( t_row_set.arrowBatches, lz4_compressed, schema_bytes ) else: @@ -659,7 +664,9 @@ def _get_metadata_resp(self, op_handle): def _hive_schema_to_arrow_schema(t_table_schema): if pyarrow is None: - raise ImportError("pyarrow is required to convert Hive schema to Arrow schema") + raise ImportError( + "pyarrow is required to convert Hive schema to Arrow schema" + ) def map_type(t_type_entry): if t_type_entry.primitiveEntry: diff --git a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/utils.py b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/utils.py index d2d400af..8e733912 100644 --- a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/utils.py +++ b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/utils.py @@ -15,20 +15,26 @@ from ssl import SSLContext import lz4.frame + try: import pyarrow except ImportError: pyarrow = None from databricks_sql_connector_core.sql import OperationalError, exc -from databricks_sql_connector_core.sql.cloudfetch.download_manager import ResultFileDownloadManager +from databricks_sql_connector_core.sql.cloudfetch.download_manager import ( + ResultFileDownloadManager, +) from databricks_sql_connector_core.sql.thrift_api.TCLIService.ttypes import ( TRowSet, TSparkArrowResultLink, TSparkRowSetType, ) -from databricks_sql_connector_core.sql.parameters.native import ParameterStructure, TDbsqlParameter +from databricks_sql_connector_core.sql.parameters.native import ( + ParameterStructure, + TDbsqlParameter, +) BIT_MASKS = [1, 2, 4, 8, 16, 32, 64, 128] @@ -49,7 +55,6 @@ def remaining_rows(self): class ResultSetQueueFactory(ABC): - @staticmethod def build_queue( row_set_type: TSparkRowSetType, @@ -85,10 +90,12 @@ def build_queue( return ArrowQueue(converted_arrow_table, n_valid_rows) elif row_set_type == TSparkRowSetType.COLUMN_BASED_SET: column_table, column_names = convert_column_based_set_to_column_table( - t_row_set.columns, - description) + t_row_set.columns, description + ) - converted_column_table = convert_to_assigned_datatypes_in_column_table(column_table, description) + converted_column_table = convert_to_assigned_datatypes_in_column_table( + column_table, description + ) return ColumnQueue(converted_column_table, column_names) elif row_set_type == TSparkRowSetType.URL_BASED_SET: @@ -106,9 +113,7 @@ def build_queue( class ColumnQueue(ResultSetQueue): - def __init__( - self, - columnar_table, column_names): + def __init__(self, columnar_table, column_names): self.columnar_table = columnar_table self.cur_row_index = 0 self.n_valid_rows = len(columnar_table[0]) @@ -117,12 +122,15 @@ def __init__( def next_n_rows(self, num_rows): length = min(num_rows, self.n_valid_rows - self.cur_row_index) # Slicing using the default python slice - next_data = [column[self.cur_row_index:self.cur_row_index+length] for column in self.columnar_table] + next_data = [ + column[self.cur_row_index : self.cur_row_index + length] + for column in self.columnar_table + ] self.cur_row_index += length return next_data def remaining_rows(self): - next_data = [column[self.cur_row_index:] for column in self.columnar_table] + next_data = [column[self.cur_row_index :] for column in self.columnar_table] self.cur_row_index += len(next_data[0]) return next_data @@ -145,7 +153,7 @@ def __init__( self.arrow_table = arrow_table self.n_valid_rows = n_valid_rows - def next_n_rows(self, num_rows: int) -> 'pyarrow.Table': + def next_n_rows(self, num_rows: int) -> "pyarrow.Table": """Get upto the next n rows of the Arrow dataframe""" length = min(num_rows, self.n_valid_rows - self.cur_row_index) # Note that the table.slice API is not the same as Python's slice @@ -154,7 +162,7 @@ def next_n_rows(self, num_rows: int) -> 'pyarrow.Table': self.cur_row_index += slice.num_rows return slice - def remaining_rows(self) -> 'pyarrow.Table': + def remaining_rows(self) -> "pyarrow.Table": slice = self.arrow_table.slice( self.cur_row_index, self.n_valid_rows - self.cur_row_index ) @@ -214,7 +222,7 @@ def __init__( self.table = self._create_next_table() self.table_row_index = 0 - def next_n_rows(self, num_rows: int) -> 'pyarrow.Table': + def next_n_rows(self, num_rows: int) -> "pyarrow.Table": """ Get up to the next n rows of the cloud fetch Arrow dataframes. @@ -246,7 +254,7 @@ def next_n_rows(self, num_rows: int) -> 'pyarrow.Table': logger.debug("CloudFetchQueue: collected {} next rows".format(results.num_rows)) return results - def remaining_rows(self) -> 'pyarrow.Table': + def remaining_rows(self) -> "pyarrow.Table": """ Get all remaining rows of the cloud fetch Arrow dataframes. @@ -267,7 +275,7 @@ def remaining_rows(self) -> 'pyarrow.Table': self.table_row_index = 0 return results - def _create_next_table(self) -> Union['pyarrow.Table', None]: + def _create_next_table(self) -> Union["pyarrow.Table", None]: logger.debug( "CloudFetchQueue: Trying to get downloaded file for row {}".format( self.start_row_index @@ -306,7 +314,7 @@ def _create_next_table(self) -> Union['pyarrow.Table', None]: return arrow_table - def _create_empty_table(self) -> 'pyarrow.Table': + def _create_empty_table(self) -> "pyarrow.Table": # Create a 0-row table with just the schema bytes return create_arrow_table_from_arrow_file(self.schema_bytes, self.description) @@ -545,7 +553,9 @@ def transform_paramstyle( return output -def create_arrow_table_from_arrow_file(file_bytes: bytes, description) -> 'pyarrow.Table': +def create_arrow_table_from_arrow_file( + file_bytes: bytes, description +) -> "pyarrow.Table": arrow_table = convert_arrow_based_file_to_arrow_table(file_bytes) return convert_decimals_in_arrow_table(arrow_table, description) @@ -572,7 +582,7 @@ def convert_arrow_based_set_to_arrow_table(arrow_batches, lz4_compressed, schema return arrow_table, n_rows -def convert_decimals_in_arrow_table(table, description) -> 'pyarrow.Table': +def convert_decimals_in_arrow_table(table, description) -> "pyarrow.Table": for i, col in enumerate(table.itercolumns()): if description[i][1] == "decimal": decimal_col = col.to_pandas().apply( @@ -595,12 +605,24 @@ def convert_to_assigned_datatypes_in_column_table(column_table, description): if description[i][1] == "decimal": column_table[i] = tuple(v if v is None else Decimal(v) for v in col) elif description[i][1] == "date": - column_table[i] = tuple(v if v is None else datetime.date.fromisoformat(v) for v in col) + column_table[i] = tuple( + v if v is None else datetime.date.fromisoformat(v) for v in col + ) elif description[i][1] == "timestamp": - column_table[i] = tuple(v if v is None else datetime.datetime.strptime(v, "%Y-%m-%d %H:%M:%S.%f").replace(tzinfo = pytz.UTC) for v in col) + column_table[i] = tuple( + ( + v + if v is None + else datetime.datetime.strptime(v, "%Y-%m-%d %H:%M:%S.%f").replace( + tzinfo=pytz.UTC + ) + ) + for v in col + ) return column_table + def convert_column_based_set_to_arrow_table(columns, description): arrow_table = pyarrow.Table.from_arrays( [_convert_column_to_arrow_array(c) for c in columns], @@ -611,6 +633,7 @@ def convert_column_based_set_to_arrow_table(columns, description): ) return arrow_table, arrow_table.num_rows + def convert_column_based_set_to_column_table(columns, description): column_names = [c[0] for c in description] column_table = [_covert_column_to_list(c) for c in columns] @@ -618,7 +641,6 @@ def convert_column_based_set_to_column_table(columns, description): return column_table, column_names - def _convert_column_to_arrow_array(t_col): """ Return a pyarrow array from the values in a TColumn instance. @@ -642,8 +664,18 @@ def _convert_column_to_arrow_array(t_col): raise OperationalError("Empty TColumn instance {}".format(t_col)) + def _covert_column_to_list(t_col): - supported_field_types = ("boolVal", "byteVal", "i16Val", "i32Val", "i64Val", "doubleVal", "stringVal", "binaryVal") + supported_field_types = ( + "boolVal", + "byteVal", + "i16Val", + "i32Val", + "i64Val", + "doubleVal", + "stringVal", + "binaryVal", + ) for field in supported_field_types: wrapper = getattr(t_col, field) @@ -652,6 +684,7 @@ def _covert_column_to_list(t_col): raise OperationalError("Empty TColumn instance {}".format(t_col)) + def _create_arrow_array(t_col_value_wrapper, arrow_type): result = t_col_value_wrapper.values nulls = t_col_value_wrapper.nulls # bitfield describing which values are null @@ -667,6 +700,7 @@ def _create_arrow_array(t_col_value_wrapper, arrow_type): return pyarrow.array(result, type=arrow_type) + def _create_python_tuple(t_col_value_wrapper): result = t_col_value_wrapper.values nulls = t_col_value_wrapper.nulls # bitfield describing which values are null diff --git a/databricks_sql_connector_core/src/databricks_sql_connector_core/sqlalchemy/__init__.py b/databricks_sql_connector_core/src/databricks_sql_connector_core/sqlalchemy/__init__.py index 458a064d..681f35fa 100644 --- a/databricks_sql_connector_core/src/databricks_sql_connector_core/sqlalchemy/__init__.py +++ b/databricks_sql_connector_core/src/databricks_sql_connector_core/sqlalchemy/__init__.py @@ -2,4 +2,5 @@ from databricks_sqlalchemy import * except: import warnings - warnings.warn("Install databricks-sqlalchemy plugin before using this") \ No newline at end of file + + warnings.warn("Install databricks-sqlalchemy plugin before using this") diff --git a/databricks_sql_connector_core/tests/e2e/common/core_tests.py b/databricks_sql_connector_core/tests/e2e/common/core_tests.py index e89289ef..3f0fdc05 100644 --- a/databricks_sql_connector_core/tests/e2e/common/core_tests.py +++ b/databricks_sql_connector_core/tests/e2e/common/core_tests.py @@ -4,15 +4,18 @@ TypeFailure = namedtuple( "TypeFailure", - "query,columnType,resultType,resultValue," "actualValue,actualType,description,conf", + "query,columnType,resultType,resultValue," + "actualValue,actualType,description,conf", ) ResultFailure = namedtuple( "ResultFailure", - "query,columnType,resultType,resultValue," "actualValue,actualType,description,conf", + "query,columnType,resultType,resultValue," + "actualValue,actualType,description,conf", ) ExecFailure = namedtuple( "ExecFailure", - "query,columnType,resultType,resultValue," "actualValue,actualType,description,conf,error", + "query,columnType,resultType,resultValue," + "actualValue,actualType,description,conf,error", ) @@ -58,7 +61,9 @@ def run_tests_on_queries(self, default_conf): for query, columnType, rowValueType, answer in self.range_queries: with self.cursor(default_conf) as cursor: failures.extend( - self.run_query(cursor, query, columnType, rowValueType, answer, default_conf) + self.run_query( + cursor, query, columnType, rowValueType, answer, default_conf + ) ) failures.extend( self.run_range_query( @@ -69,7 +74,9 @@ def run_tests_on_queries(self, default_conf): for query, columnType, rowValueType, answer in self.queries: with self.cursor(default_conf) as cursor: failures.extend( - self.run_query(cursor, query, columnType, rowValueType, answer, default_conf) + self.run_query( + cursor, query, columnType, rowValueType, answer, default_conf + ) ) if failures: @@ -84,7 +91,9 @@ def run_query(self, cursor, query, columnType, rowValueType, answer, conf): try: cursor.execute(full_query) (result,) = cursor.fetchone() - if not all(cursor.description[0][1] == type for type in expected_column_types): + if not all( + cursor.description[0][1] == type for type in expected_column_types + ): return [ TypeFailure( full_query, @@ -150,7 +159,10 @@ def run_range_query(self, cursor, query, columnType, rowValueType, expected, con if len(rows) <= 0: break for index, (result, id) in enumerate(rows): - if not all(cursor.description[0][1] == type for type in expected_column_types): + if not all( + cursor.description[0][1] == type + for type in expected_column_types + ): return [ TypeFailure( full_query, @@ -163,7 +175,10 @@ def run_range_query(self, cursor, query, columnType, rowValueType, expected, con conf, ) ] - if self.validate_row_value_type and type(result) is not rowValueType: + if ( + self.validate_row_value_type + and type(result) is not rowValueType + ): return [ TypeFailure( full_query, diff --git a/databricks_sql_connector_core/tests/e2e/common/decimal_tests.py b/databricks_sql_connector_core/tests/e2e/common/decimal_tests.py index 9c28c417..1b7b96cf 100644 --- a/databricks_sql_connector_core/tests/e2e/common/decimal_tests.py +++ b/databricks_sql_connector_core/tests/e2e/common/decimal_tests.py @@ -13,8 +13,16 @@ def decimal_and_expected_results(): return [ ("100.001 AS DECIMAL(6, 3)", Decimal("100.001"), pyarrow.decimal128(6, 3)), - ("1000000.0000 AS DECIMAL(11, 4)", Decimal("1000000.0000"), pyarrow.decimal128(11, 4)), - ("-10.2343 AS DECIMAL(10, 6)", Decimal("-10.234300"), pyarrow.decimal128(10, 6)), + ( + "1000000.0000 AS DECIMAL(11, 4)", + Decimal("1000000.0000"), + pyarrow.decimal128(11, 4), + ), + ( + "-10.2343 AS DECIMAL(10, 6)", + Decimal("-10.234300"), + pyarrow.decimal128(10, 6), + ), # TODO(SC-90767): Re-enable this test after we have a way of passing `ansi_mode` = False # ("-13872347.2343 AS DECIMAL(10, 10)", None, pyarrow.decimal128(10, 10)), ("NULL AS DECIMAL(1, 1)", None, pyarrow.decimal128(1, 1)), @@ -28,7 +36,7 @@ def multi_decimals_and_expected_results(): if pyarrow is None: return [] - + return [ ( ["1 AS DECIMAL(6, 3)", "100.001 AS DECIMAL(6, 3)", "NULL AS DECIMAL(6, 3)"], @@ -46,7 +54,9 @@ def multi_decimals_and_expected_results(): @pytest.mark.skipif(not pyarrow, reason="Skipping because pyarrow is not installed") class DecimalTestsMixin: - @pytest.mark.parametrize("decimal, expected_value, expected_type", decimal_and_expected_results()) + @pytest.mark.parametrize( + "decimal, expected_value, expected_type", decimal_and_expected_results() + ) def test_decimals(self, decimal, expected_value, expected_type): with self.cursor({}) as cursor: query = "SELECT CAST ({})".format(decimal) @@ -56,11 +66,14 @@ def test_decimals(self, decimal, expected_value, expected_type): assert table.to_pydict().popitem()[1][0] == expected_value @pytest.mark.parametrize( - "decimals, expected_values, expected_type", multi_decimals_and_expected_results() + "decimals, expected_values, expected_type", + multi_decimals_and_expected_results(), ) def test_multi_decimals(self, decimals, expected_values, expected_type): with self.cursor({}) as cursor: - union_str = " UNION ".join(["(SELECT CAST ({}))".format(dec) for dec in decimals]) + union_str = " UNION ".join( + ["(SELECT CAST ({}))".format(dec) for dec in decimals] + ) query = "SELECT * FROM ({}) ORDER BY 1 NULLS LAST".format(union_str) cursor.execute(query) diff --git a/databricks_sql_connector_core/tests/e2e/common/large_queries_mixin.py b/databricks_sql_connector_core/tests/e2e/common/large_queries_mixin.py index af152a89..d1abf482 100644 --- a/databricks_sql_connector_core/tests/e2e/common/large_queries_mixin.py +++ b/databricks_sql_connector_core/tests/e2e/common/large_queries_mixin.py @@ -40,11 +40,15 @@ def fetch_rows(self, cursor, row_count, fetchmany_size): num_fetches = max(math.ceil(n / 10000), 1) latency_ms = int((time.time() - start_time) * 1000 / num_fetches), 1 print( - "Fetched {} rows with an avg latency of {} per fetch, ".format(n, latency_ms) + "Fetched {} rows with an avg latency of {} per fetch, ".format( + n, latency_ms + ) + "assuming 10K fetch size." ) - @skipUnless(pysql_supports_arrow(), "Without pyarrow lz4 compression is not supported") + @skipUnless( + pysql_supports_arrow(), "Without pyarrow lz4 compression is not supported" + ) def test_query_with_large_wide_result_set(self): resultSize = 300 * 1000 * 1000 # 300 MB width = 8192 # B @@ -60,10 +64,14 @@ def test_query_with_large_wide_result_set(self): cursor.connection.lz4_compression = lz4_compression uuids = ", ".join(["uuid() uuid{}".format(i) for i in range(cols)]) cursor.execute( - "SELECT id, {uuids} FROM RANGE({rows})".format(uuids=uuids, rows=rows) + "SELECT id, {uuids} FROM RANGE({rows})".format( + uuids=uuids, rows=rows + ) ) assert lz4_compression == cursor.active_result_set.lz4_compressed - for row_id, row in enumerate(self.fetch_rows(cursor, rows, fetchmany_size)): + for row_id, row in enumerate( + self.fetch_rows(cursor, rows, fetchmany_size) + ): assert row[0] == row_id # Verify no rows are dropped in the middle. assert len(row[1]) == 36 diff --git a/databricks_sql_connector_core/tests/e2e/common/predicates.py b/databricks_sql_connector_core/tests/e2e/common/predicates.py index 2c40a005..a314ab7c 100644 --- a/databricks_sql_connector_core/tests/e2e/common/predicates.py +++ b/databricks_sql_connector_core/tests/e2e/common/predicates.py @@ -8,7 +8,7 @@ def pysql_supports_arrow(): - """ Checks if the pyarrow library is installed or not""" + """Checks if the pyarrow library is installed or not""" try: __import__("pyarrow") return True @@ -28,6 +28,7 @@ def test_some_pyhive_v1_stuff(): ... """ from databricks_sql_connector_core import sql + return compare_module_version(sql, compare, version) @@ -41,7 +42,7 @@ def is_endpoint_test(cli_args=None): def compare_dbr_versions(cli_args, compare, major_version, minor_version): if MAJOR_DBR_V_KEY in cli_args and MINOR_DBR_V_KEY in cli_args: if cli_args[MINOR_DBR_V_KEY] == "x": - actual_minor_v = float('inf') + actual_minor_v = float("inf") else: actual_minor_v = int(cli_args[MINOR_DBR_V_KEY]) dbr_version = (int(cli_args[MAJOR_DBR_V_KEY]), actual_minor_v) @@ -50,8 +51,10 @@ def compare_dbr_versions(cli_args, compare, major_version, minor_version): if not is_endpoint_test(): raise ValueError( - "DBR version not provided for non-endpoint test. Please pass the {} and {} params". - format(MAJOR_DBR_V_KEY, MINOR_DBR_V_KEY)) + "DBR version not provided for non-endpoint test. Please pass the {} and {} params".format( + MAJOR_DBR_V_KEY, MINOR_DBR_V_KEY + ) + ) def is_thrift_v5_plus(cli_args): @@ -59,18 +62,18 @@ def is_thrift_v5_plus(cli_args): _compare_fns = { - '<': '__lt__', - '<=': '__le__', - '>': '__gt__', - '>=': '__ge__', - '==': '__eq__', - '!=': '__ne__', + "<": "__lt__", + "<=": "__le__", + ">": "__gt__", + ">=": "__ge__", + "==": "__eq__", + "!=": "__ne__", } def compare_versions(compare, v1_tuple, v2_tuple): compare_fn_name = _compare_fns.get(compare) - assert compare_fn_name, 'Received invalid compare string: ' + compare + assert compare_fn_name, "Received invalid compare string: " + compare return getattr(v1_tuple, compare_fn_name)(v2_tuple) @@ -90,15 +93,17 @@ def test_some_pyhive_v1_stuff(): NOTE: This comparison leverages packaging.version.parse, and compares _release_ versions, thus ignoring pre/post release tags (eg -rc1, -dev, etc). """ - assert module, 'Received invalid module: ' + module - assert getattr(module, '__version__'), 'Received module with no version: ' + module + assert module, "Received invalid module: " + module + assert getattr(module, "__version__"), "Received module with no version: " + module def validate_version(version): v = parse_version(str(version)) # assert that we get a PEP-440 Version back -- LegacyVersion doesn't have major/minor. - assert hasattr(v, 'major'), 'Module has incompatible "Legacy" version: ' + version + assert hasattr(v, "major"), ( + 'Module has incompatible "Legacy" version: ' + version + ) return (v.major, v.minor, v.micro) mod_version = validate_version(module.__version__) req_version = validate_version(version) - return compare_versions(compare, mod_version, req_version) \ No newline at end of file + return compare_versions(compare, mod_version, req_version) diff --git a/databricks_sql_connector_core/tests/e2e/common/retry_test_mixins.py b/databricks_sql_connector_core/tests/e2e/common/retry_test_mixins.py index 6053e314..5b53cb28 100755 --- a/databricks_sql_connector_core/tests/e2e/common/retry_test_mixins.py +++ b/databricks_sql_connector_core/tests/e2e/common/retry_test_mixins.py @@ -59,7 +59,9 @@ def _test_retry_disabled_with_message(self, error_msg_substring, exception_type) @contextmanager -def mocked_server_response(status: int = 200, headers: dict = {}, redirect_location: Optional[str] = None): +def mocked_server_response( + status: int = 200, headers: dict = {}, redirect_location: Optional[str] = None +): """Context manager for patching urllib3 responses""" # When mocking mocking a BaseHTTPResponse for urllib3 the mock must include @@ -97,7 +99,9 @@ def mock_sequential_server_responses(responses: List[dict]): # Each resp should have these members: for resp in responses: - _mock = MagicMock(headers=resp["headers"], msg=resp["headers"], status=resp["status"]) + _mock = MagicMock( + headers=resp["headers"], msg=resp["headers"], status=resp["status"] + ) _mock.get_redirect_location.return_value = ( False if resp["redirect_location"] is None else resp["redirect_location"] ) @@ -146,7 +150,7 @@ def test_retry_urllib3_settings_are_honored(self): def test_oserror_retries(self): """If a network error occurs during make_request, the request is retried according to policy""" with patch( - "urllib3.connectionpool.HTTPSConnectionPool._validate_conn", + "urllib3.connectionpool.HTTPSConnectionPool._validate_conn", ) as mock_validate_conn: mock_validate_conn.side_effect = OSError("Some arbitrary network error") with pytest.raises(MaxRetryError) as cm: @@ -176,7 +180,9 @@ def test_retry_exponential_backoff(self): retry_policy["_retry_delay_min"] = 1 time_start = time.time() - with mocked_server_response(status=429, headers={"Retry-After": "3"}) as mock_obj: + with mocked_server_response( + status=429, headers={"Retry-After": "3"} + ) as mock_obj: with pytest.raises(RequestError) as cm: with self.connection(extra_params=retry_policy) as conn: pass @@ -256,7 +262,9 @@ def test_retry_dangerous_codes(self): assert isinstance(cm.value.args[1], UnsafeToRetryError) # Prove that these codes are retried if forced by the user - with self.connection(extra_params={**self._retry_policy, **additional_settings}) as conn: + with self.connection( + extra_params={**self._retry_policy, **additional_settings} + ) as conn: with conn.cursor() as cursor: for dangerous_code in DANGEROUS_CODES: with mocked_server_response(status=dangerous_code): @@ -275,7 +283,7 @@ def test_retry_safe_execute_statement_retry_condition(self): ] with self.connection( - extra_params={**self._retry_policy, "_retry_stop_after_attempts_count": 1} + extra_params={**self._retry_policy, "_retry_stop_after_attempts_count": 1} ) as conn: with conn.cursor() as cursor: # Code 502 is a Bad Gateway, which we commonly see in production under heavy load @@ -318,15 +326,17 @@ def test_retry_abort_close_operation_on_404(self, caplog): with self.connection(extra_params={**self._retry_policy}) as conn: with conn.cursor() as curs: with patch( - "databricks_sql_connector_core.sql.utils.ExecuteResponse.has_been_closed_server_side", - new_callable=PropertyMock, - return_value=False, + "databricks_sql_connector_core.sql.utils.ExecuteResponse.has_been_closed_server_side", + new_callable=PropertyMock, + return_value=False, ): # This call guarantees we have an open cursor at the server curs.execute("SELECT 1") with mock_sequential_server_responses(responses): curs.close() - assert "Operation was canceled by a prior request" in caplog.text + assert ( + "Operation was canceled by a prior request" in caplog.text + ) def test_retry_max_redirects_raises_too_many_redirects_exception(self): """GIVEN the connector is configured with a custom max_redirects @@ -337,13 +347,15 @@ def test_retry_max_redirects_raises_too_many_redirects_exception(self): max_redirects, expected_call_count = 1, 2 # Code 302 is a redirect - with mocked_server_response(status=302, redirect_location="/foo.bar") as mock_obj: + with mocked_server_response( + status=302, redirect_location="/foo.bar" + ) as mock_obj: with pytest.raises(MaxRetryError) as cm: with self.connection( - extra_params={ - **self._retry_policy, - "_retry_max_redirects": max_redirects, - } + extra_params={ + **self._retry_policy, + "_retry_max_redirects": max_redirects, + } ): pass assert "too many redirects" == str(cm.value.reason) @@ -359,12 +371,14 @@ def test_retry_max_redirects_unset_doesnt_redirect_forever(self): _stop_after_attempts_count is enforced. """ # Code 302 is a redirect - with mocked_server_response(status=302, redirect_location="/foo.bar/") as mock_obj: + with mocked_server_response( + status=302, redirect_location="/foo.bar/" + ) as mock_obj: with pytest.raises(MaxRetryError) as cm: with self.connection( - extra_params={ - **self._retry_policy, - } + extra_params={ + **self._retry_policy, + } ): pass @@ -385,7 +399,9 @@ def test_retry_max_redirects_is_bounded_by_stop_after_attempts_count(self): with pytest.raises(RequestError) as cm: with mock_sequential_server_responses(responses): - with self.connection(extra_params={**self._retry_policy, **additional_settings}): + with self.connection( + extra_params={**self._retry_policy, **additional_settings} + ): pass # The error should be the result of the 500, not because of too many requests. @@ -394,20 +410,23 @@ def test_retry_max_redirects_is_bounded_by_stop_after_attempts_count(self): def test_retry_max_redirects_exceeds_max_attempts_count_warns_user(self, caplog): with self.connection( - extra_params={ - **self._retry_policy, - **{ - "_retry_max_redirects": 100, - "_retry_stop_after_attempts_count": 1, - }, - } + extra_params={ + **self._retry_policy, + **{ + "_retry_max_redirects": 100, + "_retry_stop_after_attempts_count": 1, + }, + } ): assert "it will have no affect!" in caplog.text def test_retry_legacy_behavior_warns_user(self, caplog): - with self.connection(extra_params={**self._retry_policy, "_enable_v3_retries": False}): - assert "Legacy retry behavior is enabled for this connection." in caplog.text - + with self.connection( + extra_params={**self._retry_policy, "_enable_v3_retries": False} + ): + assert ( + "Legacy retry behavior is enabled for this connection." in caplog.text + ) def test_403_not_retried(self): """GIVEN the server returns a code 403 @@ -433,4 +452,4 @@ def test_401_not_retried(self): with pytest.raises(RequestError) as cm: with self.connection(extra_params=self._retry_policy): pass - assert isinstance(cm.value.args[1], NonRecoverableNetworkError) \ No newline at end of file + assert isinstance(cm.value.args[1], NonRecoverableNetworkError) diff --git a/databricks_sql_connector_core/tests/e2e/common/staging_ingestion_tests.py b/databricks_sql_connector_core/tests/e2e/common/staging_ingestion_tests.py index f1034faa..ec22dbea 100644 --- a/databricks_sql_connector_core/tests/e2e/common/staging_ingestion_tests.py +++ b/databricks_sql_connector_core/tests/e2e/common/staging_ingestion_tests.py @@ -41,7 +41,9 @@ def test_staging_ingestion_life_cycle(self, ingestion_user): with open(fh, "wb") as fp: fp.write(original_text) - with self.connection(extra_params={"staging_allowed_local_path": temp_path}) as conn: + with self.connection( + extra_params={"staging_allowed_local_path": temp_path} + ) as conn: cursor = conn.cursor() query = f"PUT '{temp_path}' INTO 'stage://tmp/{ingestion_user}/tmp/11/15/file1.csv' OVERWRITE" @@ -51,7 +53,9 @@ def test_staging_ingestion_life_cycle(self, ingestion_user): new_fh, new_temp_path = tempfile.mkstemp() - with self.connection(extra_params={"staging_allowed_local_path": new_temp_path}) as conn: + with self.connection( + extra_params={"staging_allowed_local_path": new_temp_path} + ) as conn: cursor = conn.cursor() query = f"GET 'stage://tmp/{ingestion_user}/tmp/11/15/file1.csv' TO '{new_temp_path}'" cursor.execute(query) @@ -71,17 +75,19 @@ def test_staging_ingestion_life_cycle(self, ingestion_user): # GET after REMOVE should fail - with pytest.raises(Error, match="Staging operation over HTTP was unsuccessful: 404"): + with pytest.raises( + Error, match="Staging operation over HTTP was unsuccessful: 404" + ): cursor = conn.cursor() - query = ( - f"GET 'stage://tmp/{ingestion_user}/tmp/11/15/file1.csv' TO '{new_temp_path}'" - ) + query = f"GET 'stage://tmp/{ingestion_user}/tmp/11/15/file1.csv' TO '{new_temp_path}'" cursor.execute(query) os.remove(temp_path) os.remove(new_temp_path) - def test_staging_ingestion_put_fails_without_staging_allowed_local_path(self, ingestion_user): + def test_staging_ingestion_put_fails_without_staging_allowed_local_path( + self, ingestion_user + ): """PUT operations are not supported unless the connection was built with a parameter called staging_allowed_local_path """ @@ -93,14 +99,16 @@ def test_staging_ingestion_put_fails_without_staging_allowed_local_path(self, in with open(fh, "wb") as fp: fp.write(original_text) - with pytest.raises(Error, match="You must provide at least one staging_allowed_local_path"): + with pytest.raises( + Error, match="You must provide at least one staging_allowed_local_path" + ): with self.connection() as conn: cursor = conn.cursor() query = f"PUT '{temp_path}' INTO 'stage://tmp/{ingestion_user}/tmp/11/15/file1.csv' OVERWRITE" cursor.execute(query) def test_staging_ingestion_put_fails_if_localFile_not_in_staging_allowed_local_path( - self, ingestion_user + self, ingestion_user ): fh, temp_path = tempfile.mkstemp() @@ -116,15 +124,19 @@ def test_staging_ingestion_put_fails_if_localFile_not_in_staging_allowed_local_p base_path = os.path.join(base_path, "temp") with pytest.raises( - Error, - match="Local file operations are restricted to paths within the configured staging_allowed_local_path", + Error, + match="Local file operations are restricted to paths within the configured staging_allowed_local_path", ): - with self.connection(extra_params={"staging_allowed_local_path": base_path}) as conn: + with self.connection( + extra_params={"staging_allowed_local_path": base_path} + ) as conn: cursor = conn.cursor() query = f"PUT '{temp_path}' INTO 'stage://tmp/{ingestion_user}/tmp/11/15/file1.csv' OVERWRITE" cursor.execute(query) - def test_staging_ingestion_put_fails_if_file_exists_and_overwrite_not_set(self, ingestion_user): + def test_staging_ingestion_put_fails_if_file_exists_and_overwrite_not_set( + self, ingestion_user + ): """PUT a file into the staging location twice. First command should succeed. Second should fail.""" fh, temp_path = tempfile.mkstemp() @@ -135,16 +147,22 @@ def test_staging_ingestion_put_fails_if_file_exists_and_overwrite_not_set(self, fp.write(original_text) def perform_put(): - with self.connection(extra_params={"staging_allowed_local_path": temp_path}) as conn: + with self.connection( + extra_params={"staging_allowed_local_path": temp_path} + ) as conn: cursor = conn.cursor() query = f"PUT '{temp_path}' INTO 'stage://tmp/{ingestion_user}/tmp/12/15/file1.csv'" cursor.execute(query) def perform_remove(): try: - remove_query = f"REMOVE 'stage://tmp/{ingestion_user}/tmp/12/15/file1.csv'" + remove_query = ( + f"REMOVE 'stage://tmp/{ingestion_user}/tmp/12/15/file1.csv'" + ) - with self.connection(extra_params={"staging_allowed_local_path": "/"}) as conn: + with self.connection( + extra_params={"staging_allowed_local_path": "/"} + ) as conn: cursor = conn.cursor() cursor.execute(remove_query) except Exception: @@ -158,7 +176,7 @@ def perform_remove(): # Try to put it again with pytest.raises( - sql.exc.ServerOperationError, match="FILE_IN_STAGING_PATH_ALREADY_EXISTS" + sql.exc.ServerOperationError, match="FILE_IN_STAGING_PATH_ALREADY_EXISTS" ): perform_put() @@ -178,7 +196,9 @@ def test_staging_ingestion_fails_to_modify_another_staging_user(self): fp.write(original_text) def perform_put(): - with self.connection(extra_params={"staging_allowed_local_path": temp_path}) as conn: + with self.connection( + extra_params={"staging_allowed_local_path": temp_path} + ) as conn: cursor = conn.cursor() query = f"PUT '{temp_path}' INTO 'stage://tmp/{some_other_user}/tmp/12/15/file1.csv' OVERWRITE" cursor.execute(query) @@ -186,12 +206,16 @@ def perform_put(): def perform_remove(): remove_query = f"REMOVE 'stage://tmp/{some_other_user}/tmp/12/15/file1.csv'" - with self.connection(extra_params={"staging_allowed_local_path": "/"}) as conn: + with self.connection( + extra_params={"staging_allowed_local_path": "/"} + ) as conn: cursor = conn.cursor() cursor.execute(remove_query) def perform_get(): - with self.connection(extra_params={"staging_allowed_local_path": temp_path}) as conn: + with self.connection( + extra_params={"staging_allowed_local_path": temp_path} + ) as conn: cursor = conn.cursor() query = f"GET 'stage://tmp/{some_other_user}/tmp/11/15/file1.csv' TO '{temp_path}'" cursor.execute(query) @@ -209,7 +233,7 @@ def perform_get(): perform_get() def test_staging_ingestion_put_fails_if_absolute_localFile_not_in_staging_allowed_local_path( - self, ingestion_user + self, ingestion_user ): """ This test confirms that staging_allowed_local_path and target_file are resolved into absolute paths. @@ -222,42 +246,46 @@ def test_staging_ingestion_put_fails_if_absolute_localFile_not_in_staging_allowe target_file = "/var/www/html/../html1/not_allowed.html" with pytest.raises( - Error, - match="Local file operations are restricted to paths within the configured staging_allowed_local_path", + Error, + match="Local file operations are restricted to paths within the configured staging_allowed_local_path", ): with self.connection( - extra_params={"staging_allowed_local_path": staging_allowed_local_path} + extra_params={"staging_allowed_local_path": staging_allowed_local_path} ) as conn: cursor = conn.cursor() query = f"PUT '{target_file}' INTO 'stage://tmp/{ingestion_user}/tmp/11/15/file1.csv' OVERWRITE" cursor.execute(query) - def test_staging_ingestion_empty_local_path_fails_to_parse_at_server(self, ingestion_user): + def test_staging_ingestion_empty_local_path_fails_to_parse_at_server( + self, ingestion_user + ): staging_allowed_local_path = "/var/www/html" target_file = "" with pytest.raises(Error, match="EMPTY_LOCAL_FILE_IN_STAGING_ACCESS_QUERY"): with self.connection( - extra_params={"staging_allowed_local_path": staging_allowed_local_path} + extra_params={"staging_allowed_local_path": staging_allowed_local_path} ) as conn: cursor = conn.cursor() query = f"PUT '{target_file}' INTO 'stage://tmp/{ingestion_user}/tmp/11/15/file1.csv' OVERWRITE" cursor.execute(query) - def test_staging_ingestion_invalid_staging_path_fails_at_server(self, ingestion_user): + def test_staging_ingestion_invalid_staging_path_fails_at_server( + self, ingestion_user + ): staging_allowed_local_path = "/var/www/html" target_file = "index.html" with pytest.raises(Error, match="INVALID_STAGING_PATH_IN_STAGING_ACCESS_QUERY"): with self.connection( - extra_params={"staging_allowed_local_path": staging_allowed_local_path} + extra_params={"staging_allowed_local_path": staging_allowed_local_path} ) as conn: cursor = conn.cursor() query = f"PUT '{target_file}' INTO 'stageRANDOMSTRINGOFCHARACTERS://tmp/{ingestion_user}/tmp/11/15/file1.csv' OVERWRITE" cursor.execute(query) def test_staging_ingestion_supports_multiple_staging_allowed_local_path_values( - self, ingestion_user + self, ingestion_user ): """staging_allowed_local_path may be either a path-like object or a list of path-like objects. @@ -278,15 +306,23 @@ def generate_file_and_path_and_queries(): original_text = "hello world!".encode("utf-8") fp.write(original_text) put_query = f"PUT '{temp_path}' INTO 'stage://tmp/{ingestion_user}/tmp/11/15/{id(temp_path)}.csv' OVERWRITE" - remove_query = f"REMOVE 'stage://tmp/{ingestion_user}/tmp/11/15/{id(temp_path)}.csv'" + remove_query = ( + f"REMOVE 'stage://tmp/{ingestion_user}/tmp/11/15/{id(temp_path)}.csv'" + ) return fh, temp_path, put_query, remove_query - fh1, temp_path1, put_query1, remove_query1 = generate_file_and_path_and_queries() - fh2, temp_path2, put_query2, remove_query2 = generate_file_and_path_and_queries() - fh3, temp_path3, put_query3, remove_query3 = generate_file_and_path_and_queries() + fh1, temp_path1, put_query1, remove_query1 = ( + generate_file_and_path_and_queries() + ) + fh2, temp_path2, put_query2, remove_query2 = ( + generate_file_and_path_and_queries() + ) + fh3, temp_path3, put_query3, remove_query3 = ( + generate_file_and_path_and_queries() + ) with self.connection( - extra_params={"staging_allowed_local_path": [temp_path1, temp_path2]} + extra_params={"staging_allowed_local_path": [temp_path1, temp_path2]} ) as conn: cursor = conn.cursor() @@ -294,11 +330,11 @@ def generate_file_and_path_and_queries(): cursor.execute(put_query2) with pytest.raises( - Error, - match="Local file operations are restricted to paths within the configured staging_allowed_local_path", + Error, + match="Local file operations are restricted to paths within the configured staging_allowed_local_path", ): cursor.execute(put_query3) # Then clean up the files we made cursor.execute(remove_query1) - cursor.execute(remove_query2) \ No newline at end of file + cursor.execute(remove_query2) diff --git a/databricks_sql_connector_core/tests/e2e/common/timestamp_tests.py b/databricks_sql_connector_core/tests/e2e/common/timestamp_tests.py index f25aed7e..70ded7d0 100644 --- a/databricks_sql_connector_core/tests/e2e/common/timestamp_tests.py +++ b/databricks_sql_connector_core/tests/e2e/common/timestamp_tests.py @@ -15,7 +15,10 @@ class TimestampTestsMixin: ] timestamp_and_expected_results = [ - ("2021-09-30 11:27:35.123+04:00", datetime.datetime(2021, 9, 30, 7, 27, 35, 123000)), + ( + "2021-09-30 11:27:35.123+04:00", + datetime.datetime(2021, 9, 30, 7, 27, 35, 123000), + ), ("2021-09-30 11:27:35+04:00", datetime.datetime(2021, 9, 30, 7, 27, 35)), ("2021-09-30 11:27:35.123", datetime.datetime(2021, 9, 30, 11, 27, 35, 123000)), ("2021-09-30 11:27:35", datetime.datetime(2021, 9, 30, 11, 27, 35)), @@ -45,18 +48,24 @@ def assertTimestampsEqual(self, result, expected): def multi_query(self, n_rows=10): row_sql = "SELECT " + ", ".join( - ["TIMESTAMP('{}')".format(ts) for (ts, _) in self.timestamp_and_expected_results] + [ + "TIMESTAMP('{}')".format(ts) + for (ts, _) in self.timestamp_and_expected_results + ] ) query = " UNION ALL ".join([row_sql for _ in range(n_rows)]) expected_matrix = [ - [dt for (_, dt) in self.timestamp_and_expected_results] for _ in range(n_rows) + [dt for (_, dt) in self.timestamp_and_expected_results] + for _ in range(n_rows) ] return query, expected_matrix def test_timestamps(self): with self.cursor({"session_configuration": {"ansi_mode": False}}) as cursor: for timestamp, expected in self.timestamp_and_expected_results: - cursor.execute("SELECT TIMESTAMP('{timestamp}')".format(timestamp=timestamp)) + cursor.execute( + "SELECT TIMESTAMP('{timestamp}')".format(timestamp=timestamp) + ) result = cursor.fetchone()[0] self.assertTimestampsEqual(result, expected) diff --git a/databricks_sql_connector_core/tests/e2e/common/uc_volume_tests.py b/databricks_sql_connector_core/tests/e2e/common/uc_volume_tests.py index 88bc2972..ae4fde76 100644 --- a/databricks_sql_connector_core/tests/e2e/common/uc_volume_tests.py +++ b/databricks_sql_connector_core/tests/e2e/common/uc_volume_tests.py @@ -40,19 +40,21 @@ def test_uc_volume_life_cycle(self, catalog, schema): with open(fh, "wb") as fp: fp.write(original_text) - with self.connection(extra_params={"staging_allowed_local_path": temp_path}) as conn: + with self.connection( + extra_params={"staging_allowed_local_path": temp_path} + ) as conn: cursor = conn.cursor() - query = ( - f"PUT '{temp_path}' INTO '/Volumes/{catalog}/{schema}/e2etests/file1.csv' OVERWRITE" - ) + query = f"PUT '{temp_path}' INTO '/Volumes/{catalog}/{schema}/e2etests/file1.csv' OVERWRITE" cursor.execute(query) # GET should succeed new_fh, new_temp_path = tempfile.mkstemp() - with self.connection(extra_params={"staging_allowed_local_path": new_temp_path}) as conn: + with self.connection( + extra_params={"staging_allowed_local_path": new_temp_path} + ) as conn: cursor = conn.cursor() query = f"GET '/Volumes/{catalog}/{schema}/e2etests/file1.csv' TO '{new_temp_path}'" cursor.execute(query) @@ -72,7 +74,9 @@ def test_uc_volume_life_cycle(self, catalog, schema): # GET after REMOVE should fail - with pytest.raises(Error, match="Staging operation over HTTP was unsuccessful: 404"): + with pytest.raises( + Error, match="Staging operation over HTTP was unsuccessful: 404" + ): cursor = conn.cursor() query = f"GET '/Volumes/{catalog}/{schema}/e2etests/file1.csv' TO '{new_temp_path}'" cursor.execute(query) @@ -80,7 +84,9 @@ def test_uc_volume_life_cycle(self, catalog, schema): os.remove(temp_path) os.remove(new_temp_path) - def test_uc_volume_put_fails_without_staging_allowed_local_path(self, catalog, schema): + def test_uc_volume_put_fails_without_staging_allowed_local_path( + self, catalog, schema + ): """PUT operations are not supported unless the connection was built with a parameter called staging_allowed_local_path """ @@ -92,14 +98,16 @@ def test_uc_volume_put_fails_without_staging_allowed_local_path(self, catalog, s with open(fh, "wb") as fp: fp.write(original_text) - with pytest.raises(Error, match="You must provide at least one staging_allowed_local_path"): + with pytest.raises( + Error, match="You must provide at least one staging_allowed_local_path" + ): with self.connection() as conn: cursor = conn.cursor() query = f"PUT '{temp_path}' INTO '/Volumes/{catalog}/{schema}/e2etests/file1.csv' OVERWRITE" cursor.execute(query) def test_uc_volume_put_fails_if_localFile_not_in_staging_allowed_local_path( - self, catalog, schema + self, catalog, schema ): fh, temp_path = tempfile.mkstemp() @@ -115,15 +123,19 @@ def test_uc_volume_put_fails_if_localFile_not_in_staging_allowed_local_path( base_path = os.path.join(base_path, "temp") with pytest.raises( - Error, - match="Local file operations are restricted to paths within the configured staging_allowed_local_path", + Error, + match="Local file operations are restricted to paths within the configured staging_allowed_local_path", ): - with self.connection(extra_params={"staging_allowed_local_path": base_path}) as conn: + with self.connection( + extra_params={"staging_allowed_local_path": base_path} + ) as conn: cursor = conn.cursor() query = f"PUT '{temp_path}' INTO '/Volumes/{catalog}/{schema}/e2etests/file1.csv' OVERWRITE" cursor.execute(query) - def test_uc_volume_put_fails_if_file_exists_and_overwrite_not_set(self, catalog, schema): + def test_uc_volume_put_fails_if_file_exists_and_overwrite_not_set( + self, catalog, schema + ): """PUT a file into the staging location twice. First command should succeed. Second should fail.""" fh, temp_path = tempfile.mkstemp() @@ -134,16 +146,22 @@ def test_uc_volume_put_fails_if_file_exists_and_overwrite_not_set(self, catalog, fp.write(original_text) def perform_put(): - with self.connection(extra_params={"staging_allowed_local_path": temp_path}) as conn: + with self.connection( + extra_params={"staging_allowed_local_path": temp_path} + ) as conn: cursor = conn.cursor() query = f"PUT '{temp_path}' INTO '/Volumes/{catalog}/{schema}/e2etests/file1.csv'" cursor.execute(query) def perform_remove(): try: - remove_query = f"REMOVE '/Volumes/{catalog}/{schema}/e2etests/file1.csv'" + remove_query = ( + f"REMOVE '/Volumes/{catalog}/{schema}/e2etests/file1.csv'" + ) - with self.connection(extra_params={"staging_allowed_local_path": "/"}) as conn: + with self.connection( + extra_params={"staging_allowed_local_path": "/"} + ) as conn: cursor = conn.cursor() cursor.execute(remove_query) except Exception: @@ -157,7 +175,7 @@ def perform_remove(): # Try to put it again with pytest.raises( - sql.exc.ServerOperationError, match="FILE_IN_STAGING_PATH_ALREADY_EXISTS" + sql.exc.ServerOperationError, match="FILE_IN_STAGING_PATH_ALREADY_EXISTS" ): perform_put() @@ -165,7 +183,7 @@ def perform_remove(): perform_remove() def test_uc_volume_put_fails_if_absolute_localFile_not_in_staging_allowed_local_path( - self, catalog, schema + self, catalog, schema ): """ This test confirms that staging_allowed_local_path and target_file are resolved into absolute paths. @@ -178,11 +196,11 @@ def test_uc_volume_put_fails_if_absolute_localFile_not_in_staging_allowed_local_ target_file = "/var/www/html/../html1/not_allowed.html" with pytest.raises( - Error, - match="Local file operations are restricted to paths within the configured staging_allowed_local_path", + Error, + match="Local file operations are restricted to paths within the configured staging_allowed_local_path", ): with self.connection( - extra_params={"staging_allowed_local_path": staging_allowed_local_path} + extra_params={"staging_allowed_local_path": staging_allowed_local_path} ) as conn: cursor = conn.cursor() query = f"PUT '{target_file}' INTO '/Volumes/{catalog}/{schema}/e2etests/file1.csv' OVERWRITE" @@ -194,7 +212,7 @@ def test_uc_volume_empty_local_path_fails_to_parse_at_server(self, catalog, sche with pytest.raises(Error, match="EMPTY_LOCAL_FILE_IN_STAGING_ACCESS_QUERY"): with self.connection( - extra_params={"staging_allowed_local_path": staging_allowed_local_path} + extra_params={"staging_allowed_local_path": staging_allowed_local_path} ) as conn: cursor = conn.cursor() query = f"PUT '{target_file}' INTO '/Volumes/{catalog}/{schema}/e2etests/file1.csv' OVERWRITE" @@ -206,13 +224,15 @@ def test_uc_volume_invalid_volume_path_fails_at_server(self, catalog, schema): with pytest.raises(Error, match="NOT_FOUND: Catalog"): with self.connection( - extra_params={"staging_allowed_local_path": staging_allowed_local_path} + extra_params={"staging_allowed_local_path": staging_allowed_local_path} ) as conn: cursor = conn.cursor() query = f"PUT '{target_file}' INTO '/Volumes/RANDOMSTRINGOFCHARACTERS/{catalog}/{schema}/e2etests/file1.csv' OVERWRITE" cursor.execute(query) - def test_uc_volume_supports_multiple_staging_allowed_local_path_values(self, catalog, schema): + def test_uc_volume_supports_multiple_staging_allowed_local_path_values( + self, catalog, schema + ): """staging_allowed_local_path may be either a path-like object or a list of path-like objects. This test confirms that two configured base paths: @@ -232,15 +252,23 @@ def generate_file_and_path_and_queries(): original_text = "hello world!".encode("utf-8") fp.write(original_text) put_query = f"PUT '{temp_path}' INTO '/Volumes/{catalog}/{schema}/e2etests/{id(temp_path)}.csv' OVERWRITE" - remove_query = f"REMOVE '/Volumes/{catalog}/{schema}/e2etests/{id(temp_path)}.csv'" + remove_query = ( + f"REMOVE '/Volumes/{catalog}/{schema}/e2etests/{id(temp_path)}.csv'" + ) return fh, temp_path, put_query, remove_query - fh1, temp_path1, put_query1, remove_query1 = generate_file_and_path_and_queries() - fh2, temp_path2, put_query2, remove_query2 = generate_file_and_path_and_queries() - fh3, temp_path3, put_query3, remove_query3 = generate_file_and_path_and_queries() + fh1, temp_path1, put_query1, remove_query1 = ( + generate_file_and_path_and_queries() + ) + fh2, temp_path2, put_query2, remove_query2 = ( + generate_file_and_path_and_queries() + ) + fh3, temp_path3, put_query3, remove_query3 = ( + generate_file_and_path_and_queries() + ) with self.connection( - extra_params={"staging_allowed_local_path": [temp_path1, temp_path2]} + extra_params={"staging_allowed_local_path": [temp_path1, temp_path2]} ) as conn: cursor = conn.cursor() @@ -248,11 +276,11 @@ def generate_file_and_path_and_queries(): cursor.execute(put_query2) with pytest.raises( - Error, - match="Local file operations are restricted to paths within the configured staging_allowed_local_path", + Error, + match="Local file operations are restricted to paths within the configured staging_allowed_local_path", ): cursor.execute(put_query3) # Then clean up the files we made cursor.execute(remove_query1) - cursor.execute(remove_query2) \ No newline at end of file + cursor.execute(remove_query2) diff --git a/databricks_sql_connector_core/tests/e2e/test_complex_types.py b/databricks_sql_connector_core/tests/e2e/test_complex_types.py index 0321b2b4..0b8b5d45 100644 --- a/databricks_sql_connector_core/tests/e2e/test_complex_types.py +++ b/databricks_sql_connector_core/tests/e2e/test_complex_types.py @@ -4,7 +4,9 @@ from tests.e2e.test_driver import PySQLPytestTestCase -@pytest.mark.skipif(pytest.importorskip("pyarrow"), reason="Skipping because pyarrow is not installed") +@pytest.mark.skipif( + pytest.importorskip("pyarrow"), reason="Skipping because pyarrow is not installed" +) class TestComplexTypes(PySQLPytestTestCase): @pytest.fixture(scope="class") def table_fixture(self, connection_details): @@ -54,7 +56,9 @@ def test_read_complex_types_as_arrow(self, field, expected_type, table_fixture): @pytest.mark.parametrize("field", [("array_col"), ("map_col"), ("struct_col")]) def test_read_complex_types_as_string(self, field, table_fixture): """Confirms the return type of a complex type that is returned as a string""" - with self.cursor(extra_params={"_use_arrow_native_complex_types": False}) as cursor: + with self.cursor( + extra_params={"_use_arrow_native_complex_types": False} + ) as cursor: result = cursor.execute( "SELECT * FROM pysql_test_complex_types_table LIMIT 1" ).fetchone() diff --git a/databricks_sql_connector_core/tests/e2e/test_driver.py b/databricks_sql_connector_core/tests/e2e/test_driver.py index c910ee8f..12b2d750 100644 --- a/databricks_sql_connector_core/tests/e2e/test_driver.py +++ b/databricks_sql_connector_core/tests/e2e/test_driver.py @@ -12,6 +12,7 @@ from uuid import uuid4 import numpy as np + try: import pyarrow except: @@ -43,7 +44,10 @@ from tests.e2e.common.large_queries_mixin import LargeQueriesMixin from tests.e2e.common.timestamp_tests import TimestampTestsMixin from tests.e2e.common.decimal_tests import DecimalTestsMixin -from tests.e2e.common.retry_test_mixins import Client429ResponseMixin, Client503ResponseMixin +from tests.e2e.common.retry_test_mixins import ( + Client429ResponseMixin, + Client503ResponseMixin, +) from tests.e2e.common.staging_ingestion_tests import PySQLStagingIngestionTestSuiteMixin from tests.e2e.common.retry_test_mixins import PySQLRetryTestsMixin @@ -60,7 +64,9 @@ # manually decorate DecimalTestsMixin to need arrow support for name in loader.getTestCaseNames(DecimalTestsMixin, "test_"): fn = getattr(DecimalTestsMixin, name) - decorated = skipUnless(pysql_supports_arrow(), "Decimal tests need arrow support")(fn) + decorated = skipUnless(pysql_supports_arrow(), "Decimal tests need arrow support")( + fn + ) setattr(DecimalTestsMixin, name, decorated) @@ -71,7 +77,9 @@ class PySQLPytestTestCase: error_type = Error conf_to_disable_rate_limit_retries = {"_retry_stop_after_attempts_count": 1} - conf_to_disable_temporarily_unavailable_retries = {"_retry_stop_after_attempts_count": 1} + conf_to_disable_temporarily_unavailable_retries = { + "_retry_stop_after_attempts_count": 1 + } arraysize = 1000 buffer_size_bytes = 104857600 @@ -108,7 +116,9 @@ def connection(self, extra_params=()): @contextmanager def cursor(self, extra_params=()): with self.connection(extra_params) as conn: - cursor = conn.cursor(arraysize=self.arraysize, buffer_size_bytes=self.buffer_size_bytes) + cursor = conn.cursor( + arraysize=self.arraysize, buffer_size_bytes=self.buffer_size_bytes + ) try: yield cursor finally: @@ -144,19 +154,21 @@ def test_cloud_fetch(self): # If this table is deleted or this test is run on a different host, a different table may need to be used. base_query = "SELECT * FROM store_sales WHERE ss_sold_date_sk = 2452234 " for num_limit, num_threads, lz4_compression in itertools.product( - limits, threads, [True, False] + limits, threads, [True, False] ): with self.subTest( - num_limit=num_limit, num_threads=num_threads, lz4_compression=lz4_compression + num_limit=num_limit, + num_threads=num_threads, + lz4_compression=lz4_compression, ): cf_result, noop_result = None, None query = base_query + "LIMIT " + str(num_limit) with self.cursor( - { - "use_cloud_fetch": True, - "max_download_threads": num_threads, - "catalog": "hive_metastore", - }, + { + "use_cloud_fetch": True, + "max_download_threads": num_threads, + "catalog": "hive_metastore", + }, ) as cursor: cursor.execute(query) cf_result = cursor.fetchall() @@ -292,7 +304,15 @@ def test_get_tables(self): ("TYPE_CAT", "string", None, None, None, None, None), ("TYPE_SCHEM", "string", None, None, None, None, None), ("TYPE_NAME", "string", None, None, None, None, None), - ("SELF_REFERENCING_COL_NAME", "string", None, None, None, None, None), + ( + "SELF_REFERENCING_COL_NAME", + "string", + None, + None, + None, + None, + None, + ), ("REF_GENERATION", "string", None, None, None, None, None), ] assert tables_desc == expected @@ -336,7 +356,7 @@ def test_get_columns(self): "col_3", 2002, "STRUCT", - ], + ], ["default", table_name + "_1", "col_4", 2000, "MAP"], ["default", table_name + "_1", "col_5", 2003, "ARRAY"], ["default", table_name + "_2", "col_1", 4, "INT"], @@ -347,7 +367,7 @@ def test_get_columns(self): "col_3", 2002, "STRUCT", - ], + ], ["default", table_name + "_2", "col_4", 2000, "MAP"], [ "default", @@ -355,7 +375,7 @@ def test_get_columns(self): "col_5", 2003, "ARRAY", - ], + ], ] assert cleaned_response == expected expected = [ @@ -393,15 +413,21 @@ def test_escape_single_quotes(self): table_name = "table_{uuid}".format(uuid=str(uuid4()).replace("-", "_")) # Test escape syntax directly cursor.execute( - "CREATE TABLE IF NOT EXISTS {} AS (SELECT 'you\\'re' AS col_1)".format(table_name) + "CREATE TABLE IF NOT EXISTS {} AS (SELECT 'you\\'re' AS col_1)".format( + table_name + ) + ) + cursor.execute( + "SELECT * FROM {} WHERE col_1 LIKE 'you\\'re'".format(table_name) ) - cursor.execute("SELECT * FROM {} WHERE col_1 LIKE 'you\\'re'".format(table_name)) rows = cursor.fetchall() assert rows[0]["col_1"] == "you're" # Test escape syntax in parameter cursor.execute( - "SELECT * FROM {} WHERE {}.col_1 LIKE %(var)s".format(table_name, table_name), + "SELECT * FROM {} WHERE {}.col_1 LIKE %(var)s".format( + table_name, table_name + ), parameters={"var": "you're"}, ) rows = cursor.fetchall() @@ -430,7 +456,9 @@ def test_get_catalogs(self): cursor.catalogs() cursor.fetchall() catalogs_desc = cursor.description - assert catalogs_desc == [("TABLE_CAT", "string", None, None, None, None, None)] + assert catalogs_desc == [ + ("TABLE_CAT", "string", None, None, None, None, None) + ] @skipUnless(pysql_supports_arrow(), "arrow test need arrow support") def test_get_arrow(self): @@ -567,7 +595,8 @@ def test_temp_view_fetch(self): @skipIf(pysql_has_version("<", "2"), "requires pysql v2") @skipIf( - True, "Unclear the purpose of this test since urllib3 does not complain when timeout == 0" + True, + "Unclear the purpose of this test since urllib3 does not complain when timeout == 0", ) def test_socket_timeout(self): # We expect to see a BlockingIO error when the socket is opened @@ -590,7 +619,9 @@ def test_socket_timeout_user_defined(self): def test_ssp_passthrough(self): for enable_ansi in (True, False): - with self.cursor({"session_configuration": {"ansi_mode": enable_ansi}}) as cursor: + with self.cursor( + {"session_configuration": {"ansi_mode": enable_ansi}} + ) as cursor: cursor.execute("SET ansi_mode") assert list(cursor.fetchone()) == ["ansi_mode", str(enable_ansi)] @@ -598,7 +629,9 @@ def test_ssp_passthrough(self): def test_timestamps_arrow(self): with self.cursor({"session_configuration": {"ansi_mode": False}}) as cursor: for timestamp, expected in self.timestamp_and_expected_results: - cursor.execute("SELECT TIMESTAMP('{timestamp}')".format(timestamp=timestamp)) + cursor.execute( + "SELECT TIMESTAMP('{timestamp}')".format(timestamp=timestamp) + ) arrow_table = cursor.fetchmany_arrow(1) if self.should_add_timezone(): ts_type = pyarrow.timestamp("us", tz="Etc/UTC") @@ -609,9 +642,11 @@ def test_timestamps_arrow(self): # To work consistently across different local timezones, we specify the timezone # of the expected result to # be UTC (what it should be by default on the server) - aware_timestamp = expected and expected.replace(tzinfo=datetime.timezone.utc) + aware_timestamp = expected and expected.replace( + tzinfo=datetime.timezone.utc + ) assert result_value == ( - aware_timestamp and aware_timestamp.timestamp() * 1000000 + aware_timestamp and aware_timestamp.timestamp() * 1000000 ), "timestamp {} did not match {}".format(timestamp, expected) @pytest.mark.skipif(not pyarrow, reason="Skipping because pyarrow is not installed") @@ -619,14 +654,16 @@ def test_multi_timestamps_arrow(self): with self.cursor({"session_configuration": {"ansi_mode": False}}) as cursor: query, expected = self.multi_query() expected = [ - [self.maybe_add_timezone_to_timestamp(ts) for ts in row] for row in expected + [self.maybe_add_timezone_to_timestamp(ts) for ts in row] + for row in expected ] cursor.execute(query) table = cursor.fetchall_arrow() # Transpose columnar result to list of rows list_of_cols = [c.to_pylist() for c in table] result = [ - [col[row_index] for col in list_of_cols] for row_index in range(table.num_rows) + [col[row_index] for col in list_of_cols] + for row_index in range(table.num_rows) ] assert result == expected @@ -643,7 +680,9 @@ def test_timezone_with_timestamp(self): cursor.execute("select CAST('2022-03-02 12:54:56' as TIMESTAMP)") arrow_result_table = cursor.fetchmany_arrow(1) - arrow_result_value = arrow_result_table.column(0).combine_chunks()[0].value + arrow_result_value = ( + arrow_result_table.column(0).combine_chunks()[0].value + ) ts_type = pyarrow.timestamp("us", tz="Europe/Amsterdam") assert arrow_result_table.field(0).type == ts_type @@ -703,7 +742,9 @@ def test_close_connection_closes_cursors(self): with self.connection() as conn: cursor = conn.cursor() - cursor.execute("SELECT id, id `id2`, id `id3` FROM RANGE(1000000) order by RANDOM()") + cursor.execute( + "SELECT id, id `id2`, id `id3` FROM RANGE(1000000) order by RANDOM()" + ) ars = cursor.active_result_set # We must manually run this check because thrift_backend always forces `has_been_closed_server_side` to True @@ -712,14 +753,21 @@ def test_close_connection_closes_cursors(self): status_request = ttypes.TGetOperationStatusReq( operationHandle=ars.command_id, getProgressUpdate=False ) - op_status_at_server = ars.thrift_backend._client.GetOperationStatus(status_request) - assert op_status_at_server.operationState != ttypes.TOperationState.CLOSED_STATE + op_status_at_server = ars.thrift_backend._client.GetOperationStatus( + status_request + ) + assert ( + op_status_at_server.operationState + != ttypes.TOperationState.CLOSED_STATE + ) conn.close() # When connection closes, any cursor operations should no longer exist at the server with pytest.raises(SessionAlreadyClosedError) as cm: - op_status_at_server = ars.thrift_backend._client.GetOperationStatus(status_request) + op_status_at_server = ars.thrift_backend._client.GetOperationStatus( + status_request + ) def test_closing_a_closed_connection_doesnt_fail(self, caplog): caplog.set_level(logging.DEBUG) @@ -740,7 +788,9 @@ class HTTP429Suite(Client429ResponseMixin, PySQLPytestTestCase): class HTTP503Suite(Client503ResponseMixin, PySQLPytestTestCase): # 503Response suite gets custom error here vs PyODBC def test_retry_disabled(self): - self._test_retry_disabled_with_message("TEMPORARILY_UNAVAILABLE", OperationalError) + self._test_retry_disabled_with_message( + "TEMPORARILY_UNAVAILABLE", OperationalError + ) class TestPySQLUnityCatalogSuite(PySQLPytestTestCase): @@ -753,10 +803,10 @@ def test_initial_namespace(self): cursor.execute("USE CATALOG {}".format(self.arguments["catalog"])) cursor.execute("CREATE TABLE table_{} (col1 int)".format(table_name)) with self.connection( - {"catalog": self.arguments["catalog"], "schema": table_name} + {"catalog": self.arguments["catalog"], "schema": table_name} ) as connection: cursor = connection.cursor() cursor.execute("select current_catalog()") assert cursor.fetchone()[0] == self.arguments["catalog"] cursor.execute("select current_database()") - assert cursor.fetchone()[0] == table_name \ No newline at end of file + assert cursor.fetchone()[0] == table_name diff --git a/databricks_sql_connector_core/tests/e2e/test_parameterized_queries.py b/databricks_sql_connector_core/tests/e2e/test_parameterized_queries.py index 9ae53dba..46d590fb 100644 --- a/databricks_sql_connector_core/tests/e2e/test_parameterized_queries.py +++ b/databricks_sql_connector_core/tests/e2e/test_parameterized_queries.py @@ -147,8 +147,8 @@ def patch_server_supports_native_params(self, supports_native_params: bool = Tru """Applies a patch so we can test the connector's behaviour under different SPARK_CLI_SERVICE_PROTOCOL_VERSION conditions.""" with patch( - "databricks_sql_connector_core.sql.client.Connection.server_parameterized_queries_enabled", - return_value=supports_native_params, + "databricks_sql_connector_core.sql.client.Connection.server_parameterized_queries_enabled", + return_value=supports_native_params, ) as mock_parameterized_queries_enabled: try: yield mock_parameterized_queries_enabled @@ -167,12 +167,8 @@ def _inline_roundtrip(self, params: dict, paramstyle: ParamStyle): This is a no-op but is included to make the test-code easier to read. """ target_column = self._get_inline_table_column(params.get("p")) - INSERT_QUERY = ( - f"INSERT INTO pysql_e2e_inline_param_test_table (`{target_column}`) VALUES (%(p)s)" - ) - SELECT_QUERY = ( - f"SELECT {target_column} `col` FROM pysql_e2e_inline_param_test_table LIMIT 1" - ) + INSERT_QUERY = f"INSERT INTO pysql_e2e_inline_param_test_table (`{target_column}`) VALUES (%(p)s)" + SELECT_QUERY = f"SELECT {target_column} `col` FROM pysql_e2e_inline_param_test_table LIMIT 1" DELETE_QUERY = "DELETE FROM pysql_e2e_inline_param_test_table" with self.connection(extra_params={"use_inline_params": True}) as conn: @@ -186,10 +182,10 @@ def _inline_roundtrip(self, params: dict, paramstyle: ParamStyle): return to_return def _native_roundtrip( - self, - parameters: Union[Dict, List[Dict]], - paramstyle: ParamStyle, - parameter_structure: ParameterStructure, + self, + parameters: Union[Dict, List[Dict]], + paramstyle: ParamStyle, + parameter_structure: ParameterStructure, ): if parameter_structure == ParameterStructure.POSITIONAL: _query = self.POSITIONAL_PARAMSTYLE_QUERY @@ -203,11 +199,11 @@ def _native_roundtrip( return cursor.fetchone() def _get_one_result( - self, - params, - approach: ParameterApproach = ParameterApproach.NONE, - paramstyle: ParamStyle = ParamStyle.NONE, - parameter_structure: ParameterStructure = ParameterStructure.NONE, + self, + params, + approach: ParameterApproach = ParameterApproach.NONE, + paramstyle: ParamStyle = ParamStyle.NONE, + parameter_structure: ParameterStructure = ParameterStructure.NONE, ): """When approach is INLINE then we use %(param)s paramstyle and a connection with use_inline_params=True When approach is NATIVE then we use :param paramstyle and a connection with use_inline_params=False @@ -243,12 +239,12 @@ def _eq(self, actual, expected: Primitive): "approach,paramstyle,parameter_structure", approach_paramstyle_combinations ) def test_primitive_single( - self, - approach, - paramstyle, - parameter_structure, - primitive: Primitive, - inline_table, + self, + approach, + paramstyle, + parameter_structure, + primitive: Primitive, + inline_table, ): """When ParameterApproach.INLINE is passed, inferrence will not be used. When ParameterApproach.NATIVE is passed, primitive inputs will be inferred. @@ -284,13 +280,15 @@ def test_primitive_single( (PrimitiveExtra.TINYINT, TinyIntParameter), ], ) - @pytest.mark.skipif(pytest.importorskip("pyarrow"), - reason="Without pyarrow TIMESTAMP_NTZ datatype cannot be inferred") + @pytest.mark.skipif( + pytest.importorskip("pyarrow"), + reason="Without pyarrow TIMESTAMP_NTZ datatype cannot be inferred", + ) def test_dbsqlparameter_single( - self, - primitive: Primitive, - dbsql_parameter_cls: Type[TDbsqlParameter], - parameter_structure: ParameterStructure, + self, + primitive: Primitive, + dbsql_parameter_cls: Type[TDbsqlParameter], + parameter_structure: ParameterStructure, ): dbsql_param = dbsql_parameter_cls( value=primitive.value, # type: ignore @@ -310,19 +308,23 @@ def test_use_inline_off_by_default_with_warning(self, use_inline_params, caplog) If a user explicitly sets use_inline_params, don't warn them about it. """ - extra_args = {"use_inline_params": use_inline_params} if use_inline_params else {} + extra_args = ( + {"use_inline_params": use_inline_params} if use_inline_params else {} + ) with self.connection(extra_params=extra_args) as conn: with conn.cursor() as cursor: - with self.patch_server_supports_native_params(supports_native_params=True): + with self.patch_server_supports_native_params( + supports_native_params=True + ): cursor.execute("SELECT %(p)s", parameters={"p": 1}) if use_inline_params is True: assert ( - "Consider using native parameters." in caplog.text + "Consider using native parameters." in caplog.text ), "Log message should be suppressed" elif use_inline_params == "silent": assert ( - "Consider using native parameters." not in caplog.text + "Consider using native parameters." not in caplog.text ), "Log message should not be supressed" def test_positional_native_params_with_defaults(self): @@ -335,12 +337,12 @@ def test_positional_native_params_with_defaults(self): @pytest.mark.parametrize( "params", ( - [ - StringParameter(value="foo"), - StringParameter(value="bar"), - StringParameter(value="baz"), - ], - ["foo", "bar", "baz"], + [ + StringParameter(value="foo"), + StringParameter(value="bar"), + StringParameter(value="baz"), + ], + ["foo", "bar", "baz"], ), ) def test_positional_native_multiple(self, params): @@ -404,7 +406,9 @@ def test_inline_ordinals_can_break_sql(self): query = "SELECT 'samsonite', %s WHERE 'samsonite' LIKE '%sonite'" params = ["luggage"] with self.cursor(extra_params={"use_inline_params": True}) as cursor: - with pytest.raises(TypeError, match="not enough arguments for format string"): + with pytest.raises( + TypeError, match="not enough arguments for format string" + ): cursor.execute(query, parameters=params) def test_inline_named_dont_break_sql(self): diff --git a/databricks_sql_connector_core/tests/unit/test_arrow_queue.py b/databricks_sql_connector_core/tests/unit/test_arrow_queue.py index 9ceed3da..e5cde82f 100644 --- a/databricks_sql_connector_core/tests/unit/test_arrow_queue.py +++ b/databricks_sql_connector_core/tests/unit/test_arrow_queue.py @@ -1,5 +1,6 @@ import unittest import pytest + try: import pyarrow as pa except ImportError: @@ -18,13 +19,21 @@ def make_arrow_table(batch): return pa.Table.from_pydict(dict(zip(schema.names, cols)), schema=schema) def test_fetchmany_respects_n_rows(self): - arrow_table = self.make_arrow_table([[0, 1, 2], [3, 4, 5], [6, 7, 8], [9, 10, 11]]) + arrow_table = self.make_arrow_table( + [[0, 1, 2], [3, 4, 5], [6, 7, 8], [9, 10, 11]] + ) aq = ArrowQueue(arrow_table, 3) - self.assertEqual(aq.next_n_rows(2), self.make_arrow_table([[0, 1, 2], [3, 4, 5]])) + self.assertEqual( + aq.next_n_rows(2), self.make_arrow_table([[0, 1, 2], [3, 4, 5]]) + ) self.assertEqual(aq.next_n_rows(2), self.make_arrow_table([[6, 7, 8]])) def test_fetch_remaining_rows_respects_n_rows(self): - arrow_table = self.make_arrow_table([[0, 1, 2], [3, 4, 5], [6, 7, 8], [9, 10, 11]]) + arrow_table = self.make_arrow_table( + [[0, 1, 2], [3, 4, 5], [6, 7, 8], [9, 10, 11]] + ) aq = ArrowQueue(arrow_table, 3) self.assertEqual(aq.next_n_rows(1), self.make_arrow_table([[0, 1, 2]])) - self.assertEqual(aq.remaining_rows(), self.make_arrow_table([[3, 4, 5], [6, 7, 8]])) + self.assertEqual( + aq.remaining_rows(), self.make_arrow_table([[3, 4, 5], [6, 7, 8]]) + ) diff --git a/databricks_sql_connector_core/tests/unit/test_auth.py b/databricks_sql_connector_core/tests/unit/test_auth.py index 9e2b60b7..0ca8005f 100644 --- a/databricks_sql_connector_core/tests/unit/test_auth.py +++ b/databricks_sql_connector_core/tests/unit/test_auth.py @@ -9,16 +9,26 @@ ExternalAuthProvider, AuthType, ) -from databricks_sql_connector_core.sql.auth.auth import get_python_sql_connector_auth_provider, PYSQL_OAUTH_CLIENT_ID +from databricks_sql_connector_core.sql.auth.auth import ( + get_python_sql_connector_auth_provider, + PYSQL_OAUTH_CLIENT_ID, +) from databricks_sql_connector_core.sql.auth.oauth import OAuthManager -from databricks_sql_connector_core.sql.auth.authenticators import DatabricksOAuthProvider +from databricks_sql_connector_core.sql.auth.authenticators import ( + DatabricksOAuthProvider, +) from databricks_sql_connector_core.sql.auth.endpoint import ( CloudType, InHouseOAuthEndpointCollection, AzureOAuthEndpointCollection, ) -from databricks_sql_connector_core.sql.auth.authenticators import CredentialsProvider, HeaderFactory -from databricks_sql_connector_core.sql.experimental.oauth_persistence import OAuthPersistenceCache +from databricks_sql_connector_core.sql.auth.authenticators import ( + CredentialsProvider, + HeaderFactory, +) +from databricks_sql_connector_core.sql.experimental.oauth_persistence import ( + OAuthPersistenceCache, +) class Auth(unittest.TestCase): @@ -97,9 +107,11 @@ def test_oauth_auth_provider(self, mock_get_tokens, mock_check_and_refresh): redirect_port_range=[8020], client_id=client_id, scopes=scopes, - auth_type=AuthType.AZURE_OAUTH.value - if use_azure_auth - else AuthType.DATABRICKS_OAUTH.value, + auth_type=( + AuthType.AZURE_OAUTH.value + if use_azure_auth + else AuthType.DATABRICKS_OAUTH.value + ), ) self.assertIsInstance( @@ -177,4 +189,6 @@ def test_get_python_sql_connector_basic_auth(self): } with self.assertRaises(ValueError) as e: get_python_sql_connector_auth_provider("foo.cloud.databricks.com", **kwargs) - self.assertIn("Username/password authentication is no longer supported", str(e.exception)) + self.assertIn( + "Username/password authentication is no longer supported", str(e.exception) + ) diff --git a/databricks_sql_connector_core/tests/unit/test_client.py b/databricks_sql_connector_core/tests/unit/test_client.py index a3cdc7b7..f37dd58f 100644 --- a/databricks_sql_connector_core/tests/unit/test_client.py +++ b/databricks_sql_connector_core/tests/unit/test_client.py @@ -13,19 +13,25 @@ TExecuteStatementResp, TOperationHandle, THandleIdentifier, - TOperationType + TOperationType, ) from databricks_sql_connector_core.sql.thrift_backend import ThriftBackend import databricks_sql_connector_core.sql import databricks_sql_connector_core.sql.client as client -from databricks_sql_connector_core.sql import InterfaceError, DatabaseError, Error, NotSupportedError +from databricks_sql_connector_core.sql import ( + InterfaceError, + DatabaseError, + Error, + NotSupportedError, +) from databricks_sql_connector_core.sql.types import Row from tests.unit.test_fetches import FetchTests from tests.unit.test_thrift_backend import ThriftBackendTestSuite from tests.unit.test_arrow_queue import ArrowQueueSuite + class ThriftBackendMockFactory: @classmethod @@ -68,10 +74,6 @@ def apply_property_to_mock(self, mock_obj, **kwargs): setattr(type(mock_obj), key, prop) - - - - class ClientTestSuite(unittest.TestCase): """ Unit tests for isolated client behaviour. @@ -89,15 +91,17 @@ def test_close_uses_the_correct_session_id(self, mock_client_class): instance = mock_client_class.return_value mock_open_session_resp = MagicMock(spec=TOpenSessionResp)() - mock_open_session_resp.sessionHandle.sessionId = b'\x22' + mock_open_session_resp.sessionHandle.sessionId = b"\x22" instance.open_session.return_value = mock_open_session_resp - connection = databricks_sql_connector_core.sql.connect(**self.DUMMY_CONNECTION_ARGS) + connection = databricks_sql_connector_core.sql.connect( + **self.DUMMY_CONNECTION_ARGS + ) connection.close() # Check the close session request has an id of x22 close_session_id = instance.close_session.call_args[0][0].sessionId - self.assertEqual(close_session_id, b'\x22') + self.assertEqual(close_session_id, b"\x22") @patch("%s.client.ThriftBackend" % PACKAGE_NAME) def test_auth_args(self, mock_client_class): @@ -129,7 +133,9 @@ def test_auth_args(self, mock_client_class): @patch("%s.client.ThriftBackend" % PACKAGE_NAME) def test_http_header_passthrough(self, mock_client_class): http_headers = [("foo", "bar")] - databricks_sql_connector_core.sql.connect(**self.DUMMY_CONNECTION_ARGS, http_headers=http_headers) + databricks_sql_connector_core.sql.connect( + **self.DUMMY_CONNECTION_ARGS, http_headers=http_headers + ) call_args = mock_client_class.call_args[0][3] self.assertIn(("foo", "bar"), call_args) @@ -155,13 +161,26 @@ def test_useragent_header(self, mock_client_class): databricks_sql_connector_core.sql.connect(**self.DUMMY_CONNECTION_ARGS) http_headers = mock_client_class.call_args[0][3] - user_agent_header = ("User-Agent", "{}/{}".format(databricks_sql_connector_core.sql.USER_AGENT_NAME, - databricks_sql_connector_core.sql.__version__)) + user_agent_header = ( + "User-Agent", + "{}/{}".format( + databricks_sql_connector_core.sql.USER_AGENT_NAME, + databricks_sql_connector_core.sql.__version__, + ), + ) self.assertIn(user_agent_header, http_headers) - databricks_sql_connector_core.sql.connect(**self.DUMMY_CONNECTION_ARGS, _user_agent_entry="foobar") - user_agent_header_with_entry = ("User-Agent", "{}/{} ({})".format( - databricks_sql_connector_core.sql.USER_AGENT_NAME, databricks_sql_connector_core.sql.__version__, "foobar")) + databricks_sql_connector_core.sql.connect( + **self.DUMMY_CONNECTION_ARGS, _user_agent_entry="foobar" + ) + user_agent_header_with_entry = ( + "User-Agent", + "{}/{} ({})".format( + databricks_sql_connector_core.sql.USER_AGENT_NAME, + databricks_sql_connector_core.sql.__version__, + "foobar", + ), + ) http_headers = mock_client_class.call_args[0][3] self.assertIn(user_agent_header_with_entry, http_headers) @@ -172,17 +191,23 @@ def test_closing_connection_closes_commands(self, mock_result_set_class): for closed in (True, False): with self.subTest(closed=closed): mock_result_set_class.return_value = Mock() - connection = databricks_sql_connector_core.sql.connect(**self.DUMMY_CONNECTION_ARGS) + connection = databricks_sql_connector_core.sql.connect( + **self.DUMMY_CONNECTION_ARGS + ) cursor = connection.cursor() cursor.execute("SELECT 1;") connection.close() - self.assertTrue(mock_result_set_class.return_value.has_been_closed_server_side) + self.assertTrue( + mock_result_set_class.return_value.has_been_closed_server_side + ) mock_result_set_class.return_value.close.assert_called_once_with() @patch("%s.client.ThriftBackend" % PACKAGE_NAME) def test_cant_open_cursor_on_closed_connection(self, mock_client_class): - connection = databricks_sql_connector_core.sql.connect(**self.DUMMY_CONNECTION_ARGS) + connection = databricks_sql_connector_core.sql.connect( + **self.DUMMY_CONNECTION_ARGS + ) self.assertTrue(connection.open) connection.close() self.assertFalse(connection.open) @@ -192,8 +217,12 @@ def test_cant_open_cursor_on_closed_connection(self, mock_client_class): @patch("%s.client.ThriftBackend" % PACKAGE_NAME) @patch("%s.client.Cursor" % PACKAGE_NAME) - def test_arraysize_buffer_size_passthrough(self, mock_cursor_class, mock_client_class): - connection = databricks_sql_connector_core.sql.connect(**self.DUMMY_CONNECTION_ARGS) + def test_arraysize_buffer_size_passthrough( + self, mock_cursor_class, mock_client_class + ): + connection = databricks_sql_connector_core.sql.connect( + **self.DUMMY_CONNECTION_ARGS + ) connection.cursor(arraysize=999, buffer_size_bytes=1234) kwargs = mock_cursor_class.call_args[1] @@ -204,7 +233,10 @@ def test_closing_result_set_with_closed_connection_soft_closes_commands(self): mock_connection = Mock() mock_backend = Mock() result_set = client.ResultSet( - connection=mock_connection, thrift_backend=mock_backend, execute_response=Mock()) + connection=mock_connection, + thrift_backend=mock_backend, + execute_response=Mock(), + ) mock_connection.open = False result_set.close() @@ -218,20 +250,27 @@ def test_closing_result_set_hard_closes_commands(self): mock_connection = Mock() mock_thrift_backend = Mock() mock_connection.open = True - result_set = client.ResultSet(mock_connection, mock_results_response, mock_thrift_backend) + result_set = client.ResultSet( + mock_connection, mock_results_response, mock_thrift_backend + ) result_set.close() mock_thrift_backend.close_command.assert_called_once_with( - mock_results_response.command_handle) + mock_results_response.command_handle + ) @patch("%s.client.ResultSet" % PACKAGE_NAME) - def test_executing_multiple_commands_uses_the_most_recent_command(self, mock_result_set_class): + def test_executing_multiple_commands_uses_the_most_recent_command( + self, mock_result_set_class + ): mock_result_sets = [Mock(), Mock()] mock_result_set_class.side_effect = mock_result_sets - cursor = client.Cursor(connection=Mock(), thrift_backend=ThriftBackendMockFactory.new()) + cursor = client.Cursor( + connection=Mock(), thrift_backend=ThriftBackendMockFactory.new() + ) cursor.execute("SELECT 1;") cursor.execute("SELECT 1;") @@ -272,15 +311,17 @@ def test_context_manager_closes_connection(self, mock_client_class): instance = mock_client_class.return_value mock_open_session_resp = MagicMock(spec=TOpenSessionResp)() - mock_open_session_resp.sessionHandle.sessionId = b'\x22' + mock_open_session_resp.sessionHandle.sessionId = b"\x22" instance.open_session.return_value = mock_open_session_resp - with databricks_sql_connector_core.sql.connect(**self.DUMMY_CONNECTION_ARGS) as connection: + with databricks_sql_connector_core.sql.connect( + **self.DUMMY_CONNECTION_ARGS + ) as connection: pass # Check the close session request has an id of x22 close_session_id = instance.close_session.call_args[0][0].sessionId - self.assertEqual(close_session_id, b'\x22') + self.assertEqual(close_session_id, b"\x22") def dict_product(self, dicts): """ @@ -299,7 +340,9 @@ def test_get_schemas_parameters_passed_to_thrift_backend(self, mock_thrift_backe req_args_combinations = self.dict_product( dict( catalog_name=["NOT_SET", None, "catalog_pattern"], - schema_name=["NOT_SET", None, "schema_pattern"])) + schema_name=["NOT_SET", None, "schema_pattern"], + ) + ) for req_args in req_args_combinations: req_args = {k: v for k, v in req_args.items() if v != "NOT_SET"} @@ -320,7 +363,9 @@ def test_get_tables_parameters_passed_to_thrift_backend(self, mock_thrift_backen catalog_name=["NOT_SET", None, "catalog_pattern"], schema_name=["NOT_SET", None, "schema_pattern"], table_name=["NOT_SET", None, "table_pattern"], - table_types=["NOT_SET", [], ["type1", "type2"]])) + table_types=["NOT_SET", [], ["type1", "type2"]], + ) + ) for req_args in req_args_combinations: req_args = {k: v for k, v in req_args.items() if v != "NOT_SET"} @@ -341,7 +386,9 @@ def test_get_columns_parameters_passed_to_thrift_backend(self, mock_thrift_backe catalog_name=["NOT_SET", None, "catalog_pattern"], schema_name=["NOT_SET", None, "schema_pattern"], table_name=["NOT_SET", None, "table_pattern"], - column_name=["NOT_SET", None, "column_pattern"])) + column_name=["NOT_SET", None, "column_pattern"], + ) + ) for req_args in req_args_combinations: req_args = {k: v for k, v in req_args.items() if v != "NOT_SET"} @@ -365,7 +412,8 @@ def test_cancel_command_calls_the_backend(self): @patch("databricks_sql_connector_core.sql.client.logger") def test_cancel_command_will_issue_warning_for_cancel_with_no_executing_command( - self, logger_instance): + self, logger_instance + ): mock_thrift_backend = Mock() cursor = client.Cursor(Mock(), mock_thrift_backend) cursor.cancel() @@ -375,38 +423,55 @@ def test_cancel_command_will_issue_warning_for_cancel_with_no_executing_command( @patch("%s.client.ThriftBackend" % PACKAGE_NAME) def test_max_number_of_retries_passthrough(self, mock_client_class): - databricks_sql_connector_core.sql.connect(_retry_stop_after_attempts_count=54, **self.DUMMY_CONNECTION_ARGS) + databricks_sql_connector_core.sql.connect( + _retry_stop_after_attempts_count=54, **self.DUMMY_CONNECTION_ARGS + ) - self.assertEqual(mock_client_class.call_args[1]["_retry_stop_after_attempts_count"], 54) + self.assertEqual( + mock_client_class.call_args[1]["_retry_stop_after_attempts_count"], 54 + ) @patch("%s.client.ThriftBackend" % PACKAGE_NAME) def test_socket_timeout_passthrough(self, mock_client_class): - databricks_sql_connector_core.sql.connect(_socket_timeout=234, **self.DUMMY_CONNECTION_ARGS) + databricks_sql_connector_core.sql.connect( + _socket_timeout=234, **self.DUMMY_CONNECTION_ARGS + ) self.assertEqual(mock_client_class.call_args[1]["_socket_timeout"], 234) def test_version_is_canonical(self): version = databricks_sql_connector_core.sql.__version__ - canonical_version_re = r'^([1-9][0-9]*!)?(0|[1-9][0-9]*)(\.(0|[1-9][0-9]*))*((a|b|rc)' \ - r'(0|[1-9][0-9]*))?(\.post(0|[1-9][0-9]*))?(\.dev(0|[1-9][0-9]*))?$' + canonical_version_re = ( + r"^([1-9][0-9]*!)?(0|[1-9][0-9]*)(\.(0|[1-9][0-9]*))*((a|b|rc)" + r"(0|[1-9][0-9]*))?(\.post(0|[1-9][0-9]*))?(\.dev(0|[1-9][0-9]*))?$" + ) self.assertIsNotNone(re.match(canonical_version_re, version)) @patch("%s.client.ThriftBackend" % PACKAGE_NAME) def test_configuration_passthrough(self, mock_client_class): mock_session_config = Mock() databricks_sql_connector_core.sql.connect( - session_configuration=mock_session_config, **self.DUMMY_CONNECTION_ARGS) + session_configuration=mock_session_config, **self.DUMMY_CONNECTION_ARGS + ) - self.assertEqual(mock_client_class.return_value.open_session.call_args[0][0], - mock_session_config) + self.assertEqual( + mock_client_class.return_value.open_session.call_args[0][0], + mock_session_config, + ) @patch("%s.client.ThriftBackend" % PACKAGE_NAME) def test_initial_namespace_passthrough(self, mock_client_class): mock_cat = Mock() mock_schem = Mock() - databricks_sql_connector_core.sql.connect(**self.DUMMY_CONNECTION_ARGS, catalog=mock_cat, schema=mock_schem) - self.assertEqual(mock_client_class.return_value.open_session.call_args[0][1], mock_cat) - self.assertEqual(mock_client_class.return_value.open_session.call_args[0][2], mock_schem) + databricks_sql_connector_core.sql.connect( + **self.DUMMY_CONNECTION_ARGS, catalog=mock_cat, schema=mock_schem + ) + self.assertEqual( + mock_client_class.return_value.open_session.call_args[0][1], mock_cat + ) + self.assertEqual( + mock_client_class.return_value.open_session.call_args[0][2], mock_schem + ) def test_execute_parameter_passthrough(self): mock_thrift_backend = ThriftBackendMockFactory.new() @@ -436,7 +501,8 @@ def test_execute_parameter_passthrough(self): @patch("%s.client.ThriftBackend" % PACKAGE_NAME) @patch("%s.client.ResultSet" % PACKAGE_NAME) def test_executemany_parameter_passhthrough_and_uses_last_result_set( - self, mock_result_set_class, mock_thrift_backend): + self, mock_result_set_class, mock_thrift_backend + ): # Create a new mock result set each time the class is instantiated mock_result_set_instances = [Mock(), Mock(), Mock()] mock_result_set_class.side_effect = mock_result_set_instances @@ -449,17 +515,22 @@ def test_executemany_parameter_passhthrough_and_uses_last_result_set( cursor.executemany("SELECT %(x)s", seq_of_parameters=params) self.assertEqual( - len(mock_thrift_backend.execute_command.call_args_list), len(expected_queries), - "Expected execute_command to be called the same number of times as params were passed") + len(mock_thrift_backend.execute_command.call_args_list), + len(expected_queries), + "Expected execute_command to be called the same number of times as params were passed", + ) - for expected_query, call_args in zip(expected_queries, - mock_thrift_backend.execute_command.call_args_list): + for expected_query, call_args in zip( + expected_queries, mock_thrift_backend.execute_command.call_args_list + ): self.assertEqual(call_args[1]["operation"], expected_query) self.assertEqual( - cursor.active_result_set, mock_result_set_instances[2], + cursor.active_result_set, + mock_result_set_instances[2], "Expected the active result set to be the result set corresponding to the" - "last operation") + "last operation", + ) @patch("%s.client.ThriftBackend" % PACKAGE_NAME) def test_commit_a_noop(self, mock_thrift_backend_class): @@ -495,7 +566,7 @@ def make_fake_row_slice(n_rows): mock_thrift_backend.fetch_results.return_value = (mock_aq, True) cursor = client.Cursor(Mock(), mock_thrift_backend) - cursor.execute('foo') + cursor.execute("foo") self.assertEqual(cursor.rownumber, 0) cursor.fetchmany_arrow(10) @@ -516,12 +587,14 @@ def test_disable_pandas_respected(self, mock_thrift_backend_class): mock_aq = Mock() mock_aq.remaining_rows.return_value = mock_table mock_thrift_backend.execute_command.return_value.arrow_queue = mock_aq - mock_thrift_backend.execute_command.return_value.has_been_closed_server_side = True + mock_thrift_backend.execute_command.return_value.has_been_closed_server_side = ( + True + ) mock_con = Mock() mock_con.disable_pandas = True cursor = client.Cursor(mock_con, mock_thrift_backend) - cursor.execute('foo') + cursor.execute("foo") cursor.fetchall() mock_table.itercolumns.assert_called_once_with() @@ -535,7 +608,7 @@ def test_column_name_api(self): expected_values = [["val1", 321, 52.32], ["val2", 2321, 252.32]] - for (row, expected) in zip(data, expected_values): + for row, expected in zip(data, expected_values): self.assertEqual(row.first_col, expected[0]) self.assertEqual(row.second_col, expected[1]) self.assertEqual(row.third_col, expected[2]) @@ -548,18 +621,21 @@ def test_column_name_api(self): self.assertEqual(row[1], expected[1]) self.assertEqual(row[2], expected[2]) - self.assertEqual(row.asDict(), { - "first_col": expected[0], - "second_col": expected[1], - "third_col": expected[2] - }) + self.assertEqual( + row.asDict(), + { + "first_col": expected[0], + "second_col": expected[1], + "third_col": expected[2], + }, + ) @patch("%s.client.ThriftBackend" % PACKAGE_NAME) def test_finalizer_closes_abandoned_connection(self, mock_client_class): instance = mock_client_class.return_value mock_open_session_resp = MagicMock(spec=TOpenSessionResp)() - mock_open_session_resp.sessionHandle.sessionId = b'\x22' + mock_open_session_resp.sessionHandle.sessionId = b"\x22" instance.open_session.return_value = mock_open_session_resp databricks_sql_connector_core.sql.connect(**self.DUMMY_CONNECTION_ARGS) @@ -569,17 +645,19 @@ def test_finalizer_closes_abandoned_connection(self, mock_client_class): # Check the close session request has an id of x22 close_session_id = instance.close_session.call_args[0][0].sessionId - self.assertEqual(close_session_id, b'\x22') + self.assertEqual(close_session_id, b"\x22") @patch("%s.client.ThriftBackend" % PACKAGE_NAME) def test_cursor_keeps_connection_alive(self, mock_client_class): instance = mock_client_class.return_value mock_open_session_resp = MagicMock(spec=TOpenSessionResp)() - mock_open_session_resp.sessionHandle.sessionId = b'\x22' + mock_open_session_resp.sessionHandle.sessionId = b"\x22" instance.open_session.return_value = mock_open_session_resp - connection = databricks_sql_connector_core.sql.connect(**self.DUMMY_CONNECTION_ARGS) + connection = databricks_sql_connector_core.sql.connect( + **self.DUMMY_CONNECTION_ARGS + ) cursor = connection.cursor() del connection @@ -591,15 +669,20 @@ def test_cursor_keeps_connection_alive(self, mock_client_class): @patch("%s.utils.ExecuteResponse" % PACKAGE_NAME, autospec=True) @patch("%s.client.Cursor._handle_staging_operation" % PACKAGE_NAME) @patch("%s.client.ThriftBackend" % PACKAGE_NAME) - def test_staging_operation_response_is_handled(self, mock_client_class, mock_handle_staging_operation, mock_execute_response): + def test_staging_operation_response_is_handled( + self, mock_client_class, mock_handle_staging_operation, mock_execute_response + ): # If server sets ExecuteResponse.is_staging_operation True then _handle_staging_operation should be called - - ThriftBackendMockFactory.apply_property_to_mock(mock_execute_response, is_staging_operation=True) + ThriftBackendMockFactory.apply_property_to_mock( + mock_execute_response, is_staging_operation=True + ) mock_client_class.execute_command.return_value = mock_execute_response mock_client_class.return_value = mock_client_class - connection = databricks_sql_connector_core.sql.connect(**self.DUMMY_CONNECTION_ARGS) + connection = databricks_sql_connector_core.sql.connect( + **self.DUMMY_CONNECTION_ARGS + ) cursor = connection.cursor() cursor.execute("Text of some staging operation command;") connection.close() @@ -608,26 +691,34 @@ def test_staging_operation_response_is_handled(self, mock_client_class, mock_han @patch("%s.client.ThriftBackend" % PACKAGE_NAME, ThriftBackendMockFactory.new()) def test_access_current_query_id(self): - operation_id = 'EE6A8778-21FC-438B-92D8-96AC51EE3821' + operation_id = "EE6A8778-21FC-438B-92D8-96AC51EE3821" - connection = databricks_sql_connector_core.sql.connect(**self.DUMMY_CONNECTION_ARGS) + connection = databricks_sql_connector_core.sql.connect( + **self.DUMMY_CONNECTION_ARGS + ) cursor = connection.cursor() self.assertIsNone(cursor.query_id) cursor.active_op_handle = TOperationHandle( operationId=THandleIdentifier(guid=UUID(operation_id).bytes, secret=0x00), - operationType=TOperationType.EXECUTE_STATEMENT) + operationType=TOperationType.EXECUTE_STATEMENT, + ) self.assertEqual(cursor.query_id.upper(), operation_id.upper()) cursor.close() self.assertIsNone(cursor.query_id) -if __name__ == '__main__': +if __name__ == "__main__": suite = unittest.TestLoader().loadTestsFromModule(sys.modules[__name__]) loader = unittest.TestLoader() - test_classes = [ClientTestSuite, FetchTests, ThriftBackendTestSuite, ArrowQueueSuite] + test_classes = [ + ClientTestSuite, + FetchTests, + ThriftBackendTestSuite, + ArrowQueueSuite, + ] suites_list = [] for test_class in test_classes: suite = loader.loadTestsFromTestCase(test_class) diff --git a/databricks_sql_connector_core/tests/unit/test_cloud_fetch_queue.py b/databricks_sql_connector_core/tests/unit/test_cloud_fetch_queue.py index 0d31e0b4..00a72bf5 100644 --- a/databricks_sql_connector_core/tests/unit/test_cloud_fetch_queue.py +++ b/databricks_sql_connector_core/tests/unit/test_cloud_fetch_queue.py @@ -7,7 +7,9 @@ from unittest.mock import MagicMock, patch from ssl import create_default_context -from databricks_sql_connector_core.sql.thrift_api.TCLIService.ttypes import TSparkArrowResultLink +from databricks_sql_connector_core.sql.thrift_api.TCLIService.ttypes import ( + TSparkArrowResultLink, +) import databricks_sql_connector_core.sql.utils as utils @@ -15,19 +17,23 @@ class CloudFetchQueueSuite(unittest.TestCase): def create_result_link( - self, - file_link: str = "fileLink", - start_row_offset: int = 0, - row_count: int = 8000, - bytes_num: int = 20971520 + self, + file_link: str = "fileLink", + start_row_offset: int = 0, + row_count: int = 8000, + bytes_num: int = 20971520, ): - return TSparkArrowResultLink(file_link, None, start_row_offset, row_count, bytes_num) + return TSparkArrowResultLink( + file_link, None, start_row_offset, row_count, bytes_num + ) def create_result_links(self, num_files: int, start_row_offset: int = 0): result_links = [] for i in range(num_files): file_link = "fileLink_" + str(i) - result_link = self.create_result_link(file_link=file_link, start_row_offset=start_row_offset) + result_link = self.create_result_link( + file_link=file_link, start_row_offset=start_row_offset + ) result_links.append(result_link) start_row_offset += result_link.rowCount return result_links @@ -48,8 +54,10 @@ def get_schema_bytes(): writer.close() return sink.getvalue().to_pybytes() - - @patch("databricks_sql_connector_core.sql.utils.CloudFetchQueue._create_next_table", return_value=[None, None]) + @patch( + "databricks_sql_connector_core.sql.utils.CloudFetchQueue._create_next_table", + return_value=[None, None], + ) def test_initializer_adds_links(self, mock_create_next_table): schema_bytes = MagicMock() result_links = self.create_result_links(10) @@ -78,7 +86,10 @@ def test_initializer_no_links_to_add(self): assert len(queue.download_manager._download_tasks) == 0 assert queue.table is None - @patch("databricks_sql_connector_core.sql.cloudfetch.download_manager.ResultFileDownloadManager.get_next_downloaded_file", return_value=None) + @patch( + "databricks_sql_connector_core.sql.cloudfetch.download_manager.ResultFileDownloadManager.get_next_downloaded_file", + return_value=None, + ) def test_create_next_table_no_download(self, mock_get_next_downloaded_file): queue = utils.CloudFetchQueue( MagicMock(), @@ -91,9 +102,13 @@ def test_create_next_table_no_download(self, mock_get_next_downloaded_file): mock_get_next_downloaded_file.assert_called_with(0) @patch("databricks_sql_connector_core.sql.utils.create_arrow_table_from_arrow_file") - @patch("databricks_sql_connector_core.sql.cloudfetch.download_manager.ResultFileDownloadManager.get_next_downloaded_file", - return_value=MagicMock(file_bytes=b"1234567890", row_count=4)) - def test_initializer_create_next_table_success(self, mock_get_next_downloaded_file, mock_create_arrow_table): + @patch( + "databricks_sql_connector_core.sql.cloudfetch.download_manager.ResultFileDownloadManager.get_next_downloaded_file", + return_value=MagicMock(file_bytes=b"1234567890", row_count=4), + ) + def test_initializer_create_next_table_success( + self, mock_get_next_downloaded_file, mock_create_arrow_table + ): mock_create_arrow_table.return_value = self.make_arrow_table() schema_bytes, description = MagicMock(), MagicMock() queue = utils.CloudFetchQueue( @@ -175,7 +190,12 @@ def test_next_n_rows_more_than_one_table(self, mock_create_next_table): result = queue.next_n_rows(7) assert result.num_rows == 7 assert queue.table_row_index == 3 - assert result == pyarrow.concat_tables([self.make_arrow_table(), self.make_arrow_table()])[:7] + assert ( + result + == pyarrow.concat_tables( + [self.make_arrow_table(), self.make_arrow_table()] + )[:7] + ) @patch("databricks_sql_connector_core.sql.utils.CloudFetchQueue._create_next_table") def test_next_n_rows_only_one_table_returned(self, mock_create_next_table): @@ -196,7 +216,10 @@ def test_next_n_rows_only_one_table_returned(self, mock_create_next_table): assert result.num_rows == 4 assert result == self.make_arrow_table() - @patch("databricks_sql_connector_core.sql.utils.CloudFetchQueue._create_next_table", return_value=None) + @patch( + "databricks_sql_connector_core.sql.utils.CloudFetchQueue._create_next_table", + return_value=None, + ) def test_next_n_rows_empty_table(self, mock_create_next_table): schema_bytes = self.get_schema_bytes() description = MagicMock() @@ -271,8 +294,14 @@ def test_remaining_rows_one_table_fully_returned(self, mock_create_next_table): assert result == self.make_arrow_table() @patch("databricks_sql_connector_core.sql.utils.CloudFetchQueue._create_next_table") - def test_remaining_rows_multiple_tables_fully_returned(self, mock_create_next_table): - mock_create_next_table.side_effect = [self.make_arrow_table(), self.make_arrow_table(), None] + def test_remaining_rows_multiple_tables_fully_returned( + self, mock_create_next_table + ): + mock_create_next_table.side_effect = [ + self.make_arrow_table(), + self.make_arrow_table(), + None, + ] schema_bytes, description = MagicMock(), MagicMock() queue = utils.CloudFetchQueue( schema_bytes, @@ -288,9 +317,17 @@ def test_remaining_rows_multiple_tables_fully_returned(self, mock_create_next_ta result = queue.remaining_rows() assert mock_create_next_table.call_count == 3 assert result.num_rows == 5 - assert result == pyarrow.concat_tables([self.make_arrow_table(), self.make_arrow_table()])[3:] + assert ( + result + == pyarrow.concat_tables( + [self.make_arrow_table(), self.make_arrow_table()] + )[3:] + ) - @patch("databricks_sql_connector_core.sql.utils.CloudFetchQueue._create_next_table", return_value=None) + @patch( + "databricks_sql_connector_core.sql.utils.CloudFetchQueue._create_next_table", + return_value=None, + ) def test_remaining_rows_empty_table(self, mock_create_next_table): schema_bytes = self.get_schema_bytes() description = MagicMock() @@ -304,4 +341,4 @@ def test_remaining_rows_empty_table(self, mock_create_next_table): assert queue.table is None result = queue.remaining_rows() - assert result == pyarrow.ipc.open_stream(bytearray(schema_bytes)).read_all() \ No newline at end of file + assert result == pyarrow.ipc.open_stream(bytearray(schema_bytes)).read_all() diff --git a/databricks_sql_connector_core/tests/unit/test_column_queue.py b/databricks_sql_connector_core/tests/unit/test_column_queue.py index 994be792..a69f2b3f 100644 --- a/databricks_sql_connector_core/tests/unit/test_column_queue.py +++ b/databricks_sql_connector_core/tests/unit/test_column_queue.py @@ -18,5 +18,3 @@ def test_fetch_remaining_rows_respects_n_rows(self, setup): column_queue = setup assert column_queue.next_n_rows(2) == [[0, 3], [1, 4], [2, 5]] assert column_queue.remaining_rows() == [[6, 9], [7, 10], [8, 11]] - - diff --git a/databricks_sql_connector_core/tests/unit/test_download_manager.py b/databricks_sql_connector_core/tests/unit/test_download_manager.py index c28e4c8e..a2d6e639 100644 --- a/databricks_sql_connector_core/tests/unit/test_download_manager.py +++ b/databricks_sql_connector_core/tests/unit/test_download_manager.py @@ -4,16 +4,22 @@ from ssl import create_default_context import databricks_sql_connector_core.sql.cloudfetch.download_manager as download_manager -from databricks_sql_connector_core.sql.thrift_api.TCLIService.ttypes import TSparkArrowResultLink +from databricks_sql_connector_core.sql.thrift_api.TCLIService.ttypes import ( + TSparkArrowResultLink, +) -@pytest.mark.skipif(pytest.importorskip("pyarrow"), reason="Skipping because pyarrow is not installed") +@pytest.mark.skipif( + pytest.importorskip("pyarrow"), reason="Skipping because pyarrow is not installed" +) class DownloadManagerTests(unittest.TestCase): """ Unit tests for checking download manager logic. """ - def create_download_manager(self, links, max_download_threads=10, lz4_compressed=True): + def create_download_manager( + self, links, max_download_threads=10, lz4_compressed=True + ): return download_manager.ResultFileDownloadManager( links, max_download_threads, @@ -22,19 +28,23 @@ def create_download_manager(self, links, max_download_threads=10, lz4_compressed ) def create_result_link( - self, - file_link: str = "fileLink", - start_row_offset: int = 0, - row_count: int = 8000, - bytes_num: int = 20971520 + self, + file_link: str = "fileLink", + start_row_offset: int = 0, + row_count: int = 8000, + bytes_num: int = 20971520, ): - return TSparkArrowResultLink(file_link, None, start_row_offset, row_count, bytes_num) + return TSparkArrowResultLink( + file_link, None, start_row_offset, row_count, bytes_num + ) def create_result_links(self, num_files: int, start_row_offset: int = 0): result_links = [] for i in range(num_files): file_link = "fileLink_" + str(i) - result_link = self.create_result_link(file_link=file_link, start_row_offset=start_row_offset) + result_link = self.create_result_link( + file_link=file_link, start_row_offset=start_row_offset + ) result_links.append(result_link) start_row_offset += result_link.rowCount return result_links @@ -43,7 +53,9 @@ def test_add_file_links_zero_row_count(self): links = [self.create_result_link(row_count=0, bytes_num=0)] manager = self.create_download_manager(links) - assert len(manager._pending_links) == 0 # the only link supplied contains no data, so should be skipped + assert ( + len(manager._pending_links) == 0 + ) # the only link supplied contains no data, so should be skipped assert len(manager._download_tasks) == 0 def test_add_file_links_success(self): @@ -57,9 +69,11 @@ def test_add_file_links_success(self): def test_schedule_downloads(self, mock_submit): max_download_threads = 4 links = self.create_result_links(num_files=10) - manager = self.create_download_manager(links, max_download_threads=max_download_threads) + manager = self.create_download_manager( + links, max_download_threads=max_download_threads + ) manager._schedule_downloads() assert mock_submit.call_count == max_download_threads assert len(manager._pending_links) == len(links) - max_download_threads - assert len(manager._download_tasks) == max_download_threads \ No newline at end of file + assert len(manager._download_tasks) == max_download_threads diff --git a/databricks_sql_connector_core/tests/unit/test_downloader.py b/databricks_sql_connector_core/tests/unit/test_downloader.py index 93f834b3..eb7c14a1 100644 --- a/databricks_sql_connector_core/tests/unit/test_downloader.py +++ b/databricks_sql_connector_core/tests/unit/test_downloader.py @@ -20,36 +20,40 @@ class DownloaderTests(unittest.TestCase): Unit tests for checking downloader logic. """ - @patch('time.time', return_value=1000) + @patch("time.time", return_value=1000) def test_run_link_expired(self, mock_time): settings = Mock() result_link = Mock() # Already expired result_link.expiryTime = 999 - d = downloader.ResultSetDownloadHandler(settings, result_link, ssl_context=create_default_context()) + d = downloader.ResultSetDownloadHandler( + settings, result_link, ssl_context=create_default_context() + ) with self.assertRaises(Error) as context: d.run() - self.assertTrue('link has expired' in context.exception.message) + self.assertTrue("link has expired" in context.exception.message) mock_time.assert_called_once() - @patch('time.time', return_value=1000) + @patch("time.time", return_value=1000) def test_run_link_past_expiry_buffer(self, mock_time): settings = Mock(link_expiry_buffer_secs=5) result_link = Mock() # Within the expiry buffer time result_link.expiryTime = 1004 - d = downloader.ResultSetDownloadHandler(settings, result_link, ssl_context=create_default_context()) + d = downloader.ResultSetDownloadHandler( + settings, result_link, ssl_context=create_default_context() + ) with self.assertRaises(Error) as context: d.run() - self.assertTrue('link has expired' in context.exception.message) + self.assertTrue("link has expired" in context.exception.message) mock_time.assert_called_once() - @patch('requests.Session', return_value=MagicMock(get=MagicMock(return_value=None))) - @patch('time.time', return_value=1000) + @patch("requests.Session", return_value=MagicMock(get=MagicMock(return_value=None))) + @patch("time.time", return_value=1000) def test_run_get_response_not_ok(self, mock_time, mock_session): mock_session.return_value.get.return_value = create_response(status_code=404) @@ -58,62 +62,81 @@ def test_run_get_response_not_ok(self, mock_time, mock_session): settings.use_proxy = False result_link = Mock(expiryTime=1001) - d = downloader.ResultSetDownloadHandler(settings, result_link, ssl_context=create_default_context()) + d = downloader.ResultSetDownloadHandler( + settings, result_link, ssl_context=create_default_context() + ) with self.assertRaises(requests.exceptions.HTTPError) as context: d.run() - self.assertTrue('404' in str(context.exception)) + self.assertTrue("404" in str(context.exception)) - @patch('requests.Session', return_value=MagicMock(get=MagicMock(return_value=None))) - @patch('time.time', return_value=1000) + @patch("requests.Session", return_value=MagicMock(get=MagicMock(return_value=None))) + @patch("time.time", return_value=1000) def test_run_uncompressed_successful(self, mock_time, mock_session): file_bytes = b"1234567890" * 10 - mock_session.return_value.get.return_value = create_response(status_code=200, _content=file_bytes) + mock_session.return_value.get.return_value = create_response( + status_code=200, _content=file_bytes + ) settings = Mock(link_expiry_buffer_secs=0, download_timeout=0, use_proxy=False) settings.is_lz4_compressed = False result_link = Mock(bytesNum=100, expiryTime=1001) - d = downloader.ResultSetDownloadHandler(settings, result_link, ssl_context=create_default_context()) + d = downloader.ResultSetDownloadHandler( + settings, result_link, ssl_context=create_default_context() + ) file = d.run() assert file.file_bytes == b"1234567890" * 10 - @patch('requests.Session', return_value=MagicMock(get=MagicMock(return_value=MagicMock(ok=True)))) - @patch('time.time', return_value=1000) + @patch( + "requests.Session", + return_value=MagicMock(get=MagicMock(return_value=MagicMock(ok=True))), + ) + @patch("time.time", return_value=1000) def test_run_compressed_successful(self, mock_time, mock_session): file_bytes = b"1234567890" * 10 compressed_bytes = b'\x04"M\x18h@d\x00\x00\x00\x00\x00\x00\x00#\x14\x00\x00\x00\xaf1234567890\n\x00BP67890\x00\x00\x00\x00' - mock_session.return_value.get.return_value = create_response(status_code=200, _content=compressed_bytes) + mock_session.return_value.get.return_value = create_response( + status_code=200, _content=compressed_bytes + ) settings = Mock(link_expiry_buffer_secs=0, download_timeout=0, use_proxy=False) settings.is_lz4_compressed = True result_link = Mock(bytesNum=100, expiryTime=1001) - d = downloader.ResultSetDownloadHandler(settings, result_link, ssl_context=create_default_context()) + d = downloader.ResultSetDownloadHandler( + settings, result_link, ssl_context=create_default_context() + ) file = d.run() assert file.file_bytes == b"1234567890" * 10 - @patch('requests.Session.get', side_effect=ConnectionError('foo')) - @patch('time.time', return_value=1000) + @patch("requests.Session.get", side_effect=ConnectionError("foo")) + @patch("time.time", return_value=1000) def test_download_connection_error(self, mock_time, mock_session): - settings = Mock(link_expiry_buffer_secs=0, use_proxy=False, is_lz4_compressed=True) + settings = Mock( + link_expiry_buffer_secs=0, use_proxy=False, is_lz4_compressed=True + ) result_link = Mock(bytesNum=100, expiryTime=1001) - mock_session.return_value.get.return_value.content = \ - b'\x04"M\x18h@d\x00\x00\x00\x00\x00\x00\x00#\x14\x00\x00\x00\xaf1234567890\n\x00BP67890\x00\x00\x00\x00' + mock_session.return_value.get.return_value.content = b'\x04"M\x18h@d\x00\x00\x00\x00\x00\x00\x00#\x14\x00\x00\x00\xaf1234567890\n\x00BP67890\x00\x00\x00\x00' - d = downloader.ResultSetDownloadHandler(settings, result_link, ssl_context=create_default_context()) + d = downloader.ResultSetDownloadHandler( + settings, result_link, ssl_context=create_default_context() + ) with self.assertRaises(ConnectionError): d.run() - @patch('requests.Session.get', side_effect=TimeoutError('foo')) - @patch('time.time', return_value=1000) + @patch("requests.Session.get", side_effect=TimeoutError("foo")) + @patch("time.time", return_value=1000) def test_download_timeout(self, mock_time, mock_session): - settings = Mock(link_expiry_buffer_secs=0, use_proxy=False, is_lz4_compressed=True) + settings = Mock( + link_expiry_buffer_secs=0, use_proxy=False, is_lz4_compressed=True + ) result_link = Mock(bytesNum=100, expiryTime=1001) - mock_session.return_value.get.return_value.content = \ - b'\x04"M\x18h@d\x00\x00\x00\x00\x00\x00\x00#\x14\x00\x00\x00\xaf1234567890\n\x00BP67890\x00\x00\x00\x00' + mock_session.return_value.get.return_value.content = b'\x04"M\x18h@d\x00\x00\x00\x00\x00\x00\x00#\x14\x00\x00\x00\xaf1234567890\n\x00BP67890\x00\x00\x00\x00' - d = downloader.ResultSetDownloadHandler(settings, result_link, ssl_context=create_default_context()) + d = downloader.ResultSetDownloadHandler( + settings, result_link, ssl_context=create_default_context() + ) with self.assertRaises(TimeoutError): - d.run() \ No newline at end of file + d.run() diff --git a/databricks_sql_connector_core/tests/unit/test_endpoint.py b/databricks_sql_connector_core/tests/unit/test_endpoint.py index 68fab22c..c30aab40 100644 --- a/databricks_sql_connector_core/tests/unit/test_endpoint.py +++ b/databricks_sql_connector_core/tests/unit/test_endpoint.py @@ -89,13 +89,13 @@ def test_oauth_endpoint(self): ] for ( - cloud_type, - host, - use_azure_auth, - expected_auth_url, - expected_config_url, - expected_scopes, - expected_scope2, + cloud_type, + host, + use_azure_auth, + expected_auth_url, + expected_config_url, + expected_scopes, + expected_scope2, ) in param_list: with self.subTest(cloud_type): endpoint = get_oauth_endpoints(host, use_azure_auth) @@ -121,4 +121,4 @@ def test_azure_oauth_scope_mappings_from_different_tenant_id(self): "052ee82f-b79d-443c-8682-3ec1749e56b0/user_impersonation", "offline_access", ], - ) \ No newline at end of file + ) diff --git a/databricks_sql_connector_core/tests/unit/test_fetches.py b/databricks_sql_connector_core/tests/unit/test_fetches.py index 7c386280..d51fd787 100644 --- a/databricks_sql_connector_core/tests/unit/test_fetches.py +++ b/databricks_sql_connector_core/tests/unit/test_fetches.py @@ -1,6 +1,7 @@ import unittest import pytest from unittest.mock import Mock + try: import pyarrow as pa except ImportError: @@ -21,7 +22,9 @@ def make_arrow_table(batch): n_cols = len(batch[0]) if batch else 0 schema = pa.schema({"col%s" % i: pa.uint32() for i in range(n_cols)}) cols = [[batch[row][col] for row in range(len(batch))] for col in range(n_cols)] - return schema, pa.Table.from_pydict(dict(zip(schema.names, cols)), schema=schema) + return schema, pa.Table.from_pydict( + dict(zip(schema.names, cols)), schema=schema + ) @staticmethod def make_arrow_queue(batch): @@ -46,18 +49,29 @@ def make_dummy_result_set_from_initial_results(initial_results): command_handle=None, arrow_queue=arrow_queue, arrow_schema_bytes=schema.serialize().to_pybytes(), - is_staging_operation=False)) + is_staging_operation=False, + ), + ) num_cols = len(initial_results[0]) if initial_results else 0 - rs.description = [(f'col{col_id}', 'integer', None, None, None, None, None) - for col_id in range(num_cols)] + rs.description = [ + (f"col{col_id}", "integer", None, None, None, None, None) + for col_id in range(num_cols) + ] return rs @staticmethod def make_dummy_result_set_from_batch_list(batch_list): batch_index = 0 - def fetch_results(op_handle, max_rows, max_bytes, expected_row_start_offset, lz4_compressed, - arrow_schema_bytes, description): + def fetch_results( + op_handle, + max_rows, + max_bytes, + expected_row_start_offset, + lz4_compressed, + arrow_schema_bytes, + description, + ): nonlocal batch_index results = FetchTests.make_arrow_queue(batch_list[batch_index]) batch_index += 1 @@ -75,13 +89,17 @@ def fetch_results(op_handle, max_rows, max_bytes, expected_row_start_offset, lz4 status=None, has_been_closed_server_side=False, has_more_rows=True, - description=[(f'col{col_id}', 'integer', None, None, None, None, None) - for col_id in range(num_cols)], + description=[ + (f"col{col_id}", "integer", None, None, None, None, None) + for col_id in range(num_cols) + ], lz4_compressed=Mock(), command_handle=None, arrow_queue=None, arrow_schema_bytes=None, - is_staging_operation=False)) + is_staging_operation=False, + ), + ) return rs def assertEqualRowValues(self, actual, expected): @@ -91,30 +109,44 @@ def assertEqualRowValues(self, actual, expected): def test_fetchmany_with_initial_results(self): # Fetch all in one go - initial_results_1 = [[1], [2], [3]] # This is a list of rows, each row with 1 col - dummy_result_set = self.make_dummy_result_set_from_initial_results(initial_results_1) + initial_results_1 = [ + [1], + [2], + [3], + ] # This is a list of rows, each row with 1 col + dummy_result_set = self.make_dummy_result_set_from_initial_results( + initial_results_1 + ) self.assertEqualRowValues(dummy_result_set.fetchmany(3), [[1], [2], [3]]) # Fetch in small amounts initial_results_2 = [[1], [2], [3], [4]] - dummy_result_set = self.make_dummy_result_set_from_initial_results(initial_results_2) + dummy_result_set = self.make_dummy_result_set_from_initial_results( + initial_results_2 + ) self.assertEqualRowValues(dummy_result_set.fetchmany(1), [[1]]) self.assertEqualRowValues(dummy_result_set.fetchmany(2), [[2], [3]]) self.assertEqualRowValues(dummy_result_set.fetchmany(1), [[4]]) # Fetch too many initial_results_3 = [[2], [3]] - dummy_result_set = self.make_dummy_result_set_from_initial_results(initial_results_3) + dummy_result_set = self.make_dummy_result_set_from_initial_results( + initial_results_3 + ) self.assertEqualRowValues(dummy_result_set.fetchmany(5), [[2], [3]]) # Empty results initial_results_4 = [[]] - dummy_result_set = self.make_dummy_result_set_from_initial_results(initial_results_4) + dummy_result_set = self.make_dummy_result_set_from_initial_results( + initial_results_4 + ) self.assertEqualRowValues(dummy_result_set.fetchmany(0), []) def test_fetch_many_without_initial_results(self): # Fetch all in one go; single batch - batch_list_1 = [[[1], [2], [3]]] # This is a list of one batch of rows, each row with 1 col + batch_list_1 = [ + [[1], [2], [3]] + ] # This is a list of one batch of rows, each row with 1 col dummy_result_set = self.make_dummy_result_set_from_batch_list(batch_list_1) self.assertEqualRowValues(dummy_result_set.fetchmany(3), [[1], [2], [3]]) @@ -144,7 +176,9 @@ def test_fetch_many_without_initial_results(self): # Fetch too many; multiple batches batch_list_6 = [[[1]], [[2], [3], [4]], [[5], [6]]] dummy_result_set = self.make_dummy_result_set_from_batch_list(batch_list_6) - self.assertEqualRowValues(dummy_result_set.fetchmany(100), [[1], [2], [3], [4], [5], [6]]) + self.assertEqualRowValues( + dummy_result_set.fetchmany(100), [[1], [2], [3], [4], [5], [6]] + ) # Fetch 0; 1 empty batch batch_list_7 = [[]] @@ -158,19 +192,25 @@ def test_fetch_many_without_initial_results(self): def test_fetchall_with_initial_results(self): initial_results_1 = [[1], [2], [3]] - dummy_result_set = self.make_dummy_result_set_from_initial_results(initial_results_1) + dummy_result_set = self.make_dummy_result_set_from_initial_results( + initial_results_1 + ) self.assertEqualRowValues(dummy_result_set.fetchall(), [[1], [2], [3]]) def test_fetchall_without_initial_results(self): # Fetch all, single batch - batch_list_1 = [[[1], [2], [3]]] # This is a list of one batch of rows, each row with 1 col + batch_list_1 = [ + [[1], [2], [3]] + ] # This is a list of one batch of rows, each row with 1 col dummy_result_set = self.make_dummy_result_set_from_batch_list(batch_list_1) self.assertEqualRowValues(dummy_result_set.fetchall(), [[1], [2], [3]]) # Fetch all, multiple batches batch_list_2 = [[[1], [2]], [[3]], [[4], [5], [6]]] dummy_result_set = self.make_dummy_result_set_from_batch_list(batch_list_2) - self.assertEqualRowValues(dummy_result_set.fetchall(), [[1], [2], [3], [4], [5], [6]]) + self.assertEqualRowValues( + dummy_result_set.fetchall(), [[1], [2], [3], [4], [5], [6]] + ) batch_list_3 = [[]] dummy_result_set = self.make_dummy_result_set_from_batch_list(batch_list_3) @@ -178,12 +218,16 @@ def test_fetchall_without_initial_results(self): def test_fetchmany_fetchall_with_initial_results(self): initial_results_1 = [[1], [2], [3]] - dummy_result_set = self.make_dummy_result_set_from_initial_results(initial_results_1) + dummy_result_set = self.make_dummy_result_set_from_initial_results( + initial_results_1 + ) self.assertEqualRowValues(dummy_result_set.fetchmany(2), [[1], [2]]) self.assertEqualRowValues(dummy_result_set.fetchall(), [[3]]) def test_fetchmany_fetchall_without_initial_results(self): - batch_list_1 = [[[1], [2], [3]]] # This is a list of one batch of rows, each row with 1 col + batch_list_1 = [ + [[1], [2], [3]] + ] # This is a list of one batch of rows, each row with 1 col dummy_result_set = self.make_dummy_result_set_from_batch_list(batch_list_1) self.assertEqualRowValues(dummy_result_set.fetchmany(2), [[1], [2]]) self.assertEqualRowValues(dummy_result_set.fetchall(), [[3]]) @@ -195,7 +239,9 @@ def test_fetchmany_fetchall_without_initial_results(self): def test_fetchone_with_initial_results(self): initial_results_1 = [[1], [2], [3]] - dummy_result_set = self.make_dummy_result_set_from_initial_results(initial_results_1) + dummy_result_set = self.make_dummy_result_set_from_initial_results( + initial_results_1 + ) self.assertSequenceEqual(dummy_result_set.fetchone(), [1]) self.assertSequenceEqual(dummy_result_set.fetchone(), [2]) self.assertSequenceEqual(dummy_result_set.fetchone(), [3]) @@ -214,5 +260,5 @@ def test_fetchone_without_initial_results(self): self.assertEqual(dummy_result_set.fetchone(), None) -if __name__ == '__main__': - unittest.main() \ No newline at end of file +if __name__ == "__main__": + unittest.main() diff --git a/databricks_sql_connector_core/tests/unit/test_fetches_bench.py b/databricks_sql_connector_core/tests/unit/test_fetches_bench.py index 203c8d1d..e15e1789 100644 --- a/databricks_sql_connector_core/tests/unit/test_fetches_bench.py +++ b/databricks_sql_connector_core/tests/unit/test_fetches_bench.py @@ -1,5 +1,6 @@ import unittest from unittest.mock import Mock + try: import pyarrow as pa except ImportError: @@ -38,12 +39,18 @@ def make_dummy_result_set_from_initial_results(arrow_table): description=Mock(), command_handle=None, arrow_queue=arrow_queue, - arrow_schema=arrow_table.schema)) - rs.description = [(f'col{col_id}', 'string', None, None, None, None, None) - for col_id in range(arrow_table.num_columns)] + arrow_schema=arrow_table.schema, + ), + ) + rs.description = [ + (f"col{col_id}", "string", None, None, None, None, None) + for col_id in range(arrow_table.num_columns) + ] return rs - @pytest.mark.skip(reason="Test has not been updated for latest connector API (June 2022)") + @pytest.mark.skip( + reason="Test has not been updated for latest connector API (June 2022)" + ) def test_benchmark_fetchall(self): print("preparing dummy arrow table") arrow_table = FetchBenchmarkTests.make_arrow_table(10, 25000) @@ -53,7 +60,9 @@ def test_benchmark_fetchall(self): start_time = time.time() count = 0 while time.time() < start_time + benchmark_seconds: - dummy_result_set = self.make_dummy_result_set_from_initial_results(arrow_table) + dummy_result_set = self.make_dummy_result_set_from_initial_results( + arrow_table + ) res = dummy_result_set.fetchall() for _ in res: pass @@ -62,5 +71,5 @@ def test_benchmark_fetchall(self): print(f"Executed query {count} times, in {time.time() - start_time} seconds") -if __name__ == '__main__': - unittest.main() \ No newline at end of file +if __name__ == "__main__": + unittest.main() diff --git a/databricks_sql_connector_core/tests/unit/test_oauth_persistence.py b/databricks_sql_connector_core/tests/unit/test_oauth_persistence.py index bcfb8499..1b7f3686 100644 --- a/databricks_sql_connector_core/tests/unit/test_oauth_persistence.py +++ b/databricks_sql_connector_core/tests/unit/test_oauth_persistence.py @@ -1,7 +1,9 @@ - import unittest -from databricks_sql_connector_core.sql.experimental.oauth_persistence import DevOnlyFilePersistence, OAuthToken +from databricks_sql_connector_core.sql.experimental.oauth_persistence import ( + DevOnlyFilePersistence, + OAuthToken, +) import tempfile import os @@ -10,7 +12,7 @@ class OAuthPersistenceTests(unittest.TestCase): def test_DevOnlyFilePersistence_read_my_write(self): with tempfile.TemporaryDirectory() as tempdir: - test_json_file_path = os.path.join(tempdir, 'test.json') + test_json_file_path = os.path.join(tempdir, "test.json") persistence_manager = DevOnlyFilePersistence(test_json_file_path) access_token = "abc#$%%^&^*&*()()_=-/" refresh_token = "#$%%^^&**()+)_gter243]xyz" @@ -23,10 +25,10 @@ def test_DevOnlyFilePersistence_read_my_write(self): def test_DevOnlyFilePersistence_file_does_not_exist(self): with tempfile.TemporaryDirectory() as tempdir: - test_json_file_path = os.path.join(tempdir, 'test.json') + test_json_file_path = os.path.join(tempdir, "test.json") persistence_manager = DevOnlyFilePersistence(test_json_file_path) new_token = persistence_manager.read("https://randomserver") self.assertEqual(new_token, None) - # TODO moderakh add test for file with invalid format (should return None) \ No newline at end of file + # TODO moderakh add test for file with invalid format (should return None) diff --git a/databricks_sql_connector_core/tests/unit/test_param_escaper.py b/databricks_sql_connector_core/tests/unit/test_param_escaper.py index 817c4ea1..22674492 100644 --- a/databricks_sql_connector_core/tests/unit/test_param_escaper.py +++ b/databricks_sql_connector_core/tests/unit/test_param_escaper.py @@ -1,9 +1,16 @@ from datetime import date, datetime import unittest, pytest, decimal from typing import Any, Dict -from databricks_sql_connector_core.sql.parameters.native import dbsql_parameter_from_primitive +from databricks_sql_connector_core.sql.parameters.native import ( + dbsql_parameter_from_primitive, +) -from databricks_sql_connector_core.sql.utils import ParamEscaper, inject_parameters, transform_paramstyle, ParameterStructure +from databricks_sql_connector_core.sql.utils import ( + ParamEscaper, + inject_parameters, + transform_paramstyle, + ParameterStructure, +) pe = ParamEscaper() @@ -42,48 +49,48 @@ def test_escape_string_that_includes_special_characters(self): # Testing for the presence of these characters: '"/\😂 assert ( - pe.escape_string("his name was 'robert palmer'") - == r"'his name was \'robert palmer\''" + pe.escape_string("his name was 'robert palmer'") + == r"'his name was \'robert palmer\''" ) # These tests represent the same user input in the several ways it can be written in Python # Each argument to `escape_string` evaluates to the same bytes. But Python lets us write it differently. assert ( - pe.escape_string('his name was "robert palmer"') - == "'his name was \"robert palmer\"'" + pe.escape_string('his name was "robert palmer"') + == "'his name was \"robert palmer\"'" ) assert ( - pe.escape_string('his name was "robert palmer"') - == "'his name was \"robert palmer\"'" + pe.escape_string('his name was "robert palmer"') + == "'his name was \"robert palmer\"'" ) assert ( - pe.escape_string("his name was {}".format('"robert palmer"')) - == "'his name was \"robert palmer\"'" + pe.escape_string("his name was {}".format('"robert palmer"')) + == "'his name was \"robert palmer\"'" ) assert ( - pe.escape_string("his name was robert / palmer") - == r"'his name was robert / palmer'" + pe.escape_string("his name was robert / palmer") + == r"'his name was robert / palmer'" ) # If you need to include a single backslash, use an r-string to prevent Python from raising a # DeprecationWarning for an invalid escape sequence assert ( - pe.escape_string("his name was robert \\/ palmer") - == r"'his name was robert \\/ palmer'" + pe.escape_string("his name was robert \\/ palmer") + == r"'his name was robert \\/ palmer'" ) assert ( - pe.escape_string("his name was robert \\ palmer") - == r"'his name was robert \\ palmer'" + pe.escape_string("his name was robert \\ palmer") + == r"'his name was robert \\ palmer'" ) assert ( - pe.escape_string("his name was robert \\\\ palmer") - == r"'his name was robert \\\\ palmer'" + pe.escape_string("his name was robert \\\\ palmer") + == r"'his name was robert \\\\ palmer'" ) assert ( - pe.escape_string("his name was robert palmer 😂") - == r"'his name was robert palmer 😂'" + pe.escape_string("his name was robert palmer 😂") + == r"'his name was robert palmer 😂'" ) # Adding the test from PR #56 to prove escape behaviour @@ -122,8 +129,8 @@ def test_escape_sequence_float(self): def test_escape_sequence_string(self): assert ( - pe.escape_sequence(["his", "name", "was", "robert", "palmer"]) - == "('his','name','was','robert','palmer')" + pe.escape_sequence(["his", "name", "was", "robert", "palmer"]) + == "('his','name','was','robert','palmer')" ) def test_escape_sequence_sequence_of_strings(self): @@ -182,44 +189,49 @@ class TestInlineToNativeTransformer(object): @pytest.mark.parametrize( ("label", "query", "params", "expected"), ( - ("no effect", "SELECT 1", {}, "SELECT 1"), - ("one marker", "%(param)s", {"param": ""}, ":param"), - ( - "multiple markers", - "%(foo)s %(bar)s %(baz)s", - {"foo": None, "bar": None, "baz": None}, - ":foo :bar :baz", - ), - ( - "sql query", - "SELECT * FROM table WHERE field = %(param)s AND other_field IN (%(list)s)", - {"param": None, "list": None}, - "SELECT * FROM table WHERE field = :param AND other_field IN (:list)", - ), - ( - "query with like wildcard", - 'select * from table where field like "%"', - {}, - 'select * from table where field like "%"' - ), - ( - "query with named param and like wildcard", - 'select :param from table where field like "%"', - {"param": None}, - 'select :param from table where field like "%"' - ), - ( - "query with doubled wildcards", - 'select 1 where '' like "%%"', - {"param": None}, - 'select 1 where '' like "%%"', - ) + ("no effect", "SELECT 1", {}, "SELECT 1"), + ("one marker", "%(param)s", {"param": ""}, ":param"), + ( + "multiple markers", + "%(foo)s %(bar)s %(baz)s", + {"foo": None, "bar": None, "baz": None}, + ":foo :bar :baz", + ), + ( + "sql query", + "SELECT * FROM table WHERE field = %(param)s AND other_field IN (%(list)s)", + {"param": None, "list": None}, + "SELECT * FROM table WHERE field = :param AND other_field IN (:list)", + ), + ( + "query with like wildcard", + 'select * from table where field like "%"', + {}, + 'select * from table where field like "%"', + ), + ( + "query with named param and like wildcard", + 'select :param from table where field like "%"', + {"param": None}, + 'select :param from table where field like "%"', + ), + ( + "query with doubled wildcards", + "select 1 where " ' like "%%"', + {"param": None}, + "select 1 where " ' like "%%"', + ), ), ) def test_transformer( - self, label: str, query: str, params: Dict[str, Any], expected: str + self, label: str, query: str, params: Dict[str, Any], expected: str ): - _params = [dbsql_parameter_from_primitive(value=value, name=name) for name, value in params.items()] - output = transform_paramstyle(query, _params, param_structure=ParameterStructure.NAMED) - assert output == expected \ No newline at end of file + _params = [ + dbsql_parameter_from_primitive(value=value, name=name) + for name, value in params.items() + ] + output = transform_paramstyle( + query, _params, param_structure=ParameterStructure.NAMED + ) + assert output == expected diff --git a/databricks_sql_connector_core/tests/unit/test_parameters.py b/databricks_sql_connector_core/tests/unit/test_parameters.py index 6b108695..8bd61bbb 100644 --- a/databricks_sql_connector_core/tests/unit/test_parameters.py +++ b/databricks_sql_connector_core/tests/unit/test_parameters.py @@ -40,21 +40,21 @@ class TestSessionHandleChecks(object): "test_input,expected", [ ( - TOpenSessionResp( - serverProtocolVersion=ttypes.TProtocolVersion.SPARK_CLI_SERVICE_PROTOCOL_V7, - sessionHandle=TSessionHandle(1, None), - ), - ttypes.TProtocolVersion.SPARK_CLI_SERVICE_PROTOCOL_V7, + TOpenSessionResp( + serverProtocolVersion=ttypes.TProtocolVersion.SPARK_CLI_SERVICE_PROTOCOL_V7, + sessionHandle=TSessionHandle(1, None), + ), + ttypes.TProtocolVersion.SPARK_CLI_SERVICE_PROTOCOL_V7, ), # Ensure that protocol version inside sessionhandle takes precedence. ( - TOpenSessionResp( - serverProtocolVersion=ttypes.TProtocolVersion.SPARK_CLI_SERVICE_PROTOCOL_V7, - sessionHandle=TSessionHandle( - 1, ttypes.TProtocolVersion.SPARK_CLI_SERVICE_PROTOCOL_V8 - ), + TOpenSessionResp( + serverProtocolVersion=ttypes.TProtocolVersion.SPARK_CLI_SERVICE_PROTOCOL_V7, + sessionHandle=TSessionHandle( + 1, ttypes.TProtocolVersion.SPARK_CLI_SERVICE_PROTOCOL_V8 ), - ttypes.TProtocolVersion.SPARK_CLI_SERVICE_PROTOCOL_V8, + ), + ttypes.TProtocolVersion.SPARK_CLI_SERVICE_PROTOCOL_V8, ), ], ) @@ -65,16 +65,16 @@ def test_get_protocol_version_fallback_behavior(self, test_input, expected): "test_input,expected", [ ( - None, - False, + None, + False, ), ( - ttypes.TProtocolVersion.SPARK_CLI_SERVICE_PROTOCOL_V7, - False, + ttypes.TProtocolVersion.SPARK_CLI_SERVICE_PROTOCOL_V7, + False, ), ( - ttypes.TProtocolVersion.SPARK_CLI_SERVICE_PROTOCOL_V8, - True, + ttypes.TProtocolVersion.SPARK_CLI_SERVICE_PROTOCOL_V8, + True, ), ], ) @@ -85,12 +85,12 @@ def test_parameters_enabled(self, test_input, expected): @pytest.mark.parametrize( "value,expected", ( - (Decimal("10.00"), "DECIMAL(4,2)"), - (Decimal("123456789123456789.123456789123456789"), "DECIMAL(36,18)"), - (Decimal(".12345678912345678912345678912345678912"), "DECIMAL(38,38)"), - (Decimal("123456789.123456789"), "DECIMAL(18,9)"), - (Decimal("12345678912345678912345678912345678912"), "DECIMAL(38,0)"), - (Decimal("1234.56"), "DECIMAL(6,2)"), + (Decimal("10.00"), "DECIMAL(4,2)"), + (Decimal("123456789123456789.123456789123456789"), "DECIMAL(36,18)"), + (Decimal(".12345678912345678912345678912345678912"), "DECIMAL(38,38)"), + (Decimal("123456789.123456789"), "DECIMAL(18,9)"), + (Decimal("12345678912345678912345678912345678912"), "DECIMAL(38,0)"), + (Decimal("1234.56"), "DECIMAL(6,2)"), ), ) def test_calculate_decimal_cast_string(value, expected): @@ -118,23 +118,23 @@ class TestDbsqlParameter: @pytest.mark.parametrize( "_type, prim, expect_cast_expr", ( - (DecimalParameter, Primitive.DECIMAL, "DECIMAL(6,2)"), - (IntegerParameter, Primitive.INT, "INT"), - (StringParameter, Primitive.STRING, "STRING"), - (BigIntegerParameter, Primitive.BIGINT, "BIGINT"), - (BooleanParameter, Primitive.BOOL, "BOOLEAN"), - (DateParameter, Primitive.DATE, "DATE"), - (DoubleParameter, Primitive.DOUBLE, "DOUBLE"), - (FloatParameter, Primitive.FLOAT, "FLOAT"), - (VoidParameter, Primitive.NONE, "VOID"), - (SmallIntParameter, Primitive.INT, "SMALLINT"), - (TimestampParameter, Primitive.TIMESTAMP, "TIMESTAMP"), - (TimestampNTZParameter, Primitive.TIMESTAMP, "TIMESTAMP_NTZ"), - (TinyIntParameter, Primitive.INT, "TINYINT"), + (DecimalParameter, Primitive.DECIMAL, "DECIMAL(6,2)"), + (IntegerParameter, Primitive.INT, "INT"), + (StringParameter, Primitive.STRING, "STRING"), + (BigIntegerParameter, Primitive.BIGINT, "BIGINT"), + (BooleanParameter, Primitive.BOOL, "BOOLEAN"), + (DateParameter, Primitive.DATE, "DATE"), + (DoubleParameter, Primitive.DOUBLE, "DOUBLE"), + (FloatParameter, Primitive.FLOAT, "FLOAT"), + (VoidParameter, Primitive.NONE, "VOID"), + (SmallIntParameter, Primitive.INT, "SMALLINT"), + (TimestampParameter, Primitive.TIMESTAMP, "TIMESTAMP"), + (TimestampNTZParameter, Primitive.TIMESTAMP, "TIMESTAMP_NTZ"), + (TinyIntParameter, Primitive.INT, "TINYINT"), ), ) def test_cast_expression( - self, _type: TDbsqlParameter, prim: Primitive, expect_cast_expr: str + self, _type: TDbsqlParameter, prim: Primitive, expect_cast_expr: str ): p = _type(prim.value) assert p._cast_expr() == expect_cast_expr @@ -142,19 +142,19 @@ def test_cast_expression( @pytest.mark.parametrize( "t, prim", ( - (DecimalParameter, Primitive.DECIMAL), - (IntegerParameter, Primitive.INT), - (StringParameter, Primitive.STRING), - (BigIntegerParameter, Primitive.BIGINT), - (BooleanParameter, Primitive.BOOL), - (DateParameter, Primitive.DATE), - (DoubleParameter, Primitive.DOUBLE), - (FloatParameter, Primitive.FLOAT), - (VoidParameter, Primitive.NONE), - (SmallIntParameter, Primitive.INT), - (TimestampParameter, Primitive.TIMESTAMP), - (TimestampNTZParameter, Primitive.TIMESTAMP), - (TinyIntParameter, Primitive.INT), + (DecimalParameter, Primitive.DECIMAL), + (IntegerParameter, Primitive.INT), + (StringParameter, Primitive.STRING), + (BigIntegerParameter, Primitive.BIGINT), + (BooleanParameter, Primitive.BOOL), + (DateParameter, Primitive.DATE), + (DoubleParameter, Primitive.DOUBLE), + (FloatParameter, Primitive.FLOAT), + (VoidParameter, Primitive.NONE), + (SmallIntParameter, Primitive.INT), + (TimestampParameter, Primitive.TIMESTAMP), + (TimestampNTZParameter, Primitive.TIMESTAMP), + (TinyIntParameter, Primitive.INT), ), ) def test_tspark_param_value(self, t: TDbsqlParameter, prim): @@ -183,15 +183,15 @@ def test_tspark_param_ordinal(self): @pytest.mark.parametrize( "_type, prim", ( - (DecimalParameter, Primitive.DECIMAL), - (IntegerParameter, Primitive.INT), - (StringParameter, Primitive.STRING), - (BigIntegerParameter, Primitive.BIGINT), - (BooleanParameter, Primitive.BOOL), - (DateParameter, Primitive.DATE), - (FloatParameter, Primitive.FLOAT), - (VoidParameter, Primitive.NONE), - (TimestampParameter, Primitive.TIMESTAMP), + (DecimalParameter, Primitive.DECIMAL), + (IntegerParameter, Primitive.INT), + (StringParameter, Primitive.STRING), + (BigIntegerParameter, Primitive.BIGINT), + (BooleanParameter, Primitive.BOOL), + (DateParameter, Primitive.DATE), + (FloatParameter, Primitive.FLOAT), + (VoidParameter, Primitive.NONE), + (TimestampParameter, Primitive.TIMESTAMP), ), ) def test_inference(self, _type: TDbsqlParameter, prim: Primitive): @@ -201,4 +201,4 @@ def test_inference(self, _type: TDbsqlParameter, prim: Primitive): """ inferred_type = dbsql_parameter_from_primitive(prim.value) - assert isinstance(inferred_type, _type) \ No newline at end of file + assert isinstance(inferred_type, _type) diff --git a/databricks_sql_connector_core/tests/unit/test_retry.py b/databricks_sql_connector_core/tests/unit/test_retry.py index b80c2270..3d106481 100644 --- a/databricks_sql_connector_core/tests/unit/test_retry.py +++ b/databricks_sql_connector_core/tests/unit/test_retry.py @@ -4,7 +4,10 @@ import pytest from requests import Request from urllib3 import HTTPResponse -from databricks_sql_connector_core.sql.auth.retry import DatabricksRetryPolicy, RequestHistory +from databricks_sql_connector_core.sql.auth.retry import ( + DatabricksRetryPolicy, + RequestHistory, +) class TestRetry: @@ -41,7 +44,9 @@ def test_sleep__retry_after_is_binding(self, t_mock, retry_policy, error_history t_mock.assert_called_with(3) @patch("time.sleep") - def test_sleep__retry_after_present_but_not_binding(self, t_mock, retry_policy, error_history): + def test_sleep__retry_after_present_but_not_binding( + self, t_mock, retry_policy, error_history + ): retry_policy._retry_start_time = time.time() retry_policy.history = [error_history, error_history] retry_policy.sleep(HTTPResponse(status=503, headers={"Retry-After": "1"})) @@ -52,4 +57,4 @@ def test_sleep__retry_after_surpassed(self, t_mock, retry_policy, error_history) retry_policy._retry_start_time = time.time() retry_policy.history = [error_history, error_history, error_history] retry_policy.sleep(HTTPResponse(status=503, headers={"Retry-After": "3"})) - t_mock.assert_called_with(4) \ No newline at end of file + t_mock.assert_called_with(4) diff --git a/databricks_sql_connector_core/tests/unit/test_thrift_backend.py b/databricks_sql_connector_core/tests/unit/test_thrift_backend.py index 2d7b7ae2..bbcff3f2 100644 --- a/databricks_sql_connector_core/tests/unit/test_thrift_backend.py +++ b/databricks_sql_connector_core/tests/unit/test_thrift_backend.py @@ -72,7 +72,9 @@ def test_make_request_checks_thrift_status_code(self): mock_method = Mock() mock_method.__name__ = "method name" mock_method.return_value = mock_response - thrift_backend = ThriftBackend("foobar", 443, "path", [], auth_provider=AuthProvider()) + thrift_backend = ThriftBackend( + "foobar", 443, "path", [], auth_provider=AuthProvider() + ) with self.assertRaises(DatabaseError): thrift_backend.make_request(mock_method, Mock()) @@ -82,7 +84,9 @@ def _make_type_desc(self, type): ) def _make_fake_thrift_backend(self): - thrift_backend = ThriftBackend("foobar", 443, "path", [], auth_provider=AuthProvider()) + thrift_backend = ThriftBackend( + "foobar", 443, "path", [], auth_provider=AuthProvider() + ) thrift_backend._hive_schema_to_arrow_schema = Mock() thrift_backend._hive_schema_to_description = Mock() thrift_backend._create_arrow_table = MagicMock() @@ -92,13 +96,16 @@ def _make_fake_thrift_backend(self): def test_hive_schema_to_arrow_schema_preserves_column_names(self): columns = [ ttypes.TColumnDesc( - columnName="column 1", typeDesc=self._make_type_desc(ttypes.TTypeId.INT_TYPE) + columnName="column 1", + typeDesc=self._make_type_desc(ttypes.TTypeId.INT_TYPE), ), ttypes.TColumnDesc( - columnName="column 2", typeDesc=self._make_type_desc(ttypes.TTypeId.INT_TYPE) + columnName="column 2", + typeDesc=self._make_type_desc(ttypes.TTypeId.INT_TYPE), ), ttypes.TColumnDesc( - columnName="column 2", typeDesc=self._make_type_desc(ttypes.TTypeId.INT_TYPE) + columnName="column 2", + typeDesc=self._make_type_desc(ttypes.TTypeId.INT_TYPE), ), ttypes.TColumnDesc( columnName="", typeDesc=self._make_type_desc(ttypes.TTypeId.INT_TYPE) @@ -113,7 +120,10 @@ def test_hive_schema_to_arrow_schema_preserves_column_names(self): self.assertEqual(arrow_schema.field(2).name, "column 2") self.assertEqual(arrow_schema.field(3).name, "") - @patch("databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", autospec=True) + @patch( + "databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", + autospec=True, + ) def test_bad_protocol_versions_are_rejected(self, tcli_service_client_cass): t_http_client_instance = tcli_service_client_cass.return_value bad_protocol_versions = [ @@ -139,9 +149,14 @@ def test_bad_protocol_versions_are_rejected(self, tcli_service_client_cass): thrift_backend = self._make_fake_thrift_backend() thrift_backend.open_session({}, None, None) - self.assertIn("expected server to use a protocol version", str(cm.exception)) + self.assertIn( + "expected server to use a protocol version", str(cm.exception) + ) - @patch("databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", autospec=True) + @patch( + "databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", + autospec=True, + ) def test_okay_protocol_versions_succeed(self, tcli_service_client_cass): t_http_client_instance = tcli_service_client_cass.return_value good_protocol_versions = [ @@ -160,12 +175,18 @@ def test_okay_protocol_versions_succeed(self, tcli_service_client_cass): @patch("databricks_sql_connector_core.sql.auth.thrift_http_client.THttpClient") def test_headers_are_set(self, t_http_client_class): - ThriftBackend("foo", 123, "bar", [("header", "value")], auth_provider=AuthProvider()) - t_http_client_class.return_value.setCustomHeaders.assert_called_with({"header": "value"}) + ThriftBackend( + "foo", 123, "bar", [("header", "value")], auth_provider=AuthProvider() + ) + t_http_client_class.return_value.setCustomHeaders.assert_called_with( + {"header": "value"} + ) def test_proxy_headers_are_set(self): - from databricks_sql_connector_core.sql.auth.thrift_http_client import THttpClient + from databricks_sql_connector_core.sql.auth.thrift_http_client import ( + THttpClient, + ) from urllib.parse import urlparse fake_proxy_spec = "https://someuser:somepassword@8.8.8.8:12340" @@ -177,11 +198,13 @@ def test_proxy_headers_are_set(self): assert False assert isinstance(result, type(dict())) - assert isinstance(result.get('proxy-authorization'), type(str())) + assert isinstance(result.get("proxy-authorization"), type(str())) @patch("databricks_sql_connector_core.sql.auth.thrift_http_client.THttpClient") @patch("databricks_sql_connector_core.sql.thrift_backend.create_default_context") - def test_tls_cert_args_are_propagated(self, mock_create_default_context, t_http_client_class): + def test_tls_cert_args_are_propagated( + self, mock_create_default_context, t_http_client_class + ): mock_cert_key_file = Mock() mock_cert_key_password = Mock() mock_trusted_ca_file = Mock() @@ -202,84 +225,132 @@ def test_tls_cert_args_are_propagated(self, mock_create_default_context, t_http_ mock_create_default_context.assert_called_once_with(cafile=mock_trusted_ca_file) mock_ssl_context = mock_create_default_context.return_value mock_ssl_context.load_cert_chain.assert_called_once_with( - certfile=mock_cert_file, keyfile=mock_cert_key_file, password=mock_cert_key_password + certfile=mock_cert_file, + keyfile=mock_cert_key_file, + password=mock_cert_key_password, ) self.assertTrue(mock_ssl_context.check_hostname) self.assertEqual(mock_ssl_context.verify_mode, CERT_REQUIRED) - self.assertEqual(t_http_client_class.call_args[1]["ssl_context"], mock_ssl_context) + self.assertEqual( + t_http_client_class.call_args[1]["ssl_context"], mock_ssl_context + ) @patch("databricks_sql_connector_core.sql.auth.thrift_http_client.THttpClient") @patch("databricks_sql_connector_core.sql.thrift_backend.create_default_context") - def test_tls_no_verify_is_respected(self, mock_create_default_context, t_http_client_class): - ThriftBackend("foo", 123, "bar", [], auth_provider=AuthProvider(), _tls_no_verify=True) + def test_tls_no_verify_is_respected( + self, mock_create_default_context, t_http_client_class + ): + ThriftBackend( + "foo", 123, "bar", [], auth_provider=AuthProvider(), _tls_no_verify=True + ) mock_ssl_context = mock_create_default_context.return_value self.assertFalse(mock_ssl_context.check_hostname) self.assertEqual(mock_ssl_context.verify_mode, CERT_NONE) - self.assertEqual(t_http_client_class.call_args[1]["ssl_context"], mock_ssl_context) + self.assertEqual( + t_http_client_class.call_args[1]["ssl_context"], mock_ssl_context + ) @patch("databricks_sql_connector_core.sql.auth.thrift_http_client.THttpClient") @patch("databricks_sql_connector_core.sql.thrift_backend.create_default_context") def test_tls_verify_hostname_is_respected( - self, mock_create_default_context, t_http_client_class + self, mock_create_default_context, t_http_client_class ): ThriftBackend( - "foo", 123, "bar", [], auth_provider=AuthProvider(), _tls_verify_hostname=False + "foo", + 123, + "bar", + [], + auth_provider=AuthProvider(), + _tls_verify_hostname=False, ) mock_ssl_context = mock_create_default_context.return_value self.assertFalse(mock_ssl_context.check_hostname) self.assertEqual(mock_ssl_context.verify_mode, CERT_REQUIRED) - self.assertEqual(t_http_client_class.call_args[1]["ssl_context"], mock_ssl_context) + self.assertEqual( + t_http_client_class.call_args[1]["ssl_context"], mock_ssl_context + ) @patch("databricks_sql_connector_core.sql.auth.thrift_http_client.THttpClient") def test_port_and_host_are_respected(self, t_http_client_class): ThriftBackend("hostname", 123, "path_value", [], auth_provider=AuthProvider()) self.assertEqual( - t_http_client_class.call_args[1]["uri_or_host"], "https://hostname:123/path_value" + t_http_client_class.call_args[1]["uri_or_host"], + "https://hostname:123/path_value", ) @patch("databricks_sql_connector_core.sql.auth.thrift_http_client.THttpClient") def test_host_with_https_does_not_duplicate(self, t_http_client_class): - ThriftBackend("https://hostname", 123, "path_value", [], auth_provider=AuthProvider()) + ThriftBackend( + "https://hostname", 123, "path_value", [], auth_provider=AuthProvider() + ) self.assertEqual( - t_http_client_class.call_args[1]["uri_or_host"], "https://hostname:123/path_value" + t_http_client_class.call_args[1]["uri_or_host"], + "https://hostname:123/path_value", ) @patch("databricks_sql_connector_core.sql.auth.thrift_http_client.THttpClient") def test_host_with_trailing_backslash_does_not_duplicate(self, t_http_client_class): - ThriftBackend("https://hostname/", 123, "path_value", [], auth_provider=AuthProvider()) + ThriftBackend( + "https://hostname/", 123, "path_value", [], auth_provider=AuthProvider() + ) self.assertEqual( - t_http_client_class.call_args[1]["uri_or_host"], "https://hostname:123/path_value" + t_http_client_class.call_args[1]["uri_or_host"], + "https://hostname:123/path_value", ) @patch("databricks_sql_connector_core.sql.auth.thrift_http_client.THttpClient") def test_socket_timeout_is_propagated(self, t_http_client_class): ThriftBackend( - "hostname", 123, "path_value", [], auth_provider=AuthProvider(), _socket_timeout=129 + "hostname", + 123, + "path_value", + [], + auth_provider=AuthProvider(), + _socket_timeout=129, + ) + self.assertEqual( + t_http_client_class.return_value.setTimeout.call_args[0][0], 129 * 1000 ) - self.assertEqual(t_http_client_class.return_value.setTimeout.call_args[0][0], 129 * 1000) ThriftBackend( - "hostname", 123, "path_value", [], auth_provider=AuthProvider(), _socket_timeout=0 + "hostname", + 123, + "path_value", + [], + auth_provider=AuthProvider(), + _socket_timeout=0, ) self.assertEqual(t_http_client_class.return_value.setTimeout.call_args[0][0], 0) ThriftBackend("hostname", 123, "path_value", [], auth_provider=AuthProvider()) - self.assertEqual(t_http_client_class.return_value.setTimeout.call_args[0][0], 900 * 1000) + self.assertEqual( + t_http_client_class.return_value.setTimeout.call_args[0][0], 900 * 1000 + ) ThriftBackend( - "hostname", 123, "path_value", [], auth_provider=AuthProvider(), _socket_timeout=None + "hostname", + 123, + "path_value", + [], + auth_provider=AuthProvider(), + _socket_timeout=None, + ) + self.assertEqual( + t_http_client_class.return_value.setTimeout.call_args[0][0], None ) - self.assertEqual(t_http_client_class.return_value.setTimeout.call_args[0][0], None) def test_non_primitive_types_raise_error(self): columns = [ ttypes.TColumnDesc( - columnName="column 1", typeDesc=self._make_type_desc(ttypes.TTypeId.INT_TYPE) + columnName="column 1", + typeDesc=self._make_type_desc(ttypes.TTypeId.INT_TYPE), ), ttypes.TColumnDesc( columnName="column 2", typeDesc=ttypes.TTypeDesc( types=[ - ttypes.TTypeEntry(userDefinedTypeEntry=ttypes.TUserDefinedTypeEntry("foo")) + ttypes.TTypeEntry( + userDefinedTypeEntry=ttypes.TUserDefinedTypeEntry("foo") + ) ] ), ), @@ -296,13 +367,16 @@ def test_hive_schema_to_description_preserves_column_names_and_types(self): # canary test columns = [ ttypes.TColumnDesc( - columnName="column 1", typeDesc=self._make_type_desc(ttypes.TTypeId.INT_TYPE) + columnName="column 1", + typeDesc=self._make_type_desc(ttypes.TTypeId.INT_TYPE), ), ttypes.TColumnDesc( - columnName="column 2", typeDesc=self._make_type_desc(ttypes.TTypeId.BOOLEAN_TYPE) + columnName="column 2", + typeDesc=self._make_type_desc(ttypes.TTypeId.BOOLEAN_TYPE), ), ttypes.TColumnDesc( - columnName="column 2", typeDesc=self._make_type_desc(ttypes.TTypeId.MAP_TYPE) + columnName="column 2", + typeDesc=self._make_type_desc(ttypes.TTypeId.MAP_TYPE), ), ttypes.TColumnDesc( columnName="", typeDesc=self._make_type_desc(ttypes.TTypeId.STRUCT_TYPE) @@ -333,8 +407,12 @@ def test_hive_schema_to_description_preserves_scale_and_precision(self): type=ttypes.TTypeId.DECIMAL_TYPE, typeQualifiers=ttypes.TTypeQualifiers( qualifiers={ - "precision": ttypes.TTypeQualifierValue(i32Value=10), - "scale": ttypes.TTypeQualifierValue(i32Value=100), + "precision": ttypes.TTypeQualifierValue( + i32Value=10 + ), + "scale": ttypes.TTypeQualifierValue( + i32Value=100 + ), } ), ) @@ -354,8 +432,13 @@ def test_hive_schema_to_description_preserves_scale_and_precision(self): ) def test_make_request_checks_status_code(self): - error_codes = [ttypes.TStatusCode.ERROR_STATUS, ttypes.TStatusCode.INVALID_HANDLE_STATUS] - thrift_backend = ThriftBackend("foobar", 443, "path", [], auth_provider=AuthProvider()) + error_codes = [ + ttypes.TStatusCode.ERROR_STATUS, + ttypes.TStatusCode.INVALID_HANDLE_STATUS, + ] + thrift_backend = ThriftBackend( + "foobar", 443, "path", [], auth_provider=AuthProvider() + ) for code in error_codes: mock_error_response = Mock() @@ -400,8 +483,13 @@ def test_handle_execute_response_checks_operation_state_in_direct_results(self): thrift_backend._handle_execute_response(t_execute_resp, Mock()) self.assertIn("some information about the error", str(cm.exception)) - @patch("databricks_sql_connector_core.sql.utils.ResultSetQueueFactory.build_queue", return_value=Mock()) - def test_handle_execute_response_sets_compression_in_direct_results(self, build_queue): + @patch( + "databricks_sql_connector_core.sql.utils.ResultSetQueueFactory.build_queue", + return_value=Mock(), + ) + def test_handle_execute_response_sets_compression_in_direct_results( + self, build_queue + ): for resp_type in self.execute_response_types: lz4Compressed = Mock() resultSet = MagicMock() @@ -422,13 +510,22 @@ def test_handle_execute_response_sets_compression_in_direct_results(self, build_ closeOperation=None, ), ) - thrift_backend = ThriftBackend("foobar", 443, "path", [], auth_provider=AuthProvider()) + thrift_backend = ThriftBackend( + "foobar", 443, "path", [], auth_provider=AuthProvider() + ) - execute_response = thrift_backend._handle_execute_response(t_execute_resp, Mock()) + execute_response = thrift_backend._handle_execute_response( + t_execute_resp, Mock() + ) self.assertEqual(execute_response.lz4_compressed, lz4Compressed) - @patch("databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", autospec=True) - def test_handle_execute_response_checks_operation_state_in_polls(self, tcli_service_class): + @patch( + "databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", + autospec=True, + ) + def test_handle_execute_response_checks_operation_state_in_polls( + self, tcli_service_class + ): tcli_service_instance = tcli_service_class.return_value error_resp = ttypes.TGetOperationStatusResp( @@ -442,9 +539,11 @@ def test_handle_execute_response_checks_operation_state_in_polls(self, tcli_serv ) for op_state_resp, exec_resp_type in itertools.product( - [error_resp, closed_resp], self.execute_response_types + [error_resp, closed_resp], self.execute_response_types ): - with self.subTest(op_state_resp=op_state_resp, exec_resp_type=exec_resp_type): + with self.subTest( + op_state_resp=op_state_resp, exec_resp_type=exec_resp_type + ): tcli_service_instance = tcli_service_class.return_value t_execute_resp = exec_resp_type( status=self.okay_status, @@ -462,7 +561,10 @@ def test_handle_execute_response_checks_operation_state_in_polls(self, tcli_serv if op_state_resp.errorMessage: self.assertIn(op_state_resp.errorMessage, str(cm.exception)) - @patch("databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", autospec=True) + @patch( + "databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", + autospec=True, + ) def test_get_status_uses_display_message_if_available(self, tcli_service_class): tcli_service_instance = tcli_service_class.return_value @@ -477,19 +579,28 @@ def test_get_status_uses_display_message_if_available(self, tcli_service_class): ) t_execute_resp = ttypes.TExecuteStatementResp( - status=self.okay_status, directResults=None, operationHandle=self.operation_handle + status=self.okay_status, + directResults=None, + operationHandle=self.operation_handle, + ) + tcli_service_instance.GetOperationStatus.return_value = ( + t_get_operation_status_resp ) - tcli_service_instance.GetOperationStatus.return_value = t_get_operation_status_resp tcli_service_instance.ExecuteStatement.return_value = t_execute_resp - thrift_backend = ThriftBackend("foobar", 443, "path", [], auth_provider=AuthProvider()) + thrift_backend = ThriftBackend( + "foobar", 443, "path", [], auth_provider=AuthProvider() + ) with self.assertRaises(DatabaseError) as cm: thrift_backend.execute_command(Mock(), Mock(), 100, 100, Mock(), Mock()) self.assertEqual(display_message, str(cm.exception)) self.assertIn(diagnostic_info, str(cm.exception.message_with_context())) - @patch("databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", autospec=True) + @patch( + "databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", + autospec=True, + ) def test_direct_results_uses_display_message_if_available(self, tcli_service_class): tcli_service_instance = tcli_service_class.return_value @@ -515,7 +626,9 @@ def test_direct_results_uses_display_message_if_available(self, tcli_service_cla tcli_service_instance.ExecuteStatement.return_value = t_execute_resp - thrift_backend = ThriftBackend("foobar", 443, "path", [], auth_provider=AuthProvider()) + thrift_backend = ThriftBackend( + "foobar", 443, "path", [], auth_provider=AuthProvider() + ) with self.assertRaises(DatabaseError) as cm: thrift_backend.execute_command(Mock(), Mock(), 100, 100, Mock(), Mock()) @@ -527,7 +640,9 @@ def test_handle_execute_response_checks_direct_results_for_error_statuses(self): resp_1 = resp_type( status=self.okay_status, directResults=ttypes.TSparkDirectResults( - operationStatus=ttypes.TGetOperationStatusResp(status=self.bad_status), + operationStatus=ttypes.TGetOperationStatusResp( + status=self.bad_status + ), resultSetMetadata=None, resultSet=None, closeOperation=None, @@ -538,7 +653,9 @@ def test_handle_execute_response_checks_direct_results_for_error_statuses(self): status=self.okay_status, directResults=ttypes.TSparkDirectResults( operationStatus=None, - resultSetMetadata=ttypes.TGetResultSetMetadataResp(status=self.bad_status), + resultSetMetadata=ttypes.TGetResultSetMetadataResp( + status=self.bad_status + ), resultSet=None, closeOperation=None, ), @@ -574,8 +691,13 @@ def test_handle_execute_response_checks_direct_results_for_error_statuses(self): thrift_backend._handle_execute_response(error_resp, Mock()) self.assertIn("this is a bad error", str(cm.exception)) - @patch("databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", autospec=True) - def test_handle_execute_response_can_handle_without_direct_results(self, tcli_service_class): + @patch( + "databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", + autospec=True, + ) + def test_handle_execute_response_can_handle_without_direct_results( + self, tcli_service_class + ): tcli_service_instance = tcli_service_class.return_value for resp_type in self.execute_response_types: @@ -598,10 +720,13 @@ def test_handle_execute_response_can_handle_without_direct_results(self, tcli_se ) op_state_3 = ttypes.TGetOperationStatusResp( - status=self.okay_status, operationState=ttypes.TOperationState.FINISHED_STATE + status=self.okay_status, + operationState=ttypes.TOperationState.FINISHED_STATE, ) - tcli_service_instance.GetResultSetMetadata.return_value = self.metadata_resp + tcli_service_instance.GetResultSetMetadata.return_value = ( + self.metadata_resp + ) tcli_service_instance.GetOperationStatus.side_effect = [ op_state_1, op_state_2, @@ -614,7 +739,8 @@ def test_handle_execute_response_can_handle_without_direct_results(self, tcli_se execute_resp, Mock() ) self.assertEqual( - results_message_response.status, ttypes.TOperationState.FINISHED_STATE + results_message_response.status, + ttypes.TOperationState.FINISHED_STATE, ) def test_handle_execute_response_can_handle_with_direct_results(self): @@ -650,7 +776,10 @@ def test_handle_execute_response_can_handle_with_direct_results(self): ttypes.TOperationState.FINISHED_STATE, ) - @patch("databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", autospec=True) + @patch( + "databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", + autospec=True, + ) def test_use_arrow_schema_if_available(self, tcli_service_class): tcli_service_instance = tcli_service_class.return_value arrow_schema_mock = MagicMock(name="Arrow schema mock") @@ -669,13 +798,20 @@ def test_use_arrow_schema_if_available(self, tcli_service_class): operationHandle=self.operation_handle, ) - tcli_service_instance.GetResultSetMetadata.return_value = t_get_result_set_metadata_resp + tcli_service_instance.GetResultSetMetadata.return_value = ( + t_get_result_set_metadata_resp + ) thrift_backend = self._make_fake_thrift_backend() - execute_response = thrift_backend._handle_execute_response(t_execute_resp, Mock()) + execute_response = thrift_backend._handle_execute_response( + t_execute_resp, Mock() + ) self.assertEqual(execute_response.arrow_schema_bytes, arrow_schema_mock) - @patch("databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", autospec=True) + @patch( + "databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", + autospec=True, + ) def test_fall_back_to_hive_schema_if_no_arrow_schema(self, tcli_service_class): tcli_service_instance = tcli_service_class.return_value hive_schema_mock = MagicMock(name="Hive schema mock") @@ -698,16 +834,23 @@ def test_fall_back_to_hive_schema_if_no_arrow_schema(self, tcli_service_class): thrift_backend._handle_execute_response(t_execute_resp, Mock()) self.assertEqual( - hive_schema_mock, thrift_backend._hive_schema_to_arrow_schema.call_args[0][0] + hive_schema_mock, + thrift_backend._hive_schema_to_arrow_schema.call_args[0][0], ) - @patch("databricks_sql_connector_core.sql.utils.ResultSetQueueFactory.build_queue", return_value=Mock()) - @patch("databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", autospec=True) + @patch( + "databricks_sql_connector_core.sql.utils.ResultSetQueueFactory.build_queue", + return_value=Mock(), + ) + @patch( + "databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", + autospec=True, + ) def test_handle_execute_response_reads_has_more_rows_in_direct_results( - self, tcli_service_class, build_queue + self, tcli_service_class, build_queue ): for has_more_rows, resp_type in itertools.product( - [True, False], self.execute_response_types + [True, False], self.execute_response_types ): with self.subTest(has_more_rows=has_more_rows, resp_type=resp_type): tcli_service_instance = tcli_service_class.return_value @@ -732,20 +875,30 @@ def test_handle_execute_response_reads_has_more_rows_in_direct_results( operationHandle=self.operation_handle, ) - tcli_service_instance.GetResultSetMetadata.return_value = self.metadata_resp + tcli_service_instance.GetResultSetMetadata.return_value = ( + self.metadata_resp + ) thrift_backend = self._make_fake_thrift_backend() - execute_response = thrift_backend._handle_execute_response(execute_resp, Mock()) + execute_response = thrift_backend._handle_execute_response( + execute_resp, Mock() + ) self.assertEqual(has_more_rows, execute_response.has_more_rows) - @patch("databricks_sql_connector_core.sql.utils.ResultSetQueueFactory.build_queue", return_value=Mock()) - @patch("databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", autospec=True) + @patch( + "databricks_sql_connector_core.sql.utils.ResultSetQueueFactory.build_queue", + return_value=Mock(), + ) + @patch( + "databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", + autospec=True, + ) def test_handle_execute_response_reads_has_more_rows_in_result_response( - self, tcli_service_class, build_queue + self, tcli_service_class, build_queue ): for has_more_rows, resp_type in itertools.product( - [True, False], self.execute_response_types + [True, False], self.execute_response_types ): with self.subTest(has_more_rows=has_more_rows, resp_type=resp_type): tcli_service_instance = tcli_service_class.return_value @@ -774,8 +927,12 @@ def test_handle_execute_response_reads_has_more_rows_in_result_response( ) tcli_service_instance.FetchResults.return_value = fetch_results_resp - tcli_service_instance.GetOperationStatus.return_value = operation_status_resp - tcli_service_instance.GetResultSetMetadata.return_value = self.metadata_resp + tcli_service_instance.GetOperationStatus.return_value = ( + operation_status_resp + ) + tcli_service_instance.GetResultSetMetadata.return_value = ( + self.metadata_resp + ) thrift_backend = self._make_fake_thrift_backend() thrift_backend._handle_execute_response(execute_resp, Mock()) @@ -791,7 +948,10 @@ def test_handle_execute_response_reads_has_more_rows_in_result_response( self.assertEqual(has_more_rows, has_more_rows_resp) - @patch("databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", autospec=True) + @patch( + "databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", + autospec=True, + ) def test_arrow_batches_row_count_are_respected(self, tcli_service_class): # make some semi-real arrow batches and check the number of rows is correct in the queue tcli_service_instance = tcli_service_class.return_value @@ -802,7 +962,8 @@ def test_arrow_batches_row_count_are_respected(self, tcli_service_class): startRowOffset=0, rows=[], arrowBatches=[ - ttypes.TSparkArrowBatch(batch=bytearray(), rowCount=15) for _ in range(10) + ttypes.TSparkArrowBatch(batch=bytearray(), rowCount=15) + for _ in range(10) ], ), resultSetMetadata=ttypes.TGetResultSetMetadataResp( @@ -823,7 +984,9 @@ def test_arrow_batches_row_count_are_respected(self, tcli_service_class): .to_pybytes() ) - thrift_backend = ThriftBackend("foobar", 443, "path", [], auth_provider=AuthProvider()) + thrift_backend = ThriftBackend( + "foobar", 443, "path", [], auth_provider=AuthProvider() + ) arrow_queue, has_more_results = thrift_backend.fetch_results( op_handle=Mock(), max_rows=1, @@ -836,12 +999,19 @@ def test_arrow_batches_row_count_are_respected(self, tcli_service_class): self.assertEqual(arrow_queue.n_valid_rows, 15 * 10) - @patch("databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", autospec=True) - def test_execute_statement_calls_client_and_handle_execute_response(self, tcli_service_class): + @patch( + "databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", + autospec=True, + ) + def test_execute_statement_calls_client_and_handle_execute_response( + self, tcli_service_class + ): tcli_service_instance = tcli_service_class.return_value response = Mock() tcli_service_instance.ExecuteStatement.return_value = response - thrift_backend = ThriftBackend("foobar", 443, "path", [], auth_provider=AuthProvider()) + thrift_backend = ThriftBackend( + "foobar", 443, "path", [], auth_provider=AuthProvider() + ) thrift_backend._handle_execute_response = Mock() cursor_mock = Mock() @@ -852,14 +1022,23 @@ def test_execute_statement_calls_client_and_handle_execute_response(self, tcli_s self.assertEqual(req.getDirectResults, get_direct_results) self.assertEqual(req.statement, "foo") # Check response handling - thrift_backend._handle_execute_response.assert_called_with(response, cursor_mock) + thrift_backend._handle_execute_response.assert_called_with( + response, cursor_mock + ) - @patch("databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", autospec=True) - def test_get_catalogs_calls_client_and_handle_execute_response(self, tcli_service_class): + @patch( + "databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", + autospec=True, + ) + def test_get_catalogs_calls_client_and_handle_execute_response( + self, tcli_service_class + ): tcli_service_instance = tcli_service_class.return_value response = Mock() tcli_service_instance.GetCatalogs.return_value = response - thrift_backend = ThriftBackend("foobar", 443, "path", [], auth_provider=AuthProvider()) + thrift_backend = ThriftBackend( + "foobar", 443, "path", [], auth_provider=AuthProvider() + ) thrift_backend._handle_execute_response = Mock() cursor_mock = Mock() @@ -869,14 +1048,23 @@ def test_get_catalogs_calls_client_and_handle_execute_response(self, tcli_servic get_direct_results = ttypes.TSparkGetDirectResults(maxRows=100, maxBytes=200) self.assertEqual(req.getDirectResults, get_direct_results) # Check response handling - thrift_backend._handle_execute_response.assert_called_with(response, cursor_mock) + thrift_backend._handle_execute_response.assert_called_with( + response, cursor_mock + ) - @patch("databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", autospec=True) - def test_get_schemas_calls_client_and_handle_execute_response(self, tcli_service_class): + @patch( + "databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", + autospec=True, + ) + def test_get_schemas_calls_client_and_handle_execute_response( + self, tcli_service_class + ): tcli_service_instance = tcli_service_class.return_value response = Mock() tcli_service_instance.GetSchemas.return_value = response - thrift_backend = ThriftBackend("foobar", 443, "path", [], auth_provider=AuthProvider()) + thrift_backend = ThriftBackend( + "foobar", 443, "path", [], auth_provider=AuthProvider() + ) thrift_backend._handle_execute_response = Mock() cursor_mock = Mock() @@ -895,14 +1083,23 @@ def test_get_schemas_calls_client_and_handle_execute_response(self, tcli_service self.assertEqual(req.catalogName, "catalog_pattern") self.assertEqual(req.schemaName, "schema_pattern") # Check response handling - thrift_backend._handle_execute_response.assert_called_with(response, cursor_mock) + thrift_backend._handle_execute_response.assert_called_with( + response, cursor_mock + ) - @patch("databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", autospec=True) - def test_get_tables_calls_client_and_handle_execute_response(self, tcli_service_class): + @patch( + "databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", + autospec=True, + ) + def test_get_tables_calls_client_and_handle_execute_response( + self, tcli_service_class + ): tcli_service_instance = tcli_service_class.return_value response = Mock() tcli_service_instance.GetTables.return_value = response - thrift_backend = ThriftBackend("foobar", 443, "path", [], auth_provider=AuthProvider()) + thrift_backend = ThriftBackend( + "foobar", 443, "path", [], auth_provider=AuthProvider() + ) thrift_backend._handle_execute_response = Mock() cursor_mock = Mock() @@ -925,14 +1122,23 @@ def test_get_tables_calls_client_and_handle_execute_response(self, tcli_service_ self.assertEqual(req.tableName, "table_pattern") self.assertEqual(req.tableTypes, ["type1", "type2"]) # Check response handling - thrift_backend._handle_execute_response.assert_called_with(response, cursor_mock) + thrift_backend._handle_execute_response.assert_called_with( + response, cursor_mock + ) - @patch("databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", autospec=True) - def test_get_columns_calls_client_and_handle_execute_response(self, tcli_service_class): + @patch( + "databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", + autospec=True, + ) + def test_get_columns_calls_client_and_handle_execute_response( + self, tcli_service_class + ): tcli_service_instance = tcli_service_class.return_value response = Mock() tcli_service_instance.GetColumns.return_value = response - thrift_backend = ThriftBackend("foobar", 443, "path", [], auth_provider=AuthProvider()) + thrift_backend = ThriftBackend( + "foobar", 443, "path", [], auth_provider=AuthProvider() + ) thrift_backend._handle_execute_response = Mock() cursor_mock = Mock() @@ -955,44 +1161,69 @@ def test_get_columns_calls_client_and_handle_execute_response(self, tcli_service self.assertEqual(req.tableName, "table_pattern") self.assertEqual(req.columnName, "column_pattern") # Check response handling - thrift_backend._handle_execute_response.assert_called_with(response, cursor_mock) + thrift_backend._handle_execute_response.assert_called_with( + response, cursor_mock + ) - @patch("databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", autospec=True) + @patch( + "databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", + autospec=True, + ) def test_open_session_user_provided_session_id_optional(self, tcli_service_class): tcli_service_instance = tcli_service_class.return_value tcli_service_instance.OpenSession.return_value = self.open_session_resp - thrift_backend = ThriftBackend("foobar", 443, "path", [], auth_provider=AuthProvider()) + thrift_backend = ThriftBackend( + "foobar", 443, "path", [], auth_provider=AuthProvider() + ) thrift_backend.open_session({}, None, None) self.assertEqual(len(tcli_service_instance.OpenSession.call_args_list), 1) - @patch("databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", autospec=True) + @patch( + "databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", + autospec=True, + ) def test_op_handle_respected_in_close_command(self, tcli_service_class): tcli_service_instance = tcli_service_class.return_value - thrift_backend = ThriftBackend("foobar", 443, "path", [], auth_provider=AuthProvider()) + thrift_backend = ThriftBackend( + "foobar", 443, "path", [], auth_provider=AuthProvider() + ) thrift_backend.close_command(self.operation_handle) self.assertEqual( tcli_service_instance.CloseOperation.call_args[0][0].operationHandle, self.operation_handle, ) - @patch("databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", autospec=True) + @patch( + "databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", + autospec=True, + ) def test_session_handle_respected_in_close_session(self, tcli_service_class): tcli_service_instance = tcli_service_class.return_value - thrift_backend = ThriftBackend("foobar", 443, "path", [], auth_provider=AuthProvider()) + thrift_backend = ThriftBackend( + "foobar", 443, "path", [], auth_provider=AuthProvider() + ) thrift_backend.close_session(self.session_handle) self.assertEqual( - tcli_service_instance.CloseSession.call_args[0][0].sessionHandle, self.session_handle + tcli_service_instance.CloseSession.call_args[0][0].sessionHandle, + self.session_handle, ) - @patch("databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", autospec=True) - def test_non_arrow_non_column_based_set_triggers_exception(self, tcli_service_class): + @patch( + "databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", + autospec=True, + ) + def test_non_arrow_non_column_based_set_triggers_exception( + self, tcli_service_class + ): tcli_service_instance = tcli_service_class.return_value results_mock = Mock() results_mock.startRowOffset = 0 execute_statement_resp = ttypes.TExecuteStatementResp( - status=self.okay_status, directResults=None, operationHandle=self.operation_handle + status=self.okay_status, + directResults=None, + operationHandle=self.operation_handle, ) metadata_resp = ttypes.TGetResultSetMetadataResp( @@ -1013,20 +1244,30 @@ def test_non_arrow_non_column_based_set_triggers_exception(self, tcli_service_cl with self.assertRaises(OperationalError) as cm: thrift_backend.execute_command("foo", Mock(), 100, 100, Mock(), Mock()) - self.assertIn("Expected results to be in Arrow or column based format", str(cm.exception)) + self.assertIn( + "Expected results to be in Arrow or column based format", str(cm.exception) + ) def test_create_arrow_table_raises_error_for_unsupported_type(self): t_row_set = ttypes.TRowSet() - thrift_backend = ThriftBackend("foobar", 443, "path", [], auth_provider=AuthProvider()) + thrift_backend = ThriftBackend( + "foobar", 443, "path", [], auth_provider=AuthProvider() + ) with self.assertRaises(OperationalError): thrift_backend._create_arrow_table(t_row_set, Mock(), None, Mock()) - @patch("databricks_sql_connector_core.sql.thrift_backend.convert_arrow_based_set_to_arrow_table") - @patch("databricks_sql_connector_core.sql.thrift_backend.convert_column_based_set_to_arrow_table") + @patch( + "databricks_sql_connector_core.sql.thrift_backend.convert_arrow_based_set_to_arrow_table" + ) + @patch( + "databricks_sql_connector_core.sql.thrift_backend.convert_column_based_set_to_arrow_table" + ) def test_create_arrow_table_calls_correct_conversion_method( - self, convert_col_mock, convert_arrow_mock + self, convert_col_mock, convert_arrow_mock ): - thrift_backend = ThriftBackend("foobar", 443, "path", [], auth_provider=AuthProvider()) + thrift_backend = ThriftBackend( + "foobar", 443, "path", [], auth_provider=AuthProvider() + ) convert_arrow_mock.return_value = (MagicMock(), Mock()) convert_col_mock.return_value = (MagicMock(), Mock()) @@ -1037,18 +1278,26 @@ def test_create_arrow_table_calls_correct_conversion_method( description = Mock() t_col_set = ttypes.TRowSet(columns=cols) - thrift_backend._create_arrow_table(t_col_set, lz4_compressed, schema, description) + thrift_backend._create_arrow_table( + t_col_set, lz4_compressed, schema, description + ) convert_arrow_mock.assert_not_called() convert_col_mock.assert_called_once_with(cols, description) t_arrow_set = ttypes.TRowSet(arrowBatches=arrow_batches) thrift_backend._create_arrow_table(t_arrow_set, lz4_compressed, schema, Mock()) - convert_arrow_mock.assert_called_once_with(arrow_batches, lz4_compressed, schema) + convert_arrow_mock.assert_called_once_with( + arrow_batches, lz4_compressed, schema + ) @patch("lz4.frame.decompress") @patch("pyarrow.ipc.open_stream") - def test_convert_arrow_based_set_to_arrow_table(self, open_stream_mock, lz4_decompress_mock): - thrift_backend = ThriftBackend("foobar", 443, "path", [], auth_provider=AuthProvider()) + def test_convert_arrow_based_set_to_arrow_table( + self, open_stream_mock, lz4_decompress_mock + ): + thrift_backend = ThriftBackend( + "foobar", 443, "path", [], auth_provider=AuthProvider() + ) lz4_decompress_mock.return_value = bytearray("Testing", "utf-8") @@ -1080,15 +1329,23 @@ def test_convert_column_based_set_to_arrow_table_without_nulls(self): t_cols = [ ttypes.TColumn(i32Val=ttypes.TI32Column(values=[1, 2, 3], nulls=bytes(1))), ttypes.TColumn( - stringVal=ttypes.TStringColumn(values=["s1", "s2", "s3"], nulls=bytes(1)) + stringVal=ttypes.TStringColumn( + values=["s1", "s2", "s3"], nulls=bytes(1) + ) ), - ttypes.TColumn(doubleVal=ttypes.TDoubleColumn(values=[1.15, 2.2, 3.3], nulls=bytes(1))), ttypes.TColumn( - binaryVal=ttypes.TBinaryColumn(values=[b"\x11", b"\x22", b"\x33"], nulls=bytes(1)) + doubleVal=ttypes.TDoubleColumn(values=[1.15, 2.2, 3.3], nulls=bytes(1)) + ), + ttypes.TColumn( + binaryVal=ttypes.TBinaryColumn( + values=[b"\x11", b"\x22", b"\x33"], nulls=bytes(1) + ) ), ] - arrow_table, n_rows = utils.convert_column_based_set_to_arrow_table(t_cols, description) + arrow_table, n_rows = utils.convert_column_based_set_to_arrow_table( + t_cols, description + ) self.assertEqual(n_rows, 3) # Check schema, column names and types @@ -1113,19 +1370,29 @@ def test_convert_column_based_set_to_arrow_table_with_nulls(self): description = [(name,) for name in field_names] t_cols = [ - ttypes.TColumn(i32Val=ttypes.TI32Column(values=[1, 2, 3], nulls=bytes([1]))), ttypes.TColumn( - stringVal=ttypes.TStringColumn(values=["s1", "s2", "s3"], nulls=bytes([2])) + i32Val=ttypes.TI32Column(values=[1, 2, 3], nulls=bytes([1])) ), ttypes.TColumn( - doubleVal=ttypes.TDoubleColumn(values=[1.15, 2.2, 3.3], nulls=bytes([4])) + stringVal=ttypes.TStringColumn( + values=["s1", "s2", "s3"], nulls=bytes([2]) + ) ), ttypes.TColumn( - binaryVal=ttypes.TBinaryColumn(values=[b"\x11", b"\x22", b"\x33"], nulls=bytes([3])) + doubleVal=ttypes.TDoubleColumn( + values=[1.15, 2.2, 3.3], nulls=bytes([4]) + ) + ), + ttypes.TColumn( + binaryVal=ttypes.TBinaryColumn( + values=[b"\x11", b"\x22", b"\x33"], nulls=bytes([3]) + ) ), ] - arrow_table, n_rows = utils.convert_column_based_set_to_arrow_table(t_cols, description) + arrow_table, n_rows = utils.convert_column_based_set_to_arrow_table( + t_cols, description + ) self.assertEqual(n_rows, 3) # Check data @@ -1141,15 +1408,23 @@ def test_convert_column_based_set_to_arrow_table_uses_types_from_col_set(self): t_cols = [ ttypes.TColumn(i32Val=ttypes.TI32Column(values=[1, 2, 3], nulls=bytes(1))), ttypes.TColumn( - stringVal=ttypes.TStringColumn(values=["s1", "s2", "s3"], nulls=bytes(1)) + stringVal=ttypes.TStringColumn( + values=["s1", "s2", "s3"], nulls=bytes(1) + ) + ), + ttypes.TColumn( + doubleVal=ttypes.TDoubleColumn(values=[1.15, 2.2, 3.3], nulls=bytes(1)) ), - ttypes.TColumn(doubleVal=ttypes.TDoubleColumn(values=[1.15, 2.2, 3.3], nulls=bytes(1))), ttypes.TColumn( - binaryVal=ttypes.TBinaryColumn(values=[b"\x11", b"\x22", b"\x33"], nulls=bytes(1)) + binaryVal=ttypes.TBinaryColumn( + values=[b"\x11", b"\x22", b"\x33"], nulls=bytes(1) + ) ), ] - arrow_table, n_rows = utils.convert_column_based_set_to_arrow_table(t_cols, description) + arrow_table, n_rows = utils.convert_column_based_set_to_arrow_table( + t_cols, description + ) self.assertEqual(n_rows, 3) # Check schema, column names and types @@ -1169,7 +1444,10 @@ def test_convert_column_based_set_to_arrow_table_uses_types_from_col_set(self): self.assertEqual(arrow_table.column(2).to_pylist(), [1.15, 2.2, 3.3]) self.assertEqual(arrow_table.column(3).to_pylist(), [b"\x11", b"\x22", b"\x33"]) - @patch("databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", autospec=True) + @patch( + "databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", + autospec=True, + ) def test_cancel_command_uses_active_op_handle(self, tcli_service_class): tcli_service_instance = tcli_service_class.return_value @@ -1195,20 +1473,29 @@ def test_handle_execute_response_sets_active_op_handle(self): self.assertEqual(mock_resp.operationHandle, mock_cursor.active_op_handle) @patch("databricks_sql_connector_core.sql.auth.thrift_http_client.THttpClient") - @patch("databricks_sql_connector_core.sql.thrift_api.TCLIService.TCLIService.Client.GetOperationStatus") - @patch("databricks_sql_connector_core.sql.thrift_backend._retry_policy", new_callable=retry_policy_factory) + @patch( + "databricks_sql_connector_core.sql.thrift_api.TCLIService.TCLIService.Client.GetOperationStatus" + ) + @patch( + "databricks_sql_connector_core.sql.thrift_backend._retry_policy", + new_callable=retry_policy_factory, + ) def test_make_request_will_retry_GetOperationStatus( - self, mock_retry_policy, mock_GetOperationStatus, t_transport_class + self, mock_retry_policy, mock_GetOperationStatus, t_transport_class ): import thrift, errno - from databricks_sql_connector_core.sql.thrift_api.TCLIService.TCLIService import Client + from databricks_sql_connector_core.sql.thrift_api.TCLIService.TCLIService import ( + Client, + ) from databricks_sql_connector_core.sql.exc import RequestError from databricks_sql_connector_core.sql.utils import NoRetryReason this_gos_name = "GetOperationStatus" mock_GetOperationStatus.__name__ = this_gos_name - mock_GetOperationStatus.side_effect = OSError(errno.ETIMEDOUT, "Connection timed out") + mock_GetOperationStatus.side_effect = OSError( + errno.ETIMEDOUT, "Connection timed out" + ) protocol = thrift.protocol.TBinaryProtocol.TBinaryProtocol(t_transport_class) client = Client(protocol) @@ -1236,12 +1523,18 @@ def test_make_request_will_retry_GetOperationStatus( self.assertEqual( NoRetryReason.OUT_OF_ATTEMPTS.value, cm.exception.context["no-retry-reason"] ) - self.assertEqual(f"{EXPECTED_RETRIES}/{EXPECTED_RETRIES}", cm.exception.context["attempt"]) + self.assertEqual( + f"{EXPECTED_RETRIES}/{EXPECTED_RETRIES}", cm.exception.context["attempt"] + ) # Unusual OSError code - mock_GetOperationStatus.side_effect = OSError(errno.EEXIST, "File does not exist") + mock_GetOperationStatus.side_effect = OSError( + errno.EEXIST, "File does not exist" + ) - with self.assertLogs("databricks_sql_connector_core.sql.thrift_backend", level=logging.WARNING) as cm: + with self.assertLogs( + "databricks_sql_connector_core.sql.thrift_backend", level=logging.WARNING + ) as cm: with self.assertRaises(RequestError): thrift_backend.make_request(client.GetOperationStatus, req) @@ -1257,10 +1550,15 @@ def test_make_request_will_retry_GetOperationStatus( cm.output[0], ) - @patch("databricks_sql_connector_core.sql.thrift_api.TCLIService.TCLIService.Client.GetOperationStatus") - @patch("databricks_sql_connector_core.sql.thrift_backend._retry_policy", new_callable=retry_policy_factory) + @patch( + "databricks_sql_connector_core.sql.thrift_api.TCLIService.TCLIService.Client.GetOperationStatus" + ) + @patch( + "databricks_sql_connector_core.sql.thrift_backend._retry_policy", + new_callable=retry_policy_factory, + ) def test_make_request_will_retry_GetOperationStatus_for_http_error( - self, mock_retry_policy, mock_gos + self, mock_retry_policy, mock_gos ): import urllib3.exceptions @@ -1268,10 +1566,14 @@ def test_make_request_will_retry_GetOperationStatus_for_http_error( mock_gos.side_effect = urllib3.exceptions.HTTPError("Read timed out") import thrift, errno - from databricks_sql_connector_core.sql.thrift_api.TCLIService.TCLIService import Client + from databricks_sql_connector_core.sql.thrift_api.TCLIService.TCLIService import ( + Client, + ) from databricks_sql_connector_core.sql.exc import RequestError from databricks_sql_connector_core.sql.utils import NoRetryReason - from databricks_sql_connector_core.sql.auth.thrift_http_client import THttpClient + from databricks_sql_connector_core.sql.auth.thrift_http_client import ( + THttpClient, + ) this_gos_name = "GetOperationStatus" mock_gos.__name__ = this_gos_name @@ -1302,10 +1604,14 @@ def test_make_request_will_retry_GetOperationStatus_for_http_error( self.assertEqual( NoRetryReason.OUT_OF_ATTEMPTS.value, cm.exception.context["no-retry-reason"] ) - self.assertEqual(f"{EXPECTED_RETRIES}/{EXPECTED_RETRIES}", cm.exception.context["attempt"]) + self.assertEqual( + f"{EXPECTED_RETRIES}/{EXPECTED_RETRIES}", cm.exception.context["attempt"] + ) @patch("thrift.transport.THttpClient.THttpClient") - def test_make_request_wont_retry_if_error_code_not_429_or_503(self, t_transport_class): + def test_make_request_wont_retry_if_error_code_not_429_or_503( + self, t_transport_class + ): t_transport_instance = t_transport_class.return_value t_transport_instance.code = 430 t_transport_instance.headers = {"Retry-After": "1"} @@ -1313,7 +1619,9 @@ def test_make_request_wont_retry_if_error_code_not_429_or_503(self, t_transport_ mock_method.__name__ = "method name" mock_method.side_effect = Exception("This method fails") - thrift_backend = ThriftBackend("foobar", 443, "path", [], auth_provider=AuthProvider()) + thrift_backend = ThriftBackend( + "foobar", 443, "path", [], auth_provider=AuthProvider() + ) with self.assertRaises(OperationalError) as cm: thrift_backend.make_request(mock_method, Mock()) @@ -1321,9 +1629,12 @@ def test_make_request_wont_retry_if_error_code_not_429_or_503(self, t_transport_ self.assertIn("This method fails", str(cm.exception.message_with_context())) @patch("databricks_sql_connector_core.sql.auth.thrift_http_client.THttpClient") - @patch("databricks_sql_connector_core.sql.thrift_backend._retry_policy", new_callable=retry_policy_factory) + @patch( + "databricks_sql_connector_core.sql.thrift_backend._retry_policy", + new_callable=retry_policy_factory, + ) def test_make_request_will_retry_stop_after_attempts_count_if_retryable( - self, mock_retry_policy, t_transport_class + self, mock_retry_policy, t_transport_class ): t_transport_instance = t_transport_class.return_value t_transport_instance.code = 429 @@ -1352,13 +1663,17 @@ def test_make_request_will_retry_stop_after_attempts_count_if_retryable( self.assertEqual(mock_method.call_count, 14) @patch("databricks_sql_connector_core.sql.auth.thrift_http_client.THttpClient") - def test_make_request_will_read_error_message_headers_if_set(self, t_transport_class): + def test_make_request_will_read_error_message_headers_if_set( + self, t_transport_class + ): t_transport_instance = t_transport_class.return_value mock_method = Mock() mock_method.__name__ = "method name" mock_method.side_effect = Exception("This method fails") - thrift_backend = ThriftBackend("foobar", 443, "path", [], auth_provider=AuthProvider()) + thrift_backend = ThriftBackend( + "foobar", 443, "path", [], auth_provider=AuthProvider() + ) error_headers = [ [("x-thriftserver-error-message", "thrift server error message")], @@ -1388,16 +1703,22 @@ def test_make_request_will_read_error_message_headers_if_set(self, t_transport_c @staticmethod def make_table_and_desc( - height, n_decimal_cols, width, precision, scale, int_constant, decimal_constant + height, n_decimal_cols, width, precision, scale, int_constant, decimal_constant ): int_col = [int_constant for _ in range(height)] decimal_col = [decimal_constant for _ in range(height)] - data = OrderedDict({"col{}".format(i): int_col for i in range(width - n_decimal_cols)}) - decimals = OrderedDict({"col_dec{}".format(i): decimal_col for i in range(n_decimal_cols)}) + data = OrderedDict( + {"col{}".format(i): int_col for i in range(width - n_decimal_cols)} + ) + decimals = OrderedDict( + {"col_dec{}".format(i): decimal_col for i in range(n_decimal_cols)} + ) data.update(decimals) int_desc = [("", "int")] * (width - n_decimal_cols) - decimal_desc = [("", "decimal", None, None, precision, scale, None)] * n_decimal_cols + decimal_desc = [ + ("", "decimal", None, None, precision, scale, None) + ] * n_decimal_cols description = int_desc + decimal_desc table = pyarrow.Table.from_pydict(data) @@ -1430,25 +1751,36 @@ def test_arrow_decimal_conversion(self): if height > 0: if i < width - n_decimal_cols: self.assertEqual( - decimal_converted_table.field(i).type, pyarrow.int64() + decimal_converted_table.field(i).type, + pyarrow.int64(), ) else: self.assertEqual( decimal_converted_table.field(i).type, - pyarrow.decimal128(precision=precision, scale=scale), + pyarrow.decimal128( + precision=precision, scale=scale + ), ) int_col = [int_constant for _ in range(height)] decimal_col = [Decimal(decimal_constant) for _ in range(height)] expected_result = OrderedDict( - {"col{}".format(i): int_col for i in range(width - n_decimal_cols)} + { + "col{}".format(i): int_col + for i in range(width - n_decimal_cols) + } ) decimals = OrderedDict( - {"col_dec{}".format(i): decimal_col for i in range(n_decimal_cols)} + { + "col_dec{}".format(i): decimal_col + for i in range(n_decimal_cols) + } ) expected_result.update(decimals) - self.assertEqual(decimal_converted_table.to_pydict(), expected_result) + self.assertEqual( + decimal_converted_table.to_pydict(), expected_result + ) @patch("thrift.transport.THttpClient.THttpClient") def test_retry_args_passthrough(self, mock_http_client): @@ -1467,23 +1799,41 @@ def test_retry_args_passthrough(self, mock_http_client): @patch("thrift.transport.THttpClient.THttpClient") def test_retry_args_bounding(self, mock_http_client): retry_delay_test_args_and_expected_values = {} - for k, (_, _, min, max) in databricks_sql_connector_core.sql.thrift_backend._retry_policy.items(): - retry_delay_test_args_and_expected_values[k] = ((min - 1, min), (max + 1, max)) + for k, ( + _, + _, + min, + max, + ) in databricks_sql_connector_core.sql.thrift_backend._retry_policy.items(): + retry_delay_test_args_and_expected_values[k] = ( + (min - 1, min), + (max + 1, max), + ) for i in range(2): retry_delay_args = { - k: v[i][0] for (k, v) in retry_delay_test_args_and_expected_values.items() + k: v[i][0] + for (k, v) in retry_delay_test_args_and_expected_values.items() } backend = ThriftBackend( - "foobar", 443, "path", [], auth_provider=AuthProvider(), **retry_delay_args + "foobar", + 443, + "path", + [], + auth_provider=AuthProvider(), + **retry_delay_args, ) retry_delay_expected_vals = { - k: v[i][1] for (k, v) in retry_delay_test_args_and_expected_values.items() + k: v[i][1] + for (k, v) in retry_delay_test_args_and_expected_values.items() } for arg, val in retry_delay_expected_vals.items(): self.assertEqual(getattr(backend, arg), val) - @patch("databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", autospec=True) + @patch( + "databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", + autospec=True, + ) def test_configuration_passthrough(self, tcli_client_class): tcli_service_instance = tcli_client_class.return_value tcli_service_instance.OpenSession.return_value = self.open_session_resp @@ -1501,7 +1851,10 @@ def test_configuration_passthrough(self, tcli_client_class): open_session_req = tcli_client_class.return_value.OpenSession.call_args[0][0] self.assertEqual(open_session_req.configuration, expected_config) - @patch("databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", autospec=True) + @patch( + "databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", + autospec=True, + ) def test_cant_set_timestamp_as_string_to_true(self, tcli_client_class): tcli_service_instance = tcli_client_class.return_value tcli_service_instance.OpenSession.return_value = self.open_session_resp @@ -1521,7 +1874,10 @@ def _construct_open_session_with_namespace(self, can_use_multiple_cats, cat, sch initialNamespace=ttypes.TNamespace(catalogName=cat, schemaName=schem), ) - @patch("databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", autospec=True) + @patch( + "databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", + autospec=True, + ) def test_initial_namespace_passthrough_to_open_session(self, tcli_client_class): tcli_service_instance = tcli_client_class.return_value @@ -1536,12 +1892,19 @@ def test_initial_namespace_passthrough_to_open_session(self, tcli_client_class): backend.open_session({}, cat, schem) - open_session_req = tcli_client_class.return_value.OpenSession.call_args[0][0] + open_session_req = tcli_client_class.return_value.OpenSession.call_args[ + 0 + ][0] self.assertEqual(open_session_req.initialNamespace.catalogName, cat) self.assertEqual(open_session_req.initialNamespace.schemaName, schem) - @patch("databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", autospec=True) - def test_can_use_multiple_catalogs_is_set_in_open_session_req(self, tcli_client_class): + @patch( + "databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", + autospec=True, + ) + def test_can_use_multiple_catalogs_is_set_in_open_session_req( + self, tcli_client_class + ): tcli_service_instance = tcli_client_class.return_value tcli_service_instance.OpenSession.return_value = self.open_session_resp @@ -1551,8 +1914,13 @@ def test_can_use_multiple_catalogs_is_set_in_open_session_req(self, tcli_client_ open_session_req = tcli_client_class.return_value.OpenSession.call_args[0][0] self.assertTrue(open_session_req.canUseMultipleCatalogs) - @patch("databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", autospec=True) - def test_can_use_multiple_catalogs_is_false_fails_with_initial_catalog(self, tcli_client_class): + @patch( + "databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", + autospec=True, + ) + def test_can_use_multiple_catalogs_is_false_fails_with_initial_catalog( + self, tcli_client_class + ): tcli_service_instance = tcli_client_class.return_value backend = ThriftBackend("foobar", 443, "path", [], auth_provider=AuthProvider()) @@ -1582,7 +1950,10 @@ def test_can_use_multiple_catalogs_is_false_fails_with_initial_catalog(self, tcl ) backend.open_session({}, cat, schem) - @patch("databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", autospec=True) + @patch( + "databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", + autospec=True, + ) def test_protocol_v3_fails_if_initial_namespace_set(self, tcli_client_class): tcli_service_instance = tcli_client_class.return_value @@ -1599,18 +1970,24 @@ def test_protocol_v3_fails_if_initial_namespace_set(self, tcli_client_class): backend.open_session({}, "cat", "schem") self.assertIn( - "Setting initial namespace not supported by the DBR version", str(cm.exception) + "Setting initial namespace not supported by the DBR version", + str(cm.exception), ) - @patch("databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", autospec=True) - @patch("databricks_sql_connector_core.sql.thrift_backend.ThriftBackend._handle_execute_response") + @patch( + "databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", + autospec=True, + ) + @patch( + "databricks_sql_connector_core.sql.thrift_backend.ThriftBackend._handle_execute_response" + ) def test_execute_command_sets_complex_type_fields_correctly( - self, mock_handle_execute_response, tcli_service_class + self, mock_handle_execute_response, tcli_service_class ): tcli_service_instance = tcli_service_class.return_value # Iterate through each possible combination of native types (True, False and unset) for complex, timestamp, decimals in itertools.product( - [True, False, None], [True, False, None], [True, False, None] + [True, False, None], [True, False, None], [True, False, None] ): complex_arg_types = {} if complex is not None: @@ -1621,10 +1998,17 @@ def test_execute_command_sets_complex_type_fields_correctly( complex_arg_types["_use_arrow_native_decimals"] = decimals thrift_backend = ThriftBackend( - "foobar", 443, "path", [], auth_provider=AuthProvider(), **complex_arg_types + "foobar", + 443, + "path", + [], + auth_provider=AuthProvider(), + **complex_arg_types, ) thrift_backend.execute_command(Mock(), Mock(), 100, 100, Mock(), Mock()) - t_execute_statement_req = tcli_service_instance.ExecuteStatement.call_args[0][0] + t_execute_statement_req = tcli_service_instance.ExecuteStatement.call_args[ + 0 + ][0] # If the value is unset, the native type should default to True self.assertEqual( t_execute_statement_req.useArrowNativeTypes.timestampAsArrow, @@ -1638,8 +2022,10 @@ def test_execute_command_sets_complex_type_fields_correctly( t_execute_statement_req.useArrowNativeTypes.complexTypesAsArrow, complex_arg_types.get("_use_arrow_native_complex_types", True), ) - self.assertFalse(t_execute_statement_req.useArrowNativeTypes.intervalTypesAsArrow) + self.assertFalse( + t_execute_statement_req.useArrowNativeTypes.intervalTypesAsArrow + ) if __name__ == "__main__": - unittest.main() \ No newline at end of file + unittest.main() diff --git a/examples/custom_cred_provider.py b/examples/custom_cred_provider.py index e78eb8b6..835194d7 100644 --- a/examples/custom_cred_provider.py +++ b/examples/custom_cred_provider.py @@ -1,27 +1,30 @@ - # please pip install databricks-sdk prior to running this example. from databricks_sql_connector_core import sql from databricks.sdk.oauth import OAuthClient import os -oauth_client = OAuthClient(host=os.getenv("DATABRICKS_SERVER_HOSTNAME"), - client_id=os.getenv("DATABRICKS_CLIENT_ID"), - client_secret=os.getenv("DATABRICKS_CLIENT_SECRET"), - redirect_url=os.getenv("APP_REDIRECT_URL"), - scopes=['all-apis', 'offline_access']) +oauth_client = OAuthClient( + host=os.getenv("DATABRICKS_SERVER_HOSTNAME"), + client_id=os.getenv("DATABRICKS_CLIENT_ID"), + client_secret=os.getenv("DATABRICKS_CLIENT_SECRET"), + redirect_url=os.getenv("APP_REDIRECT_URL"), + scopes=["all-apis", "offline_access"], +) consent = oauth_client.initiate_consent() creds = consent.launch_external_browser() -with sql.connect(server_hostname = os.getenv("DATABRICKS_SERVER_HOSTNAME"), - http_path = os.getenv("DATABRICKS_HTTP_PATH"), - credentials_provider=creds) as connection: +with sql.connect( + server_hostname=os.getenv("DATABRICKS_SERVER_HOSTNAME"), + http_path=os.getenv("DATABRICKS_HTTP_PATH"), + credentials_provider=creds, +) as connection: for x in range(1, 5): cursor = connection.cursor() - cursor.execute('SELECT 1+1') + cursor.execute("SELECT 1+1") result = cursor.fetchall() for row in result: print(row) diff --git a/examples/insert_data.py b/examples/insert_data.py index 8777a846..ebaf1f9d 100644 --- a/examples/insert_data.py +++ b/examples/insert_data.py @@ -1,21 +1,23 @@ from databricks_sql_connector_core import sql import os -with sql.connect(server_hostname = os.getenv("DATABRICKS_SERVER_HOSTNAME"), - http_path = os.getenv("DATABRICKS_HTTP_PATH"), - access_token = os.getenv("DATABRICKS_TOKEN")) as connection: +with sql.connect( + server_hostname=os.getenv("DATABRICKS_SERVER_HOSTNAME"), + http_path=os.getenv("DATABRICKS_HTTP_PATH"), + access_token=os.getenv("DATABRICKS_TOKEN"), +) as connection: - with connection.cursor() as cursor: - cursor.execute("CREATE TABLE IF NOT EXISTS squares (x int, x_squared int)") + with connection.cursor() as cursor: + cursor.execute("CREATE TABLE IF NOT EXISTS squares (x int, x_squared int)") - squares = [(i, i * i) for i in range(100)] - values = ",".join([f"({x}, {y})" for (x, y) in squares]) + squares = [(i, i * i) for i in range(100)] + values = ",".join([f"({x}, {y})" for (x, y) in squares]) - cursor.execute(f"INSERT INTO squares VALUES {values}") + cursor.execute(f"INSERT INTO squares VALUES {values}") - cursor.execute("SELECT * FROM squares LIMIT 10") + cursor.execute("SELECT * FROM squares LIMIT 10") - result = cursor.fetchall() + result = cursor.fetchall() - for row in result: - print(row) \ No newline at end of file + for row in result: + print(row) diff --git a/examples/interactive_oauth.py b/examples/interactive_oauth.py index 33b4740d..d9ee8c87 100644 --- a/examples/interactive_oauth.py +++ b/examples/interactive_oauth.py @@ -13,15 +13,17 @@ token across script executions. """ -with sql.connect(server_hostname = os.getenv("DATABRICKS_SERVER_HOSTNAME"), - http_path = os.getenv("DATABRICKS_HTTP_PATH")) as connection: +with sql.connect( + server_hostname=os.getenv("DATABRICKS_SERVER_HOSTNAME"), + http_path=os.getenv("DATABRICKS_HTTP_PATH"), +) as connection: for x in range(1, 100): cursor = connection.cursor() - cursor.execute('SELECT 1+1') + cursor.execute("SELECT 1+1") result = cursor.fetchall() for row in result: print(row) cursor.close() - connection.close() \ No newline at end of file + connection.close() diff --git a/examples/m2m_oauth.py b/examples/m2m_oauth.py index 723e2261..93bb3a09 100644 --- a/examples/m2m_oauth.py +++ b/examples/m2m_oauth.py @@ -22,20 +22,22 @@ def credential_provider(): # Service Principal UUID client_id=os.getenv("DATABRICKS_CLIENT_ID"), # Service Principal Secret - client_secret=os.getenv("DATABRICKS_CLIENT_SECRET")) + client_secret=os.getenv("DATABRICKS_CLIENT_SECRET"), + ) return oauth_service_principal(config) with sql.connect( - server_hostname=server_hostname, - http_path=os.getenv("DATABRICKS_HTTP_PATH"), - credentials_provider=credential_provider) as connection: + server_hostname=server_hostname, + http_path=os.getenv("DATABRICKS_HTTP_PATH"), + credentials_provider=credential_provider, +) as connection: for x in range(1, 100): cursor = connection.cursor() - cursor.execute('SELECT 1+1') + cursor.execute("SELECT 1+1") result = cursor.fetchall() for row in result: print(row) cursor.close() - connection.close() \ No newline at end of file + connection.close() diff --git a/examples/parameters.py b/examples/parameters.py index b4384b76..32254f42 100644 --- a/examples/parameters.py +++ b/examples/parameters.py @@ -118,4 +118,4 @@ print("\nEXAMPLE 4") print("Example 4 inferred result\t→\t {}\t{}".format(result.p1, result.p3)) -print("Example 4 explicit result\t→\t {}\t\t{}".format(result.p2, result.p4)) \ No newline at end of file +print("Example 4 explicit result\t→\t {}\t\t{}".format(result.p2, result.p4)) diff --git a/examples/persistent_oauth.py b/examples/persistent_oauth.py index 5af419c7..3e06a613 100644 --- a/examples/persistent_oauth.py +++ b/examples/persistent_oauth.py @@ -17,7 +17,11 @@ from typing import Optional from databricks_sql_connector_core import sql -from databricks_sql_connector_core.sql.experimental.oauth_persistence import OAuthPersistence, OAuthToken, DevOnlyFilePersistence +from databricks_sql_connector_core.sql.experimental.oauth_persistence import ( + OAuthPersistence, + OAuthToken, + DevOnlyFilePersistence, +) class SampleOAuthPersistence(OAuthPersistence): @@ -40,17 +44,20 @@ def read(self, hostname: str) -> Optional[OAuthToken]: """ pass -with sql.connect(server_hostname = os.getenv("DATABRICKS_SERVER_HOSTNAME"), - http_path = os.getenv("DATABRICKS_HTTP_PATH"), - auth_type="databricks-oauth", - experimental_oauth_persistence=DevOnlyFilePersistence("./sample.json")) as connection: + +with sql.connect( + server_hostname=os.getenv("DATABRICKS_SERVER_HOSTNAME"), + http_path=os.getenv("DATABRICKS_HTTP_PATH"), + auth_type="databricks-oauth", + experimental_oauth_persistence=DevOnlyFilePersistence("./sample.json"), +) as connection: for x in range(1, 100): cursor = connection.cursor() - cursor.execute('SELECT 1+1') + cursor.execute("SELECT 1+1") result = cursor.fetchall() for row in result: print(row) cursor.close() - connection.close() \ No newline at end of file + connection.close() diff --git a/examples/query_cancel.py b/examples/query_cancel.py index c954cec0..62eecb2a 100644 --- a/examples/query_cancel.py +++ b/examples/query_cancel.py @@ -5,47 +5,52 @@ The current operation of a cursor may be cancelled by calling its `.cancel()` method as shown in the example below. """ -with sql.connect(server_hostname = os.getenv("DATABRICKS_SERVER_HOSTNAME"), - http_path = os.getenv("DATABRICKS_HTTP_PATH"), - access_token = os.getenv("DATABRICKS_TOKEN")) as connection: +with sql.connect( + server_hostname=os.getenv("DATABRICKS_SERVER_HOSTNAME"), + http_path=os.getenv("DATABRICKS_HTTP_PATH"), + access_token=os.getenv("DATABRICKS_TOKEN"), +) as connection: - with connection.cursor() as cursor: - def execute_really_long_query(): - try: - cursor.execute("SELECT SUM(A.id - B.id) " + - "FROM range(1000000000) A CROSS JOIN range(100000000) B " + - "GROUP BY (A.id - B.id)") - except sql.exc.RequestError: - print("It looks like this query was cancelled.") + with connection.cursor() as cursor: - exec_thread = threading.Thread(target=execute_really_long_query) + def execute_really_long_query(): + try: + cursor.execute( + "SELECT SUM(A.id - B.id) " + + "FROM range(1000000000) A CROSS JOIN range(100000000) B " + + "GROUP BY (A.id - B.id)" + ) + except sql.exc.RequestError: + print("It looks like this query was cancelled.") - print("\n Beginning to execute long query") - exec_thread.start() + exec_thread = threading.Thread(target=execute_really_long_query) - # Make sure the query has started before cancelling - print("\n Waiting 15 seconds before canceling", end="", flush=True) + print("\n Beginning to execute long query") + exec_thread.start() - seconds_waited = 0 - while seconds_waited < 15: - seconds_waited += 1 - print(".", end="", flush=True) - time.sleep(1) + # Make sure the query has started before cancelling + print("\n Waiting 15 seconds before canceling", end="", flush=True) - print("\n Cancelling the cursor's operation. This can take a few seconds.") - cursor.cancel() + seconds_waited = 0 + while seconds_waited < 15: + seconds_waited += 1 + print(".", end="", flush=True) + time.sleep(1) - print("\n Now checking the cursor status:") - exec_thread.join(5) + print("\n Cancelling the cursor's operation. This can take a few seconds.") + cursor.cancel() - assert not exec_thread.is_alive() - print("\n The previous command was successfully canceled") + print("\n Now checking the cursor status:") + exec_thread.join(5) - print("\n Now reusing the cursor to run a separate query.") + assert not exec_thread.is_alive() + print("\n The previous command was successfully canceled") - # We can still execute a new command on the cursor - cursor.execute("SELECT * FROM range(3)") + print("\n Now reusing the cursor to run a separate query.") - print("\n Execution was successful. Results appear below:") + # We can still execute a new command on the cursor + cursor.execute("SELECT * FROM range(3)") - print(cursor.fetchall()) \ No newline at end of file + print("\n Execution was successful. Results appear below:") + + print(cursor.fetchall()) diff --git a/examples/query_execute.py b/examples/query_execute.py index 8ca5b7d0..9e83e0ad 100644 --- a/examples/query_execute.py +++ b/examples/query_execute.py @@ -1,13 +1,15 @@ from databricks_sql_connector_core import sql import os -with sql.connect(server_hostname = os.getenv("DATABRICKS_SERVER_HOSTNAME"), - http_path = os.getenv("DATABRICKS_HTTP_PATH"), - access_token = os.getenv("DATABRICKS_TOKEN")) as connection: +with sql.connect( + server_hostname=os.getenv("DATABRICKS_SERVER_HOSTNAME"), + http_path=os.getenv("DATABRICKS_HTTP_PATH"), + access_token=os.getenv("DATABRICKS_TOKEN"), +) as connection: - with connection.cursor() as cursor: - cursor.execute("SELECT * FROM default.diamonds LIMIT 2") - result = cursor.fetchall() + with connection.cursor() as cursor: + cursor.execute("SELECT * FROM default.diamonds LIMIT 2") + result = cursor.fetchall() - for row in result: - print(row) + for row in result: + print(row) diff --git a/examples/set_user_agent.py b/examples/set_user_agent.py index c25de4e9..ee4b01b7 100644 --- a/examples/set_user_agent.py +++ b/examples/set_user_agent.py @@ -1,14 +1,16 @@ from databricks_sql_connector_core import sql import os -with sql.connect(server_hostname = os.getenv("DATABRICKS_SERVER_HOSTNAME"), - http_path = os.getenv("DATABRICKS_HTTP_PATH"), - access_token = os.getenv("DATABRICKS_TOKEN"), - _user_agent_entry="ExamplePartnerTag") as connection: +with sql.connect( + server_hostname=os.getenv("DATABRICKS_SERVER_HOSTNAME"), + http_path=os.getenv("DATABRICKS_HTTP_PATH"), + access_token=os.getenv("DATABRICKS_TOKEN"), + _user_agent_entry="ExamplePartnerTag", +) as connection: - with connection.cursor() as cursor: - cursor.execute("SELECT * FROM default.diamonds LIMIT 2") - result = cursor.fetchall() + with connection.cursor() as cursor: + cursor.execute("SELECT * FROM default.diamonds LIMIT 2") + result = cursor.fetchall() - for row in result: - print(row) + for row in result: + print(row) diff --git a/examples/staging_ingestion.py b/examples/staging_ingestion.py index 6af657a1..35fb8e42 100644 --- a/examples/staging_ingestion.py +++ b/examples/staging_ingestion.py @@ -51,10 +51,10 @@ staging_allowed_local_path = os.path.split(_complete_path)[0] with sql.connect( - server_hostname=os.getenv("DATABRICKS_SERVER_HOSTNAME"), - http_path=os.getenv("DATABRICKS_HTTP_PATH"), - access_token=os.getenv("DATABRICKS_TOKEN"), - staging_allowed_local_path=staging_allowed_local_path, + server_hostname=os.getenv("DATABRICKS_SERVER_HOSTNAME"), + http_path=os.getenv("DATABRICKS_HTTP_PATH"), + access_token=os.getenv("DATABRICKS_TOKEN"), + staging_allowed_local_path=staging_allowed_local_path, ) as connection: with connection.cursor() as cursor: @@ -84,4 +84,4 @@ print("Removing demo.csv from staging location") cursor.execute(query) - print("Remove was successful") \ No newline at end of file + print("Remove was successful") diff --git a/examples/v3_retries_query_execute.py b/examples/v3_retries_query_execute.py index e742583b..a6ce6c34 100644 --- a/examples/v3_retries_query_execute.py +++ b/examples/v3_retries_query_execute.py @@ -28,16 +28,18 @@ # # For complete information about configuring retries, see the docstring for databricks_sql_connector_core.sql.thrift_backend.ThriftBackend -with sql.connect(server_hostname = os.getenv("DATABRICKS_SERVER_HOSTNAME"), - http_path = os.getenv("DATABRICKS_HTTP_PATH"), - access_token = os.getenv("DATABRICKS_TOKEN"), - _enable_v3_retries = True, - _retry_dangerous_codes=[502,400], - _retry_max_redirects=2) as connection: +with sql.connect( + server_hostname=os.getenv("DATABRICKS_SERVER_HOSTNAME"), + http_path=os.getenv("DATABRICKS_HTTP_PATH"), + access_token=os.getenv("DATABRICKS_TOKEN"), + _enable_v3_retries=True, + _retry_dangerous_codes=[502, 400], + _retry_max_redirects=2, +) as connection: - with connection.cursor() as cursor: - cursor.execute("SELECT * FROM default.diamonds LIMIT 2") - result = cursor.fetchall() + with connection.cursor() as cursor: + cursor.execute("SELECT * FROM default.diamonds LIMIT 2") + result = cursor.fetchall() - for row in result: - print(row) \ No newline at end of file + for row in result: + print(row) diff --git a/setup_script.py b/setup_script.py deleted file mode 100644 index 7e40c129..00000000 --- a/setup_script.py +++ /dev/null @@ -1,31 +0,0 @@ -import subprocess -import os - -def build_and_install_library(directory_name): - - previous_directory = os.getcwd() - # Change directory to one level down - os.chdir(directory_name) - - # chal jaa - # Build the library using Poetry - subprocess.run(['poetry', 'build'], check=True) - - # Get the name of the built .whl file - dist_dir = 'dist' - whl_files = [f for f in os.listdir(dist_dir) if f.endswith('.whl')] - if not whl_files: - raise FileNotFoundError("No .whl file found in the dist directory") - - # Install the package using pip3 - whl_file = os.path.join(dist_dir, whl_files[0]) - subprocess.run(['pip3', 'install', whl_file, '--force-reinstall'], check=True) - - os.chdir(previous_directory) - - - -if __name__ == "__main__": - build_and_install_library("databricks_sql_connector_core") - # build_and_install_library("databricks_sql_connector") - # build_and_install_library("databricks_sqlalchemy") \ No newline at end of file diff --git a/tester.py b/tester.py index 61f780e4..5a32a664 100644 --- a/tester.py +++ b/tester.py @@ -1 +1 @@ -from databricks_sqlalchemy import TIMESTAMP, TINYINT \ No newline at end of file +from databricks_sqlalchemy import TIMESTAMP, TINYINT From 051bdce906f44788410f68ebaace24b0d1e339ff Mon Sep 17 00:00:00 2001 From: Jothi Prakash Date: Mon, 2 Sep 2024 12:38:18 +0530 Subject: [PATCH 24/53] Fixed test_retry error --- databricks_sql_connector/pyproject.toml | 14 +++++++------- ..._sql_connector_core-1.0.0-py3-none-any.whl | Bin 315589 -> 317070 bytes ...databricks_sql_connector_core-1.0.0.tar.gz | Bin 307173 -> 308989 bytes .../tests/pytest.ini | 4 ---- 4 files changed, 7 insertions(+), 11 deletions(-) delete mode 100644 databricks_sql_connector_core/tests/pytest.ini diff --git a/databricks_sql_connector/pyproject.toml b/databricks_sql_connector/pyproject.toml index 1de9ba66..c8d67b77 100644 --- a/databricks_sql_connector/pyproject.toml +++ b/databricks_sql_connector/pyproject.toml @@ -38,10 +38,10 @@ build-backend = "poetry.core.masonry.api" [tool.black] exclude = '/(\.eggs|\.git|\.hg|\.mypy_cache|\.nox|\.tox|\.venv|\.svn|_build|buck-out|build|dist|thrift_api)/' -[tool.pytest.ini_options] -markers = {"reviewed" = "Test case has been reviewed by Databricks"} -minversion = "6.0" -log_cli = "false" -log_cli_level = "INFO" -testpaths = ["tests", "databricks_sql_connector/src"] -env_files = ["test.env"] +#[tool.pytest.ini_options] +#markers = {"reviewed" = "Test case has been reviewed by Databricks"} +#minversion = "6.0" +#log_cli = "false" +#log_cli_level = "INFO" +#testpaths = ["tests", "databricks_sql_connector/src"] +#env_files = ["test.env"] diff --git a/databricks_sql_connector_core/dist/databricks_sql_connector_core-1.0.0-py3-none-any.whl b/databricks_sql_connector_core/dist/databricks_sql_connector_core-1.0.0-py3-none-any.whl index 603e356e9a1b20c333c8a58293a4199d4a348219..83afa7ebdca0d76a9e7d650e22d55097ebf6868f 100644 GIT binary patch delta 166662 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

      q?#rt7(d1)1Ehmn%KH#DVY8v8cVfAL(T3*L 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

      89W2^Cx2yLM0dV+J!docP=ePgCOl9^F!hirt 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

      c&?^0e18q|-{xSX3{^k#tEO2cZ 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 PtoZpKNK?%n0PrXPWnF|I literal 307173 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≥XJXXc;IOSQQW% zU>P78P~{)#Z|N`TUv)9^qUA-&i&YmQFIZlXyimo71*jL>09L!>0{|5=~Lw$ z>22vP>0Nau@{Hvf$um`6kzSTwl3rD(BTrkNmONeM8R=>1Dd}0|5$R#+A?Z=YjAU9e zC7D%>NQNatl2JvEq+8M@=~eEL?w0P7?p1D)ZkBG6ZdI<4u9mKnu2r-p-kZsci#4Uj z2EUD)@#CBk&Jah;>E(2BzH?eQO`Jwf9Y@G{$0_F&bBZ_xoP5qhP97(hlf_BnByr+7 zF`R3hD9&Y07$=D1&++51Io=#k4xK~eIC1Pbb{s0libLV-xa7Y||jxI-=gXd^) zupA6Wg`>og=Kvfj4w3`o%==CIjr)!G4f%=vdi}cmzWcTKHTgCA)%gki-uadL75f$W z75L@*J@m`-%k|6hOY=+ei}#E1yXF_=ciAt@FUZf|&(DwT=k4d|NB5)oIr-W9+4)h& zU0zqu2i)~0hCa6S7qi8lVw%`qOchharecyne^!4| ze@uT=e^|eNKfB+vpVn{RPwl7loA#6Xb^G!C*nX9M`F^Q>SpRh2NT0Z`tFNW6u}|1n z-dEI@-;eWX6!K73!ZGEP)0~2xDm`~ku*=5B~6niN#mqZ(g^7{X^8ZbBqsHfdPzN`E>Z{SJE@h_Li$Q- zB7Gt?l0J~?NHruOsgm@L^p;dkDkT+@UXzMQFG&TYXQX`6W70#?eNrCj4k?#(ioG`L4czpL^bVZoA6w$}mHySWnD%WdT9% z;`Q84mBq?ZNzyV=Zrh9I(BOqh!_44?*|@^a>Q}5%giBfA#Kh9W<<)F^OCpbJUS-w7#GCURjx5jwPc&ePO;C zN|xXkBj5sRbQq2-1@05-nxhm5@iFP&Z*|=2>e>Bn|8Ix$wtlu8+Y7cAZ@gF5qsQPX z0MJuNC8O38zQ;&J0!H*kT!k#?FKi^E)Clu25>bE|U4B!AJQyXU?n9{)FgGNw00-#Q zO%)1YlCW_fN{g`PhQw9CmL9XILJ7`%yZCpc@j` z09U%adW8xo6jCivL_*pP2|jR|PF1f^1zUuT7AQkP@ePUVz*%~XdIbg)3#pc<-GuKq zB%*-;x{2Z=j}1sQa8}r537HUJvA7r@g07;0z=6`$Gzvr}U}JGNfU9(S4TL(VTHQr~ zED5HuxL6>To}@9C40{THihPRtvs>Qnw*zD!X&+^OC5a=SNr!DF}OJPwxujM9^|5XRuoYMKpniO>~?%LHcWEm{Z@aJIV31_~v>;&E9+ z1F`cd^S9>j&p(?VX3xCxV1%3w@d^2ArXMfJ2ILrFc=A3_qej;jb(LTjFSrFLGs^K~ z3sAo%-xhV9;1@5*0n`|DwYr*FUSS77^Yju2SK}<{3ECYLP5OXHlV`@ z+d{Si={34XQ7MF`c)=aOkWs#cYz_L=h4pzVB7!QS0UXz;(krXYk+84hIl)d1%}kZoS-g(RHADU@Q#7s!95FJuMKm8dI|VM z*H=It!*d7sJeW}nI|YdeltkCpKocWx2bTjrt_?c{4G}yOUEcuT8R8vtw_o^7zI6D` zJfHf-=R%=F$K>@%gWum44ZfQF8~Neio@f^`Hy|&Ao9eKx5SmC$%6<#1V;1QmAdpa( zqpl1QHvQvMT`tW|1D^I(V)w%N^Q497)Qq0`@Ye^$;;&L>-n6;fV6d*+RgANg^O( z!PvSiI<)z@iv!&&?%uIG7m^*BUa9vucP5ida~k6>F*m%s3Fgg7FAW<($*yb<6rb@eNSLA@$dim3+14OHo@K3-^X1;#KZBVy9<}~Us(K{vlGmy?4(XY4*n%2vEp=^oQ zQo@^n+f3b^756}DeT*0C81Z3B_!r<2lfARz0Z6NtKZ9~0)}@4h1zs@ocUC+C+4V7J zCbPeET)1@dx6hlxiH^xjCr5lL3fFcHi>F`qrY5k?l>VA|DQ>&NdQkdn_T^C9OV-a) zGjI4)^gB)YRMVBqN)i6X!(1-R44!$ zYH93?a%RZlY++{UV$Uy+(CMLxX0`d5gG=)QmmSk_!%t?qr<#kG-tO!y4jJoj+qO7c ztFt&VaAvW8c<<~~gUM`zWN24P=i~P#Ganx`m@Fk4vdR|w;|f_Jvp*j^aSr|SV@_>p zVX!cCR(XDM*@B<>n@2ud9i0(9KmMyMc;TB`$6{^j@(V{hLW74F$`)jUrp^_c43GVK zP}o^KGqycsd_bo&z`e8N!thi@=j-88kI>Q&!;6zoFFKFRd|LXYrlvD1S{qvYJ-T`J zPsNP4r2hrPo>Ym95?I4=*shAq^t%ne3q2%1JYU^)dXtHd@a~O?0`m-yJDDC;8JEPF zm(ZD)wq|_$G)8meA>m`+1v9_>1h3bGDsm>D)&F!m@L=$%TN%Q)J3zWWiFpNB44 zvm0i98I>4&6b|%GrnO}pZ9C7rWbNG$@XP3tvB!&n+{v`h8An^sTjZ>{X0AJ1o`=Yh zxkk`^U7iQeL0{XX8(8jiaM=!Wd+YV~+}psn5pS=)jWwTB?sM@AwO!ahru^PzJj8Zx z|Df`17rzkOnf)SVp38W!?bQA@WrmAiu`!gh(SCM!bB6SV z+4?PVcau|F&+NLr#ruv-@_pC9pe@z6!xI8eygs@`^Y%pC!Nap#w{UY$-%us*f^X@{ zX}|uH6!;BqoMU_K^^Vv1_>^1kuUyrbjl@r78$~**?sCD~Wk0&SRX)%F|1=91F}v!u z3|`i>FS58QPV$VUc_dghf)ZL}LKi9zqc&U2^FF`7zbazC15fw8kWHT9t-m_H49Ve zn%^5KG79+c)c1qcd2I6MQq1kXw5^e*My}O=_J2T~8@Ybe2Lp=stcy%19eAg=;X^sQ z{PO4Z7=G7xiPYI|dJPx+CIg?}NI6yGEx`=ko_gXNSo8AGr2aG4n09|}j=LI|TF@f# zesa^~?|ePzl$Q4oS{X8R4Q2Mq$LhT08K4tac2uuIw^ItD{t~)L?V_xij>@okmnk>$ zZMRyM~uCNZU(5!0TE4~MO(Z1C_ zS9}impna;nuXrEuMtfJExpL;f8T6TIuPa^$ywG0Nr>~qoa2kEO+VhI%0Z+7NwZ|2Y z10HCPYUUN@0VbMR&A7riz(6yq=~w6n=xBPi`xSSS-siIekrNF&r9WXlVj3|Gm=BnG zOdX~cQ-i6-2r*TdO3ZuAJ4^-UEk=MT$CP18F(sH{%p1&W%qvV0rV#TI^8!Vx%7_m1?6d%JpDdK-I% zz2&_{z4^U)y;;3Uy)nH}yfDeB4Z$?M7LN$QE|iRuaK@$X^xc=phG?0cv^lpfO_ zQjcyAz6aZ*(j(s^)dTC9?jGqDcXxHSbemjU|8C6so0Py>>ZSRfW_%;NjxA)rW0$jw z*+uLEc0T(dJCB{q&SIyrli2a>81^-G6#Ftej2*=GXZx|)Y;U$Fo6e@Oo!ItlJ2sVV z#ip?Lu}#@~*d(?-TbHfP#oO~h6~yvq`LWn6 zZ$9aClAB#VzKb0fU zh{XtMq;ePTm10P2Ax4QS2cQ9q0n|WcKh$s0kLs`NgZeD`P<@rXP_IQVs<%=Ei7Z4Y zQDqO*W6^`^sqBWjExJ+Nm0eJmMHi~8vJ>jG=tOl^c0e5#9jK1VcBtK=9o1g>9r|wZ z9reAk4QjJ!L$y`5Lai39sMgAF&^L>3sBe`mP>V$is-?0SYPM)zyq#K?d9lV|Y(RC@ zL;eGq<=l_Vef~X}d;C0^JpNsoyZk#cclftuZu4_xa``zjIs98PxA@sI+59Y-EPkd; zCO<66|_{lQK{3MwqexghwKS3see^cfrKVBxDA14#XkCln# z-;lY%kCBPtN6SR>ughHL^JVz_YckjPf64sCzbbQ;e?{gBKT0NwA1M>bhh!i=Plm_8 zEOVL9mErOuWFq+CGU5C%nJ|8+OejA@CWId>6U+~i3F2Rpxx^2Y3FHUJ1n~W3{P`DU zE-q|q*k?RE{>sAal=>;eDUnl!Q;rkY$=!+Ur0#@p5}m9#nRAkR()}d)r20w3Ns(iP zV~!)&(cO{ksP2ex6ggBlJA78k$r`Ijy>1j-JWc(ZjZ1Rov1jGbAo%q z{RH`h`U%7d(eaAoImfxj-H(%xs~<-k7aglOmUE1I%>5YonEElqF_B$`U5*{s&fSh| zr*4O^6CJHMnsbzU)cq*=sQOXFQPGi#BRNO7N8FE)kEkC(91+=8*yh-BZQX6jw(7PB zTM@N_nnUGM-Kk`%Iu$_`*@TMMI5&)(i)ubvyiqiPc_JBLTs>&(+%OuLl=!(={F$7& zady1%ZscC$@gLbXa>0TB^&e#<@ltqcybN9z?-nnYcZZkvet9#)#r$>OpXc+Q@d|h^ zc}2X}yy8`ZS>?R9ym!1xo{(3=tK)s(HS#|3ns{G%ExcCVcU}jti`T>J<@NK#yq~-w z-f!LrZz`yRe4!iz7u+^=g;px1JK;1)^l4_ zDl1J5pl5nX{BCc+)19)O+p6-lvfKcAsaM4B_5s-LQR}(iRr)JU4WZY1E&Og@z~5cC zp4*`^Sy^rfmFi9NyIDh*!bA(KvLjIo6eS~$WrsOh3m}=+pbRLl!f#zkzX#@P(<%< z2cJFd;?$~~IQifEy3pLr3LW!JnH*MI>W$>I4nOIbIA_-fVE~-2f<;Jx(n6XkgdkvJ zaN&S7-5!fTfU3eSQ%I6v8iQM&ji)DJ5v#r(n0Pkb69K5ug;*{MG!T}XL9zt@m~JkB zrAy(sQlN#<)ErWH7I(7gq>@umWRcML%#N!&?(eAC@pH$s=}izopeNxFGN6}`MuyfC zx?*sVz%F_V4j~5y3cJXV8Uc0#7X_HpRW>2kfLDdIeULf@42n9tU?29#v1>%+i z0odc%1ngIAh@^R)ajpEI{OUE^);yQ(i376eQk%JW(4yM(AasO~6x$sSvAof}f+YXgW(70)K4>-i2 zZ6zNC(`rWSPuT7?Q3ZtDn`V!IGYr}`@=5S}&B*b|)rY*i?>)U!nW6fZm-qbu%VRQA z-VS`9oe#M!+Ym0`Y)#h*sEhzhz~uuG3>9sJD=1w{vxh1O*aX~D;3~sj8{rPB)^^!L zRRq%n+%q7Sk)(}afLm*64p1$DmVkQ>q%c~v5gy>K+AasEfe@B}D*$dWRJJ2dg9mGA zj?ia9R>H!kgEn8y9wvmp03I>e+bhn1v|9O-sBeV2gz%TZ3r7C-3LlVN8*>uXP8doE zF9b>$Bik!jU|6lZ6RMj4B!(9O?-{x~D$as2wJ}bpK7w{)_$#2E!QN4E9?YthKZW{1 zuu2Sn4SZqb@2KE_`L!{pP`?P?iQ#X6c1Bsj%lZz3zuLTgpTDmEZBX0R@v)=QxUI8t zSJXHmFVVFG7-D$pa4&%!wJ;ZGnjlPcEd|CIc{LHxyi~ zh0!1wQ7Xx`96&Phy4-M3wl0hYA&K}TR{;PpJ(tJV`@TNphUt(^$I)6VAL5G-O?y9IR7yG5@Q_arNn zb|O1DyB2U}P7@GG;M+PZ6VfBbBxlzFOeTqlNC7|9Wig?h#Qfy!dcc?IPei1FJ#|hy&4iKp+*`I&}W|2PP4oIlaIt?8rvQx4@0~yR|eMBB; zUXS&HY>6=`*-gM5CTS<)K6s=)%L_V2%umVw0z78=??gNV-RiMtAO~V&O7>UaC9`NJ z;xTxxes4i*n=h-j#AoVdM_UMMb*azv%bvLn8#)t$K9Bm;7aDi23vL_t`BHeQGa2%#tQ29T6IN8PqJk9_{L57k zsde6;uyU-_V5JZK*)o_a(HdJUbP1joTv7|2uX^IVH2y!Q+qqLA^L;0tl!Z+E!%+RN zyC#cWCCdZup{27upBr43COIk~@-X(PAz1m_>edm0;<y=iCmO$%Y;OS3?etVPYT>E(Jb#rj2 z^u#`i%Q1g0O%&d+@D^N!sl)fZUW-JLZ+dUi-~areOz7O98+W!px=VM;4H*8N{`|`G zBL54&QgoV=#=wdemE{c?2B_zHX?zJE;Iun+eMPHEOJ$=0s!*?(FX0QEb&pwJ@m)n+ zNi{^h(fiJqU;zQ{jq58qRHiE%4N+x!^ZZ~*cF@Sg3F)V03qubKGfU^{Qwu|<=iAH7 zp1OpLep#A%pIJH|qCXjZy~?G@+hle;vtxctYuOL)cPV}0y(F4jI$1q=(rL;D+Zw$% zesiht@vkR~RXSy*Eq6O>UN4E_LKj81OP8k9mVPyqF6|Xeaz&P%A!BNzne)A?-vqlB z>I_Zt+Dr4>lrPM^^>u0a_21;-;?kNo3sr{0A%8-KCljMXM-!{th955u-yd>Wnr#l9 zns`w*TcN!4>sMLGpC4uC^F!yV2UttvmNWbRBZ33b|D}TimjAlofWrR_4#@r22oALT z8w3aJ|1mgV{GTj1;P&qo98mnH!2z59sNg`;e`s*P|J~=`SKja+u@YA~x?jy!Nc=172v%?qD=Jt~!HNq04l0nf=^vr594j?g z>4Sf^41Vvn>E}Kvo1Ka5TxJ1;E{xX8nfwiYzhtNuI$binv{-AnjH&~r+5nHjf zWfl+wVh|Dn0`0&|f~cT^%=3`TKIh&#`_#Q3&aJc0slE5{L*5T>t<+le*88MZ>iNIF zpE7*#i84$r?Vqi?t)4dWni(73S~k^p*R136Sn)isezbGzu_-Uzxz2 zSx{}kJdl5O>PGnRv{~4AEh&7kQFm6+tvg$FGrTj&EAzGW#FK-&)HAvrrPJS*reRrN0FpnD8={eC^96t3eSNU@KdVyEzO zc5uU|i#}5q&-4~?=ZazmiqbzOn(R!?+NnO+HM#Z2@Y(T+xyh4ZVR5OcpSrszCb!nj z!|MN?!T>@J_>M$6FLos0S>ER&ofkQ-#5;J8L^z`zmnHnaVf8(8_or@tF}qRLGkbsR z<_ELAWj!X$uZ_gikV&2GHx8NL7E=25e~FMCGr|8vvPZ0XCM;rnlHZZWGa=^2{( zgEV%o;!yd4V#@o@ku!%b{hDrdzV;mPkk$U1X1^4T)VciFdv;^~gL7dn8GDW!9ubb1 zxcE3x^+rR^wK~JQHxcff82Q8bgTun-&`tsT zvU-F{E49f*<)ad2BF24(Xno`!y)Mm;fu^Rn_N!iwNB?-x$_=2`eB8V`HY>hBiD zrHP_$1zmT&VsqIz7f&=0{=gzsi6EWqz&sg6#PTMt~lM5W5FU!%s%@63+ zXWU#po!aD4@n+5Q*IC_HF>89`yf-bNSQED`Aq|=}Z zTss#UY1F?XxVvck?e>e`4$uZl4*7Vvc-VO$9{L_DJQjEi9shXzpX0BN=N!L(Jo@;R z<7bZh9CtZxcN{sce|*L91;>ZnKf3?p{>nYa{l0s&`xW;y?mq4=?so2oyT1Dh_XX}l zZXezLaeL*K<96RI+U<(l88;s{7dJaM#7*CAh1&wRA=i(t|G2(tN*#VWH<>k8A5Sx}rjz-O&Cx--hEMB0E)fTMAt`_`) z{Y9_}yGpPUyHcnpjQ2 zV(el8fCU7Lu!{r>u?q!gELyMtyFh@#q68XP4S^b?=Fef~__LT<{tRY@KaH8@PhqC` zlbA{V1ZILijv42VVaE8Qm{I-+W`sYC8RidRhWLY+LH+<{fZvbl=l{U`;P+wr_`R53 z{&&oG{x{4w{#VRbeh;RH-;L?!f5Cj=f5v>CU3sBzXMgPFkW+0T&z$u-@Ey1g%?^!@ ziS~i^o_1AxQ+s{8ti8Owusy3iqdl!Xp)gI9v+#b~K+wR@&+D>bCYPV@8x0|;c zx9hdz+i~rh?HcV9Z3AsRZK}4Ww)!?%TX|byTUJ{}TUuK}o3JgaEut;BEvU`6&AZLD zjn?MWX46J)GjB6)(`&=G;o3CYG}etRjo~}^{ukj^47xEtk#UywAO@HVQW-t zL~C$sP^)jNcdKhFt<|a3rj^`k-fG;c*NSh&wQ9C%v`(}PwDh#7TAEs{&&N#86CK!d z9_ils&iS_a7Wu?{t$bAeU|wflL!KlrJ5QV^%8Sf9ok!1e&a=(4$Rp-y<)QKhb31bz zawWOhx#C<=Ze;H1Tzal^u5GSGE-_at7nM7h)0xwdBgx6m5$A|5+mR1%jYcR7jvmsNGnVl)l6lF$cp3bCaI%nEuT4WM4wK7qegU>pj zH9V6%3;&Xs(S2`Mqj8#FvR{HDmS2?LRlf+oP`_ZmbACa7r~G{Vn10@V9)7NV zhy7@N`~95!?EP%~cKDI~to+RVO#F=f*7@oA!G3tZRem@>&`;BEp`V7|3}=Ef!WrQ7 za(XzQI4VvXr-}29Q_rd4$T$_8a!v`Skdw#B;ymSKa2{~dILVv@PAo^rxy6a%T;)V? zLOH>lbDSW~DUL6P$?@iRa9lZuIW*3GjuXe8W5e0OA#z`;R-HE*dvEB|b&;7yAM5@v8VL@tXJ=ktgO6uZyn}qr_3f zKg53!Z-{RYZ;EdcZ;5Xa`C>j%AQljBi*FN!Vj)o^77?Sx(Zm>W3^7(5OS~h#LyQy0 z5#uA{Ey`~Z*&xD5fY7ygPNlac@2-XF7V!kQjd5~O&b(3{+{KuH(DnE$m3mh5!sq(8 zArFjxxP9N#yQgo@k3Ic+2L3pYJHQCmLBGS_uhb*)9$V1(Vh(teQK*CdfX}H+Bk}&W z2;z(VKu^Ym4!Q~ds#0$YFWW-M7oP&z3^D=Tg8!#7Z3{2oB8xBf2Ll+v1auqzW2N3! zUXevTUmO7b&L||HJMcr5XCRE=uSNVibHy;b!b$NXLEm=J< zSsc#wDVzE9L_K`d`tszgZ?Eo}+hxAZVKZ{|+)QojJT5Cf(6BXJJ*NJUJ-hnD>`LBP zy7lGH>c2VDPt=2oOtZ1CM*X`cXU5eN*1IOVtv$a@hpPvbbG_63!+zG}u#vv4`u*WU zG0M^g-I=J=(D5o|dH4`lId^eFRi&I&DQCZ>-!7ZZwk{p08vnwrBB}e3|I!p!&Zz3l z#_i5~W&Bw7{<8Rm+2QeP-%4ri+J8;|Cz(_$?a!+RYm2=~l<#Lhccsp-+{cTbsEfU( z8_VWKm6tEiM=AzhhlfmO&Re_s!+N*Qd{3P*E;C;3_35^4I5^Ev=~C7BnW_P6Km%DQ zw2c7KOg%j+3Ib(8Ho!t;ozONCT*ma)qoN^LHeds2BKAVtE8t3In%?%uo~yk)geWcu zG3)iD07RD6+XBmxP$B9nNMz!OQccK7Mzj0<%*{(TuiWg{(k?nt>(Jov-l5r{-C?y? zh0vBa@32lIQZdjeSr8R~kxxR~>)>{#ib!1!g~|q~fF80?WE%xinR@zEE$Egk$R1dS ztP|P(0q$dZ>r+=k$+7`^z!yTG1K&^zd%oAK@NZk!W7xw1dlUS`c!SGL^j|6 zm?Kw3wzohAQ_p}3K{c`@nc#LUS?=C!P(W8BG_0SDD7^xI_pmk8tAIBgWBm5qOK~yN+uB zt(9x+;W;5r(e&uv-3uy~R;;Mdspz+jDmnrAtnnfG82Ws$4UI;{f?_7lP-+Z0$!U9m zLr8Ko>JIprNi&pggk0tIdx2v}Ni-@B%w`G=r6!QCoVE`*jSmm*Mtyna7$0@)FRN&*|0!u3)sC__&B z74SnmVo-O%W@i0*=@zI^UjHi)n4^1K`D$BK5E2zbPX<3Rjg7bz=#4z$0Ph@<5ktQR z_A-5qxZ9x)xyC_WFd~bgr+_2O3?uGN=!ZPwATJc@iJ_;0Gt3?%t~E3#*P!tta&-3% z`3>D1dNQOKDy#b3opNXL&&m8rx5W)K;5xD+7Ih!gVhN3<_KaIXy8aN5ip<2KGC*4vZljdee9#1$7sfk7g6fFF zya$N!9r|N%Kg)L`_Yjm)t#O2xfjHfv{{NX8xd-{2{h?%4s{2>@wy5_=R-8B=e8vhkMW2Fv6ne*b%}9Nm_&NBTRcMM1fX*n= zj`P})fjDsiSjw6(MF&Aw6nY-KP6QV(E(9xC+AlOd>V$k)_}$E6YrJ85&Rsy?|MyH$JiqoMjD| zNy8zH8k{$PvIG+%%fUr#b8~4VgsTyH1B)z85+WrahHahOmUJG6V@H{DuR`lcQ)5 z8!PI4XjN^NFW_itl_Y5ZZ?hw;s1KlZwdN;*y_ScQB>#Z%>~bsWL&&N&>m+c%@?4VS zEttyIAW<_Q`&x4j;9?n@BzXruV%w0Ye?f<9vpB#}%e*AXdoYt7L83l|n6>79fV<_p zB*_P`fL%_aK5MS~d+d2@>zTmTmw%5xSGHaWB$WO=5q7Yuz)+bNdVJWwuE0ULVbbj3}ntX-#d5fs=xHBzjQ4x8=qB%PkwoFa6Sz%-|8Q2 z?Vk@1s3!-*)t_!E!{)vmE4w`Wy0|WEy!meCu9+`;)!(Jz#j53{#b4^mioeWiKbst@ zZ7uNf8Vn3mzwR$B`eHUWl^#AhldcXPH1in#odm%7DK(KltA#71@+oF6L>k@MgY z8B15OTo3F0qf2y|X*NJ8vxceM(Hr*#jX5PS!zv6!Fe(%a(Fubo#Pe8_ko- zjTfXZzNKUCUT%y^N7wxM>Ea`k^-tHE7(F#IF@9=nvcW3cdB&k%JKrlW%z4V8TlrHfdmK`=&wJ)wbpGNHuYJVR>f&t0iV&TTkG&qX zCVvcaFM3?^@L*C7J4yH$dMJ&*;?Z*A@$Y|bz2oAdWBvH;gD27YPVTE8n?KMM4(&|p z%iyQS@LyTBRAhX+zxZbK2A$-L-S3X7uY2%aUW&B&RJI?j$kqMVmG}W(%_sN`gIA&4T z*(U4)cSKM|w)k4LSTBwSt{Ko_;+uZizp@->h0Rz7FA)L@7Y3u= z{5Wf#a;O{r`lZC`x`^^sVd4HJP2=#;~W)U9_jn#DC^USl6}PT%=We5#0PZE$x{^B+}PwvGw2ZEv<8 zJZ0*m#NPF3I{oT*?AYEct;pC^&3mCq1M$o|P0{;><$SA~8Bs7#$Xys&HM|28URr+k z!rJ2DclWOU*m2fq{d~ijxEb24wRy>A)aFUkLDR3MouNYjg^r%g|q(oNk=olW2YDAP%kL6fg0ohHpD4JL9E ziAj-3w#j1?u}Pwd$m9=`NRx{ur%g_p&`sP-oO|mo9#x0_i`ZUO(@-O+$*vLCh-xBh zPS?eJQq>Tu?NFScKFP;dZyK=3Q}SHXVle!)KMKEYn>Ucnyh9)T0qNw6Ec zTi}Rw6gXfV1ol{a0ToLX*kSDiwpd$%4c10rjkOl+!tN66#O@UA!0r%i$8HyF!)_DI z>$e4DELpG>yH&6SyG204k_1**D}g1}Qh;C)fd$q=V2(8xm|@KXo3Wb(rdU&f3D!ig z3A;(K5xY^a0lPt9j5QV*VT}aqvFinfSVO@&>^gw~)J^`*O)E?!!-;@JCRg11K+P!G;qN;`07w%rTcwrU#I(j#HF}iBO^#!{ZEM8EB zx{lh7T8ygFxUR8VW3fh+nx}SD1M12--kjqcFjqOtn{}K8W-DiSGmbOBOyx9h+Ho3~ zuAJgcIZgpnm6NEC3OE(u z8^8?k4)6$Y4LBS?3)mmv6ks1<6R;zI9AFh-9$*q+9I!4xF8~g}2doOf1%LsX0Sf~( z0%rUt{73u;{CoX-{6G1t{M-DS{NMT4``7r({44y+{Y(4{{qy{@{Ga+~_&@MZ^H26q z@Q?Ku`rq=8^1tdI;UDTB?0?Qb$p4hTuRpUd^}mVj(^?W*ge_4m5iP+jK`p*5-Yu>z zv=*lpn-+45d5dw2UJJej*P_{?(K69I(A?9kYHn(-ZZ| znuD8znthwSn_Zh}%}&iW&E#hDX5(hPW_&ZQS+iNAd7^2csi#TR)YMepBx@>fDs0MX z%4kY!N@x-`MKwh<1vdpX`8Ihsxi-<7oSJN!$W7)=#!Y%n_$FMFW|KzKMB_kXPot`_ zsjz(H*qGIr(U{hl&?sz-YK&+MZVYPlZS-z*ZKO3?5C7j{`x;U;Nk*z9Rghkh z%1Nc964DD&A?Z0OkCa2oB0VELCH+OpAUz~KAl)aWky1#>q$E-TDUK9NiY5t30@5wg z4N??|N4iS7LW&@TkwQtANWrAvN#{ssNI|3k(kT*$@UC^>;VV<-=!^v@c$gy``qC9U2iny1rxQr?13=%m3p~t<0t63Uljoae1^n zVP1V6E!0HaXa&Lo?=`CmX@$bV`a)b0tw>l@Uxa%>dm(&L z{{mM`D;5^l7voB3CBl;W65LDLOX17{!t(lZoP;J3 zO6n!JSF~5cSM{%OQkqmKt(W2|XcfYW`U>1@+H2wK`q#KhTBWeEz7khOs}fe#SK(wd znNU_Q!^vrKp}by>tEN>8tLv+A3YtQwC|BUUD{+=UqD9TENH$1fWI@ted{Cv(61bP0 zw_v_)W(lNP%-llxg0>8t&c5zFJzsbJvvU0D=(@27W9!BrjIW!h*rxf&Vh10^0i78_ z9qBuKMkS2|JhAZLqx?WOM!k;o1HQ1bo&;oCgz{0RKsp0Q_}`5N2;ba1H>eyL+Zs6c z`Jj1gzvooh=&7>L=hau!XL}BMO&&bgsxG(k+|s9bc)2;x?Cu!rZRx3&_+O`UPI~>P znVjpod!a1Y`rx#p%6d{^*LUGq|9lsJG&6kmf|u9y6YGER1k8P(7ow?)Qzu&w?h2oN zWL<4`*P3#2n~22wmElhGUjOC(u@;)5rdGy|y))Fi8S z1hyh2B9s6;%@i6)VW>w&+YM|-+C-?^;6})`&(lQ3zgP;@6>x z&{Da#6OW4MMH5Bf4W{clv;m|eS2^)^BR0{*XfT?Yux?tUk-Z>$VKy)rg7f*|#&f;y z8s+*&!g*XOQ^SyI4B5-g_W~|RY_ud6e8jXdq;7-`%d_?ZN0Gc}$sI708DU5@ftYgh zeSkaiE?N=?7BI^Vshgp5@~nM;Co&Q(i3iJ=8tbX%&{etle!vG=6(dOitC%+HsR$G+ z&)N^L5vv$UB3Q?aSWmTr9>~pq1vtpz7)cV?$Shw^-2&ywvwj5vkaIDTyS-H(3bL^J z$>2vO-Uv;Bs^#7XcxREc7~(zf8`ISYy&Y>#d5ONt(Go^VdwyO#kW0q7$sJlVSd0A8f5+C1P+n zE5ev+53Q>Ws?Kr-1jxBqNjj*@(%3+Cg6yl!U4UpLHdgWg zG-BCopzehZS7*5ZaY$aQLmTy@qVAO#tT zl{^BiSsELuH0Wxz`QfpZH)~uM(+~5~5xqOa$KYO;>qhh;D5+X?nD+>=xkLO5bYUfI zL?40vs`fs@dxCi1AwB`!SxpyH6t$jlv7 z78uFGnMl1MO$E&rkRos#DjWQRMKh85KzK#HD^P{(h(qOoB9_oZ%7ly+G&ewjc*LP{ z!9-TQiIfeI74>dF9TFOc$^*qLoT=0oa#GOTfwxF<94f!}(a}peSf70GDa+TC>j!x% zG>-F{5Lq1kIhe=FFy;C~0g8y@yf&mKj$QzkuzF0nfl!!2!-JS&D`_QGeyL2yk5jNo?Z;Lv3fR7 zKhF0bd+yf8K704Q|L+BE9b+kDTYfapZTVpPAl~*R_?_i#Mh$`56a${X1X2-iTM7=d z(#)urpl zGPbulmD^lrQovrb@G7KVqetg0v7{x4UxBOHh304;gw&+bc^J!}1hEuc%bqYtM?rQq zdOkcYOJRbz0$k4~TcB@1E;VUByk9J{62z~;&Fo+c^exDzMvuXREb9}*mEab3p#@q1 zovBG<@YYxkB#5iPUF-=9v=F*dqsQbCEpdrr8R*C+Bj{)-x+aauGt5nOV{&31A9?tD zqC1;&_wo6MV~M4Y>SIILYbx$QSv5iyU}||PF;W5k#vVYV@lbgUjty8?-b#$D0a0kn#9OA;CXhIrSu*&P$N76?6mAnjI0AM zvj;4tsgOo3&KIz?1d}4`!E0=DE2$X5)e3z92TPNr$Oe$l4ziM_LwdEilfWL!{YjDk zfOptgR?3!0#{n#-FQN zd4Zcsm2U_AOM?E5-j!=YT4xbzVdKLW8o7c?X9|DL!aXVODFmk>#B!pi*H*`D(COhRrdM+Y2<(Qvko0U z=rzw6xG?`M#n#lY{<5%suC>}UbUH57ynnRasDEx?>~8B!&s{TR$XR7+xb8@N_+{l> zM`_WUO!Z9uxaYv+n0m6{_SU(Jo#ISW&7FtA#cvso%}&j>@+IshR2gXrdYO}y%O>!usg|`zTL#8s&E3!~s^Abk`{59`?b^5<3c1M5g>#Ogte!e<-bjOmi}qcc zT$pk7=)y%;bJ0Fr9J=g^{{r|*HR@ud5$Z$4RSnB>C=4q*JC&T?o_zNU4KWI%98kC& z!CpC29c^$cdHJV-HAb!EEtQET*d3>nqSCh|b327gjL77*l4kUlv0T3t)33ebY)jJi zJIz4N+T&ZYa<<3*9pCH6e5<#8sOd+gC$fc;z3hgmW3Q5a7TkWY>4PL?$(D7(v6X+u z99p>`CToRPG-gGKh@%CGs&Kyx*9|13Jo;Ft9X$7@>q1KD@W8zj{S}Mqwj0(MDh#U) z<%TlDD#J>{*M=2_Qo~n<62o%CGQ(2Cmxd*V#fC2oiwp}53k;td<{Rc2<{IW0W*cT1 zW*R;-{M+!U;Sb|{c z94=YPCa<_LHSIPtoVNI$9=Rv)l@>Yu=%&9IHx}kw2%hXvwd-=JI%7xDjxIlFo%@%6 z-|nqteW{H;nIXS19f+d_}q;dmk9@>9=Y>WiQ2v;z+Tl*imdKyC^#- z+bCqp7K#-Gp_o%PQ%oouDaMrblyww+iXLSx1*Ygw@RZe*Rg@JJ+Uo+3|>$H*h(A@TtE2f3I0jod^2LjFYlNLGr;IfmXhJE@D`W^Tfvqv z0$af5uo=7=Hib>#P4Gr|18fW%!Rui|cpYp2>%&A?57vd(!fRj{Ccru{1mj_Ccs2YB zyb4|kuYk2+9K3u!dVqmJcp1DDUIJ^vi(vp>1TTcq@B$bGYrty49ATC)LzpH^5he)} zgmJqzAEB4!Gg|$h5|`Jc7eD+R1jHkx`1Bb zTwq&ZQ9vxvDnJzsKJR?q@Lcjd`?>hJ=y~Mx)6eP8ouAu2w|Gu`uJt@zWjNdzbEbAC z-!amU;Yal|@I(7`aipAd4wu8=P&o!1G^gvN^kn);?n%Z;>Pdr>=#yQ(Qr~o6t}nxv z>TBSO_U$?$J&}HbdxCL-dcxoY`a~C7%1&o<*$g(7ZNNseyI4|II*ZFU7z`@IfPrRo`AB`zeYidhAF7Xm589`TE~Tf_xpW4d zN;jaR>0RDZ?{sgjH^ZCiZQzae?(&j)rF(I`7+zE_1242!m#5S--IMFd@T7XG>+fYW z#*}_AF7(Uu%kq2bm*Mxo?>`Yn;M?urI?rE^H}otB{;li$?M4UBtrvg$d_KOB<@x-g zR>pOkoeRGaY0D!oX}+VTtz9sR`;R|mv5d5gvTWxv+hq>R_AL8#ne)x%8LM@@P06`g z*K)4qU3-45@Y;)OC5z6}RCb+qAMLvAKG}V?`(oE^*JJn9?wj3ryI#9KyB~J_b^~^U zc0+cPqS=>MzvQRBbAr3Q={a1S(8jLtRVNrRq_MRDG%ebsg1^x}Iu8 zHKuN$ZlrFanov!to6%;B2#8vPXI7e90!bF{Zb{hSRz^8QeS<$&`One^|6kyM#Se_$ z{Ode`{hF(9@hO!WBwmJv6Q9lj4>K}!xbN}LDkDg|rxw0^x*zDl=+WUe;!7(vw(znn zqWJVvAd_KC;5OsmR7Py!Hgp;hA)BJitnh@*vc!kkn!mO;5kMHf!mJ%Q5mt7 zS7On_rw4+ej2;44iJz;S(+mn78BLuB2TXo9Q-)2=bq6Zvv$E6S*L})@hd-+)8s=32 zbgQxPc~!tFe|2X;>gCb9b;{Y9zOu{d&2x2S>i)gYl^Vt23mWD=&W8fL&ijW?&A+@) z(Njw=s=wqa=M>hZlePW2qkZ91pQ@~9#;z}Hy)7sxogVR0&V8x%y4bx{cXYS%^S%D? zx+&)&JP>&g#Zg|g|Hw`vWq@R={U7s98GhS662+mHcnm~ECt%%AT^e1&u_ z2s3;1xQn4(G7UQ(4v7-duY&8C#>DMK4lf-fua`&NO#WAyf{!=xh)hW5fmX~6A{PS% z$Remb80itxuY)_7Jw)zuC`_hd&(lLRMf51po@uPl)q(`F2z%Z-#8^cC1KiK_)#t8+ zQe+wqJY&R3M85$ZW@hMfe}SIKA{=-oh_8r#6ZByA=ySE9QkjM$&m4&o(QkoFrm+DR zg5Jm?9C=nqhKSAwPceNBxCE#}rm>qxMr0zo06fRcFyO9%e#jzr^LFI)-}rE7v1B)I z7cwF0ybVS$HP>*b}J zY@XVf*gmzLL0wI-RN%hjmT7I$I<$Cj4?sh%M%%`M=}bLC>IP`PJZLX)7Di$a`Y>G#1^tPEqW1GKq1!kKpq@r|XYgD|Vdn7bR=RjuK| z6CzQu^atQNmhlGe9_T=IgbObg$%v)@37W8cH*ohsp4A$McnOFsmi`d5Vr6XL{t5+D zM;ziMBR#S7N8k=t&j#*6D6CrJFfR?!yhG3Eodyz}|F=X6`Ux(Ky?hJOmv{KX442x) z_c`QTI_cqi+T!eEKq)eEN0JGKvouVo-q1pYxhwDrSrsSA0EQ@ zNwUG)tOye-6I!P*cLS=C!*P-vFrHOzLS;i%iYzza4RS6{k_)D?G)$?!kiEj(9ry={ zjg#bok61RQ(~+W-ceYRCBJ;t&SwW^!Kge5wI}S7>HF1&8!F*Phsnj0|QV5R&?MQE2 zWC8e+HDD?Ygd!9;51K z$49;Z-?OqdOV2}D3gK@+A95-_vKVY^+lDO6rOHKLI~ zEC&~`@#g4AXlaeNHxF&8mq3(&OWCgGXfC8v6Xsh;`gg|#@D)DZ^UyIdiN#5HeDYys zV$zAJNSi}%_WvK1D9CQ;V22QX_`fI^?D!Hw81R2pprzE6O>FseH#U$_T06O=r}aT# zdTH&{mfqI9z>lT2{|)xOAp0l!{^x4^+ZrV{eDi+yQy>uY6P^AOo&IltPJi`tBMtoA zNdKpAq@V79pYDL4?tuSccffxsmmjxNYIb|6zjpP9evdgAHvYP`Z2Gm4wfa%`#Ha1b zsj}m)mo5+Ul`pv$^hhg+QWL^S2R{wmRdjnwVOfK+@8Iq$M^!6Mi4R`VF=E zEqLR%qWnqJ%tmVIQnySO+4stk?_Zj}W2PGKUd`OP(bH&OrZVg0oHf5u{jqeekpf8>XU^mTZK6g0l+%MT3cYw-+u z-YDqH_X_Fz;2DzNc%U!;U`XFTo*{XSSpE+4kL6Bi1MrrK`TcUI1qPb8U~`{xCsb~1 zNlL7b9Z8%_J7{ctc-7ve&0hB5q8Wz)?IN#=FwvAlk9MM$eVAy%L8X1stKza~%%Mr! z&CC9>XvCpjo8nawDjIT-X+vK2p`rnYa_vdaiV)EcheGXUPx}y2uS1r0k!Qsv(Km+- z?L<%eOQIf!H0_I?6&FQc91^tMJe6B3Q*H$>Xxg*YXj`&JfL-RE*!9m6O_*1Bdj<{l z<7eDn{kG?TVO(s@!3Cr}Pu4AsPIj;Z_h_yQyM1c=l`bci!O*Q87O!47z0zmj0F4$z zJL&4TTyKNzPCA7W4_te?;);z^v)-#Kp_;F>own$0(TLFBMtY-XDzG}^?ODh{!SgjCg{lM+RWh`H`+y`5RfiV}s56di<377UQ z*}LSC=0Z*S;!=PB1TT8O5LtK|-Me7Vf`=$H$~&U(^3ks5?I#}J<)8c@Y93{Y;!KYm zwQ0^|UKG{ZeE89Hl0m=aZ*ufrlY!5k>lplpeNFA&7FYg8KN~sgm7?fr8~LI`x)58W zQPb!C?AaN!*nRPBzMo#`T^KCvsWe5N`JPt)p>Swx>vRV%94M@p_%C^;Z{B?(>dn=p zL9^T=K>YqiP?1HQk88y`p2cFzg{5iT(*up#6JPF`bxd~L%WR+gaL-oqeGk-yyk!Ah(7EDUdrXW5xbBk;zIo zAg6`_RUv#9e%eC$zAVg5?VhetJ6O~CZ%Pa(`|j~|^uhi(ys5=;pTd#(TT~CqJLL^> zi9A~_mW$+(^3!s<+*xibw~!O%T5^U0&o%DKw6%A$%`rB#Kh8m#QBY^an}W><! z71!{%g+&FiLaPE*F(~bnHb^DXY^hi(l9qLoqUIaRT37DkJgx=* z?JVq!>Wt_N?hNYm?ey++?WA=&b=q{2JIyQypT zxvEf=rOHsHsS;E|Rg@}16|4$U`Kr8Ct}2?!NoAuVtISo#Dm@img;Qy&G*lDH0cDR; zrEF5xD`m=ZWuY=lnW0QmCMbo3+tj*O19j)V?jM^r~dM{q|_hi`{>hieC|LplDTaA@Az*qZ~6aV{^2)Z8u;~?dVU?Ij{gSphF^=R<=0?p_zH}IUyZ5e%Q14k z3?t)LVXF9*m`eU@%xiuHrh+fUNcpcYulN#-gkO#+=a*s1_@$Uq{!7eDehH?8UyLc{ zzreiU7h#I{g_uHq0j7Ze9P^x?kICofVewKaviO;pO#U;>GydPR zXtTt!lvuwn^U;o@gd>E*ghK=uf-`|eI7m1^_?57qu#d2pu!rD8*iCRGI1ua!RDvDB zmS97$ChQ{YBDT$8)2Gurb^V9^%aoCPN7Qd!9#W5V53UEpgX&@6f%fP+E( zyVO11o$JnUr@9-squsmQq;BbMTsMXr)y=>S?bhWgbxn8Wx-wj;t_H4X*REsIW9i4Z z#~8<`#|)04k98fD9!)>WJ<2#rJ!)_ieYER{^ho*Jft@=p$W+rH9iGa}P5P zQx6*)Mj!4vBt4XVhOw!5~EHb?u6_9g8r+BdYLwUe~(YyYL4qy0krm3FoE zKiVzYAGN<}4{1+nFTgLwufXfz_3<0=2!0#h4!;-gf_KOJ;5qm+_)GXJ_#60Wd=maX z{x5tE{ssOOz8e1zz6Jjg{|!HcpTaMImO?8a9Y`PA2qDlm$PU^Ixj^oa55$4aK*12Y z2Jcg;XUR*nsJ|sAswrIEzwn_hC|fEAEoVb8bafQJ}qI@I_0r*ff9>PeA_@UgrOo(mH3&;fvsb^Bf8Qv)emsf3a{|VvA5&a;nP2!)OD!0ubO^+ z*Gye?dv4_O^7QPo3p?iSv!=T;cd19loqCH?%VrA#&0FV10^!GUXL*gYD{qZyhfh_j z|MH)H8$Kg%Ts}QgJH0h^cFb#Tuy&sFl@X|ZYh*pwSz!I3DePRyX!|4e)W2W{s<)R- z7Fthj?w@&IrpC=xhv=>uZ#ey*YEa*-uBeeJG!g>jSvGLZ!SZ;g+wl>!)($+FNU_sRJOe3 zNQ97h71U?qiRdNJUfF>F=RoJ6LG(xc6CXTQ{dV}b*x%m$_FzJPK1IMxAfho4N9IlC z5fGJ-cpcovY$BqULziSKDo+>D5D}w5J0@Nqtp(kXdE4_05Iqs`4{$HjRUf?)N|LGU zc}9qhhJb5P0*d$q>t8yUdU7qJToLhM7#z1F!2Ux2&$HO zJMt`%G!c;xa+t0LXadwCQ#tasBIP2Y06fD?FhH+?zRA3I^R^=@5%G3!@%_GS}X*4O!7LkKD0uf=EQSA%%jC3P{0gchh7Ki%k}o~_T=<0 z#ci5@L-)glYY@NGAQjsx>?-zFy!&_S3FwEEc5Cd(P=(z50B{D0jgcgS-Ao%J>Ne<| zJnI1PJCYY8xd-+$BaEm!pigr1gTN)^U5q3J9A}mrQFlQj@~neE7%~zgNd?tR4P&ZJ z^Z2?+(xk)WkxAC1wQA@r`@a$fzUk>yt7yFIh)pcW33 zvkfj)TmahB?KiLvKxwtSL&zQ2ELD6DbfQOZU>$<))LI`#?!(Th;`^X8UATdD1bSA> zJB&Pp15?EhKo7dgMwT;FU2A;=c?@TyiVHy>y8TAhF{rhccLaF`m!^vU7@S3#GY)v| z;h38OEg6T#A`4djdD@wC(zMxTFg3CW45JTkfzIAktN`D`mhn-8?qK* zj{!~a)wIYb;BC6eCjLptNfhpJ%itpR0o`MhtuN#%8a@WJ!&PZE&%hFT-X>c==(H%{ zIPd}PNwawlzM^+;vh{~TMZ?E|Zg^q3O)1EyYj3ta3tbfjxB@+}Ub@W-P(=6GYG>p!is=^I%^MP0TGuW=7A~E8Z3jLemcQ(5=U-s#N@*KSN99z>s|14cwzri}2kWqcWNnj6=mSyt}%w}|NvAqjzs~i>^bf9L%K^L~PVv!kwT z#a+ZY>i?gvV9o2ene#gCd>72S8Rom-Ki>uXWby=4O@Ulkp96lK6(#@+x9iS=iLi?*=l3sxNQR%9*~&mA~PJ zO~%TnKf4F^wmp^j%X{m+bERXirrg6P24;U}PW8qr{-jJ4Z#iAlIb|jLHs;7=*8cvt zyPC0F=_?TCGpE^8^^QN(8>TyQxsw&>@^A@L)|MVG{Yqp`^V}_eq%$qt$53wXP;MnCw`7#t zd6Yedxz{3WFEeCsMbKX5z{82|7llXHeLuV;=wnv+$2B2kJLSRI!xKl|e7`U-ar{}E z{Q1a?`^UDfvUDz2X2+FTa%Cj0Y%^EZ*7r5E=(^a~UGn~y^2w;8)nZ>O$$L!s`P1c1^vXD4Pr|THWQ#oqGSHY%;j$`X}GqsrO&Y zCIgFBfAVEcz5iG?`CHNTkG}3x?_0_yFBGl*=xa6gzP@boT+#IpzFJf7-;_-T6s`W? zE1!H{RyKL2=z6Db*W~-BWs|3iR(JYxC*S{3HhHS(`g`Bp$@jMtRqga}F&+yqC8F){ zxRV}Hk%^1!mg5{e(vsSe59}$>Pg(X&bwD5>^V(Vr5CuQ^?n zlepf_L-VBbj=hOrcGxdf-BC50aNX7fbI*9k{e+|2aVie0s+JUF8&ZERPFPFXAVf3wd5&w$n>?$KlaS-om z_|LlYI@dctx!&&0fzu;iP(>4me$i zuGd7PK#TP^UG-mp=Q6**)$}VOY&x`gt*d@17?9Zom(znq!)YCxZXVZv4xY*EgrCt* zi5k-~H?2Lc{|r2x*#tr{1Z_E%tFnA{~amd zpNbN&s$tci|CSUG@lQqxKs_6I`maa#fVFPQ|1T-vpO6x8O6AnT|1BwCx$@bLPVQ(mTM!ob;h*XtUmN&=88j=SXstNM z936F(!AY}%yK=VG?3C4P2U9xJq4-2I%?z4))nFx6mrn@%Ekma6`hP|59N8(ujSGsc z02yICzJdwLy_B?Vm7s+}6Kh}rygZ>I0z}iSwQUzb%Z0_(003`EsE7pBX%X7C3n4wB zi4Cy$aq_p@lFyew98IXr0w9u*XM?E0feB(3s7+JRVW~iNLhJ3w(#Ofin~yJdor@?H zW}0g5)I6+7*Sx5?zC2ptC4d-0Yg=R`+@2stKr@<9houJnCgj;7YhX!&mEG}Y0Y5i+iT98brWRFhW>{6Pya;QtDB*I*riAh<3$G6$TX z6&vs^py8SXM<5IyOpeS2rL!v>|H;q+e^jAGrcMr-*NWIJ(e~We1UJdHaz#I50(g6V#@wtY_IncD2?A zkR&)GMSKf1q}#7&?ShWf@(v(raA}J8HfTbRUeDSCF>0+3B3W>Iiuev_Mi;JU?Sp=+ zR?)$O$nGy?>4gahPH`@U4TY7D$V8zc$2QZ$@V0)M-*@jXnw4P8*o@%bqaD8 zH68=n;MZxWXW%1x!Y2M{$VcRK9O#5Uq@kXJFX)Y%_-CL%QR8u-3!Y0um4X#?>}Gxd z6fJUc1-`)ebkqy5hVHbPe-6qJHM#8Mv=2fcAK z|2L>q)Occ2*{ie8k62pYL%P{ncZT@-hw^~mwT?N`H|@8gJU3(lE>6!c1Ao#3jg>>8 z&mwJiWEyTv&o2ij>7~ZX;n1ik&mED%!|C~4P)3&+D@Q;J>a;x&6cL+|&jSI5nThfx zXlY%Z2eOE0l969A$VQGIM5CyP3ei4;S_v*^6qv9sL!0X&6pRw0PX?6_;u-xWEH-3W zr{sxXiP0I$jK4C))uh~YzE#X@d%N?r(#D9oT%gIgE{1QrK6 zQy1Zd;EDYiQ~|h+(NAE-L*aEwG(?-Il1UYUI~ayAD-nvTi=ZKTM8iyK%^(}d%%Yu2 zx#w~R$;@J$x^^$Od+3OXO!j!a64g zKqOwvMAd^Q8BRog7SvwX$Nz`J4kW2- z^aiYmbD5|{Fp`1Y!q0YaQ5TOvLS)da>coVM_9K)CuwAAmyKmW6r?CNdJX@NYqe z^-d>&-9*zz&k2Z`6RP%Yp+hLb7( zKIB~AcnUa5e4T}A1s^dIO!=0YNZ&dO{rTm4XZ3%ss?z^ABJMmVAlrIg*Z;?Di5qHm ztE=XY6>+zi+v=id2!$>o&gA z=;p^=TYs~?p}dfT?AO>$YTDvZvP*UDhi%NA&SQ>`e(jH4h?@L(??n59-VW~}BIOT) zU~J9bA098R!Ox#OUxT`Tz&`l!{BOVk=0vO_oZw5md_eTvYNlSmm1Vmt?i?y23}O`~ zf{9+~UH4Gg1IKbXe@J>aUM|gUu$mtHQDhmU;0-u3rv^HU!X<)@(mpNO*dpfe4^!sI z57VKpfcoG4yUJ!~u5jl*k9A2$vX~=%+-X5W_?WxaT%2!snWntE;Zx{jM^|}>yk&?v zEBhG#DRla4r{cHwe^I~;WL65-fz|8jZ@IGc=koENZ3?jJG|Ot1$Fd4mge!z8+y)Bc zf#^9``bqIcVa{v~9kZSGc{nLmAQG5Ug3Gerc=zytpsu-vR^MK^^ZeajSh@8T$;Th5 zD{>3~$vZ2{@bUQE*)MFFB*yB~jfSfc-rIRZt?o><;W|Lud@eI|W=}+jzIfX*R1Q3P zFgkRXizA`O++2E1J0#~8GsiGAr!erhjGW)!=g7YV%6h}XWoww>;rIU~%0LDL7Y@0s zw)EwD(6=bxGc_gkSFqdTiLHQe<=HHLSVYmT_x3eotv^Oz zr_GU5Vz4ns`?mvs#$XL{vxj|?ZpZlPFU#an--gE2u4AVq99?=S#$erSvd7*78)KsM z{1Z)VlNQ8?*M5mpGJo3$nQOnN4%d9uY7Qs7JFLzfx zUl_lG5oJ-eeBq!ipOwWwtL$K_&6=wGbHSbMVV4e7Zd{Iw_R6swLy5FhS2=b(DPZ;@?(TT%*ZHP@Y=#9a( zQkNoxWehW1g2zn6P3g7lKBuh)<>ve9UFd2H&ex``Exe}wb$Fe@Dsz%BbDP@hvsqVf z9=pc+oSs267xUW7)P#} z_@K$O@IcKb^Q<5moK)QANcyV_IC2_wdt0d{ajy`ZaF(3ep`8) zwOct|w&}<5m(REO4}5(4^7i@NU((7q`5k}xY>VGO$J@uZy>|1{!Z-am_VVc#-+`95 z_irEEeKXB+li#tIPqv&KXnK3&w(V|Kn#|~j%gd52-UIb-vu+c2d!>~d`MJD&yoJuJ zD4Xf4pXpn(=yaT~ns3}GwNr5?)lSCwsQJWst9i#U)EIGeHF_LPjTYyn<`w6u<{3v- zqsDotdBnM^xyQMwxy7AOI}zuq<{Ecg?ReZVwPSHEYA$ikYR)pR*@}1%=rw}X?9~(n zyF!3x<0%SYzhD(xF&~azC0NN`Nm+?rDS+4z1wumt92-Z$p>YCDwkAarttnW+UO`!b zULp8}{R`z6^e=+t?B$f@=;eZC>}8Z?=w*VX?4^{Y=%oS;wgyE5ts%g&u@tO4MxdRu z@vHVi10A!)BOh+&DbNFv{Ih&2e?Q-bPvGnDHTWq0NTs;4sj{N-QDuH*Vr69I*-C2V z{z{ulLZwcnMkT6pq(WTLR8dj!s3N~2u_ChKYz4Jqe}zp2p+cuZqXJbi!V~kFcon=y zynJ3FFOqkbN9FD3+3*NF9i9dc#T(&@xlP;(?jvqKH<263JskP_81t&Y|b#uWeF z|4kmi{J|;26mlM59&qks?sM*8?r{n*1)RH>yPP|iJDl5?+nigNTb!Gio17b%8=QPh zJ|_>8$H~Rya&j;^oa>nDoNJhCoNP=sCkvCs$;4!GGB6pObWA!Y4U@)6#iVjlFe#j5 zOfn})k>8StN#rD85;*agcupK9j>ExlI9D-OIkA{n&K1lRP7Ef76OD=HurX{7f)~#l(Cas38+O4=&Y^zGEQmdq8xTU|P zyQRIQu|?RzYbk9hZYgNVYsqLyXo+r#XbEfyXz^+BXmM_FYO!yzZZT^yX)$ckZo#!+ zTU1(=LjtdVzIe6G+zlOcz2{;|n~NJeD6{uX-Wp)Sq=0Q>0e+)8sk4G{ z&HTUqQk7A&QIFBM(ZWs3H|cHKvT4UA%e-Tu5l=npD_7L6c)Q~Liq9*)tr%S~_}9h^ z%xVW$cN39Zf)Yo^2i)#8uuat>%sSY!{+Oeu<0;2;j=_$X90yqeEBWtmdDU1`;2vQQ zC-M|{*sFLYzXexZonQ+5K{(Bc^aW3N4X@<4;ds?p67Yy{l@oayqCTl3{0|*pBh$L*$3^`v|7G`VHd88;AN)FblsS>^?mqZ^XzEAb5L00` z&Tc4|yy6CrsWVHvr{uj~m{VgzO#7$O{_-yixYIwnxKcJ*&go;0=}YD-6bZPd^R))I&lPt=MGKLi1Yq_S@WT<>}gxs}vCOl+!`&I2e@Q9-3$cNC|`SkxWqPHLS&#^A}1lmBCp1-ZDcO3UZ~I69en4eX&A8nDcv zKWifPAs66+Wa@Qrkmh5+`W5q11}|;88kngY6OMNp10A;30e=wc-KjPFLD! z>kL)Znj8Th!zrm1g`hXxdZX+JwieCtt|B& zEyWD}sXY&^+9c#q*fK)_I&Hx|Ar=cE!F?1&*z9)neH97+V zcv~9kF_=hCFyhl7Ly?mUAc9@fP$gg{z0ruzfXqaVEvA-ZOu_zH(qqX{2@%<3AcfI2ZW162j;Ft7xEG-O}r zdIMb6uk+ph;1J)ApnW!4jf#C%6lR6qOuxU-R;lYwU7@}!?v)RG1 zJyuws+N_TMlb8k4N+17{GRzd|V`rfMSQ$n_5_d)qsnbGNjqa^|PUz|lT{Z6a_WAxU zM%b!JzxU*`UD~9`_Jy9yqW8`}m@mRVekUxS^%!K$XQ9t$q5tQz(C2G7U&HxllKC!} zmze(%67#%Q;UA#W|8A-`L`uN_PFM6l^KgneuwbEy^t-_}(c7~6gpDP#&hqysfS>Sc9?47_eu%fTC+fgnF zRNfXo6R#!x(kBbNX_>qr#~js=65(yfBkDxV4SUN5i0Gf0?6JBoUH^3^jpoU&8DD3TzU9~rx0?OyZlx@A`fOVBP!E^Xyi*rb zvqbM|{HWWrPaEL}?Z!(_ zRBqse=Gr@y^0j1Zj;|?Q{mbfe_yz^yJ7#4sWDDitqzbh1^A*cioc-m`MPC+LFTAciv*750 zCnycnnFyC~;A`e~@2c$SlSp#r9KA3t^DwYI^BFBA(cA_Z&Is@dz1m>}-tJS$2S9^SJSIXLqYyLgM+6H50lhv89+Uc_^ zuiUh|_C*o&YT#t{siH$wO}}yC?(KctEQZPTBkwcDRZjAnKHj*v!yUPUUcKl{+xg$; zrj@3|FE9-!0?$;QSI>D?asKv}ivt61-`>8t+crIX^MAL&K)Pt^TQ2!~ZpiZ2<}b}l z&7YY+F@J1cZ2r)^(EPsne~Mr*9sgsa#nD~fF|A9>)@AK(uvq*M{|CMh{{Vj-cN_@hSLZd=fqppMa0Y$Kg5n ztN2*_6?_anT45VN@R#vXcozN=J`x{+XX3;0Vfavd2tF7egb&33j{gmR5q|-H9)Avh z79W83$DhIb;ZNgz@u%=7@jiHOJOfY1)9_w+PdpXxfp^Ed;ZNXQ@yGGU@Gf{~{89W7 z{9*hd{6YKy{C>O>-VwhKzZbs;zZ<^`?|`?*Q|1iTumT^Zu&~#nx(%xoo(Zf#ovlt$ zN2?3e*lH9tw3-0J#!xV5i~wYV6c7yxmavylmY|mi7PA*q7NZvnRN1N&RkW%=g{?wS zL8}PRY%~RpMhgHoKmpKzU=e!}Wf6LjU?F=UWg&W@K$)#fQAR5Z7O)pk7N8dhP;3+h zg+>XK*h&;7w30xM$nE5SyjtP3w37j{YAGVMlLFG}Ib_am4w$Q+MP}`0f!XRAWX5g= zn5mvdrtPMI>1qigv6BFj>M3N(ZVH&HoXfi^MB3~j$ki*HL}S zCgjazBk~5aAz7cSN7f~4lh=^(jia+1`v{} zNmZmu5|30)dQEysDkVK5Js~|N6_Xy43Q6}#1*AKqTcjJLJW>wn8YzpEK}sW~kdjCV zq&U)5(iKuP2_Z$1E|DTg;iOPfFe#Aq8|eb+94UZwhIE>AisVCLkZ2@Nk_X9+hdIg$2}_K`8W{9i;6fYmy~t8)+-aj6@=BA;BaQ(q@toX#>fSq)*Z# z=_-<6){yX|l_VT#1!*~HDG5tbBY~vFBoz`sT1Z+zQXUMFl%tUaOp7mhWMS8BL<2ST4OUTGt^^#!i( zxtP?p-_1K{buT?jGbY%++4jbor4tDS>>U<*-*on?|Mi!al{l3olr)xLpEx~9c+&U; z`&1HfY6R7K$#lta!{heHeU3*TFE}ndUaY>@)zH=6)yFm3wZK*A+V84z!tjLs37-?u zCkjpoPxPNqaWizYck^+Jb}Miby7jxMxEs3LyZg9DyBD|%-TU2DJPbYTJ$yW(JqkR8 z9{nCFR70vg)rT5QEuadi{ZtiCLr;58AJ1sd0#Bi5zo&|qp_jdvk5{x;ftS#$-%EvN zNVBK;(4uJtG$E~@rb0KQ+tYpM(ewhkklsxPO}wHZRvnH}ZB0b72<=zJ4A9I=2(kWj zJ{CF1>W5ejxbSMFEl3_gg>!pMZ+sjz5M%0V5o2-BqQ+vtLe)|saGeAly&_iHHsfwp zo0tOk35Pfpr@*6Lyp^`CxF^-crocnO1x|%8=Rc%579urbH6{kUOFY8sd z?{Ur5#U$Vv;R&b05A^qnSY`VG*Hdjm23``HITdHX-@SONY(L?~tBc7%Ibobr;SVys zx)$KI!lbF&2Muz=Cnlc{F{P6qhpa;64NimU{^c{q%#k83naRpowBXCH^iJk}PcGG4 zagG)@(JyR{>GVvhb^By)>yKRdgu9$wWIUxX1Iq5CrxJ>iQMUJVdEuCmjOrST;R#_VEJUS`esSC`X`E&JnpV+G?pnDEqUHG z(Zfu;&m0MCkSZJuU7@`2u}LX9cdB9K#FGNJ`kMBFj0_^rYW2 zD`}dgTxvB}8H7meeSPArWNb*e}RgH2|IyJ@ae?J zSnvdGSeLH}@q}1AfB;`jjJyicX(ns=5Y#A4umeot!o)}p=tm1!%U=a`3$YZy9Ii`@ zi~}#yir4a2L&L%Z3Sa>bCPv1CVYK13d@V?+25S%4z+h5j0(hBbqQ}>Pur&$xz)sjG zDKZh{&;s=MYa#6#tOMWx?@5YG0#j+ldi-^eNlk(Suopg^6q!6IcsV)9lISTLLfdP! zcOm=Xgrxiw@D9yvo$?0gKuz8*tzuK>#|a>+`jVk%9|@4Xq`O>6~-p#XMoi-Gks+kN~+1*gV14<=Z=O0AOjfQ+X$gH+;KM)Uxrl4+tI&|!MzCC1L8-C-xac5Dd@rR-ha@5OQ z)7Ys8Q=%z_@O%d(&=c14_dq_iP6vT(_(KZnE@)0~T+iPJ1=cnm1ajfI6jT9dL&t95 zJ3-O4PKSV-Fg_J^4|JeAZQvh(GHM$S0e9hTsi^zletNfzFBYjw2u8;k5kcU^!i~NjU(zB+_<8#4t8JzZ9&dn{8G;2PKK}T#>Jj zb2DdZELHmc9$W%21c#=hUV~yf)|ej%2}MqBz!-cj9aRPn(4CC=!BD%X(G8e_U#FwW z!4Z0bF+UXQ7dg2Dv+##>6c?PPHyZQ9A&IEb9gxFw=_uZyxBe^W2jf|`_{^PG&=8}% z6TRS*bBTukAj`wVmIdMKhCKik;*JcPN^lt?&&2jJWKvY~Bt z!&CrEjLNX70@pIM3AQoNp1J@}U^($thRqvrBg2DW8wPx;z@Pj%bpZ zUjy!A1j5QG(2Y86Ib?yyYXqH~t`EttU&ZeiVlNcFsv$Ub6VmiQf*$51h46+m|N)~ApI#EdL)Gg!c| zH)Y+2j@0u`AxDU%S>hJ3m=SHtDufvI*1pIwVtbaj6)a^4O<512-|Bh3h#OIoC2j+G z3>6Zq7((i;Pa~d0T(-C!6f*2dtjADVJ?}KaAev>1JHSRpG>P>Dx>IlMhnylhXN%v1 z?F=D_^$dDe&-0sH@{Y@qljNOB0n2zCC9?7dY`{UD6;}C-nwd?ve&nh}XI7L_yYED< zLZ4Yv8riLP>C1LcMT`=DT z|H&>m9|*Gz<`45VnBNC~e;afK!-`v@Eym%JvUn@mU4>hqpR6UH`P;0N)!e5kZm@z% zU~I{pnq-EIb==K;9V8#n%w@{IQ{;1sbF8E@O!>?M|IK48|Dy3&|Dp@>-p-BEZ!rhjzNRZizItxP zD`vUIy2_=4MGDYDi4Ju-zd0cqwtX^* z|6TOukI_JXEB>OKrUeZik=}(o;-LuPh&SyUaqCYgf9&egz@%EoW1|kIE$$`u2`A2v z4+bri2Q427()-ep75wQ&i0tUs>5a3~6=4b|#P{xLQTOzN?&(;?@w>tb;WBNsA$Q%^ zlDyEgE6fU1iLo^^ePh2Fm=dy;T z-7y@MO1rG_i`@a74YemqW0~D9oDP*1rJ-TB9fzX!ur$=|w&KJdG?oU&4#rh@^jy+d zVz&X8??Jnyp=zg#i}dJ;)Ii&<#8EwHkr2l3#;&?(8{0An<5| zOFedPHEMd$leKi^E?tAO=`@F>&Gw6RHCR1U8gZ0S{G&6pI~w+O?=|-y>p7&cU}xph zk)1SUjn}sKF^PnpN7&!CC#eut(>$;yHo?kGDm`iuGi!VKOn>^NN-O%Q%_v^}1Dka5rN}cn$0~MG z38>ZiDmLTYT@fPf=e!#paZ15?bnE@y+ae6Lmz&5MPFt|P@3~AoSHF$OuiWz)?yUva zD`)Mof{zJ5tg$`2=NjS9H-*bt_IsvHw(~<5^R@OIF?q(@qlErxUjOI*vwu?03p1Bh z;TygVZba`ke_E4h|L3Z68S%;I@U~yBYN89wu2(f_{n--Wb9tE#{&}~NGI~*e<-5;! zn0wBr{b}I0Gx)bHRsE!<+I+|D%P##o_rXa)SNJ33=ZEuOa%Lw#JiGf&L01U#c+a~K zd2+!!w z$jQmK-*30jEhifuwRpP3qs*0*dRrytk zRgqO^tEg4`t8A(WRXSA~Rj8^FzL?*{ui!u8=l>V;9R3Ym;qn5t1#u`fRGgBUQk)zk z=g2TJjua#1%wgs@vzS@V3}%KijhW_1FcQubW{NY3ndD4hCOG4man2ZKj5CTE<&0oP zIK!A>&JbpZ^Aq!v^8@pPGl&`Fe8+s}e8YU>3}6O0{g{4EAEuAfi}^3-Is7ZS!etRg z#Hq#9a%wO&93e)?5nu$IYD_if4dxA}3RA`5WB8m(OeLoRQ^Db3cpNT<%PGf{bILGf zoY$DwoL87voR^rFoEMlEoKj3F=Q-v%=NaZ1=PBkX=LzNsrvy{Nd5n3?d4zeyDaI6Y ziZK5TJcoawE7*5fcbIjUbQpGMci=j(9V#749g_Cp_Wt(n_V)J1c40fOy|lf!y`Vj> zJ)=FLJ-R)jJ+M8X-KX87-MQVV-M-zr-K^cD-LPG|9oLR+S7}#jm$VJH^|y7mwYN34 z3EOyWrESG+1#Nk48Epw|(QW@dJcs`sU13qtn!pL(1GJmP@VCgL>aT;lTa^F$OY?Mv z|NrRF63l=%1f#gfvmnPS0MGw|(-vUOff~Y|xX5#0 zs#h_d{}pE&Z+dC3wjIFj5d>@nnhCe!Y%YQi zygXLhe#f~AhPMLkj}BUCfW(93=eYZR9z;B7;C31;!)Ah6LZdJStFcSm4tfqWx4$BTo(b}!)? z)+FwkfM3>@}~ z)?&@!dIi>2$PA%9UK|ceyo6dT8E#U*vqEG9NxYZ|D$!K5SxOKfw6>n~k_JxN;1f`h zpeoHto4)|U2^*~eG`uYVbqUm(LWV*o8(<0Snt)P-9?%-K`2b`lY_tK?A8Yxd zVo?uJA{3LS%&5P@OX6kmZtwkh8FHJD>@_PCy|bftH}7mxKntErKt+Q#G^{Qk3q=c^b^vQ(d?G3abf7uu@|Qvx!p0qd0lX~{ zbp_l{OVH&nhYEyFJAsX`Ya%KZbfGos@>f8m!p5C|F&vtRx(ZTh*tL8dBosQ?0Yvy( zB8mf^q*)OhE{9=H(|p#lRzaVHN)*Hl7A8{Tzzej3wXD_9PhkWF*#`F~QscqDH!s0z zzaU-ECeRcf70Q(o8?tte9v-EScAz62kUg+Z5;YmTM(fvO89NdEZ?zEo23v#Y)JOHG_uTxO}j|ZTmVNV-P zD{3!vrZ(arat-cJq22|z(fil49HH=9r9(&_tddGC0C&(0H?a0YakUYLkXx`}D)kw)I%kgUwg>6DdEGZB7+-7@AJnG^XZ11b?HKZd7)I zMr-qqB4zM!YJL$IPM2&{_J9_Mw4IR(7@L+~3?g(hBV|u$sVL7Gc>|lImpm z?U(d?gf<^$J|AZ8IFB8l$BzFKV8?sqy@Nl4E&lj(&@FfNU;vPokUH`zh=2~m9^WN6 zaCZ~5_3e=d^uu{u{rpyLIF!G7$dN13cNV``d~%~D&v(-k*`8Bnb=lr^L7abrV$ApS zd{57Bki?zvNZcjok$C83jFmV97JMizyS&34K8okt}a+fub2le(`i9qaon@2h+`y5EHfE@__tg+LbZq9Rv0GX2bp27S(2-8f zF2xUi@8Skee~jfC^{N}Yb7#I9f0}4=FPnZoBpWaCmq}(?M8;jSucj;|1Ka_1=AhP~ zU|qQEjh1ZSx%=xAJ>SX3pF-s`Kkmz>V;kf%z3Llh({ncmSUrDP#0`^D`}1cxeHl!vV8`q@w( z>D|dI@$K%|GCT<7U7qW>F>^XOw~=u=E!6^+>L* z%02kyJR@}9)rO!E^G%lCZ~AUYt}V+w`1!nD=)UNN>0$HLmfrk6n&jG&+=Jrt`l0)x z8iIz+F_zvHeR`5>%DD%-&jX?RA{wTL%%v9I+`gWvYqL2AwN`r_y4qx7SAmmyHpez? zwtIp5=y@o%$>=|jv%@@_W195sGI1w755+X;*(KsEJe#ANbnRkrt33}zH)-2N;-u7O zcGDWWAlyglA$Akq?kuj1+Ke=bR+Bx7>Qx8QoVeM>iQjca<#|poiZJdGT#CH>W6G@v|4q3k|+7m>m=QaO)dvZ6` z$gl9w^|xzxIT&Cvns>kbXiw1ngLP=8DV+kX-s|67(6rwUh5K>r(9xzPI|r6>?3x!f zy|Hb=Y=RFxX=HAHp;EuP*|X8yCSTc4^^ivQ9IJnAGoS1AKso*9CEGJ!Tv$8T68Ly8 z73J|8UE4*UpIy448&?_RNnf!4#wK?hrBeyEhsamKd z`IFY4yXzxfXy4`~c!VnXfR8sLVH2L$DCJ#uFLyYkd9t^VO96l^-TG>KT>|p zc8%_NrgL<<)IhLq%bCElVOL%`xXy`>V2&OsRj;HkIRgjmjUY&O!2g=4oq?WpZ} z8kMidsS2dg7CPPfb%#OE(rx2?(CnDhM zLkI$P@by(hlwcA-2@=EtBs7Bo1w!bc7@8<53RvjXU_vJpm7)*`3P=mm36PVu*S%w$ zJN7x}-o4K{Yp->e|1jp5Kr+W~{=P6WpXc*D$`%6iAae_IWplydpu-l2l@ANdg3K(; zl+6T$Ac6%!nIJF?GPN*OHWlE5@D_Mwyuc*L#KJ_`M1TvzS>Tj$vMRg5g42 zJInr4?N9a@wKMEL)c#~3OTJqjnCo>51s3?5+BYFL#W#32(rz$skZureXy1U`5PR@E(ma?RBoBgzwg<#Re4Tea z?K<;1={n)M_I1d0u{+N_&7J8^awoWJyF=W?G#)LD#-x#G1e!JtLKD03+|t~bZX`E? zo3Qoah7%Lw{DC%G@~P-4pRrHeN++k3$=~fN)=M;s8!TTYB{x-nooU8&8B8j zGpLWL$<#z@JT;oip@vd}sex2~Due1ty+Nf>sZ?hwnM$PEQEjMas8-bDR7Qi@8b*P)Dnp6}OPF+idQ30w7Rf(!VU2vIonRJo347&`t^tp&!zPPlxw7Ljg z>RhT^DqYH5ie2(u-nwMFWV&RyJa$QTNpy*KiFV<*gt`Q~1iJXUFkC!cZn)4~s4mVf zWEY}~or{gj85b*;<1UsiW`Rr2MC7#-twa2TZX6WK2y@~4&*Ef25 ze&W4BbEhPkK~4t`4E3B}_0NCm-y{8=L08As{w0upwSN?(UjaoB!IcF1#?bc$YuObv zAc$mwBJ{%73bKu%d;>#vg*y;V@<$Q+;F|>cd!aQ3XV?|jfjCk*itrt7D9GLmZ7{gO zuJ8boNKYTs9#UyC2xSM{0MbeN8+e0oD*&pb)O*3A`u4(U5WYeF5;2*BV0D4Jq z4agk4MnF8onlMNX*YW{=kZd#{Qh0|zbci)$P#&)33;ZO-Yd{v^KLkV^OKKnr*YX4A zNo^Vs8GK$K!m(rq3LGteU>O;%2~ljfm>(Zz8f!w9f$CMsCamQceNIXMphou8geZX< zt2FVf6&Nc{${k=GIbRb31u<30c$O-L#z|oUXtKtY|4Ya&eU z5eB%C{j~`wu&+wr0=f^=8d1RpZj;Nk321P#D%%2j2s0T`5f1o~6*dtxL8WSaOQUjXPk*l^acZ0drJdhhDUTbTT)o=1R$9K4lz0Q_EUa*E}R zX^ZON0<+|*t;|F1Tc_&3;kd)%+%N6;Xzmp#|nBEvoks% z1yH5Xba(_%vj%1jy@xp-9gqtAPRZ8c9R~GlIM&cG3^h6+4cI`D=t|`~fD`NX|er zFlI6M=fEG75e+ zlk=<^j7@CMYapIdmh1Gu2lkL6+DUK%57bJ|Lxq^YSo~WcjiR}Wa0NVGOS6TxVjjoh z-vKWu#9agz(5_Zu3vI(x#^Q5Xx#0H~!9bqO9|Vy(muI)E{Y!xsWAlw@7PO)#_8*Y#;e zdTQ={+Z|W4GCrj44zb-e&%S2;sqT=`Fd|eD3&aPM1Ir!t z^?3mxtd2v3F30YS52yfC9clVJCa75lbAYbE9*+-r5B%eq1`psHAEd;kyF z;3(1O1%W1Yu*=ZZ*wFZZN?^02z5(wZXjR9#4E-IO86WTg*yTtw;Dvz1Iv5EGV(a1q z_<)gPwgE2;q}6dq&<)t(_y7TL&{1N*3kUt{U}UHk7Dx!F8pdA8ec7Jt)S2q~F!yCg zu1n`@*UsE->pa))-FG{8U%OD?+Mk==nS1R*k?UCQhfYH`@h{}<7xMPMiM;*#^bW?wXUuO_{Ipn}+CD2Ov0s|4PFn2!Ux~?OjL|Xsl7-O^4{<)ydiiVk zPSx5Mi<$B=OSkUDLHq87@u?Sa_N6no$9yC$9~LEBrz(8yKK0u#^d$L8KXk^F_)hfJ z&t!G${zxjDU653sQ{?V|H*C7COd%@)qzncvBz$MznmRpeU!Tob}bJ%8#zpVz&4uY_T*j3uvp ziC0xGxci_+;X#>LJa=q%E^SsWFhiCW#(kG)IKQ_^WufRHy4w9lgYmta4p~(8`_H0Q zCGmPZ3>j*y#vIAswTCR;_nXY3l#_TOkF^Z7JB+)!&t9dsXjP30^Xi?nnKZ6?M^1gb!rK{a)%o*L=deEY<-(&{W z&*gpbh^DJuZ!{R)TY1nTzh7Yn)y?H~dfcF^U2Du4+56UdwK)O4++mVwy~=z){2TEG z(^}OW3;#g8wz)Cpbwc*T>_^#2*(up++38lw=14e&cq71ix%nFSVdA8}HN^Zk_-5h_ ze``f^2z)tl($89USi1h3{S80s#lsWpKiE(DT1yWPtxvbV;cGp2SiJtO{iKie%;C=U z6#E-K)>DUD)*rT?WLQreu3f*`{szN({4j6*a{EcT_1M(C`sr4FOZCZ~y{^4yZniK_ zR2!-`v}(5;Jf5TXvfxZ}^UTqN?I+S({hM=+1Z*DRoY8A`vAm)g#%TT8wAsQMxyxCu zoOd7IyRQC^)_qM0W?HLVac2gFe-KsxsykZagsP_F(3k7ZmA=y-2-EHCrVfVmHvAd*EDCL4W<` ztJicq7UPQE+1Y(Nt8-4bps|XAzt-zsAGV)tC+wYGb1o!5kCzU=mPmWVEK;{K6Gh`J z2KFX3^thco>p@MxR-p2~8Sbz+yf>&?%i<*L`hoB_Zm6B&)^!%C#%`4k=#w>aZVHP= zC5vt>Yr+-mOEJ2q@4n;w7QEIr)avzft9yWI<(y@W!(L`f3ks{mUh5juJh_zE?moJ{aXnGNIapOhxi_0$lwClBNwtH{)+Ah^D((aDkb-T-Ur|nGbFm@a5 z)a{np{k+h7q4~o53$HJvUWmMK=fd?1moJ>YV0r;_VdDk$3(GG2wC%NRwta8=+BVfT z()Nz+b=%9fr)^DbF}53R)oqvA{%mjbJS$_^$iAfMH)u7iZcuC(ukWdEs;{WesZXho zs1K-juXm`ouE*CK)N9qRu2-xduj{F6s;j8WsY|Jgs0*lbuXCuguEWtor$mIk8% zG!>c>O@X%HHtRO&CUF~f8*uA$6S;kHYjbOL6S~#8Rk>BVmAe(Y<-5Ig%XZ6j%W!+_ zmh6`37Vj4A#&HXE3w8^1^LJyodAi*gJ9XgQjNP{WY2*BvFKM*@uAqK(iDJokaZhnm zaYb=XaY}JSaX_(qu|u(SF}~QKSgUw-v10LfQBP4*QAJTsQA$xnQ9zMR{P^)ltp<>~9K~F(bK}A7MK}tbH zK|q0ffkT0H0lvVXK&xPNfnvdUeouZ=enoyxeoB5sen7r^zC*rsK0eUO=9Eo9zM??Pb+VAo?_m3Zci?5iZkbtj>7tlT3dFSbQ*W+ zcj|O%cEUShohqFQowFU1j)4wQM_Y%mqpG94BflfNBcmg^Bff*v5!~V5;n_j!aPA;> z*mPKRSaz6n7qdmDjzMaz^ z-0t7**-mSBZYQ?ev|F|RpFx?+rcbtdq|5snq=;0QQG=*PR3QWiKH>wS62U{fM^qrn5oL%{L{u zd5B!ZJH%VW8^miw4k8GpMnoYZ5fKQ^JT^<>9Ta!0xT|*xku~F4QZ;nqQr1uJxX-o4 zU%uZ>L!+id8Ojz1jek^FuVQ=CTABa+r~W-E-IZcn%=}jPsWR8y_W--M-v(cw4*007xplL-OQRSI~P3dWM-a0ggR&d_8o2X(9b@$$fPXO06C zK#>PDnab@Jw&j=0ua;jgACvf>f3q=rQ}&i@9et_hnW}74=sL_>PQ_h7kL<5SkR#Sr z`UEHf)5@t}0ei^hS_C!lMpZTeipETGDuMtUSz#jq1_oB?n?W~X)<#qW0~TbHjRbWt zx+>cYx&>nxQE?AAMfTrFSPMR`(mxE{jyV%iaUVEGF5gI42fnS!J`B~x+=!?M0qn^N z+5|XQS*33d#bBZ%DnbD#vWYeU(Jt8iEPK_RziC+dFzF`4i{ZlvVBB4}4V%k6zsY{H z{gxyjSUkCE6LSl=ySn@c>mVW3eCP!JPG4YW-(Le^-ax-%~c(%Iy zDC;aHKe8tV$R-DGX6^(Xt4)rvY%y(-J+VMOxoR_07ra$nevEYqGaK0x2b7alwlMWU zR<+4-)@2MlswW<(B3o`@V!+ty^5ZN=jB%9D<)?6|=HDSKefpk{!8(2$oJ0wIWDv_Q zPBUT|bs|abfK(Hxp;e`uiq9-@3^X#?G0@uOZmz|%kbr!jf@2>Cs^-TQl@J#&ITl^BAehu2MDfl%7 zzoy{V6#VZ_!9Pzq^sg)Zm+Aul2fp23!nt+IZr$_4yqVJ3-o~s;OF#CM$s79^vt3fZ z`R}z^@(k>6Ze>f;(yS%P*vvbj@!^Yh<^{tb4P{S|ihnGUgE>izK9UN%1UaI94J zvwq0F#B=J$H@Uzo`Oqz=nR!lr|GgUQDGfMRw(y~G>E-_zU{3X$U9&*M>CQ~(ElEz5 zE%uJwu`lx)|1K@d9Q(gDXTIOu;Ay$?y`+g-to5VMjp;4T584;cy2+vCg{-l%2_vq3 za#E>uw)sG*Zn$2Jc*oD#b>4`jQx&qo8Qj#;)32xA%)CjMY!^;bpL^Y3JXJ8e&G^vf z7f%Pqi`y59d!`NyE*%)3IWQ+V?$15-o+~>nS*V{~nDZ=_Ej*(y)gAQf<>K5LyJ6u| z2cPEk4^Jn4;d*p>T%|Wq8}E(m%{ut>U4Q0uVk_69!{aEu!MSn8$lj!bPv7)YrxWYA z9_=36=?&z@d&7If4?fN5-#MLF$@OUSSV?anHm(@n>v!;JR{!u+Vlmg_v&Rqb2D`?4 zLwns0K7HArIhFX9>+#8>#=F6$amCPH`-4wk^i!u2Gr1lgJ)V0voN2uGWACYhPoMSg zoJxE=Fp`=Z@=5n-(ZF!(>kz)~%A$dx)K?+7x_OcPN869LooGARc1j*~YTb5vU?4R$ zgr&Q(aG*bx8*)pxreNTE>VptR-TMUt-%?{k&gvd580brl3^CVTSuh|@Wryt6t;rwg zO}!toMfZOGKu;{g<|_-m3cqYS`t)w%eYg2H+nzp|OR%Nv3)!ah#5HdF1@Ft-9MXHD=dB9&ZYzEK zXJn1}JZu~Cadr5E1N#PaJkt(_UB!5p>3mGhxxY`RFjfbXx;c0ydfrthJSE|7$C`bI zb%v8wna@{vqjZiW2PkxD?AM4#Pi;88Aqxedt|0jcZG=Dg6}}H1w|;V+^}1KT|Mt7{ z+7D|suJKd08SlGlWt5q-6R;oFvRsvdp?{A$ejaSC3_^EPAB~y8YvLlqYTywdP zQU_!YBzoDn;z`993M&2=rtKX1eU0O?3fk-5IgIvQ?}_PrZ1=Gby(tbTs1QsUk8<5} zLN5Gacciy;Ros>QXYY+*qc*gFfKEkJNx$9xApYKndUvM=bq}k!KeAB<-xjt6Y47!_ z$~n|f=dKynatW2*o2VY-Z|uMu|Gj}llic}36$NUBZynxpWXqGykj=zRCE5t>+Z$W8 z47Avy^SD*bUe^{E6i!unnKVqeqr)d|Br4B0#;E5-=BnpLzEgh}`BwdHgkb>)gMQusi#Gzs;5S#sHa3Gt0zY$sV7Bp)wz+6)E`AAswYN1RDT%xK>dL)|IK_q zZ(hz4A7JlS+t1#owvWA6Z7NFGdo5;7WkL`ad~Gq z${ckVWriZ4Oi_502?~cgggS^ifZC7RhuVuWM(siEMj4?DQCJiPWq{I0>7jH{yHGn( zJ5bwE+fX{Ft*9-i&8ST%ZPZ4T7D^MPfkLA;pin3z3V{MqaMXI#I@Ir|wWu{Hb<}DU z47CcShEkR9t=~{9Q7cd?C}k8BwH&2{f}ob66j2H&8FC4^h+IHQk@LtoBZrVbkb}qpWIysd@*A=bDMt1pd!(dr{DE^dc$Jf;w6(o* z-j%LRhtS2|JnuAbrZ>r(;H~Wq@fLgWywbdwUL-Gqm$nzgOYF(>O!H)Vk~|5X+MWoRb#_qRAa)TRineARHMQoRU^Y9R3pMTs+_QJ)$lO3DmyGpH7qPt zH8diw{Ls`tWzRfEHVRD;4;s;scPs&~TzRRhDAs?4xEs&~Qy7M}&xCGGeY zKj#sCr_8(zTE;JBm714AOZg?N67v#h3BQcm0_L%&EP*}JvDy{eae5rdSde)(bb#5iL+O%4=TDF?B8n^1V>a=RM!dqdjDy<5wvn`UA zffi9qTZ^!zs-?Uoza_gRqb0c|zJ=2g+~VKj*+Oe^ZXveVv{Irnv#`0Uxx6{QIlDQdIk`E$nbREH?BDF!Olx*-CN|qNTQyrY zn=~6Y>o@B(Yc|81Va+Pd3eB@klBR(sQBzx!u&Ju4yeYpayD6h7xhcMh(-hp~-{jdu zYjSQPHrX^;HCZ;9G#NMPH|aDbdENcIzu2yKYF*Z6&l17V;Y)5my<Vu&J4rZ&gz2Qx~VDvx#sjZGFj#^GBPFl_>&RSPeu4u_o<&V7^GMBro%eBho z!9u8_Gk_<-5XbtD z3=D2)UgPq~Tb+KI9!YPet1~WZ1h&Ard<7#`hJieK_bPCPl!0J=gumkZ8?iDCoWmSk z06WqEg83O<%2(LU$~FiNbD#obk`9vD4sYQ5?`FL<$OvkiKT0bR z=q1CqLiU0+)x?u54@`2@qXm7)@=yQoTkrqLdFJz-FEU>&sM#bK9oyluBV@;m9dA}$ z{u|aKJG=&>DH%JN6i~O;|2(S>;~eYo21uj~>|{EDhiVmUSwc*3tixO2F-2z=^9p#f z*58)Ziphv|cn4%soOdx@z)Q6X7g%kWs#qWDW>u-?)mq{ORwqUjtCa^7QrdPw+(7SI z(FImFMj=isA9zoJ>q6YY`?W+nmKdWMr&R#dP;7J|9^ivoksYfaV-lxT2sBgTbs;yw z=e37&9m~0jAy6tJ`>JTeMM!3QuHq1M7)jJH^8_nv^)EqxVxr?Jih+KLi5|flY^}|{ z1f9mbjjJdD#wh-J1P0hwt8WjT$F#;(lmau9ay^1CI9Z!*4_(4c##NL7GKzve!5>tr z(jIXEwRyq3X69U0ab@~p_mDn@!74L!dj!8BR z{6i{#2c*>J@;JMG|Jkv&64D%dWdB%3w?q9pNn1HjUYd$ENzkeRPCLe9ATi+cIwFO& z14~TMss(Hv+c1zgu&_=yGhQ$RqGa9np!kA1g}GY6QF;+pv(N_NSksU$5%@uc}9uwr<~7G_W)6 zO<2ReebRxQkLecL8(eau*gmilM~M+H3-qstQK1f4;9)=;@WD}kH!la|)N`m%3U=qi zfOeqXk+z%n228Gpxk9gCk3S6P06scq@8-P&v+FsoP**JVVL&JF)lssWmj{;D!>&!c z{8rSijK9XZj*WlV^92}iwA{li1V7c6Ut`_E=0EKD3P>D-_b`jW@AW2bEN^Vv!=5f+ z*0E|2vlN`JFLz`4VrL)rbOQ=bD#pxm5ZYiuW8J~R6MIB}ij$==^F6q(p`6BIVT}`e zdH|SHurad|+|pp;&bp7aN$lwb;7(P>Og^}~q1>It#(F09h=)JNzUgSVdho?!=DN2X z!mEd0Y}>}<|C~^;HZ<$K1d7rph0wl^%QIJNb3i1 z+9`e?l5(?Gn%dV@`V zq%{Iub+XwH=>$6(M7LOZ*z!kOqri2i`2CQt;Ex94ZB`Lh^hj$A@OEn359tQy8$`ER zWmpBSmIS!t1U~@j0arE>Jy|@gCRb}5xbI|h03rqvjfdX6`ciuRw_4Yod9S}TTt8Op zx+^btVMEEcb#X0r*KQVk{T3V7dFh%@!Q!`d@twqzclYX_DnFn&p;Wi#*TJtv_)qVI zNmXdh@9JINdmTyZ^fyyh31wMF9Cb~-66qMzJKG(! z@i5=+l!3D$=b>oUG-Kc7C8L?W(&4?I(WC*JXp9FBV3+ z7pBEodK2HnlS&t-wkDPOPJCo`%f6Q_PK&!2cv+?MS+d!2`^9f=vZ2uO*USSFCI@e5BKF_{DEa_1%k8=VV{Xisy%;aK*k8Q#VWJL?#IGn`)JP``D@B$@lA;k=?i_9aY!xm3-XnJM-hVY++tro4rsb z8xJY-nVOz*DwED=6ju7&zPHK~ZC|<+*VtXU^fBqxl>H&EiSK*tW%|CeD|{qh(|wl~ zw@wD(7F(BoMD4L>EPap4OJexkyZ!20fA>WZ&rMGf=O>%-lYTu~IycBD;mW4ooRbNj zX8Fko=jJ6vI~IH0(@%9ROi#th`iJz&ytft4rC3ZX`zC~-Z;0^9fB7=A3qASqC~h{q zTb5-X@8{dT^zlVrRw*4^nENo_|9SAU{o-iM{G!u%#cdpWmG9Clx_I$tc+%qNi?|PC zvY*|!rG7o!9Ivx%vCsa{T*~@(`wKlehu=QdEt?(c{^rK5I;Z#2Z?QU@Yd_cCnYDiAl$-q9MKepiCGv-; zCDI8!(d;W9`PR^rZxqUOlD&`IT;ZoE8yAsbZBO{@X#e6Ksif0B61TWmBw);(I?&~)F_sg) zr%eztGhXBK-Tgp|G50*GaTD7~O@O`2r1m;>^kQ%RNGKgYQ|$h!TrQbT$3o!}Odyi!bOa^uUpbcNVSaBXp&a zh&L8>=xy}C;fNfIO7sf4(r`qUMKOBNJ8&rCrNvuxwYSnx#0!f|^fT|k9}&+i9;5Gh zEB%OgYLSS(;vF~`k!}%mTBmS`brZ0kbDtsCc3TyNE$rZuHv^<;FCNFg|U}>|DMDbNo z+3fgx{(;VZR^G-pHEAj?5=tAf{6fZAj>ZZM_i@-dtR@x-KTQ_O|7qo)f7we80gjPOYMKY|* z&{ueWV|m(db<2e}PFd_9>7BgXGH`so!LGu|vSz!Z{aaikCQ;2oi#*gz=Si<7v%^8^ zBe=;=!hF+nD!bNCVud?RHghq1jL0kBp22O~bviFi$6WRPsoA-VrMcx-FGd&YY_hWO zd=3OC||lvLFxEre+NZKe9vljcGM-bpEJ_2gmUI{Z1M6RRi9gz9(;CDqlF1fd#! zk5WBs(p0z-zf~y=Hi;KP@#~dNz$Q(E%kaudsxXald2IV%j1Y%|6~JX?DjZD{e}y^4 zN@Wh(#8aVN(M*|xGNCCHC{{u_2oq<81Vu9_2W~=C@KUT?&RJ(-qi|l)Y&mDGiIu`$ z#Y!cPx{0L%sA#6dfti>n%qdhtIBF)w<;tI8xI5Bcn_aorq5eUh;C@&~Awj`x8AruL zQ^8B2Qjr5Sfh(L>FjM3xnZOkGDpV?PmYJw1fC^>`90d~vg(chqZXP#_o5oGze&Qs! zQQR=@2W|lO9oL8J#fflTxG%U4TpR9_Jk7QlC&V@2>Tor6y`9l6e_Cm%&@3~!uZIcS6Rnl^4zBF5!Ax)OXOF7bD zslU`yN|QQEiBcP>mDEydA~lxkOLe50Qn(Z*Rgo%4XXhpJ1M{N!wt3-v)qMGU{(Sa) z#(eU8{5)qqc;0{BbDlQuJWrgrnYWs^oHv;_p4Xq(nb(|$&%@?b<`w2==Ol9)9e;uB zedvax2WNCdj4zBfMk_x(r>4ESC`Y}2Uor+FDC!>?lT=XM!BKjfv0XhL4 zkB&pfqGQm}=qPj~Is(l>hojl(Fmxz71brWU4;_pSLbK3!(Sc|t`VKk(?T_|D`=Wi& z3^X0>jrKx&qHm*bp>LvZpgqvn(e7v(+6{dT?TV(NUC>w2SJ2LAC$uA)f+nL$=*wsa zG;t}e!R+9<`7deZ-*UdCe2e%N@Xh_3!#C@1_-_W^w7#wWruc2Vucxo6uc9xfFQqS{ zFQCu8&!Nw{58r3dr`5N*PqA-Y+#_xhSBP`ODdGrmfY@E^Ahs6c#Rg(6@oKT6c)Yi# zx2dWqHH=;M7*S*)F*SZ(qYtXCJySi7gcf6;kr>Uo+C#NT+C!!~y$Gyj)$GQjK zW6-13v${vIXI#`HY7$k5azrVj2vLB@UF0CL7U4w(A}!Hsk)mk4yQjOUyP`X%JEc3K zJD}UW+o9XK8{civt<}A{8+SeMGkA&R`Kb41=;ytcl)WDH-HiTx{!)-v!uJn!jV`IA zD`@6W@k~$2sxcqWG2TD_sb7fwe|;NyTb_bI{z>af_A9@i*SbdvM=xZEPpul3u3}6~ ze~feUo0uzGT+~>Se4pyn@b>IJxWJ{3%RjA5hL_3S_%C#Rc9Yc($ArKc`kj7Mvo_;5YeA zH2O{rWR+sazH>A@T=kMif6I_A`%&s&`2Xia84h|=BXDTuM5o`vY?gi5@}kA4lhSK{ zu4^K3(7Z`_hQR6|bjZLiT#*j6lZ0sAG(2A*JO~{#V1z3&fF2S|gEtGW5?CFAP8cMH zEBXL~Br6TxJiJXHJOrIFC=P$LQct?QPoR&3&KtCbSNH-mq;d_y5`0pSje{;3OomtZ z0Wy+;=Kjrxw;kT~;WqJp=J}J>r>w24t*uW-`27AKNeloFRVkRVV3=TzLm;q;tfR$T z0iLY#H)XBGWN;kr0z1jhTFl?TOH~R4793N>abN+4(SC-pE`7a;p>$vve?)5f1l( zGh~f{rZ=m4?*lgEs*TKbU~X0UVU{k&GomL1Ad*$InQ)L_Wn#|4VB#ZsLIG#8r8W}* zeyS=rXYI!1NBAV~+NqnVyHjsL%|6~}2XG8<0YU(I2Xr_k97HuMI1rJn9jzFz2fsy!VAdRfKnXnB!UQIg+J%f21iH`wZkcpcKJ3zZ?$x)~c zrZN&A3%nsGZzk*lsnxV&P&-Utrh$*OElWfJhi_woxNdeR-o;naSaAS?8HR~S6Dmo<< zSVzg%ftZ7snq+HM7={*|k_MnD8V{`bhk`kn;An@(z$S{$Hs%rVWR3r6Rx~Cf+94g- zNparBJO*B>QTT%ukEx1wcmfzwGPW`Q!` z@GmfSF^VsM^AzEB-dQleM))T*3&V&}%mf@LupK-bu&T!DEcDI4B?bUjC{{aowqRS0 z@GLYBQyioC3UH@zcJS=Lff}oG&?3y27{x5Wiz3{?y9CbG2+u*wFbgq?*+2jVwv$I} z*E>EWuZDL3)oT51Sd|!^Sce=Sl;XUTNdnQe3g=l>7|YndrGv;J7kEp_*u``Ouhq)k z_rI-a4<%!x>aBMF(H=^{#*J*Kpk}r^@1DlP;!^SfKE+rUavhAUO}1lw!|2DQ6aWnr zPhH3jFtt|mB5M$16_-*7e4^y*LT-VtYm+asMliIvlp>&uGOG*m1mD+cUSf@7IB_Y( zz;}wV9>lv{ul}XH8r~ahs}){?&R~k;6ib0|3P+E}00(NV?4eT3mpH{TV2&cxT=ygMMgPDq3*V-LhDz6Vx2a`btD zpiZ5Y1N1knUA!U>03C(;JQiqNCvDe`;2QzDqXh~*p5_cS!)|(jZvsLbiH3wU5LGX6hFW6H9^jjSD92<&X;terQc?ZL z?)=WaYiULGqq~bcCr58r-hSA9!ar|Cm$~P|9@pT!ZC!lNhhkUGo+DkehCMBTr`8-g z@$2B%BK+-l!dj^&_xQi4lK9I^g85}8`L+3fS*m_b!QXTWe%T=Y0WAQ(ZpuIOP5B== zH2&hK_=`K@RJU|IP99u8KIi0iN#>SyXt8f5tIPN2oD**8#|yu?J$^G~3*Y@@KTdVq zeV4m62GcYa`z+)?Hks7*7cW5>UHaWAOP-@3_eJ>0#AUvV(^;3~X$fUMJ^|r4*;p1% zT0is`XF%8DR8q;}U+o5d-V+~&x=Uu(kCn(4r+g>s>3%YYbeZHuc$sa>!_RJAjGHmC zg&%La9}m|Qc|hxkD0AfX~M<%IvU-v{lE#? zQ`ZGUbke7fEeoCvhj32i+!9G6x7^9C@{RfALguhnql7WWSb`p0T3RS!ES){%w>7CO zqH%^JnCJEv^$(7E<X6Q^j{hFT1V$ra{IIUw+(wi>D+Q|e^&qCkk_;~x0u`is{h%L*LQDj zKDYm6|CJ%HPaE4qh#)aRzXQ&J;9%i! zOzT4kOb=5WEZJBQqM-M)D0pmRNr*)Eby4u>#)1%$?)9SJk&W*{gu0lb;NguqA?3P1 z3xkI?z6{CMeO(y*W8<@sWZmn9!GjyqLpZva!r+08DIxy4KMR8UH$DoX>Ao%q{=P9G zgs6MHAo$zHm>~jW@CbeD(MO5bP0Nq8Z7F>~b-ojK#Apj9{=lX8*N#MPei8$mS!RA@ zY!f2t%MsHJM~-h|b24#vCM}<7FJm)|-q%_}wQq$S-?1#slC<$hFiOkR+p=8i5^H$f z9c#-CTFuO2;JuEex4dmWblEZm;Z(|ydk_Be>iVAdIr#yvtRHJV7!R+w8$ow)H*iwC z*mOF@()|$LaP{^cjhx>DezR88nvo2b_j1~Z4f>S|g~F`lblO9c2w0Gak$v6Y+3J$! z8Of1y9LI>bLtjf_y%0!V7SD64dbHv?|4o9AV|M(ri{_UT_E6%ZjvV2`62?jX>_J2G zviKL5o$uY#exDX;_-O+ zt9`bg29(p<@1NY#5jaqhQgL^5wJmmlp8U-J{=sjwtMzNIKZ`tl=W(gUcxcU9ipJIL zYjyB-UJ-YL*&5!J8 zhiC6k2c|=ht%zN@bGglrtZ4gZrKcI`(?%Hp8b&-eg4_&)8usi(R(o~cPu~q<3;qjXRl7%rRN^K5>vDN z?w>!NNB@cImB%3jP03}?2dD&8JSq+qi;6)-qoPoes0b7X6^>$~!cd{85Y&CtJyb9% z2*pC(MFpams5__tlt0Q3<%{w`F;H}rH_8j;iMoxtg}RBlf$~6IUw{l9ZHzg6KJ~4c z>%HD)IdP7#Kqw;wU=U~lDuV)e5ZnT;3>T~qT5qvldA(p=&^n8C%IgHb2mNmGyYlaX zwLxnw)+(Y3l(J* zfpULGGr;T z1X+wMLKY$mkom|wWG?a@@-6ZW@-;FCnT^aszCyl4W+Go8pCg|kGmuY_Pmt-z$H+8f zDl!F`j7&muk&lpx$cM-W$OL3OG7cGwj6p_A2}RR#_l8?I|1WU}f-t@+KkS3*hp+btim-Ck@~|@1vanLs(y$WMlCWac;;g0Otm{IERL zys%u=f3Qe}#or#v;}Fv8<>l>)WHE_HN+U5zBocw7O@ffbmwA`dE;BEaE)yR!cAj~jbe?ct`#j{l*oJ45X2Y~0*$`~BZ6G${ zbG&nD=a}b6=LqMt&q2Gcq>XZDeSKG152EHQH&k-AKo1i_s>djYgVAXd{#n z!U%4(&Ss4X(%xqH5@klVK`v; z-LTKF*HC2GW%$Lg!?4ZplVPi2v!T$i!LZJ-#<0qeZ&+#g-mu)T)UepF&@kUH*YK_3 zYr|~ASB9B}&kZvSpBO$iOf^h4}8xO7>OtD;b*!!RV6gU3vgS&}$xp$NArrv#g z_sQLi5BtxA+|FK?dA`lG-L%8B)AWn!SJSRLK2{>r9@Ab^v1y;_H`DK?{iXw^gQh=B zhfIe}M@&ae$4n)r6DaGE)VDB4HT;LQoV!3fwS?aZ>j>)!Z~{m`5Re2EVFLk8&>(0M zvFlW1$ZWT0<)wfjy*hkkA0X z!Eatk)-Y>?Gx!oLG}%BY4DY=2(bklww=GX)o*z0gd}QRv=#jA_l6yX|lO#_Bq!pgZ z*EC{1Gq4IvxeA;mFJE&HtH3}QmU0caMaoA)y5K+g$$MBO29mH8H^7%P zi-d^a%LJOntO^4dJB0?YNX95gFI-)aY|Q##pwCWm2iPP}6r>NnQJ}e(Rc&C!PPq=m zlJZfI?{JJDc`vKpfW}Vo0Jx-C)c%il)A(Sv!wujuNoNCd5PtH%vG<-qO+|6LFA?3K zZUPoy2SQg+q$CkTk&Xx|3W`!Jkc8fgh?G!5G(ozeRD~cSRzSK^C4|t6D7^~Od#~Yo z?}z)IIrq+;bLO6z_q})gvS-cS-_~Bwv-hmue?5O@unOfT`dt+M0r<(vUWhymSuoko zd)HHcPvO)4f6y4moai!Ah>81BSPPSCYVMVz&5%s8Wsd@TD6MMSV??l6bL6|j|{}QTNO&y8=rYmNc0xDV8ijm<6@7hWoiZEs)W|#_UT62n% zc@UIZ%?lK94D@t36x6rY7bhP@#MM?_ph#kro(?|&jjTh($;T0IYc+K#(ipR+!~Zjo zeEaJq=@~LkLPrqMSG#Z#P{LF{)rtb|Thk0TCQHM zS+31GA4=?yd6xZ5KDI@j^M5rZ*NO*AtcOnO$Rmh#3s(RfW`C?!0!X(OmDE8aBI?`? z0Bg*NSgk~`!5Sy2a~AQkPF=w`B7mpOI!2PNfOuDDbQN&I+>M1LgWcAxl5{MhxUTgo z;D#Z_!d`;I);v;lB}8qV(KX;c=4CAG6*y^aBt=(2bk((910G^ZV__-aqIHZET@^7= zXJiQYWBOuYso5j*t@ra&cT zf1FkhNVXA`(ZM6Y26r={8gn8}>kAlegOky*LLeI!%z#?Vg*dHTFxG}9qho`RX>d0O z8gng^&NiusHeuZ3((=F*n++LudxUm_=xs_HCMGT|AAD=0B+KrIxY0nnP5Fh%iAyU0 zvuu21*_{!D2GKi|ZcJ-jS|M0yQ!LBwitucp-J$ej7UI&1z;c@nS$20sNQ3BI$}ooK ze}Z}Vx^Ao+$$QT9C+>QzZX{oTUg0UHzqa6msAXZ36!H}6B352!Be*SXmS|Bq_L7f;X7NLFw6i^ zwxMWp1j4pa(~2T+wku({22`@GMU$ft-i?)36ydWQ3BycK)0PuMjzLfwHLcg4p6;!2 zPR?^_Exgow(IvUSrK`}PcRsWi>y}*Ua;zw_4|~72)y23dvLE}fcgW>g(V}%#>_J0G z)x?E=gMX9oZzcRw!9NxJQ^7wK{8PbySrsU&Cema7UH;9%zjg3GEQ7CZYKiL=TkU!p z0rMl#d%NMC8r!qXicP9zz|Q|32r#yqte8qn|TP5S@GasEM;hULy=r|DL< z#_sZgprzS!8e9Ky>bzHeZ=QA;_gC(tPh1xRpKzGLJ*Lv zPM%DGskP8Tq`GzIA2%Duce~sf;eQyQ`-%Mrx92Z;ly$~R5l*()$A71fQ z2oN?%W&RjXTk$;+AgrItY#Ya~_#O`szL3gn9T!{i-5(&VnaXS#A71udAquOeGMmTK zmVHNw!b+*krg8kT?@ywzLMpRyTx{95nkbA)Wj2ftFZt#Zg=JEi_2X$vzHf-ar&5`9 zyWBBf50*+^O?qeR8FLUJ`90p}Zm!)y?~~_V=-*gUKiGca{WC}( z!*>vMLMUcJ&2yGBQsQZ3@!8yJ&MEN&;i0FOk~#IneM8MeF!wp%h|NAe#p`*Q6DEcy zZyd@M)Q;3u5EL?*lo$1h&}7VXWw<-?n8XFN{PgyCBH!T36xNn z&|6DL7Vk<<X7zUBXP`9#mV7LhSYP)m2U_K-Z$LQl8P#|_ARg1 zpVWwd^R|DIHu%UEu5!{|hgM?u*RPWr_sjvx0MC~iA$JYHen4v<4(&Oo4?I5xR;oVxn&bp z|MU6j)5h1|(hSrRJu$zm!|HxMJAKml(%TpVp+pSkmUUR|&zRF<##(QK4R#Zj(7&w0 zm_MUV3mGfFbvNiw$VK0>3aj}UaT;Naev30GOYlVhB7`x1hW!V8b`x?HauISCauRYB zauBi?vJUn_k`{W-4VJiWG-YTWGZALbW7-_kn!JM3fF~< zgbanQ30)O35V|6CS?H3GzL4JTe-EFl45@~Ch8%{>Yt(Cc*Ep^*uTrn-UFEpSG@u&j z8E_aduTZb(UE#RGyiC2UcbVfd^Ah!v-X)GpOns`po<4^@Q;({rr^lhkyhy#Mcah^F zQA+8o+UEvlBD7Kav7ld7qw$)U;Aplax8 zaA+{qsp@*_9O_Ips+yh}hZ<9rs;Z~Tp~^f@J+F73<2+M^s-maDp~6(AD(fk8C^MC) zN_t8hN=!wnqMjm$A`?r+>R~ys|2=$eL$)GYkj=;@WFxWxS&ytk)*_k68YBZ*jie*1 zkl&G&$O>dRvJ6>@EJ1!lenl1|i;#uL0%Sfi51EVng3Li?BeRg7k)Mzskspxnk?)Y1 z$hXK0quY@Q; zxL}k3Tp$VoM?^tzD2gA>AH@gfi{gdzMjeMAk2(fF7IhSUH0lWaNE8p8CyE=+9R-KO zqqyK)Q6LLC1J6epZBiUZCO1;Bx*1MmY;`{Dbe*x~F^`{4VcU~pIz z8=Ng_k83ZI#l?!;<=Xvk;B#6aInXLlCr~1gJ#Zv|9*`bD4zLQ)36Kb24;UfRiRnZ# z(Tb=;lpwMbNBrsj>HcJYD}SB;;{6x?PxuU11Qib{aw-Cf`xW;ovMI8#JJ>Dk26hd* zf?dKcVCS$i*eUD;b__d;{f!;M4q*GRJ=iX62lglS2euX4jBUi$V{5TB*lKJQwh~*8 zEyaGr7Gn#s`Pf`+4mJz>3Ht&24*M4S2KyRI!=_+gVw125*f{KS>@#c(HVPYo4a0_F zDcDEY5Nt3u5KF}RVSTXPSTC$6)*b7Lb;dek?Xk94Yb*ha!&+ePVsB&3uqN1>*c(_Q z>@}Bb;fPeTpV6}77V!W7{;hxT z`5%1#2cQ4J=YR0|AAJ5#hR=WYZ09XXdX?sggWG6JUGB0D?1U!IUd1z;6kO626 z(R?VBkK9JkybWFsCpn;%WPx`K(E{ilANd!d@-}!ooaBV|kp*%XqJ>Z`AGw>Lc?Wb1 zC%K@DWr1RbXc08QNA4$7-U0o>Np9#3S)h_3S`2aWlZOeKcfqi5k_TEz4ya{_euYl) zlm8GZ?}AC;r2A+eIiQsx`VG?OCr=VI?|~n}Ne{kc7r#Bl&->@Y>$@h;r^7t)*Ry2m zGj#8C@aevM${pf^hU9@!2CWoI;3qE=f-S%w;Uqt_nLIGVpp`+z{N!~4nt)VfY4Tvma#bynLM37?85C*tVQ$8l$d)GF3+WCH( zOIChUM&Z{EEPwBqW3Oz3%l$GJnc^niqOYUa&c3nNy>}lZH@M#KcabZNd{H!9$C(l_ z^zZU-4*so!e=_)I1^=AzpA-Ib!hcTqU(gB3QX@lkNw&Va7HaL zYHxPh)jNbz}g(^9vy5<=u!jcMwGy!i2GkypDmUWHpZf;xV`WcT%* zrtkPU**T#ER_&H2e-qTFxm;bB7H!6N+)?GVdeO_*S+=Nk{7b{YMrP*bjIEv1?!&Up z-pK{WfzK0ldsP;VX-!vrlZ-d%3Wjs?>k*Eu$mlWtibdhXuK`dWYOegWz2x4xfJ$%jmhB^;XTU7N2t zMg4G#GI5UTv0t+|cV{uFAkp^20I^6gNYOaL*00S#HpxNv>;tFjZ1W}Oxbw*w&9;eo z=D(fe6q7TWY|Zn`e>lgTP0nbvMdX=RImgK-XEfM$=bGm_$DK*esJBhbHGl0KCzYI0 zXKS8o{>(W}A~~bh7LjWn;v6TEoWZp1{$lRw94DBZQDd9<#hlc;e#1HL zSaL?SE#iy0wsRbJat7VDJI5U39CtW5qslfh$6VYwjw3nayRCVS`BCRM_T&uBPs)^& z%$(m4ACm58W#$TgjKqIIe>z9WsLA;OYPWA2@icA!At{epyF3iGQyMsdX5)l0;gBu%@n}~3jP;LMu2jT zo?{J}fbW6=NDDw4pvQ7k6D4h6>Y0B8yVY(7a?Cj`Ho`7zFf0c zyjM~Q_pZzIJmE!u={wQkS*`uV?D5~^di<`c%r)wZ!JJP59WwL~oSDnvE9UrDr(~)g z@kZqkc{;|vS1Fp^0Ra9OLnR#TP7foF$E$4jMV3@V=+iD*ezo!Jj?I&en_MJTa3w>D`~ zzyI0ici{S=yT@csXzCadHAgE`VRQSG56B#B6Iz`(pvQl9%dJg0EJe?2I;{m1x-l`UWqN4qbnC%j?D`moeZSs_de2&0 zeso-b*F^=Zuq?vL@$__Pw|YYIqC8sVNt<4T9ASkgoeb^LCxkD~qg1GEiV<1(6)@cj z+O3-4yO@nqdE6!yA%|b#OxJ;SzfZs~x}j9aZTt~gxRw3s63}kt1aMIvr9x`sh>*jr zu%)v@yA=~G-FbPHptkk!EX$Rh*CYJ9FZAUzZ3MXwu`-GH=xGD<%Djl*%d z**L9P>=nBT^*($IS+5*(9~u{J7JJFAM0JA?AipWQ-|rfuHHjs&W2sK?4&(=Aqx%VC zqD^8+>G0{e`1a=hF5?+q6aI)ch{dtXP)*@k$lJ;}o@Re&^iO?ttCCBi*xA0 zpCEaZk)Ehgqgql7U6ex$PC~LN?|3YXv@%K2bYTuPxG!=+sm~*4#E40Xq9Zw!;U35# zrBV;~k=7bgBwc{x9NYofs`SzWHDXjlil9RrXgD5OsYLWx_}$7Nh12;sWZ~w>9HqM+ zIlqkQI3=FOUM`{qzCG^Q8g))&ch)F*Fpv>?YJ)t zx6(;eI-ElYu8ee7>T}N-HlmX#bdUo9M+)oW@R^o%nY}CI+07#bNhTFtoWd%Nn%%bdYZ3xaOcDcP9)U3b< zl6NQ@TnmB&ip6gBgO%m@0P+@Pg=<2vSuw%w)SzZLo=D!HEN~48mMi+WO$=0);r+>L zlo_rr!7N2Hw|4`YWq3dG3T1+;RWL>+&?=;bO9v{!6&jp^qpfqB!XfljW^f@X@JT#fo; zzQG>QCxLdZ3_*Rx2v?qdo^LQO`Z&r?*{U?Yy@ku5iUHvJcTf4dMA+0 zbx*Ju>+I6n6H@?lqW=Oua@`Vqhc$4C>ES7WIR-J5uQw%Nmrvn(a`LqtbbbJDxby@g zu*Y3Qdrdwj2veRh>UUDf4I%9u2)4EZ4TDCfkKmwP%;9YFK zGp;))SIb7H9(c|rC1`+s?kw7k%GI*gsRd%VL`iA{ z7wU@^L8lrB<>D4ZVilZmT{$^gc%3TX5f_Ibh&}Es+J(x|!s%23!CZR+JLguMhB|Yy zwJdeY0V3DBz|6UyPP9%`ww8rXDd593FVJ@`-wD^5lcjY}=NsU~H7?M2?zxj_Cn`(p zu1+y4$=FAk${*{a93J29qZ}Q7%vU)!-q=?;K0ekLoy=ce@VyAT(E$wh4BZhVI+5L6 z7Cv+R|MVt-@256l!yovqnK?gxDI}RtkDw$o*G(&mH-(Gcz{#TD0;$*rJxX2&yxN~3@ z1=fM86##D2aZZps7dZ<*bPg=1z`9VJf&hVzbB1EL$hmkN7Hp=#dQkd;fFm8}0_AX# z3-Lo(aDW2qLxlwMrv$>Ou-_lL_#tIbovQrdYb}SC7Zd?!|A9AB0S&0%CsCS0z z0^X&5pGE}>jhzyCrv4_ND?~)Rd6aunBi15=vhfsHfw6Arv=x3_qj_rchxks8C_x2OZ}J8F7=R@HjOviwavq z)d~YWbeuor&P|@f52=CWRM-ZJQv~=;#}T0zZt@Zyrw%q#VOuDD5nzgr3xIOC$!qu_ zb#QYUQmxW`Zq51EfJ zqzzhx!a#JW7=Wq9QJ_{HvH$_61GX#!3c%nF6^ zp=-r~+ts*m$o&XejxeMPmWRS1G^YeWsK!M=F-OQ40`4N%910Ua>r1R1FukFr&gooD zi-d}gkQE7Rdf@L+5)z#t0eDr@qM)uL z>`nytt6lA=w(9$8Fpm!L| z5Iu1kP-hHfLTtQb8bS0XNC|^oN1u`gE;5GRL883mHw4;EFfI&cjJB5st}%w*Lz=wg zcLdQ};M*|RE%ZBSz=SdM0mAW;KM`oRz``(?DSAR0uwV>*go1g=IRsG?uqF&Ys|YwV5FQRAp!H>dFb3`mgyJLD5QfY^ z;c%EWI#dRD#=zx5MttOY0?r(i3y0bMtubg;Skmf}0bVj_d5{kuxrM-X8`KUb*`py@ z;0=S84<+!C+X=z9!5iTuN3@wN@QFbyfQtFZodmW!AR(OOj82dR@)@*3sEd!>O9;LL zdWMr+(Ot4YDT7u7ZSau?32b-4kZ_Va8j=I58MI;u;wO&~g71RQ!bzTJGdZAS_SDts{FGrA`pq0?TsTxrR^bR8PT2&Ij+YzL2v=16U)ri(WwGbI$rD+8^Mvx-W z#b`jOMwAInKx84SN-NMWf)tJ3Km(dJqO}kwf-GjGX+7hVmD^-f__Z0!-!pc(_pW2I zlgs@tE?I^BxqaBq-kOl!yB^6`T<)obP}_+N0p{~v_;_fr1h z=zlo+ACCU#g#VoIpA-Ib!vDhw|B?THuY84R%r5dS1k$euVN>Pg z#_|S+#w0~7y_*e}Jy>%d>h*)*n0n}PUG(OLLTdkv^XJ_Uib3avESk3Sl6S;=TU1sz zGQ+#kHAM9Ud0X@kyT#6qcRfiy>Z#WT40avLi@zcpm&GYN3nRbRW+u%;yL*Z5iH6Y} zoxY(Kc8K{*X2tqoxl+*5i@l9HoI=CHq^FU??~e?4EoB`w+FFP+>eV(~gr28qsQWHX zbUz(jf2%aRv*fE@R?A%ep1hOiIoK0mD5iQ!$7kwh*^xdmwePRwr4{9M*Bvp5k9sG#_v-c-0Cb3Fy+hfh_N-v++5`s$I^7s;$FqlfHW!qg|%Ezq2#-f_xTN zRwg_YOBPBRmsvJ}=gcC;hCPzU=f_V6Z&C$C%n&ts!_EUu77+nzflf~9yE**Rj*NIk z5y05euD^cJa#V47#$jirHb~)WGVkE_me;#)x5Q^sM+b;1P)ij@*|OXCax%TG)l^@w zcjM4B(G!hWZ5H8Tmhamv-S7`EvOBgH*w`5qWWoAYP#V|XX1~$1`s32Z@=Mu@o(+?= z9lf&e1XiK5iqCY*>!7FCB>LAaOSYGQYs3OyB0`!W!b{j-a-1!NHs)<@>^WG*L9if! zt!K6O$ah|-_>WUtQd0i3r&9QR5rjYKuGn?%Yw9Idl{TEIgXhFqbI-SliatR}+j@(O z1cBc8-|XwX*WS&J-Z*CDCzJR6lV9#6eXgUq;~sZO0=HhCU#;H!a=5M|ajE6*K%~f; zr6J!)!^*Y;D_&Rq%6xnK;;%P%@-H!BHJUi`>Wcf^#|D4r5m{8-^4e6eDox`}Ht}X) zeI|=Y_n$Z$Z64U2`e&I%yg?k5P_Liv<*WPE*oojAO)YX3FZuTYlTU3Jg*$Zr%1{=<$HJSq-8nnol&gI0GVz0hgOkpMQ1kMPBc=%$kqOc$E=T<7E*ajLU3!!P z>iHhgmPlfqV(>SFn!r1|pBxEPefhW~cGGLsHs-cnUU#)#AgX2Ht*qVRhDM*?*T7mi zsgV|<@K8}5pCaQxakE|CcfnNfr-Z4n{QA0Np_!}8t04cal{(+OiItVn{Js9R?(XmN z(OZMULaOR2tAZ{S74ZW<6N5&UCd*Vy_pgVw78MDLycAJY3Gmx+v(sf`1*uytC-x5e z%EtV1IIgv^cXhd8_-CqtlY6Efhn*C2x+io(5KWM z)orR2(=dglKBH2CFbJBt)soI{`BZN>L-|$dvYWH~=u~;ASHOML`DDZ0d&^&x{X7?b zcl++mj4ljDHE$0?Qu56K!KUeTxPeW-hl&FYi9vqwc9+GXFQ(W-)xG1~GnSEGgZSl^ zyBS^yO9cy!{SD=UQS;j;6a;q^5Ejjtpmc3SlU?@k_l5OM$BES8W@l7$UMe7wy3dAv zk7&vDw!5HW6(641Vn`j?@sy&BkBlfLwk%I4Z_W(ZJUwM6QNfT=h30c(nbGk1Jxf;V zjHk-ZX;s22p1Sa-8adGf=ZRIpz}RkAZ#86#ci~ohOwFpBWco0JBWO&6Dmi$q7Wd8k zy8R^O>aGTP{X81qBe(XoQIE_Wu-CtqqG3=>=x_Yi?b@=p?EWybw{USNz-EM6(mxaK zIwm}aElO#UQr!LiBKm%Xs^y-FOwDr6daE60Vs9jezfZhc! z&$@pE_j9&P6vt9A78`_#mi zR}|1cZaHjNt5ok1zt!e7r`K6O=dL+F92tyeYxc~6<~RIzU-A{v^rPC#sb`!t7JSjsp0t3@FJFr^@AxDIQlf>0oLMf#o7~deLzP{ z%|G5QuL%A2^xWcLf{dZ@)quiMMBV~wQmgmMS!nxEoAr^XS<8v3FWfbW*{rKpp)A_4 zG__}@XnedSPhmye+IUICuDHRD)#IW&MIve>;CSd|qq0Uh&E4_eFlihe_KH@q7bs zWAX~si4CGvX<3qKUGYhr^~@~Oij%BYvfkxuzV^jgd$~c==W|$Flp9v7qgCejt_?(5 zU5o2Uagusi>gV($9-aHeL+s@U!#=mTF>7g)(fbLk(byk-MlZkr^KFkF{(B=qMAV<( zr@nA)NnbheqqV-h+jTUx_r+0{jYW}7ckEnFpSs9qj^bFp3*K!HS-5L6KhD!_Irn$C zZBz1)S1?!QPLs?T=h8tXeYdHGDSC4A+V1QtSJlZ~v((T(Uv_V)Yut7*Ib6i*M7_u+ z&iH)^Q#&ks>D6rR!jDqz7iY~~pY6(hjMMeBM17uD5CV6@SD3BWc=8&X*B1YNlfd|S zKW9Sy_%JMWl}L0d_%N{56A{halAk73A4-<*uG7^FIouH(?{ZnhSLNfbkK7B> z9rx8komM~M6cnyyxf}~Z^?nu+E7WG#{%VssG-Jke4?QlUH5$j+l$&2!m85?!t<-Irm^xLLORv$)_Ud6PfykH5PrVX zeCxwt-<6dx@fLE`KZF&|SyKpTT#P$kaBDZo?OHGP#R<=Q=N1cb^|P)A9lO~)s6+KG zMNZL{cXm20M=#!cW^S+{SAO90FI(rikze0dbFqaY!&<2L@9iiX(1!JucaZUO#A54b8`8UYi_sBFZ zO*QX>>|Mja%ewtq-UXpTx7&%&xov$VhAs|_Sb08GoK|RR=)AqS7>~Mn*2E<>KAwIv zV@BS8+6pUtdoRe`)kOYg=N;96#I0M~U!2anbh_PLO~OLp!qM`q$~w zKfksr-SvC2+T;z?WHbV&sqa>ZKm| zlYJ@KwsX1Qu%epJi>C&w%+GP=vqjeS{kD<08kbhJgLEnV4{U-1M$=ZWYU~kbb;I)P zwHY?@g5`+qV@_vg;v>&T-YggpAB|mFlbd$TBW3SP;V0d?!#@+=8d<`*%OR$7D6wx_ zFzAc1t(V%Jhw*+N7gTIc=&-#v&EK(?+U_%z^?vAIa{m0CjHgm+{OfO8;;_Et&c5+}@l*RPU!6-dEh)zepF$ew#~2UoSiN$E@^0=DDwR%vYDw zFCqsDedEL1tm7Vfo6+4YN?-pu{j)a6z*L+|Yvz^ua;jIDePGh7R8{rvhVtdd;Wu$l zX1CK2wRTi`c#M@{M}FmFOtYcfw5o=R>euyxfP%cKRF~{o=Cz*R=+CRRS<8hhjs0(rBhp6iLVLI&wPJeUJo%W)|{6lZ71Hl4M%2cN4M98H&#fV z4JvLmIF|C~*7R*9Sxcq4x8K3t!ZvXDdv;{d1XsY8+O$HF)9+zz@#|}0Gt8o|gYQe< zFX}Va&#(3h7&gqu0xuubr$0P0cWvZJ;`WU7ZHrl+KoFPtIn+O~!Xls7-MG$M`Jzor zJim{MMs`p0Z#HHI@q8GS|(_?hGvsZ$~Z(p&F{Jow#R8arT)#24>-iBAH z^XG{77pBCnWc=#JFhZ>s1mZvB?JdinpY&r`Dh|@uj*iJ@wg<|GZ*OF$8QS{{rjYN?YDd zg3FCfZmop31@EG43mP}h+rV(VTooRBeru8nv2LdFqi+`@SRZ&{zYOhoO%_)hxY9~L z2+zu~i*^d}x;dPbUgdC+_fGo5&~LekS-un%#83RNs>1zMOTg!MZ0pKqZ{K*{p77SI zs#9HB=}*6S>^7f~kjV2nwnmsLmOk=Hy?@7>m*gGaxd`tZ|0SD^nEpCjG?UJKt0G_( zmN`9VzS>%`9N%oGplYXC zY5hqdeK-Eq3qvLT@||1ir5{btbJ<$N85WNBb zhRR2ZULQ}{+_&vpS8v>yw9?5BtH0P)*e<}ZFoz$sY5r3-;E*4X5n|-T_L1u&^TYaX zO{Q`rEZpA~t$ca>$PFh;^V7hxbF+W%;D-WJ$EF9}?+X-HZPQgNCi6MU{{Epa{oY|r zwpqOE&kU>BRQ*)0Xb(h|SLHYTXfZ;uY zlHpaJ_l+WV&iFO-{qb8E!8o19yttV^6W5vdjOgm-#!oK@+p_#pw}h9Y{$}`5T0)%o z>-<;VCL;rHU-nq=e}yKt}O#^$AaN!U#)f0fbO;kpfIW(mhjeVLVj z(^pz<&82_4j2*aE^QHa0>XQw&{_~-RSL?HlwNNI{f1GN*mCg)TIy?1hP~lg7z-o8= z$z2IFGGgwwvZCVh^H0$fTNp~=LWx}!B?%79ZTQ?p1la_i89wBp|xzM^P zgMr@|eOIke>hTNqz+ZUamn9e_%9n%m z+KuqTsjNq~IUn%}`*=R=q|G|JFM201uaiHnp>}M#I>DynHTvrkmU4s!@ z;Q#L3v0oYK#+mza->>5G#ojGlS*KFj_y?KhQngHe)*RzV3B&0~GM{a~_|8qwde*W= zJ86!KxxQ17a!&inLEW{Lx>%bk-YwG3bj|S-H>I5XGgDqDNRM9482<9Zy1%KA4)pfd zC^3Fx9@Px{Jh}=yzRD$1(^4_>MmXy7Xw}4te7P(FpTGs-{jM#kJ!d*x)tdrG=%GB} z$tA<9oGlK2`X1gEiSoOopeo2=YuEFoub6e(e7vSs?C;>|;v?WBX0u*?`dI!_ z+SRLDUvwobMJ^Xmc&a!LJhSP5YAQ2jc{J}>=Y5~(AJR$qiZ@-ZajgaZf z>CC}Tw>6XX`tep?0f7r!3-S24lON;s0|kKB%*DQTRe8x2%G0@#y0W^f%3@+GlDwZ+ z8PNRA_=EJ4J4x^7lw8xiUxi=a@KCacY72h|5aA$E}(ZkRA>P?^Z zvQ%3bB=3%si+}hcy~NGW+`QtK<`;8_MecI%i4)9F#9`$8*ZjMSj$B@qkElpkbWz%f zHXArxwz$0T?9ti7VwCGgx_h zH9OXjm35oyHtX)R9=R;r8S(S0Rs7J0gqyZ#!Ft{T_IzqVAtMcIYwzErP>Q-D|5L@~^88Tlu#B-r3l3uG~?;ynyt= z!_`+OD=WZce7bTLap#j%bHJj?rR&|1*(j>$nLo?jn70lwFXZh(`GFeMh0z%cQBV5K z4vQ-rEDEE9*YZ2`N2z7@f%>6>GI9RZ`B@+IosAw`LbjTm-o(o90S~t7U)DX|7J)fW&^Q}NlU-Wy*T+E~|nQCtHLt6xaJ2>K?c&7j*BML5aY%>=8KG_e!m7^o(c6Ansd|JAb&3VS90L zLoO)`V^nl<0>$sFa_`Me)e=j|rr}Npiy6dN-DYl6rXNqX<8viKZ&y!I1aq@x#)IXj z1W_%4_J^!}ds4@kt+&Umj%~?UbgY+~?tBU~@8nfXS&3>c5Aa}Zj2bfgm%7ZyM)%Bj za~EnbnWc*47x8ZWilAl-TTj_uBY@av8(Za3C%c<53_eqG5gTATf3 z`~0JRq1}h+v)OTNSEl!!@yt)R8J_MObyzJaevh8)n8}g+xiW`2p1yjh@5`<6IB}x$ z6f(g63`zt}c&f0S1_^HJeE4xZPr~+#?WBb8m<*F}#iql`zS|;1Ahynay0G3{c_;UC z+1n@IKTn2t8#Zw!%kKr2J;k@X3}kyxyThHj!NQ=TF=a~3(WKpre(ii2K3m&1<8>W9 zB$u>mg{A=Wlh&obJZS4T5OzF=1Z|EPY=+GLY9+1QzPIDklF7avCYz(>VOcfP@w57o zEagSvcG>f>KQ>oz0=B>Q-#1}Dw`Ovn{c_usY2>AMNU@t06m`D&d2_xBnKPEUolCn# zhb;pyllO>|4#dSYtb2h0SHMwzf7vQOsNmGD+*t*F)@j4`8^GeT4#E9?e`{iO)o*)S zZan-v^B1_}9i~f<`=Y-UGu`E-(3bv+P)mGlQ#k1o-6_=utWhs{xtTjOGmE=@EywVn zVWFp{VAEg44g8sO+{`;fX1<1dA}Br<+{}ij)dc}oCRM|2{!W5sTYp+hyBZL-`JWv~ zF5s2RWhUFJ!f~H#d>?s_DJ=vQ7CEwWalKsh_{twy)2dncsQ2RLFV(=Kmk|uhMe|*u zUX}3g7j!Hm*7%u&RoAwaA3SxQohdNY*7k9u%N}acn;5RM3!hf~{-~2YoZFdCys^9a zxGo@BAiF31k(vOaZI&*jk^A+nA9E76AB(OWHshRud>!<5y%cZK*j4dNTPd{-~` z+z8VbKVJX5yCFvYh8O{j!JF5kb!2em z?iF(-V!k@N8TdCf-M$N7G4QXFFK_$pt_R($eRObm%R9xkvArp7-P)bIVdUCsgl_Bo zu5SA4ZtsK51Hg+h-e>XXrMJ88mY=1WAX#zcvgMUa6MT~#=O2aFACe#Q=(N1~tvB*{ zEGHI^OJ!i|*&m)|KEb(}_}YIKHJ6gZjQL0i);~*M_jWM>w|bq6TeH`eIxnxf&s|^4 z^6z|xIJ_C8cZWJe77jwDNg_*^Q zdvrBQkTR1jjaUAZqGJ1KDO zIfY5w1R|nh+WBcG)&@F1cC(-2Y_(2%5Pq95prV+)RtxQymPl@X`PyDP)(BEnU{V@q zaiow>IL=GhCQIuPq%4NJ$Mh+@g0t9;6OI<w5fIo&WVTCs4 zFvhFftWzvvuw}pJ+r>0SG9D%z@~RkG_wMavl$ZCTxAmJIyo~Q}JQKv z1^qo59I+c?AJCEmv=w}jl9yYB~|q-Epk)KOZ$FEx>kF!D13`_YeV1mn?XNgdIwa?DlQrpis+R49u|@Tv^!4ZU zFa%L~V2j-o>A&9y?3O%W{jI7VB@SR-1=ZRvy0O)=Qj97Gr}%t0tR#_YodHo8#Q~JD zRi$BU`zNJ1oo;O1STT{YzSxwihgWS|^(HlzJakdq4wjaE%IYcgd}kR#FD-;L zTR%09PbC&rs?A$lT!*lm^ihy5@3!<(2XU*PNBtFFZCor(Gxrx@)7exbzlv-%ew){t z;^kUg`JfOF%msP(~)jP1dZk2~M zq_v@yC=A(%DecF+q{|h+zAHiquj$%1^H;oTI6(DfTf-~74W?{y)0WRb`rBXDcwPF- z7K~b>f3a*}>*U;`m2$PzU}w9seTe^XT8u|d_b2-{v;?FBg^v&7w(0Nf#-yd|!A&u| zI{qiEX|jXDVfEYI&2)Gj(ek5l>k$0n8n@>XGAhZkIx$+49D}Y?ij$?cL&d&wT561?-)eu-cEPi`_a?iw+8U= z!5ss5^6ccGxqoEA?i_{3Codj7J8BE!&XFiuW9mVqfjM`+lV#&hJ&>i++}U2t){m@c zy|Tv#r{6apu85S~F-`}krw8BvmXrGK;Q4Ra-Cxxghv&Z~gcrw8PmX_60B1+1{l`a7 zo*w(c?QaO@@zLQ^|Em3#AdX)=YwkZ@j7E2jfG?Lf_73H;JHI4Ij~<|ZpadP;hR@?sJwof9WJKRd|a+u zTU2qD^JI$k8q<0i#k8_=T3c2>X168qJWSk<3-2YiJ~e}{sY2i0IUXxH#b}ykKX~Ew zRIf(r)oR3Vdy`HUo6lB--OjSe8wyeFbBULU^e`V?wiPieAr!^plm796&!%2}%)|d__IMhW6ACX^Hd|a>4eR3B zMOgMMUrwXzgebh+yZ6Pb*s~p$$;ii-#bOpQknNrLLdEacn|bFt!PejC>E5~9b?>F~ z-QSo|)B^s?V&JQA!#s}G-yH5AmYeogdo_!-mGDA)#CEX4hoM<`J3O_`Z)X>SQQr85 zY1%T3P=6alYrj1ySq1X4a^P3Jp;H9>y0`9?BD86bySE_TG5IT&a*r23yBuCt7qrW2 z*PR!_U%2)`58L(oSF4S#yU9BnoAR3H*>Y1VlZsi-9o3S|>igNP%}H*CTMh7TmBecD zhB{&+UUi7DIgYPAxx76Y-fB$hh_Rf;>hEkhFx`ior_SKzP{E?Q9{%jE8pTpK2g$`= zV%1Z%dZjMbKkiMNweI?DoEPzmtt_>+gJP`VZNY7LL^g(nf)e}J*Gf+Q)PHmko12f$yLZ~@@Z{Nx?~XrquNSA!+ID&M zYsVK>MoyI^_Uo85q*jXbu=>Zc;BitiuyMrT{B8ar%t*T(O*^n+&dlYFs|6e8+{H#a zWMQ4~wAKTvpGz1m!);dYBeq_*Vb4e8J0FkJ(015zrB6z{Zr=?`%8A)ZTT=gtk!jZ09^ zS?f*PadhCLU`>U~h2bhw$N(K^PqPp%l(t zqJck_XZG)yq;=Q#V(i~`DY|PqgsM->eytyh)23RMQQKd;1{?RUKY#m;o|cy7L6(We ze&zR;&n*WG1)HgZ z@j&I!u=xCbz|s8OZg#< zwhkqgX0(Fj(D-O=@w_n(F{j7 ztwq2`pBIQdP}uoedKScO#iK-zrND_t54wX9PwWr;d*82?-T1a6}XnHr)$3-<~XOgU|uad51%wLziM_~3-w|#omHpqhvj+WYT5m`)NW%$_j1XZ+5XF7 zmPzGJFACH3h}Nk1)yc%GSd3LEmO!qx48)d*&@j*-7?%Ce2eY`z{;jJKH_H^U?evzt z%fU4$z=R&G7^_V~0n)qz1R z^Ho~sjkOLaXDK;`vA?EBIbDnoW*^2EEfWvkthM~$mm?D{w_-_~dU_k&{hweN7bPf-CY zHgCMi%}04T$!P!Qc3|<>&uWS-gYgaTRlAhSfp-4UP3?ZY%FCQ)D2BB-TILTm#+dpu ziZ3rN5O7BD8Op z6H8ksaCEcUBUug_Edu&gsWC?Ol@oe?!@K)m`Tl+E?W~;fU-?d^s_1N8HvgOQ^k&vw zJT-9|Q)8-EQ6p}A^H+LUQmg5I*JowT^uc(ox-D(1mHC8?ZGOd5S6sTk@-| z%*8TX>;PT+MZEWa{m1k?UX}mxPwDbH$4yqZqGgMevsP}(Z+h0#_5W+(Z!lhGOal44s|*N$l$EuIcrytZRghlWtp={jFjij=17z6Ul!74zY<}BF4ZDru z7{hYx^?vOto~*v;Jvll*{I-95^nV)Th=${f(c&`4^r=QON$uIcOTt#Yjg6$O9AUPm z*K{PZfp{1dFVdi+$~t@TOd@*PIF)9(pmIj*7dhEJj6sbOh*?gT zU;k#c%`k5s_?C(0JGZtvr#RKFIZkftt~N=VF{mwKa{_C;Xl0>FP=W`6ayzVMUBPS`LwePZR7Q6 z-2Cw8UKS4-H5wmKZRN_-a(0p5eo%D9WCf^RrsIJ$Urz_m`KS z)q*>Dah_$L?OLAOrM|v5cwk@Ov&+{H?+w1b*uD4F<&|CKuLlnl_FL}ww47HoOG{kW zPAiD;J}(Urm(TLw#MKYe=)Gcn2Y)3h1MtEsfxMM_*^6e~$~W2qiRs`2V5zUteX{ zp>J*9zSILJ$z1P?FWtkhcEA3|oAN*4=W^+l_Gf>I1>xkC`roGcJ?riEcJI%o7xy=A zci(?>Kb5X-KD5984<9^O^Zwfxa_$p*@bIBMG{4=$Pj>aim;UQ)_aE>7-~8v(txvOO zz7#l~rC}eTba8Mq@O8QDY;rY!7m5~7!pab70DtG;?8#0R7K)f=VIk6Dsi&>z`KP53 z!)gsFz-;hln#WG>SucyrLxs?fPtKnn9%WZyBwThb$zA*H5p80B|FE_m%-t@MTQSYN##$=X)jmPvS`Tb;3 zoI~Ywi>uJh3PCedZ`X&^37c#eUvBUGbN0dSd_73>YSW^TWynS8C&H}0d^wC%&+@dE zNATC;`y!0V>v>o^U=U9u6jUplWrO)vxI0-|#$@mQ{de!)^#(Dry~*^={qo%IKl9h~ z`0VIjjIiJ1#ds8!$X-%2uRmmi8y}yGSkxK~;HN8JwK0ajxN|Ux+JkFoj_{}1$ z-SZ}_ybzj%0(*Nsj1`mE+Ur9Zg*mB7i{nZ4;??uDdS90x_z1l7rPsNy`i)b2QTbYg zUXASLLmIWRwUw4K|8Ntl98vwr4#pq4+2i5Gyz7IW`F~Gt(nH+M&clkr-BbwofB7`? zkAvw}v0vaVLT0@DJC*#mwzg7)eAGH|N#dfCRxSj7kVRc6JV;6TO)WQRs7-hkqB<~( zOFzxa#Y_fq&5iuBpp8CHOW;)&IPLuKLjVJQ%s>3_!%lUZ%VAtUXy6a@Q<%qGZu-)1 z`YLQ2H~!&=A7jH>h}#c8q%|UD`CxkSHZBdZc=I;K+HW)~R@01EK1FU(Bu7a|^XC;O z8@~Q`pXY?fIeFWm>*dl{e%>rn8WRI~Ixkz9BUGM(nOp}oxv@hUu@s)QBw7sSX&K&d zNR{NtN% zzKN%|AMbDM<=Z|8FZXsg3yUFHvAlP&U3sa}mY>BfKWp9c!*fxb++}-q;O&9s<>vz-1_)Xv6+uAm<)qHiYqc6SYhL7XAjB&I0 z%*7WVR(``Xyp{Umikr~b_jLKF_#I}8u$)p+_YYBf?o;ahPRoXh z*mv0<=kNOc&P8bI_}ss$v%O{N`O@b%{$c+7^B>Z>eHiCZ&~sONh|1$(_*cm#Xl~z<&T+liiIEdipW>i zgg%~B$1K#3{q(BH&O(XVm;QV~Y7q-(^CF*4E4ujNQ14AIHTT6gcoO#e_sMWIXW(@{ ze;1a_oWGm=zwKRnbK6FezrXn@uykonCM5K-Wrw%&u58PRHnOdi=)FrRDiR_g32TVp z5~Ln+`MY1gW-v1tkd&Rc?yiVRITSGO>FMd|>HakZ(!9W~=e&~-GDErxr!0M24i}&{bB_ z3a((IMkFbv#FS0=8U=f!yD;t-7x6^)Zlf6`)oywA^$TQ1mFy}MGHoKO`o#Rb6KLj3 z8$bsbU=bfev$6744$E(Mv&DVcEjW23Tztz|nQH&FtH*5vYJ+;I4EXIUWqw;!k@&5$ z*rKOV(aWvR6(yT1QDXUAMY#^I2-|7Fk?P){EGYLD3>OPf+TX~Kzmt(HwYu%mUvQ6_ za{BvH`YGqT0P1+EWoz8Ng(k}~`kz%u3v zW*eBHy34jj6JrPSl8ePb>_vzPfvOYq>&S7FXf~If_o7ao_R8zGM|f!0`!ELIy5&<4 z1ygSq<}aE!L5*Gf7$ zR;b<4u$_(4`?_Np((B>2)a#Mz3x=5*VYYV?4`+iIn(MLVq;~RkJe_w)H+V{&3B&O0 z%wy?*2Od7hgJgYlKfTIE!N(CE53bO`E(^xV;A2V*H*^^LL-)9b!8cn$dDo?8G?w1J z)d^7#2<5bgYOLnfYwK||0X9o2Y^}AEIBplT!OXOyD-Fx>{?XyrjsebpV=Zsu-h*nQ z5YJzp?QSjKU7OGb#WCkh5z8yGn1i=`r~qlyU!+wp>}J)u34Dgc7Vs}6W7TRkGw1~F zhK9;V*@ckMz-nt!x17ns(g_?Qm85u7KdZT7M{yMTjtgnlygCd1S##7AtIOGy{m1J5 z_Z!-OJl%Zu!w*}V;r6p1b~d-3trp-%sAZQ(;K0 zlsXopPTEy(RO#dU>2Hg!!KujTe4ww{U%rB~{5gmz(O@ce#FPf=M{PCT@=MzH6WHG3 zAz#YVeHV#frSzdu{=qb!puEY6lo_skd~G%=9?h=Rhkf|{K%)SXtW<9&QeU3yx=v0G zU$KWmO{GeIdlHhqzoyTZdL+poqoxjQMIa(hrXWQW&_Qq*yj0(%SWliGiC_#Ij zqPS9iZ#%^sN}4;*tHA3oW%^2WJd<4Vit5-DG)AezpK{9;83m2r0vDm8| zGxepZ?W1S-JQ-KxbUZ80XlDvaztBL~gX+I3q2Es}XvmCUG29SQrz7KKK6kFd_32=P z2wIMui2ZGY6c)MzOH`iLfc+hy9`eO3R1jDZUTQ{0)V6Sr3mX)aVOW&lzpi33aghN; zRzeCu#A?MnL6Ik{@^cFs&h$dL6itrxBob53$Pg}c%p+ws6!SK^ORiy8gE=}!W6z5~ zr6i*{OdE`m3?*M!(L<*mcp z8hZep0G|t|$qj_i@gOp&dJIs8d_hD~GvmCeQfy-$=ybDIF(qatMthJ@@;tf3C?&Y? zNjSj?vKnP~t-3my1!kGgQwr6$A z6V{So(uunp*(O@J`-ZUNUJvNykkBoM(-_#2D7w8>xEQk5|qty zMLuJ_Jz_eW7aV2CiejBc6E7up>{}H(Ek_G8UO0(o6PjGQ(F#n|e){aNZoE3SOS599 z8Pyw1r1-P8gamAQM#rPe=@pc5os1ef7O|&cZBJi{Ry_(%(8?Gj4K{oxBPupN!-F&4 zcF^Us&OnVLiDDPcOR)W?P#J?@HI*yLjEO+LGe` zl0Er-8r;yeSwvB8yDSi6-+RFNu-AsMO?CnmDL5nqta_2kBo_DZpjjjj1%Ab4P(oud z#iKnI*4t!MayyB}h}VgJ6X?bv5VN$@bdC<4WbNjXmraqF-6U?W5)i6y3sg{ap&%1R zw=BC;SQt-+m@?H;=73{}H(SY%H!_SXeO92BlLyf!co5?D+4-zR(`F z@UWnf2#I3_dq)Rq`yp>0G*5*?5Z~cG&KqktzjrIYX6ERBbL%OD_0XQwa z|7LmyXZBR7$R^~Cu(@J4kQWP7K<1>2n#DiYP#c{lOwAJsXwnTD9ymLZ6N(Dh^dJop zH$N4ik3U{DRNDKTP+?xhL?xaRZXcf4P7U^MYVEI?4V^{lt=ZYNCd*D(3S?%#uoK(i z>3k}X5@Zy%wD_yG3?|Y6$G}N`i_OKz6i>c)bTDJ#MDe6gpIhu>jOOH>IRHvkqgDlt z#9(a2SQ-d@_ToqR+DJ)meI{QlpQS5DK#xRQddaJ@=qY>0%tq72F(RF%>S_h7Zxg}d z^AA@paHA04c4eu53_#UdkWhhGM2|(sU2WsKsUbtWhs zVw?iX#~6D!6?MY;A4D1x{#3y~npK`P%f}6OnZp^u$WfdWO2jx$qk%J?>?NWXGQWeh zaT}BDBL_%4+WBU~4g2KhLc6}P@A$C@m*;p3IiHuav=@!lf|VqeEAi03iWCZ|cQq*h zNQzJV<;PQ(7sCoL7Sk6n;y;Fienal}Kt@&7;sq;xDav~YpP75l_lZAk(HB6glQ7q{BP@KzR2FAuI>6oYP3<}p?5NPlw4Jv zZn_M?DQb>f<#A(lXH2}6FA@wt{RQ*2)SUT%p>0-1W6lGfYvIq(#ODfD1+8=h?waKo z#g`ekb&?ZA#^_$Y_!yoQ+1N2L;KgFR>|s^%qC9cVRD}4C3QFZ3z8jKBZcN|+w45YOrvRf-$L1AILXFR z0ot<0*(~R>*O^8#UPttkOiC@`z}a@Rj+Cx z%4@#ynXf;fmwDmR*Yu!mA*QRxbHJ=w7 z-41zfX-^%!p)X{)xU1LgVC80DcaI@gos5Us6Ym`9ssYEs-W|v1ga6$X&~7h@?Cy|j zotlXRs+nF9HW|JIW{+&0HiqjsB6vG0pM4_f?hV1-V?sI)u=k;bA%~2MN(2T#rI5Os zik3Gec=9`M#!@mo_v+s1EOSeSuWDQ*OSvp7O<}b1E;~jU{y2^hP-~w|Oltzj-FyG0 z*FAW<4@6YYW_+Sgt|fw`eBbMK_un3MPmDCtbc)L-=XCGhcYDYC-Q!>OULI0Oqiocs za|5jr3V2gDES8Dilhw_^=ptj1bxD{e!cE#k*G?*q3snJT_>j^Y#%Xj<(2zi=!&sT- z$_B%2ZPt_>H;3e$-W%sUO4n0B?#a+Ky>R?xL&*V+vSLG3xXzkcLMwxdW53YhwFnne z-3`J$d{8HxI19^k!^u*LMDUQVP`sa6n)VRav?oUTN(Jj&gTfZu<4KG9vXK8eP_f}3V{cZcrLC(`XHu&R!{)!5El)z3>2{(M zm&wkXk*3p=O--{m6Rw3et_77#FAi^VT2yUWR4R+L(!ALe_I^87DEF9G(HG@!IvLM= zyLNdRPJxv$Cu#FM*YU2`o(_i+h)X-~7%I+lAoA5HdxTU=JcVkNQP+%SZXrT|l(GKl z^SUAUcnNiWlZ1%dZ03>sO7+rtSt2TzUaY+t$N?aez)4`3-uJ9&Z!B7LQhl>yolGoX z(2wYQCF;r)#Q&7HU`P{(b6tAWl9u0m)uvrYF{EC`pMp>_FCyop476A+aDcg9J z&}p2c97{V^rtgj$D|uc`pFYo*Xy;`2t*!Z(J#z|!trbSQfaN{9$7^lbZpn9QKOaQE znYnkp*L&Ul-kbNwZ}+;`jkRCeYuD|yArB3S1LoJCI%{t`YbW8_MZL)GB>ME(90;?5 zmQ|pEZV^+HdI&ru)Kxf!HLJjdjPTPwpf4G!Paiunyj%xDrZgN33d0Lc(7ry`s&K{3 zS{o^ODl+D9vl`c)H{i~$eX*S~FxBvAl3hX$5biFk@TESC^4S<2-ax!%6F{B~ zi$s0(8cf)j7uFaUpg`qVJovVhk0Z_a^F0dQ3BdL+CIRh3_f7jb@CMd2gIt-R4dTDk zD8=)^eQ4#pg@gCWKMwc!TR`y@5pp|1b$=+G&wH~`f@Sy4;i!nNLl>xfh)3`a`N0SN zDgkkFqXP6Zg5!w#60*Szv`59BiPGEXKIfw1T$kkJlk2bG99ZN>vwR7`!xKS1Qdb~e zgmY1}#GuHh67T}EQ!VQkcA(~I`=deh~-@ZV(y0&qMcY-z$&I*(w~fH7Pt+nEGi zdQ&>Ar^!g((uwvWW4P!RZK=q%Z;f5=5zZq|I`C;U!Uj?Q-!n98Oz0+fjMz-Kne{0* zr?f$UyNDsgkmZQgbQPgHq+A^u8B6T2{`k}9$C|EbG$wp~)~NsbE1na6g{R&u-ah7+ zkL%4cwX<$(5c}yiC4-%DgCL3MhqJaNN4b%WdhmTvZwVYt+Qh$_^-}f9z1yh1C6t0; zNvGMx#qNgDpy3qPnW6&tc|o~3N6`wQH8S$yET^3|7k7sA#y@FxIcW%+ivW8eyKfRt zlC1M5Kvz{BTk*D<%SupKbbzf)*6GbEaAf5Zv)RaZ9}W-em5klQs=G)t7`r(~9-A>b zKwjR05k+lbdBQN4DNlLdFHxwX=Vgjj)EBBBi_6ypD;=dPC`T@MP_rY%|1LV7vvpAu5x_t8Ad!+@K;tM!FF zwvHo758AqyGw`H-j?FYf_7WwT9LxXfNrs+In1ymTN3_<@_{n1ciSoIh3opsCVesXC4(Euo0K{S&hqebgytvVNh@Kptz`JK7kZeYmXq+sOKo}RiezJeK|Ee2& z7rZ%s|5ol4{_Cgx<9&gu+YQzl^sC8`{S*VDS9~-6Zi+S*%cdW{Fov8};o|x_{G(i1 z$N1Ckgrc5aHk-l#8214dDG(U_FU+lbM|;P6Z%?|v9Pamy_kY~~Z!}r1ul?F+{CfL+ z^H_JbM2thgQvSyS$&gJdZ*X9 z)6$kzv(4p7g~*~Oh$Ae8_q2R^uXOv)axd8Zyd`fWLz#&IVmdz1m@;$VsgEbv8r&8H z4^u})HTED5k3yO$Gy=#511M7S&|=Liv|1Ukq0LN;SR@DnmQ3%13*Z4%0lZ@y1XOV4 zIrNouJNo9F#*G+%5zfH$ZqBV5BZ!sG%ycOsa$Gw& zbuLkJ%%o_s9XTpA>^2l6gtzHsA_|Y*pHM)qy~E;O9tQ29`*hQD)leCty?%gbMcGF| zHm7;z=v5dQO=^X`q|H&A)F)<8lm&Nr8#26JM8t`79H>GlC7l3_yY34S!7hdG2;GuC z!2I<8+AqQgPslH$oE?3*>W;ddr1Is)p4gf}Z)#HKh!I&4Z`#yxSz<92Bg|=u+xWs1 zM*$dFfD@J00)EU96Bva`c92nu+APUx5oAdfLWw$6JiPjjrFF8Px}{C3)5&;%_kAOr z&p5g^yAYyBMh|yNnf&=tkbOAQZ=xhc5;5W+EAPBq*_R;)Ei7z6FpcN++k;1=K3Aa5 zm}UwxAm`|Ik1rr=bT8e5m*0Dwz(&fAc|%JHMuile&aB^X@#l=%WQP)zoprd{hU@pj zD0rkCxYDd4`;;E=_Vk)8#F~%rI0&2t+rA%_D+h zLkv54Usm6z(e?Q-3T`@hJ8^;kh|LL&zUV9(H}h;DVeSS=PAo7VL^Kahv!9%`+*eQS zs48N5#`z7$H(w%MUuD8a5*d<0Oy(Lck}meH#mSYc0^w@=xeM-}X9(m+TI?C{bm0Ab zd4NWo$)#wu?V)F+9!-BzBb3r`N5@5sN)@Dr%FFB9n9LR-!|YNWc5Zb-Vltw?8c8!m ziIA{^8lF6Asfbx(tPq(RNsG&C=|))#MU2_3rSY}cN%I$nneWS2g;@$DR?*!W^U0kW zb;I#vQ%A#BQ9CsGE2_4Xk|Bx&NuJ4x>Pwn~W#!Z8di;B}iGBb(9g{Bfrd3?u2Ifs| zaqltx4b5qYu&2L;AG)vHUfAMB(JY(Be0X6d8`e;QWy13B4P9O=B6LOfdBGG}>SYuE@FzKF}|T_rcMvWwLHb-@#<7rUo} z(~YxY2#gVzVW{3({U*SRCfdVCyff{cls_ zhGDc-N3qsU1E;a)R+40Mr<7uI$4;`nRZ6nGWhdErQcAM(#7Z*EW-!%uD!RXO((&-v z>Eyo6>RN&~1kM1^JC*FS-XV1ak*blE5TgaVS6Cyvfy7#3a+7V|a?X*Y-m9seb!26_ zmGrI3#+=fJGsWcTnC0SCH|qQ3|K}31c~iv;q^TE^Z<(5lNGljvUEE`y31<~eYOR8z zTAFfNnm}5b4qE1Px6CE_iOxUqTh)bx%XQ%q^*z@|-5Y zixO(<_?!|4lPI z@zSPMNSjssr&auys`yV&wzsynHn+p4&z?Vf`gC)(SXS|$mXH4=R?O=P$Upx6N>+|xw8rBcK%~y>)Fos#wz~Pw|MlGmnWW$OsR@k^PPkgvZ4*i)h-K1>JPf` zZPX7?o`JJ`QEJ;Lb)3#F5iXK#))laIlGmH7Rr$Yb{U81OWBcIUoA+O{|5vYn*zBJ@ zbN2tIPoHkD*8jJ7-U=XT`=4w-(+Rf1&DuLM<+RsrThm4xX``ky5RueQX4lsdFq7c5 z&PDbyue7NS<|6T*4U%ey$siu(7_xaB0ZV9aK`DDP_%tyKkymZRCrRhD3E@l7Vgy?C zw;~am($&zhI)M{Fn=9@FFLt-X=ix@{FHflHuh4ZYffL&Vt+A+4L8lYEKRJM=jVBp` zcXU)UgOluHdW#1*Nor*`jG}`>IN;3Cc@FZ54Ho>`erWpe`Ga%(@ZcPq8xPO2`S2`T zHAr@oz_GZ!k3b@wAc7<4c`_)y_wE_ROuj}KRFyesyx2t|+}v#aWeaDt8T=;$mC&t} zq^i5Q{hOVX<&@!VP8|=~i|awaUMLl5ZL9T{r&PF`CX0Z|)8rfz!Z>N#EGHbtqw)P+ z$_b&*l_~iWp8K;EKE zcgtu1TSZoL3a`j$OIF8xAV^W`eib`nw{f1He}Fs zhYfI#){{I(J&jf9PuX=mCLh!nX6j>+GwKj}Lg9MG>N5T8oFJIw`|2zDjN`QLV##XRrPo;&gUs6~DSZ(a;cOlI! zM(y_YHe?E;34X#59@5S8sCkx9My%vY2gcMmty#jVo6QqB1*%Fx55ml znPsUmnqg~{%KMUJU(EGs(X6vRsSPCq zwWg@yac+%rxMbN7D+R_W!nTPV_Ai(x$)IbY4Z(&o0;`6H%G$YKM2zVN?6Ho%qrCUQG>@X`Y!anJK7tCEBepEO zVnDGeBqF1TTJ0BD9aKe}0xKi)Kr$1I&_oINAbH#p8L$^pO0zqNi2gA%DvhHw&)C)$ zNXA^6a!q@Rg#g9H={U5dDzuh<^e7MpPio{^O%?#`Cb&?d^Xw*O&k#y9;nnmyZDM(QzoEHh zWvSQ6V3Oq^=~1Eas6ETqBg|rL8FTAuQfL1$!=#AlRjaA%T75EXvrqO6U2>+vWH36)Bqp6cPz110#Z`Iv#-p2Ll8q>C%1ty$h*WE} ze!mYq@T!I!2ZI~$b@yH#AH4ecr1#VNlkVO+$G#AjkTJ0*! z$$&mb=t&rxM&0Rpy;&m^nQ=sS92E&wry+GT7{qzrn`Q`5QI&yuiMO~iyX>GsA(Ht8 zngcR`97#-|L;AevxJM&&`^?LX!fCL9*?ug2vSMOsGQ|Pk<;I z@LD%8B#1U_lF>|gMYDatY?K*G%v0Zi<=hvO5H(hP^2)cR4SnHEbB?J(%t@d@IEFe8 z&Sr3g^BpG)fQTlXj@+V%I%velt<+8*KoZWIF z24@q=#VlIITEE#`&y14!7rkin?{=OhL->hIu0ICx2QT2;Ob%@#2jAEnNy1={5(ZtO zUgezvxe1Apge}@}l~f?mcPwL}hekqHNWk|{Sf(H{6pZ>L2I=V4`*+>rgO?w=2k(9i zuZL%iFkE-uG0#*7>)NRtxz(W@Br3{vc<^ff-N` Date: Fri, 13 Sep 2024 09:25:05 +0530 Subject: [PATCH 25/53] Changed the folder structure to src / databricks --- ...ricks_sql_connector-1.0.0-py3-none-any.whl | Bin 2295 -> 0 bytes .../databricks_sql_connector-1.0.0.tar.gz | Bin 1678 -> 80 bytes databricks_sql_connector/pyproject.toml | 14 -- .../src/databricks/sql/__init__.py | 1 - .../src/databricks/sql/utils.py | 1 - .../src/databricks/sqlalchemy/__init__.py | 6 - ..._sql_connector_core-1.0.0-py3-none-any.whl | Bin 317070 -> 315743 bytes ...databricks_sql_connector_core-1.0.0.tar.gz | Bin 308989 -> 308907 bytes databricks_sql_connector_core/pyproject.toml | 2 +- .../__init__.py | 0 .../sql/__init__.py | 2 +- .../src/databricks/sql/auth}/__init__.py | 0 .../sql/auth/auth.py | 2 +- .../sql/auth/authenticators.py | 6 +- .../sql/auth/endpoint.py | 0 .../sql/auth/oauth.py | 4 +- .../sql/auth/oauth_http_handler.py | 0 .../sql/auth/retry.py | 2 +- .../sql/auth/thrift_http_client.py | 2 +- .../sql/client.py | 22 +-- .../sql/cloudfetch}/__init__.py | 0 .../sql/cloudfetch/download_manager.py | 4 +- .../sql/cloudfetch/downloader.py | 4 +- .../sql/exc.py | 0 .../sql/experimental}/__init__.py | 0 .../sql/experimental/oauth_persistence.py | 0 .../sql/parameters/__init__.py | 2 +- .../sql/parameters/native.py | 4 +- .../sql/parameters/py.typed | 0 .../sql/py.typed | 0 .../thrift_api/TCLIService/TCLIService-remote | 0 .../sql/thrift_api/TCLIService/TCLIService.py | 0 .../sql/thrift_api/TCLIService/__init__.py | 0 .../sql/thrift_api/TCLIService/constants.py | 0 .../sql/thrift_api/TCLIService/ttypes.py | 0 .../sql/thrift_api}/__init__.py | 0 .../sql/thrift_backend.py | 26 ++-- .../sql/types.py | 0 .../sql/utils.py | 8 +- .../sqlalchemy/__init__.py | 0 .../sql/thrift_api/__init__.py | 0 .../tests/e2e/common/predicates.py | 6 +- .../tests/e2e/common/retry_test_mixins.py | 6 +- .../e2e/common/staging_ingestion_tests.py | 4 +- .../tests/e2e/common/uc_volume_tests.py | 4 +- .../tests/e2e/test_driver.py | 10 +- .../tests/e2e/test_parameterized_queries.py | 4 +- .../tests/unit/test_arrow_queue.py | 2 +- .../tests/unit/test_auth.py | 14 +- .../tests/unit/test_client.py | 66 ++++----- .../tests/unit/test_cloud_fetch_queue.py | 32 ++-- .../tests/unit/test_column_queue.py | 2 +- .../tests/unit/test_download_manager.py | 4 +- .../tests/unit/test_downloader.py | 4 +- .../tests/unit/test_endpoint.py | 4 +- .../tests/unit/test_fetches.py | 4 +- .../tests/unit/test_fetches_bench.py | 4 +- .../tests/unit/test_init_file.py | 2 +- .../tests/unit/test_oauth_persistence.py | 2 +- .../tests/unit/test_param_escaper.py | 4 +- .../tests/unit/test_parameters.py | 10 +- .../tests/unit/test_retry.py | 2 +- .../tests/unit/test_thrift_backend.py | 140 +++++++++--------- examples/README.md | 6 +- examples/custom_cred_provider.py | 2 +- examples/insert_data.py | 2 +- examples/interactive_oauth.py | 2 +- examples/m2m_oauth.py | 2 +- examples/parameters.py | 6 +- examples/persistent_oauth.py | 4 +- examples/query_cancel.py | 2 +- examples/query_execute.py | 2 +- examples/set_user_agent.py | 2 +- examples/staging_ingestion.py | 2 +- examples/v3_retries_query_execute.py | 4 +- 75 files changed, 228 insertions(+), 250 deletions(-) delete mode 100644 databricks_sql_connector/dist/databricks_sql_connector-1.0.0-py3-none-any.whl delete mode 100644 databricks_sql_connector/src/databricks/sql/__init__.py delete mode 100644 databricks_sql_connector/src/databricks/sql/utils.py delete mode 100644 databricks_sql_connector/src/databricks/sqlalchemy/__init__.py rename databricks_sql_connector_core/src/{databricks_sql_connector_core => databricks}/__init__.py (100%) rename databricks_sql_connector_core/src/{databricks_sql_connector_core => databricks}/sql/__init__.py (97%) rename {databricks_sql_connector/src/databricks => databricks_sql_connector_core/src/databricks/sql/auth}/__init__.py (100%) rename databricks_sql_connector_core/src/{databricks_sql_connector_core => databricks}/sql/auth/auth.py (98%) rename databricks_sql_connector_core/src/{databricks_sql_connector_core => databricks}/sql/auth/authenticators.py (96%) rename databricks_sql_connector_core/src/{databricks_sql_connector_core => databricks}/sql/auth/endpoint.py (100%) rename databricks_sql_connector_core/src/{databricks_sql_connector_core => databricks}/sql/auth/oauth.py (98%) rename databricks_sql_connector_core/src/{databricks_sql_connector_core => databricks}/sql/auth/oauth_http_handler.py (100%) rename databricks_sql_connector_core/src/{databricks_sql_connector_core => databricks}/sql/auth/retry.py (99%) rename databricks_sql_connector_core/src/{databricks_sql_connector_core => databricks}/sql/auth/thrift_http_client.py (99%) rename databricks_sql_connector_core/src/{databricks_sql_connector_core => databricks}/sql/client.py (98%) rename databricks_sql_connector_core/src/{databricks_sql_connector_core/sql/auth => databricks/sql/cloudfetch}/__init__.py (100%) rename databricks_sql_connector_core/src/{databricks_sql_connector_core => databricks}/sql/cloudfetch/download_manager.py (96%) rename databricks_sql_connector_core/src/{databricks_sql_connector_core => databricks}/sql/cloudfetch/downloader.py (97%) rename databricks_sql_connector_core/src/{databricks_sql_connector_core => databricks}/sql/exc.py (100%) rename databricks_sql_connector_core/src/{databricks_sql_connector_core/sql/cloudfetch => databricks/sql/experimental}/__init__.py (100%) rename databricks_sql_connector_core/src/{databricks_sql_connector_core => databricks}/sql/experimental/oauth_persistence.py (100%) rename databricks_sql_connector_core/src/{databricks_sql_connector_core => databricks}/sql/parameters/__init__.py (81%) rename databricks_sql_connector_core/src/{databricks_sql_connector_core => databricks}/sql/parameters/native.py (99%) rename databricks_sql_connector_core/src/{databricks_sql_connector_core => databricks}/sql/parameters/py.typed (100%) rename databricks_sql_connector_core/src/{databricks_sql_connector_core => databricks}/sql/py.typed (100%) rename databricks_sql_connector_core/src/{databricks_sql_connector_core => databricks}/sql/thrift_api/TCLIService/TCLIService-remote (100%) rename databricks_sql_connector_core/src/{databricks_sql_connector_core => databricks}/sql/thrift_api/TCLIService/TCLIService.py (100%) rename databricks_sql_connector_core/src/{databricks_sql_connector_core => databricks}/sql/thrift_api/TCLIService/__init__.py (100%) rename databricks_sql_connector_core/src/{databricks_sql_connector_core => databricks}/sql/thrift_api/TCLIService/constants.py (100%) rename databricks_sql_connector_core/src/{databricks_sql_connector_core => databricks}/sql/thrift_api/TCLIService/ttypes.py (100%) rename databricks_sql_connector_core/src/{databricks_sql_connector_core/sql/experimental => databricks/sql/thrift_api}/__init__.py (100%) rename databricks_sql_connector_core/src/{databricks_sql_connector_core => databricks}/sql/thrift_backend.py (97%) rename databricks_sql_connector_core/src/{databricks_sql_connector_core => databricks}/sql/types.py (100%) rename databricks_sql_connector_core/src/{databricks_sql_connector_core => databricks}/sql/utils.py (98%) rename databricks_sql_connector_core/src/{databricks_sql_connector_core => databricks}/sqlalchemy/__init__.py (100%) delete mode 100644 databricks_sql_connector_core/src/databricks_sql_connector_core/sql/thrift_api/__init__.py diff --git a/databricks_sql_connector/dist/databricks_sql_connector-1.0.0-py3-none-any.whl b/databricks_sql_connector/dist/databricks_sql_connector-1.0.0-py3-none-any.whl deleted file mode 100644 index 4cd32c830d241b29116f83314aabfca60d776a10..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2295 zcmWIWW@Zs#U|`??VnrZkU|<513=CpGIwi3rF{vmsIlEXtK0Y%qvm`!Vub`5dApk|! zZjqx;^?<7NfmjMvS8-tuvQBU9Q|CiHJas&Mv`+b))9cgMJJacZ?)+(QU%iw1Oq;rb zzBV{<&D_cQ(^Zu#3eA?*X~DBifTo)Qu{fqJr6rj;#X!dqV@1_c)tQz@aanZIb7@p2 z(1IyI3ku#BplSX}`k;0(*XIhuJo^IA1E#XbcI_ zWnaS7s<7^aMP8Qaw&2^DC+}~5Db3O@qjPh&@n+@sHeBb8o=Mh-y^cXZRFFpFKXGKUpjvi?=r zvt#eA9de>)EG;K9vA_3mlsR1dtKphgc9>H3z3AB!X3dN@*8X-u{>w_!ovB`)a}T$? z+>`XvE!%qM&abx~HP>YyE6sKj*|yx}t!8Y~hN))?#J|Vi+jReT3hTcOtNNv-y`TF# z%DW59;hp6B>fA#%m&I(JOmpp7ty6Slwr~0(5!RLY#i{yN*z_58{dc^5-YOYq`*Qqb zLye4*zf+%t03#s+h(UP)k!T1+M!1Kos}JufN3I410oDt9mw#Xqc3r*4VM}*MRCJBk zgqaeh58oF5z4w!8B3}mAp>uq(`Dq4M(gV}&9j|$9*O2n%HJ|9?y=bdO(vCT2qY}#g zZ;5eFN}TXKs}9wDkNa8p41n(P0%A*2+?SeHQdAjVke``XQmj`}QPQoacgFLK=Q)qF zYp-~p^f}|{tEbub)C-=cx49ZT7W7&h^I(ylfNx9;Y9{trwDI`eDZn(l1z5^}iVLEH zDah5?Kgeb3rISUA4FnnBGKA0b z>)+qIS6lf>8HU3TX%Jjip%wf=d=R6Ea4@(U!ME!@9io7@r`p1EcZRm($t+7GRd z&fNX-?vpKIs}nXU<^7!SfBTCIHP6>3KI1r2Idf{~oJUSy&d5ZDdTY(ia`zH?8l=nk zfkh(LazPENdYkkwPvN!*OVjf{tFIhhaL%)Yt@pk{yqMRU503ZT%km;8Uh`K|?~LEF z<>abGd+WD9U3a}>ciWRTj}@m3cga1kVe`1IDs#eWUVh=*#@^V26N{Jv><@mBZHsjG zn7A?TN$b&1wM9OX{hY7l%+pp#My;rAnH9n1G$DMVs8Y1#sx8%C%Vn$?cW&I6{dvKi zXuC;|!kwRrxc;lu*ywxt_lgUDjVJIvO9?9CvxD3RwK{vX#jf5@_Rc$B+BWy{ z)+bluV}b?D?j_z&JoKXJ?v4G+HNS0(sg}0fJZhPu4k?RJCNA z@ovfG4fDU(6mR{^+gJUAJHVTfNrV}99RiGHFj&$Eq7V^|T!NyTfnK9POkiMG(rAWi z23q}sZVq~#fiPzdra7=01l`0;I?Y@MdKL8NdOA L^MR#~6PO18jJ_en diff --git a/databricks_sql_connector/dist/databricks_sql_connector-1.0.0.tar.gz b/databricks_sql_connector/dist/databricks_sql_connector-1.0.0.tar.gz index 05718f9200bb20aa356c7fb04d5f78ee309956fe..ace83ceb0025e68c77d000630f4088946fb1c537 100644 GIT binary patch delta 40 qcmeC<4Va*(bdZskfq~)Bg75yheC7*)ObBQ&XP$LWR-HkEfdK&6NeMFm delta 1650 zcmV-&295bpjt!75e_CyG+Bgu-XZ;F|b2DjgK-k6@$|afRl3bg)w9Pe{`;t`BB|{)2w3l|0>$Q4j09)2dEA8&Hwpr33ji)Dc@|@9#iH&=KU18m?Z8yEe zv1)g0*Ks%SWa9x)7Lp2>e&ff4+rf$C3EOenuGe&3*J+ZLf8X@IP8)3)eD{c`q$}221W}@I(syb;8u~5W{Q1D#NS`V&7@#!DOcz-U62k<$W z%2AeDh?ejx3g~~nEU>+9-g-iLD&YgOKV5VpVV3M#JrwhhrG?gfFQ?&%)m^2TfSgvX z=jt}bLU8>Z9Wp)l2h7tjE~Aw-TQxioS)v*X5nA|Te-ADCom>0Q_g+3bJbv{|jn_kH zc?(Iza+XFc4LK`%DA(&%1HEmMj?!sUjszb_)wH`~6UQfZZQCZUqc7$(ji^=)ZDPO& zytLoDI}UM4tG4YDwY(Z$jJ~@A!-Jw|vj>ArsSw%4OvD2#Ikj!4Z6UN7|LtjIRHF;? z3HH8Ze}yb`qf49)aiBF*=81WKrgx=US|<5)jb?8hwGjWNO0{hecR;b)?NV-&csHcx z0zGt{oM;S|O_UBdw#C-_k!dHSF|XeUrrK)SM7FkWK8+!ks&#P}M;ts%GhzJdWzcw2&<6Ar(1CkTciAt)clE54m(^*+3wc>lUjS=+ z+}K(~kM=XdQyx@d2i}xW0WP4H_Q4Wt%-IEtv|Y}We}@#fegr((XDr3@>$pF~e+vUy zA5p^7rQr6JQ^(mb2xG3!2Q)6&RZ9@FG1Dw@^zye?7E&tZRE{b;sxy@ptaW!w4V5Q) z2zDVD@R%*62sFV3^ZaL?|Nc+Uf1d4jTITuBJpTc&Eoa;y0GgIT0Hl4N@Bdu8Wt;bZ zKM?;nZ}Pum`2RupzkMtJyKUFdf4|}XRsM%AUyuVn%m1zR3jaGz*EanB5YR8W);U3- zpGlz!SI?UGXA>|c|C{{({pWwL>6!d*^8ao5zmz;K?(_io+5GRfR-gacCjWm+`JZT` zo4Wv$|L-UNoA@A4YpbNSzOy_Nj$fBLPq$^Q=l zDW+YdN;7V`5tx@Q%+o$%laS@I>OX6|pd#hzu+VMu6QT|tSw|`CZ5*!|wfaXM_t^k$ zGH|K>(#CSc3+u6o%5NtAPkw(^SO18Ab^iZE{5zgwujGHP)in424}up=Qso2nKdVxS zE_R87Uebhh@w#d}bk$coe+fD*lY|0~;D1s3hmNaSy)Ir<>Y+Vd4!A5oYpSz^@_4-_ zpQsB&uV3OlChu%tshRyDIaYTmU!>D*c3$(qhNJjKZgz$wW)RRM#)lHKbz*@eG+6F ws>~?LE>eWdy{>_Qfq{X6fq{X6fq{X6fq{X6fq{X6!FPjy0G+EELI6+z0O*-Z$N&HU diff --git a/databricks_sql_connector/pyproject.toml b/databricks_sql_connector/pyproject.toml index c8d67b77..3b5b298e 100644 --- a/databricks_sql_connector/pyproject.toml +++ b/databricks_sql_connector/pyproject.toml @@ -5,7 +5,6 @@ description = "Databricks SQL Connector for Python" authors = ["Databricks "] license = "Apache-2.0" readme = "README.md" -packages = [{ include = "databricks", from = "src" }] include = ["CHANGELOG.md"] [tool.poetry.dependencies] @@ -28,20 +27,7 @@ pytest-dotenv = "^0.5.2" "Homepage" = "https://github.com/databricks/databricks-sql-python" "Bug Tracker" = "https://github.com/databricks/databricks-sql-python/issues" -[tool.poetry.plugins."sqlalchemy.dialects"] -"databricks" = "databricks_sqlalchemy:DatabricksDialect" - [build-system] requires = ["poetry-core>=1.0.0"] build-backend = "poetry.core.masonry.api" -[tool.black] -exclude = '/(\.eggs|\.git|\.hg|\.mypy_cache|\.nox|\.tox|\.venv|\.svn|_build|buck-out|build|dist|thrift_api)/' - -#[tool.pytest.ini_options] -#markers = {"reviewed" = "Test case has been reviewed by Databricks"} -#minversion = "6.0" -#log_cli = "false" -#log_cli_level = "INFO" -#testpaths = ["tests", "databricks_sql_connector/src"] -#env_files = ["test.env"] diff --git a/databricks_sql_connector/src/databricks/sql/__init__.py b/databricks_sql_connector/src/databricks/sql/__init__.py deleted file mode 100644 index 50130d88..00000000 --- a/databricks_sql_connector/src/databricks/sql/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from databricks_sql_connector_core.sql import * diff --git a/databricks_sql_connector/src/databricks/sql/utils.py b/databricks_sql_connector/src/databricks/sql/utils.py deleted file mode 100644 index 1f64382c..00000000 --- a/databricks_sql_connector/src/databricks/sql/utils.py +++ /dev/null @@ -1 +0,0 @@ -from databricks_sql_connector_core.sql.utils import * diff --git a/databricks_sql_connector/src/databricks/sqlalchemy/__init__.py b/databricks_sql_connector/src/databricks/sqlalchemy/__init__.py deleted file mode 100644 index f4874904..00000000 --- a/databricks_sql_connector/src/databricks/sqlalchemy/__init__.py +++ /dev/null @@ -1,6 +0,0 @@ -try: - from databricks_sqlalchemy import * -except: - import warnings - - warnings.warn("Install databricks_sqlalchemy plugin before using this") diff --git a/databricks_sql_connector_core/dist/databricks_sql_connector_core-1.0.0-py3-none-any.whl b/databricks_sql_connector_core/dist/databricks_sql_connector_core-1.0.0-py3-none-any.whl index 83afa7ebdca0d76a9e7d650e22d55097ebf6868f..b9358767ff095d14b6d8f045f9ad5b027ab981ec 100644 GIT binary patch delta 50746 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%0AVw5TlR~0)LEn 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�Gc#Hi@}^U1%aqOhxY=e+f1 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'UuNV{Ush+3*TZyphpHx1is} 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 R8jBEDF0hEYbCd-r0RVfa#-acK delta 50594 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⋘VUpup!V4Bc%O}y}1WU)riu3{v|Bo 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

      Lx2Nz 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 delta 186279 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 r|dkZ^v2qPyAg) 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

      @E8oXUX?`05Th_P${V<@g7`(J(eF?@my$l=2i z$l;(S1FJzgT?}X=Y8@s@Ox?}V#A6dRBEfwOyN##~m^5+EZjKh-B2gm> zJj_Vlh*H2j6jS$bw&SUZ8quIVqkSVv3G+hSvxlRHXC-RHfHVfAiNavgX;K0Z59 zBNlXH*lD6vFdgC^OO6q~Dp4a2^kJlGqEs=%VyYE~i0?_%hzBn*+BH$?m^pEe6~`Pe zaaAK>)O6y~H}-$EfSsa=fosRD0c-s3tK_R-5+nO}ItNClmbn+$k7ryZCxPjV@2l5s zU-#F#bL%QmngeNHB7R1!id2X!mHm7Tyw9-S%-)7MUR$+~a~xlCwf8#6V?=Cb>tI}K zE&k%z(y2 z2*+=_wrG*&lZvgU^xXBo;H6E23MD03&i5xuZ87;sxIT& zd@GDao!ns{5g&8y-xnSbb{E{~^54?FzSxqDnI;=w?|lH;xI}DYAI03QvpB|ih_}1m z`w+Bq5pQE3$2_mAI>sr$2VC#X1F0_3+u3%QnmUW)oG19y>%IBlSr_Z=Y1z17@Jk;soafzWsV{!6>)JE&p9=-s2N=UJb30cy*^k(QDY=xBv6Mxnq2(^OmV5wp}1lU z>UsYSz_`^@PjNc&J;@ry;0u@b9Vjo%rTU&zoNl~Cibe_e$_3Iz zd1IpLsScbzJT^t66s&Wx(?$7W(&~F0ID>eL6pa_)8<$jF)OpOqdg^J;2%egvQ3iIn zwCkcSU|!VsoaTJTvr;t5!Ot#`9_k{du0DiO(HN30X|&dJ%SZPTjCY`wF!tQ@zM5dU z|4Bjhzv!B6AEmV zaJ`SPV=d;9j`gOf+f?tYg} z_i6knHQ@r_^uuqE8$h}%R-bYM)6l?l1q}3W-yk=F=Ul1!lyuC;hH+QGSYL31+ywf% zX6sXKVn!R7X8@9Z{|$0880gxgPsze8G>o4CEc92Vky}8vE7pLLg8>_vXMx@No6^Xy z!Dv^i0VNj$H;$hLto3)Nk>7wxuGt2ZI~bit=HI}6eMTC&6-;;SF`(STkQ>25j`h z)5veZTvzN)$^*>)My4BZRR4Aw`5l<&O5I7x!#FgKy8(9kf;94bu*fxgC*={wy^(ni zaM15hBe#KNu01;`g_xkm@pAxGe`Wehug{$|#fe_qyIm{Bf>h?7Pk9W_t3L9gcfYM@ z4DOsaobj0G>@RNg%I!X0SsTLsu+nuy>H(@@*q@s}oA5vUBpmsTy+0f?=?}+z=wF6o z{v!(c1K2-+{U=7jz&Hba=+EWP9{f26|9%*R4Auq>)`u<)ggONcEq-5II-wpk{{1(* zzoch2GuyoM&1-4=wO8oUT;rLnkRJm-mwyfS#fQuek6HcxI99mu&1rG;`%+5Q@^`0M zaZ2Izm%@tqvXtQEQ{9X2^Wx2y?iqQRFaP9vbq6iKJM;Uo{VCnEJ^%O@a->cDx2LOe zAwFdM>vF(iZL`zz$c4(E-{M1;$No<-Lu>kPX~K-s@|WT)!FTi0%Ag?EK+(OQvgWfr z+m)7nhd3BHEetOIX92>*NTI{BdB}Kl;ZoCdMNsVWlE}Q$)UniS;d02FS62DbLY@;p zbf)K?`O*fb>da8Lf;w#Dx#hkg(^I>zq@zt3J zE}uzcInEXp&y6;j&J&x_)vff97uODDjeNaEYCdP){K$0ryZJO?HtkCqv~L~^Y|iq{ z{65|MeNI%E^?h^mg{y<};>pwfvlY`N6@zJ0r5l3_tg`Z6586+at`9DtWaYICDo>TJ z2re+s%4;6%m@NGfR6xwiYZ^?OEd3l*V3d{DIA}jv`X;DAKP#_cP*(R4p}0iVT!N)v%m7r2MA27@hGG*{at$rr zW8Om#kbU&8h3T__Vv9HSL-xa@0kl1ENhP>KFVEf#f(kEJirkgb{A+{C!V<#yxT6q zO?EGQNnhZgeJ4R9XM$|OCan4@^)pX+TqZ^_&=E_iJ zKlfj5*;xMS9xZ7_=qX_B*vEY~~F z8pO6%RZt&FBxi?Nc=Xt@c4Ki>DpV;ZF6+p5c?Oht*<3;xFD~a?Ga_?jE#mxpbfQiC6yXf4TA2T|N!OjNgdY4|07{-+t}J zCY1TzzhfSzq7a7j<>~;|y@_Vo@sC-eCDPBq9P{P{%n?%IH4VHz!&1CI0fW^ycMWQo zO6^68=$4}WaTr+N$kn~!ZE6mpPq(buAA^DP^;{hqo~Ak@MKnv{{wR#RzLx9$hHI%B zh(66yus;GLr?2ixYVb?##T7YQ^7nHvpuUo;PQ%gE9Gt$h<*WVS7-@Z3SGd6-)frbr zwXFU=nZGp4Te=v3`H0mKsUxDp+{0Ffr4Ea1xwcleQnn%+u8ozAl#S>R_mI^gsY9ZJ z+=EsJr4EV?aQ|OZ`a_$4hcE2Ap@Z1do(q^?e}Bb4c~C!B-%4LfUxer4t?*KK5yC~R z5Gh228NA)wR-<(iQDk4(r7JRs~r~`|si@e7+dJLPxZnyWMKL z)OOJ}?l!A!QrkpZxm&HaN^KQsbG5CsrL;v_TrDdtDJ{_!?iQ;pQd>luxtpyvOKlcy z;%>6qB(+JT$ zDTx%hidKqJiXsKBf|Y`lf=He#ZzV4!FWSJ}V6{PNgJ?Z>z14cD^~*WG(-%(sAL$F< zZU4FZ(o?$=x+A(--2vUq?z7$0Zo6)qZtHG~ZsTrTw{|zS8|s$pmhP75p6MFz8tUrl zYVT_45_g&VB+X9l`{24%ZWVTkeu;8P^AhS(-$nk#+>7js^ox{>nio+Q`vUj@xdH3| zdH^LrGXNFPcY%K)_X7I@{Q~8J<^|M+K7YP{u0PwK?oaX8^hf#ko#&s=J&Nz^`%(Nf{ZM{=zI@+YU$!sZm*T7Gi}LOB;rrzJuzl!06dz3=luw^G z-#gcv?M?Tlcx!s2y!)7ZW-gP>q%$c@O(u%j=f(HR^yT)x5{N99|+X zjOWdB=GpSdJcOsgTgQ{+O%(PPzAmgTd|cQ){ck1v_m5~e$o5IRlKuY(0b(`Wz{B)ZWz;+9VGVUBCl8^Fvs>Ht0o7&rVJu!iv>!2WfOj z1@!@{tDzclijeGB4G++bZl{9kggR<^3^~O}Rjh_5=tECcL4AUTYp6z?GNdO~!wbAb zZ&yKeLvuAfMx07SB2I$|UZz7Zsux-#q8fAf2sTc`8;qjc!Kgk+S=3|95g`_F8b07v zdMb?i0&NpfO*r)kHBQ49Ory8Ms6mJz>M`LoKR(j<#q2-OBd@Gbqm z8v7?yAYz$vMv=4e&Vk@Z`j8rX8mbUUm~qCDhXbIuGRj&}|Lr|9?9*^AIO5zCyjfDFYuhk^_AA$9gLv?P+S;7H)56P#J# zO2+rEB42fZBt}l0U;(Vc>m-DQfiesxmXE?<#d2g|HGY3W*kw?G!Nc-bVQ}IEG9ZI@ zPY7d!s*G`L;Gwm4;P3bq^o*(+t}S0$XLbH+oiz=?a@!bo8mP4xdvVV$juO5qL4yP0 z8L7W5*cdl4mBLZM_atciFW}}!rIL@9$o>zG_Lmx-`7tv$vtoA5?04*sQrEp?ey zzOkz|QMOw+}dszjn3y8hDRkv6-?BbF`MX4>*p0 zdbRpGSjb>)rs!Z8wYa|kd;Ht0)yZHnqiQon7vopU`wMWyPhG7}0V^32TPQe8cr9)} zK*P%?Ri}a?hQ$^N9&@dhw;yoD8zfcV808uYOJp~ufo~Y8TTnYO4{NChIOp)xB#m^i zgVDYPWrTTA+jD^9g=ZycWPqO;kQT}WQ&&qp$nnKzCu!UShZ%NSC?ck#w&x({0=_Cq zBNP0=NYz4_Vuov}hd6=wo+OPdaE@XAREdtOp~cif>4+u0%Qm(*ZL9{0>oxoTwnsib z|D2C{_yLS(9qR}u13z@l`5s7e8QRJ|gbAsWILgV!OJ8@s5AJr+-p01Y#MQBma&F_b zuRA{g_q&|k#y*0{tdls#xsSKL?)(ru>T-V@`xvI6j&+Qak3W0eIS+Jj8QR7^fvKpI zIL_hWBd$B=gA5n#?d+47raIQ~Uz%&(w!C$}kFhPf%1vPA&ukU3#`toG=S@<0pVB{K{l94`jPwbtujlu%2lL2=JSd$&bNk7pe}0 zj)CjP?Eo=;cQW}2nB44NufNZw#14G~$`bIYnTm%Zv`{EM`|d)}Hek zpOBpM6uj$VyaVNiIb5G@&v}RECFeW?3tR$rpxiOEdh99A2YgF%&U5g&OUVwDC&s5f z`xNIBemps+7_4xa*@0qWF4tonIK6nel$;W<#>H3{<%79epY6c;g2$!gl!8qz0lFwZ z%&mItY0g)?O-jxS@V$%q^Q~@2-#)y5(zfgtXU~r4G{s=6Q`gQ7nEn4L*gtrCr|a`E zca@IkPd(f^-#>rsajx^b*rT&^ONobfXaDm?kKE4V#f_ewpA5?nTvYi(2K}+!{-H$w zpx_S*{-EFw3jUzrUjPMveD{BR_x~~9{hzFg`QIJ#H}#f(r}PI;D}``?kvr# zFJ0Gjnyq&Vp1z|LBBz=)xhdu8^e>+3t$jrMzadz{Og<%E^CNGv?b0%|jML zD=y6oLr2+%mPI3nLjFN*|0b)|XJdaG-Upk_=iYUOUYh(cBD?&#a^cs8xkatHl=xO=-kh^wz>ZtP~bR{;CIb zBpSZ|iSX znDsSXa)>o=``mne##eR8;fi@%PqV^|@8Y6Euz6co^Yv-pPm2!c&D%aUD@^;oTy*d- zZ|i8j{>%5~qJxWhTYIy@FW=xrhtuY5@0+jx^gX@kaLl~zZL`8pU(-d01LkdSny*j! zsxCV0F>h;WR+#c#TyQWoZ)fGhaKi^bp@5TAHCpDi~(qje6 zS9Y#AH}y`OXL~}k!17e=Q)QQ(uiX6Ji67b?(|l-oB=)xQo}HK7rrwGl*dEcmYx!5~ zwKNxx%gxWn_7=D9(IOmto$g?`!);gd(QA9S)_4m0U3z%DzrDMvX3P)Tm}&1p`g~$+EDpPbo>sVQFFSl z67gPpvLI94@GbAul}FgoBI*VdaV1o#-|5P1IGUWOHMyH}e*Y^-AK^P&ydr&`mE58Z znxzKfeo=?3vj;BTiFtkFmj3QDoF?g;s|hH-fx(#O8=3l~GyY9O8MP*C-+_Uc#v5t+ z24`HG#2Jw$DBpoEG4(f+^>xl1Z@Qnc*M#je&>vHKB`toPCG+Adv8l$`idSm!EIQn4de=)gdlQKyeq%=}0DVcPQ zbd{7qiX+94qDT=W4k?^;nZzQ6kb+2;NC6~&k{`*3#3Xr=+(~Yvvm{p%gG3`yNsc53 zl0C_ebewdQbeLqb5ZHA6H;c)Le7(MCGv}}0K6(q18Hq$9kc>%&Bm)wjgd^#abV%Ds z+N3R{O{9$^EJ=+7laxsiNs%N^T2GQAp-CWV4M~~=kbW0BkR(V;#0BCUafbMdI7R$H z94CGwjuMB7L&O1MKk+lMhuB5@NbDfC6WVjWRTtRV`BuZUH|3Sv3& z1+j$qocNUZgvcWn5c7!-iT85dZh-6II=B`V!y>o_ z7QzCU55Iz|;VQTiu7F>{Nk;Bc4?UxveA790wPz`<}390*^6FTw%v1=t@x5BtHsun+7FGhr{- z6ZU}J7etwnmmI%Ns;x4J(?{#a;nDaw1dYV~Z&O*ZSn+T50MJ5Z=L6fj`AcfQ(?2S? zi>9OBo&WWh{+~Sn-)(kuRogQgUn$lpzESK@{H!>v_(Sod)GA$h-A%d%y1R9c>N0fw zbi;M8>E70Tsw>catJ|+TrMps3UT>40f!=Ptqk0TIKfQ3hYkIf!p6Uto-s<)1P3f(~ z$>TQR3~;+~M{x|CA1)ks4R;&&6eqyF#r5N+a4QjcWD{b5>_(0v48#u!N3J2ak*A0N zd5iQTQ^-oZJbn}20KXf56wko>;luIQ@VD_#@dEr?d_R6152PZ37_uv{bL#*UE@FcxOng1RtscG2>6e2;flJ1~0T~3AH4vA}Q z41ppfBUaJ_{F`p0!ta3EYg!C}Vx&A)(i8NiC#dj0LPIq+MnDzGyhv|R;denZ zH7!O!C9)7J$ppjbaxlLKk`~z*1AGLIlk^57={7L`GX#lRi~$isij(vK6X^*szaP>T z*_Z(Jh(nyDFL;CA0`mtTV^NC<(2NAd-E`BPCP&0M`+>LV+N$iY&_NN4z6dB%M#dlg1k%p(6Ll+PwOvq6|Kgk?*82(+)FRk>C9 zRDB<3mAdYs?xh}}+ETxT#aT+oEk zqQOUF0>mv8Kpnr3AQ=IY8FCx>a+nCQ&2B&w4<|}Sf_oV@8~N)osp6L1fEJ#VC>aIX zG7>iO7tIOP%^UGeHC6mG3SwBxuuZ#MQ4!?P7_C3B&&~@y4-Sdw#1)3K(mzuu( zTQ?;co317Q;ObF#FT>^en;3~rEG6sOy&b;4Jg3g8My>?dk~sZTy=Da31cVE+6Ch|k zn?hq*gX<&1HX?SLfEa<LuSuE;QL1lkPT7Gz(8QrEMO&{+Gx!;xXz5WCGlz99QLRI;9Zf+q17 zNQ(^9K~gsZPX*b@Q2ToJDH`i9&?hoX7ir%Nlnb&`pqce-Cz`~5@N#4r4uQ4+0zq~v z1Z`l`X{`O=)yObBVz&io5M|cM5ILy9|(oEkLV)l?EN%fI3HG9sqffWJ9E7 z3(zTGr9*xjP+qk017KAo*%*=20{R534CvYhlrN2W5NwGg6A&9MU_`*W2|e9_x1(r6;z7-YPS>c9(aK` z7z1ChkUX1BW7&Y~qr!F}cG>_a%+7&~<=I@Cge|x+Dr`5Bstw2svu{Cm^6Y3D%NE2( zg;^r)+5jxf&V>Tx+3_@q!{Dx{Flz+b3TzT)--c4<*-13kVeoKN*gnK=E1)CHz5|uW zvr}jiM?hLs*nT8+>#tQO+IE{r8wz{wLOt^A3|jUP&_7D@5HhqCFcbFNgCrE#*);4? zkP{_oi)e2HEQLMyA*=%XHZA)om>eZ}1Ub76I4JCS09h!o@6)iyz`IeB$B_HmfaAiR zhY(ePolna?20o9HJb?^t1001tc@Rs1&7)zDgEdi-ClT%KfUB@4AIeskzr6jv_v)Pm zIW>FUmP9G1*!B_JRM$SxXmZ#m^99?YzSx@*p`y_A46I4n#*w(hzGMAWBGm4B-^nHMAZ(P%T=Lfkfy4SB2Ckkc}d{ zjz&ER>PAbtKGrL3GN>cB>i`+T>>?;Yk=;y_um^WVhn+>B9l&j2_ERWTk=;sT*@K6p z!`u+N9YDS?`x#WC$Zn%aoC0alVeUxk4&bRU`#IFE$nK=EPJuqrVV+3)4xn6^T@1}A zvb$*#4&deJFeU=&0s>)n2?Qyz`)Di&@M?6J4`QbaGzhaxA!8->AWh;lcq=;04@uPp z-U_o{Kz2&=SI{?TA;0@_@(ZagZ)#whphnf1skEno}gJcf_2eh7ZGDU zU`U943Efv>|D;tpf*sLefk=QJFfPPaKw>5KEX~3R9F7hPMoRR686mb38d72}(yE-m zx#+M^WJV8=sKHi2(hyscZb1dt#Ds+*#yCK_23rkjL+n-bDk`WP6UIgYaDZG5_7!9e zu~*YAoWX4|VONk6901i|`OsO2Ekmzz1_?1?Tx13ZU~8}fC<0=yqg&9xeKBE?h%o|a z*Ik$)gA>U zjhl;02Mm=y4Lt00@J}D{^zHS?FPAxFInG%5=kjL{{+xq9F!(bH{!GF@lkm?Z{4)vv z2`3?(8N*NV4#1-i)%4aHlQ3MZzH!E%#XlSJ=P>;D1EKr}!~ad?gjUeh{o;j@(b2y1 zUFN35i;Gk4KfnGWWi?y1*0z4__X+$tVRWWBGh^v|(2KbzDd?YLZb^RqQ*E9KVOFQg zPVpxKa83=LO-hqX<8y>8htUjE)q_ow6GcH8m8!bC0?xF4|53Zwtg`Eq{qpJ12~Wcp z4&XrB?8WC!neTu2P1_H;6=x06N=j}RHBA@<`;FZAkk(45)tU_yEEM+MejhX$opspz zVukWS-I|M&4a40Zdsn7g9Tz1!!HYTm{m}!Z@8VuA&W+BdbdJQo3&Ey^K3BW)-nZqF zwEZEAkwlNe8!e7V&P&H#fzQH!*{`WS%_+n@U0dtP*}414z1E&q_Wb7eQ{pG}tdquZLgJ4}4Ghm3Xjlofm| z*jhYNJ7(`w7Wc70qj*F#*5O^|`LO^~JR%&k_bxm5v0z>C2!E`DS*H83V0H0G^_V@g z4E?b{vUsF&ti!A9TW7)S^O2Wh_FiR8odpxmN6N-JJj)6?3%))dDIK%-EQ{+b=zTs? zJl5e+=Gj^B;rYn3F?)})gPjGhpN|xcb-0)5b{5n=A9*}x?_P%PEU11yQaILeuIyV! zK`HH~fldeb3StD`nt)6%xFxs`2Q zop#o4z0CGo&SZmpF6T=NPgz-!!nZ$bw?<}rjgNY?T$*{q7)4Wl+8Mha;Py=CYW@5RoG(qh4vZp^ zZ-2&a7~Fo-IY&R=m*djJtHUUo@RiTleU91gNY`*JFp1y%?y;kZB1*Kc)2>GO+-|z0 zYrbd99rj~gJ;j&8s3&#>3g>cYIkx$qBRAt8FKtr1AgGJ9OO`vg*44Jd-t94xw7N`M`CiHuZJ~TtFZ*cEH3`Wuo@B)e!<9X& z?gLm9PF+3e6OshCK1HOIH^d-;N=N9(cljg&LSNsy4r!C!@D=x$%#kWw<(i}voW69c zC+^;=4VE|+)Dcx&yaam+S)svTcz!8~ECYQj%h`&KNj z9FuL)3`4J;vdSi|c)4!K;%|}sr_P~ImV<_K&tE@_&Ghhd&vjDy)G_qV@}A+`)7N)m z)ja&p=9;T~`Y_aJdB$+=$?NN}neKj!Ty>RC?L$IKEyFq9>npKp?tawVW#vz8LoY1{ zcg_{OJ|CNT&d(vYTlv%bp=Xx&cFyI$c8OIx=VzB&sr>2P&?Cz;JLew0J{Ftl=65tV zOZn5=p*xmZKQ*7eD^?llbdk@#VEmohl~azo$elocR((ZeU6}dS^C_ncb%8sE?ofR~ zq+TfbM*WoY0(GAI75zr_7SZBDz_*@{Ii)CH?iX~O>Qy54g7G)%$D9(BH@6r4O7${P zVp?kSgquj-^sgcNUES*mDIG5IJ^m$Q)XtpeC=c!j^b=JYvC2PStfwRA8R{JO9r~f_ zVPdww@ffuu=PBxM?rZcd)m=oE|IBF5hnynR8EzvwO%+e1`j?DSKjb_?xo~UIS5-F> zE&KyUd)jjzqv%{AI!bjt5$kU}N^Q^Kp`5wZ=*z0V8GQelk)F1k!r$ldCHj);4?@rR zk`ZcKP66sPw-oK8`k7F5K47Hhea<7)Deg10o9Y`v_IcwG>ie90)Jg7RG)?stfpvan zxaVC?9_j@55!zn$34waPWSIIc=OOAC_W}B_>aDp!7ujOk(tK>cY0jYHKPSvx72ET-_a;=hg z`F}~Jpm(U+5%T?Pz9zhpyu;rsm4x1`YE6jollv<7M)Ee_N-7?$s%lJd_iGtScrBUB z-y;=`R#4R@?DtC;l6x(Ai%*f_qGePef{vffP(q7j4xcQ=Mz8uER1f;e4av1gX7kOZ zLeY!xjLE2P%V0vYWES64DiHk>9x`e0O&FAGmdxZ6r7oby;C7RIUz@>%Cdr$86DeQx z7g%f(<105PYvNX@dL*WkU-i--v+5)K+~lmUc!1T|o5tSBbwj^}@0wWqMhr+a_TFIY zb6wF5aI%TEuk`?{p*NL{aA{}(%rTMnl^&32=uKhkaUId+u)oQWkN69#zBie@gKLj| z3cH$!eImX{)c0OzZ|5FI=flTM?)zAOVb%3sV{hdiM&E`lO(J}xzev>eCb6}+2hka@ zp~+bvaX+iJ_bPicci-g@|C4_ zqW^|lj5EA(eKs{=F?>i0K|8}$#zEfWpId}s(R@Xz9q5xV&)C76_t{1m7R8sB+KRS? zvyDmK%+D=?ut@%TsmIo{jC599LDQmSYZm}&fx z$?LV@hjI9z6b6mJRO50cv$y3{*cJX7DFyV_-vRU)OkA(ctFUmswA4DZ25ey*#2oKw zsSacF0Vx?Y2F4jXFnK*T)nS+UE2UPW*TGn05|i1}QWX})Um>*$y&9G?hMBk?o2oEY zXswCuSnBh7ZHb=o%IZ+cGO#2wuQFxS?^V^!tgH^9ECO>flPdj20xwqgctv$EWghq? zGotd==(d+dH?yKTh%yWOkm*wq7=?RDbdSHR4x~&2-()&fo*FT{s=Amjt1nT00>d(` zDz}Yxd$GF4%d0O^CV>H&dX;NNo4hQ#nB~<0lnLOo3|}SOXr-4#*LYd=1Jzi9+MhB8bjTE`FpLDAtWV=Fs?SqKfcG+aDo2fOds=*AzNq%2eEr?FkgKxW zDBM%x(|BpMFJ%yDl1W!FFk*OCePota`%u1w2)34I@T2#ZX9(;6F3%9vN0w*Q);}oE zsIRXrPikpH%$Eq{BOF5taVfD*BLq~_cZ$~`OW3Kt8Amu z?{2Z5S!Ap}W%C^C@w+FbWYzh#KNPj4Ry){~V7e*T!r72x$N1Jl&Me^k3p;hnJK2h@1lXkMHzy_1&FVC#{x%P+Bl%6!zrV1NIMzN&< z1rQJU;iR2yUSY40*RmmCC+GuB;iPFc0&FCC16vz720nrO5NWzi4K|jn!ZrrZgFm1t zM4DkE#wLaCp-hsKp)IF9;9-}4Y&jhpwDNyLT^D-x-(NB zWOB$&xE9P7`!H>(oHNi2$j)+>FaR%e!dh^zFK(QAt6{3q^fWWV)HZPA^zQGGJsaxC zOl9B@U&0OAErWXCjN1v`=aApwc*?*DzQj3*A%lA4%-ac;aL8@Aab>`XFX0Y_%b*@R z;|xJDhx`GDQvuHKB|MeRRAx(geN4BL6th=jKCod`4f((0$kur zctQO#sF%(>BXEX8?#7L)0HJ&dCbSZbs&>X1gVJ1bFAfI-T)u=ivN8n{FLhP8G=I zv;3fIXjH2+lK|Rq$-_7sRUnVgIuAWXquQLu2_Thg@`dt-`&5=VP7&N#&{(9bh>(}t zi@gP}>~d})fGrHpqg(H0D-co&(1a^Fos(_fwNEpYWWryAst!NfO888%-~i} z;#g|HYre%LXum9K*xAMu%;#4B#8s&QANUr5kh?7En{$gPSkA4U#!09Hy?l!xC`K0b z!`a3RY~WVU;w;pGuY8MOC|?%!%elo2{K&1I$FbCb3BE-L)F6wRbG9)DN4eFDxGHsE zmTwUXjmn~yoLkJn1#a~+P67)^3M^OlN}P}!r>?y%K}^<5w-%c!vdfnI}9?G zV@uH_$l%6^u$4$E7LXTYUxw`D*lTGlGKh}|1CVws01L9&P=H*Z#oAN|x0C8q_1m-m zdH=f9O}GQpTUFXpVavI}&Gs9uY(Gyp_k!GRj&P|7qL3g{kDErV2P044$p zE;K5KQlqs{z@Ug~SwvzZKo(d;K;SymMw-oTFeajU9b&N&*ekGzgml)Sw$NI3gBcOk z8xYn;z*b-p1?^vl+D5b41Lj9mD32t zg{RqAf(;SX7{o#o_*-B$xNn=bR9GzZbREiwHf{;_M37-5K@;#5u;QS%>rg}*(+V7q zAgduQnn0j{6%S3VLz&aYtw4!LG8U2B1h56H1W0~8ib7*rgL0ANjfl-AAX>mmY#)3( zQQOxl(n>g_QOOotWkmKLsntq~_mRUzlD8l&n}BoyD+%&jk2*vf-wRqqlC=@J%|Nbz zbq%_<9(9Dq+y~l3lD8o?n}Iw5>pJvwJ?aE)d>=@SB$wzM>)~P{{mT&WE>*51>g%)AwSZv(^(MsI!1ky090a=}B}qtx7Vtwr&4gMuurJZ5hrn-< zl4gil3z!qA`MiX5A-)2=gaNk2^xi^L^J=h74n~}{qHK62o5r*O<)X;D5F2e^t&o)i z8OWo!v~e2{8%5rYBxnO0gsfZ8QF&A}jcE(wqR5s=i#DJlWaUDB@~C*)xGiWAMYcxd zwgQ?$)@|sTJSvICJPg`Ik@q1sTY>FD)*a}nJSv4Yei)=ik@q7BTLFDxMbB`Wwp8_9 z=%YL;gO+dv^oy!Ki1cg)OodhVpapqUHcjp*7#>w^gJ8D-dxTZ@Ay@%*o0f1CycSh` z7@=+h4hX9rKqLj!eVW`c@OD)7Q6zgCa7G)3BC3_fv_v4j@m+dImjJM77bz?LlfZ*&RvP z0Tc;Y&!M-9s7@O56v&Jwdm=46fHEPg7@AToO}-0>Tat$wx={-yG`NC zt6L5yul*J6pT8r@I2T?yLBlzM;%M?k1g8fK3MF1bx0O&oX*@@;J(?VdF!g}%LWv4U zpoE&G;heysXmT*Z(*vf35|vQD5^9mga{_0g$)U)&94p6U=5J2G&Y8@R%1Fd7okq8a}v}z=T&}|5%K%p_Lev1|7!$BVtTHZ|ih$O&@Xh z&G9IB+IZ)A>3c(^&H=Yh)p`%#mmWGLjS9u3{f2EH2X1vboKLU!^!?+`(_m8c&7!2BtCgY2@sq{;J<{LY=T4iM)DE_l zojO-Jtk>0OnG#*SKrnCqRi9*^IqEpFf9zMQ1E^#)S%b;E8}DhVcgpv0p=)b#QG!`v zp&lo?oTM5uqkpLXOLXhp-{tjOrP^_MYve^H{c?Z7DW#6Du;g1g&%}#>d1D&U( zhRRQz;s&;ueO%jiH~oz7kgR=9XqWeenxporJwAlf{Y9e1Ykk!AF{= zf{Ub}7E=6&&+dNbr^7Eno=f$wxqj2%-ez9@^e8$gG|p9FYm_r zC$>hFQv$;-FbI6B$%+Yyu4wX4&SKg_3VYo>V?9->RCU0ZL?DA$r+F2?xH2f(C5b46idlgwy!m!-Y;Et)f={w z4M`eXoLg8ns$IT0Te+CFynOn{vR>Nk^58Gt@=$fISZg88WGQXA`|5HfCX;J49sTp< z^4M&p@Ikrbmu083dIQT#vutkVz;bAOR{e*mZDrzSs}p>0!xt|yn-o73eQtjAqdCYh zeSe;LO>422RZ{W0tP^};+3<8~?9s~Zk1@K*S(WKmUTyw%4Q-gECp$GY-tW%z3-W8< z9%5>;P~4_>5S{h&$t16Sqq;+X3O{{fV^?zY0{@mYbz*|B^7xer9|NbUCv8cu{hmB~ zmKq$C(M7MO%+Df&A9Xn}t*i` zLdEEjdwsTMC!anq%{-vgI{CFE^cTZmwbw*pU1gipd4f!Q18s5o%)7!<^-nWmMY%>@ zdIvXV3rpOwA47?UnMOY#DI zXEe+!x2DPPpY2eg0bX~FlA=FPCoL2j&6byVIqlcI_wvb3W{q^y?bVL_@JMpJdxoei@VqZ0e z`0o55N3)J-ej=m9JL{`^Ybl7Z)}-$J@dlS4Cj)fqNAE5hI+gFw8Uul(-eYD^IMr** zWUq@^J8#0D__I~5v#jy-yhexKJ zMzwXKFF}{qdA9Zn_ZT*8X{~*kn?5mhv?h)fB52; zETeUD$vNP>X;aa3uCUByG%LR5B4*e2v|jBmO7#)%(ZxmS8yDOS;=g8I$@qH7&YxzV)sI`|i_`1vS1#^;_ zN80hwsWobE$bN|QPc_wDYi zzGGXy_SKO~CTomFn}UpMi@tOF5)v7FroI#U%!gz5KMQvZ|H=cxibVz06Q5dObZ6(h-?RQs<($+IN2q@Or=Nch(nJ zCe40(PgN{>SpCzFL|BHJ7P#$o%z@?7 zw9?qn9Hgf@+I#v}{^5uILkZXZUe;4LYafYoyZGZ-u$hzUgy_+uN0SpwwYn6)X49>1 zoqOJW`C8xC%0I*IJJD-qYD@$p?XO*5Eb1F6kJvjpTsQxP^LO5@@~xS?Qx|leZ~wKu z?)H0yiw+;FRl8-({ep@OOVzmxQ}1`=^`8!G!Eep`-U{><bv#O3ph3Pr zs+pwB3fVnF0hi3+6p{6_4zDOren9!r4~ttCevK8oTtBbS^gU$y(|qr!$HkdXqIx~E zddKj(N%!@`)4lWQc{Xl$R^)f&RD9`iRcl@FXm^!cGM~4b*R5~jcohi^6#RS53;B1a z(Vy?0^d4B$k?%e!tr0kh4A@2QwT=xTPNmko)XC@xS_&bQorQbO&jxF&=sj_Z)?pOp zPUatPi}~=niIH|dPtR&Fm+3f}J`!-#e?(*-eyN^8kWTUU`#_3KI3SwIYV`c!K3MBV zXyPV)nyH;NNUn(vT0qLQ|9aipnsRc@Es|$taKy%iFP~b^XCJjNj6W({(ecbX!|~U^ zmZQ2|Uvh9}vhVUgN5fpF23lqyVyuqVrM%1;8Q1vmB!GCOe_y3&j8>ptA2FkL3`jIJ zy|4b@zNUP$<>F+`I_0fNFH69k*?W$6jlT@gYABi&$;}+|P8hdq4p_5ikDFY4VpEPN zzOvrjbME1!W7HX^_pfQ&3ik?h-nD%0BZdYoFA1lDx+<4S0+bG(Ap{0?f9EO{o(y!yUtvsEVf`&HLhaj`>v6+|JaKL)CCMNwf<2%JOVNt`$V9ld+ zW+%FD?fX3e&*{e%x*8lmnVU7fDLaz2?&PU0&-!{F`8w`b(&&qfJT|5j_n!boK)Syf z>w8&o{`2_GHaXAlcF1KdtA5B-G3-9(`{8JjEqA)@z#-71=_0o(=B(3DM1<6h%?x>LuKB01LrBn3$~GFoO~S1oUW>-(H{)TquB+m$GPS;xSL;ol;x-B?U0jTLUhJ7_^5NAd54G@%Mz+?7 z_&47+B0f(oP=lBV(;K8#`Ejfv%=3_kU6dt3+9`ZAx#-11exI_cGLOrq)k7Fg=CnxD z5b0s4J0KUDV-|Od)s9%YJzKuq zrPh&G#T&;c7VI%)V-ilP7PVSPjVQ#LLC2*I_tBtw*TjV`FYYW4&%!)DO|fL{y!nyg{p8|VT}<+vnpD_QsO7E9~tb;SOz>a(=wptPyVWuTfFI3bE^_SL}Ig zHrm;)DlhF6s-4Mllk6X}dR-(B71QQUv*9Q_NPmp&1gXf}**==aW`oi4Sx@ar`6Axn z^L~hLWTc-f}(iKnyLkLOZ*#GkGn;bu&_ zvWC{lb!`$3W_!&eq*kcZhB}^SRcFrfSo3k!!4pF7?)lj{AI2Ae{YJueyZ~+Q?yk*H z8gGQ#yIIIsW1=)4fLdhw>Gf-sV^mF@>ozZ61+PNM9JXEdZ8ftY#HjTGS;Q+H=x-UZ zs;6y3R(#IQ72&r=at-8JmZAb#A?Uo5mj1S?q5*#a^q3YUN(dr@8i5d&5TSSlG1jcPsZO z#w5h{hBz@H^RmW1ybjwB+u0UsjO`1E4VD@4R;#S-4zGC$%Px^{fY_YEtG4|ze>*%c zUoS%S?cMPEQLG5hvm)S&RG~`mW~(B$zs+!px?mZ=O$y;6RyWVnJ6NpGtlk!`rr#G; z-C=fllX|aa`8XfW^H#vEvM0pkJa50#w3Dy%#U~_Te9c(3eO_FQidV|PvU58X4LLu<`LUkDcX=q% zHmy#dyA43-cfP?fjh9Vb`}Hfh{Is`jhvA2=9flvc!`e%wC}Ia2znjw7xg=3zxn6df?{L-@XdDpw%Lw30B)vsQL+qSIn`>J zHg~({Y6EX2 zrn7ua{$5M}s)?tSw>H~_LWbVmab0gb2rq(XWnlF-2KzjA=HA3!gjg)aqVB_W$aRV$ z>1w|2^7U8Y?NpJB0Tg|s)knM8@4^el-d=xicXw-3P*20F!St#a**xF57@aS6>K%2p zSA}XASL_VkJg}?%_fG4$?U%W-3u3=MM5tfhY1J|6m!=xPw(hj1*ZE|p*0hnvgl*pC zd_0}!JG*?(Zzo>a{uJNKzbjIr7`N9yc^N+0DWmyWc6R*i_;L1isA3e=mek508-qfj zI69Bz_H<17mh9@&?>t6tjfcmC8>Ti&LPKF!rDWmU=hAMw5pv3Q)? z0%KR>y{ereHZ@iEXD{7RDay6rVvl8tVn2I1eVdB)qKDyac#)nI<1e!Cn9RfBVq;Cb zmsf3U@w7q}xmOHn7<7$kh&O&?6hwa%GWPjStI;MME@mB7-^hM?wg)@4Cp8_Z{C>B2 zS<`8SeTvazJJr#92zR%2$1FlQGpkZNhMxl1?W*Wr-h~;lz5iTO($I zKWu0$ti7T!4SKD+bA5`SDd+icG|s{cQoS=K_6Ghw-Ua`Z#`>hUt=MfdOJ#6)YA?&3 ziVdrJ#{X5X^6hkFFt^oXe_zftUKXR_%5_%NT9xo+jciqP-O@(Md-26&*=Ct?iK3sZ zsI$(OIYt_G*Gj6L{U3hZEz&Ffy7?M*S3Pezo$hN{UdMllJwv1OaNoU~UaWG*q5)=B z4iO!MI1SSHx1H*vS{jXFA4BnJzwBp6STR+-ehC!}7 zDxT6>RGK&1Aqy=&f0u`H_J76Rr#SF+*lKEQ zrQca?d}Nj`!sC=Xu4)9UPd7hZWuU!fI^H3DzP;r!HMNM)My!vI$_(;-o=x&tUZr|ms4~_X)Bd-e zRmeDRLj9|{c~_5iF@AYjPc3r5qS8`4?V~t4z8aAcJ{%9P=lMnLIgf21%K;nvcPq&n zJ6FZy;4ZsY8*i;IOIPvk*UF1{iQ(*)rjH5v>LtQC6b|0GsYV&k9Y{;yA{YjOlvEdzHk}uv*XWuomfDo7Z6d4|IL-cy< zu2(%vDQX`ZqE)_Z#BFyvqu8(NA+gT6yw+rHt4(Zuk_I5v2Yg1}%gHye|sXrg*`SnhB(94#E=daIRpBz4pZ}-KE%GLDy zG?Hez9HaR*B;d`P{`vIk{&=()-;YyJr?GP(M39JuEKdytq#;s&RkAj$x3i+vRy``$&T^!+n*9sIIb& zchgDgda6z$-9Yya(p^)O*F{Azy(kr9IaiGyuhV3x_hHlGtvtLwhq`3AB}T*Xz3Qr@ zX<_l@a((-JEGcfTuj}EoU!7J5{nK*vV%Y;&mF2OwH4TrfO2>H9g(5NyRpi*jVvysi z8|wBlykEce^_HVFIz3LIS>$g&J`U+MiX#eR%Xu;UZ;@`e>)*ypwHgIB{64&O$JfzX zQ04v7FOxddv?sAX9!I6z#72c;_G_$+_sgL3Y#M9Xqv8@Vs4P@pMsa-n`FY5HVl&v~ zC{6^3ul%v?YHCnMuhS)fqj<6|! z@_i$O@xzb1MGr?Ua&e3jS{GL_iwz>-%z9ZkwQu=$^I7&YZ$^YzUfd0jN4!sK=f2x{ zb2MwB@!lx+UlwfZ?u+?#C{5?79W*xor$NihW0y!kJlX%TEIg;ztstr!XmN8r&L3wx zMd>*xKJJy>l$Vp8-Lh&`)v&IrR-I;W_lo(n@osE{l->J%m7!HPZPBEkS~T+Yq14|H zVi>VPvMd_oNcdt41ke@PY&d>D{21qNEQ)@DResLbyVkzFMoh|iT(y6jjce@=q4Z&R zTOX8(QVz(f9)zmOvR%!S-fq<~(UQM?nist{Dl44->+Ig+eh7H zV{~(t@cQtVVOBM(j!1qMhoh%a-LpI|r=Q00?vv@g>2){T^yuDRRrE=Au3DO@2NsM%~BuzVPhj^Vpua9BQ9ccVNs% zW}`PZ)ugg=hbp-F=G(KojP)zpA^t^aU*8lTMgcfa3f zKyRn>DhGq1(dTQ;^73^(*~NXm+$7uIUk2a(csFOE?Pu%z>AEwGwVN-yx*8q6jl-?o zH_f_SGlb`kU4pA>QdPuks8=)&&>hy=7Kg@QqU|-4@#0*)`2LvQbBnf!=2*ovvnf19 z;TwJEiCUp0-a+Q6zfcRV4NSD~m2@4(#! zTY67igz9y{D`nT=g*gUUtDn!8F)c=4g^I@L{9P&ok5BJKn>S8q?RSJ9E?Bx+=@Cp( zPP5(KM!*x4?jx)k$ zvzsCp&+b=QbNqFdmwU$9a-nYXnI5E6O&&*T8(aI7@i_mPJ$>75)BfS={`|phd&f?UXUDJ4YB4w4EB1c4 z*SYt%f5YPHZ(nAAS^=3A8AZRyjQ022$@ci?6*6l}w2sT9-sF8Q11Lt zoy3og@+Q5=|FAr%A6KPL)iM(jEJdliyeYbu$`lz*Ru9qRwNGcgpj<_=yHH(Ucy)|k zS{GPZq8%=lNX*llWr%p3xtyvkwYiV6WqZkLOsC_m+g{G9;g?HF=&oP7|quFoeH(gOmr@voyo@}ih*cNL{vpm#QV!>M< z2YRol;|ybEqiTYw9`MHvdZ2i$&cC}C@_~Eh7TBP?E^&@)(Zqx;Mzyy4$3>o(S1p0X zFsnA3vl^)JcvUg2Rjq!~n1tF9;_KHa#Nxv}%hH$C%U9X8eE;1|s6Q2h|3d9)a{jR~ zaJ9+}Ll&2MEq1KgyPW-FW@s+_Q(jC?8Kxv{HVE|3hm-SsyzIUR&sx=aF$`xHhgB}} za&&Q@;a*Hrx%PfISuCfVmjjbVSE0xlPC{`x4|T!$yWy;wW?y7H*$U5WHP@C=d!HAn z70xOS9!o~ZMI7RJHJU6(5;yiuMG1#TKVI9wGN^{;rC!cBuWd~WY-?Cj(QCEe>|xnz zokwhEPSXJ9k5_G=v4Jz)F830+7#qlzeA_s`T%=E8Eu;J^-K+n|w$5@e(I`}-L*j%> zxYK=3J!D(EkGo$&VtDW3C5rb)?BU7hH&=OK5nc^P%U;v!P7UW5r}%AZyy}h;_GlGE zw-2BE#O9j%1-?U+iVUnMgiD06sEXvH1XvVp(M8+X^nF1?mPLBU$lK0gP#Xt8ZM8>| zR#OiK<&?^@!+SA^^9u&$>QE`cYS*^CQ|u_@4*jAMT1}AnW3g>x015*7=j9;M)^7dN zR|hBmItX>`!Rg`2A74B@9K1R?K0AJT{BrO|bqyn3R>6nkb)$m|0C@FMTGpCNMP#^| z4N^t#_xl|qz_&L>t=F|je6T`(7HZwiR`7OubdC(JUA=OyL@HP3*Te9n7MJflycmQ> zDb%;ac2~n*);&5nKIJ>*wyC`-ZQa?OyJ6(oYJ_g*^{#LF(=P9W%>%&8G2W-?=oOy3 z?vkGtGeNR4<+5eU71MkRKQ7z~Z$1`^%#)Mq;&)!iSE-&@-Y&I)t*8I?G7A~b^)$Tw zXUTM_P|Q@0#9+g{^r*jwX}I-tE-%gFuH1Q<>Y;RfJ)#>oIfpg>3BE!^u$VM z_|)13{VHTv&HKv- zrTk=fw|Dz#Y))(1*FWr6-*0}lZktz8 zMy)x&BF*>-w`I{Pk)6MbwaJUF$LIaKs5BJqbxpJ>JweMw2zs&Mqf(Djyi;P{Hg0@F z@~r7j>qzKt)`#+K?{0HB;@wv-9yi@>$h>RUi2wiGfR<7 zhlz*0EQi*;e>WZH)%ECa{j3`=Sq+YRRE%UEUwRlplSQ;)}hniA2Cd)e3=;4F?pHdz9qIX-+`%RIz zb%x6%-p46-gxp!W??Z{Dv@V-U3)w%ol?{P$ad-BJdu zzf|?3qyfyUpgP+{H?~^Vs!`S8lu!=GWg&{U&bVCAI1Qjottu^PJKQPd>GV?T#tMr} z?~84(dUV;fRe##R$zvDA?QA(}&|LvvjON#&EGXv|uB$*7HRt7_HdLK&KSp;gA<*0(6%&wMx6k5b)xR7* z7he@tV-Ch2i;Q*I6cZ7IUO` zTDk4+x)O*T)u=cv<5d<*t1Nu0^`JG^KHpCgVXtEnP+2hFQfx75W#LsThYBFFw#Lx1 z@iKmrW-pKb<3Ykai>1P=YR2Hr$3+}RQ(Hr&S?(-D=ohOR&DT$j>tKS~DBY%xplx*V#V{!^@yvWtpl{oDTaY;=_v z^utN#aQ^ZNbeA~Q6^;YWLm~0x`1s}F!O`IC&#w+2SE%Ci9Eq}Jrx`>s$mh;ivT7)52C{UYceZcl>qlvHrtHzd$)DRdR|3!O7^j1i zlY>A1oRj+c;MLFBJ*4XEr)NJWgx5zej*os;0H=p1gJ*}&UmS&s^3Mq8+2PX{;ZgfJ zK^(n)+1`J0GalbH0-=uI+B??q?);Ga@!;g?R|h9Q=LCN4{vn?@Jo#ft#6KT~fWAIH zI{WGu3GP|E$;0D!=fHmaWrMWC$x zd{d8qL?FwAAEz<$jjB;qLeDnC; z=ijDY^0@FuKDj8D$4G%}@1_STeaD{BJHIh({f+MK-MgiGzc}ChjRi#`;J@As!|UKE zPb2>~hx>2KP5Z08+SS@xc(H9`JL==3*u=aY@7nga^Yh_2Z+*i&Z5c*Vu6qE*cJul* z-c{FK~fZ*LuCv#buLo49%g zJ8$jPQoY0ZAkLXu_E;86cEuitxJE%Ur1;b|KPoy#mlv)PY@ENBn)FbF?Zmsa8Bp_F z;>a6rvw9w}^|}rFAtGOgc$~zR#g3F(<#x-bbVCMv#|OUO8vn7|)s)xjZ>}}uc9!@X zj+TNu?H+QnoIbs|)`Ka2aoZG?q7E^E`(kTC?@HcE9?hP%NhJk1sFd z_^D9O-TRbqmPOVU`!W7{li%ba85W5OEO+>~_~G+m9BBBlpV+QqJKl?B^M9((?B6j< z>#gtO*uO0)dTY94>UYe3qfd)dusRlI+h4n?8~1PCfBUU|n2t3_mYK$W?f0Lx@WrNQ zhnKY>=aluoa%f*Q-g#$T5c{p*n(-)lSNB^rw&pe)N|pT$-!YJ78M5E_tGVGPT%4|4 zV883b=5Ez6pQ5v9zpL8T+xp}i;Ldk(y}viEbv#Ip-E#0zbe?uFwx}9r*1S+R^Y%2B z(dFh%AFmyQ_GyEkFjV1|D6YBrTlXCb%e#k}W|D8(x-|@>qyA8g+>SMscC?}j(fVj@ z^}IEvKTIIyyMJHfyHNO-F0bT_@&szmMGMptrm> ztdIOHFVlak=&yh2{>dlscaHc^j&Sp3>hBZlH7{@-MNid$Q$EYBVXe%ddt2>+{p~SR zX$ihYaUMTu6@K;Nybh#SNiQqY&4@PG z`PIp!R4hlbl#41iS_V=}L~IynaSqFV=!1FMWdGLnjoWpK)OLEy-qp|>RA6EcR*Kav z0W?;9ZqM>4oU=H4_q^3DKdb=cJ=O_g&|uR^`}-QZ&QF~oH;9aM*DmH)+ujZ@t)46i9B)kTtq$>`RB3U1Yl)8^vsao#(EU%u{m;cX$a`&~*aJ5hQ0#@^Zq` z{tw+)<4>OSrF(QA z8A@}PTE?~dwfkOPRqfV~Tx;Lst=SOu;cwNIIj)%3sWy|QL1VoIxCN84&`ZenYjpK#ZeN%sribg6^!|Im9b)!|YH=-MyR zwg2UB)3cN+|LyP6Wjd!#R+pkI_xXRpd%Ya@^|#5ApBBmT z>&*~^9moKgEr8{Iv&tn>t*W%WBfoPvE zKHty@QlIkJyUS*=WaEY%uj0-96R|T&udh!dirCwfgCPfOf7{9pd#&LZqiXE+ej^o+ zS6}p>AD%t^YH)P;KU?F7Mw9dL%|(vMRjp={#=U=+jIDkdTUlE*!fZ{)`|sD^sgJu> zy<5A)cIV)w6kI_`{qSQ#RML2)YH(8V_3(D&XZ_Q(>E!MP_Y~ts^PBwBhYK`@3e+M} zyRsXG39N<))X(A8PSj1=!_OTI@Ckj*cj^Pa;{X8W^(nE-i(4P$)Ur9M#`?R?oP65o z4!HB2$-6v)&7iyM7sa5X+M0doOcJ2lI+b?4pms*<7fjiHnt~b^xMnr=e*KfxHCw%X z;9DlG@7~(#T*Rr7<~X^nyE-S$ux_7{T2{@%>5VRSTH4BE)-USc_sc)a)4tnL%0z62 z^tjH)hkAOws$ZY55tjqH35N=a7yr|L{rbhTopRvBrl_$RyO`}PL)(}>t&1Q3e4M32 zCfOzg)K~@cq?%n6wjY*VFlRHoOcQz8OCG%ZH1L-!_6fetni@ zzumJuw+lVGH+*1^?%Bnghxdk$&iC$pd2wl%`J3Sb#r>8$zNqFE&5Px-8>ba@`B0Wd z)GHMEZ_`SO#pu0qt%#5kwE=i>#X(-m$Jy&iRKCil;N@kl&Aq`Cn@#sY^Ky5B@SUZ0 zky%`BzfP;#)Tc%lrxZSjM|qt6kpBKLyLYc#qGk8T?cKG}OAp58o9{Qj{`{Zw)4$)p z|1YnGAHGVk{@>;pd&SSX|L*O%uYQl8+n&sRlYRJmB*0CqAcn*LH@*J)BD;!Rd;9i< z9@@jby)Pd2zkKlM3)!#F>3@fxizU4}nEy4^!wY&f{5H$)S%0s;cYi)RzrWh&dmvvf*MYUY)F1k>&CI`|sbs?+;UC`_tLm`_;MKe;LyA z==AVjig4KD^<*4Z`(Cm)Z$4(j>kyywRMQ&|)2y*{ZPFzV5qLivMIJq()x|Xrq13O< zDzU1_g>$ZN5Nn!~Z2RCedvUs*JvlgiaoP)E{OQHnSFs-cr^tdFoxM0b&5lp9r^iRn zUYx!7|Ju9u=C+L_e}CgsVCmACbV%soM;u<{J=vBMZDdI+(Yu#YR3t<~5@L$r5~L)? zCOfM4&zor9mlpY{&kHdQc$z( zj@Z%%mjZzvh6d)qX>bjeuT z!Npx`h8WjrQzDg1IyF?B@-d}+>`i(47?V6cYw{0B@tA!o>pGW{BcjVR`Ua^Nq~(%j zcA3m3v!r-^JIO|uU6@-d4Jqx5xhAOWiU}W4h)GIDG)D`7&fZAF0bd2mBsh7GHK{;` ze1?&sMD>78I|A-bj&L}HHS7iqa}9c1YdC4>=l7V5d)o|Y2pg|FqhRD%G!RBI9t*q1 zx}JA6*46VYYdfWw%GWfEG@j-0Adl2o;>tXo9NSr8SHV=dJ?)i?T(V$Znxe?P0JHls(D*;&r{fMfS8{=`FQKR0ET-; z>Zuwuq-OauU`o1aluRBsY{G&NOu#o{zl%HjInW^IuK|VVB5YEtS@$ZwN*);#p$OBx zGeGSqPETa@e+ZjLor{ck-s%k}vNSH$ZkMMGLpoY{khj(wet>Ml5V`DLXEmAk9`x_= zwVjLeG#*=ET&>1AZixB@951`m8;YQo4WZez9B2wL8P0SQx6w08*{HuOts@4@#NDXS zogHb5QT?dZve+%RTIvtE0eDfsq+~0$pb`!SIO4doc;P@X!=TQvE-@_I(s(1h^+9Hu zOxShrUC4HZ5;I7DAV|$fIGf5o&B19v9EvU@);7`#&M@DvSz5R(oF~&;jQ%;j%_t`5 z1$I5>os4LgLbOeb{U3_R5v_+SC@!>dk7L=>X-clcG{d~{RUYiVy&g|yuNT4hF2X!u zIEZey*DD;wD9|P{Bpp((vXW+a1sgR2St%W=Y{J(l*c;u2alg1oCbD-M%_wP>%d@W^ zATz3DSCNou16kE4=I`xLGhf;O+Q0ydP#2nwmA7(Oe%qT(?#p(;$z$Q-TgJ*%`>$O+ zZW~Y=)JtW+cV8)s+oFoZca_B!J&lWAZhfvO*<6Vdmgp+Zb)-nxP797y^TwA!xwl}r zSb$PK$A>ijJo%T=8whGtkV^%awto0PyE{*l1=NZ?zGtVGw`sW$m zvi*?460F$Hc9hb@*XaM9^9jjMA?Mls=566XtTcPx5{wzlof!mKrp@{`;vvPNwNb%opW{KYKAKOjvQhYPgvWy`^zX~UaoYblB!(L~ zjQzfQT;1TC&9J=dQZwo+Z{O;Ks0V~{+Cw!~^XfGT+DS;d3)*02+Rv7T z<#_jK|M!jo&VPL^Z{Xg8YN80wU!Lu5E#F?7&<4ff^Gp%TE3%k_w|X1{Y1H@9s#kWi zYTN`qLt+c~o074DATZ-+;BIKBe3V%V2@R~aCUwi1EG(VCAyP?-NAA}P(-9b&m}?UZzqQbDx#{DQiqk)NjvI^Dt$bk{JKrFuJ&`tn@Yb#k)*h8-jVm1_9gvxxNlL7)$qdML>sBv2=|B1{q|Q;;SK za+G_g*LMW#TaTIpP>foezAr;W=q2Pn7ioVIILgMC9G(ITV{w!HY2Ky7L}8%3=VZ;G z;VqeIs2h*d$TXT~X9Bxy3F5`4D+8N|>)cOAAI(<Robw?RFc5jfmy1REISpN1Ok2R*E`!jexAWBXWC_bCHTn z)Q6ovWyTIszi1pCjX8$K7xUE8M|1Do<<3juTK1IdvAw1gr?JCu1WP zT(rO!4hqUJzDoGdtAvbIWB`$ekSY&BUolTur=EAx&y-+U2sAG+XM5;3~L`yyV zNG%P;ypQkFYuKM)j?U3+^CDC!$@~q|hGQf{$rn}m>xK1#q8lc8t9uGmI=sR8Am>ve z!oaz+cgV=5*s2>wi`cfe!)5sXKCEDg!8q#P#KUx;VA}uec$H=HTM&p{8Usx*>NXl# z6=ZT@@J^Fv76ySQy$h{b-Z{Lju?NtJI=Xb4+=vQo543}-$3S<;mxM_*GcKAcU*Oa# z_g{NH%o>cwAeH2KdWo@4aMhDYg0r)@MRrG5Y>Z40b5nPQs)z2rQ)Gp&@Two31@7@7 zy^m|MKnG5Eme_-PyO=WDd%Nigok>va#Q2SD6D{z4MQC%cm-T9B>y}gWm*AnxQQ)t z7Q-NGun{vEM6n?m9)j`af-aJE25KD16x$A*Hh1RKGjeU;aDF3QuuV%YiU=~wprK-h z&KAwpH``LWd;6}NAFOyvu==~8i)YK5zCw%Zx;l$?%8i%hVr-DhS4#zejIp1#b)e#i zFt=(&DwC$%Q-)@k)D?P*tEGhhV#-lFEY-Kjj^uU{j}ajhT_wJhFAu|5DSM=9u4@^CPOKyGzRSFFo6Qx ztk^O!*%$N?+`Vw|Ve7qv<>f|Bm3CrVWHWv(WMSsdVC5q@U9;JAW6k*w!1HHg@#ez9 z!jZNio$3kHCZlG@|1d6xCa{H51&u^Rj4j+b+EbemIq;xGDx8-1+V*kous`P)P;o%Z{Zv+X?8j4 zfYXQ7rpp7=@jE)JD_s?gSFz}*WBycC&wcrOF(tMl z#Z>TUx32{;sXO zQIQ-c-Js!tlN9-#s1Q;2QYCTohXO6~=j)J4d!G}W%&WnuM3BPm!}Hjw!QM@+{WY_} zx+uLhJKNS|*$GRb)9eR!Vmlz7?<`&dslt{Pzk*dznD#j8PWoG7E=Hz!a<`*n8Ve_i zCw=d8i z*C>?|Xa#hOZO2GHW#v}GliWGN|6yXS{?77kSS{e1jNTD;^M%(MszGW~InZ0wL|nf> z=$WL+jd?rb)ofe+SmZiWjN1a7rkW#GwIM4ZFNk;NO`HyCz#5Ltuz1QP*W>A2-~3KB z%Sjs6#7#IIB8aS)+ir0++_}D1S3ar zQYaDQco_Gc@npvky^#4Ctc}}*WFI*|;?d4G8*ZQ}KNs5ejeXmXez-cvTgv&ooTasF ztd^`KF;+_S!B_cBkZ~m8cggHy#9juT4~OFP}DXnqcP_J z&$aMpXyS8)q=M!=0`0M$ zDK|UMG1F)|oHtSS7)-LURDkBINjA&5Y`IyWs|q3l7*0bHXCzoUA`DRfJt`Vw!;%zA zT|;bjhYJ(&vAD{l#lCDP_MFO+tijz8kHT?AF08kX`iab#+yMZZhXv6zY^6lM#5#Em zI?>N27}f#j#=Z+uf!wQFi1M0md=~4EzNyIcMQoZN@5(ID(o!_Zk=j+-R5Jo!>zemt z=k8`^UNe<8G*ePpF4O59A`UlN#iWvO{_8B4yBby@+G;>)%L<&Kq**NU05nW+!nWfz znKszwVXZkyQ8sGPxq;RQh1jVXmd(WP$p&X{bdfR1x+F{!;U?{(HzyUxg{qJ? zd`RgIl3_e2G)N%SL85GUWrN|iHUeeu%|Sq?bK{&x>ADI!J{`EW7mkZ;Bsri_Ry3*# zZ&@=-WMy!X^OyR#76EFiyFpNg_v(Zb*)00qUx|Qn0WwP^Tr0MizQ`79tglnONYeD7Gi^H3o7FA0YmC9nRG;cPA z_TNeru0G~f^hNm_PR29eu3esnQ(z^`Nm@M5HN5M!r^BHH;?mADMu+nphs>&q6MRNrV@Cld<`^dov(iMnzK;{TAhU`P{>k%>)G6tAWl5e>e@uvrY^{EC`p z#&xf1Cyop479k7)Dcg9J&}p2c97{V^rth{Joq17BpFS^^XcuJnt*yl{JqrqhtrbSQ zK;k``DzlsXV4 zrS8B^7_Msq@bx*Uf)X=ptq;jLkzs}#)leSwQUmU|0e5!o%dM7ysYXYW>=JT-aCcb+ zDfMBL&&KE&2jVT80P<{DB1IbNx{k5aJ>(Dz+7U3-UIDRXOhYj2u2xh*wrsr(=S|$F(Tm zh-1`hBMxTKwvJ<058$W|HH@<%#~T(9Z-!x5)TAb3X$`DV&}za03(g3| zpp0G-4gM2W-VSSR!nglSjZI?Mwe`3ZE!Xht%13I^2nzpFawu1GQESt;&pawTU?VQ? zvl^G{c&?yMVNh@N(l;m+>DV9axZNkos<)Q+)ZI)$Ak2Is z-N#}&Xw%RMi(Par$8GelHA@F+W&4YfPxa17AQP{86j))CJ(TX9|G-ATqd8~W8ML)f zD?jIs^V~GJ|2Bh*?SjO5)DE=%BqW{s0&ka){c8+)6pLBlS-|Zgn z{;>OBXtG>e`=wt0<@TG#FRCx&cuKa+5nept6-i}&rpJSw_q%V+ckkZQ`LqpOx3Ydo zvsVA~8S51g80OK6PSMT-kpfvMxL8ha2&L?O)-8UbYeJ`|~WXtCxMK&=eez-A^! z_z{ExOQ-Yj0(byb0MFP40To<%4t*uvj=njkaU;fGL@+R&VD(^zVx7RDbQCffaQzhd zf2I$vPZ6aotoPKM_8R&?hc~pIg6ln+?w*R-U>gD()7Pl3HfD|v!f4J%~7|LRKD8S6I(OrO-T$?&BODv{hggLEhr&HMDD7Yib38va+zzlG?%119( zR%XaY3p*PSPm@Lc_Q2Pu*A*Z&rm=zy$T@o7;{(VV&!v0t@EeaS*ho1uZ)jP;sF1?a zne`i<{+v-8?ofiV%MMptcfDU2{*F|H+!eE%5&dnr*5MVNVCvi(mP&BexJ~p`6mlMy zD5Gqz)0FNzGg-9)JhWfAG;sz}Lgm20M{F)Sk#ZS$8!!RtZzw`xo_n6eLH_hV4I5aPZi>sDOx76ux zXxg)lV7AeR&YOFCotmDv72|D-O~n8@i^YeNX6`3GEVM>@!6w(?RWCARJkN_!IPE&M z>bjV_^qGMA(jlzZaD;sn9^wrdhf+=ypbsk}wG}%H9c**Vz^{0VH$W-)Ivr^{Z==xh z)jTI>22QSmLrC!~U6H$ROm^gRGN0%8a=KchxNF$a7_^DY>0YHbi8Axl{dGYjsTbR) z{nL%JVhD^8mtm-u5&Ra-OJ~}{5xrCGpkpm)Xy7hbOb+!p(@xPRee+#Ow@n9=OM+A^ zBq)0B#6VUdA+?(qB`qjOLQGMR02yV-t9jXW}~PQ{|D|pdUfKH zZr!j!tD$^ur-8%eODjpb`J$9!^M#${=~gMp(=9v6i)W=IFP>RR2H6Z|+D=8+kxn`u z9y^^}A6i{Y@xsFy0D7j9eb!sOj)77&vJxb<*qIb`%62HxqL|!7Ua@?QB&qkNt!tgY znQkS0v$8R#^x{l$c{(q;7~J*RF1a(hL~LHX@d7DAzId0Zxr(&Hgw@|&W}4=yOB0=k z#>zBRCZRILcnQQy4c@s|tg}4T-p>4K6U?A}T^3y=!yi6@Wm=*Xe4*IYbX8E2zA+_8 zVvwxL$t9#PpW$c2VP27p-(mc*bjoAQ8^by7hinWa%oX=!OdS~KC*z))3Q|TtD$F5j zNel0-b38%e-67SfJlZgp?J%Ao0tc$(*yEm^tEOglDKZ%*6cD}uEMe9he`FB@BnCQ^ zVSQLMFlI6m0``v!g*me2!;e6LTvCIh4^sOY;gj&CL4YY$h}U3s@xHgt5tQdN4PU(q zpPq&P9%@8*c=qq%#@)APZI1^o3&w>Jxucz8Vo<%Lqnkkl4*gi9>Y3^XqWQl~G(7Rr zrr>{2{HLeo_)nV;@t?j*{HJg2_)i<(zKC8v-+1=yyNB>k5AmO>;y;P~^18xsTpS5% zar~!^jjgR068~xQ#na8_|F*I96n;F!fBG69ee>mnzv&jUtYY3gk%&T8upznU6)PO| zi>`m`wLRR#;V4`b+cJtB4`-JM9?2H$3Jp8WYmEoi^FM0+AN}-0YwzIQ;qTf1tJgnl z_TPT%?ElZ7KY#kL{=dfOy`Yn}{=vpH?QkpF3=YVy(_XeMO&cwwjX-B0A_-1r*Vk|| zZ-;MnE;5#RqwRJu7m2)VofPb+{bZD5$mVej9HF%ZrR>b$)x<1B9<>mxWVoPBh-HH2 zBhaeEFe6{^FdKqmrzkfzee}jHxDV$O!XqrWh3ft}Q@MI5~ zHlAdNcZrnf1 z=KZs51(56}g`;3=7g0spVGPHv^R!=j?%gtqnS6_ws48<N#EGHZ% zqw)N1$O)m(l_~iyp8K;EJ;$Nh;%5IXr(8ug-q(~e#Ntq;fh?eO*NGVDy^KG|cUBX{0jU%yPJSF>|m z$EFPGumSGTdYb2`o3IM~F}qI2xbN4n>(mBfxdE&O(qF^iQqi zdj`u3PXBUxG(XxqtExd%2L)F*baqXn;Ru0<9Req`d91c@!&G4ETG}bvaHrd5TM#-g<(P)cQg!| zXEXMtyh(=HSic;PhiRW8~jftK)q~mD?qfT(!#f|DaHY;Hun3w zkmeSnc6)mpF@@2DK@V{tbNtiV*n0NeI$N+NcjGKa6)5K zWs-qfQ`GP{w?;Wyv2^1h&Y=V?!B%)u97r`rIqR$MiyWUq?q$-uqyhNAYwviHAf!0uh)a z&@4P+bg?NUB6Ecx_!(9QRgnyVm64SoSqsK!sRVqG+;52t*d=L5v)hk}{xLHuO5?UD15lS@REN`wB1w5_0jNSZsX!ll$AYG3E|Wm8UcHN74-u)Lk$ z(CV_X)a$fA$#RhNsL*88n&s;;X0f)6g>^NkvwxpqQiS&k0(Bgw-lpdh^x9&p`c9K(#fQ2fq%F8zy-K3LjL_t(;;z>%R z8U(#w4|w2JfE)*d8}D>>ULWth`RSzl$OHekTT<#^!gPERi`0!-0vrO-koNMR#BCKdWk{UWOmtGh2kjl z1H5+?)G}-$-V|@+7rgY;?b+7f@UdC(w)q3AnN9L+!gktHU&PPq4S5*}r>{R27b=Of z)EoDj%AM+X=irCk`sPOCaWni>qxZFTSi8uw+UG`~uZ^TYVvuYCt8g;)-3scE#uFfl zIy}}5j0mp{n`AUo9?@*?F&kyZlJL~GVLA82phAsRk6iR^X+vML(wt+e2y+sG5RReF zgR>bP;e014qamUtrz5v0q7LgxbQy&nV&B|)`t13OZ(n}55uf)5$wi|XWaYBN8k~J} zVn%8c$;B*M#ah4FT+fV>`5QfG@%L6fOb754nOtuS;tyUsx0oDSL=L{OIg*6o4kZjb zM7_#Y1#%NCBMDoy<0`2@aPU~hLU)anOn89rp|DI5WhjF6NdnT*o5O?7@!snXoxOt} zqU*s~J&M+yXUsFz!8$mVBeyz~gG5ES_V?cG9-Qn#>IVhh!{_1i@Ok(=d>%dzpNG%G d=i&44dH6hh9zGABhtHDFe*--a0a^g?C;+-;0&V~R From c4a2e08f7c66affdbd0fca039ca12c1bcb33f9e9 Mon Sep 17 00:00:00 2001 From: Jothi Prakash Date: Tue, 17 Sep 2024 15:45:56 +0530 Subject: [PATCH 31/53] Ran the black formatter with the original version --- .gitignore | 4 +- README.md | 4 +- databricks_sql_connector_core/pyproject.toml | 4 ++ .../src/databricks/sql/auth/authenticators.py | 6 ++- .../src/databricks/sql/auth/retry.py | 14 +++--- .../src/databricks/sql/client.py | 13 +++--- .../sql/thrift_api/TCLIService/TCLIService.py | 18 ++++---- .../src/databricks/sql/thrift_backend.py | 36 +++++++-------- .../src/databricks/sql/utils.py | 17 ++++--- .../tests/e2e/common/decimal_tests.py | 16 +++---- .../tests/e2e/common/predicates.py | 3 +- .../e2e/common/staging_ingestion_tests.py | 27 +++++++---- .../tests/e2e/common/uc_volume_tests.py | 27 +++++++---- .../tests/e2e/test_complex_types.py | 3 +- .../tests/e2e/test_driver.py | 39 +++++++++++----- .../tests/e2e/test_parameterized_queries.py | 3 +- .../tests/unit/test_arrow_queue.py | 8 +++- .../tests/unit/test_client.py | 45 +++++-------------- .../tests/unit/test_cloud_fetch_queue.py | 15 ++++--- .../tests/unit/test_download_manager.py | 4 +- .../tests/unit/test_fetches.py | 10 +++-- .../tests/unit/test_fetches_bench.py | 15 ++++--- .../tests/unit/test_init_file.py | 6 +-- .../tests/unit/test_oauth_persistence.py | 1 - .../tests/unit/test_retry.py | 1 - .../tests/unit/test_thrift_backend.py | 27 +++++------ 26 files changed, 193 insertions(+), 173 deletions(-) diff --git a/.gitignore b/.gitignore index 2b6edee5..a1fe5bbd 100644 --- a/.gitignore +++ b/.gitignore @@ -48,7 +48,7 @@ __pycache__/ .Python build/ develop-eggs/ -#dist/ +dist/ downloads/ eggs/ .eggs/ @@ -200,7 +200,7 @@ cython_debug/ # End of https://www.toptal.com/developers/gitignore/api/python,macos databricks_sql_connector.egg-info/ -#dist/ +dist/ build/ # vs code stuff diff --git a/README.md b/README.md index 314cc2bc..835831b2 100644 --- a/README.md +++ b/README.md @@ -65,8 +65,8 @@ or to a Databricks Runtime interactive cluster (e.g. /sql/protocolv1/o/123456789 ## Contributing -See [CONTRIBUTING.md](../CONTRIBUTING.md) +See [CONTRIBUTING.md](CONTRIBUTING.md) ## License -[Apache License 2.0](../LICENSE) +[Apache License 2.0](LICENSE) diff --git a/databricks_sql_connector_core/pyproject.toml b/databricks_sql_connector_core/pyproject.toml index 7290004c..716c9f67 100644 --- a/databricks_sql_connector_core/pyproject.toml +++ b/databricks_sql_connector_core/pyproject.toml @@ -20,6 +20,10 @@ oauthlib = "^3.1.0" openpyxl = "^3.0.10" alembic = { version = "^1.0.11", optional = true } urllib3 = ">=1.26" +pyarrow = {version = ">=14.0.1,<17", optional = true} + +[tool.poetry.extras] +pyarrow = ["pyarrow"] [tool.poetry.dev-dependencies] pytest = "^7.1.2" diff --git a/databricks_sql_connector_core/src/databricks/sql/auth/authenticators.py b/databricks_sql_connector_core/src/databricks/sql/auth/authenticators.py index 1c3838e6..9324ea1b 100644 --- a/databricks_sql_connector_core/src/databricks/sql/auth/authenticators.py +++ b/databricks_sql_connector_core/src/databricks/sql/auth/authenticators.py @@ -31,10 +31,12 @@ class CredentialsProvider(abc.ABC): for authenticating requests to Databricks REST APIs""" @abc.abstractmethod - def auth_type(self) -> str: ... + def auth_type(self) -> str: + ... @abc.abstractmethod - def __call__(self, *args, **kwargs) -> HeaderFactory: ... + def __call__(self, *args, **kwargs) -> HeaderFactory: + ... # Private API: this is an evolving interface and it will change in the future. diff --git a/databricks_sql_connector_core/src/databricks/sql/auth/retry.py b/databricks_sql_connector_core/src/databricks/sql/auth/retry.py index 0c6547cb..f4b036ac 100755 --- a/databricks_sql_connector_core/src/databricks/sql/auth/retry.py +++ b/databricks_sql_connector_core/src/databricks/sql/auth/retry.py @@ -77,7 +77,7 @@ class DatabricksRetryPolicy(Retry): commands like ExecuteStatement. This is passed to urllib3 by extending its status_forcelist :param urllib3_kwargs: - Dictionary of arguments that are passed to Retry.__init__. Any setting of Retry() that + Dictionary of arguments that are passed to Retry.__init__.py. Any setting of Retry() that Databricks does not override or extend may be modified here. """ @@ -154,7 +154,7 @@ def __private_init__( a network request. :param init_kwargs: - A dictionary of parameters that will be passed to __init__ in the new object + A dictionary of parameters that will be passed to __init__.py in the new object """ new_object = cls(**init_kwargs) @@ -184,12 +184,12 @@ def new( The arguments it passes to `.new()` (total, connect, read, etc.) are those modified by `.increment()`. - Since self.__init__ has a different signature than Retry.__init__ , we implement our own `self.new()` + Since self.__init__.py has a different signature than Retry.__init__.py , we implement our own `self.new()` to pipe our Databricks-specific state while preserving the super-class's behaviour. """ - # These arguments will match the function signature for self.__init__ + # These arguments will match the function signature for self.__init__.py databricks_init_params = dict( delay_min=self.delay_min, delay_max=self.delay_max, @@ -201,7 +201,7 @@ def new( ) # Gather urllib3's current retry state _before_ increment was called - # These arguments match the function signature for Retry.__init__ + # These arguments match the function signature for Retry.__init__.py # Note: if we update urllib3 we may need to add/remove arguments from this dict urllib3_init_params = dict( total=self.total, @@ -223,7 +223,7 @@ def new( # Update urllib3's current state to reflect the incremented counters urllib3_init_params.update(**urllib3_incremented_counters) - # Include urllib3's current state in our __init__ params + # Include urllib3's current state in our __init__.py params databricks_init_params["urllib3_kwargs"].update(**urllib3_init_params) # type: ignore[attr-defined] return type(self).__private_init__( @@ -247,7 +247,7 @@ def delay_default(self) -> float: This property is never read by urllib3 for the purpose of retries. It's stored in this class to keep all retry logic in one place. - This property is only set by __init__ and cannot be modified afterward. + This property is only set by __init__.py and cannot be modified afterward. """ return self._delay_default diff --git a/databricks_sql_connector_core/src/databricks/sql/client.py b/databricks_sql_connector_core/src/databricks/sql/client.py index 07004dce..26c74efa 100755 --- a/databricks_sql_connector_core/src/databricks/sql/client.py +++ b/databricks_sql_connector_core/src/databricks/sql/client.py @@ -1,12 +1,6 @@ from typing import Dict, Tuple, List, Optional, Any, Union, Sequence import pandas - -try: - import pyarrow -except ImportError: - pyarrow = None - import requests import json import os @@ -27,7 +21,6 @@ ParamEscaper, inject_parameters, transform_paramstyle, - ArrowQueue, ) from databricks.sql.parameters.native import ( DbsqlParameterBase, @@ -53,6 +46,10 @@ TSparkParameter, ) +try: + import pyarrow +except ImportError: + pyarrow = None logger = logging.getLogger(__name__) @@ -128,7 +125,7 @@ def __init__( from databricks.sql.experimental.oauth_persistence import OAuthPersistence, OAuthToken class MyCustomImplementation(OAuthPersistence): - def __init__(self, file_path): + def __init__.py(self, file_path): self._file_path = file_path def persist(self, token: OAuthToken): diff --git a/databricks_sql_connector_core/src/databricks/sql/thrift_api/TCLIService/TCLIService.py b/databricks_sql_connector_core/src/databricks/sql/thrift_api/TCLIService/TCLIService.py index 9d176988..e2359a8d 100644 --- a/databricks_sql_connector_core/src/databricks/sql/thrift_api/TCLIService/TCLIService.py +++ b/databricks_sql_connector_core/src/databricks/sql/thrift_api/TCLIService/TCLIService.py @@ -961,17 +961,17 @@ def __init__(self, handler): self._processMap["GetOperationStatus"] = Processor.process_GetOperationStatus self._processMap["CancelOperation"] = Processor.process_CancelOperation self._processMap["CloseOperation"] = Processor.process_CloseOperation - self._processMap["GetResultSetMetadata"] = ( - Processor.process_GetResultSetMetadata - ) + self._processMap[ + "GetResultSetMetadata" + ] = Processor.process_GetResultSetMetadata self._processMap["FetchResults"] = Processor.process_FetchResults self._processMap["GetDelegationToken"] = Processor.process_GetDelegationToken - self._processMap["CancelDelegationToken"] = ( - Processor.process_CancelDelegationToken - ) - self._processMap["RenewDelegationToken"] = ( - Processor.process_RenewDelegationToken - ) + self._processMap[ + "CancelDelegationToken" + ] = Processor.process_CancelDelegationToken + self._processMap[ + "RenewDelegationToken" + ] = Processor.process_RenewDelegationToken self._on_message_begin = None def on_message_begin(self, func): diff --git a/databricks_sql_connector_core/src/databricks/sql/thrift_backend.py b/databricks_sql_connector_core/src/databricks/sql/thrift_backend.py index 515719a7..064c5dfd 100644 --- a/databricks_sql_connector_core/src/databricks/sql/thrift_backend.py +++ b/databricks_sql_connector_core/src/databricks/sql/thrift_backend.py @@ -8,10 +8,6 @@ from ssl import CERT_NONE, CERT_REQUIRED, create_default_context from typing import List, Union -try: - import pyarrow -except ImportError: - pyarrow = None import thrift.transport.THttpClient import thrift.protocol.TBinaryProtocol import thrift.transport.TSocket @@ -40,6 +36,11 @@ convert_column_based_set_to_arrow_table, ) +try: + import pyarrow +except ImportError: + pyarrow = None + logger = logging.getLogger(__name__) unsafe_logger = logging.getLogger("databricks.sql.unsafe") @@ -59,7 +60,7 @@ TIMESTAMP_AS_STRING_CONFIG = "spark.thriftserver.arrowBasedRowSet.timestampAsString" DEFAULT_SOCKET_TIMEOUT = float(900) -# see Connection.__init__ for parameter descriptions. +# see Connection.__init__.py for parameter descriptions. # - Min/Max avoids unsustainable configs (sane values are far more constrained) # - 900s attempts-duration lines up w ODBC/JDBC drivers (for cluster startup > 10 mins) _retry_policy = { # (type, default, min, max) @@ -225,13 +226,11 @@ def __init__( additional_transport_args["retry_policy"] = self.retry_policy - self._transport = ( - databricks.sql.auth.thrift_http_client.THttpClient( - auth_provider=self._auth_provider, - uri_or_host=uri, - ssl_context=self._ssl_context, - **additional_transport_args, # type: ignore - ) + self._transport = databricks.sql.auth.thrift_http_client.THttpClient( + auth_provider=self._auth_provider, + uri_or_host=uri, + ssl_context=self._ssl_context, + **additional_transport_args, # type: ignore ) timeout = kwargs.get("_socket_timeout", DEFAULT_SOCKET_TIMEOUT) @@ -644,10 +643,7 @@ def _create_arrow_table(self, t_row_set, lz4_compressed, schema_bytes, descripti num_rows, ) = convert_column_based_set_to_arrow_table(t_row_set.columns, description) elif t_row_set.arrowBatches is not None: - ( - arrow_table, - num_rows, - ) = convert_arrow_based_set_to_arrow_table( + (arrow_table, num_rows,) = convert_arrow_based_set_to_arrow_table( t_row_set.arrowBatches, lz4_compressed, schema_bytes ) else: @@ -773,10 +769,10 @@ def _results_message_to_execute_response(self, resp, operation_state): ) schema_bytes = ( - t_result_set_metadata_resp.arrowSchema - or self._hive_schema_to_arrow_schema(t_result_set_metadata_resp.schema) - .serialize() - .to_pybytes() + t_result_set_metadata_resp.arrowSchema + or self._hive_schema_to_arrow_schema(t_result_set_metadata_resp.schema) + .serialize() + .to_pybytes() ) lz4_compressed = t_result_set_metadata_resp.lz4Compressed diff --git a/databricks_sql_connector_core/src/databricks/sql/utils.py b/databricks_sql_connector_core/src/databricks/sql/utils.py index f46b503e..0b71bd9e 100644 --- a/databricks_sql_connector_core/src/databricks/sql/utils.py +++ b/databricks_sql_connector_core/src/databricks/sql/utils.py @@ -1,5 +1,4 @@ from __future__ import annotations -import pytz import datetime import decimal from abc import ABC, abstractmethod @@ -13,11 +12,6 @@ import lz4.frame -try: - import pyarrow -except ImportError: - pyarrow = None - from databricks.sql import OperationalError, exc from databricks.sql.cloudfetch.download_manager import ( ResultFileDownloadManager, @@ -33,6 +27,11 @@ TDbsqlParameter, ) +try: + import pyarrow +except ImportError: + pyarrow = None + BIT_MASKS = [1, 2, 4, 8, 16, 32, 64, 128] import logging @@ -51,7 +50,6 @@ def remaining_rows(self): class ResultSetQueueFactory(ABC): - @staticmethod def build_queue( row_set_type: TSparkRowSetType, @@ -91,7 +89,8 @@ def build_queue( ) converted_arrow_table = convert_decimals_in_arrow_table( - arrow_table, description) + arrow_table, description + ) return ArrowQueue(converted_arrow_table, n_valid_rows) elif row_set_type == TSparkRowSetType.URL_BASED_SET: @@ -107,6 +106,7 @@ def build_queue( else: raise AssertionError("Row set type is not valid") + class ArrowQueue(ResultSetQueue): def __init__( self, @@ -621,4 +621,3 @@ def _create_arrow_array(t_col_value_wrapper, arrow_type): result[i] = None return pyarrow.array(result, type=arrow_type) - diff --git a/databricks_sql_connector_core/tests/e2e/common/decimal_tests.py b/databricks_sql_connector_core/tests/e2e/common/decimal_tests.py index 1b7b96cf..8c457787 100644 --- a/databricks_sql_connector_core/tests/e2e/common/decimal_tests.py +++ b/databricks_sql_connector_core/tests/e2e/common/decimal_tests.py @@ -1,16 +1,15 @@ from decimal import Decimal +import pytest try: import pyarrow except ImportError: pyarrow = None -import pytest +from tests.e2e.predicate import pysql_supports_arrow -def decimal_and_expected_results(): - if pyarrow is None: - return [] +def decimal_and_expected_results(): return [ ("100.001 AS DECIMAL(6, 3)", Decimal("100.001"), pyarrow.decimal128(6, 3)), ( @@ -33,10 +32,6 @@ def decimal_and_expected_results(): def multi_decimals_and_expected_results(): - - if pyarrow is None: - return [] - return [ ( ["1 AS DECIMAL(6, 3)", "100.001 AS DECIMAL(6, 3)", "NULL AS DECIMAL(6, 3)"], @@ -51,9 +46,10 @@ def multi_decimals_and_expected_results(): ] -@pytest.mark.skipif(not pyarrow, reason="Skipping because pyarrow is not installed") +@pytest.mark.skipif( + not pysql_supports_arrow(), reason="Skipping because pyarrow is not installed" +) class DecimalTestsMixin: - @pytest.mark.parametrize( "decimal, expected_value, expected_type", decimal_and_expected_results() ) diff --git a/databricks_sql_connector_core/tests/e2e/common/predicates.py b/databricks_sql_connector_core/tests/e2e/common/predicates.py index b4350493..c43d6fee 100644 --- a/databricks_sql_connector_core/tests/e2e/common/predicates.py +++ b/databricks_sql_connector_core/tests/e2e/common/predicates.py @@ -10,7 +10,8 @@ def pysql_supports_arrow(): """Checks if the pyarrow library is installed or not""" try: - __import__("pyarrow") + import pyarrow + return True except ImportError: return False diff --git a/databricks_sql_connector_core/tests/e2e/common/staging_ingestion_tests.py b/databricks_sql_connector_core/tests/e2e/common/staging_ingestion_tests.py index 324b5bc6..008055e3 100644 --- a/databricks_sql_connector_core/tests/e2e/common/staging_ingestion_tests.py +++ b/databricks_sql_connector_core/tests/e2e/common/staging_ingestion_tests.py @@ -311,15 +311,24 @@ def generate_file_and_path_and_queries(): ) return fh, temp_path, put_query, remove_query - fh1, temp_path1, put_query1, remove_query1 = ( - generate_file_and_path_and_queries() - ) - fh2, temp_path2, put_query2, remove_query2 = ( - generate_file_and_path_and_queries() - ) - fh3, temp_path3, put_query3, remove_query3 = ( - generate_file_and_path_and_queries() - ) + ( + fh1, + temp_path1, + put_query1, + remove_query1, + ) = generate_file_and_path_and_queries() + ( + fh2, + temp_path2, + put_query2, + remove_query2, + ) = generate_file_and_path_and_queries() + ( + fh3, + temp_path3, + put_query3, + remove_query3, + ) = generate_file_and_path_and_queries() with self.connection( extra_params={"staging_allowed_local_path": [temp_path1, temp_path2]} diff --git a/databricks_sql_connector_core/tests/e2e/common/uc_volume_tests.py b/databricks_sql_connector_core/tests/e2e/common/uc_volume_tests.py index c1031719..72e2f502 100644 --- a/databricks_sql_connector_core/tests/e2e/common/uc_volume_tests.py +++ b/databricks_sql_connector_core/tests/e2e/common/uc_volume_tests.py @@ -257,15 +257,24 @@ def generate_file_and_path_and_queries(): ) return fh, temp_path, put_query, remove_query - fh1, temp_path1, put_query1, remove_query1 = ( - generate_file_and_path_and_queries() - ) - fh2, temp_path2, put_query2, remove_query2 = ( - generate_file_and_path_and_queries() - ) - fh3, temp_path3, put_query3, remove_query3 = ( - generate_file_and_path_and_queries() - ) + ( + fh1, + temp_path1, + put_query1, + remove_query1, + ) = generate_file_and_path_and_queries() + ( + fh2, + temp_path2, + put_query2, + remove_query2, + ) = generate_file_and_path_and_queries() + ( + fh3, + temp_path3, + put_query3, + remove_query3, + ) = generate_file_and_path_and_queries() with self.connection( extra_params={"staging_allowed_local_path": [temp_path1, temp_path2]} diff --git a/databricks_sql_connector_core/tests/e2e/test_complex_types.py b/databricks_sql_connector_core/tests/e2e/test_complex_types.py index 0b8b5d45..a2758931 100644 --- a/databricks_sql_connector_core/tests/e2e/test_complex_types.py +++ b/databricks_sql_connector_core/tests/e2e/test_complex_types.py @@ -2,10 +2,11 @@ from numpy import ndarray from tests.e2e.test_driver import PySQLPytestTestCase +from tests.e2e.predicate import pysql_supports_arrow @pytest.mark.skipif( - pytest.importorskip("pyarrow"), reason="Skipping because pyarrow is not installed" + not pysql_supports_arrow(), reason="Skipping because pyarrow is not installed" ) class TestComplexTypes(PySQLPytestTestCase): @pytest.fixture(scope="class") diff --git a/databricks_sql_connector_core/tests/e2e/test_driver.py b/databricks_sql_connector_core/tests/e2e/test_driver.py index eed42d27..fe35b513 100644 --- a/databricks_sql_connector_core/tests/e2e/test_driver.py +++ b/databricks_sql_connector_core/tests/e2e/test_driver.py @@ -12,11 +12,6 @@ from uuid import uuid4 import numpy as np - -try: - import pyarrow -except: - pyarrow = None import pytz import thrift import pytest @@ -39,6 +34,7 @@ pysql_supports_arrow, compare_dbr_versions, is_thrift_v5_plus, + pysql_supports_arrow, ) from tests.e2e.common.core_tests import CoreTestMixin, SmokeTestMixin from tests.e2e.common.large_queries_mixin import LargeQueriesMixin @@ -55,6 +51,11 @@ from databricks.sql.exc import SessionAlreadyClosedError +try: + import pyarrow +except: + pyarrow = None + log = logging.getLogger(__name__) unsafe_logger = logging.getLogger("databricks.sql.unsafe") @@ -625,7 +626,9 @@ def test_ssp_passthrough(self): cursor.execute("SET ansi_mode") assert list(cursor.fetchone()) == ["ansi_mode", str(enable_ansi)] - @pytest.mark.skipif(not pyarrow, reason="Skipping because pyarrow is not installed") + @pytest.mark.skipif( + not pysql_supports_arrow(), reason="Skipping because pyarrow is not installed" + ) def test_timestamps_arrow(self): with self.cursor({"session_configuration": {"ansi_mode": False}}) as cursor: for timestamp, expected in self.timestamp_and_expected_results: @@ -649,7 +652,9 @@ def test_timestamps_arrow(self): aware_timestamp and aware_timestamp.timestamp() * 1000000 ), "timestamp {} did not match {}".format(timestamp, expected) - @pytest.mark.skipif(not pyarrow, reason="Skipping because pyarrow is not installed") + @pytest.mark.skipif( + not pysql_supports_arrow(), reason="Skipping because pyarrow is not installed" + ) def test_multi_timestamps_arrow(self): with self.cursor({"session_configuration": {"ansi_mode": False}}) as cursor: query, expected = self.multi_query() @@ -667,7 +672,9 @@ def test_multi_timestamps_arrow(self): ] assert result == expected - @pytest.mark.skipif(not pyarrow, reason="Skipping because pyarrow is not installed") + @pytest.mark.skipif( + not pysql_supports_arrow(), reason="Skipping because pyarrow is not installed" + ) def test_timezone_with_timestamp(self): if self.should_add_timezone(): with self.cursor() as cursor: @@ -688,7 +695,9 @@ def test_timezone_with_timestamp(self): assert arrow_result_table.field(0).type == ts_type assert arrow_result_value == expected.timestamp() * 1000000 - @pytest.mark.skipif(not pyarrow, reason="Skipping because pyarrow is not installed") + @pytest.mark.skipif( + not pysql_supports_arrow(), reason="Skipping because pyarrow is not installed" + ) def test_can_flip_compression(self): with self.cursor() as cursor: cursor.execute("SELECT array(1,2,3,4)") @@ -705,7 +714,9 @@ def test_can_flip_compression(self): def _should_have_native_complex_types(self): return pysql_has_version(">=", 2) and is_thrift_v5_plus(self.arguments) - @pytest.mark.skipif(not pyarrow, reason="Skipping because pyarrow is not installed") + @pytest.mark.skipif( + not pysql_supports_arrow(), reason="Skipping because pyarrow is not installed" + ) def test_arrays_are_not_returned_as_strings_arrow(self): if self._should_have_native_complex_types(): with self.cursor() as cursor: @@ -716,7 +727,9 @@ def test_arrays_are_not_returned_as_strings_arrow(self): assert pyarrow.types.is_list(list_type) assert pyarrow.types.is_integer(list_type.value_type) - @pytest.mark.skipif(not pyarrow, reason="Skipping because pyarrow is not installed") + @pytest.mark.skipif( + not pysql_supports_arrow(), reason="Skipping because pyarrow is not installed" + ) def test_structs_are_not_returned_as_strings_arrow(self): if self._should_have_native_complex_types(): with self.cursor() as cursor: @@ -726,7 +739,9 @@ def test_structs_are_not_returned_as_strings_arrow(self): struct_type = arrow_df.field(0).type assert pyarrow.types.is_struct(struct_type) - @pytest.mark.skipif(not pyarrow, reason="Skipping because pyarrow is not installed") + @pytest.mark.skipif( + not pysql_supports_arrow(), reason="Skipping because pyarrow is not installed" + ) def test_decimal_not_returned_as_strings_arrow(self): if self._should_have_native_complex_types(): with self.cursor() as cursor: diff --git a/databricks_sql_connector_core/tests/e2e/test_parameterized_queries.py b/databricks_sql_connector_core/tests/e2e/test_parameterized_queries.py index a618b5b1..31808dff 100644 --- a/databricks_sql_connector_core/tests/e2e/test_parameterized_queries.py +++ b/databricks_sql_connector_core/tests/e2e/test_parameterized_queries.py @@ -28,6 +28,7 @@ VoidParameter, ) from tests.e2e.test_driver import PySQLPytestTestCase +from tests.e2e.predicate import pysql_supports_arrow class ParamStyle(Enum): @@ -281,7 +282,7 @@ def test_primitive_single( ], ) @pytest.mark.skipif( - pytest.importorskip("pyarrow"), + not pysql_supports_arrow(), reason="Without pyarrow TIMESTAMP_NTZ datatype cannot be inferred", ) def test_dbsqlparameter_single( diff --git a/databricks_sql_connector_core/tests/unit/test_arrow_queue.py b/databricks_sql_connector_core/tests/unit/test_arrow_queue.py index d71e5846..76dc1ee7 100644 --- a/databricks_sql_connector_core/tests/unit/test_arrow_queue.py +++ b/databricks_sql_connector_core/tests/unit/test_arrow_queue.py @@ -1,15 +1,19 @@ import unittest import pytest +from databricks.sql.utils import ArrowQueue + try: import pyarrow as pa except ImportError: pa = None -from databricks.sql.utils import ArrowQueue +from tests.e2e.predicate import pysql_supports_arrow -@pytest.mark.skipif(not pa, reason="Skipping because pyarrow is not installed") +@pytest.mark.skipif( + not pysql_supports_arrow(), reason="Skipping because pyarrow is not installed" +) class ArrowQueueSuite(unittest.TestCase): @staticmethod def make_arrow_table(batch): diff --git a/databricks_sql_connector_core/tests/unit/test_client.py b/databricks_sql_connector_core/tests/unit/test_client.py index c0b040ef..9784d102 100644 --- a/databricks_sql_connector_core/tests/unit/test_client.py +++ b/databricks_sql_connector_core/tests/unit/test_client.py @@ -33,7 +33,6 @@ class ThriftBackendMockFactory: - @classmethod def new(cls): ThriftBackendMock = Mock(spec=ThriftBackend) @@ -94,9 +93,7 @@ def test_close_uses_the_correct_session_id(self, mock_client_class): mock_open_session_resp.sessionHandle.sessionId = b"\x22" instance.open_session.return_value = mock_open_session_resp - connection = databricks.sql.connect( - **self.DUMMY_CONNECTION_ARGS - ) + connection = databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS) connection.close() # Check the close session request has an id of x22 @@ -133,9 +130,7 @@ def test_auth_args(self, mock_client_class): @patch("%s.client.ThriftBackend" % PACKAGE_NAME) def test_http_header_passthrough(self, mock_client_class): http_headers = [("foo", "bar")] - databricks.sql.connect( - **self.DUMMY_CONNECTION_ARGS, http_headers=http_headers - ) + databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS, http_headers=http_headers) call_args = mock_client_class.call_args[0][3] self.assertIn(("foo", "bar"), call_args) @@ -170,9 +165,7 @@ def test_useragent_header(self, mock_client_class): ) self.assertIn(user_agent_header, http_headers) - databricks.sql.connect( - **self.DUMMY_CONNECTION_ARGS, _user_agent_entry="foobar" - ) + databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS, _user_agent_entry="foobar") user_agent_header_with_entry = ( "User-Agent", "{}/{} ({})".format( @@ -191,9 +184,7 @@ def test_closing_connection_closes_commands(self, mock_result_set_class): for closed in (True, False): with self.subTest(closed=closed): mock_result_set_class.return_value = Mock() - connection = databricks.sql.connect( - **self.DUMMY_CONNECTION_ARGS - ) + connection = databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS) cursor = connection.cursor() cursor.execute("SELECT 1;") connection.close() @@ -205,9 +196,7 @@ def test_closing_connection_closes_commands(self, mock_result_set_class): @patch("%s.client.ThriftBackend" % PACKAGE_NAME) def test_cant_open_cursor_on_closed_connection(self, mock_client_class): - connection = databricks.sql.connect( - **self.DUMMY_CONNECTION_ARGS - ) + connection = databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS) self.assertTrue(connection.open) connection.close() self.assertFalse(connection.open) @@ -220,9 +209,7 @@ def test_cant_open_cursor_on_closed_connection(self, mock_client_class): def test_arraysize_buffer_size_passthrough( self, mock_cursor_class, mock_client_class ): - connection = databricks.sql.connect( - **self.DUMMY_CONNECTION_ARGS - ) + connection = databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS) connection.cursor(arraysize=999, buffer_size_bytes=1234) kwargs = mock_cursor_class.call_args[1] @@ -314,9 +301,7 @@ def test_context_manager_closes_connection(self, mock_client_class): mock_open_session_resp.sessionHandle.sessionId = b"\x22" instance.open_session.return_value = mock_open_session_resp - with databricks.sql.connect( - **self.DUMMY_CONNECTION_ARGS - ) as connection: + with databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS) as connection: pass # Check the close session request has an id of x22 @@ -433,9 +418,7 @@ def test_max_number_of_retries_passthrough(self, mock_client_class): @patch("%s.client.ThriftBackend" % PACKAGE_NAME) def test_socket_timeout_passthrough(self, mock_client_class): - databricks.sql.connect( - _socket_timeout=234, **self.DUMMY_CONNECTION_ARGS - ) + databricks.sql.connect(_socket_timeout=234, **self.DUMMY_CONNECTION_ARGS) self.assertEqual(mock_client_class.call_args[1]["_socket_timeout"], 234) def test_version_is_canonical(self): @@ -655,9 +638,7 @@ def test_cursor_keeps_connection_alive(self, mock_client_class): mock_open_session_resp.sessionHandle.sessionId = b"\x22" instance.open_session.return_value = mock_open_session_resp - connection = databricks.sql.connect( - **self.DUMMY_CONNECTION_ARGS - ) + connection = databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS) cursor = connection.cursor() del connection @@ -680,9 +661,7 @@ def test_staging_operation_response_is_handled( mock_client_class.execute_command.return_value = mock_execute_response mock_client_class.return_value = mock_client_class - connection = databricks.sql.connect( - **self.DUMMY_CONNECTION_ARGS - ) + connection = databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS) cursor = connection.cursor() cursor.execute("Text of some staging operation command;") connection.close() @@ -693,9 +672,7 @@ def test_staging_operation_response_is_handled( def test_access_current_query_id(self): operation_id = "EE6A8778-21FC-438B-92D8-96AC51EE3821" - connection = databricks.sql.connect( - **self.DUMMY_CONNECTION_ARGS - ) + connection = databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS) cursor = connection.cursor() self.assertIsNone(cursor.query_id) diff --git a/databricks_sql_connector_core/tests/unit/test_cloud_fetch_queue.py b/databricks_sql_connector_core/tests/unit/test_cloud_fetch_queue.py index 8aebe7af..4aed2951 100644 --- a/databricks_sql_connector_core/tests/unit/test_cloud_fetch_queue.py +++ b/databricks_sql_connector_core/tests/unit/test_cloud_fetch_queue.py @@ -1,7 +1,3 @@ -try: - import pyarrow -except ImportError: - pyarrow = None import unittest import pytest from unittest.mock import MagicMock, patch @@ -11,11 +7,18 @@ TSparkArrowResultLink, ) import databricks.sql.utils as utils +from tests.e2e.predicate import pysql_supports_arrow +try: + import pyarrow +except ImportError: + pyarrow = None -@pytest.mark.skipif(not pyarrow, reason="Skipping because pyarrow is not installed") -class CloudFetchQueueSuite(unittest.TestCase): +@pytest.mark.skipif( + not pysql_supports_arrow(), reason="Skipping because pyarrow is not installed" +) +class CloudFetchQueueSuite(unittest.TestCase): def create_result_link( self, file_link: str = "fileLink", diff --git a/databricks_sql_connector_core/tests/unit/test_download_manager.py b/databricks_sql_connector_core/tests/unit/test_download_manager.py index 67bb429b..39ec95ce 100644 --- a/databricks_sql_connector_core/tests/unit/test_download_manager.py +++ b/databricks_sql_connector_core/tests/unit/test_download_manager.py @@ -8,9 +8,11 @@ TSparkArrowResultLink, ) +from tests.e2e.predicate import pysql_supports_arrow + @pytest.mark.skipif( - pytest.importorskip("pyarrow"), reason="Skipping because pyarrow is not installed" + not pysql_supports_arrow(), reason="Skipping because pyarrow is not installed" ) class DownloadManagerTests(unittest.TestCase): """ diff --git a/databricks_sql_connector_core/tests/unit/test_fetches.py b/databricks_sql_connector_core/tests/unit/test_fetches.py index 82328260..385457d9 100644 --- a/databricks_sql_connector_core/tests/unit/test_fetches.py +++ b/databricks_sql_connector_core/tests/unit/test_fetches.py @@ -2,16 +2,20 @@ import pytest from unittest.mock import Mock +import databricks.sql.client as client +from databricks.sql.utils import ExecuteResponse, ArrowQueue + try: import pyarrow as pa except ImportError: pa = None -import databricks.sql.client as client -from databricks.sql.utils import ExecuteResponse, ArrowQueue +from tests.e2e.predicate import pysql_supports_arrow -@pytest.mark.skipif(not pa, reason="Skipping because pyarrow is not installed") +@pytest.mark.skipif( + not pysql_supports_arrow(), reason="Skipping because pyarrow is not installed" +) class FetchTests(unittest.TestCase): """ Unit tests for checking the fetch logic. diff --git a/databricks_sql_connector_core/tests/unit/test_fetches_bench.py b/databricks_sql_connector_core/tests/unit/test_fetches_bench.py index bb03189b..d9cd781e 100644 --- a/databricks_sql_connector_core/tests/unit/test_fetches_bench.py +++ b/databricks_sql_connector_core/tests/unit/test_fetches_bench.py @@ -1,10 +1,6 @@ import unittest from unittest.mock import Mock -try: - import pyarrow as pa -except ImportError: - pa = None import uuid import time import pytest @@ -12,8 +8,17 @@ import databricks.sql.client as client from databricks.sql.utils import ExecuteResponse, ArrowQueue +from tests.e2e.predicate import pysql_supports_arrow + +try: + import pyarrow as pa +except ImportError: + pa = None + -@pytest.mark.skipif(not pa, reason="Skipping because pyarrow is not installed") +@pytest.mark.skipif( + not pysql_supports_arrow(), reason="Skipping because pyarrow is not installed" +) class FetchBenchmarkTests(unittest.TestCase): """ Micro benchmark test for Arrow result handling. diff --git a/databricks_sql_connector_core/tests/unit/test_init_file.py b/databricks_sql_connector_core/tests/unit/test_init_file.py index 44311a0c..0989ad7d 100644 --- a/databricks_sql_connector_core/tests/unit/test_init_file.py +++ b/databricks_sql_connector_core/tests/unit/test_init_file.py @@ -3,16 +3,16 @@ class TestInitFile: """ - Micro test to confirm the contents of `databricks/__init__.py` does not change. + Micro test to confirm the contents of `databricks/__init__.py.py` does not change. Also see https://github.com/databricks/databricks-sdk-py/issues/343#issuecomment-1866029118. """ def test_init_file_contents(self): - with open("databricks_sql_connector_core/src/databricks/__init__.py") as f: + with open("databricks_sql_connector_core/src/databricks/__init__.py.py") as f: init_file_contents = f.read() - # This hash is the expected hash of the contents of `src/databricks/__init__.py`. + # This hash is the expected hash of the contents of `src/databricks/__init__.py.py`. # It must not change, or else parallel package installation may lead to clobbered and invalid files. expected_sha1 = "2772edbf52e517542acf8c039479c4b57b6ca2cd" actual_sha1 = hashlib.sha1(init_file_contents.encode("utf-8")).hexdigest() diff --git a/databricks_sql_connector_core/tests/unit/test_oauth_persistence.py b/databricks_sql_connector_core/tests/unit/test_oauth_persistence.py index c7298d39..a8ceb14e 100644 --- a/databricks_sql_connector_core/tests/unit/test_oauth_persistence.py +++ b/databricks_sql_connector_core/tests/unit/test_oauth_persistence.py @@ -9,7 +9,6 @@ class OAuthPersistenceTests(unittest.TestCase): - def test_DevOnlyFilePersistence_read_my_write(self): with tempfile.TemporaryDirectory() as tempdir: test_json_file_path = os.path.join(tempdir, "test.json") diff --git a/databricks_sql_connector_core/tests/unit/test_retry.py b/databricks_sql_connector_core/tests/unit/test_retry.py index 1782f5f8..f8deaa6d 100644 --- a/databricks_sql_connector_core/tests/unit/test_retry.py +++ b/databricks_sql_connector_core/tests/unit/test_retry.py @@ -11,7 +11,6 @@ class TestRetry: - @pytest.fixture() def retry_policy(self) -> DatabricksRetryPolicy: return DatabricksRetryPolicy( diff --git a/databricks_sql_connector_core/tests/unit/test_thrift_backend.py b/databricks_sql_connector_core/tests/unit/test_thrift_backend.py index 2211b3db..7c5eadb1 100644 --- a/databricks_sql_connector_core/tests/unit/test_thrift_backend.py +++ b/databricks_sql_connector_core/tests/unit/test_thrift_backend.py @@ -6,17 +6,18 @@ from unittest.mock import patch, MagicMock, Mock from ssl import CERT_NONE, CERT_REQUIRED -try: - import pyarrow -except ImportError: - pyarrow = None - import databricks.sql from databricks.sql import utils from databricks.sql.thrift_api.TCLIService import ttypes from databricks.sql import * from databricks.sql.auth.authenticators import AuthProvider from databricks.sql.thrift_backend import ThriftBackend +from tests.e2e.predicate import pysql_supports_arrow + +try: + import pyarrow +except ImportError: + pyarrow = None def retry_policy_factory(): @@ -29,7 +30,9 @@ def retry_policy_factory(): } -@pytest.mark.skipif(not pyarrow, reason="Skipping because pyarrow is not installed") +@pytest.mark.skipif( + not pysql_supports_arrow(), reason="Skipping because pyarrow is not installed" +) class ThriftBackendTestSuite(unittest.TestCase): okay_status = ttypes.TStatus(statusCode=ttypes.TStatusCode.SUCCESS_STATUS) @@ -1256,12 +1259,8 @@ def test_create_arrow_table_raises_error_for_unsupported_type(self): with self.assertRaises(OperationalError): thrift_backend._create_arrow_table(t_row_set, Mock(), None, Mock()) - @patch( - "databricks.sql.thrift_backend.convert_arrow_based_set_to_arrow_table" - ) - @patch( - "databricks.sql.thrift_backend.convert_column_based_set_to_arrow_table" - ) + @patch("databricks.sql.thrift_backend.convert_arrow_based_set_to_arrow_table") + @patch("databricks.sql.thrift_backend.convert_column_based_set_to_arrow_table") def test_create_arrow_table_calls_correct_conversion_method( self, convert_col_mock, convert_arrow_mock ): @@ -1978,9 +1977,7 @@ def test_protocol_v3_fails_if_initial_namespace_set(self, tcli_client_class): "databricks.sql.thrift_backend.TCLIService.Client", autospec=True, ) - @patch( - "databricks.sql.thrift_backend.ThriftBackend._handle_execute_response" - ) + @patch("databricks.sql.thrift_backend.ThriftBackend._handle_execute_response") def test_execute_command_sets_complex_type_fields_correctly( self, mock_handle_execute_response, tcli_service_class ): From 6f10ec69161f77311f412d4b0f3cd5330d617a15 Mon Sep 17 00:00:00 2001 From: Jothi Prakash Date: Tue, 17 Sep 2024 22:30:28 +0530 Subject: [PATCH 32/53] Extra .py removed from all the __init__.py files names --- .../src/databricks/sql/auth/retry.py | 14 +++++++------- .../src/databricks/sql/client.py | 2 +- .../src/databricks/sql/thrift_backend.py | 2 +- .../tests/unit/test_init_file.py | 6 +++--- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/databricks_sql_connector_core/src/databricks/sql/auth/retry.py b/databricks_sql_connector_core/src/databricks/sql/auth/retry.py index f4b036ac..be8dbe37 100755 --- a/databricks_sql_connector_core/src/databricks/sql/auth/retry.py +++ b/databricks_sql_connector_core/src/databricks/sql/auth/retry.py @@ -77,7 +77,7 @@ class DatabricksRetryPolicy(Retry): commands like ExecuteStatement. This is passed to urllib3 by extending its status_forcelist :param urllib3_kwargs: - Dictionary of arguments that are passed to Retry.__init__.py. Any setting of Retry() that + Dictionary of arguments that are passed to Retry.__init__. Any setting of Retry() that Databricks does not override or extend may be modified here. """ @@ -154,7 +154,7 @@ def __private_init__( a network request. :param init_kwargs: - A dictionary of parameters that will be passed to __init__.py in the new object + A dictionary of parameters that will be passed to __init__ in the new object """ new_object = cls(**init_kwargs) @@ -184,12 +184,12 @@ def new( The arguments it passes to `.new()` (total, connect, read, etc.) are those modified by `.increment()`. - Since self.__init__.py has a different signature than Retry.__init__.py , we implement our own `self.new()` + Since self.__init__ has a different signature than Retry.__init__ , we implement our own `self.new()` to pipe our Databricks-specific state while preserving the super-class's behaviour. """ - # These arguments will match the function signature for self.__init__.py + # These arguments will match the function signature for self.__init__ databricks_init_params = dict( delay_min=self.delay_min, delay_max=self.delay_max, @@ -201,7 +201,7 @@ def new( ) # Gather urllib3's current retry state _before_ increment was called - # These arguments match the function signature for Retry.__init__.py + # These arguments match the function signature for Retry.__init__ # Note: if we update urllib3 we may need to add/remove arguments from this dict urllib3_init_params = dict( total=self.total, @@ -223,7 +223,7 @@ def new( # Update urllib3's current state to reflect the incremented counters urllib3_init_params.update(**urllib3_incremented_counters) - # Include urllib3's current state in our __init__.py params + # Include urllib3's current state in our __init__ params databricks_init_params["urllib3_kwargs"].update(**urllib3_init_params) # type: ignore[attr-defined] return type(self).__private_init__( @@ -247,7 +247,7 @@ def delay_default(self) -> float: This property is never read by urllib3 for the purpose of retries. It's stored in this class to keep all retry logic in one place. - This property is only set by __init__.py and cannot be modified afterward. + This property is only set by __init__ and cannot be modified afterward. """ return self._delay_default diff --git a/databricks_sql_connector_core/src/databricks/sql/client.py b/databricks_sql_connector_core/src/databricks/sql/client.py index 26c74efa..43af4479 100755 --- a/databricks_sql_connector_core/src/databricks/sql/client.py +++ b/databricks_sql_connector_core/src/databricks/sql/client.py @@ -125,7 +125,7 @@ def __init__( from databricks.sql.experimental.oauth_persistence import OAuthPersistence, OAuthToken class MyCustomImplementation(OAuthPersistence): - def __init__.py(self, file_path): + def __init__(self, file_path): self._file_path = file_path def persist(self, token: OAuthToken): diff --git a/databricks_sql_connector_core/src/databricks/sql/thrift_backend.py b/databricks_sql_connector_core/src/databricks/sql/thrift_backend.py index 064c5dfd..ca115380 100644 --- a/databricks_sql_connector_core/src/databricks/sql/thrift_backend.py +++ b/databricks_sql_connector_core/src/databricks/sql/thrift_backend.py @@ -60,7 +60,7 @@ TIMESTAMP_AS_STRING_CONFIG = "spark.thriftserver.arrowBasedRowSet.timestampAsString" DEFAULT_SOCKET_TIMEOUT = float(900) -# see Connection.__init__.py for parameter descriptions. +# see Connection.__init__ for parameter descriptions. # - Min/Max avoids unsustainable configs (sane values are far more constrained) # - 900s attempts-duration lines up w ODBC/JDBC drivers (for cluster startup > 10 mins) _retry_policy = { # (type, default, min, max) diff --git a/databricks_sql_connector_core/tests/unit/test_init_file.py b/databricks_sql_connector_core/tests/unit/test_init_file.py index 0989ad7d..44311a0c 100644 --- a/databricks_sql_connector_core/tests/unit/test_init_file.py +++ b/databricks_sql_connector_core/tests/unit/test_init_file.py @@ -3,16 +3,16 @@ class TestInitFile: """ - Micro test to confirm the contents of `databricks/__init__.py.py` does not change. + Micro test to confirm the contents of `databricks/__init__.py` does not change. Also see https://github.com/databricks/databricks-sdk-py/issues/343#issuecomment-1866029118. """ def test_init_file_contents(self): - with open("databricks_sql_connector_core/src/databricks/__init__.py.py") as f: + with open("databricks_sql_connector_core/src/databricks/__init__.py") as f: init_file_contents = f.read() - # This hash is the expected hash of the contents of `src/databricks/__init__.py.py`. + # This hash is the expected hash of the contents of `src/databricks/__init__.py`. # It must not change, or else parallel package installation may lead to clobbered and invalid files. expected_sha1 = "2772edbf52e517542acf8c039479c4b57b6ca2cd" actual_sha1 = hashlib.sha1(init_file_contents.encode("utf-8")).hexdigest() From 2115db13dcba2c5660b3051d2dcc234b1a928ab2 Mon Sep 17 00:00:00 2001 From: Jothi Prakash Date: Wed, 18 Sep 2024 11:05:35 +0530 Subject: [PATCH 33/53] Undo formatting check --- .../src/databricks/sql/auth/auth.py | 8 ++-- .../src/databricks/sql/auth/authenticators.py | 26 ++++------ .../src/databricks/sql/auth/oauth.py | 20 ++++---- .../src/databricks/sql/auth/retry.py | 48 +++++++++---------- 4 files changed, 46 insertions(+), 56 deletions(-) diff --git a/databricks_sql_connector_core/src/databricks/sql/auth/auth.py b/databricks_sql_connector_core/src/databricks/sql/auth/auth.py index 536dd4cc..2a6c9d4d 100755 --- a/databricks_sql_connector_core/src/databricks/sql/auth/auth.py +++ b/databricks_sql_connector_core/src/databricks/sql/auth/auth.py @@ -107,11 +107,9 @@ def get_python_sql_connector_auth_provider(hostname: str, **kwargs): tls_client_cert_file=kwargs.get("_tls_client_cert_file"), oauth_scopes=PYSQL_OAUTH_SCOPES, oauth_client_id=kwargs.get("oauth_client_id") or client_id, - oauth_redirect_port_range=( - [kwargs["oauth_redirect_port"]] - if kwargs.get("oauth_client_id") and kwargs.get("oauth_redirect_port") - else redirect_port_range - ), + oauth_redirect_port_range=[kwargs["oauth_redirect_port"]] + if kwargs.get("oauth_client_id") and kwargs.get("oauth_redirect_port") + else redirect_port_range, oauth_persistence=kwargs.get("experimental_oauth_persistence"), credentials_provider=kwargs.get("credentials_provider"), ) diff --git a/databricks_sql_connector_core/src/databricks/sql/auth/authenticators.py b/databricks_sql_connector_core/src/databricks/sql/auth/authenticators.py index 9324ea1b..0fcd6f4b 100644 --- a/databricks_sql_connector_core/src/databricks/sql/auth/authenticators.py +++ b/databricks_sql_connector_core/src/databricks/sql/auth/authenticators.py @@ -4,17 +4,11 @@ from typing import Callable, Dict, List from databricks.sql.auth.oauth import OAuthManager -from databricks.sql.auth.endpoint import ( - get_oauth_endpoints, - infer_cloud_from_host, -) +from databricks.sql.auth.endpoint import get_oauth_endpoints, infer_cloud_from_host # Private API: this is an evolving interface and it will change in the future. # Please must not depend on it in your applications. -from databricks.sql.experimental.oauth_persistence import ( - OAuthToken, - OAuthPersistence, -) +from databricks.sql.experimental.oauth_persistence import OAuthToken, OAuthPersistence class AuthProvider: @@ -55,13 +49,13 @@ class DatabricksOAuthProvider(AuthProvider): SCOPE_DELIM = " " def __init__( - self, - hostname: str, - oauth_persistence: OAuthPersistence, - redirect_port_range: List[int], - client_id: str, - scopes: List[str], - auth_type: str = "databricks-oauth", + self, + hostname: str, + oauth_persistence: OAuthPersistence, + redirect_port_range: List[int], + client_id: str, + scopes: List[str], + auth_type: str = "databricks-oauth", ): try: idp_endpoint = get_oauth_endpoints(hostname, auth_type == "azure-oauth") @@ -151,4 +145,4 @@ def __init__(self, credentials_provider: CredentialsProvider) -> None: def add_headers(self, request_headers: Dict[str, str]): headers = self._header_factory() for k, v in headers.items(): - request_headers[k] = v + request_headers[k] = v \ No newline at end of file diff --git a/databricks_sql_connector_core/src/databricks/sql/auth/oauth.py b/databricks_sql_connector_core/src/databricks/sql/auth/oauth.py index 3b34d999..ac2f5d7c 100644 --- a/databricks_sql_connector_core/src/databricks/sql/auth/oauth.py +++ b/databricks_sql_connector_core/src/databricks/sql/auth/oauth.py @@ -13,9 +13,7 @@ from oauthlib.oauth2.rfc6749.errors import OAuth2Error from requests.exceptions import RequestException -from databricks.sql.auth.oauth_http_handler import ( - OAuthHttpSingleRequestHandler, -) +from databricks.sql.auth.oauth_http_handler import OAuthHttpSingleRequestHandler from databricks.sql.auth.endpoint import OAuthEndpointCollection logger = logging.getLogger(__name__) @@ -39,10 +37,10 @@ def __call__(self, r): class OAuthManager: def __init__( - self, - port_range: List[int], - client_id: str, - idp_endpoint: OAuthEndpointCollection, + self, + port_range: List[int], + client_id: str, + idp_endpoint: OAuthEndpointCollection, ): self.port_range = port_range self.client_id = client_id @@ -153,7 +151,7 @@ def __get_authorization_code(self, client, auth_url, scope, state, challenge): return authorization_code_response def __send_auth_code_token_request( - self, client, token_request_url, redirect_url, code, verifier + self, client, token_request_url, redirect_url, code, verifier ): token_request_body = client.prepare_request_body( code=code, redirect_uri=redirect_url @@ -192,7 +190,7 @@ def __get_tokens_from_response(oauth_response): return access_token, refresh_token def check_and_refresh_access_token( - self, hostname: str, access_token: str, refresh_token: str + self, hostname: str, access_token: str, refresh_token: str ): now = datetime.now(tz=timezone.utc) # If we can't decode an expiration time, this will be expired by default. @@ -205,7 +203,7 @@ def check_and_refresh_access_token( access_token_payload = access_token.split(".")[1] # add padding access_token_payload = access_token_payload + "=" * ( - -len(access_token_payload) % 4 + -len(access_token_payload) % 4 ) decoded = json.loads(base64.standard_b64decode(access_token_payload)) expiration_time = datetime.fromtimestamp(decoded["exp"], tz=timezone.utc) @@ -259,4 +257,4 @@ def get_tokens(self, hostname: str, scope=None): oauth_response = self.__send_auth_code_token_request( client, token_request_url, redirect_url, code, verifier ) - return self.__get_tokens_from_response(oauth_response) + return self.__get_tokens_from_response(oauth_response) \ No newline at end of file diff --git a/databricks_sql_connector_core/src/databricks/sql/auth/retry.py b/databricks_sql_connector_core/src/databricks/sql/auth/retry.py index be8dbe37..7f6ec1f7 100755 --- a/databricks_sql_connector_core/src/databricks/sql/auth/retry.py +++ b/databricks_sql_connector_core/src/databricks/sql/auth/retry.py @@ -82,14 +82,14 @@ class DatabricksRetryPolicy(Retry): """ def __init__( - self, - delay_min: float, - delay_max: float, - stop_after_attempts_count: int, - stop_after_attempts_duration: float, - delay_default: float, - force_dangerous_codes: List[int], - urllib3_kwargs: dict = {}, + self, + delay_min: float, + delay_max: float, + stop_after_attempts_count: int, + stop_after_attempts_duration: float, + delay_default: float, + force_dangerous_codes: List[int], + urllib3_kwargs: dict = {}, ): # These values do not change from one command to the next self.delay_max = delay_max @@ -134,7 +134,7 @@ def __init__( @classmethod def __private_init__( - cls, retry_start_time: float, command_type: Optional[CommandType], **init_kwargs + cls, retry_start_time: float, command_type: Optional[CommandType], **init_kwargs ): """ Returns a new instance of DatabricksRetryPolicy with the _retry_start_time and _command_type @@ -163,7 +163,7 @@ def __private_init__( return new_object def new( - self, **urllib3_incremented_counters: typing.Any + self, **urllib3_incremented_counters: typing.Any ) -> "DatabricksRetryPolicy": """This method is responsible for passing the entire Retry state to its next iteration. @@ -184,7 +184,7 @@ def new( The arguments it passes to `.new()` (total, connect, read, etc.) are those modified by `.increment()`. - Since self.__init__ has a different signature than Retry.__init__ , we implement our own `self.new()` + Since self.__init__ has a different signature than Retry.__init__ , we implement our own `self.new()` to pipe our Databricks-specific state while preserving the super-class's behaviour. """ @@ -369,9 +369,9 @@ def should_retry(self, method: str, status_code: int) -> Tuple[bool, str]: # Request failed with 404 because CloseSession returns 404 if you repeat the request. if ( - status_code == 404 - and self.command_type == CommandType.CLOSE_SESSION - and len(self.history) > 0 + status_code == 404 + and self.command_type == CommandType.CLOSE_SESSION + and len(self.history) > 0 ): raise SessionAlreadyClosedError( "CloseSession received 404 code from Databricks. Session is already closed." @@ -379,9 +379,9 @@ def should_retry(self, method: str, status_code: int) -> Tuple[bool, str]: # Request failed with 404 because CloseOperation returns 404 if you repeat the request. if ( - status_code == 404 - and self.command_type == CommandType.CLOSE_OPERATION - and len(self.history) > 0 + status_code == 404 + and self.command_type == CommandType.CLOSE_OPERATION + and len(self.history) > 0 ): raise CursorAlreadyClosedError( "CloseOperation received 404 code from Databricks. Cursor is already closed." @@ -389,9 +389,9 @@ def should_retry(self, method: str, status_code: int) -> Tuple[bool, str]: # Request failed, was an ExecuteStatement and the command may have reached the server if ( - self.command_type == CommandType.EXECUTE_STATEMENT - and status_code not in self.status_forcelist - and status_code not in self.force_dangerous_codes + self.command_type == CommandType.EXECUTE_STATEMENT + and status_code not in self.status_forcelist + and status_code not in self.force_dangerous_codes ): raise UnsafeToRetryError( "ExecuteStatement command can only be retried for codes 429 and 503" @@ -402,8 +402,8 @@ def should_retry(self, method: str, status_code: int) -> Tuple[bool, str]: # retry automatically. This code is included only so that we can log the exact reason for the retry. # This gives users signal that their _retry_dangerous_codes setting actually did something. if ( - self.command_type == CommandType.EXECUTE_STATEMENT - and status_code in self.force_dangerous_codes + self.command_type == CommandType.EXECUTE_STATEMENT + and status_code in self.force_dangerous_codes ): return ( True, @@ -420,7 +420,7 @@ def should_retry(self, method: str, status_code: int) -> Tuple[bool, str]: ) def is_retry( - self, method: str, status_code: int, has_retry_after: bool = False + self, method: str, status_code: int, has_retry_after: bool = False ) -> bool: """ Called by urllib3 when determining whether or not to retry @@ -433,4 +433,4 @@ def is_retry( if should_retry: logger.debug(msg) - return should_retry + return should_retry \ No newline at end of file From 36c0f952f5c30f72542bdf1ce3e747d110878a5a Mon Sep 17 00:00:00 2001 From: Jothi Prakash Date: Wed, 18 Sep 2024 11:06:49 +0530 Subject: [PATCH 34/53] Check --- databricks_sql_connector_core/src/databricks/sql/auth/oauth.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/databricks_sql_connector_core/src/databricks/sql/auth/oauth.py b/databricks_sql_connector_core/src/databricks/sql/auth/oauth.py index ac2f5d7c..75228e71 100644 --- a/databricks_sql_connector_core/src/databricks/sql/auth/oauth.py +++ b/databricks_sql_connector_core/src/databricks/sql/auth/oauth.py @@ -257,4 +257,4 @@ def get_tokens(self, hostname: str, scope=None): oauth_response = self.__send_auth_code_token_request( client, token_request_url, redirect_url, code, verifier ) - return self.__get_tokens_from_response(oauth_response) \ No newline at end of file + return self.__get_tokens_from_response(oauth_response) From 15d5047f64db8e21069fa1c0367687ce77eb67c3 Mon Sep 17 00:00:00 2001 From: Jothi Prakash Date: Wed, 18 Sep 2024 11:26:00 +0530 Subject: [PATCH 35/53] Check --- .../src/databricks/sql/auth/authenticators.py | 16 +++---- .../src/databricks/sql/auth/oauth.py | 14 +++--- .../src/databricks/sql/auth/retry.py | 46 +++++++++---------- 3 files changed, 38 insertions(+), 38 deletions(-) diff --git a/databricks_sql_connector_core/src/databricks/sql/auth/authenticators.py b/databricks_sql_connector_core/src/databricks/sql/auth/authenticators.py index 0fcd6f4b..64eb91bb 100644 --- a/databricks_sql_connector_core/src/databricks/sql/auth/authenticators.py +++ b/databricks_sql_connector_core/src/databricks/sql/auth/authenticators.py @@ -49,13 +49,13 @@ class DatabricksOAuthProvider(AuthProvider): SCOPE_DELIM = " " def __init__( - self, - hostname: str, - oauth_persistence: OAuthPersistence, - redirect_port_range: List[int], - client_id: str, - scopes: List[str], - auth_type: str = "databricks-oauth", + self, + hostname: str, + oauth_persistence: OAuthPersistence, + redirect_port_range: List[int], + client_id: str, + scopes: List[str], + auth_type: str = "databricks-oauth", ): try: idp_endpoint = get_oauth_endpoints(hostname, auth_type == "azure-oauth") @@ -145,4 +145,4 @@ def __init__(self, credentials_provider: CredentialsProvider) -> None: def add_headers(self, request_headers: Dict[str, str]): headers = self._header_factory() for k, v in headers.items(): - request_headers[k] = v \ No newline at end of file + request_headers[k] = v diff --git a/databricks_sql_connector_core/src/databricks/sql/auth/oauth.py b/databricks_sql_connector_core/src/databricks/sql/auth/oauth.py index 75228e71..806df08f 100644 --- a/databricks_sql_connector_core/src/databricks/sql/auth/oauth.py +++ b/databricks_sql_connector_core/src/databricks/sql/auth/oauth.py @@ -37,10 +37,10 @@ def __call__(self, r): class OAuthManager: def __init__( - self, - port_range: List[int], - client_id: str, - idp_endpoint: OAuthEndpointCollection, + self, + port_range: List[int], + client_id: str, + idp_endpoint: OAuthEndpointCollection, ): self.port_range = port_range self.client_id = client_id @@ -151,7 +151,7 @@ def __get_authorization_code(self, client, auth_url, scope, state, challenge): return authorization_code_response def __send_auth_code_token_request( - self, client, token_request_url, redirect_url, code, verifier + self, client, token_request_url, redirect_url, code, verifier ): token_request_body = client.prepare_request_body( code=code, redirect_uri=redirect_url @@ -190,7 +190,7 @@ def __get_tokens_from_response(oauth_response): return access_token, refresh_token def check_and_refresh_access_token( - self, hostname: str, access_token: str, refresh_token: str + self, hostname: str, access_token: str, refresh_token: str ): now = datetime.now(tz=timezone.utc) # If we can't decode an expiration time, this will be expired by default. @@ -203,7 +203,7 @@ def check_and_refresh_access_token( access_token_payload = access_token.split(".")[1] # add padding access_token_payload = access_token_payload + "=" * ( - -len(access_token_payload) % 4 + -len(access_token_payload) % 4 ) decoded = json.loads(base64.standard_b64decode(access_token_payload)) expiration_time = datetime.fromtimestamp(decoded["exp"], tz=timezone.utc) diff --git a/databricks_sql_connector_core/src/databricks/sql/auth/retry.py b/databricks_sql_connector_core/src/databricks/sql/auth/retry.py index 7f6ec1f7..0c6547cb 100755 --- a/databricks_sql_connector_core/src/databricks/sql/auth/retry.py +++ b/databricks_sql_connector_core/src/databricks/sql/auth/retry.py @@ -82,14 +82,14 @@ class DatabricksRetryPolicy(Retry): """ def __init__( - self, - delay_min: float, - delay_max: float, - stop_after_attempts_count: int, - stop_after_attempts_duration: float, - delay_default: float, - force_dangerous_codes: List[int], - urllib3_kwargs: dict = {}, + self, + delay_min: float, + delay_max: float, + stop_after_attempts_count: int, + stop_after_attempts_duration: float, + delay_default: float, + force_dangerous_codes: List[int], + urllib3_kwargs: dict = {}, ): # These values do not change from one command to the next self.delay_max = delay_max @@ -134,7 +134,7 @@ def __init__( @classmethod def __private_init__( - cls, retry_start_time: float, command_type: Optional[CommandType], **init_kwargs + cls, retry_start_time: float, command_type: Optional[CommandType], **init_kwargs ): """ Returns a new instance of DatabricksRetryPolicy with the _retry_start_time and _command_type @@ -163,7 +163,7 @@ def __private_init__( return new_object def new( - self, **urllib3_incremented_counters: typing.Any + self, **urllib3_incremented_counters: typing.Any ) -> "DatabricksRetryPolicy": """This method is responsible for passing the entire Retry state to its next iteration. @@ -369,9 +369,9 @@ def should_retry(self, method: str, status_code: int) -> Tuple[bool, str]: # Request failed with 404 because CloseSession returns 404 if you repeat the request. if ( - status_code == 404 - and self.command_type == CommandType.CLOSE_SESSION - and len(self.history) > 0 + status_code == 404 + and self.command_type == CommandType.CLOSE_SESSION + and len(self.history) > 0 ): raise SessionAlreadyClosedError( "CloseSession received 404 code from Databricks. Session is already closed." @@ -379,9 +379,9 @@ def should_retry(self, method: str, status_code: int) -> Tuple[bool, str]: # Request failed with 404 because CloseOperation returns 404 if you repeat the request. if ( - status_code == 404 - and self.command_type == CommandType.CLOSE_OPERATION - and len(self.history) > 0 + status_code == 404 + and self.command_type == CommandType.CLOSE_OPERATION + and len(self.history) > 0 ): raise CursorAlreadyClosedError( "CloseOperation received 404 code from Databricks. Cursor is already closed." @@ -389,9 +389,9 @@ def should_retry(self, method: str, status_code: int) -> Tuple[bool, str]: # Request failed, was an ExecuteStatement and the command may have reached the server if ( - self.command_type == CommandType.EXECUTE_STATEMENT - and status_code not in self.status_forcelist - and status_code not in self.force_dangerous_codes + self.command_type == CommandType.EXECUTE_STATEMENT + and status_code not in self.status_forcelist + and status_code not in self.force_dangerous_codes ): raise UnsafeToRetryError( "ExecuteStatement command can only be retried for codes 429 and 503" @@ -402,8 +402,8 @@ def should_retry(self, method: str, status_code: int) -> Tuple[bool, str]: # retry automatically. This code is included only so that we can log the exact reason for the retry. # This gives users signal that their _retry_dangerous_codes setting actually did something. if ( - self.command_type == CommandType.EXECUTE_STATEMENT - and status_code in self.force_dangerous_codes + self.command_type == CommandType.EXECUTE_STATEMENT + and status_code in self.force_dangerous_codes ): return ( True, @@ -420,7 +420,7 @@ def should_retry(self, method: str, status_code: int) -> Tuple[bool, str]: ) def is_retry( - self, method: str, status_code: int, has_retry_after: bool = False + self, method: str, status_code: int, has_retry_after: bool = False ) -> bool: """ Called by urllib3 when determining whether or not to retry @@ -433,4 +433,4 @@ def is_retry( if should_retry: logger.debug(msg) - return should_retry \ No newline at end of file + return should_retry From 84152304d111bbc4f6d07d3b05ba5f6785a2c65b Mon Sep 17 00:00:00 2001 From: Jothi Prakash Date: Wed, 18 Sep 2024 11:28:16 +0530 Subject: [PATCH 36/53] Check --- .../databricks/sql/auth/thrift_http_client.py | 27 +++++++++---------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/databricks_sql_connector_core/src/databricks/sql/auth/thrift_http_client.py b/databricks_sql_connector_core/src/databricks/sql/auth/thrift_http_client.py index 655c0752..f32447d8 100644 --- a/databricks_sql_connector_core/src/databricks/sql/auth/thrift_http_client.py +++ b/databricks_sql_connector_core/src/databricks/sql/auth/thrift_http_client.py @@ -15,25 +15,22 @@ from urllib3 import HTTPConnectionPool, HTTPSConnectionPool, ProxyManager from urllib3.util import make_headers -from databricks.sql.auth.retry import ( - CommandType, - DatabricksRetryPolicy, -) +from databricks.sql.auth.retry import CommandType, DatabricksRetryPolicy class THttpClient(thrift.transport.THttpClient.THttpClient): def __init__( - self, - auth_provider, - uri_or_host, - port=None, - path=None, - cafile=None, - cert_file=None, - key_file=None, - ssl_context=None, - max_connections: int = 1, - retry_policy: Union[DatabricksRetryPolicy, int] = 0, + self, + auth_provider, + uri_or_host, + port=None, + path=None, + cafile=None, + cert_file=None, + key_file=None, + ssl_context=None, + max_connections: int = 1, + retry_policy: Union[DatabricksRetryPolicy, int] = 0, ): if port is not None: warnings.warn( From 15df683792628666bb26e7f237158b2d2a54b8be Mon Sep 17 00:00:00 2001 From: Jothi Prakash Date: Wed, 18 Sep 2024 11:29:12 +0530 Subject: [PATCH 37/53] Check --- .../databricks/sql/auth/thrift_http_client.py | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/databricks_sql_connector_core/src/databricks/sql/auth/thrift_http_client.py b/databricks_sql_connector_core/src/databricks/sql/auth/thrift_http_client.py index f32447d8..f7c22a1e 100644 --- a/databricks_sql_connector_core/src/databricks/sql/auth/thrift_http_client.py +++ b/databricks_sql_connector_core/src/databricks/sql/auth/thrift_http_client.py @@ -20,17 +20,17 @@ class THttpClient(thrift.transport.THttpClient.THttpClient): def __init__( - self, - auth_provider, - uri_or_host, - port=None, - path=None, - cafile=None, - cert_file=None, - key_file=None, - ssl_context=None, - max_connections: int = 1, - retry_policy: Union[DatabricksRetryPolicy, int] = 0, + self, + auth_provider, + uri_or_host, + port=None, + path=None, + cafile=None, + cert_file=None, + key_file=None, + ssl_context=None, + max_connections: int = 1, + retry_policy: Union[DatabricksRetryPolicy, int] = 0, ): if port is not None: warnings.warn( From b4c3029b9e325d2b6a3a3ea375ecec4300492f39 Mon Sep 17 00:00:00 2001 From: Jothi Prakash Date: Wed, 18 Sep 2024 11:30:53 +0530 Subject: [PATCH 38/53] Check --- .../sql/cloudfetch/download_manager.py | 20 +++++++++---------- .../databricks/sql/cloudfetch/downloader.py | 16 +++++++-------- 2 files changed, 16 insertions(+), 20 deletions(-) diff --git a/databricks_sql_connector_core/src/databricks/sql/cloudfetch/download_manager.py b/databricks_sql_connector_core/src/databricks/sql/cloudfetch/download_manager.py index 22787dc0..97b0d60f 100644 --- a/databricks_sql_connector_core/src/databricks/sql/cloudfetch/download_manager.py +++ b/databricks_sql_connector_core/src/databricks/sql/cloudfetch/download_manager.py @@ -9,20 +9,18 @@ DownloadableResultSettings, DownloadedFile, ) -from databricks.sql.thrift_api.TCLIService.ttypes import ( - TSparkArrowResultLink, -) +from databricks.sql.thrift_api.TCLIService.ttypes import TSparkArrowResultLink logger = logging.getLogger(__name__) class ResultFileDownloadManager: def __init__( - self, - links: List[TSparkArrowResultLink], - max_download_threads: int, - lz4_compressed: bool, - ssl_context: SSLContext, + self, + links: List[TSparkArrowResultLink], + max_download_threads: int, + lz4_compressed: bool, + ssl_context: SSLContext, ): self._pending_links: List[TSparkArrowResultLink] = [] for link in links: @@ -43,7 +41,7 @@ def __init__( self._ssl_context = ssl_context def get_next_downloaded_file( - self, next_row_offset: int + self, next_row_offset: int ) -> Union[DownloadedFile, None]: """ Get next file that starts at given offset. @@ -72,7 +70,7 @@ def get_next_downloaded_file( # will throw the same exception file = task.result() if (next_row_offset < file.start_row_offset) or ( - next_row_offset > file.start_row_offset + file.row_count + next_row_offset > file.start_row_offset + file.row_count ): logger.debug( "ResultFileDownloadManager: file does not contain row {}, start {}, row count {}".format( @@ -88,7 +86,7 @@ def _schedule_downloads(self): """ logger.debug("ResultFileDownloadManager: schedule downloads") while (len(self._download_tasks) < self._max_download_threads) and ( - len(self._pending_links) > 0 + len(self._pending_links) > 0 ): link = self._pending_links.pop(0) logger.debug( diff --git a/databricks_sql_connector_core/src/databricks/sql/cloudfetch/downloader.py b/databricks_sql_connector_core/src/databricks/sql/cloudfetch/downloader.py index af57ef2b..4672c724 100644 --- a/databricks_sql_connector_core/src/databricks/sql/cloudfetch/downloader.py +++ b/databricks_sql_connector_core/src/databricks/sql/cloudfetch/downloader.py @@ -7,9 +7,7 @@ import lz4.frame import time -from databricks.sql.thrift_api.TCLIService.ttypes import ( - TSparkArrowResultLink, -) +from databricks.sql.thrift_api.TCLIService.ttypes import TSparkArrowResultLink from databricks.sql.exc import Error @@ -65,10 +63,10 @@ class DownloadableResultSettings: class ResultSetDownloadHandler: def __init__( - self, - settings: DownloadableResultSettings, - link: TSparkArrowResultLink, - ssl_context: SSLContext, + self, + settings: DownloadableResultSettings, + link: TSparkArrowResultLink, + ssl_context: SSLContext, ): self.settings = settings self.link = link @@ -149,8 +147,8 @@ def _validate_link(link: TSparkArrowResultLink, expiry_buffer_secs: int): """ current_time = int(time.time()) if ( - link.expiryTime <= current_time - or link.expiryTime - current_time <= expiry_buffer_secs + link.expiryTime <= current_time + or link.expiryTime - current_time <= expiry_buffer_secs ): raise Error("CloudFetch link has expired") From bc758d896cff48920b6714d08c0acb1644857157 Mon Sep 17 00:00:00 2001 From: Jothi Prakash Date: Wed, 18 Sep 2024 11:31:02 +0530 Subject: [PATCH 39/53] Check --- .../sql/cloudfetch/download_manager.py | 16 ++++++++-------- .../src/databricks/sql/cloudfetch/downloader.py | 12 ++++++------ 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/databricks_sql_connector_core/src/databricks/sql/cloudfetch/download_manager.py b/databricks_sql_connector_core/src/databricks/sql/cloudfetch/download_manager.py index 97b0d60f..e30adcd6 100644 --- a/databricks_sql_connector_core/src/databricks/sql/cloudfetch/download_manager.py +++ b/databricks_sql_connector_core/src/databricks/sql/cloudfetch/download_manager.py @@ -16,11 +16,11 @@ class ResultFileDownloadManager: def __init__( - self, - links: List[TSparkArrowResultLink], - max_download_threads: int, - lz4_compressed: bool, - ssl_context: SSLContext, + self, + links: List[TSparkArrowResultLink], + max_download_threads: int, + lz4_compressed: bool, + ssl_context: SSLContext, ): self._pending_links: List[TSparkArrowResultLink] = [] for link in links: @@ -41,7 +41,7 @@ def __init__( self._ssl_context = ssl_context def get_next_downloaded_file( - self, next_row_offset: int + self, next_row_offset: int ) -> Union[DownloadedFile, None]: """ Get next file that starts at given offset. @@ -70,7 +70,7 @@ def get_next_downloaded_file( # will throw the same exception file = task.result() if (next_row_offset < file.start_row_offset) or ( - next_row_offset > file.start_row_offset + file.row_count + next_row_offset > file.start_row_offset + file.row_count ): logger.debug( "ResultFileDownloadManager: file does not contain row {}, start {}, row count {}".format( @@ -86,7 +86,7 @@ def _schedule_downloads(self): """ logger.debug("ResultFileDownloadManager: schedule downloads") while (len(self._download_tasks) < self._max_download_threads) and ( - len(self._pending_links) > 0 + len(self._pending_links) > 0 ): link = self._pending_links.pop(0) logger.debug( diff --git a/databricks_sql_connector_core/src/databricks/sql/cloudfetch/downloader.py b/databricks_sql_connector_core/src/databricks/sql/cloudfetch/downloader.py index 4672c724..00ffecd0 100644 --- a/databricks_sql_connector_core/src/databricks/sql/cloudfetch/downloader.py +++ b/databricks_sql_connector_core/src/databricks/sql/cloudfetch/downloader.py @@ -63,10 +63,10 @@ class DownloadableResultSettings: class ResultSetDownloadHandler: def __init__( - self, - settings: DownloadableResultSettings, - link: TSparkArrowResultLink, - ssl_context: SSLContext, + self, + settings: DownloadableResultSettings, + link: TSparkArrowResultLink, + ssl_context: SSLContext, ): self.settings = settings self.link = link @@ -147,8 +147,8 @@ def _validate_link(link: TSparkArrowResultLink, expiry_buffer_secs: int): """ current_time = int(time.time()) if ( - link.expiryTime <= current_time - or link.expiryTime - current_time <= expiry_buffer_secs + link.expiryTime <= current_time + or link.expiryTime - current_time <= expiry_buffer_secs ): raise Error("CloudFetch link has expired") From 31da868005b8fb0dae9cb2eccfb6f4783032ec1d Mon Sep 17 00:00:00 2001 From: Jothi Prakash Date: Wed, 18 Sep 2024 13:21:55 +0530 Subject: [PATCH 40/53] Check --- .../tests/e2e/common/core_tests.py | 31 +++++-------------- 1 file changed, 8 insertions(+), 23 deletions(-) diff --git a/databricks_sql_connector_core/tests/e2e/common/core_tests.py b/databricks_sql_connector_core/tests/e2e/common/core_tests.py index 3f0fdc05..e89289ef 100644 --- a/databricks_sql_connector_core/tests/e2e/common/core_tests.py +++ b/databricks_sql_connector_core/tests/e2e/common/core_tests.py @@ -4,18 +4,15 @@ TypeFailure = namedtuple( "TypeFailure", - "query,columnType,resultType,resultValue," - "actualValue,actualType,description,conf", + "query,columnType,resultType,resultValue," "actualValue,actualType,description,conf", ) ResultFailure = namedtuple( "ResultFailure", - "query,columnType,resultType,resultValue," - "actualValue,actualType,description,conf", + "query,columnType,resultType,resultValue," "actualValue,actualType,description,conf", ) ExecFailure = namedtuple( "ExecFailure", - "query,columnType,resultType,resultValue," - "actualValue,actualType,description,conf,error", + "query,columnType,resultType,resultValue," "actualValue,actualType,description,conf,error", ) @@ -61,9 +58,7 @@ def run_tests_on_queries(self, default_conf): for query, columnType, rowValueType, answer in self.range_queries: with self.cursor(default_conf) as cursor: failures.extend( - self.run_query( - cursor, query, columnType, rowValueType, answer, default_conf - ) + self.run_query(cursor, query, columnType, rowValueType, answer, default_conf) ) failures.extend( self.run_range_query( @@ -74,9 +69,7 @@ def run_tests_on_queries(self, default_conf): for query, columnType, rowValueType, answer in self.queries: with self.cursor(default_conf) as cursor: failures.extend( - self.run_query( - cursor, query, columnType, rowValueType, answer, default_conf - ) + self.run_query(cursor, query, columnType, rowValueType, answer, default_conf) ) if failures: @@ -91,9 +84,7 @@ def run_query(self, cursor, query, columnType, rowValueType, answer, conf): try: cursor.execute(full_query) (result,) = cursor.fetchone() - if not all( - cursor.description[0][1] == type for type in expected_column_types - ): + if not all(cursor.description[0][1] == type for type in expected_column_types): return [ TypeFailure( full_query, @@ -159,10 +150,7 @@ def run_range_query(self, cursor, query, columnType, rowValueType, expected, con if len(rows) <= 0: break for index, (result, id) in enumerate(rows): - if not all( - cursor.description[0][1] == type - for type in expected_column_types - ): + if not all(cursor.description[0][1] == type for type in expected_column_types): return [ TypeFailure( full_query, @@ -175,10 +163,7 @@ def run_range_query(self, cursor, query, columnType, rowValueType, expected, con conf, ) ] - if ( - self.validate_row_value_type - and type(result) is not rowValueType - ): + if self.validate_row_value_type and type(result) is not rowValueType: return [ TypeFailure( full_query, From f79fc69a3b33dd64950c892d92a227ab9e2fa050 Mon Sep 17 00:00:00 2001 From: Jothi Prakash Date: Wed, 18 Sep 2024 13:22:54 +0530 Subject: [PATCH 41/53] Check --- .../e2e/common/staging_ingestion_tests.py | 117 ++++++------------ 1 file changed, 36 insertions(+), 81 deletions(-) diff --git a/databricks_sql_connector_core/tests/e2e/common/staging_ingestion_tests.py b/databricks_sql_connector_core/tests/e2e/common/staging_ingestion_tests.py index 008055e3..a4c52e57 100644 --- a/databricks_sql_connector_core/tests/e2e/common/staging_ingestion_tests.py +++ b/databricks_sql_connector_core/tests/e2e/common/staging_ingestion_tests.py @@ -41,9 +41,7 @@ def test_staging_ingestion_life_cycle(self, ingestion_user): with open(fh, "wb") as fp: fp.write(original_text) - with self.connection( - extra_params={"staging_allowed_local_path": temp_path} - ) as conn: + with self.connection(extra_params={"staging_allowed_local_path": temp_path}) as conn: cursor = conn.cursor() query = f"PUT '{temp_path}' INTO 'stage://tmp/{ingestion_user}/tmp/11/15/file1.csv' OVERWRITE" @@ -53,9 +51,7 @@ def test_staging_ingestion_life_cycle(self, ingestion_user): new_fh, new_temp_path = tempfile.mkstemp() - with self.connection( - extra_params={"staging_allowed_local_path": new_temp_path} - ) as conn: + with self.connection(extra_params={"staging_allowed_local_path": new_temp_path}) as conn: cursor = conn.cursor() query = f"GET 'stage://tmp/{ingestion_user}/tmp/11/15/file1.csv' TO '{new_temp_path}'" cursor.execute(query) @@ -75,19 +71,17 @@ def test_staging_ingestion_life_cycle(self, ingestion_user): # GET after REMOVE should fail - with pytest.raises( - Error, match="Staging operation over HTTP was unsuccessful: 404" - ): + with pytest.raises(Error, match="Staging operation over HTTP was unsuccessful: 404"): cursor = conn.cursor() - query = f"GET 'stage://tmp/{ingestion_user}/tmp/11/15/file1.csv' TO '{new_temp_path}'" + query = ( + f"GET 'stage://tmp/{ingestion_user}/tmp/11/15/file1.csv' TO '{new_temp_path}'" + ) cursor.execute(query) os.remove(temp_path) os.remove(new_temp_path) - def test_staging_ingestion_put_fails_without_staging_allowed_local_path( - self, ingestion_user - ): + def test_staging_ingestion_put_fails_without_staging_allowed_local_path(self, ingestion_user): """PUT operations are not supported unless the connection was built with a parameter called staging_allowed_local_path """ @@ -99,16 +93,14 @@ def test_staging_ingestion_put_fails_without_staging_allowed_local_path( with open(fh, "wb") as fp: fp.write(original_text) - with pytest.raises( - Error, match="You must provide at least one staging_allowed_local_path" - ): + with pytest.raises(Error, match="You must provide at least one staging_allowed_local_path"): with self.connection() as conn: cursor = conn.cursor() query = f"PUT '{temp_path}' INTO 'stage://tmp/{ingestion_user}/tmp/11/15/file1.csv' OVERWRITE" cursor.execute(query) def test_staging_ingestion_put_fails_if_localFile_not_in_staging_allowed_local_path( - self, ingestion_user + self, ingestion_user ): fh, temp_path = tempfile.mkstemp() @@ -124,19 +116,15 @@ def test_staging_ingestion_put_fails_if_localFile_not_in_staging_allowed_local_p base_path = os.path.join(base_path, "temp") with pytest.raises( - Error, - match="Local file operations are restricted to paths within the configured staging_allowed_local_path", + Error, + match="Local file operations are restricted to paths within the configured staging_allowed_local_path", ): - with self.connection( - extra_params={"staging_allowed_local_path": base_path} - ) as conn: + with self.connection(extra_params={"staging_allowed_local_path": base_path}) as conn: cursor = conn.cursor() query = f"PUT '{temp_path}' INTO 'stage://tmp/{ingestion_user}/tmp/11/15/file1.csv' OVERWRITE" cursor.execute(query) - def test_staging_ingestion_put_fails_if_file_exists_and_overwrite_not_set( - self, ingestion_user - ): + def test_staging_ingestion_put_fails_if_file_exists_and_overwrite_not_set(self, ingestion_user): """PUT a file into the staging location twice. First command should succeed. Second should fail.""" fh, temp_path = tempfile.mkstemp() @@ -147,22 +135,16 @@ def test_staging_ingestion_put_fails_if_file_exists_and_overwrite_not_set( fp.write(original_text) def perform_put(): - with self.connection( - extra_params={"staging_allowed_local_path": temp_path} - ) as conn: + with self.connection(extra_params={"staging_allowed_local_path": temp_path}) as conn: cursor = conn.cursor() query = f"PUT '{temp_path}' INTO 'stage://tmp/{ingestion_user}/tmp/12/15/file1.csv'" cursor.execute(query) def perform_remove(): try: - remove_query = ( - f"REMOVE 'stage://tmp/{ingestion_user}/tmp/12/15/file1.csv'" - ) + remove_query = f"REMOVE 'stage://tmp/{ingestion_user}/tmp/12/15/file1.csv'" - with self.connection( - extra_params={"staging_allowed_local_path": "/"} - ) as conn: + with self.connection(extra_params={"staging_allowed_local_path": "/"}) as conn: cursor = conn.cursor() cursor.execute(remove_query) except Exception: @@ -176,7 +158,7 @@ def perform_remove(): # Try to put it again with pytest.raises( - sql.exc.ServerOperationError, match="FILE_IN_STAGING_PATH_ALREADY_EXISTS" + sql.exc.ServerOperationError, match="FILE_IN_STAGING_PATH_ALREADY_EXISTS" ): perform_put() @@ -196,9 +178,7 @@ def test_staging_ingestion_fails_to_modify_another_staging_user(self): fp.write(original_text) def perform_put(): - with self.connection( - extra_params={"staging_allowed_local_path": temp_path} - ) as conn: + with self.connection(extra_params={"staging_allowed_local_path": temp_path}) as conn: cursor = conn.cursor() query = f"PUT '{temp_path}' INTO 'stage://tmp/{some_other_user}/tmp/12/15/file1.csv' OVERWRITE" cursor.execute(query) @@ -206,16 +186,12 @@ def perform_put(): def perform_remove(): remove_query = f"REMOVE 'stage://tmp/{some_other_user}/tmp/12/15/file1.csv'" - with self.connection( - extra_params={"staging_allowed_local_path": "/"} - ) as conn: + with self.connection(extra_params={"staging_allowed_local_path": "/"}) as conn: cursor = conn.cursor() cursor.execute(remove_query) def perform_get(): - with self.connection( - extra_params={"staging_allowed_local_path": temp_path} - ) as conn: + with self.connection(extra_params={"staging_allowed_local_path": temp_path}) as conn: cursor = conn.cursor() query = f"GET 'stage://tmp/{some_other_user}/tmp/11/15/file1.csv' TO '{temp_path}'" cursor.execute(query) @@ -233,7 +209,7 @@ def perform_get(): perform_get() def test_staging_ingestion_put_fails_if_absolute_localFile_not_in_staging_allowed_local_path( - self, ingestion_user + self, ingestion_user ): """ This test confirms that staging_allowed_local_path and target_file are resolved into absolute paths. @@ -246,46 +222,42 @@ def test_staging_ingestion_put_fails_if_absolute_localFile_not_in_staging_allowe target_file = "/var/www/html/../html1/not_allowed.html" with pytest.raises( - Error, - match="Local file operations are restricted to paths within the configured staging_allowed_local_path", + Error, + match="Local file operations are restricted to paths within the configured staging_allowed_local_path", ): with self.connection( - extra_params={"staging_allowed_local_path": staging_allowed_local_path} + extra_params={"staging_allowed_local_path": staging_allowed_local_path} ) as conn: cursor = conn.cursor() query = f"PUT '{target_file}' INTO 'stage://tmp/{ingestion_user}/tmp/11/15/file1.csv' OVERWRITE" cursor.execute(query) - def test_staging_ingestion_empty_local_path_fails_to_parse_at_server( - self, ingestion_user - ): + def test_staging_ingestion_empty_local_path_fails_to_parse_at_server(self, ingestion_user): staging_allowed_local_path = "/var/www/html" target_file = "" with pytest.raises(Error, match="EMPTY_LOCAL_FILE_IN_STAGING_ACCESS_QUERY"): with self.connection( - extra_params={"staging_allowed_local_path": staging_allowed_local_path} + extra_params={"staging_allowed_local_path": staging_allowed_local_path} ) as conn: cursor = conn.cursor() query = f"PUT '{target_file}' INTO 'stage://tmp/{ingestion_user}/tmp/11/15/file1.csv' OVERWRITE" cursor.execute(query) - def test_staging_ingestion_invalid_staging_path_fails_at_server( - self, ingestion_user - ): + def test_staging_ingestion_invalid_staging_path_fails_at_server(self, ingestion_user): staging_allowed_local_path = "/var/www/html" target_file = "index.html" with pytest.raises(Error, match="INVALID_STAGING_PATH_IN_STAGING_ACCESS_QUERY"): with self.connection( - extra_params={"staging_allowed_local_path": staging_allowed_local_path} + extra_params={"staging_allowed_local_path": staging_allowed_local_path} ) as conn: cursor = conn.cursor() query = f"PUT '{target_file}' INTO 'stageRANDOMSTRINGOFCHARACTERS://tmp/{ingestion_user}/tmp/11/15/file1.csv' OVERWRITE" cursor.execute(query) def test_staging_ingestion_supports_multiple_staging_allowed_local_path_values( - self, ingestion_user + self, ingestion_user ): """staging_allowed_local_path may be either a path-like object or a list of path-like objects. @@ -306,32 +278,15 @@ def generate_file_and_path_and_queries(): original_text = "hello world!".encode("utf-8") fp.write(original_text) put_query = f"PUT '{temp_path}' INTO 'stage://tmp/{ingestion_user}/tmp/11/15/{id(temp_path)}.csv' OVERWRITE" - remove_query = ( - f"REMOVE 'stage://tmp/{ingestion_user}/tmp/11/15/{id(temp_path)}.csv'" - ) + remove_query = f"REMOVE 'stage://tmp/{ingestion_user}/tmp/11/15/{id(temp_path)}.csv'" return fh, temp_path, put_query, remove_query - ( - fh1, - temp_path1, - put_query1, - remove_query1, - ) = generate_file_and_path_and_queries() - ( - fh2, - temp_path2, - put_query2, - remove_query2, - ) = generate_file_and_path_and_queries() - ( - fh3, - temp_path3, - put_query3, - remove_query3, - ) = generate_file_and_path_and_queries() + fh1, temp_path1, put_query1, remove_query1 = generate_file_and_path_and_queries() + fh2, temp_path2, put_query2, remove_query2 = generate_file_and_path_and_queries() + fh3, temp_path3, put_query3, remove_query3 = generate_file_and_path_and_queries() with self.connection( - extra_params={"staging_allowed_local_path": [temp_path1, temp_path2]} + extra_params={"staging_allowed_local_path": [temp_path1, temp_path2]} ) as conn: cursor = conn.cursor() @@ -339,8 +294,8 @@ def generate_file_and_path_and_queries(): cursor.execute(put_query2) with pytest.raises( - Error, - match="Local file operations are restricted to paths within the configured staging_allowed_local_path", + Error, + match="Local file operations are restricted to paths within the configured staging_allowed_local_path", ): cursor.execute(put_query3) From d121fed3f399b18808e0e8dbd329399f6e502560 Mon Sep 17 00:00:00 2001 From: Jothi Prakash Date: Wed, 18 Sep 2024 13:26:12 +0530 Subject: [PATCH 42/53] Check --- .../e2e/common/staging_ingestion_tests.py | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/databricks_sql_connector_core/tests/e2e/common/staging_ingestion_tests.py b/databricks_sql_connector_core/tests/e2e/common/staging_ingestion_tests.py index a4c52e57..d8d0429f 100644 --- a/databricks_sql_connector_core/tests/e2e/common/staging_ingestion_tests.py +++ b/databricks_sql_connector_core/tests/e2e/common/staging_ingestion_tests.py @@ -100,7 +100,7 @@ def test_staging_ingestion_put_fails_without_staging_allowed_local_path(self, in cursor.execute(query) def test_staging_ingestion_put_fails_if_localFile_not_in_staging_allowed_local_path( - self, ingestion_user + self, ingestion_user ): fh, temp_path = tempfile.mkstemp() @@ -116,8 +116,8 @@ def test_staging_ingestion_put_fails_if_localFile_not_in_staging_allowed_local_p base_path = os.path.join(base_path, "temp") with pytest.raises( - Error, - match="Local file operations are restricted to paths within the configured staging_allowed_local_path", + Error, + match="Local file operations are restricted to paths within the configured staging_allowed_local_path", ): with self.connection(extra_params={"staging_allowed_local_path": base_path}) as conn: cursor = conn.cursor() @@ -158,7 +158,7 @@ def perform_remove(): # Try to put it again with pytest.raises( - sql.exc.ServerOperationError, match="FILE_IN_STAGING_PATH_ALREADY_EXISTS" + sql.exc.ServerOperationError, match="FILE_IN_STAGING_PATH_ALREADY_EXISTS" ): perform_put() @@ -209,7 +209,7 @@ def perform_get(): perform_get() def test_staging_ingestion_put_fails_if_absolute_localFile_not_in_staging_allowed_local_path( - self, ingestion_user + self, ingestion_user ): """ This test confirms that staging_allowed_local_path and target_file are resolved into absolute paths. @@ -222,11 +222,11 @@ def test_staging_ingestion_put_fails_if_absolute_localFile_not_in_staging_allowe target_file = "/var/www/html/../html1/not_allowed.html" with pytest.raises( - Error, - match="Local file operations are restricted to paths within the configured staging_allowed_local_path", + Error, + match="Local file operations are restricted to paths within the configured staging_allowed_local_path", ): with self.connection( - extra_params={"staging_allowed_local_path": staging_allowed_local_path} + extra_params={"staging_allowed_local_path": staging_allowed_local_path} ) as conn: cursor = conn.cursor() query = f"PUT '{target_file}' INTO 'stage://tmp/{ingestion_user}/tmp/11/15/file1.csv' OVERWRITE" @@ -238,7 +238,7 @@ def test_staging_ingestion_empty_local_path_fails_to_parse_at_server(self, inges with pytest.raises(Error, match="EMPTY_LOCAL_FILE_IN_STAGING_ACCESS_QUERY"): with self.connection( - extra_params={"staging_allowed_local_path": staging_allowed_local_path} + extra_params={"staging_allowed_local_path": staging_allowed_local_path} ) as conn: cursor = conn.cursor() query = f"PUT '{target_file}' INTO 'stage://tmp/{ingestion_user}/tmp/11/15/file1.csv' OVERWRITE" @@ -250,14 +250,14 @@ def test_staging_ingestion_invalid_staging_path_fails_at_server(self, ingestion_ with pytest.raises(Error, match="INVALID_STAGING_PATH_IN_STAGING_ACCESS_QUERY"): with self.connection( - extra_params={"staging_allowed_local_path": staging_allowed_local_path} + extra_params={"staging_allowed_local_path": staging_allowed_local_path} ) as conn: cursor = conn.cursor() query = f"PUT '{target_file}' INTO 'stageRANDOMSTRINGOFCHARACTERS://tmp/{ingestion_user}/tmp/11/15/file1.csv' OVERWRITE" cursor.execute(query) def test_staging_ingestion_supports_multiple_staging_allowed_local_path_values( - self, ingestion_user + self, ingestion_user ): """staging_allowed_local_path may be either a path-like object or a list of path-like objects. @@ -286,7 +286,7 @@ def generate_file_and_path_and_queries(): fh3, temp_path3, put_query3, remove_query3 = generate_file_and_path_and_queries() with self.connection( - extra_params={"staging_allowed_local_path": [temp_path1, temp_path2]} + extra_params={"staging_allowed_local_path": [temp_path1, temp_path2]} ) as conn: cursor = conn.cursor() @@ -294,8 +294,8 @@ def generate_file_and_path_and_queries(): cursor.execute(put_query2) with pytest.raises( - Error, - match="Local file operations are restricted to paths within the configured staging_allowed_local_path", + Error, + match="Local file operations are restricted to paths within the configured staging_allowed_local_path", ): cursor.execute(put_query3) From 6e393b0622d1bfdadb8aa4a689ca0080da56cdbf Mon Sep 17 00:00:00 2001 From: Jothi Prakash Date: Wed, 18 Sep 2024 13:33:31 +0530 Subject: [PATCH 43/53] Check --- .../tests/e2e/common/retry_test_mixins.py | 41 +++-------- .../tests/e2e/common/timestamp_tests.py | 17 +---- .../tests/e2e/common/uc_volume_tests.py | 73 +++++-------------- 3 files changed, 33 insertions(+), 98 deletions(-) diff --git a/databricks_sql_connector_core/tests/e2e/common/retry_test_mixins.py b/databricks_sql_connector_core/tests/e2e/common/retry_test_mixins.py index 7dd5f745..106a8fb5 100755 --- a/databricks_sql_connector_core/tests/e2e/common/retry_test_mixins.py +++ b/databricks_sql_connector_core/tests/e2e/common/retry_test_mixins.py @@ -59,9 +59,7 @@ def _test_retry_disabled_with_message(self, error_msg_substring, exception_type) @contextmanager -def mocked_server_response( - status: int = 200, headers: dict = {}, redirect_location: Optional[str] = None -): +def mocked_server_response(status: int = 200, headers: dict = {}, redirect_location: Optional[str] = None): """Context manager for patching urllib3 responses""" # When mocking mocking a BaseHTTPResponse for urllib3 the mock must include @@ -99,9 +97,7 @@ def mock_sequential_server_responses(responses: List[dict]): # Each resp should have these members: for resp in responses: - _mock = MagicMock( - headers=resp["headers"], msg=resp["headers"], status=resp["status"] - ) + _mock = MagicMock(headers=resp["headers"], msg=resp["headers"], status=resp["status"]) _mock.get_redirect_location.return_value = ( False if resp["redirect_location"] is None else resp["redirect_location"] ) @@ -180,9 +176,7 @@ def test_retry_exponential_backoff(self): retry_policy["_retry_delay_min"] = 1 time_start = time.time() - with mocked_server_response( - status=429, headers={"Retry-After": "3"} - ) as mock_obj: + with mocked_server_response(status=429, headers={"Retry-After": "3"}) as mock_obj: with pytest.raises(RequestError) as cm: with self.connection(extra_params=retry_policy) as conn: pass @@ -262,9 +256,7 @@ def test_retry_dangerous_codes(self): assert isinstance(cm.value.args[1], UnsafeToRetryError) # Prove that these codes are retried if forced by the user - with self.connection( - extra_params={**self._retry_policy, **additional_settings} - ) as conn: + with self.connection(extra_params={**self._retry_policy, **additional_settings}) as conn: with conn.cursor() as cursor: for dangerous_code in DANGEROUS_CODES: with mocked_server_response(status=dangerous_code): @@ -334,9 +326,7 @@ def test_retry_abort_close_operation_on_404(self, caplog): curs.execute("SELECT 1") with mock_sequential_server_responses(responses): curs.close() - assert ( - "Operation was canceled by a prior request" in caplog.text - ) + assert "Operation was canceled by a prior request" in caplog.text def test_retry_max_redirects_raises_too_many_redirects_exception(self): """GIVEN the connector is configured with a custom max_redirects @@ -347,9 +337,7 @@ def test_retry_max_redirects_raises_too_many_redirects_exception(self): max_redirects, expected_call_count = 1, 2 # Code 302 is a redirect - with mocked_server_response( - status=302, redirect_location="/foo.bar" - ) as mock_obj: + with mocked_server_response(status=302, redirect_location="/foo.bar") as mock_obj: with pytest.raises(MaxRetryError) as cm: with self.connection( extra_params={ @@ -371,9 +359,7 @@ def test_retry_max_redirects_unset_doesnt_redirect_forever(self): _stop_after_attempts_count is enforced. """ # Code 302 is a redirect - with mocked_server_response( - status=302, redirect_location="/foo.bar/" - ) as mock_obj: + with mocked_server_response(status=302, redirect_location="/foo.bar/") as mock_obj: with pytest.raises(MaxRetryError) as cm: with self.connection( extra_params={ @@ -399,9 +385,7 @@ def test_retry_max_redirects_is_bounded_by_stop_after_attempts_count(self): with pytest.raises(RequestError) as cm: with mock_sequential_server_responses(responses): - with self.connection( - extra_params={**self._retry_policy, **additional_settings} - ): + with self.connection(extra_params={**self._retry_policy, **additional_settings}): pass # The error should be the result of the 500, not because of too many requests. @@ -421,12 +405,9 @@ def test_retry_max_redirects_exceeds_max_attempts_count_warns_user(self, caplog) assert "it will have no affect!" in caplog.text def test_retry_legacy_behavior_warns_user(self, caplog): - with self.connection( - extra_params={**self._retry_policy, "_enable_v3_retries": False} - ): - assert ( - "Legacy retry behavior is enabled for this connection." in caplog.text - ) + with self.connection(extra_params={**self._retry_policy, "_enable_v3_retries": False}): + assert "Legacy retry behavior is enabled for this connection." in caplog.text + def test_403_not_retried(self): """GIVEN the server returns a code 403 diff --git a/databricks_sql_connector_core/tests/e2e/common/timestamp_tests.py b/databricks_sql_connector_core/tests/e2e/common/timestamp_tests.py index 70ded7d0..f25aed7e 100644 --- a/databricks_sql_connector_core/tests/e2e/common/timestamp_tests.py +++ b/databricks_sql_connector_core/tests/e2e/common/timestamp_tests.py @@ -15,10 +15,7 @@ class TimestampTestsMixin: ] timestamp_and_expected_results = [ - ( - "2021-09-30 11:27:35.123+04:00", - datetime.datetime(2021, 9, 30, 7, 27, 35, 123000), - ), + ("2021-09-30 11:27:35.123+04:00", datetime.datetime(2021, 9, 30, 7, 27, 35, 123000)), ("2021-09-30 11:27:35+04:00", datetime.datetime(2021, 9, 30, 7, 27, 35)), ("2021-09-30 11:27:35.123", datetime.datetime(2021, 9, 30, 11, 27, 35, 123000)), ("2021-09-30 11:27:35", datetime.datetime(2021, 9, 30, 11, 27, 35)), @@ -48,24 +45,18 @@ def assertTimestampsEqual(self, result, expected): def multi_query(self, n_rows=10): row_sql = "SELECT " + ", ".join( - [ - "TIMESTAMP('{}')".format(ts) - for (ts, _) in self.timestamp_and_expected_results - ] + ["TIMESTAMP('{}')".format(ts) for (ts, _) in self.timestamp_and_expected_results] ) query = " UNION ALL ".join([row_sql for _ in range(n_rows)]) expected_matrix = [ - [dt for (_, dt) in self.timestamp_and_expected_results] - for _ in range(n_rows) + [dt for (_, dt) in self.timestamp_and_expected_results] for _ in range(n_rows) ] return query, expected_matrix def test_timestamps(self): with self.cursor({"session_configuration": {"ansi_mode": False}}) as cursor: for timestamp, expected in self.timestamp_and_expected_results: - cursor.execute( - "SELECT TIMESTAMP('{timestamp}')".format(timestamp=timestamp) - ) + cursor.execute("SELECT TIMESTAMP('{timestamp}')".format(timestamp=timestamp)) result = cursor.fetchone()[0] self.assertTimestampsEqual(result, expected) diff --git a/databricks_sql_connector_core/tests/e2e/common/uc_volume_tests.py b/databricks_sql_connector_core/tests/e2e/common/uc_volume_tests.py index 72e2f502..21e43036 100644 --- a/databricks_sql_connector_core/tests/e2e/common/uc_volume_tests.py +++ b/databricks_sql_connector_core/tests/e2e/common/uc_volume_tests.py @@ -40,21 +40,19 @@ def test_uc_volume_life_cycle(self, catalog, schema): with open(fh, "wb") as fp: fp.write(original_text) - with self.connection( - extra_params={"staging_allowed_local_path": temp_path} - ) as conn: + with self.connection(extra_params={"staging_allowed_local_path": temp_path}) as conn: cursor = conn.cursor() - query = f"PUT '{temp_path}' INTO '/Volumes/{catalog}/{schema}/e2etests/file1.csv' OVERWRITE" + query = ( + f"PUT '{temp_path}' INTO '/Volumes/{catalog}/{schema}/e2etests/file1.csv' OVERWRITE" + ) cursor.execute(query) # GET should succeed new_fh, new_temp_path = tempfile.mkstemp() - with self.connection( - extra_params={"staging_allowed_local_path": new_temp_path} - ) as conn: + with self.connection(extra_params={"staging_allowed_local_path": new_temp_path}) as conn: cursor = conn.cursor() query = f"GET '/Volumes/{catalog}/{schema}/e2etests/file1.csv' TO '{new_temp_path}'" cursor.execute(query) @@ -74,9 +72,7 @@ def test_uc_volume_life_cycle(self, catalog, schema): # GET after REMOVE should fail - with pytest.raises( - Error, match="Staging operation over HTTP was unsuccessful: 404" - ): + with pytest.raises(Error, match="Staging operation over HTTP was unsuccessful: 404"): cursor = conn.cursor() query = f"GET '/Volumes/{catalog}/{schema}/e2etests/file1.csv' TO '{new_temp_path}'" cursor.execute(query) @@ -84,9 +80,7 @@ def test_uc_volume_life_cycle(self, catalog, schema): os.remove(temp_path) os.remove(new_temp_path) - def test_uc_volume_put_fails_without_staging_allowed_local_path( - self, catalog, schema - ): + def test_uc_volume_put_fails_without_staging_allowed_local_path(self, catalog, schema): """PUT operations are not supported unless the connection was built with a parameter called staging_allowed_local_path """ @@ -98,9 +92,7 @@ def test_uc_volume_put_fails_without_staging_allowed_local_path( with open(fh, "wb") as fp: fp.write(original_text) - with pytest.raises( - Error, match="You must provide at least one staging_allowed_local_path" - ): + with pytest.raises(Error, match="You must provide at least one staging_allowed_local_path"): with self.connection() as conn: cursor = conn.cursor() query = f"PUT '{temp_path}' INTO '/Volumes/{catalog}/{schema}/e2etests/file1.csv' OVERWRITE" @@ -126,16 +118,12 @@ def test_uc_volume_put_fails_if_localFile_not_in_staging_allowed_local_path( Error, match="Local file operations are restricted to paths within the configured staging_allowed_local_path", ): - with self.connection( - extra_params={"staging_allowed_local_path": base_path} - ) as conn: + with self.connection(extra_params={"staging_allowed_local_path": base_path}) as conn: cursor = conn.cursor() query = f"PUT '{temp_path}' INTO '/Volumes/{catalog}/{schema}/e2etests/file1.csv' OVERWRITE" cursor.execute(query) - def test_uc_volume_put_fails_if_file_exists_and_overwrite_not_set( - self, catalog, schema - ): + def test_uc_volume_put_fails_if_file_exists_and_overwrite_not_set(self, catalog, schema): """PUT a file into the staging location twice. First command should succeed. Second should fail.""" fh, temp_path = tempfile.mkstemp() @@ -146,22 +134,16 @@ def test_uc_volume_put_fails_if_file_exists_and_overwrite_not_set( fp.write(original_text) def perform_put(): - with self.connection( - extra_params={"staging_allowed_local_path": temp_path} - ) as conn: + with self.connection(extra_params={"staging_allowed_local_path": temp_path}) as conn: cursor = conn.cursor() query = f"PUT '{temp_path}' INTO '/Volumes/{catalog}/{schema}/e2etests/file1.csv'" cursor.execute(query) def perform_remove(): try: - remove_query = ( - f"REMOVE '/Volumes/{catalog}/{schema}/e2etests/file1.csv'" - ) + remove_query = f"REMOVE '/Volumes/{catalog}/{schema}/e2etests/file1.csv'" - with self.connection( - extra_params={"staging_allowed_local_path": "/"} - ) as conn: + with self.connection(extra_params={"staging_allowed_local_path": "/"}) as conn: cursor = conn.cursor() cursor.execute(remove_query) except Exception: @@ -230,9 +212,7 @@ def test_uc_volume_invalid_volume_path_fails_at_server(self, catalog, schema): query = f"PUT '{target_file}' INTO '/Volumes/RANDOMSTRINGOFCHARACTERS/{catalog}/{schema}/e2etests/file1.csv' OVERWRITE" cursor.execute(query) - def test_uc_volume_supports_multiple_staging_allowed_local_path_values( - self, catalog, schema - ): + def test_uc_volume_supports_multiple_staging_allowed_local_path_values(self, catalog, schema): """staging_allowed_local_path may be either a path-like object or a list of path-like objects. This test confirms that two configured base paths: @@ -252,29 +232,12 @@ def generate_file_and_path_and_queries(): original_text = "hello world!".encode("utf-8") fp.write(original_text) put_query = f"PUT '{temp_path}' INTO '/Volumes/{catalog}/{schema}/e2etests/{id(temp_path)}.csv' OVERWRITE" - remove_query = ( - f"REMOVE '/Volumes/{catalog}/{schema}/e2etests/{id(temp_path)}.csv'" - ) + remove_query = f"REMOVE '/Volumes/{catalog}/{schema}/e2etests/{id(temp_path)}.csv'" return fh, temp_path, put_query, remove_query - ( - fh1, - temp_path1, - put_query1, - remove_query1, - ) = generate_file_and_path_and_queries() - ( - fh2, - temp_path2, - put_query2, - remove_query2, - ) = generate_file_and_path_and_queries() - ( - fh3, - temp_path3, - put_query3, - remove_query3, - ) = generate_file_and_path_and_queries() + fh1, temp_path1, put_query1, remove_query1 = generate_file_and_path_and_queries() + fh2, temp_path2, put_query2, remove_query2 = generate_file_and_path_and_queries() + fh3, temp_path3, put_query3, remove_query3 = generate_file_and_path_and_queries() with self.connection( extra_params={"staging_allowed_local_path": [temp_path1, temp_path2]} From 2383caf63cd8a7088ce1435176a6330ab84eb0bc Mon Sep 17 00:00:00 2001 From: Jothi Prakash Date: Wed, 18 Sep 2024 13:35:18 +0530 Subject: [PATCH 44/53] Check --- .../tests/e2e/common/predicates.py | 32 ++++++++----------- 1 file changed, 14 insertions(+), 18 deletions(-) diff --git a/databricks_sql_connector_core/tests/e2e/common/predicates.py b/databricks_sql_connector_core/tests/e2e/common/predicates.py index c43d6fee..e4fa3a04 100644 --- a/databricks_sql_connector_core/tests/e2e/common/predicates.py +++ b/databricks_sql_connector_core/tests/e2e/common/predicates.py @@ -29,7 +29,6 @@ def test_some_pyhive_v1_stuff(): ... """ from databricks import sql - return compare_module_version(sql, compare, version) @@ -43,7 +42,7 @@ def is_endpoint_test(cli_args=None): def compare_dbr_versions(cli_args, compare, major_version, minor_version): if MAJOR_DBR_V_KEY in cli_args and MINOR_DBR_V_KEY in cli_args: if cli_args[MINOR_DBR_V_KEY] == "x": - actual_minor_v = float("inf") + actual_minor_v = float('inf') else: actual_minor_v = int(cli_args[MINOR_DBR_V_KEY]) dbr_version = (int(cli_args[MAJOR_DBR_V_KEY]), actual_minor_v) @@ -52,10 +51,8 @@ def compare_dbr_versions(cli_args, compare, major_version, minor_version): if not is_endpoint_test(): raise ValueError( - "DBR version not provided for non-endpoint test. Please pass the {} and {} params".format( - MAJOR_DBR_V_KEY, MINOR_DBR_V_KEY - ) - ) + "DBR version not provided for non-endpoint test. Please pass the {} and {} params". + format(MAJOR_DBR_V_KEY, MINOR_DBR_V_KEY)) def is_thrift_v5_plus(cli_args): @@ -63,18 +60,18 @@ def is_thrift_v5_plus(cli_args): _compare_fns = { - "<": "__lt__", - "<=": "__le__", - ">": "__gt__", - ">=": "__ge__", - "==": "__eq__", - "!=": "__ne__", + '<': '__lt__', + '<=': '__le__', + '>': '__gt__', + '>=': '__ge__', + '==': '__eq__', + '!=': '__ne__', } def compare_versions(compare, v1_tuple, v2_tuple): compare_fn_name = _compare_fns.get(compare) - assert compare_fn_name, "Received invalid compare string: " + compare + assert compare_fn_name, 'Received invalid compare string: ' + compare return getattr(v1_tuple, compare_fn_name)(v2_tuple) @@ -94,17 +91,16 @@ def test_some_pyhive_v1_stuff(): NOTE: This comparison leverages packaging.version.parse, and compares _release_ versions, thus ignoring pre/post release tags (eg -rc1, -dev, etc). """ - assert module, "Received invalid module: " + module - assert getattr(module, "__version__"), "Received module with no version: " + module + assert module, 'Received invalid module: ' + module + assert getattr(module, '__version__'), 'Received module with no version: ' + module def validate_version(version): v = parse_version(str(version)) # assert that we get a PEP-440 Version back -- LegacyVersion doesn't have major/minor. - assert hasattr(v, "major"), ( - 'Module has incompatible "Legacy" version: ' + version - ) + assert hasattr(v, 'major'), 'Module has incompatible "Legacy" version: ' + version return (v.major, v.minor, v.micro) mod_version = validate_version(module.__version__) req_version = validate_version(version) return compare_versions(compare, mod_version, req_version) + From dd4c4875d0528e6fb89d0a74655ca5e9c6684e9a Mon Sep 17 00:00:00 2001 From: Jothi Prakash Date: Wed, 18 Sep 2024 13:39:10 +0530 Subject: [PATCH 45/53] Check --- .../tests/unit/test_auth.py | 38 +- .../tests/unit/test_init_file.py | 646 +++++++++++++++++- 2 files changed, 649 insertions(+), 35 deletions(-) diff --git a/databricks_sql_connector_core/tests/unit/test_auth.py b/databricks_sql_connector_core/tests/unit/test_auth.py index 014a3ab2..d6541525 100644 --- a/databricks_sql_connector_core/tests/unit/test_auth.py +++ b/databricks_sql_connector_core/tests/unit/test_auth.py @@ -9,26 +9,16 @@ ExternalAuthProvider, AuthType, ) -from databricks.sql.auth.auth import ( - get_python_sql_connector_auth_provider, - PYSQL_OAUTH_CLIENT_ID, -) +from databricks.sql.auth.auth import get_python_sql_connector_auth_provider, PYSQL_OAUTH_CLIENT_ID from databricks.sql.auth.oauth import OAuthManager -from databricks.sql.auth.authenticators import ( - DatabricksOAuthProvider, -) +from databricks.sql.auth.authenticators import DatabricksOAuthProvider from databricks.sql.auth.endpoint import ( CloudType, InHouseOAuthEndpointCollection, AzureOAuthEndpointCollection, ) -from databricks.sql.auth.authenticators import ( - CredentialsProvider, - HeaderFactory, -) -from databricks.sql.experimental.oauth_persistence import ( - OAuthPersistenceCache, -) +from databricks.sql.auth.authenticators import CredentialsProvider, HeaderFactory +from databricks.sql.experimental.oauth_persistence import OAuthPersistenceCache class Auth(unittest.TestCase): @@ -107,11 +97,9 @@ def test_oauth_auth_provider(self, mock_get_tokens, mock_check_and_refresh): redirect_port_range=[8020], client_id=client_id, scopes=scopes, - auth_type=( - AuthType.AZURE_OAUTH.value - if use_azure_auth - else AuthType.DATABRICKS_OAUTH.value - ), + auth_type=AuthType.AZURE_OAUTH.value + if use_azure_auth + else AuthType.DATABRICKS_OAUTH.value, ) self.assertIsInstance( @@ -189,6 +177,12 @@ def test_get_python_sql_connector_basic_auth(self): } with self.assertRaises(ValueError) as e: get_python_sql_connector_auth_provider("foo.cloud.databricks.com", **kwargs) - self.assertIn( - "Username/password authentication is no longer supported", str(e.exception) - ) + self.assertIn("Username/password authentication is no longer supported", str(e.exception)) + + @patch.object(DatabricksOAuthProvider, "_initial_get_token") + def test_get_python_sql_connector_default_auth(self, mock__initial_get_token): + hostname = "foo.cloud.databricks.com" + auth_provider = get_python_sql_connector_auth_provider(hostname) + self.assertTrue(type(auth_provider).__name__, "DatabricksOAuthProvider") + self.assertTrue(auth_provider._client_id,PYSQL_OAUTH_CLIENT_ID) + diff --git a/databricks_sql_connector_core/tests/unit/test_init_file.py b/databricks_sql_connector_core/tests/unit/test_init_file.py index 44311a0c..d988581c 100644 --- a/databricks_sql_connector_core/tests/unit/test_init_file.py +++ b/databricks_sql_connector_core/tests/unit/test_init_file.py @@ -1,19 +1,639 @@ -import hashlib +import gc +import re +import sys +import unittest +from unittest.mock import patch, MagicMock, Mock, PropertyMock +import itertools +from decimal import Decimal +from datetime import datetime, date +from uuid import UUID +from databricks.sql.thrift_api.TCLIService.ttypes import ( + TOpenSessionResp, + TExecuteStatementResp, + TOperationHandle, + THandleIdentifier, + TOperationType +) +from databricks.sql.thrift_backend import ThriftBackend -class TestInitFile: - """ - Micro test to confirm the contents of `databricks/__init__.py` does not change. +import databricks.sql +import databricks.sql.client as client +from databricks.sql import InterfaceError, DatabaseError, Error, NotSupportedError +from databricks.sql.types import Row + +from tests.unit.test_fetches import FetchTests +from tests.unit.test_thrift_backend import ThriftBackendTestSuite +from tests.unit.test_arrow_queue import ArrowQueueSuite + +class ThriftBackendMockFactory: + + @classmethod + def new(cls): + ThriftBackendMock = Mock(spec=ThriftBackend) + ThriftBackendMock.return_value = ThriftBackendMock + + cls.apply_property_to_mock(ThriftBackendMock, staging_allowed_local_path=None) + MockTExecuteStatementResp = MagicMock(spec=TExecuteStatementResp()) + + cls.apply_property_to_mock( + MockTExecuteStatementResp, + description=None, + arrow_queue=None, + is_staging_operation=False, + command_handle=b"\x22", + has_been_closed_server_side=True, + has_more_rows=True, + lz4_compressed=True, + arrow_schema_bytes=b"schema", + ) + + ThriftBackendMock.execute_command.return_value = MockTExecuteStatementResp + + return ThriftBackendMock + + @classmethod + def apply_property_to_mock(self, mock_obj, **kwargs): + """ + Apply a property to a mock object. + """ - Also see https://github.com/databricks/databricks-sdk-py/issues/343#issuecomment-1866029118. + for key, value in kwargs.items(): + if value is not None: + kwargs = {"return_value": value} + else: + kwargs = {} + + prop = PropertyMock(**kwargs) + setattr(type(mock_obj), key, prop) + + + + + + +class ClientTestSuite(unittest.TestCase): + """ + Unit tests for isolated client behaviour. """ - def test_init_file_contents(self): - with open("databricks_sql_connector_core/src/databricks/__init__.py") as f: - init_file_contents = f.read() + PACKAGE_NAME = "databricks.sql" + DUMMY_CONNECTION_ARGS = { + "server_hostname": "foo", + "http_path": "dummy_path", + "access_token": "tok", + } + + @patch("%s.client.ThriftBackend" % PACKAGE_NAME) + def test_close_uses_the_correct_session_id(self, mock_client_class): + instance = mock_client_class.return_value + + mock_open_session_resp = MagicMock(spec=TOpenSessionResp)() + mock_open_session_resp.sessionHandle.sessionId = b'\x22' + instance.open_session.return_value = mock_open_session_resp + + connection = databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS) + connection.close() + + # Check the close session request has an id of x22 + close_session_id = instance.close_session.call_args[0][0].sessionId + self.assertEqual(close_session_id, b'\x22') + + @patch("%s.client.ThriftBackend" % PACKAGE_NAME) + def test_auth_args(self, mock_client_class): + # Test that the following auth args work: + # token = foo, + # token = None, _tls_client_cert_file = something, _use_cert_as_auth = True + connection_args = [ + { + "server_hostname": "foo", + "http_path": None, + "access_token": "tok", + }, + { + "server_hostname": "foo", + "http_path": None, + "_tls_client_cert_file": "something", + "_use_cert_as_auth": True, + "access_token": None, + }, + ] + + for args in connection_args: + connection = databricks.sql.connect(**args) + host, port, http_path, *_ = mock_client_class.call_args[0] + self.assertEqual(args["server_hostname"], host) + self.assertEqual(args["http_path"], http_path) + connection.close() + + @patch("%s.client.ThriftBackend" % PACKAGE_NAME) + def test_http_header_passthrough(self, mock_client_class): + http_headers = [("foo", "bar")] + databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS, http_headers=http_headers) + + call_args = mock_client_class.call_args[0][3] + self.assertIn(("foo", "bar"), call_args) + + @patch("%s.client.ThriftBackend" % PACKAGE_NAME) + def test_tls_arg_passthrough(self, mock_client_class): + databricks.sql.connect( + **self.DUMMY_CONNECTION_ARGS, + _tls_verify_hostname="hostname", + _tls_trusted_ca_file="trusted ca file", + _tls_client_cert_key_file="trusted client cert", + _tls_client_cert_key_password="key password", + ) + + kwargs = mock_client_class.call_args[1] + self.assertEqual(kwargs["_tls_verify_hostname"], "hostname") + self.assertEqual(kwargs["_tls_trusted_ca_file"], "trusted ca file") + self.assertEqual(kwargs["_tls_client_cert_key_file"], "trusted client cert") + self.assertEqual(kwargs["_tls_client_cert_key_password"], "key password") + + @patch("%s.client.ThriftBackend" % PACKAGE_NAME) + def test_useragent_header(self, mock_client_class): + databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS) + + http_headers = mock_client_class.call_args[0][3] + user_agent_header = ("User-Agent", "{}/{}".format(databricks.sql.USER_AGENT_NAME, + databricks.sql.__version__)) + self.assertIn(user_agent_header, http_headers) + + databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS, _user_agent_entry="foobar") + user_agent_header_with_entry = ("User-Agent", "{}/{} ({})".format( + databricks.sql.USER_AGENT_NAME, databricks.sql.__version__, "foobar")) + http_headers = mock_client_class.call_args[0][3] + self.assertIn(user_agent_header_with_entry, http_headers) + + @patch("%s.client.ThriftBackend" % PACKAGE_NAME, ThriftBackendMockFactory.new()) + @patch("%s.client.ResultSet" % PACKAGE_NAME) + def test_closing_connection_closes_commands(self, mock_result_set_class): + # Test once with has_been_closed_server side, once without + for closed in (True, False): + with self.subTest(closed=closed): + mock_result_set_class.return_value = Mock() + connection = databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS) + cursor = connection.cursor() + cursor.execute("SELECT 1;") + connection.close() + + self.assertTrue(mock_result_set_class.return_value.has_been_closed_server_side) + mock_result_set_class.return_value.close.assert_called_once_with() + + @patch("%s.client.ThriftBackend" % PACKAGE_NAME) + def test_cant_open_cursor_on_closed_connection(self, mock_client_class): + connection = databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS) + self.assertTrue(connection.open) + connection.close() + self.assertFalse(connection.open) + with self.assertRaises(Error) as cm: + connection.cursor() + self.assertIn("closed", str(cm.exception)) + + @patch("%s.client.ThriftBackend" % PACKAGE_NAME) + @patch("%s.client.Cursor" % PACKAGE_NAME) + def test_arraysize_buffer_size_passthrough(self, mock_cursor_class, mock_client_class): + connection = databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS) + connection.cursor(arraysize=999, buffer_size_bytes=1234) + kwargs = mock_cursor_class.call_args[1] + + self.assertEqual(kwargs["arraysize"], 999) + self.assertEqual(kwargs["result_buffer_size_bytes"], 1234) + + def test_closing_result_set_with_closed_connection_soft_closes_commands(self): + mock_connection = Mock() + mock_backend = Mock() + result_set = client.ResultSet( + connection=mock_connection, thrift_backend=mock_backend, execute_response=Mock()) + mock_connection.open = False + + result_set.close() + + self.assertFalse(mock_backend.close_command.called) + self.assertTrue(result_set.has_been_closed_server_side) + + def test_closing_result_set_hard_closes_commands(self): + mock_results_response = Mock() + mock_results_response.has_been_closed_server_side = False + mock_connection = Mock() + mock_thrift_backend = Mock() + mock_connection.open = True + result_set = client.ResultSet(mock_connection, mock_results_response, mock_thrift_backend) + + result_set.close() + + mock_thrift_backend.close_command.assert_called_once_with( + mock_results_response.command_handle) + + @patch("%s.client.ResultSet" % PACKAGE_NAME) + def test_executing_multiple_commands_uses_the_most_recent_command(self, mock_result_set_class): + + mock_result_sets = [Mock(), Mock()] + mock_result_set_class.side_effect = mock_result_sets + + cursor = client.Cursor(connection=Mock(), thrift_backend=ThriftBackendMockFactory.new()) + cursor.execute("SELECT 1;") + cursor.execute("SELECT 1;") + + mock_result_sets[0].close.assert_called_once_with() + mock_result_sets[1].close.assert_not_called() + + cursor.fetchall() + + mock_result_sets[0].fetchall.assert_not_called() + mock_result_sets[1].fetchall.assert_called_once_with() + + def test_closed_cursor_doesnt_allow_operations(self): + cursor = client.Cursor(Mock(), Mock()) + cursor.close() + + with self.assertRaises(Error) as e: + cursor.execute("SELECT 1;") + self.assertIn("closed", e.msg) + + with self.assertRaises(Error) as e: + cursor.fetchall() + self.assertIn("closed", e.msg) + + def test_negative_fetch_throws_exception(self): + result_set = client.ResultSet(Mock(), Mock(), Mock()) + + with self.assertRaises(ValueError) as e: + result_set.fetchmany(-1) + + def test_context_manager_closes_cursor(self): + mock_close = Mock() + with client.Cursor(Mock(), Mock()) as cursor: + cursor.close = mock_close + mock_close.assert_called_once_with() + + @patch("%s.client.ThriftBackend" % PACKAGE_NAME) + def test_context_manager_closes_connection(self, mock_client_class): + instance = mock_client_class.return_value + + mock_open_session_resp = MagicMock(spec=TOpenSessionResp)() + mock_open_session_resp.sessionHandle.sessionId = b'\x22' + instance.open_session.return_value = mock_open_session_resp + + with databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS) as connection: + pass + + # Check the close session request has an id of x22 + close_session_id = instance.close_session.call_args[0][0].sessionId + self.assertEqual(close_session_id, b'\x22') + + def dict_product(self, dicts): + """ + Generate cartesion product of values in input dictionary, outputting a dictionary + for each combination. + >>> list(dict_product(dict(number=[1,2], character='ab'))) + [{'character': 'a', 'number': 1}, + {'character': 'a', 'number': 2}, + {'character': 'b', 'number': 1}, + {'character': 'b', 'number': 2}] + """ + return (dict(zip(dicts.keys(), x)) for x in itertools.product(*dicts.values())) + + @patch("%s.client.ThriftBackend" % PACKAGE_NAME) + def test_get_schemas_parameters_passed_to_thrift_backend(self, mock_thrift_backend): + req_args_combinations = self.dict_product( + dict( + catalog_name=["NOT_SET", None, "catalog_pattern"], + schema_name=["NOT_SET", None, "schema_pattern"])) + + for req_args in req_args_combinations: + req_args = {k: v for k, v in req_args.items() if v != "NOT_SET"} + with self.subTest(req_args=req_args): + mock_thrift_backend = Mock() + + cursor = client.Cursor(Mock(), mock_thrift_backend) + cursor.schemas(**req_args) + + call_args = mock_thrift_backend.get_schemas.call_args[1] + for k, v in req_args.items(): + self.assertEqual(v, call_args[k]) + + @patch("%s.client.ThriftBackend" % PACKAGE_NAME) + def test_get_tables_parameters_passed_to_thrift_backend(self, mock_thrift_backend): + req_args_combinations = self.dict_product( + dict( + catalog_name=["NOT_SET", None, "catalog_pattern"], + schema_name=["NOT_SET", None, "schema_pattern"], + table_name=["NOT_SET", None, "table_pattern"], + table_types=["NOT_SET", [], ["type1", "type2"]])) + + for req_args in req_args_combinations: + req_args = {k: v for k, v in req_args.items() if v != "NOT_SET"} + with self.subTest(req_args=req_args): + mock_thrift_backend = Mock() + + cursor = client.Cursor(Mock(), mock_thrift_backend) + cursor.tables(**req_args) + + call_args = mock_thrift_backend.get_tables.call_args[1] + for k, v in req_args.items(): + self.assertEqual(v, call_args[k]) + + @patch("%s.client.ThriftBackend" % PACKAGE_NAME) + def test_get_columns_parameters_passed_to_thrift_backend(self, mock_thrift_backend): + req_args_combinations = self.dict_product( + dict( + catalog_name=["NOT_SET", None, "catalog_pattern"], + schema_name=["NOT_SET", None, "schema_pattern"], + table_name=["NOT_SET", None, "table_pattern"], + column_name=["NOT_SET", None, "column_pattern"])) + + for req_args in req_args_combinations: + req_args = {k: v for k, v in req_args.items() if v != "NOT_SET"} + with self.subTest(req_args=req_args): + mock_thrift_backend = Mock() + + cursor = client.Cursor(Mock(), mock_thrift_backend) + cursor.columns(**req_args) + + call_args = mock_thrift_backend.get_columns.call_args[1] + for k, v in req_args.items(): + self.assertEqual(v, call_args[k]) + + def test_cancel_command_calls_the_backend(self): + mock_thrift_backend = Mock() + cursor = client.Cursor(Mock(), mock_thrift_backend) + mock_op_handle = Mock() + cursor.active_op_handle = mock_op_handle + cursor.cancel() + mock_thrift_backend.cancel_command.assert_called_with(mock_op_handle) + + @patch("databricks.sql.client.logger") + def test_cancel_command_will_issue_warning_for_cancel_with_no_executing_command( + self, logger_instance): + mock_thrift_backend = Mock() + cursor = client.Cursor(Mock(), mock_thrift_backend) + cursor.cancel() + + self.assertTrue(logger_instance.warning.called) + self.assertFalse(mock_thrift_backend.cancel_command.called) + + @patch("%s.client.ThriftBackend" % PACKAGE_NAME) + def test_max_number_of_retries_passthrough(self, mock_client_class): + databricks.sql.connect(_retry_stop_after_attempts_count=54, **self.DUMMY_CONNECTION_ARGS) + + self.assertEqual(mock_client_class.call_args[1]["_retry_stop_after_attempts_count"], 54) + + @patch("%s.client.ThriftBackend" % PACKAGE_NAME) + def test_socket_timeout_passthrough(self, mock_client_class): + databricks.sql.connect(_socket_timeout=234, **self.DUMMY_CONNECTION_ARGS) + self.assertEqual(mock_client_class.call_args[1]["_socket_timeout"], 234) + + def test_version_is_canonical(self): + version = databricks.sql.__version__ + canonical_version_re = r'^([1-9][0-9]*!)?(0|[1-9][0-9]*)(\.(0|[1-9][0-9]*))*((a|b|rc)' \ + r'(0|[1-9][0-9]*))?(\.post(0|[1-9][0-9]*))?(\.dev(0|[1-9][0-9]*))?$' + self.assertIsNotNone(re.match(canonical_version_re, version)) + + @patch("%s.client.ThriftBackend" % PACKAGE_NAME) + def test_configuration_passthrough(self, mock_client_class): + mock_session_config = Mock() + databricks.sql.connect( + session_configuration=mock_session_config, **self.DUMMY_CONNECTION_ARGS) + + self.assertEqual(mock_client_class.return_value.open_session.call_args[0][0], + mock_session_config) + + @patch("%s.client.ThriftBackend" % PACKAGE_NAME) + def test_initial_namespace_passthrough(self, mock_client_class): + mock_cat = Mock() + mock_schem = Mock() + + databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS, catalog=mock_cat, schema=mock_schem) + self.assertEqual(mock_client_class.return_value.open_session.call_args[0][1], mock_cat) + self.assertEqual(mock_client_class.return_value.open_session.call_args[0][2], mock_schem) + + def test_execute_parameter_passthrough(self): + mock_thrift_backend = ThriftBackendMockFactory.new() + cursor = client.Cursor(Mock(), mock_thrift_backend) + + tests = [ + ("SELECT %(string_v)s", "SELECT 'foo_12345'", {"string_v": "foo_12345"}), + ("SELECT %(x)s", "SELECT NULL", {"x": None}), + ("SELECT %(int_value)d", "SELECT 48", {"int_value": 48}), + ("SELECT %(float_value).2f", "SELECT 48.20", {"float_value": 48.2}), + ("SELECT %(iter)s", "SELECT (1,2,3,4,5)", {"iter": [1, 2, 3, 4, 5]}), + ( + "SELECT %(datetime)s", + "SELECT '2022-02-01 10:23:00.000000'", + {"datetime": datetime(2022, 2, 1, 10, 23)}, + ), + ("SELECT %(date)s", "SELECT '2022-02-01'", {"date": date(2022, 2, 1)}), + ] + + for query, expected_query, params in tests: + cursor.execute(query, parameters=params) + self.assertEqual( + mock_thrift_backend.execute_command.call_args[1]["operation"], + expected_query, + ) + + @patch("%s.client.ThriftBackend" % PACKAGE_NAME) + @patch("%s.client.ResultSet" % PACKAGE_NAME) + def test_executemany_parameter_passhthrough_and_uses_last_result_set( + self, mock_result_set_class, mock_thrift_backend): + # Create a new mock result set each time the class is instantiated + mock_result_set_instances = [Mock(), Mock(), Mock()] + mock_result_set_class.side_effect = mock_result_set_instances + mock_thrift_backend = ThriftBackendMockFactory.new() + cursor = client.Cursor(Mock(), mock_thrift_backend()) + + params = [{"x": None}, {"x": "foo1"}, {"x": "bar2"}] + expected_queries = ["SELECT NULL", "SELECT 'foo1'", "SELECT 'bar2'"] + + cursor.executemany("SELECT %(x)s", seq_of_parameters=params) + + self.assertEqual( + len(mock_thrift_backend.execute_command.call_args_list), len(expected_queries), + "Expected execute_command to be called the same number of times as params were passed") + + for expected_query, call_args in zip(expected_queries, + mock_thrift_backend.execute_command.call_args_list): + self.assertEqual(call_args[1]["operation"], expected_query) + + self.assertEqual( + cursor.active_result_set, mock_result_set_instances[2], + "Expected the active result set to be the result set corresponding to the" + "last operation") + + @patch("%s.client.ThriftBackend" % PACKAGE_NAME) + def test_commit_a_noop(self, mock_thrift_backend_class): + c = databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS) + c.commit() + + def test_setinputsizes_a_noop(self): + cursor = client.Cursor(Mock(), Mock()) + cursor.setinputsizes(1) + + def test_setoutputsizes_a_noop(self): + cursor = client.Cursor(Mock(), Mock()) + cursor.setoutputsize(1) + + @patch("%s.client.ThriftBackend" % PACKAGE_NAME) + def test_rollback_not_supported(self, mock_thrift_backend_class): + c = databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS) + with self.assertRaises(NotSupportedError): + c.rollback() + + @unittest.skip("JDW: skipping winter 2024 as we're about to rewrite this interface") + @patch("%s.client.ThriftBackend" % PACKAGE_NAME) + def test_row_number_respected(self, mock_thrift_backend_class): + def make_fake_row_slice(n_rows): + mock_slice = Mock() + mock_slice.num_rows = n_rows + return mock_slice + + mock_thrift_backend = mock_thrift_backend_class.return_value + mock_aq = Mock() + mock_aq.next_n_rows.side_effect = make_fake_row_slice + mock_thrift_backend.execute_command.return_value.arrow_queue = mock_aq + mock_thrift_backend.fetch_results.return_value = (mock_aq, True) + + cursor = client.Cursor(Mock(), mock_thrift_backend) + cursor.execute('foo') + + self.assertEqual(cursor.rownumber, 0) + cursor.fetchmany_arrow(10) + self.assertEqual(cursor.rownumber, 10) + cursor.fetchmany_arrow(13) + self.assertEqual(cursor.rownumber, 23) + cursor.fetchmany_arrow(6) + self.assertEqual(cursor.rownumber, 29) + + @unittest.skip("JDW: skipping winter 2024 as we're about to rewrite this interface") + @patch("%s.client.ThriftBackend" % PACKAGE_NAME) + def test_disable_pandas_respected(self, mock_thrift_backend_class): + mock_thrift_backend = mock_thrift_backend_class.return_value + mock_table = Mock() + mock_table.num_rows = 10 + mock_table.itercolumns.return_value = [] + mock_table.rename_columns.return_value = mock_table + mock_aq = Mock() + mock_aq.remaining_rows.return_value = mock_table + mock_thrift_backend.execute_command.return_value.arrow_queue = mock_aq + mock_thrift_backend.execute_command.return_value.has_been_closed_server_side = True + mock_con = Mock() + mock_con.disable_pandas = True + + cursor = client.Cursor(mock_con, mock_thrift_backend) + cursor.execute('foo') + cursor.fetchall() + + mock_table.itercolumns.assert_called_once_with() + + def test_column_name_api(self): + ResultRow = Row("first_col", "second_col", "third_col") + data = [ + ResultRow("val1", 321, 52.32), + ResultRow("val2", 2321, 252.32), + ] + + expected_values = [["val1", 321, 52.32], ["val2", 2321, 252.32]] + + for (row, expected) in zip(data, expected_values): + self.assertEqual(row.first_col, expected[0]) + self.assertEqual(row.second_col, expected[1]) + self.assertEqual(row.third_col, expected[2]) + + self.assertEqual(row["first_col"], expected[0]) + self.assertEqual(row["second_col"], expected[1]) + self.assertEqual(row["third_col"], expected[2]) + + self.assertEqual(row[0], expected[0]) + self.assertEqual(row[1], expected[1]) + self.assertEqual(row[2], expected[2]) + + self.assertEqual(row.asDict(), { + "first_col": expected[0], + "second_col": expected[1], + "third_col": expected[2] + }) + + @patch("%s.client.ThriftBackend" % PACKAGE_NAME) + def test_finalizer_closes_abandoned_connection(self, mock_client_class): + instance = mock_client_class.return_value + + mock_open_session_resp = MagicMock(spec=TOpenSessionResp)() + mock_open_session_resp.sessionHandle.sessionId = b'\x22' + instance.open_session.return_value = mock_open_session_resp + + databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS) + + # not strictly necessary as the refcount is 0, but just to be sure + gc.collect() + + # Check the close session request has an id of x22 + close_session_id = instance.close_session.call_args[0][0].sessionId + self.assertEqual(close_session_id, b'\x22') + + @patch("%s.client.ThriftBackend" % PACKAGE_NAME) + def test_cursor_keeps_connection_alive(self, mock_client_class): + instance = mock_client_class.return_value + + mock_open_session_resp = MagicMock(spec=TOpenSessionResp)() + mock_open_session_resp.sessionHandle.sessionId = b'\x22' + instance.open_session.return_value = mock_open_session_resp + + connection = databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS) + cursor = connection.cursor() + del connection + + gc.collect() + + self.assertEqual(instance.close_session.call_count, 0) + cursor.close() + + @patch("%s.utils.ExecuteResponse" % PACKAGE_NAME, autospec=True) + @patch("%s.client.Cursor._handle_staging_operation" % PACKAGE_NAME) + @patch("%s.client.ThriftBackend" % PACKAGE_NAME) + def test_staging_operation_response_is_handled(self, mock_client_class, mock_handle_staging_operation, mock_execute_response): + # If server sets ExecuteResponse.is_staging_operation True then _handle_staging_operation should be called + + + ThriftBackendMockFactory.apply_property_to_mock(mock_execute_response, is_staging_operation=True) + mock_client_class.execute_command.return_value = mock_execute_response + mock_client_class.return_value = mock_client_class + + connection = databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS) + cursor = connection.cursor() + cursor.execute("Text of some staging operation command;") + connection.close() + + mock_handle_staging_operation.call_count == 1 + + @patch("%s.client.ThriftBackend" % PACKAGE_NAME, ThriftBackendMockFactory.new()) + def test_access_current_query_id(self): + operation_id = 'EE6A8778-21FC-438B-92D8-96AC51EE3821' + + connection = databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS) + cursor = connection.cursor() + + self.assertIsNone(cursor.query_id) + + cursor.active_op_handle = TOperationHandle( + operationId=THandleIdentifier(guid=UUID(operation_id).bytes, secret=0x00), + operationType=TOperationType.EXECUTE_STATEMENT) + self.assertEqual(cursor.query_id.upper(), operation_id.upper()) + + cursor.close() + self.assertIsNone(cursor.query_id) + + +if __name__ == '__main__': + suite = unittest.TestLoader().loadTestsFromModule(sys.modules[__name__]) + loader = unittest.TestLoader() + test_classes = [ClientTestSuite, FetchTests, ThriftBackendTestSuite, ArrowQueueSuite] + suites_list = [] + for test_class in test_classes: + suite = loader.loadTestsFromTestCase(test_class) + suites_list.append(suite) + suite = unittest.TestSuite(suites_list) + test_result = unittest.TextTestRunner().run(suite) - # This hash is the expected hash of the contents of `src/databricks/__init__.py`. - # It must not change, or else parallel package installation may lead to clobbered and invalid files. - expected_sha1 = "2772edbf52e517542acf8c039479c4b57b6ca2cd" - actual_sha1 = hashlib.sha1(init_file_contents.encode("utf-8")).hexdigest() - assert expected_sha1 == actual_sha1 + if len(test_result.errors) != 0 or len(test_result.failures) != 0: + sys.exit(1) From 6be085c7d95cd96d2f1c9a5fab9d60b3d1bc37af Mon Sep 17 00:00:00 2001 From: Jothi Prakash Date: Wed, 18 Sep 2024 13:54:08 +0530 Subject: [PATCH 46/53] Check --- .../sql/thrift_api/TCLIService/TCLIService.py | 1814 +++++------------ .../sql/thrift_api/TCLIService/constants.py | 75 +- 2 files changed, 561 insertions(+), 1328 deletions(-) diff --git a/databricks_sql_connector_core/src/databricks/sql/thrift_api/TCLIService/TCLIService.py b/databricks_sql_connector_core/src/databricks/sql/thrift_api/TCLIService/TCLIService.py index e2359a8d..071e78a9 100644 --- a/databricks_sql_connector_core/src/databricks/sql/thrift_api/TCLIService/TCLIService.py +++ b/databricks_sql_connector_core/src/databricks/sql/thrift_api/TCLIService/TCLIService.py @@ -6,13 +6,7 @@ # options string: py # -from thrift.Thrift import ( - TType, - TMessageType, - TFrozenDict, - TException, - TApplicationException, -) +from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException from thrift.protocol.TProtocol import TProtocolException from thrift.TRecursive import fix_spec @@ -21,7 +15,6 @@ from .ttypes import * from thrift.Thrift import TProcessor from thrift.transport import TTransport - all_structs = [] @@ -212,7 +205,7 @@ def OpenSession(self, req): return self.recv_OpenSession() def send_OpenSession(self, req): - self._oprot.writeMessageBegin("OpenSession", TMessageType.CALL, self._seqid) + self._oprot.writeMessageBegin('OpenSession', TMessageType.CALL, self._seqid) args = OpenSession_args() args.req = req args.write(self._oprot) @@ -232,9 +225,7 @@ def recv_OpenSession(self): iprot.readMessageEnd() if result.success is not None: return result.success - raise TApplicationException( - TApplicationException.MISSING_RESULT, "OpenSession failed: unknown result" - ) + raise TApplicationException(TApplicationException.MISSING_RESULT, "OpenSession failed: unknown result") def CloseSession(self, req): """ @@ -246,7 +237,7 @@ def CloseSession(self, req): return self.recv_CloseSession() def send_CloseSession(self, req): - self._oprot.writeMessageBegin("CloseSession", TMessageType.CALL, self._seqid) + self._oprot.writeMessageBegin('CloseSession', TMessageType.CALL, self._seqid) args = CloseSession_args() args.req = req args.write(self._oprot) @@ -266,9 +257,7 @@ def recv_CloseSession(self): iprot.readMessageEnd() if result.success is not None: return result.success - raise TApplicationException( - TApplicationException.MISSING_RESULT, "CloseSession failed: unknown result" - ) + raise TApplicationException(TApplicationException.MISSING_RESULT, "CloseSession failed: unknown result") def GetInfo(self, req): """ @@ -280,7 +269,7 @@ def GetInfo(self, req): return self.recv_GetInfo() def send_GetInfo(self, req): - self._oprot.writeMessageBegin("GetInfo", TMessageType.CALL, self._seqid) + self._oprot.writeMessageBegin('GetInfo', TMessageType.CALL, self._seqid) args = GetInfo_args() args.req = req args.write(self._oprot) @@ -300,9 +289,7 @@ def recv_GetInfo(self): iprot.readMessageEnd() if result.success is not None: return result.success - raise TApplicationException( - TApplicationException.MISSING_RESULT, "GetInfo failed: unknown result" - ) + raise TApplicationException(TApplicationException.MISSING_RESULT, "GetInfo failed: unknown result") def ExecuteStatement(self, req): """ @@ -314,9 +301,7 @@ def ExecuteStatement(self, req): return self.recv_ExecuteStatement() def send_ExecuteStatement(self, req): - self._oprot.writeMessageBegin( - "ExecuteStatement", TMessageType.CALL, self._seqid - ) + self._oprot.writeMessageBegin('ExecuteStatement', TMessageType.CALL, self._seqid) args = ExecuteStatement_args() args.req = req args.write(self._oprot) @@ -336,10 +321,7 @@ def recv_ExecuteStatement(self): iprot.readMessageEnd() if result.success is not None: return result.success - raise TApplicationException( - TApplicationException.MISSING_RESULT, - "ExecuteStatement failed: unknown result", - ) + raise TApplicationException(TApplicationException.MISSING_RESULT, "ExecuteStatement failed: unknown result") def GetTypeInfo(self, req): """ @@ -351,7 +333,7 @@ def GetTypeInfo(self, req): return self.recv_GetTypeInfo() def send_GetTypeInfo(self, req): - self._oprot.writeMessageBegin("GetTypeInfo", TMessageType.CALL, self._seqid) + self._oprot.writeMessageBegin('GetTypeInfo', TMessageType.CALL, self._seqid) args = GetTypeInfo_args() args.req = req args.write(self._oprot) @@ -371,9 +353,7 @@ def recv_GetTypeInfo(self): iprot.readMessageEnd() if result.success is not None: return result.success - raise TApplicationException( - TApplicationException.MISSING_RESULT, "GetTypeInfo failed: unknown result" - ) + raise TApplicationException(TApplicationException.MISSING_RESULT, "GetTypeInfo failed: unknown result") def GetCatalogs(self, req): """ @@ -385,7 +365,7 @@ def GetCatalogs(self, req): return self.recv_GetCatalogs() def send_GetCatalogs(self, req): - self._oprot.writeMessageBegin("GetCatalogs", TMessageType.CALL, self._seqid) + self._oprot.writeMessageBegin('GetCatalogs', TMessageType.CALL, self._seqid) args = GetCatalogs_args() args.req = req args.write(self._oprot) @@ -405,9 +385,7 @@ def recv_GetCatalogs(self): iprot.readMessageEnd() if result.success is not None: return result.success - raise TApplicationException( - TApplicationException.MISSING_RESULT, "GetCatalogs failed: unknown result" - ) + raise TApplicationException(TApplicationException.MISSING_RESULT, "GetCatalogs failed: unknown result") def GetSchemas(self, req): """ @@ -419,7 +397,7 @@ def GetSchemas(self, req): return self.recv_GetSchemas() def send_GetSchemas(self, req): - self._oprot.writeMessageBegin("GetSchemas", TMessageType.CALL, self._seqid) + self._oprot.writeMessageBegin('GetSchemas', TMessageType.CALL, self._seqid) args = GetSchemas_args() args.req = req args.write(self._oprot) @@ -439,9 +417,7 @@ def recv_GetSchemas(self): iprot.readMessageEnd() if result.success is not None: return result.success - raise TApplicationException( - TApplicationException.MISSING_RESULT, "GetSchemas failed: unknown result" - ) + raise TApplicationException(TApplicationException.MISSING_RESULT, "GetSchemas failed: unknown result") def GetTables(self, req): """ @@ -453,7 +429,7 @@ def GetTables(self, req): return self.recv_GetTables() def send_GetTables(self, req): - self._oprot.writeMessageBegin("GetTables", TMessageType.CALL, self._seqid) + self._oprot.writeMessageBegin('GetTables', TMessageType.CALL, self._seqid) args = GetTables_args() args.req = req args.write(self._oprot) @@ -473,9 +449,7 @@ def recv_GetTables(self): iprot.readMessageEnd() if result.success is not None: return result.success - raise TApplicationException( - TApplicationException.MISSING_RESULT, "GetTables failed: unknown result" - ) + raise TApplicationException(TApplicationException.MISSING_RESULT, "GetTables failed: unknown result") def GetTableTypes(self, req): """ @@ -487,7 +461,7 @@ def GetTableTypes(self, req): return self.recv_GetTableTypes() def send_GetTableTypes(self, req): - self._oprot.writeMessageBegin("GetTableTypes", TMessageType.CALL, self._seqid) + self._oprot.writeMessageBegin('GetTableTypes', TMessageType.CALL, self._seqid) args = GetTableTypes_args() args.req = req args.write(self._oprot) @@ -507,9 +481,7 @@ def recv_GetTableTypes(self): iprot.readMessageEnd() if result.success is not None: return result.success - raise TApplicationException( - TApplicationException.MISSING_RESULT, "GetTableTypes failed: unknown result" - ) + raise TApplicationException(TApplicationException.MISSING_RESULT, "GetTableTypes failed: unknown result") def GetColumns(self, req): """ @@ -521,7 +493,7 @@ def GetColumns(self, req): return self.recv_GetColumns() def send_GetColumns(self, req): - self._oprot.writeMessageBegin("GetColumns", TMessageType.CALL, self._seqid) + self._oprot.writeMessageBegin('GetColumns', TMessageType.CALL, self._seqid) args = GetColumns_args() args.req = req args.write(self._oprot) @@ -541,9 +513,7 @@ def recv_GetColumns(self): iprot.readMessageEnd() if result.success is not None: return result.success - raise TApplicationException( - TApplicationException.MISSING_RESULT, "GetColumns failed: unknown result" - ) + raise TApplicationException(TApplicationException.MISSING_RESULT, "GetColumns failed: unknown result") def GetFunctions(self, req): """ @@ -555,7 +525,7 @@ def GetFunctions(self, req): return self.recv_GetFunctions() def send_GetFunctions(self, req): - self._oprot.writeMessageBegin("GetFunctions", TMessageType.CALL, self._seqid) + self._oprot.writeMessageBegin('GetFunctions', TMessageType.CALL, self._seqid) args = GetFunctions_args() args.req = req args.write(self._oprot) @@ -575,9 +545,7 @@ def recv_GetFunctions(self): iprot.readMessageEnd() if result.success is not None: return result.success - raise TApplicationException( - TApplicationException.MISSING_RESULT, "GetFunctions failed: unknown result" - ) + raise TApplicationException(TApplicationException.MISSING_RESULT, "GetFunctions failed: unknown result") def GetPrimaryKeys(self, req): """ @@ -589,7 +557,7 @@ def GetPrimaryKeys(self, req): return self.recv_GetPrimaryKeys() def send_GetPrimaryKeys(self, req): - self._oprot.writeMessageBegin("GetPrimaryKeys", TMessageType.CALL, self._seqid) + self._oprot.writeMessageBegin('GetPrimaryKeys', TMessageType.CALL, self._seqid) args = GetPrimaryKeys_args() args.req = req args.write(self._oprot) @@ -609,10 +577,7 @@ def recv_GetPrimaryKeys(self): iprot.readMessageEnd() if result.success is not None: return result.success - raise TApplicationException( - TApplicationException.MISSING_RESULT, - "GetPrimaryKeys failed: unknown result", - ) + raise TApplicationException(TApplicationException.MISSING_RESULT, "GetPrimaryKeys failed: unknown result") def GetCrossReference(self, req): """ @@ -624,9 +589,7 @@ def GetCrossReference(self, req): return self.recv_GetCrossReference() def send_GetCrossReference(self, req): - self._oprot.writeMessageBegin( - "GetCrossReference", TMessageType.CALL, self._seqid - ) + self._oprot.writeMessageBegin('GetCrossReference', TMessageType.CALL, self._seqid) args = GetCrossReference_args() args.req = req args.write(self._oprot) @@ -646,10 +609,7 @@ def recv_GetCrossReference(self): iprot.readMessageEnd() if result.success is not None: return result.success - raise TApplicationException( - TApplicationException.MISSING_RESULT, - "GetCrossReference failed: unknown result", - ) + raise TApplicationException(TApplicationException.MISSING_RESULT, "GetCrossReference failed: unknown result") def GetOperationStatus(self, req): """ @@ -661,9 +621,7 @@ def GetOperationStatus(self, req): return self.recv_GetOperationStatus() def send_GetOperationStatus(self, req): - self._oprot.writeMessageBegin( - "GetOperationStatus", TMessageType.CALL, self._seqid - ) + self._oprot.writeMessageBegin('GetOperationStatus', TMessageType.CALL, self._seqid) args = GetOperationStatus_args() args.req = req args.write(self._oprot) @@ -683,10 +641,7 @@ def recv_GetOperationStatus(self): iprot.readMessageEnd() if result.success is not None: return result.success - raise TApplicationException( - TApplicationException.MISSING_RESULT, - "GetOperationStatus failed: unknown result", - ) + raise TApplicationException(TApplicationException.MISSING_RESULT, "GetOperationStatus failed: unknown result") def CancelOperation(self, req): """ @@ -698,7 +653,7 @@ def CancelOperation(self, req): return self.recv_CancelOperation() def send_CancelOperation(self, req): - self._oprot.writeMessageBegin("CancelOperation", TMessageType.CALL, self._seqid) + self._oprot.writeMessageBegin('CancelOperation', TMessageType.CALL, self._seqid) args = CancelOperation_args() args.req = req args.write(self._oprot) @@ -718,10 +673,7 @@ def recv_CancelOperation(self): iprot.readMessageEnd() if result.success is not None: return result.success - raise TApplicationException( - TApplicationException.MISSING_RESULT, - "CancelOperation failed: unknown result", - ) + raise TApplicationException(TApplicationException.MISSING_RESULT, "CancelOperation failed: unknown result") def CloseOperation(self, req): """ @@ -733,7 +685,7 @@ def CloseOperation(self, req): return self.recv_CloseOperation() def send_CloseOperation(self, req): - self._oprot.writeMessageBegin("CloseOperation", TMessageType.CALL, self._seqid) + self._oprot.writeMessageBegin('CloseOperation', TMessageType.CALL, self._seqid) args = CloseOperation_args() args.req = req args.write(self._oprot) @@ -753,10 +705,7 @@ def recv_CloseOperation(self): iprot.readMessageEnd() if result.success is not None: return result.success - raise TApplicationException( - TApplicationException.MISSING_RESULT, - "CloseOperation failed: unknown result", - ) + raise TApplicationException(TApplicationException.MISSING_RESULT, "CloseOperation failed: unknown result") def GetResultSetMetadata(self, req): """ @@ -768,9 +717,7 @@ def GetResultSetMetadata(self, req): return self.recv_GetResultSetMetadata() def send_GetResultSetMetadata(self, req): - self._oprot.writeMessageBegin( - "GetResultSetMetadata", TMessageType.CALL, self._seqid - ) + self._oprot.writeMessageBegin('GetResultSetMetadata', TMessageType.CALL, self._seqid) args = GetResultSetMetadata_args() args.req = req args.write(self._oprot) @@ -790,10 +737,7 @@ def recv_GetResultSetMetadata(self): iprot.readMessageEnd() if result.success is not None: return result.success - raise TApplicationException( - TApplicationException.MISSING_RESULT, - "GetResultSetMetadata failed: unknown result", - ) + raise TApplicationException(TApplicationException.MISSING_RESULT, "GetResultSetMetadata failed: unknown result") def FetchResults(self, req): """ @@ -805,7 +749,7 @@ def FetchResults(self, req): return self.recv_FetchResults() def send_FetchResults(self, req): - self._oprot.writeMessageBegin("FetchResults", TMessageType.CALL, self._seqid) + self._oprot.writeMessageBegin('FetchResults', TMessageType.CALL, self._seqid) args = FetchResults_args() args.req = req args.write(self._oprot) @@ -825,9 +769,7 @@ def recv_FetchResults(self): iprot.readMessageEnd() if result.success is not None: return result.success - raise TApplicationException( - TApplicationException.MISSING_RESULT, "FetchResults failed: unknown result" - ) + raise TApplicationException(TApplicationException.MISSING_RESULT, "FetchResults failed: unknown result") def GetDelegationToken(self, req): """ @@ -839,9 +781,7 @@ def GetDelegationToken(self, req): return self.recv_GetDelegationToken() def send_GetDelegationToken(self, req): - self._oprot.writeMessageBegin( - "GetDelegationToken", TMessageType.CALL, self._seqid - ) + self._oprot.writeMessageBegin('GetDelegationToken', TMessageType.CALL, self._seqid) args = GetDelegationToken_args() args.req = req args.write(self._oprot) @@ -861,10 +801,7 @@ def recv_GetDelegationToken(self): iprot.readMessageEnd() if result.success is not None: return result.success - raise TApplicationException( - TApplicationException.MISSING_RESULT, - "GetDelegationToken failed: unknown result", - ) + raise TApplicationException(TApplicationException.MISSING_RESULT, "GetDelegationToken failed: unknown result") def CancelDelegationToken(self, req): """ @@ -876,9 +813,7 @@ def CancelDelegationToken(self, req): return self.recv_CancelDelegationToken() def send_CancelDelegationToken(self, req): - self._oprot.writeMessageBegin( - "CancelDelegationToken", TMessageType.CALL, self._seqid - ) + self._oprot.writeMessageBegin('CancelDelegationToken', TMessageType.CALL, self._seqid) args = CancelDelegationToken_args() args.req = req args.write(self._oprot) @@ -898,10 +833,7 @@ def recv_CancelDelegationToken(self): iprot.readMessageEnd() if result.success is not None: return result.success - raise TApplicationException( - TApplicationException.MISSING_RESULT, - "CancelDelegationToken failed: unknown result", - ) + raise TApplicationException(TApplicationException.MISSING_RESULT, "CancelDelegationToken failed: unknown result") def RenewDelegationToken(self, req): """ @@ -913,9 +845,7 @@ def RenewDelegationToken(self, req): return self.recv_RenewDelegationToken() def send_RenewDelegationToken(self, req): - self._oprot.writeMessageBegin( - "RenewDelegationToken", TMessageType.CALL, self._seqid - ) + self._oprot.writeMessageBegin('RenewDelegationToken', TMessageType.CALL, self._seqid) args = RenewDelegationToken_args() args.req = req args.write(self._oprot) @@ -935,10 +865,7 @@ def recv_RenewDelegationToken(self): iprot.readMessageEnd() if result.success is not None: return result.success - raise TApplicationException( - TApplicationException.MISSING_RESULT, - "RenewDelegationToken failed: unknown result", - ) + raise TApplicationException(TApplicationException.MISSING_RESULT, "RenewDelegationToken failed: unknown result") class Processor(Iface, TProcessor): @@ -961,17 +888,11 @@ def __init__(self, handler): self._processMap["GetOperationStatus"] = Processor.process_GetOperationStatus self._processMap["CancelOperation"] = Processor.process_CancelOperation self._processMap["CloseOperation"] = Processor.process_CloseOperation - self._processMap[ - "GetResultSetMetadata" - ] = Processor.process_GetResultSetMetadata + self._processMap["GetResultSetMetadata"] = Processor.process_GetResultSetMetadata self._processMap["FetchResults"] = Processor.process_FetchResults self._processMap["GetDelegationToken"] = Processor.process_GetDelegationToken - self._processMap[ - "CancelDelegationToken" - ] = Processor.process_CancelDelegationToken - self._processMap[ - "RenewDelegationToken" - ] = Processor.process_RenewDelegationToken + self._processMap["CancelDelegationToken"] = Processor.process_CancelDelegationToken + self._processMap["RenewDelegationToken"] = Processor.process_RenewDelegationToken self._on_message_begin = None def on_message_begin(self, func): @@ -984,9 +905,7 @@ def process(self, iprot, oprot): if name not in self._processMap: iprot.skip(TType.STRUCT) iprot.readMessageEnd() - x = TApplicationException( - TApplicationException.UNKNOWN_METHOD, "Unknown function %s" % (name) - ) + x = TApplicationException(TApplicationException.UNKNOWN_METHOD, 'Unknown function %s' % (name)) oprot.writeMessageBegin(name, TMessageType.EXCEPTION, seqid) x.write(oprot) oprot.writeMessageEnd() @@ -1007,15 +926,13 @@ def process_OpenSession(self, seqid, iprot, oprot): except TTransport.TTransportException: raise except TApplicationException as ex: - logging.exception("TApplication exception in handler") + logging.exception('TApplication exception in handler') msg_type = TMessageType.EXCEPTION result = ex except Exception: - logging.exception("Unexpected exception in handler") + logging.exception('Unexpected exception in handler') msg_type = TMessageType.EXCEPTION - result = TApplicationException( - TApplicationException.INTERNAL_ERROR, "Internal error" - ) + result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error') oprot.writeMessageBegin("OpenSession", msg_type, seqid) result.write(oprot) oprot.writeMessageEnd() @@ -1032,15 +949,13 @@ def process_CloseSession(self, seqid, iprot, oprot): except TTransport.TTransportException: raise except TApplicationException as ex: - logging.exception("TApplication exception in handler") + logging.exception('TApplication exception in handler') msg_type = TMessageType.EXCEPTION result = ex except Exception: - logging.exception("Unexpected exception in handler") + logging.exception('Unexpected exception in handler') msg_type = TMessageType.EXCEPTION - result = TApplicationException( - TApplicationException.INTERNAL_ERROR, "Internal error" - ) + result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error') oprot.writeMessageBegin("CloseSession", msg_type, seqid) result.write(oprot) oprot.writeMessageEnd() @@ -1057,15 +972,13 @@ def process_GetInfo(self, seqid, iprot, oprot): except TTransport.TTransportException: raise except TApplicationException as ex: - logging.exception("TApplication exception in handler") + logging.exception('TApplication exception in handler') msg_type = TMessageType.EXCEPTION result = ex except Exception: - logging.exception("Unexpected exception in handler") + logging.exception('Unexpected exception in handler') msg_type = TMessageType.EXCEPTION - result = TApplicationException( - TApplicationException.INTERNAL_ERROR, "Internal error" - ) + result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error') oprot.writeMessageBegin("GetInfo", msg_type, seqid) result.write(oprot) oprot.writeMessageEnd() @@ -1082,15 +995,13 @@ def process_ExecuteStatement(self, seqid, iprot, oprot): except TTransport.TTransportException: raise except TApplicationException as ex: - logging.exception("TApplication exception in handler") + logging.exception('TApplication exception in handler') msg_type = TMessageType.EXCEPTION result = ex except Exception: - logging.exception("Unexpected exception in handler") + logging.exception('Unexpected exception in handler') msg_type = TMessageType.EXCEPTION - result = TApplicationException( - TApplicationException.INTERNAL_ERROR, "Internal error" - ) + result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error') oprot.writeMessageBegin("ExecuteStatement", msg_type, seqid) result.write(oprot) oprot.writeMessageEnd() @@ -1107,15 +1018,13 @@ def process_GetTypeInfo(self, seqid, iprot, oprot): except TTransport.TTransportException: raise except TApplicationException as ex: - logging.exception("TApplication exception in handler") + logging.exception('TApplication exception in handler') msg_type = TMessageType.EXCEPTION result = ex except Exception: - logging.exception("Unexpected exception in handler") + logging.exception('Unexpected exception in handler') msg_type = TMessageType.EXCEPTION - result = TApplicationException( - TApplicationException.INTERNAL_ERROR, "Internal error" - ) + result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error') oprot.writeMessageBegin("GetTypeInfo", msg_type, seqid) result.write(oprot) oprot.writeMessageEnd() @@ -1132,15 +1041,13 @@ def process_GetCatalogs(self, seqid, iprot, oprot): except TTransport.TTransportException: raise except TApplicationException as ex: - logging.exception("TApplication exception in handler") + logging.exception('TApplication exception in handler') msg_type = TMessageType.EXCEPTION result = ex except Exception: - logging.exception("Unexpected exception in handler") + logging.exception('Unexpected exception in handler') msg_type = TMessageType.EXCEPTION - result = TApplicationException( - TApplicationException.INTERNAL_ERROR, "Internal error" - ) + result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error') oprot.writeMessageBegin("GetCatalogs", msg_type, seqid) result.write(oprot) oprot.writeMessageEnd() @@ -1157,15 +1064,13 @@ def process_GetSchemas(self, seqid, iprot, oprot): except TTransport.TTransportException: raise except TApplicationException as ex: - logging.exception("TApplication exception in handler") + logging.exception('TApplication exception in handler') msg_type = TMessageType.EXCEPTION result = ex except Exception: - logging.exception("Unexpected exception in handler") + logging.exception('Unexpected exception in handler') msg_type = TMessageType.EXCEPTION - result = TApplicationException( - TApplicationException.INTERNAL_ERROR, "Internal error" - ) + result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error') oprot.writeMessageBegin("GetSchemas", msg_type, seqid) result.write(oprot) oprot.writeMessageEnd() @@ -1182,15 +1087,13 @@ def process_GetTables(self, seqid, iprot, oprot): except TTransport.TTransportException: raise except TApplicationException as ex: - logging.exception("TApplication exception in handler") + logging.exception('TApplication exception in handler') msg_type = TMessageType.EXCEPTION result = ex except Exception: - logging.exception("Unexpected exception in handler") + logging.exception('Unexpected exception in handler') msg_type = TMessageType.EXCEPTION - result = TApplicationException( - TApplicationException.INTERNAL_ERROR, "Internal error" - ) + result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error') oprot.writeMessageBegin("GetTables", msg_type, seqid) result.write(oprot) oprot.writeMessageEnd() @@ -1207,15 +1110,13 @@ def process_GetTableTypes(self, seqid, iprot, oprot): except TTransport.TTransportException: raise except TApplicationException as ex: - logging.exception("TApplication exception in handler") + logging.exception('TApplication exception in handler') msg_type = TMessageType.EXCEPTION result = ex except Exception: - logging.exception("Unexpected exception in handler") + logging.exception('Unexpected exception in handler') msg_type = TMessageType.EXCEPTION - result = TApplicationException( - TApplicationException.INTERNAL_ERROR, "Internal error" - ) + result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error') oprot.writeMessageBegin("GetTableTypes", msg_type, seqid) result.write(oprot) oprot.writeMessageEnd() @@ -1232,15 +1133,13 @@ def process_GetColumns(self, seqid, iprot, oprot): except TTransport.TTransportException: raise except TApplicationException as ex: - logging.exception("TApplication exception in handler") + logging.exception('TApplication exception in handler') msg_type = TMessageType.EXCEPTION result = ex except Exception: - logging.exception("Unexpected exception in handler") + logging.exception('Unexpected exception in handler') msg_type = TMessageType.EXCEPTION - result = TApplicationException( - TApplicationException.INTERNAL_ERROR, "Internal error" - ) + result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error') oprot.writeMessageBegin("GetColumns", msg_type, seqid) result.write(oprot) oprot.writeMessageEnd() @@ -1257,15 +1156,13 @@ def process_GetFunctions(self, seqid, iprot, oprot): except TTransport.TTransportException: raise except TApplicationException as ex: - logging.exception("TApplication exception in handler") + logging.exception('TApplication exception in handler') msg_type = TMessageType.EXCEPTION result = ex except Exception: - logging.exception("Unexpected exception in handler") + logging.exception('Unexpected exception in handler') msg_type = TMessageType.EXCEPTION - result = TApplicationException( - TApplicationException.INTERNAL_ERROR, "Internal error" - ) + result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error') oprot.writeMessageBegin("GetFunctions", msg_type, seqid) result.write(oprot) oprot.writeMessageEnd() @@ -1282,15 +1179,13 @@ def process_GetPrimaryKeys(self, seqid, iprot, oprot): except TTransport.TTransportException: raise except TApplicationException as ex: - logging.exception("TApplication exception in handler") + logging.exception('TApplication exception in handler') msg_type = TMessageType.EXCEPTION result = ex except Exception: - logging.exception("Unexpected exception in handler") + logging.exception('Unexpected exception in handler') msg_type = TMessageType.EXCEPTION - result = TApplicationException( - TApplicationException.INTERNAL_ERROR, "Internal error" - ) + result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error') oprot.writeMessageBegin("GetPrimaryKeys", msg_type, seqid) result.write(oprot) oprot.writeMessageEnd() @@ -1307,15 +1202,13 @@ def process_GetCrossReference(self, seqid, iprot, oprot): except TTransport.TTransportException: raise except TApplicationException as ex: - logging.exception("TApplication exception in handler") + logging.exception('TApplication exception in handler') msg_type = TMessageType.EXCEPTION result = ex except Exception: - logging.exception("Unexpected exception in handler") + logging.exception('Unexpected exception in handler') msg_type = TMessageType.EXCEPTION - result = TApplicationException( - TApplicationException.INTERNAL_ERROR, "Internal error" - ) + result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error') oprot.writeMessageBegin("GetCrossReference", msg_type, seqid) result.write(oprot) oprot.writeMessageEnd() @@ -1332,15 +1225,13 @@ def process_GetOperationStatus(self, seqid, iprot, oprot): except TTransport.TTransportException: raise except TApplicationException as ex: - logging.exception("TApplication exception in handler") + logging.exception('TApplication exception in handler') msg_type = TMessageType.EXCEPTION result = ex except Exception: - logging.exception("Unexpected exception in handler") + logging.exception('Unexpected exception in handler') msg_type = TMessageType.EXCEPTION - result = TApplicationException( - TApplicationException.INTERNAL_ERROR, "Internal error" - ) + result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error') oprot.writeMessageBegin("GetOperationStatus", msg_type, seqid) result.write(oprot) oprot.writeMessageEnd() @@ -1357,15 +1248,13 @@ def process_CancelOperation(self, seqid, iprot, oprot): except TTransport.TTransportException: raise except TApplicationException as ex: - logging.exception("TApplication exception in handler") + logging.exception('TApplication exception in handler') msg_type = TMessageType.EXCEPTION result = ex except Exception: - logging.exception("Unexpected exception in handler") + logging.exception('Unexpected exception in handler') msg_type = TMessageType.EXCEPTION - result = TApplicationException( - TApplicationException.INTERNAL_ERROR, "Internal error" - ) + result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error') oprot.writeMessageBegin("CancelOperation", msg_type, seqid) result.write(oprot) oprot.writeMessageEnd() @@ -1382,15 +1271,13 @@ def process_CloseOperation(self, seqid, iprot, oprot): except TTransport.TTransportException: raise except TApplicationException as ex: - logging.exception("TApplication exception in handler") + logging.exception('TApplication exception in handler') msg_type = TMessageType.EXCEPTION result = ex except Exception: - logging.exception("Unexpected exception in handler") + logging.exception('Unexpected exception in handler') msg_type = TMessageType.EXCEPTION - result = TApplicationException( - TApplicationException.INTERNAL_ERROR, "Internal error" - ) + result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error') oprot.writeMessageBegin("CloseOperation", msg_type, seqid) result.write(oprot) oprot.writeMessageEnd() @@ -1407,15 +1294,13 @@ def process_GetResultSetMetadata(self, seqid, iprot, oprot): except TTransport.TTransportException: raise except TApplicationException as ex: - logging.exception("TApplication exception in handler") + logging.exception('TApplication exception in handler') msg_type = TMessageType.EXCEPTION result = ex except Exception: - logging.exception("Unexpected exception in handler") + logging.exception('Unexpected exception in handler') msg_type = TMessageType.EXCEPTION - result = TApplicationException( - TApplicationException.INTERNAL_ERROR, "Internal error" - ) + result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error') oprot.writeMessageBegin("GetResultSetMetadata", msg_type, seqid) result.write(oprot) oprot.writeMessageEnd() @@ -1432,15 +1317,13 @@ def process_FetchResults(self, seqid, iprot, oprot): except TTransport.TTransportException: raise except TApplicationException as ex: - logging.exception("TApplication exception in handler") + logging.exception('TApplication exception in handler') msg_type = TMessageType.EXCEPTION result = ex except Exception: - logging.exception("Unexpected exception in handler") + logging.exception('Unexpected exception in handler') msg_type = TMessageType.EXCEPTION - result = TApplicationException( - TApplicationException.INTERNAL_ERROR, "Internal error" - ) + result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error') oprot.writeMessageBegin("FetchResults", msg_type, seqid) result.write(oprot) oprot.writeMessageEnd() @@ -1457,15 +1340,13 @@ def process_GetDelegationToken(self, seqid, iprot, oprot): except TTransport.TTransportException: raise except TApplicationException as ex: - logging.exception("TApplication exception in handler") + logging.exception('TApplication exception in handler') msg_type = TMessageType.EXCEPTION result = ex except Exception: - logging.exception("Unexpected exception in handler") + logging.exception('Unexpected exception in handler') msg_type = TMessageType.EXCEPTION - result = TApplicationException( - TApplicationException.INTERNAL_ERROR, "Internal error" - ) + result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error') oprot.writeMessageBegin("GetDelegationToken", msg_type, seqid) result.write(oprot) oprot.writeMessageEnd() @@ -1482,15 +1363,13 @@ def process_CancelDelegationToken(self, seqid, iprot, oprot): except TTransport.TTransportException: raise except TApplicationException as ex: - logging.exception("TApplication exception in handler") + logging.exception('TApplication exception in handler') msg_type = TMessageType.EXCEPTION result = ex except Exception: - logging.exception("Unexpected exception in handler") + logging.exception('Unexpected exception in handler') msg_type = TMessageType.EXCEPTION - result = TApplicationException( - TApplicationException.INTERNAL_ERROR, "Internal error" - ) + result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error') oprot.writeMessageBegin("CancelDelegationToken", msg_type, seqid) result.write(oprot) oprot.writeMessageEnd() @@ -1507,21 +1386,18 @@ def process_RenewDelegationToken(self, seqid, iprot, oprot): except TTransport.TTransportException: raise except TApplicationException as ex: - logging.exception("TApplication exception in handler") + logging.exception('TApplication exception in handler') msg_type = TMessageType.EXCEPTION result = ex except Exception: - logging.exception("Unexpected exception in handler") + logging.exception('Unexpected exception in handler') msg_type = TMessageType.EXCEPTION - result = TApplicationException( - TApplicationException.INTERNAL_ERROR, "Internal error" - ) + result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error') oprot.writeMessageBegin("RenewDelegationToken", msg_type, seqid) result.write(oprot) oprot.writeMessageEnd() oprot.trans.flush() - # HELPER FUNCTIONS AND STRUCTURES @@ -1532,18 +1408,12 @@ class OpenSession_args(object): """ - def __init__( - self, - req=None, - ): + + def __init__(self, req=None,): self.req = req def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -1564,13 +1434,11 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) return - oprot.writeStructBegin("OpenSession_args") + oprot.writeStructBegin('OpenSession_args') if self.req is not None: - oprot.writeFieldBegin("req", TType.STRUCT, 1) + oprot.writeFieldBegin('req', TType.STRUCT, 1) self.req.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -1580,26 +1448,19 @@ def validate(self): return def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) - - all_structs.append(OpenSession_args) OpenSession_args.thrift_spec = ( None, # 0 - ( - 1, - TType.STRUCT, - "req", - [TOpenSessionReq, None], - None, - ), # 1 + (1, TType.STRUCT, 'req', [TOpenSessionReq, None], None, ), # 1 ) @@ -1610,18 +1471,12 @@ class OpenSession_result(object): """ - def __init__( - self, - success=None, - ): + + def __init__(self, success=None,): self.success = success def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -1642,13 +1497,11 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) return - oprot.writeStructBegin("OpenSession_result") + oprot.writeStructBegin('OpenSession_result') if self.success is not None: - oprot.writeFieldBegin("success", TType.STRUCT, 0) + oprot.writeFieldBegin('success', TType.STRUCT, 0) self.success.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -1658,25 +1511,18 @@ def validate(self): return def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) - - all_structs.append(OpenSession_result) OpenSession_result.thrift_spec = ( - ( - 0, - TType.STRUCT, - "success", - [TOpenSessionResp, None], - None, - ), # 0 + (0, TType.STRUCT, 'success', [TOpenSessionResp, None], None, ), # 0 ) @@ -1687,18 +1533,12 @@ class CloseSession_args(object): """ - def __init__( - self, - req=None, - ): + + def __init__(self, req=None,): self.req = req def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -1719,13 +1559,11 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) return - oprot.writeStructBegin("CloseSession_args") + oprot.writeStructBegin('CloseSession_args') if self.req is not None: - oprot.writeFieldBegin("req", TType.STRUCT, 1) + oprot.writeFieldBegin('req', TType.STRUCT, 1) self.req.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -1735,26 +1573,19 @@ def validate(self): return def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) - - all_structs.append(CloseSession_args) CloseSession_args.thrift_spec = ( None, # 0 - ( - 1, - TType.STRUCT, - "req", - [TCloseSessionReq, None], - None, - ), # 1 + (1, TType.STRUCT, 'req', [TCloseSessionReq, None], None, ), # 1 ) @@ -1765,18 +1596,12 @@ class CloseSession_result(object): """ - def __init__( - self, - success=None, - ): + + def __init__(self, success=None,): self.success = success def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -1797,13 +1622,11 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) return - oprot.writeStructBegin("CloseSession_result") + oprot.writeStructBegin('CloseSession_result') if self.success is not None: - oprot.writeFieldBegin("success", TType.STRUCT, 0) + oprot.writeFieldBegin('success', TType.STRUCT, 0) self.success.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -1813,25 +1636,18 @@ def validate(self): return def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) - - all_structs.append(CloseSession_result) CloseSession_result.thrift_spec = ( - ( - 0, - TType.STRUCT, - "success", - [TCloseSessionResp, None], - None, - ), # 0 + (0, TType.STRUCT, 'success', [TCloseSessionResp, None], None, ), # 0 ) @@ -1842,18 +1658,12 @@ class GetInfo_args(object): """ - def __init__( - self, - req=None, - ): + + def __init__(self, req=None,): self.req = req def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -1874,13 +1684,11 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) return - oprot.writeStructBegin("GetInfo_args") + oprot.writeStructBegin('GetInfo_args') if self.req is not None: - oprot.writeFieldBegin("req", TType.STRUCT, 1) + oprot.writeFieldBegin('req', TType.STRUCT, 1) self.req.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -1890,26 +1698,19 @@ def validate(self): return def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) - - all_structs.append(GetInfo_args) GetInfo_args.thrift_spec = ( None, # 0 - ( - 1, - TType.STRUCT, - "req", - [TGetInfoReq, None], - None, - ), # 1 + (1, TType.STRUCT, 'req', [TGetInfoReq, None], None, ), # 1 ) @@ -1920,18 +1721,12 @@ class GetInfo_result(object): """ - def __init__( - self, - success=None, - ): + + def __init__(self, success=None,): self.success = success def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -1952,13 +1747,11 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) return - oprot.writeStructBegin("GetInfo_result") + oprot.writeStructBegin('GetInfo_result') if self.success is not None: - oprot.writeFieldBegin("success", TType.STRUCT, 0) + oprot.writeFieldBegin('success', TType.STRUCT, 0) self.success.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -1968,25 +1761,18 @@ def validate(self): return def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) - - all_structs.append(GetInfo_result) GetInfo_result.thrift_spec = ( - ( - 0, - TType.STRUCT, - "success", - [TGetInfoResp, None], - None, - ), # 0 + (0, TType.STRUCT, 'success', [TGetInfoResp, None], None, ), # 0 ) @@ -1997,18 +1783,12 @@ class ExecuteStatement_args(object): """ - def __init__( - self, - req=None, - ): + + def __init__(self, req=None,): self.req = req def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -2029,13 +1809,11 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) return - oprot.writeStructBegin("ExecuteStatement_args") + oprot.writeStructBegin('ExecuteStatement_args') if self.req is not None: - oprot.writeFieldBegin("req", TType.STRUCT, 1) + oprot.writeFieldBegin('req', TType.STRUCT, 1) self.req.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -2045,26 +1823,19 @@ def validate(self): return def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) - - all_structs.append(ExecuteStatement_args) ExecuteStatement_args.thrift_spec = ( None, # 0 - ( - 1, - TType.STRUCT, - "req", - [TExecuteStatementReq, None], - None, - ), # 1 + (1, TType.STRUCT, 'req', [TExecuteStatementReq, None], None, ), # 1 ) @@ -2075,18 +1846,12 @@ class ExecuteStatement_result(object): """ - def __init__( - self, - success=None, - ): + + def __init__(self, success=None,): self.success = success def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -2107,13 +1872,11 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) return - oprot.writeStructBegin("ExecuteStatement_result") + oprot.writeStructBegin('ExecuteStatement_result') if self.success is not None: - oprot.writeFieldBegin("success", TType.STRUCT, 0) + oprot.writeFieldBegin('success', TType.STRUCT, 0) self.success.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -2123,25 +1886,18 @@ def validate(self): return def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) - - all_structs.append(ExecuteStatement_result) ExecuteStatement_result.thrift_spec = ( - ( - 0, - TType.STRUCT, - "success", - [TExecuteStatementResp, None], - None, - ), # 0 + (0, TType.STRUCT, 'success', [TExecuteStatementResp, None], None, ), # 0 ) @@ -2152,18 +1908,12 @@ class GetTypeInfo_args(object): """ - def __init__( - self, - req=None, - ): + + def __init__(self, req=None,): self.req = req def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -2184,13 +1934,11 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) return - oprot.writeStructBegin("GetTypeInfo_args") + oprot.writeStructBegin('GetTypeInfo_args') if self.req is not None: - oprot.writeFieldBegin("req", TType.STRUCT, 1) + oprot.writeFieldBegin('req', TType.STRUCT, 1) self.req.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -2200,26 +1948,19 @@ def validate(self): return def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) - - all_structs.append(GetTypeInfo_args) GetTypeInfo_args.thrift_spec = ( None, # 0 - ( - 1, - TType.STRUCT, - "req", - [TGetTypeInfoReq, None], - None, - ), # 1 + (1, TType.STRUCT, 'req', [TGetTypeInfoReq, None], None, ), # 1 ) @@ -2230,18 +1971,12 @@ class GetTypeInfo_result(object): """ - def __init__( - self, - success=None, - ): + + def __init__(self, success=None,): self.success = success def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -2262,13 +1997,11 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) return - oprot.writeStructBegin("GetTypeInfo_result") + oprot.writeStructBegin('GetTypeInfo_result') if self.success is not None: - oprot.writeFieldBegin("success", TType.STRUCT, 0) + oprot.writeFieldBegin('success', TType.STRUCT, 0) self.success.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -2278,25 +2011,18 @@ def validate(self): return def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) - - all_structs.append(GetTypeInfo_result) GetTypeInfo_result.thrift_spec = ( - ( - 0, - TType.STRUCT, - "success", - [TGetTypeInfoResp, None], - None, - ), # 0 + (0, TType.STRUCT, 'success', [TGetTypeInfoResp, None], None, ), # 0 ) @@ -2307,18 +2033,12 @@ class GetCatalogs_args(object): """ - def __init__( - self, - req=None, - ): + + def __init__(self, req=None,): self.req = req def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -2339,13 +2059,11 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) return - oprot.writeStructBegin("GetCatalogs_args") + oprot.writeStructBegin('GetCatalogs_args') if self.req is not None: - oprot.writeFieldBegin("req", TType.STRUCT, 1) + oprot.writeFieldBegin('req', TType.STRUCT, 1) self.req.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -2355,26 +2073,19 @@ def validate(self): return def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) - - all_structs.append(GetCatalogs_args) GetCatalogs_args.thrift_spec = ( None, # 0 - ( - 1, - TType.STRUCT, - "req", - [TGetCatalogsReq, None], - None, - ), # 1 + (1, TType.STRUCT, 'req', [TGetCatalogsReq, None], None, ), # 1 ) @@ -2385,18 +2096,12 @@ class GetCatalogs_result(object): """ - def __init__( - self, - success=None, - ): + + def __init__(self, success=None,): self.success = success def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -2417,13 +2122,11 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) return - oprot.writeStructBegin("GetCatalogs_result") + oprot.writeStructBegin('GetCatalogs_result') if self.success is not None: - oprot.writeFieldBegin("success", TType.STRUCT, 0) + oprot.writeFieldBegin('success', TType.STRUCT, 0) self.success.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -2433,25 +2136,18 @@ def validate(self): return def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) - - all_structs.append(GetCatalogs_result) GetCatalogs_result.thrift_spec = ( - ( - 0, - TType.STRUCT, - "success", - [TGetCatalogsResp, None], - None, - ), # 0 + (0, TType.STRUCT, 'success', [TGetCatalogsResp, None], None, ), # 0 ) @@ -2462,18 +2158,12 @@ class GetSchemas_args(object): """ - def __init__( - self, - req=None, - ): + + def __init__(self, req=None,): self.req = req def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -2494,13 +2184,11 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) return - oprot.writeStructBegin("GetSchemas_args") + oprot.writeStructBegin('GetSchemas_args') if self.req is not None: - oprot.writeFieldBegin("req", TType.STRUCT, 1) + oprot.writeFieldBegin('req', TType.STRUCT, 1) self.req.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -2510,26 +2198,19 @@ def validate(self): return def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) - - all_structs.append(GetSchemas_args) GetSchemas_args.thrift_spec = ( None, # 0 - ( - 1, - TType.STRUCT, - "req", - [TGetSchemasReq, None], - None, - ), # 1 + (1, TType.STRUCT, 'req', [TGetSchemasReq, None], None, ), # 1 ) @@ -2540,18 +2221,12 @@ class GetSchemas_result(object): """ - def __init__( - self, - success=None, - ): + + def __init__(self, success=None,): self.success = success def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -2572,13 +2247,11 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) return - oprot.writeStructBegin("GetSchemas_result") + oprot.writeStructBegin('GetSchemas_result') if self.success is not None: - oprot.writeFieldBegin("success", TType.STRUCT, 0) + oprot.writeFieldBegin('success', TType.STRUCT, 0) self.success.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -2588,25 +2261,18 @@ def validate(self): return def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) - - all_structs.append(GetSchemas_result) GetSchemas_result.thrift_spec = ( - ( - 0, - TType.STRUCT, - "success", - [TGetSchemasResp, None], - None, - ), # 0 + (0, TType.STRUCT, 'success', [TGetSchemasResp, None], None, ), # 0 ) @@ -2617,18 +2283,12 @@ class GetTables_args(object): """ - def __init__( - self, - req=None, - ): + + def __init__(self, req=None,): self.req = req def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -2649,13 +2309,11 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) return - oprot.writeStructBegin("GetTables_args") + oprot.writeStructBegin('GetTables_args') if self.req is not None: - oprot.writeFieldBegin("req", TType.STRUCT, 1) + oprot.writeFieldBegin('req', TType.STRUCT, 1) self.req.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -2665,26 +2323,19 @@ def validate(self): return def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) - - all_structs.append(GetTables_args) GetTables_args.thrift_spec = ( None, # 0 - ( - 1, - TType.STRUCT, - "req", - [TGetTablesReq, None], - None, - ), # 1 + (1, TType.STRUCT, 'req', [TGetTablesReq, None], None, ), # 1 ) @@ -2695,18 +2346,12 @@ class GetTables_result(object): """ - def __init__( - self, - success=None, - ): + + def __init__(self, success=None,): self.success = success def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -2727,13 +2372,11 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) return - oprot.writeStructBegin("GetTables_result") + oprot.writeStructBegin('GetTables_result') if self.success is not None: - oprot.writeFieldBegin("success", TType.STRUCT, 0) + oprot.writeFieldBegin('success', TType.STRUCT, 0) self.success.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -2743,25 +2386,18 @@ def validate(self): return def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) - - all_structs.append(GetTables_result) GetTables_result.thrift_spec = ( - ( - 0, - TType.STRUCT, - "success", - [TGetTablesResp, None], - None, - ), # 0 + (0, TType.STRUCT, 'success', [TGetTablesResp, None], None, ), # 0 ) @@ -2772,18 +2408,12 @@ class GetTableTypes_args(object): """ - def __init__( - self, - req=None, - ): + + def __init__(self, req=None,): self.req = req def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -2804,13 +2434,11 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) return - oprot.writeStructBegin("GetTableTypes_args") + oprot.writeStructBegin('GetTableTypes_args') if self.req is not None: - oprot.writeFieldBegin("req", TType.STRUCT, 1) + oprot.writeFieldBegin('req', TType.STRUCT, 1) self.req.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -2820,26 +2448,19 @@ def validate(self): return def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) - - all_structs.append(GetTableTypes_args) GetTableTypes_args.thrift_spec = ( None, # 0 - ( - 1, - TType.STRUCT, - "req", - [TGetTableTypesReq, None], - None, - ), # 1 + (1, TType.STRUCT, 'req', [TGetTableTypesReq, None], None, ), # 1 ) @@ -2850,18 +2471,12 @@ class GetTableTypes_result(object): """ - def __init__( - self, - success=None, - ): + + def __init__(self, success=None,): self.success = success def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -2882,13 +2497,11 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) return - oprot.writeStructBegin("GetTableTypes_result") + oprot.writeStructBegin('GetTableTypes_result') if self.success is not None: - oprot.writeFieldBegin("success", TType.STRUCT, 0) + oprot.writeFieldBegin('success', TType.STRUCT, 0) self.success.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -2898,25 +2511,18 @@ def validate(self): return def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) - - all_structs.append(GetTableTypes_result) GetTableTypes_result.thrift_spec = ( - ( - 0, - TType.STRUCT, - "success", - [TGetTableTypesResp, None], - None, - ), # 0 + (0, TType.STRUCT, 'success', [TGetTableTypesResp, None], None, ), # 0 ) @@ -2927,18 +2533,12 @@ class GetColumns_args(object): """ - def __init__( - self, - req=None, - ): + + def __init__(self, req=None,): self.req = req def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -2959,13 +2559,11 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) return - oprot.writeStructBegin("GetColumns_args") + oprot.writeStructBegin('GetColumns_args') if self.req is not None: - oprot.writeFieldBegin("req", TType.STRUCT, 1) + oprot.writeFieldBegin('req', TType.STRUCT, 1) self.req.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -2975,26 +2573,19 @@ def validate(self): return def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) - - all_structs.append(GetColumns_args) GetColumns_args.thrift_spec = ( None, # 0 - ( - 1, - TType.STRUCT, - "req", - [TGetColumnsReq, None], - None, - ), # 1 + (1, TType.STRUCT, 'req', [TGetColumnsReq, None], None, ), # 1 ) @@ -3005,18 +2596,12 @@ class GetColumns_result(object): """ - def __init__( - self, - success=None, - ): + + def __init__(self, success=None,): self.success = success def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -3037,13 +2622,11 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) return - oprot.writeStructBegin("GetColumns_result") + oprot.writeStructBegin('GetColumns_result') if self.success is not None: - oprot.writeFieldBegin("success", TType.STRUCT, 0) + oprot.writeFieldBegin('success', TType.STRUCT, 0) self.success.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -3053,25 +2636,18 @@ def validate(self): return def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) - - all_structs.append(GetColumns_result) GetColumns_result.thrift_spec = ( - ( - 0, - TType.STRUCT, - "success", - [TGetColumnsResp, None], - None, - ), # 0 + (0, TType.STRUCT, 'success', [TGetColumnsResp, None], None, ), # 0 ) @@ -3082,18 +2658,12 @@ class GetFunctions_args(object): """ - def __init__( - self, - req=None, - ): + + def __init__(self, req=None,): self.req = req def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -3114,13 +2684,11 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) return - oprot.writeStructBegin("GetFunctions_args") + oprot.writeStructBegin('GetFunctions_args') if self.req is not None: - oprot.writeFieldBegin("req", TType.STRUCT, 1) + oprot.writeFieldBegin('req', TType.STRUCT, 1) self.req.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -3130,26 +2698,19 @@ def validate(self): return def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) - - all_structs.append(GetFunctions_args) GetFunctions_args.thrift_spec = ( None, # 0 - ( - 1, - TType.STRUCT, - "req", - [TGetFunctionsReq, None], - None, - ), # 1 + (1, TType.STRUCT, 'req', [TGetFunctionsReq, None], None, ), # 1 ) @@ -3160,18 +2721,12 @@ class GetFunctions_result(object): """ - def __init__( - self, - success=None, - ): + + def __init__(self, success=None,): self.success = success def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -3192,13 +2747,11 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) return - oprot.writeStructBegin("GetFunctions_result") + oprot.writeStructBegin('GetFunctions_result') if self.success is not None: - oprot.writeFieldBegin("success", TType.STRUCT, 0) + oprot.writeFieldBegin('success', TType.STRUCT, 0) self.success.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -3208,25 +2761,18 @@ def validate(self): return def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) - - all_structs.append(GetFunctions_result) GetFunctions_result.thrift_spec = ( - ( - 0, - TType.STRUCT, - "success", - [TGetFunctionsResp, None], - None, - ), # 0 + (0, TType.STRUCT, 'success', [TGetFunctionsResp, None], None, ), # 0 ) @@ -3237,18 +2783,12 @@ class GetPrimaryKeys_args(object): """ - def __init__( - self, - req=None, - ): + + def __init__(self, req=None,): self.req = req def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -3269,13 +2809,11 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) return - oprot.writeStructBegin("GetPrimaryKeys_args") + oprot.writeStructBegin('GetPrimaryKeys_args') if self.req is not None: - oprot.writeFieldBegin("req", TType.STRUCT, 1) + oprot.writeFieldBegin('req', TType.STRUCT, 1) self.req.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -3285,26 +2823,19 @@ def validate(self): return def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) - - all_structs.append(GetPrimaryKeys_args) GetPrimaryKeys_args.thrift_spec = ( None, # 0 - ( - 1, - TType.STRUCT, - "req", - [TGetPrimaryKeysReq, None], - None, - ), # 1 + (1, TType.STRUCT, 'req', [TGetPrimaryKeysReq, None], None, ), # 1 ) @@ -3315,18 +2846,12 @@ class GetPrimaryKeys_result(object): """ - def __init__( - self, - success=None, - ): + + def __init__(self, success=None,): self.success = success def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -3347,13 +2872,11 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) return - oprot.writeStructBegin("GetPrimaryKeys_result") + oprot.writeStructBegin('GetPrimaryKeys_result') if self.success is not None: - oprot.writeFieldBegin("success", TType.STRUCT, 0) + oprot.writeFieldBegin('success', TType.STRUCT, 0) self.success.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -3363,25 +2886,18 @@ def validate(self): return def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) - - all_structs.append(GetPrimaryKeys_result) GetPrimaryKeys_result.thrift_spec = ( - ( - 0, - TType.STRUCT, - "success", - [TGetPrimaryKeysResp, None], - None, - ), # 0 + (0, TType.STRUCT, 'success', [TGetPrimaryKeysResp, None], None, ), # 0 ) @@ -3392,18 +2908,12 @@ class GetCrossReference_args(object): """ - def __init__( - self, - req=None, - ): + + def __init__(self, req=None,): self.req = req def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -3424,13 +2934,11 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) return - oprot.writeStructBegin("GetCrossReference_args") + oprot.writeStructBegin('GetCrossReference_args') if self.req is not None: - oprot.writeFieldBegin("req", TType.STRUCT, 1) + oprot.writeFieldBegin('req', TType.STRUCT, 1) self.req.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -3440,26 +2948,19 @@ def validate(self): return def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) - - all_structs.append(GetCrossReference_args) GetCrossReference_args.thrift_spec = ( None, # 0 - ( - 1, - TType.STRUCT, - "req", - [TGetCrossReferenceReq, None], - None, - ), # 1 + (1, TType.STRUCT, 'req', [TGetCrossReferenceReq, None], None, ), # 1 ) @@ -3470,18 +2971,12 @@ class GetCrossReference_result(object): """ - def __init__( - self, - success=None, - ): + + def __init__(self, success=None,): self.success = success def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -3502,13 +2997,11 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) return - oprot.writeStructBegin("GetCrossReference_result") + oprot.writeStructBegin('GetCrossReference_result') if self.success is not None: - oprot.writeFieldBegin("success", TType.STRUCT, 0) + oprot.writeFieldBegin('success', TType.STRUCT, 0) self.success.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -3518,25 +3011,18 @@ def validate(self): return def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) - - all_structs.append(GetCrossReference_result) GetCrossReference_result.thrift_spec = ( - ( - 0, - TType.STRUCT, - "success", - [TGetCrossReferenceResp, None], - None, - ), # 0 + (0, TType.STRUCT, 'success', [TGetCrossReferenceResp, None], None, ), # 0 ) @@ -3547,18 +3033,12 @@ class GetOperationStatus_args(object): """ - def __init__( - self, - req=None, - ): + + def __init__(self, req=None,): self.req = req def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -3579,13 +3059,11 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) return - oprot.writeStructBegin("GetOperationStatus_args") + oprot.writeStructBegin('GetOperationStatus_args') if self.req is not None: - oprot.writeFieldBegin("req", TType.STRUCT, 1) + oprot.writeFieldBegin('req', TType.STRUCT, 1) self.req.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -3595,26 +3073,19 @@ def validate(self): return def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) - - all_structs.append(GetOperationStatus_args) GetOperationStatus_args.thrift_spec = ( None, # 0 - ( - 1, - TType.STRUCT, - "req", - [TGetOperationStatusReq, None], - None, - ), # 1 + (1, TType.STRUCT, 'req', [TGetOperationStatusReq, None], None, ), # 1 ) @@ -3625,18 +3096,12 @@ class GetOperationStatus_result(object): """ - def __init__( - self, - success=None, - ): + + def __init__(self, success=None,): self.success = success def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -3657,13 +3122,11 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) return - oprot.writeStructBegin("GetOperationStatus_result") + oprot.writeStructBegin('GetOperationStatus_result') if self.success is not None: - oprot.writeFieldBegin("success", TType.STRUCT, 0) + oprot.writeFieldBegin('success', TType.STRUCT, 0) self.success.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -3673,25 +3136,18 @@ def validate(self): return def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) - - all_structs.append(GetOperationStatus_result) GetOperationStatus_result.thrift_spec = ( - ( - 0, - TType.STRUCT, - "success", - [TGetOperationStatusResp, None], - None, - ), # 0 + (0, TType.STRUCT, 'success', [TGetOperationStatusResp, None], None, ), # 0 ) @@ -3702,18 +3158,12 @@ class CancelOperation_args(object): """ - def __init__( - self, - req=None, - ): + + def __init__(self, req=None,): self.req = req def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -3734,13 +3184,11 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) return - oprot.writeStructBegin("CancelOperation_args") + oprot.writeStructBegin('CancelOperation_args') if self.req is not None: - oprot.writeFieldBegin("req", TType.STRUCT, 1) + oprot.writeFieldBegin('req', TType.STRUCT, 1) self.req.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -3750,26 +3198,19 @@ def validate(self): return def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) - - all_structs.append(CancelOperation_args) CancelOperation_args.thrift_spec = ( None, # 0 - ( - 1, - TType.STRUCT, - "req", - [TCancelOperationReq, None], - None, - ), # 1 + (1, TType.STRUCT, 'req', [TCancelOperationReq, None], None, ), # 1 ) @@ -3780,18 +3221,12 @@ class CancelOperation_result(object): """ - def __init__( - self, - success=None, - ): + + def __init__(self, success=None,): self.success = success def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -3812,13 +3247,11 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) return - oprot.writeStructBegin("CancelOperation_result") + oprot.writeStructBegin('CancelOperation_result') if self.success is not None: - oprot.writeFieldBegin("success", TType.STRUCT, 0) + oprot.writeFieldBegin('success', TType.STRUCT, 0) self.success.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -3828,25 +3261,18 @@ def validate(self): return def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) - - all_structs.append(CancelOperation_result) CancelOperation_result.thrift_spec = ( - ( - 0, - TType.STRUCT, - "success", - [TCancelOperationResp, None], - None, - ), # 0 + (0, TType.STRUCT, 'success', [TCancelOperationResp, None], None, ), # 0 ) @@ -3857,18 +3283,12 @@ class CloseOperation_args(object): """ - def __init__( - self, - req=None, - ): + + def __init__(self, req=None,): self.req = req def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -3889,13 +3309,11 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) return - oprot.writeStructBegin("CloseOperation_args") + oprot.writeStructBegin('CloseOperation_args') if self.req is not None: - oprot.writeFieldBegin("req", TType.STRUCT, 1) + oprot.writeFieldBegin('req', TType.STRUCT, 1) self.req.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -3905,26 +3323,19 @@ def validate(self): return def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) - - all_structs.append(CloseOperation_args) CloseOperation_args.thrift_spec = ( None, # 0 - ( - 1, - TType.STRUCT, - "req", - [TCloseOperationReq, None], - None, - ), # 1 + (1, TType.STRUCT, 'req', [TCloseOperationReq, None], None, ), # 1 ) @@ -3935,18 +3346,12 @@ class CloseOperation_result(object): """ - def __init__( - self, - success=None, - ): + + def __init__(self, success=None,): self.success = success def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -3967,13 +3372,11 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) return - oprot.writeStructBegin("CloseOperation_result") + oprot.writeStructBegin('CloseOperation_result') if self.success is not None: - oprot.writeFieldBegin("success", TType.STRUCT, 0) + oprot.writeFieldBegin('success', TType.STRUCT, 0) self.success.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -3983,25 +3386,18 @@ def validate(self): return def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) - - all_structs.append(CloseOperation_result) CloseOperation_result.thrift_spec = ( - ( - 0, - TType.STRUCT, - "success", - [TCloseOperationResp, None], - None, - ), # 0 + (0, TType.STRUCT, 'success', [TCloseOperationResp, None], None, ), # 0 ) @@ -4012,18 +3408,12 @@ class GetResultSetMetadata_args(object): """ - def __init__( - self, - req=None, - ): + + def __init__(self, req=None,): self.req = req def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -4044,13 +3434,11 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) return - oprot.writeStructBegin("GetResultSetMetadata_args") + oprot.writeStructBegin('GetResultSetMetadata_args') if self.req is not None: - oprot.writeFieldBegin("req", TType.STRUCT, 1) + oprot.writeFieldBegin('req', TType.STRUCT, 1) self.req.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -4060,26 +3448,19 @@ def validate(self): return def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) - - all_structs.append(GetResultSetMetadata_args) GetResultSetMetadata_args.thrift_spec = ( None, # 0 - ( - 1, - TType.STRUCT, - "req", - [TGetResultSetMetadataReq, None], - None, - ), # 1 + (1, TType.STRUCT, 'req', [TGetResultSetMetadataReq, None], None, ), # 1 ) @@ -4090,18 +3471,12 @@ class GetResultSetMetadata_result(object): """ - def __init__( - self, - success=None, - ): + + def __init__(self, success=None,): self.success = success def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -4122,13 +3497,11 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) return - oprot.writeStructBegin("GetResultSetMetadata_result") + oprot.writeStructBegin('GetResultSetMetadata_result') if self.success is not None: - oprot.writeFieldBegin("success", TType.STRUCT, 0) + oprot.writeFieldBegin('success', TType.STRUCT, 0) self.success.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -4138,25 +3511,18 @@ def validate(self): return def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) - - all_structs.append(GetResultSetMetadata_result) GetResultSetMetadata_result.thrift_spec = ( - ( - 0, - TType.STRUCT, - "success", - [TGetResultSetMetadataResp, None], - None, - ), # 0 + (0, TType.STRUCT, 'success', [TGetResultSetMetadataResp, None], None, ), # 0 ) @@ -4167,18 +3533,12 @@ class FetchResults_args(object): """ - def __init__( - self, - req=None, - ): + + def __init__(self, req=None,): self.req = req def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -4199,13 +3559,11 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) return - oprot.writeStructBegin("FetchResults_args") + oprot.writeStructBegin('FetchResults_args') if self.req is not None: - oprot.writeFieldBegin("req", TType.STRUCT, 1) + oprot.writeFieldBegin('req', TType.STRUCT, 1) self.req.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -4215,26 +3573,19 @@ def validate(self): return def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) - - all_structs.append(FetchResults_args) FetchResults_args.thrift_spec = ( None, # 0 - ( - 1, - TType.STRUCT, - "req", - [TFetchResultsReq, None], - None, - ), # 1 + (1, TType.STRUCT, 'req', [TFetchResultsReq, None], None, ), # 1 ) @@ -4245,18 +3596,12 @@ class FetchResults_result(object): """ - def __init__( - self, - success=None, - ): + + def __init__(self, success=None,): self.success = success def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -4277,13 +3622,11 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) return - oprot.writeStructBegin("FetchResults_result") + oprot.writeStructBegin('FetchResults_result') if self.success is not None: - oprot.writeFieldBegin("success", TType.STRUCT, 0) + oprot.writeFieldBegin('success', TType.STRUCT, 0) self.success.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -4293,25 +3636,18 @@ def validate(self): return def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) - - all_structs.append(FetchResults_result) FetchResults_result.thrift_spec = ( - ( - 0, - TType.STRUCT, - "success", - [TFetchResultsResp, None], - None, - ), # 0 + (0, TType.STRUCT, 'success', [TFetchResultsResp, None], None, ), # 0 ) @@ -4322,18 +3658,12 @@ class GetDelegationToken_args(object): """ - def __init__( - self, - req=None, - ): + + def __init__(self, req=None,): self.req = req def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -4354,13 +3684,11 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) return - oprot.writeStructBegin("GetDelegationToken_args") + oprot.writeStructBegin('GetDelegationToken_args') if self.req is not None: - oprot.writeFieldBegin("req", TType.STRUCT, 1) + oprot.writeFieldBegin('req', TType.STRUCT, 1) self.req.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -4370,26 +3698,19 @@ def validate(self): return def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) - - all_structs.append(GetDelegationToken_args) GetDelegationToken_args.thrift_spec = ( None, # 0 - ( - 1, - TType.STRUCT, - "req", - [TGetDelegationTokenReq, None], - None, - ), # 1 + (1, TType.STRUCT, 'req', [TGetDelegationTokenReq, None], None, ), # 1 ) @@ -4400,18 +3721,12 @@ class GetDelegationToken_result(object): """ - def __init__( - self, - success=None, - ): + + def __init__(self, success=None,): self.success = success def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -4432,13 +3747,11 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) return - oprot.writeStructBegin("GetDelegationToken_result") + oprot.writeStructBegin('GetDelegationToken_result') if self.success is not None: - oprot.writeFieldBegin("success", TType.STRUCT, 0) + oprot.writeFieldBegin('success', TType.STRUCT, 0) self.success.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -4448,25 +3761,18 @@ def validate(self): return def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) - - all_structs.append(GetDelegationToken_result) GetDelegationToken_result.thrift_spec = ( - ( - 0, - TType.STRUCT, - "success", - [TGetDelegationTokenResp, None], - None, - ), # 0 + (0, TType.STRUCT, 'success', [TGetDelegationTokenResp, None], None, ), # 0 ) @@ -4477,18 +3783,12 @@ class CancelDelegationToken_args(object): """ - def __init__( - self, - req=None, - ): + + def __init__(self, req=None,): self.req = req def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -4509,13 +3809,11 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) return - oprot.writeStructBegin("CancelDelegationToken_args") + oprot.writeStructBegin('CancelDelegationToken_args') if self.req is not None: - oprot.writeFieldBegin("req", TType.STRUCT, 1) + oprot.writeFieldBegin('req', TType.STRUCT, 1) self.req.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -4525,26 +3823,19 @@ def validate(self): return def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) - - all_structs.append(CancelDelegationToken_args) CancelDelegationToken_args.thrift_spec = ( None, # 0 - ( - 1, - TType.STRUCT, - "req", - [TCancelDelegationTokenReq, None], - None, - ), # 1 + (1, TType.STRUCT, 'req', [TCancelDelegationTokenReq, None], None, ), # 1 ) @@ -4555,18 +3846,12 @@ class CancelDelegationToken_result(object): """ - def __init__( - self, - success=None, - ): + + def __init__(self, success=None,): self.success = success def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -4587,13 +3872,11 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) return - oprot.writeStructBegin("CancelDelegationToken_result") + oprot.writeStructBegin('CancelDelegationToken_result') if self.success is not None: - oprot.writeFieldBegin("success", TType.STRUCT, 0) + oprot.writeFieldBegin('success', TType.STRUCT, 0) self.success.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -4603,25 +3886,18 @@ def validate(self): return def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) - - all_structs.append(CancelDelegationToken_result) CancelDelegationToken_result.thrift_spec = ( - ( - 0, - TType.STRUCT, - "success", - [TCancelDelegationTokenResp, None], - None, - ), # 0 + (0, TType.STRUCT, 'success', [TCancelDelegationTokenResp, None], None, ), # 0 ) @@ -4632,18 +3908,12 @@ class RenewDelegationToken_args(object): """ - def __init__( - self, - req=None, - ): + + def __init__(self, req=None,): self.req = req def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -4664,13 +3934,11 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) return - oprot.writeStructBegin("RenewDelegationToken_args") + oprot.writeStructBegin('RenewDelegationToken_args') if self.req is not None: - oprot.writeFieldBegin("req", TType.STRUCT, 1) + oprot.writeFieldBegin('req', TType.STRUCT, 1) self.req.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -4680,26 +3948,19 @@ def validate(self): return def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) - - all_structs.append(RenewDelegationToken_args) RenewDelegationToken_args.thrift_spec = ( None, # 0 - ( - 1, - TType.STRUCT, - "req", - [TRenewDelegationTokenReq, None], - None, - ), # 1 + (1, TType.STRUCT, 'req', [TRenewDelegationTokenReq, None], None, ), # 1 ) @@ -4710,18 +3971,12 @@ class RenewDelegationToken_result(object): """ - def __init__( - self, - success=None, - ): + + def __init__(self, success=None,): self.success = success def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() @@ -4742,13 +3997,11 @@ def read(self, iprot): def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) return - oprot.writeStructBegin("RenewDelegationToken_result") + oprot.writeStructBegin('RenewDelegationToken_result') if self.success is not None: - oprot.writeFieldBegin("success", TType.STRUCT, 0) + oprot.writeFieldBegin('success', TType.STRUCT, 0) self.success.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -4758,25 +4011,18 @@ def validate(self): return def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) def __eq__(self, other): return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) - - all_structs.append(RenewDelegationToken_result) RenewDelegationToken_result.thrift_spec = ( - ( - 0, - TType.STRUCT, - "success", - [TRenewDelegationTokenResp, None], - None, - ), # 0 + (0, TType.STRUCT, 'success', [TRenewDelegationTokenResp, None], None, ), # 0 ) fix_spec(all_structs) del all_structs diff --git a/databricks_sql_connector_core/src/databricks/sql/thrift_api/TCLIService/constants.py b/databricks_sql_connector_core/src/databricks/sql/thrift_api/TCLIService/constants.py index e47fd6f9..18adb870 100644 --- a/databricks_sql_connector_core/src/databricks/sql/thrift_api/TCLIService/constants.py +++ b/databricks_sql_connector_core/src/databricks/sql/thrift_api/TCLIService/constants.py @@ -6,55 +6,42 @@ # options string: py # -from thrift.Thrift import ( - TType, - TMessageType, - TFrozenDict, - TException, - TApplicationException, -) +from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException from thrift.protocol.TProtocol import TProtocolException from thrift.TRecursive import fix_spec import sys from .ttypes import * - -PRIMITIVE_TYPES = set( - ( - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - ) -) -COMPLEX_TYPES = set( - ( - 10, - 11, - 12, - 13, - 14, - ) -) -COLLECTION_TYPES = set( - ( - 10, - 11, - ) -) +PRIMITIVE_TYPES = set(( + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 15, + 16, + 17, + 18, + 19, + 20, + 21, +)) +COMPLEX_TYPES = set(( + 10, + 11, + 12, + 13, + 14, +)) +COLLECTION_TYPES = set(( + 10, + 11, +)) TYPE_NAMES = { 10: "ARRAY", 4: "BIGINT", From e7cf5c37ed2660e9637139fb8ebf8d9653562456 Mon Sep 17 00:00:00 2001 From: Jothi Prakash Date: Wed, 18 Sep 2024 14:00:09 +0530 Subject: [PATCH 47/53] Check --- .../sql/thrift_api/TCLIService/ttypes.py | 224794 +++++++-------- 1 file changed, 110276 insertions(+), 114518 deletions(-) diff --git a/databricks_sql_connector_core/src/databricks/sql/thrift_api/TCLIService/ttypes.py b/databricks_sql_connector_core/src/databricks/sql/thrift_api/TCLIService/ttypes.py index c0cd0803..cb67d552 100644 --- a/databricks_sql_connector_core/src/databricks/sql/thrift_api/TCLIService/ttypes.py +++ b/databricks_sql_connector_core/src/databricks/sql/thrift_api/TCLIService/ttypes.py @@ -6,1297 +6,1197 @@ # options string: py # -from thrift.Thrift import ( - TType, - TMessageType, - TFrozenDict, - TException, - TApplicationException, -) +from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException from thrift.protocol.TProtocol import TProtocolException from thrift.TRecursive import fix_spec import sys from thrift.transport import TTransport - all_structs = [] class TProtocolVersion(object): - __HIVE_JDBC_WORKAROUND = -7 - __TEST_PROTOCOL_VERSION = 65281 - HIVE_CLI_SERVICE_PROTOCOL_V1 = 0 - HIVE_CLI_SERVICE_PROTOCOL_V2 = 1 - HIVE_CLI_SERVICE_PROTOCOL_V3 = 2 - HIVE_CLI_SERVICE_PROTOCOL_V4 = 3 - HIVE_CLI_SERVICE_PROTOCOL_V5 = 4 - HIVE_CLI_SERVICE_PROTOCOL_V6 = 5 - HIVE_CLI_SERVICE_PROTOCOL_V7 = 6 - HIVE_CLI_SERVICE_PROTOCOL_V8 = 7 - HIVE_CLI_SERVICE_PROTOCOL_V9 = 8 - HIVE_CLI_SERVICE_PROTOCOL_V10 = 9 - SPARK_CLI_SERVICE_PROTOCOL_V1 = 42241 - SPARK_CLI_SERVICE_PROTOCOL_V2 = 42242 - SPARK_CLI_SERVICE_PROTOCOL_V3 = 42243 - SPARK_CLI_SERVICE_PROTOCOL_V4 = 42244 - SPARK_CLI_SERVICE_PROTOCOL_V5 = 42245 - SPARK_CLI_SERVICE_PROTOCOL_V6 = 42246 - SPARK_CLI_SERVICE_PROTOCOL_V7 = 42247 - SPARK_CLI_SERVICE_PROTOCOL_V8 = 42248 - - _VALUES_TO_NAMES = { - -7: "__HIVE_JDBC_WORKAROUND", - 65281: "__TEST_PROTOCOL_VERSION", - 0: "HIVE_CLI_SERVICE_PROTOCOL_V1", - 1: "HIVE_CLI_SERVICE_PROTOCOL_V2", - 2: "HIVE_CLI_SERVICE_PROTOCOL_V3", - 3: "HIVE_CLI_SERVICE_PROTOCOL_V4", - 4: "HIVE_CLI_SERVICE_PROTOCOL_V5", - 5: "HIVE_CLI_SERVICE_PROTOCOL_V6", - 6: "HIVE_CLI_SERVICE_PROTOCOL_V7", - 7: "HIVE_CLI_SERVICE_PROTOCOL_V8", - 8: "HIVE_CLI_SERVICE_PROTOCOL_V9", - 9: "HIVE_CLI_SERVICE_PROTOCOL_V10", - 42241: "SPARK_CLI_SERVICE_PROTOCOL_V1", - 42242: "SPARK_CLI_SERVICE_PROTOCOL_V2", - 42243: "SPARK_CLI_SERVICE_PROTOCOL_V3", - 42244: "SPARK_CLI_SERVICE_PROTOCOL_V4", - 42245: "SPARK_CLI_SERVICE_PROTOCOL_V5", - 42246: "SPARK_CLI_SERVICE_PROTOCOL_V6", - 42247: "SPARK_CLI_SERVICE_PROTOCOL_V7", - 42248: "SPARK_CLI_SERVICE_PROTOCOL_V8", - } - - _NAMES_TO_VALUES = { - "__HIVE_JDBC_WORKAROUND": -7, - "__TEST_PROTOCOL_VERSION": 65281, - "HIVE_CLI_SERVICE_PROTOCOL_V1": 0, - "HIVE_CLI_SERVICE_PROTOCOL_V2": 1, - "HIVE_CLI_SERVICE_PROTOCOL_V3": 2, - "HIVE_CLI_SERVICE_PROTOCOL_V4": 3, - "HIVE_CLI_SERVICE_PROTOCOL_V5": 4, - "HIVE_CLI_SERVICE_PROTOCOL_V6": 5, - "HIVE_CLI_SERVICE_PROTOCOL_V7": 6, - "HIVE_CLI_SERVICE_PROTOCOL_V8": 7, - "HIVE_CLI_SERVICE_PROTOCOL_V9": 8, - "HIVE_CLI_SERVICE_PROTOCOL_V10": 9, - "SPARK_CLI_SERVICE_PROTOCOL_V1": 42241, - "SPARK_CLI_SERVICE_PROTOCOL_V2": 42242, - "SPARK_CLI_SERVICE_PROTOCOL_V3": 42243, - "SPARK_CLI_SERVICE_PROTOCOL_V4": 42244, - "SPARK_CLI_SERVICE_PROTOCOL_V5": 42245, - "SPARK_CLI_SERVICE_PROTOCOL_V6": 42246, - "SPARK_CLI_SERVICE_PROTOCOL_V7": 42247, - "SPARK_CLI_SERVICE_PROTOCOL_V8": 42248, - } + __HIVE_JDBC_WORKAROUND = -7 + __TEST_PROTOCOL_VERSION = 65281 + HIVE_CLI_SERVICE_PROTOCOL_V1 = 0 + HIVE_CLI_SERVICE_PROTOCOL_V2 = 1 + HIVE_CLI_SERVICE_PROTOCOL_V3 = 2 + HIVE_CLI_SERVICE_PROTOCOL_V4 = 3 + HIVE_CLI_SERVICE_PROTOCOL_V5 = 4 + HIVE_CLI_SERVICE_PROTOCOL_V6 = 5 + HIVE_CLI_SERVICE_PROTOCOL_V7 = 6 + HIVE_CLI_SERVICE_PROTOCOL_V8 = 7 + HIVE_CLI_SERVICE_PROTOCOL_V9 = 8 + HIVE_CLI_SERVICE_PROTOCOL_V10 = 9 + SPARK_CLI_SERVICE_PROTOCOL_V1 = 42241 + SPARK_CLI_SERVICE_PROTOCOL_V2 = 42242 + SPARK_CLI_SERVICE_PROTOCOL_V3 = 42243 + SPARK_CLI_SERVICE_PROTOCOL_V4 = 42244 + SPARK_CLI_SERVICE_PROTOCOL_V5 = 42245 + SPARK_CLI_SERVICE_PROTOCOL_V6 = 42246 + SPARK_CLI_SERVICE_PROTOCOL_V7 = 42247 + SPARK_CLI_SERVICE_PROTOCOL_V8 = 42248 + + _VALUES_TO_NAMES = { + -7: "__HIVE_JDBC_WORKAROUND", + 65281: "__TEST_PROTOCOL_VERSION", + 0: "HIVE_CLI_SERVICE_PROTOCOL_V1", + 1: "HIVE_CLI_SERVICE_PROTOCOL_V2", + 2: "HIVE_CLI_SERVICE_PROTOCOL_V3", + 3: "HIVE_CLI_SERVICE_PROTOCOL_V4", + 4: "HIVE_CLI_SERVICE_PROTOCOL_V5", + 5: "HIVE_CLI_SERVICE_PROTOCOL_V6", + 6: "HIVE_CLI_SERVICE_PROTOCOL_V7", + 7: "HIVE_CLI_SERVICE_PROTOCOL_V8", + 8: "HIVE_CLI_SERVICE_PROTOCOL_V9", + 9: "HIVE_CLI_SERVICE_PROTOCOL_V10", + 42241: "SPARK_CLI_SERVICE_PROTOCOL_V1", + 42242: "SPARK_CLI_SERVICE_PROTOCOL_V2", + 42243: "SPARK_CLI_SERVICE_PROTOCOL_V3", + 42244: "SPARK_CLI_SERVICE_PROTOCOL_V4", + 42245: "SPARK_CLI_SERVICE_PROTOCOL_V5", + 42246: "SPARK_CLI_SERVICE_PROTOCOL_V6", + 42247: "SPARK_CLI_SERVICE_PROTOCOL_V7", + 42248: "SPARK_CLI_SERVICE_PROTOCOL_V8", + } + + _NAMES_TO_VALUES = { + "__HIVE_JDBC_WORKAROUND": -7, + "__TEST_PROTOCOL_VERSION": 65281, + "HIVE_CLI_SERVICE_PROTOCOL_V1": 0, + "HIVE_CLI_SERVICE_PROTOCOL_V2": 1, + "HIVE_CLI_SERVICE_PROTOCOL_V3": 2, + "HIVE_CLI_SERVICE_PROTOCOL_V4": 3, + "HIVE_CLI_SERVICE_PROTOCOL_V5": 4, + "HIVE_CLI_SERVICE_PROTOCOL_V6": 5, + "HIVE_CLI_SERVICE_PROTOCOL_V7": 6, + "HIVE_CLI_SERVICE_PROTOCOL_V8": 7, + "HIVE_CLI_SERVICE_PROTOCOL_V9": 8, + "HIVE_CLI_SERVICE_PROTOCOL_V10": 9, + "SPARK_CLI_SERVICE_PROTOCOL_V1": 42241, + "SPARK_CLI_SERVICE_PROTOCOL_V2": 42242, + "SPARK_CLI_SERVICE_PROTOCOL_V3": 42243, + "SPARK_CLI_SERVICE_PROTOCOL_V4": 42244, + "SPARK_CLI_SERVICE_PROTOCOL_V5": 42245, + "SPARK_CLI_SERVICE_PROTOCOL_V6": 42246, + "SPARK_CLI_SERVICE_PROTOCOL_V7": 42247, + "SPARK_CLI_SERVICE_PROTOCOL_V8": 42248, + } class TTypeId(object): - BOOLEAN_TYPE = 0 - TINYINT_TYPE = 1 - SMALLINT_TYPE = 2 - INT_TYPE = 3 - BIGINT_TYPE = 4 - FLOAT_TYPE = 5 - DOUBLE_TYPE = 6 - STRING_TYPE = 7 - TIMESTAMP_TYPE = 8 - BINARY_TYPE = 9 - ARRAY_TYPE = 10 - MAP_TYPE = 11 - STRUCT_TYPE = 12 - UNION_TYPE = 13 - USER_DEFINED_TYPE = 14 - DECIMAL_TYPE = 15 - NULL_TYPE = 16 - DATE_TYPE = 17 - VARCHAR_TYPE = 18 - CHAR_TYPE = 19 - INTERVAL_YEAR_MONTH_TYPE = 20 - INTERVAL_DAY_TIME_TYPE = 21 - - _VALUES_TO_NAMES = { - 0: "BOOLEAN_TYPE", - 1: "TINYINT_TYPE", - 2: "SMALLINT_TYPE", - 3: "INT_TYPE", - 4: "BIGINT_TYPE", - 5: "FLOAT_TYPE", - 6: "DOUBLE_TYPE", - 7: "STRING_TYPE", - 8: "TIMESTAMP_TYPE", - 9: "BINARY_TYPE", - 10: "ARRAY_TYPE", - 11: "MAP_TYPE", - 12: "STRUCT_TYPE", - 13: "UNION_TYPE", - 14: "USER_DEFINED_TYPE", - 15: "DECIMAL_TYPE", - 16: "NULL_TYPE", - 17: "DATE_TYPE", - 18: "VARCHAR_TYPE", - 19: "CHAR_TYPE", - 20: "INTERVAL_YEAR_MONTH_TYPE", - 21: "INTERVAL_DAY_TIME_TYPE", - } - - _NAMES_TO_VALUES = { - "BOOLEAN_TYPE": 0, - "TINYINT_TYPE": 1, - "SMALLINT_TYPE": 2, - "INT_TYPE": 3, - "BIGINT_TYPE": 4, - "FLOAT_TYPE": 5, - "DOUBLE_TYPE": 6, - "STRING_TYPE": 7, - "TIMESTAMP_TYPE": 8, - "BINARY_TYPE": 9, - "ARRAY_TYPE": 10, - "MAP_TYPE": 11, - "STRUCT_TYPE": 12, - "UNION_TYPE": 13, - "USER_DEFINED_TYPE": 14, - "DECIMAL_TYPE": 15, - "NULL_TYPE": 16, - "DATE_TYPE": 17, - "VARCHAR_TYPE": 18, - "CHAR_TYPE": 19, - "INTERVAL_YEAR_MONTH_TYPE": 20, - "INTERVAL_DAY_TIME_TYPE": 21, - } + BOOLEAN_TYPE = 0 + TINYINT_TYPE = 1 + SMALLINT_TYPE = 2 + INT_TYPE = 3 + BIGINT_TYPE = 4 + FLOAT_TYPE = 5 + DOUBLE_TYPE = 6 + STRING_TYPE = 7 + TIMESTAMP_TYPE = 8 + BINARY_TYPE = 9 + ARRAY_TYPE = 10 + MAP_TYPE = 11 + STRUCT_TYPE = 12 + UNION_TYPE = 13 + USER_DEFINED_TYPE = 14 + DECIMAL_TYPE = 15 + NULL_TYPE = 16 + DATE_TYPE = 17 + VARCHAR_TYPE = 18 + CHAR_TYPE = 19 + INTERVAL_YEAR_MONTH_TYPE = 20 + INTERVAL_DAY_TIME_TYPE = 21 + + _VALUES_TO_NAMES = { + 0: "BOOLEAN_TYPE", + 1: "TINYINT_TYPE", + 2: "SMALLINT_TYPE", + 3: "INT_TYPE", + 4: "BIGINT_TYPE", + 5: "FLOAT_TYPE", + 6: "DOUBLE_TYPE", + 7: "STRING_TYPE", + 8: "TIMESTAMP_TYPE", + 9: "BINARY_TYPE", + 10: "ARRAY_TYPE", + 11: "MAP_TYPE", + 12: "STRUCT_TYPE", + 13: "UNION_TYPE", + 14: "USER_DEFINED_TYPE", + 15: "DECIMAL_TYPE", + 16: "NULL_TYPE", + 17: "DATE_TYPE", + 18: "VARCHAR_TYPE", + 19: "CHAR_TYPE", + 20: "INTERVAL_YEAR_MONTH_TYPE", + 21: "INTERVAL_DAY_TIME_TYPE", + } + + _NAMES_TO_VALUES = { + "BOOLEAN_TYPE": 0, + "TINYINT_TYPE": 1, + "SMALLINT_TYPE": 2, + "INT_TYPE": 3, + "BIGINT_TYPE": 4, + "FLOAT_TYPE": 5, + "DOUBLE_TYPE": 6, + "STRING_TYPE": 7, + "TIMESTAMP_TYPE": 8, + "BINARY_TYPE": 9, + "ARRAY_TYPE": 10, + "MAP_TYPE": 11, + "STRUCT_TYPE": 12, + "UNION_TYPE": 13, + "USER_DEFINED_TYPE": 14, + "DECIMAL_TYPE": 15, + "NULL_TYPE": 16, + "DATE_TYPE": 17, + "VARCHAR_TYPE": 18, + "CHAR_TYPE": 19, + "INTERVAL_YEAR_MONTH_TYPE": 20, + "INTERVAL_DAY_TIME_TYPE": 21, + } class TSparkRowSetType(object): - ARROW_BASED_SET = 0 - COLUMN_BASED_SET = 1 - ROW_BASED_SET = 2 - URL_BASED_SET = 3 - - _VALUES_TO_NAMES = { - 0: "ARROW_BASED_SET", - 1: "COLUMN_BASED_SET", - 2: "ROW_BASED_SET", - 3: "URL_BASED_SET", - } - - _NAMES_TO_VALUES = { - "ARROW_BASED_SET": 0, - "COLUMN_BASED_SET": 1, - "ROW_BASED_SET": 2, - "URL_BASED_SET": 3, - } + ARROW_BASED_SET = 0 + COLUMN_BASED_SET = 1 + ROW_BASED_SET = 2 + URL_BASED_SET = 3 + + _VALUES_TO_NAMES = { + 0: "ARROW_BASED_SET", + 1: "COLUMN_BASED_SET", + 2: "ROW_BASED_SET", + 3: "URL_BASED_SET", + } + + _NAMES_TO_VALUES = { + "ARROW_BASED_SET": 0, + "COLUMN_BASED_SET": 1, + "ROW_BASED_SET": 2, + "URL_BASED_SET": 3, + } class TDBSqlCompressionCodec(object): - NONE = 0 - LZ4_FRAME = 1 - LZ4_BLOCK = 2 + NONE = 0 + LZ4_FRAME = 1 + LZ4_BLOCK = 2 - _VALUES_TO_NAMES = { - 0: "NONE", - 1: "LZ4_FRAME", - 2: "LZ4_BLOCK", - } + _VALUES_TO_NAMES = { + 0: "NONE", + 1: "LZ4_FRAME", + 2: "LZ4_BLOCK", + } - _NAMES_TO_VALUES = { - "NONE": 0, - "LZ4_FRAME": 1, - "LZ4_BLOCK": 2, - } + _NAMES_TO_VALUES = { + "NONE": 0, + "LZ4_FRAME": 1, + "LZ4_BLOCK": 2, + } class TDBSqlArrowLayout(object): - ARROW_BATCH = 0 - ARROW_STREAMING = 1 + ARROW_BATCH = 0 + ARROW_STREAMING = 1 - _VALUES_TO_NAMES = { - 0: "ARROW_BATCH", - 1: "ARROW_STREAMING", - } + _VALUES_TO_NAMES = { + 0: "ARROW_BATCH", + 1: "ARROW_STREAMING", + } - _NAMES_TO_VALUES = { - "ARROW_BATCH": 0, - "ARROW_STREAMING": 1, - } + _NAMES_TO_VALUES = { + "ARROW_BATCH": 0, + "ARROW_STREAMING": 1, + } class TOperationIdempotencyType(object): - UNKNOWN = 0 - NON_IDEMPOTENT = 1 - IDEMPOTENT = 2 + UNKNOWN = 0 + NON_IDEMPOTENT = 1 + IDEMPOTENT = 2 - _VALUES_TO_NAMES = { - 0: "UNKNOWN", - 1: "NON_IDEMPOTENT", - 2: "IDEMPOTENT", - } + _VALUES_TO_NAMES = { + 0: "UNKNOWN", + 1: "NON_IDEMPOTENT", + 2: "IDEMPOTENT", + } - _NAMES_TO_VALUES = { - "UNKNOWN": 0, - "NON_IDEMPOTENT": 1, - "IDEMPOTENT": 2, - } + _NAMES_TO_VALUES = { + "UNKNOWN": 0, + "NON_IDEMPOTENT": 1, + "IDEMPOTENT": 2, + } class TOperationTimeoutLevel(object): - CLUSTER = 0 - SESSION = 1 + CLUSTER = 0 + SESSION = 1 - _VALUES_TO_NAMES = { - 0: "CLUSTER", - 1: "SESSION", - } + _VALUES_TO_NAMES = { + 0: "CLUSTER", + 1: "SESSION", + } - _NAMES_TO_VALUES = { - "CLUSTER": 0, - "SESSION": 1, - } + _NAMES_TO_VALUES = { + "CLUSTER": 0, + "SESSION": 1, + } class TStatusCode(object): - SUCCESS_STATUS = 0 - SUCCESS_WITH_INFO_STATUS = 1 - STILL_EXECUTING_STATUS = 2 - ERROR_STATUS = 3 - INVALID_HANDLE_STATUS = 4 - - _VALUES_TO_NAMES = { - 0: "SUCCESS_STATUS", - 1: "SUCCESS_WITH_INFO_STATUS", - 2: "STILL_EXECUTING_STATUS", - 3: "ERROR_STATUS", - 4: "INVALID_HANDLE_STATUS", - } - - _NAMES_TO_VALUES = { - "SUCCESS_STATUS": 0, - "SUCCESS_WITH_INFO_STATUS": 1, - "STILL_EXECUTING_STATUS": 2, - "ERROR_STATUS": 3, - "INVALID_HANDLE_STATUS": 4, - } + SUCCESS_STATUS = 0 + SUCCESS_WITH_INFO_STATUS = 1 + STILL_EXECUTING_STATUS = 2 + ERROR_STATUS = 3 + INVALID_HANDLE_STATUS = 4 + + _VALUES_TO_NAMES = { + 0: "SUCCESS_STATUS", + 1: "SUCCESS_WITH_INFO_STATUS", + 2: "STILL_EXECUTING_STATUS", + 3: "ERROR_STATUS", + 4: "INVALID_HANDLE_STATUS", + } + + _NAMES_TO_VALUES = { + "SUCCESS_STATUS": 0, + "SUCCESS_WITH_INFO_STATUS": 1, + "STILL_EXECUTING_STATUS": 2, + "ERROR_STATUS": 3, + "INVALID_HANDLE_STATUS": 4, + } class TOperationState(object): - INITIALIZED_STATE = 0 - RUNNING_STATE = 1 - FINISHED_STATE = 2 - CANCELED_STATE = 3 - CLOSED_STATE = 4 - ERROR_STATE = 5 - UKNOWN_STATE = 6 - PENDING_STATE = 7 - TIMEDOUT_STATE = 8 - - _VALUES_TO_NAMES = { - 0: "INITIALIZED_STATE", - 1: "RUNNING_STATE", - 2: "FINISHED_STATE", - 3: "CANCELED_STATE", - 4: "CLOSED_STATE", - 5: "ERROR_STATE", - 6: "UKNOWN_STATE", - 7: "PENDING_STATE", - 8: "TIMEDOUT_STATE", - } - - _NAMES_TO_VALUES = { - "INITIALIZED_STATE": 0, - "RUNNING_STATE": 1, - "FINISHED_STATE": 2, - "CANCELED_STATE": 3, - "CLOSED_STATE": 4, - "ERROR_STATE": 5, - "UKNOWN_STATE": 6, - "PENDING_STATE": 7, - "TIMEDOUT_STATE": 8, - } + INITIALIZED_STATE = 0 + RUNNING_STATE = 1 + FINISHED_STATE = 2 + CANCELED_STATE = 3 + CLOSED_STATE = 4 + ERROR_STATE = 5 + UKNOWN_STATE = 6 + PENDING_STATE = 7 + TIMEDOUT_STATE = 8 + + _VALUES_TO_NAMES = { + 0: "INITIALIZED_STATE", + 1: "RUNNING_STATE", + 2: "FINISHED_STATE", + 3: "CANCELED_STATE", + 4: "CLOSED_STATE", + 5: "ERROR_STATE", + 6: "UKNOWN_STATE", + 7: "PENDING_STATE", + 8: "TIMEDOUT_STATE", + } + + _NAMES_TO_VALUES = { + "INITIALIZED_STATE": 0, + "RUNNING_STATE": 1, + "FINISHED_STATE": 2, + "CANCELED_STATE": 3, + "CLOSED_STATE": 4, + "ERROR_STATE": 5, + "UKNOWN_STATE": 6, + "PENDING_STATE": 7, + "TIMEDOUT_STATE": 8, + } class TOperationType(object): - EXECUTE_STATEMENT = 0 - GET_TYPE_INFO = 1 - GET_CATALOGS = 2 - GET_SCHEMAS = 3 - GET_TABLES = 4 - GET_TABLE_TYPES = 5 - GET_COLUMNS = 6 - GET_FUNCTIONS = 7 - UNKNOWN = 8 - - _VALUES_TO_NAMES = { - 0: "EXECUTE_STATEMENT", - 1: "GET_TYPE_INFO", - 2: "GET_CATALOGS", - 3: "GET_SCHEMAS", - 4: "GET_TABLES", - 5: "GET_TABLE_TYPES", - 6: "GET_COLUMNS", - 7: "GET_FUNCTIONS", - 8: "UNKNOWN", - } - - _NAMES_TO_VALUES = { - "EXECUTE_STATEMENT": 0, - "GET_TYPE_INFO": 1, - "GET_CATALOGS": 2, - "GET_SCHEMAS": 3, - "GET_TABLES": 4, - "GET_TABLE_TYPES": 5, - "GET_COLUMNS": 6, - "GET_FUNCTIONS": 7, - "UNKNOWN": 8, - } + EXECUTE_STATEMENT = 0 + GET_TYPE_INFO = 1 + GET_CATALOGS = 2 + GET_SCHEMAS = 3 + GET_TABLES = 4 + GET_TABLE_TYPES = 5 + GET_COLUMNS = 6 + GET_FUNCTIONS = 7 + UNKNOWN = 8 + + _VALUES_TO_NAMES = { + 0: "EXECUTE_STATEMENT", + 1: "GET_TYPE_INFO", + 2: "GET_CATALOGS", + 3: "GET_SCHEMAS", + 4: "GET_TABLES", + 5: "GET_TABLE_TYPES", + 6: "GET_COLUMNS", + 7: "GET_FUNCTIONS", + 8: "UNKNOWN", + } + + _NAMES_TO_VALUES = { + "EXECUTE_STATEMENT": 0, + "GET_TYPE_INFO": 1, + "GET_CATALOGS": 2, + "GET_SCHEMAS": 3, + "GET_TABLES": 4, + "GET_TABLE_TYPES": 5, + "GET_COLUMNS": 6, + "GET_FUNCTIONS": 7, + "UNKNOWN": 8, + } class TGetInfoType(object): - CLI_MAX_DRIVER_CONNECTIONS = 0 - CLI_MAX_CONCURRENT_ACTIVITIES = 1 - CLI_DATA_SOURCE_NAME = 2 - CLI_FETCH_DIRECTION = 8 - CLI_SERVER_NAME = 13 - CLI_SEARCH_PATTERN_ESCAPE = 14 - CLI_DBMS_NAME = 17 - CLI_DBMS_VER = 18 - CLI_ACCESSIBLE_TABLES = 19 - CLI_ACCESSIBLE_PROCEDURES = 20 - CLI_CURSOR_COMMIT_BEHAVIOR = 23 - CLI_DATA_SOURCE_READ_ONLY = 25 - CLI_DEFAULT_TXN_ISOLATION = 26 - CLI_IDENTIFIER_CASE = 28 - CLI_IDENTIFIER_QUOTE_CHAR = 29 - CLI_MAX_COLUMN_NAME_LEN = 30 - CLI_MAX_CURSOR_NAME_LEN = 31 - CLI_MAX_SCHEMA_NAME_LEN = 32 - CLI_MAX_CATALOG_NAME_LEN = 34 - CLI_MAX_TABLE_NAME_LEN = 35 - CLI_SCROLL_CONCURRENCY = 43 - CLI_TXN_CAPABLE = 46 - CLI_USER_NAME = 47 - CLI_TXN_ISOLATION_OPTION = 72 - CLI_INTEGRITY = 73 - CLI_GETDATA_EXTENSIONS = 81 - CLI_NULL_COLLATION = 85 - CLI_ALTER_TABLE = 86 - CLI_ORDER_BY_COLUMNS_IN_SELECT = 90 - CLI_SPECIAL_CHARACTERS = 94 - CLI_MAX_COLUMNS_IN_GROUP_BY = 97 - CLI_MAX_COLUMNS_IN_INDEX = 98 - CLI_MAX_COLUMNS_IN_ORDER_BY = 99 - CLI_MAX_COLUMNS_IN_SELECT = 100 - CLI_MAX_COLUMNS_IN_TABLE = 101 - CLI_MAX_INDEX_SIZE = 102 - CLI_MAX_ROW_SIZE = 104 - CLI_MAX_STATEMENT_LEN = 105 - CLI_MAX_TABLES_IN_SELECT = 106 - CLI_MAX_USER_NAME_LEN = 107 - CLI_OJ_CAPABILITIES = 115 - CLI_XOPEN_CLI_YEAR = 10000 - CLI_CURSOR_SENSITIVITY = 10001 - CLI_DESCRIBE_PARAMETER = 10002 - CLI_CATALOG_NAME = 10003 - CLI_COLLATION_SEQ = 10004 - CLI_MAX_IDENTIFIER_LEN = 10005 - - _VALUES_TO_NAMES = { - 0: "CLI_MAX_DRIVER_CONNECTIONS", - 1: "CLI_MAX_CONCURRENT_ACTIVITIES", - 2: "CLI_DATA_SOURCE_NAME", - 8: "CLI_FETCH_DIRECTION", - 13: "CLI_SERVER_NAME", - 14: "CLI_SEARCH_PATTERN_ESCAPE", - 17: "CLI_DBMS_NAME", - 18: "CLI_DBMS_VER", - 19: "CLI_ACCESSIBLE_TABLES", - 20: "CLI_ACCESSIBLE_PROCEDURES", - 23: "CLI_CURSOR_COMMIT_BEHAVIOR", - 25: "CLI_DATA_SOURCE_READ_ONLY", - 26: "CLI_DEFAULT_TXN_ISOLATION", - 28: "CLI_IDENTIFIER_CASE", - 29: "CLI_IDENTIFIER_QUOTE_CHAR", - 30: "CLI_MAX_COLUMN_NAME_LEN", - 31: "CLI_MAX_CURSOR_NAME_LEN", - 32: "CLI_MAX_SCHEMA_NAME_LEN", - 34: "CLI_MAX_CATALOG_NAME_LEN", - 35: "CLI_MAX_TABLE_NAME_LEN", - 43: "CLI_SCROLL_CONCURRENCY", - 46: "CLI_TXN_CAPABLE", - 47: "CLI_USER_NAME", - 72: "CLI_TXN_ISOLATION_OPTION", - 73: "CLI_INTEGRITY", - 81: "CLI_GETDATA_EXTENSIONS", - 85: "CLI_NULL_COLLATION", - 86: "CLI_ALTER_TABLE", - 90: "CLI_ORDER_BY_COLUMNS_IN_SELECT", - 94: "CLI_SPECIAL_CHARACTERS", - 97: "CLI_MAX_COLUMNS_IN_GROUP_BY", - 98: "CLI_MAX_COLUMNS_IN_INDEX", - 99: "CLI_MAX_COLUMNS_IN_ORDER_BY", - 100: "CLI_MAX_COLUMNS_IN_SELECT", - 101: "CLI_MAX_COLUMNS_IN_TABLE", - 102: "CLI_MAX_INDEX_SIZE", - 104: "CLI_MAX_ROW_SIZE", - 105: "CLI_MAX_STATEMENT_LEN", - 106: "CLI_MAX_TABLES_IN_SELECT", - 107: "CLI_MAX_USER_NAME_LEN", - 115: "CLI_OJ_CAPABILITIES", - 10000: "CLI_XOPEN_CLI_YEAR", - 10001: "CLI_CURSOR_SENSITIVITY", - 10002: "CLI_DESCRIBE_PARAMETER", - 10003: "CLI_CATALOG_NAME", - 10004: "CLI_COLLATION_SEQ", - 10005: "CLI_MAX_IDENTIFIER_LEN", - } - - _NAMES_TO_VALUES = { - "CLI_MAX_DRIVER_CONNECTIONS": 0, - "CLI_MAX_CONCURRENT_ACTIVITIES": 1, - "CLI_DATA_SOURCE_NAME": 2, - "CLI_FETCH_DIRECTION": 8, - "CLI_SERVER_NAME": 13, - "CLI_SEARCH_PATTERN_ESCAPE": 14, - "CLI_DBMS_NAME": 17, - "CLI_DBMS_VER": 18, - "CLI_ACCESSIBLE_TABLES": 19, - "CLI_ACCESSIBLE_PROCEDURES": 20, - "CLI_CURSOR_COMMIT_BEHAVIOR": 23, - "CLI_DATA_SOURCE_READ_ONLY": 25, - "CLI_DEFAULT_TXN_ISOLATION": 26, - "CLI_IDENTIFIER_CASE": 28, - "CLI_IDENTIFIER_QUOTE_CHAR": 29, - "CLI_MAX_COLUMN_NAME_LEN": 30, - "CLI_MAX_CURSOR_NAME_LEN": 31, - "CLI_MAX_SCHEMA_NAME_LEN": 32, - "CLI_MAX_CATALOG_NAME_LEN": 34, - "CLI_MAX_TABLE_NAME_LEN": 35, - "CLI_SCROLL_CONCURRENCY": 43, - "CLI_TXN_CAPABLE": 46, - "CLI_USER_NAME": 47, - "CLI_TXN_ISOLATION_OPTION": 72, - "CLI_INTEGRITY": 73, - "CLI_GETDATA_EXTENSIONS": 81, - "CLI_NULL_COLLATION": 85, - "CLI_ALTER_TABLE": 86, - "CLI_ORDER_BY_COLUMNS_IN_SELECT": 90, - "CLI_SPECIAL_CHARACTERS": 94, - "CLI_MAX_COLUMNS_IN_GROUP_BY": 97, - "CLI_MAX_COLUMNS_IN_INDEX": 98, - "CLI_MAX_COLUMNS_IN_ORDER_BY": 99, - "CLI_MAX_COLUMNS_IN_SELECT": 100, - "CLI_MAX_COLUMNS_IN_TABLE": 101, - "CLI_MAX_INDEX_SIZE": 102, - "CLI_MAX_ROW_SIZE": 104, - "CLI_MAX_STATEMENT_LEN": 105, - "CLI_MAX_TABLES_IN_SELECT": 106, - "CLI_MAX_USER_NAME_LEN": 107, - "CLI_OJ_CAPABILITIES": 115, - "CLI_XOPEN_CLI_YEAR": 10000, - "CLI_CURSOR_SENSITIVITY": 10001, - "CLI_DESCRIBE_PARAMETER": 10002, - "CLI_CATALOG_NAME": 10003, - "CLI_COLLATION_SEQ": 10004, - "CLI_MAX_IDENTIFIER_LEN": 10005, - } + CLI_MAX_DRIVER_CONNECTIONS = 0 + CLI_MAX_CONCURRENT_ACTIVITIES = 1 + CLI_DATA_SOURCE_NAME = 2 + CLI_FETCH_DIRECTION = 8 + CLI_SERVER_NAME = 13 + CLI_SEARCH_PATTERN_ESCAPE = 14 + CLI_DBMS_NAME = 17 + CLI_DBMS_VER = 18 + CLI_ACCESSIBLE_TABLES = 19 + CLI_ACCESSIBLE_PROCEDURES = 20 + CLI_CURSOR_COMMIT_BEHAVIOR = 23 + CLI_DATA_SOURCE_READ_ONLY = 25 + CLI_DEFAULT_TXN_ISOLATION = 26 + CLI_IDENTIFIER_CASE = 28 + CLI_IDENTIFIER_QUOTE_CHAR = 29 + CLI_MAX_COLUMN_NAME_LEN = 30 + CLI_MAX_CURSOR_NAME_LEN = 31 + CLI_MAX_SCHEMA_NAME_LEN = 32 + CLI_MAX_CATALOG_NAME_LEN = 34 + CLI_MAX_TABLE_NAME_LEN = 35 + CLI_SCROLL_CONCURRENCY = 43 + CLI_TXN_CAPABLE = 46 + CLI_USER_NAME = 47 + CLI_TXN_ISOLATION_OPTION = 72 + CLI_INTEGRITY = 73 + CLI_GETDATA_EXTENSIONS = 81 + CLI_NULL_COLLATION = 85 + CLI_ALTER_TABLE = 86 + CLI_ORDER_BY_COLUMNS_IN_SELECT = 90 + CLI_SPECIAL_CHARACTERS = 94 + CLI_MAX_COLUMNS_IN_GROUP_BY = 97 + CLI_MAX_COLUMNS_IN_INDEX = 98 + CLI_MAX_COLUMNS_IN_ORDER_BY = 99 + CLI_MAX_COLUMNS_IN_SELECT = 100 + CLI_MAX_COLUMNS_IN_TABLE = 101 + CLI_MAX_INDEX_SIZE = 102 + CLI_MAX_ROW_SIZE = 104 + CLI_MAX_STATEMENT_LEN = 105 + CLI_MAX_TABLES_IN_SELECT = 106 + CLI_MAX_USER_NAME_LEN = 107 + CLI_OJ_CAPABILITIES = 115 + CLI_XOPEN_CLI_YEAR = 10000 + CLI_CURSOR_SENSITIVITY = 10001 + CLI_DESCRIBE_PARAMETER = 10002 + CLI_CATALOG_NAME = 10003 + CLI_COLLATION_SEQ = 10004 + CLI_MAX_IDENTIFIER_LEN = 10005 + + _VALUES_TO_NAMES = { + 0: "CLI_MAX_DRIVER_CONNECTIONS", + 1: "CLI_MAX_CONCURRENT_ACTIVITIES", + 2: "CLI_DATA_SOURCE_NAME", + 8: "CLI_FETCH_DIRECTION", + 13: "CLI_SERVER_NAME", + 14: "CLI_SEARCH_PATTERN_ESCAPE", + 17: "CLI_DBMS_NAME", + 18: "CLI_DBMS_VER", + 19: "CLI_ACCESSIBLE_TABLES", + 20: "CLI_ACCESSIBLE_PROCEDURES", + 23: "CLI_CURSOR_COMMIT_BEHAVIOR", + 25: "CLI_DATA_SOURCE_READ_ONLY", + 26: "CLI_DEFAULT_TXN_ISOLATION", + 28: "CLI_IDENTIFIER_CASE", + 29: "CLI_IDENTIFIER_QUOTE_CHAR", + 30: "CLI_MAX_COLUMN_NAME_LEN", + 31: "CLI_MAX_CURSOR_NAME_LEN", + 32: "CLI_MAX_SCHEMA_NAME_LEN", + 34: "CLI_MAX_CATALOG_NAME_LEN", + 35: "CLI_MAX_TABLE_NAME_LEN", + 43: "CLI_SCROLL_CONCURRENCY", + 46: "CLI_TXN_CAPABLE", + 47: "CLI_USER_NAME", + 72: "CLI_TXN_ISOLATION_OPTION", + 73: "CLI_INTEGRITY", + 81: "CLI_GETDATA_EXTENSIONS", + 85: "CLI_NULL_COLLATION", + 86: "CLI_ALTER_TABLE", + 90: "CLI_ORDER_BY_COLUMNS_IN_SELECT", + 94: "CLI_SPECIAL_CHARACTERS", + 97: "CLI_MAX_COLUMNS_IN_GROUP_BY", + 98: "CLI_MAX_COLUMNS_IN_INDEX", + 99: "CLI_MAX_COLUMNS_IN_ORDER_BY", + 100: "CLI_MAX_COLUMNS_IN_SELECT", + 101: "CLI_MAX_COLUMNS_IN_TABLE", + 102: "CLI_MAX_INDEX_SIZE", + 104: "CLI_MAX_ROW_SIZE", + 105: "CLI_MAX_STATEMENT_LEN", + 106: "CLI_MAX_TABLES_IN_SELECT", + 107: "CLI_MAX_USER_NAME_LEN", + 115: "CLI_OJ_CAPABILITIES", + 10000: "CLI_XOPEN_CLI_YEAR", + 10001: "CLI_CURSOR_SENSITIVITY", + 10002: "CLI_DESCRIBE_PARAMETER", + 10003: "CLI_CATALOG_NAME", + 10004: "CLI_COLLATION_SEQ", + 10005: "CLI_MAX_IDENTIFIER_LEN", + } + + _NAMES_TO_VALUES = { + "CLI_MAX_DRIVER_CONNECTIONS": 0, + "CLI_MAX_CONCURRENT_ACTIVITIES": 1, + "CLI_DATA_SOURCE_NAME": 2, + "CLI_FETCH_DIRECTION": 8, + "CLI_SERVER_NAME": 13, + "CLI_SEARCH_PATTERN_ESCAPE": 14, + "CLI_DBMS_NAME": 17, + "CLI_DBMS_VER": 18, + "CLI_ACCESSIBLE_TABLES": 19, + "CLI_ACCESSIBLE_PROCEDURES": 20, + "CLI_CURSOR_COMMIT_BEHAVIOR": 23, + "CLI_DATA_SOURCE_READ_ONLY": 25, + "CLI_DEFAULT_TXN_ISOLATION": 26, + "CLI_IDENTIFIER_CASE": 28, + "CLI_IDENTIFIER_QUOTE_CHAR": 29, + "CLI_MAX_COLUMN_NAME_LEN": 30, + "CLI_MAX_CURSOR_NAME_LEN": 31, + "CLI_MAX_SCHEMA_NAME_LEN": 32, + "CLI_MAX_CATALOG_NAME_LEN": 34, + "CLI_MAX_TABLE_NAME_LEN": 35, + "CLI_SCROLL_CONCURRENCY": 43, + "CLI_TXN_CAPABLE": 46, + "CLI_USER_NAME": 47, + "CLI_TXN_ISOLATION_OPTION": 72, + "CLI_INTEGRITY": 73, + "CLI_GETDATA_EXTENSIONS": 81, + "CLI_NULL_COLLATION": 85, + "CLI_ALTER_TABLE": 86, + "CLI_ORDER_BY_COLUMNS_IN_SELECT": 90, + "CLI_SPECIAL_CHARACTERS": 94, + "CLI_MAX_COLUMNS_IN_GROUP_BY": 97, + "CLI_MAX_COLUMNS_IN_INDEX": 98, + "CLI_MAX_COLUMNS_IN_ORDER_BY": 99, + "CLI_MAX_COLUMNS_IN_SELECT": 100, + "CLI_MAX_COLUMNS_IN_TABLE": 101, + "CLI_MAX_INDEX_SIZE": 102, + "CLI_MAX_ROW_SIZE": 104, + "CLI_MAX_STATEMENT_LEN": 105, + "CLI_MAX_TABLES_IN_SELECT": 106, + "CLI_MAX_USER_NAME_LEN": 107, + "CLI_OJ_CAPABILITIES": 115, + "CLI_XOPEN_CLI_YEAR": 10000, + "CLI_CURSOR_SENSITIVITY": 10001, + "CLI_DESCRIBE_PARAMETER": 10002, + "CLI_CATALOG_NAME": 10003, + "CLI_COLLATION_SEQ": 10004, + "CLI_MAX_IDENTIFIER_LEN": 10005, + } class TResultPersistenceMode(object): - ONLY_LARGE_RESULTS = 0 - ALL_QUERY_RESULTS = 1 - ALL_RESULTS = 2 + ONLY_LARGE_RESULTS = 0 + ALL_QUERY_RESULTS = 1 + ALL_RESULTS = 2 - _VALUES_TO_NAMES = { - 0: "ONLY_LARGE_RESULTS", - 1: "ALL_QUERY_RESULTS", - 2: "ALL_RESULTS", - } + _VALUES_TO_NAMES = { + 0: "ONLY_LARGE_RESULTS", + 1: "ALL_QUERY_RESULTS", + 2: "ALL_RESULTS", + } - _NAMES_TO_VALUES = { - "ONLY_LARGE_RESULTS": 0, - "ALL_QUERY_RESULTS": 1, - "ALL_RESULTS": 2, - } + _NAMES_TO_VALUES = { + "ONLY_LARGE_RESULTS": 0, + "ALL_QUERY_RESULTS": 1, + "ALL_RESULTS": 2, + } class TDBSqlCloseOperationReason(object): - NONE = 0 - COMMAND_INACTIVITY_TIMEOUT = 1 + NONE = 0 + COMMAND_INACTIVITY_TIMEOUT = 1 - _VALUES_TO_NAMES = { - 0: "NONE", - 1: "COMMAND_INACTIVITY_TIMEOUT", - } + _VALUES_TO_NAMES = { + 0: "NONE", + 1: "COMMAND_INACTIVITY_TIMEOUT", + } - _NAMES_TO_VALUES = { - "NONE": 0, - "COMMAND_INACTIVITY_TIMEOUT": 1, - } + _NAMES_TO_VALUES = { + "NONE": 0, + "COMMAND_INACTIVITY_TIMEOUT": 1, + } class TCacheLookupResult(object): - CACHE_INELIGIBLE = 0 - LOCAL_CACHE_HIT = 1 - REMOTE_CACHE_HIT = 2 - CACHE_MISS = 3 - - _VALUES_TO_NAMES = { - 0: "CACHE_INELIGIBLE", - 1: "LOCAL_CACHE_HIT", - 2: "REMOTE_CACHE_HIT", - 3: "CACHE_MISS", - } - - _NAMES_TO_VALUES = { - "CACHE_INELIGIBLE": 0, - "LOCAL_CACHE_HIT": 1, - "REMOTE_CACHE_HIT": 2, - "CACHE_MISS": 3, - } + CACHE_INELIGIBLE = 0 + LOCAL_CACHE_HIT = 1 + REMOTE_CACHE_HIT = 2 + CACHE_MISS = 3 + + _VALUES_TO_NAMES = { + 0: "CACHE_INELIGIBLE", + 1: "LOCAL_CACHE_HIT", + 2: "REMOTE_CACHE_HIT", + 3: "CACHE_MISS", + } + + _NAMES_TO_VALUES = { + "CACHE_INELIGIBLE": 0, + "LOCAL_CACHE_HIT": 1, + "REMOTE_CACHE_HIT": 2, + "CACHE_MISS": 3, + } class TCloudFetchDisabledReason(object): - ARROW_SUPPORT = 0 - CLOUD_FETCH_SUPPORT = 1 - PROTOCOL_VERSION = 2 - REGION_SUPPORT = 3 - BLOCKLISTED_OPERATION = 4 - SMALL_RESULT_SIZE = 5 - CUSTOMER_STORAGE_SUPPORT = 6 - UNKNOWN = 7 - - _VALUES_TO_NAMES = { - 0: "ARROW_SUPPORT", - 1: "CLOUD_FETCH_SUPPORT", - 2: "PROTOCOL_VERSION", - 3: "REGION_SUPPORT", - 4: "BLOCKLISTED_OPERATION", - 5: "SMALL_RESULT_SIZE", - 6: "CUSTOMER_STORAGE_SUPPORT", - 7: "UNKNOWN", - } - - _NAMES_TO_VALUES = { - "ARROW_SUPPORT": 0, - "CLOUD_FETCH_SUPPORT": 1, - "PROTOCOL_VERSION": 2, - "REGION_SUPPORT": 3, - "BLOCKLISTED_OPERATION": 4, - "SMALL_RESULT_SIZE": 5, - "CUSTOMER_STORAGE_SUPPORT": 6, - "UNKNOWN": 7, - } + ARROW_SUPPORT = 0 + CLOUD_FETCH_SUPPORT = 1 + PROTOCOL_VERSION = 2 + REGION_SUPPORT = 3 + BLOCKLISTED_OPERATION = 4 + SMALL_RESULT_SIZE = 5 + CUSTOMER_STORAGE_SUPPORT = 6 + UNKNOWN = 7 + + _VALUES_TO_NAMES = { + 0: "ARROW_SUPPORT", + 1: "CLOUD_FETCH_SUPPORT", + 2: "PROTOCOL_VERSION", + 3: "REGION_SUPPORT", + 4: "BLOCKLISTED_OPERATION", + 5: "SMALL_RESULT_SIZE", + 6: "CUSTOMER_STORAGE_SUPPORT", + 7: "UNKNOWN", + } + + _NAMES_TO_VALUES = { + "ARROW_SUPPORT": 0, + "CLOUD_FETCH_SUPPORT": 1, + "PROTOCOL_VERSION": 2, + "REGION_SUPPORT": 3, + "BLOCKLISTED_OPERATION": 4, + "SMALL_RESULT_SIZE": 5, + "CUSTOMER_STORAGE_SUPPORT": 6, + "UNKNOWN": 7, + } class TDBSqlManifestFileFormat(object): - THRIFT_GET_RESULT_SET_METADATA_RESP = 0 + THRIFT_GET_RESULT_SET_METADATA_RESP = 0 - _VALUES_TO_NAMES = { - 0: "THRIFT_GET_RESULT_SET_METADATA_RESP", - } + _VALUES_TO_NAMES = { + 0: "THRIFT_GET_RESULT_SET_METADATA_RESP", + } - _NAMES_TO_VALUES = { - "THRIFT_GET_RESULT_SET_METADATA_RESP": 0, - } + _NAMES_TO_VALUES = { + "THRIFT_GET_RESULT_SET_METADATA_RESP": 0, + } class TFetchOrientation(object): - FETCH_NEXT = 0 - FETCH_PRIOR = 1 - FETCH_RELATIVE = 2 - FETCH_ABSOLUTE = 3 - FETCH_FIRST = 4 - FETCH_LAST = 5 - - _VALUES_TO_NAMES = { - 0: "FETCH_NEXT", - 1: "FETCH_PRIOR", - 2: "FETCH_RELATIVE", - 3: "FETCH_ABSOLUTE", - 4: "FETCH_FIRST", - 5: "FETCH_LAST", - } - - _NAMES_TO_VALUES = { - "FETCH_NEXT": 0, - "FETCH_PRIOR": 1, - "FETCH_RELATIVE": 2, - "FETCH_ABSOLUTE": 3, - "FETCH_FIRST": 4, - "FETCH_LAST": 5, - } + FETCH_NEXT = 0 + FETCH_PRIOR = 1 + FETCH_RELATIVE = 2 + FETCH_ABSOLUTE = 3 + FETCH_FIRST = 4 + FETCH_LAST = 5 + + _VALUES_TO_NAMES = { + 0: "FETCH_NEXT", + 1: "FETCH_PRIOR", + 2: "FETCH_RELATIVE", + 3: "FETCH_ABSOLUTE", + 4: "FETCH_FIRST", + 5: "FETCH_LAST", + } + + _NAMES_TO_VALUES = { + "FETCH_NEXT": 0, + "FETCH_PRIOR": 1, + "FETCH_RELATIVE": 2, + "FETCH_ABSOLUTE": 3, + "FETCH_FIRST": 4, + "FETCH_LAST": 5, + } class TDBSqlFetchDisposition(object): - DISPOSITION_UNSPECIFIED = 0 - DISPOSITION_INLINE = 1 - DISPOSITION_EXTERNAL_LINKS = 2 - DISPOSITION_INTERNAL_DBFS = 3 - - _VALUES_TO_NAMES = { - 0: "DISPOSITION_UNSPECIFIED", - 1: "DISPOSITION_INLINE", - 2: "DISPOSITION_EXTERNAL_LINKS", - 3: "DISPOSITION_INTERNAL_DBFS", - } - - _NAMES_TO_VALUES = { - "DISPOSITION_UNSPECIFIED": 0, - "DISPOSITION_INLINE": 1, - "DISPOSITION_EXTERNAL_LINKS": 2, - "DISPOSITION_INTERNAL_DBFS": 3, - } + DISPOSITION_UNSPECIFIED = 0 + DISPOSITION_INLINE = 1 + DISPOSITION_EXTERNAL_LINKS = 2 + DISPOSITION_INTERNAL_DBFS = 3 + + _VALUES_TO_NAMES = { + 0: "DISPOSITION_UNSPECIFIED", + 1: "DISPOSITION_INLINE", + 2: "DISPOSITION_EXTERNAL_LINKS", + 3: "DISPOSITION_INTERNAL_DBFS", + } + + _NAMES_TO_VALUES = { + "DISPOSITION_UNSPECIFIED": 0, + "DISPOSITION_INLINE": 1, + "DISPOSITION_EXTERNAL_LINKS": 2, + "DISPOSITION_INTERNAL_DBFS": 3, + } class TJobExecutionStatus(object): - IN_PROGRESS = 0 - COMPLETE = 1 - NOT_AVAILABLE = 2 + IN_PROGRESS = 0 + COMPLETE = 1 + NOT_AVAILABLE = 2 - _VALUES_TO_NAMES = { - 0: "IN_PROGRESS", - 1: "COMPLETE", - 2: "NOT_AVAILABLE", - } + _VALUES_TO_NAMES = { + 0: "IN_PROGRESS", + 1: "COMPLETE", + 2: "NOT_AVAILABLE", + } - _NAMES_TO_VALUES = { - "IN_PROGRESS": 0, - "COMPLETE": 1, - "NOT_AVAILABLE": 2, - } + _NAMES_TO_VALUES = { + "IN_PROGRESS": 0, + "COMPLETE": 1, + "NOT_AVAILABLE": 2, + } class TTypeQualifierValue(object): - """ + """ Attributes: - i32Value - stringValue """ - def __init__( - self, - i32Value=None, - stringValue=None, - ): - self.i32Value = i32Value - self.stringValue = stringValue - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.I32: - self.i32Value = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRING: - self.stringValue = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TTypeQualifierValue") - if self.i32Value is not None: - oprot.writeFieldBegin("i32Value", TType.I32, 1) - oprot.writeI32(self.i32Value) - oprot.writeFieldEnd() - if self.stringValue is not None: - oprot.writeFieldBegin("stringValue", TType.STRING, 2) - oprot.writeString( - self.stringValue.encode("utf-8") - if sys.version_info[0] == 2 - else self.stringValue - ) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, i32Value=None, stringValue=None,): + self.i32Value = i32Value + self.stringValue = stringValue + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.I32: + self.i32Value = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRING: + self.stringValue = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TTypeQualifierValue') + if self.i32Value is not None: + oprot.writeFieldBegin('i32Value', TType.I32, 1) + oprot.writeI32(self.i32Value) + oprot.writeFieldEnd() + if self.stringValue is not None: + oprot.writeFieldBegin('stringValue', TType.STRING, 2) + oprot.writeString(self.stringValue.encode('utf-8') if sys.version_info[0] == 2 else self.stringValue) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TTypeQualifiers(object): - """ + """ Attributes: - qualifiers """ - def __init__( - self, - qualifiers=None, - ): - self.qualifiers = qualifiers - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.MAP: - self.qualifiers = {} - (_ktype1, _vtype2, _size0) = iprot.readMapBegin() - for _i4 in range(_size0): - _key5 = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - _val6 = TTypeQualifierValue() - _val6.read(iprot) - self.qualifiers[_key5] = _val6 - iprot.readMapEnd() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TTypeQualifiers") - if self.qualifiers is not None: - oprot.writeFieldBegin("qualifiers", TType.MAP, 1) - oprot.writeMapBegin(TType.STRING, TType.STRUCT, len(self.qualifiers)) - for kiter7, viter8 in self.qualifiers.items(): - oprot.writeString( - kiter7.encode("utf-8") if sys.version_info[0] == 2 else kiter7 - ) - viter8.write(oprot) - oprot.writeMapEnd() - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.qualifiers is None: - raise TProtocolException(message="Required field qualifiers is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, qualifiers=None,): + self.qualifiers = qualifiers + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.MAP: + self.qualifiers = {} + (_ktype1, _vtype2, _size0) = iprot.readMapBegin() + for _i4 in range(_size0): + _key5 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + _val6 = TTypeQualifierValue() + _val6.read(iprot) + self.qualifiers[_key5] = _val6 + iprot.readMapEnd() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TTypeQualifiers') + if self.qualifiers is not None: + oprot.writeFieldBegin('qualifiers', TType.MAP, 1) + oprot.writeMapBegin(TType.STRING, TType.STRUCT, len(self.qualifiers)) + for kiter7, viter8 in self.qualifiers.items(): + oprot.writeString(kiter7.encode('utf-8') if sys.version_info[0] == 2 else kiter7) + viter8.write(oprot) + oprot.writeMapEnd() + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.qualifiers is None: + raise TProtocolException(message='Required field qualifiers is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TTAllowedParameterValueEntry(object): - """ + """ Attributes: - type - typeQualifiers """ - def __init__( - self, - type=None, - typeQualifiers=None, - ): - self.type = type - self.typeQualifiers = typeQualifiers - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.I32: - self.type = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRUCT: - self.typeQualifiers = TTypeQualifiers() - self.typeQualifiers.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TTAllowedParameterValueEntry") - if self.type is not None: - oprot.writeFieldBegin("type", TType.I32, 1) - oprot.writeI32(self.type) - oprot.writeFieldEnd() - if self.typeQualifiers is not None: - oprot.writeFieldBegin("typeQualifiers", TType.STRUCT, 2) - self.typeQualifiers.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.type is None: - raise TProtocolException(message="Required field type is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, type=None, typeQualifiers=None,): + self.type = type + self.typeQualifiers = typeQualifiers + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.I32: + self.type = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRUCT: + self.typeQualifiers = TTypeQualifiers() + self.typeQualifiers.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TTAllowedParameterValueEntry') + if self.type is not None: + oprot.writeFieldBegin('type', TType.I32, 1) + oprot.writeI32(self.type) + oprot.writeFieldEnd() + if self.typeQualifiers is not None: + oprot.writeFieldBegin('typeQualifiers', TType.STRUCT, 2) + self.typeQualifiers.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.type is None: + raise TProtocolException(message='Required field type is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TArrayTypeEntry(object): - """ + """ Attributes: - objectTypePtr """ - def __init__( - self, - objectTypePtr=None, - ): - self.objectTypePtr = objectTypePtr - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.I32: - self.objectTypePtr = iprot.readI32() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TArrayTypeEntry") - if self.objectTypePtr is not None: - oprot.writeFieldBegin("objectTypePtr", TType.I32, 1) - oprot.writeI32(self.objectTypePtr) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.objectTypePtr is None: - raise TProtocolException(message="Required field objectTypePtr is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, objectTypePtr=None,): + self.objectTypePtr = objectTypePtr + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.I32: + self.objectTypePtr = iprot.readI32() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TArrayTypeEntry') + if self.objectTypePtr is not None: + oprot.writeFieldBegin('objectTypePtr', TType.I32, 1) + oprot.writeI32(self.objectTypePtr) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.objectTypePtr is None: + raise TProtocolException(message='Required field objectTypePtr is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TMapTypeEntry(object): - """ + """ Attributes: - keyTypePtr - valueTypePtr """ - def __init__( - self, - keyTypePtr=None, - valueTypePtr=None, - ): - self.keyTypePtr = keyTypePtr - self.valueTypePtr = valueTypePtr - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.I32: - self.keyTypePtr = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.I32: - self.valueTypePtr = iprot.readI32() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TMapTypeEntry") - if self.keyTypePtr is not None: - oprot.writeFieldBegin("keyTypePtr", TType.I32, 1) - oprot.writeI32(self.keyTypePtr) - oprot.writeFieldEnd() - if self.valueTypePtr is not None: - oprot.writeFieldBegin("valueTypePtr", TType.I32, 2) - oprot.writeI32(self.valueTypePtr) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.keyTypePtr is None: - raise TProtocolException(message="Required field keyTypePtr is unset!") - if self.valueTypePtr is None: - raise TProtocolException(message="Required field valueTypePtr is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, keyTypePtr=None, valueTypePtr=None,): + self.keyTypePtr = keyTypePtr + self.valueTypePtr = valueTypePtr + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.I32: + self.keyTypePtr = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.I32: + self.valueTypePtr = iprot.readI32() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TMapTypeEntry') + if self.keyTypePtr is not None: + oprot.writeFieldBegin('keyTypePtr', TType.I32, 1) + oprot.writeI32(self.keyTypePtr) + oprot.writeFieldEnd() + if self.valueTypePtr is not None: + oprot.writeFieldBegin('valueTypePtr', TType.I32, 2) + oprot.writeI32(self.valueTypePtr) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.keyTypePtr is None: + raise TProtocolException(message='Required field keyTypePtr is unset!') + if self.valueTypePtr is None: + raise TProtocolException(message='Required field valueTypePtr is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TStructTypeEntry(object): - """ + """ Attributes: - nameToTypePtr """ - def __init__( - self, - nameToTypePtr=None, - ): - self.nameToTypePtr = nameToTypePtr - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.MAP: - self.nameToTypePtr = {} - (_ktype10, _vtype11, _size9) = iprot.readMapBegin() - for _i13 in range(_size9): - _key14 = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - _val15 = iprot.readI32() - self.nameToTypePtr[_key14] = _val15 - iprot.readMapEnd() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TStructTypeEntry") - if self.nameToTypePtr is not None: - oprot.writeFieldBegin("nameToTypePtr", TType.MAP, 1) - oprot.writeMapBegin(TType.STRING, TType.I32, len(self.nameToTypePtr)) - for kiter16, viter17 in self.nameToTypePtr.items(): - oprot.writeString( - kiter16.encode("utf-8") if sys.version_info[0] == 2 else kiter16 - ) - oprot.writeI32(viter17) - oprot.writeMapEnd() - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.nameToTypePtr is None: - raise TProtocolException(message="Required field nameToTypePtr is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, nameToTypePtr=None,): + self.nameToTypePtr = nameToTypePtr + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.MAP: + self.nameToTypePtr = {} + (_ktype10, _vtype11, _size9) = iprot.readMapBegin() + for _i13 in range(_size9): + _key14 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + _val15 = iprot.readI32() + self.nameToTypePtr[_key14] = _val15 + iprot.readMapEnd() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TStructTypeEntry') + if self.nameToTypePtr is not None: + oprot.writeFieldBegin('nameToTypePtr', TType.MAP, 1) + oprot.writeMapBegin(TType.STRING, TType.I32, len(self.nameToTypePtr)) + for kiter16, viter17 in self.nameToTypePtr.items(): + oprot.writeString(kiter16.encode('utf-8') if sys.version_info[0] == 2 else kiter16) + oprot.writeI32(viter17) + oprot.writeMapEnd() + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.nameToTypePtr is None: + raise TProtocolException(message='Required field nameToTypePtr is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TUnionTypeEntry(object): - """ + """ Attributes: - nameToTypePtr """ - def __init__( - self, - nameToTypePtr=None, - ): - self.nameToTypePtr = nameToTypePtr - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.MAP: - self.nameToTypePtr = {} - (_ktype19, _vtype20, _size18) = iprot.readMapBegin() - for _i22 in range(_size18): - _key23 = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - _val24 = iprot.readI32() - self.nameToTypePtr[_key23] = _val24 - iprot.readMapEnd() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TUnionTypeEntry") - if self.nameToTypePtr is not None: - oprot.writeFieldBegin("nameToTypePtr", TType.MAP, 1) - oprot.writeMapBegin(TType.STRING, TType.I32, len(self.nameToTypePtr)) - for kiter25, viter26 in self.nameToTypePtr.items(): - oprot.writeString( - kiter25.encode("utf-8") if sys.version_info[0] == 2 else kiter25 - ) - oprot.writeI32(viter26) - oprot.writeMapEnd() - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.nameToTypePtr is None: - raise TProtocolException(message="Required field nameToTypePtr is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, nameToTypePtr=None,): + self.nameToTypePtr = nameToTypePtr + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.MAP: + self.nameToTypePtr = {} + (_ktype19, _vtype20, _size18) = iprot.readMapBegin() + for _i22 in range(_size18): + _key23 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + _val24 = iprot.readI32() + self.nameToTypePtr[_key23] = _val24 + iprot.readMapEnd() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TUnionTypeEntry') + if self.nameToTypePtr is not None: + oprot.writeFieldBegin('nameToTypePtr', TType.MAP, 1) + oprot.writeMapBegin(TType.STRING, TType.I32, len(self.nameToTypePtr)) + for kiter25, viter26 in self.nameToTypePtr.items(): + oprot.writeString(kiter25.encode('utf-8') if sys.version_info[0] == 2 else kiter25) + oprot.writeI32(viter26) + oprot.writeMapEnd() + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.nameToTypePtr is None: + raise TProtocolException(message='Required field nameToTypePtr is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TUserDefinedTypeEntry(object): - """ + """ Attributes: - typeClassName """ - def __init__( - self, - typeClassName=None, - ): - self.typeClassName = typeClassName - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRING: - self.typeClassName = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TUserDefinedTypeEntry") - if self.typeClassName is not None: - oprot.writeFieldBegin("typeClassName", TType.STRING, 1) - oprot.writeString( - self.typeClassName.encode("utf-8") - if sys.version_info[0] == 2 - else self.typeClassName - ) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.typeClassName is None: - raise TProtocolException(message="Required field typeClassName is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, typeClassName=None,): + self.typeClassName = typeClassName + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRING: + self.typeClassName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TUserDefinedTypeEntry') + if self.typeClassName is not None: + oprot.writeFieldBegin('typeClassName', TType.STRING, 1) + oprot.writeString(self.typeClassName.encode('utf-8') if sys.version_info[0] == 2 else self.typeClassName) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.typeClassName is None: + raise TProtocolException(message='Required field typeClassName is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TTypeEntry(object): - """ + """ Attributes: - primitiveEntry - arrayEntry @@ -1307,201 +1207,182 @@ class TTypeEntry(object): """ - def __init__( - self, - primitiveEntry=None, - arrayEntry=None, - mapEntry=None, - structEntry=None, - unionEntry=None, - userDefinedTypeEntry=None, - ): - self.primitiveEntry = primitiveEntry - self.arrayEntry = arrayEntry - self.mapEntry = mapEntry - self.structEntry = structEntry - self.unionEntry = unionEntry - self.userDefinedTypeEntry = userDefinedTypeEntry - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.primitiveEntry = TTAllowedParameterValueEntry() - self.primitiveEntry.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRUCT: - self.arrayEntry = TArrayTypeEntry() - self.arrayEntry.read(iprot) - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.STRUCT: - self.mapEntry = TMapTypeEntry() - self.mapEntry.read(iprot) - else: - iprot.skip(ftype) - elif fid == 4: - if ftype == TType.STRUCT: - self.structEntry = TStructTypeEntry() - self.structEntry.read(iprot) - else: - iprot.skip(ftype) - elif fid == 5: - if ftype == TType.STRUCT: - self.unionEntry = TUnionTypeEntry() - self.unionEntry.read(iprot) - else: - iprot.skip(ftype) - elif fid == 6: - if ftype == TType.STRUCT: - self.userDefinedTypeEntry = TUserDefinedTypeEntry() - self.userDefinedTypeEntry.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TTypeEntry") - if self.primitiveEntry is not None: - oprot.writeFieldBegin("primitiveEntry", TType.STRUCT, 1) - self.primitiveEntry.write(oprot) - oprot.writeFieldEnd() - if self.arrayEntry is not None: - oprot.writeFieldBegin("arrayEntry", TType.STRUCT, 2) - self.arrayEntry.write(oprot) - oprot.writeFieldEnd() - if self.mapEntry is not None: - oprot.writeFieldBegin("mapEntry", TType.STRUCT, 3) - self.mapEntry.write(oprot) - oprot.writeFieldEnd() - if self.structEntry is not None: - oprot.writeFieldBegin("structEntry", TType.STRUCT, 4) - self.structEntry.write(oprot) - oprot.writeFieldEnd() - if self.unionEntry is not None: - oprot.writeFieldBegin("unionEntry", TType.STRUCT, 5) - self.unionEntry.write(oprot) - oprot.writeFieldEnd() - if self.userDefinedTypeEntry is not None: - oprot.writeFieldBegin("userDefinedTypeEntry", TType.STRUCT, 6) - self.userDefinedTypeEntry.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, primitiveEntry=None, arrayEntry=None, mapEntry=None, structEntry=None, unionEntry=None, userDefinedTypeEntry=None,): + self.primitiveEntry = primitiveEntry + self.arrayEntry = arrayEntry + self.mapEntry = mapEntry + self.structEntry = structEntry + self.unionEntry = unionEntry + self.userDefinedTypeEntry = userDefinedTypeEntry + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.primitiveEntry = TTAllowedParameterValueEntry() + self.primitiveEntry.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRUCT: + self.arrayEntry = TArrayTypeEntry() + self.arrayEntry.read(iprot) + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.STRUCT: + self.mapEntry = TMapTypeEntry() + self.mapEntry.read(iprot) + else: + iprot.skip(ftype) + elif fid == 4: + if ftype == TType.STRUCT: + self.structEntry = TStructTypeEntry() + self.structEntry.read(iprot) + else: + iprot.skip(ftype) + elif fid == 5: + if ftype == TType.STRUCT: + self.unionEntry = TUnionTypeEntry() + self.unionEntry.read(iprot) + else: + iprot.skip(ftype) + elif fid == 6: + if ftype == TType.STRUCT: + self.userDefinedTypeEntry = TUserDefinedTypeEntry() + self.userDefinedTypeEntry.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TTypeEntry') + if self.primitiveEntry is not None: + oprot.writeFieldBegin('primitiveEntry', TType.STRUCT, 1) + self.primitiveEntry.write(oprot) + oprot.writeFieldEnd() + if self.arrayEntry is not None: + oprot.writeFieldBegin('arrayEntry', TType.STRUCT, 2) + self.arrayEntry.write(oprot) + oprot.writeFieldEnd() + if self.mapEntry is not None: + oprot.writeFieldBegin('mapEntry', TType.STRUCT, 3) + self.mapEntry.write(oprot) + oprot.writeFieldEnd() + if self.structEntry is not None: + oprot.writeFieldBegin('structEntry', TType.STRUCT, 4) + self.structEntry.write(oprot) + oprot.writeFieldEnd() + if self.unionEntry is not None: + oprot.writeFieldBegin('unionEntry', TType.STRUCT, 5) + self.unionEntry.write(oprot) + oprot.writeFieldEnd() + if self.userDefinedTypeEntry is not None: + oprot.writeFieldBegin('userDefinedTypeEntry', TType.STRUCT, 6) + self.userDefinedTypeEntry.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TTypeDesc(object): - """ + """ Attributes: - types """ - def __init__( - self, - types=None, - ): - self.types = types - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.LIST: - self.types = [] - (_etype30, _size27) = iprot.readListBegin() - for _i31 in range(_size27): - _elem32 = TTypeEntry() - _elem32.read(iprot) - self.types.append(_elem32) - iprot.readListEnd() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TTypeDesc") - if self.types is not None: - oprot.writeFieldBegin("types", TType.LIST, 1) - oprot.writeListBegin(TType.STRUCT, len(self.types)) - for iter33 in self.types: - iter33.write(oprot) - oprot.writeListEnd() - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.types is None: - raise TProtocolException(message="Required field types is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, types=None,): + self.types = types + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.LIST: + self.types = [] + (_etype30, _size27) = iprot.readListBegin() + for _i31 in range(_size27): + _elem32 = TTypeEntry() + _elem32.read(iprot) + self.types.append(_elem32) + iprot.readListEnd() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TTypeDesc') + if self.types is not None: + oprot.writeFieldBegin('types', TType.LIST, 1) + oprot.writeListBegin(TType.STRUCT, len(self.types)) + for iter33 in self.types: + iter33.write(oprot) + oprot.writeListEnd() + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.types is None: + raise TProtocolException(message='Required field types is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TColumnDesc(object): - """ + """ Attributes: - columnName - typeDesc @@ -1510,650 +1391,562 @@ class TColumnDesc(object): """ - def __init__( - self, - columnName=None, - typeDesc=None, - position=None, - comment=None, - ): - self.columnName = columnName - self.typeDesc = typeDesc - self.position = position - self.comment = comment - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRING: - self.columnName = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRUCT: - self.typeDesc = TTypeDesc() - self.typeDesc.read(iprot) - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.I32: - self.position = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 4: - if ftype == TType.STRING: - self.comment = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TColumnDesc") - if self.columnName is not None: - oprot.writeFieldBegin("columnName", TType.STRING, 1) - oprot.writeString( - self.columnName.encode("utf-8") - if sys.version_info[0] == 2 - else self.columnName - ) - oprot.writeFieldEnd() - if self.typeDesc is not None: - oprot.writeFieldBegin("typeDesc", TType.STRUCT, 2) - self.typeDesc.write(oprot) - oprot.writeFieldEnd() - if self.position is not None: - oprot.writeFieldBegin("position", TType.I32, 3) - oprot.writeI32(self.position) - oprot.writeFieldEnd() - if self.comment is not None: - oprot.writeFieldBegin("comment", TType.STRING, 4) - oprot.writeString( - self.comment.encode("utf-8") - if sys.version_info[0] == 2 - else self.comment - ) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.columnName is None: - raise TProtocolException(message="Required field columnName is unset!") - if self.typeDesc is None: - raise TProtocolException(message="Required field typeDesc is unset!") - if self.position is None: - raise TProtocolException(message="Required field position is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, columnName=None, typeDesc=None, position=None, comment=None,): + self.columnName = columnName + self.typeDesc = typeDesc + self.position = position + self.comment = comment + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRING: + self.columnName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRUCT: + self.typeDesc = TTypeDesc() + self.typeDesc.read(iprot) + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.I32: + self.position = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 4: + if ftype == TType.STRING: + self.comment = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TColumnDesc') + if self.columnName is not None: + oprot.writeFieldBegin('columnName', TType.STRING, 1) + oprot.writeString(self.columnName.encode('utf-8') if sys.version_info[0] == 2 else self.columnName) + oprot.writeFieldEnd() + if self.typeDesc is not None: + oprot.writeFieldBegin('typeDesc', TType.STRUCT, 2) + self.typeDesc.write(oprot) + oprot.writeFieldEnd() + if self.position is not None: + oprot.writeFieldBegin('position', TType.I32, 3) + oprot.writeI32(self.position) + oprot.writeFieldEnd() + if self.comment is not None: + oprot.writeFieldBegin('comment', TType.STRING, 4) + oprot.writeString(self.comment.encode('utf-8') if sys.version_info[0] == 2 else self.comment) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.columnName is None: + raise TProtocolException(message='Required field columnName is unset!') + if self.typeDesc is None: + raise TProtocolException(message='Required field typeDesc is unset!') + if self.position is None: + raise TProtocolException(message='Required field position is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TTableSchema(object): - """ + """ Attributes: - columns """ - def __init__( - self, - columns=None, - ): - self.columns = columns - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.LIST: - self.columns = [] - (_etype37, _size34) = iprot.readListBegin() - for _i38 in range(_size34): - _elem39 = TColumnDesc() - _elem39.read(iprot) - self.columns.append(_elem39) - iprot.readListEnd() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TTableSchema") - if self.columns is not None: - oprot.writeFieldBegin("columns", TType.LIST, 1) - oprot.writeListBegin(TType.STRUCT, len(self.columns)) - for iter40 in self.columns: - iter40.write(oprot) - oprot.writeListEnd() - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.columns is None: - raise TProtocolException(message="Required field columns is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, columns=None,): + self.columns = columns + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.LIST: + self.columns = [] + (_etype37, _size34) = iprot.readListBegin() + for _i38 in range(_size34): + _elem39 = TColumnDesc() + _elem39.read(iprot) + self.columns.append(_elem39) + iprot.readListEnd() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TTableSchema') + if self.columns is not None: + oprot.writeFieldBegin('columns', TType.LIST, 1) + oprot.writeListBegin(TType.STRUCT, len(self.columns)) + for iter40 in self.columns: + iter40.write(oprot) + oprot.writeListEnd() + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.columns is None: + raise TProtocolException(message='Required field columns is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TBoolValue(object): - """ + """ Attributes: - value """ - def __init__( - self, - value=None, - ): - self.value = value - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.BOOL: - self.value = iprot.readBool() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TBoolValue") - if self.value is not None: - oprot.writeFieldBegin("value", TType.BOOL, 1) - oprot.writeBool(self.value) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, value=None,): + self.value = value + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.BOOL: + self.value = iprot.readBool() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TBoolValue') + if self.value is not None: + oprot.writeFieldBegin('value', TType.BOOL, 1) + oprot.writeBool(self.value) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TByteValue(object): - """ + """ Attributes: - value """ - def __init__( - self, - value=None, - ): - self.value = value - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.BYTE: - self.value = iprot.readByte() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TByteValue") - if self.value is not None: - oprot.writeFieldBegin("value", TType.BYTE, 1) - oprot.writeByte(self.value) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, value=None,): + self.value = value + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.BYTE: + self.value = iprot.readByte() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TByteValue') + if self.value is not None: + oprot.writeFieldBegin('value', TType.BYTE, 1) + oprot.writeByte(self.value) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TI16Value(object): - """ + """ Attributes: - value """ - def __init__( - self, - value=None, - ): - self.value = value - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.I16: - self.value = iprot.readI16() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TI16Value") - if self.value is not None: - oprot.writeFieldBegin("value", TType.I16, 1) - oprot.writeI16(self.value) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, value=None,): + self.value = value + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.I16: + self.value = iprot.readI16() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TI16Value') + if self.value is not None: + oprot.writeFieldBegin('value', TType.I16, 1) + oprot.writeI16(self.value) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TI32Value(object): - """ + """ Attributes: - value """ - def __init__( - self, - value=None, - ): - self.value = value - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.I32: - self.value = iprot.readI32() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TI32Value") - if self.value is not None: - oprot.writeFieldBegin("value", TType.I32, 1) - oprot.writeI32(self.value) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, value=None,): + self.value = value + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.I32: + self.value = iprot.readI32() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TI32Value') + if self.value is not None: + oprot.writeFieldBegin('value', TType.I32, 1) + oprot.writeI32(self.value) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TI64Value(object): - """ + """ Attributes: - value """ - def __init__( - self, - value=None, - ): - self.value = value - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.I64: - self.value = iprot.readI64() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TI64Value") - if self.value is not None: - oprot.writeFieldBegin("value", TType.I64, 1) - oprot.writeI64(self.value) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, value=None,): + self.value = value + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.I64: + self.value = iprot.readI64() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TI64Value') + if self.value is not None: + oprot.writeFieldBegin('value', TType.I64, 1) + oprot.writeI64(self.value) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TDoubleValue(object): - """ + """ Attributes: - value """ - def __init__( - self, - value=None, - ): - self.value = value - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.DOUBLE: - self.value = iprot.readDouble() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TDoubleValue") - if self.value is not None: - oprot.writeFieldBegin("value", TType.DOUBLE, 1) - oprot.writeDouble(self.value) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, value=None,): + self.value = value + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.DOUBLE: + self.value = iprot.readDouble() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TDoubleValue') + if self.value is not None: + oprot.writeFieldBegin('value', TType.DOUBLE, 1) + oprot.writeDouble(self.value) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TStringValue(object): - """ + """ Attributes: - value """ - def __init__( - self, - value=None, - ): - self.value = value - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRING: - self.value = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TStringValue") - if self.value is not None: - oprot.writeFieldBegin("value", TType.STRING, 1) - oprot.writeString( - self.value.encode("utf-8") if sys.version_info[0] == 2 else self.value - ) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, value=None,): + self.value = value + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRING: + self.value = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TStringValue') + if self.value is not None: + oprot.writeFieldBegin('value', TType.STRING, 1) + oprot.writeString(self.value.encode('utf-8') if sys.version_info[0] == 2 else self.value) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TColumnValue(object): - """ + """ Attributes: - boolVal - byteVal @@ -2165,923 +1958,833 @@ class TColumnValue(object): """ - def __init__( - self, - boolVal=None, - byteVal=None, - i16Val=None, - i32Val=None, - i64Val=None, - doubleVal=None, - stringVal=None, - ): - self.boolVal = boolVal - self.byteVal = byteVal - self.i16Val = i16Val - self.i32Val = i32Val - self.i64Val = i64Val - self.doubleVal = doubleVal - self.stringVal = stringVal - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.boolVal = TBoolValue() - self.boolVal.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRUCT: - self.byteVal = TByteValue() - self.byteVal.read(iprot) - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.STRUCT: - self.i16Val = TI16Value() - self.i16Val.read(iprot) - else: - iprot.skip(ftype) - elif fid == 4: - if ftype == TType.STRUCT: - self.i32Val = TI32Value() - self.i32Val.read(iprot) - else: - iprot.skip(ftype) - elif fid == 5: - if ftype == TType.STRUCT: - self.i64Val = TI64Value() - self.i64Val.read(iprot) - else: - iprot.skip(ftype) - elif fid == 6: - if ftype == TType.STRUCT: - self.doubleVal = TDoubleValue() - self.doubleVal.read(iprot) - else: - iprot.skip(ftype) - elif fid == 7: - if ftype == TType.STRUCT: - self.stringVal = TStringValue() - self.stringVal.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TColumnValue") - if self.boolVal is not None: - oprot.writeFieldBegin("boolVal", TType.STRUCT, 1) - self.boolVal.write(oprot) - oprot.writeFieldEnd() - if self.byteVal is not None: - oprot.writeFieldBegin("byteVal", TType.STRUCT, 2) - self.byteVal.write(oprot) - oprot.writeFieldEnd() - if self.i16Val is not None: - oprot.writeFieldBegin("i16Val", TType.STRUCT, 3) - self.i16Val.write(oprot) - oprot.writeFieldEnd() - if self.i32Val is not None: - oprot.writeFieldBegin("i32Val", TType.STRUCT, 4) - self.i32Val.write(oprot) - oprot.writeFieldEnd() - if self.i64Val is not None: - oprot.writeFieldBegin("i64Val", TType.STRUCT, 5) - self.i64Val.write(oprot) - oprot.writeFieldEnd() - if self.doubleVal is not None: - oprot.writeFieldBegin("doubleVal", TType.STRUCT, 6) - self.doubleVal.write(oprot) - oprot.writeFieldEnd() - if self.stringVal is not None: - oprot.writeFieldBegin("stringVal", TType.STRUCT, 7) - self.stringVal.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, boolVal=None, byteVal=None, i16Val=None, i32Val=None, i64Val=None, doubleVal=None, stringVal=None,): + self.boolVal = boolVal + self.byteVal = byteVal + self.i16Val = i16Val + self.i32Val = i32Val + self.i64Val = i64Val + self.doubleVal = doubleVal + self.stringVal = stringVal + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.boolVal = TBoolValue() + self.boolVal.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRUCT: + self.byteVal = TByteValue() + self.byteVal.read(iprot) + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.STRUCT: + self.i16Val = TI16Value() + self.i16Val.read(iprot) + else: + iprot.skip(ftype) + elif fid == 4: + if ftype == TType.STRUCT: + self.i32Val = TI32Value() + self.i32Val.read(iprot) + else: + iprot.skip(ftype) + elif fid == 5: + if ftype == TType.STRUCT: + self.i64Val = TI64Value() + self.i64Val.read(iprot) + else: + iprot.skip(ftype) + elif fid == 6: + if ftype == TType.STRUCT: + self.doubleVal = TDoubleValue() + self.doubleVal.read(iprot) + else: + iprot.skip(ftype) + elif fid == 7: + if ftype == TType.STRUCT: + self.stringVal = TStringValue() + self.stringVal.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TColumnValue') + if self.boolVal is not None: + oprot.writeFieldBegin('boolVal', TType.STRUCT, 1) + self.boolVal.write(oprot) + oprot.writeFieldEnd() + if self.byteVal is not None: + oprot.writeFieldBegin('byteVal', TType.STRUCT, 2) + self.byteVal.write(oprot) + oprot.writeFieldEnd() + if self.i16Val is not None: + oprot.writeFieldBegin('i16Val', TType.STRUCT, 3) + self.i16Val.write(oprot) + oprot.writeFieldEnd() + if self.i32Val is not None: + oprot.writeFieldBegin('i32Val', TType.STRUCT, 4) + self.i32Val.write(oprot) + oprot.writeFieldEnd() + if self.i64Val is not None: + oprot.writeFieldBegin('i64Val', TType.STRUCT, 5) + self.i64Val.write(oprot) + oprot.writeFieldEnd() + if self.doubleVal is not None: + oprot.writeFieldBegin('doubleVal', TType.STRUCT, 6) + self.doubleVal.write(oprot) + oprot.writeFieldEnd() + if self.stringVal is not None: + oprot.writeFieldBegin('stringVal', TType.STRUCT, 7) + self.stringVal.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TRow(object): - """ + """ Attributes: - colVals """ - def __init__( - self, - colVals=None, - ): - self.colVals = colVals - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.LIST: - self.colVals = [] - (_etype44, _size41) = iprot.readListBegin() - for _i45 in range(_size41): - _elem46 = TColumnValue() - _elem46.read(iprot) - self.colVals.append(_elem46) - iprot.readListEnd() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TRow") - if self.colVals is not None: - oprot.writeFieldBegin("colVals", TType.LIST, 1) - oprot.writeListBegin(TType.STRUCT, len(self.colVals)) - for iter47 in self.colVals: - iter47.write(oprot) - oprot.writeListEnd() - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.colVals is None: - raise TProtocolException(message="Required field colVals is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, colVals=None,): + self.colVals = colVals + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.LIST: + self.colVals = [] + (_etype44, _size41) = iprot.readListBegin() + for _i45 in range(_size41): + _elem46 = TColumnValue() + _elem46.read(iprot) + self.colVals.append(_elem46) + iprot.readListEnd() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TRow') + if self.colVals is not None: + oprot.writeFieldBegin('colVals', TType.LIST, 1) + oprot.writeListBegin(TType.STRUCT, len(self.colVals)) + for iter47 in self.colVals: + iter47.write(oprot) + oprot.writeListEnd() + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.colVals is None: + raise TProtocolException(message='Required field colVals is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TBoolColumn(object): - """ + """ Attributes: - values - nulls """ - def __init__( - self, - values=None, - nulls=None, - ): - self.values = values - self.nulls = nulls - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.LIST: - self.values = [] - (_etype51, _size48) = iprot.readListBegin() - for _i52 in range(_size48): - _elem53 = iprot.readBool() - self.values.append(_elem53) - iprot.readListEnd() - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRING: - self.nulls = iprot.readBinary() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TBoolColumn") - if self.values is not None: - oprot.writeFieldBegin("values", TType.LIST, 1) - oprot.writeListBegin(TType.BOOL, len(self.values)) - for iter54 in self.values: - oprot.writeBool(iter54) - oprot.writeListEnd() - oprot.writeFieldEnd() - if self.nulls is not None: - oprot.writeFieldBegin("nulls", TType.STRING, 2) - oprot.writeBinary(self.nulls) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.values is None: - raise TProtocolException(message="Required field values is unset!") - if self.nulls is None: - raise TProtocolException(message="Required field nulls is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, values=None, nulls=None,): + self.values = values + self.nulls = nulls + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.LIST: + self.values = [] + (_etype51, _size48) = iprot.readListBegin() + for _i52 in range(_size48): + _elem53 = iprot.readBool() + self.values.append(_elem53) + iprot.readListEnd() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRING: + self.nulls = iprot.readBinary() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TBoolColumn') + if self.values is not None: + oprot.writeFieldBegin('values', TType.LIST, 1) + oprot.writeListBegin(TType.BOOL, len(self.values)) + for iter54 in self.values: + oprot.writeBool(iter54) + oprot.writeListEnd() + oprot.writeFieldEnd() + if self.nulls is not None: + oprot.writeFieldBegin('nulls', TType.STRING, 2) + oprot.writeBinary(self.nulls) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.values is None: + raise TProtocolException(message='Required field values is unset!') + if self.nulls is None: + raise TProtocolException(message='Required field nulls is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TByteColumn(object): - """ + """ Attributes: - values - nulls """ - def __init__( - self, - values=None, - nulls=None, - ): - self.values = values - self.nulls = nulls - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.LIST: - self.values = [] - (_etype58, _size55) = iprot.readListBegin() - for _i59 in range(_size55): - _elem60 = iprot.readByte() - self.values.append(_elem60) - iprot.readListEnd() - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRING: - self.nulls = iprot.readBinary() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TByteColumn") - if self.values is not None: - oprot.writeFieldBegin("values", TType.LIST, 1) - oprot.writeListBegin(TType.BYTE, len(self.values)) - for iter61 in self.values: - oprot.writeByte(iter61) - oprot.writeListEnd() - oprot.writeFieldEnd() - if self.nulls is not None: - oprot.writeFieldBegin("nulls", TType.STRING, 2) - oprot.writeBinary(self.nulls) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.values is None: - raise TProtocolException(message="Required field values is unset!") - if self.nulls is None: - raise TProtocolException(message="Required field nulls is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, values=None, nulls=None,): + self.values = values + self.nulls = nulls + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.LIST: + self.values = [] + (_etype58, _size55) = iprot.readListBegin() + for _i59 in range(_size55): + _elem60 = iprot.readByte() + self.values.append(_elem60) + iprot.readListEnd() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRING: + self.nulls = iprot.readBinary() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TByteColumn') + if self.values is not None: + oprot.writeFieldBegin('values', TType.LIST, 1) + oprot.writeListBegin(TType.BYTE, len(self.values)) + for iter61 in self.values: + oprot.writeByte(iter61) + oprot.writeListEnd() + oprot.writeFieldEnd() + if self.nulls is not None: + oprot.writeFieldBegin('nulls', TType.STRING, 2) + oprot.writeBinary(self.nulls) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.values is None: + raise TProtocolException(message='Required field values is unset!') + if self.nulls is None: + raise TProtocolException(message='Required field nulls is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TI16Column(object): - """ + """ Attributes: - values - nulls """ - def __init__( - self, - values=None, - nulls=None, - ): - self.values = values - self.nulls = nulls - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.LIST: - self.values = [] - (_etype65, _size62) = iprot.readListBegin() - for _i66 in range(_size62): - _elem67 = iprot.readI16() - self.values.append(_elem67) - iprot.readListEnd() - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRING: - self.nulls = iprot.readBinary() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TI16Column") - if self.values is not None: - oprot.writeFieldBegin("values", TType.LIST, 1) - oprot.writeListBegin(TType.I16, len(self.values)) - for iter68 in self.values: - oprot.writeI16(iter68) - oprot.writeListEnd() - oprot.writeFieldEnd() - if self.nulls is not None: - oprot.writeFieldBegin("nulls", TType.STRING, 2) - oprot.writeBinary(self.nulls) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.values is None: - raise TProtocolException(message="Required field values is unset!") - if self.nulls is None: - raise TProtocolException(message="Required field nulls is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, values=None, nulls=None,): + self.values = values + self.nulls = nulls + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.LIST: + self.values = [] + (_etype65, _size62) = iprot.readListBegin() + for _i66 in range(_size62): + _elem67 = iprot.readI16() + self.values.append(_elem67) + iprot.readListEnd() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRING: + self.nulls = iprot.readBinary() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TI16Column') + if self.values is not None: + oprot.writeFieldBegin('values', TType.LIST, 1) + oprot.writeListBegin(TType.I16, len(self.values)) + for iter68 in self.values: + oprot.writeI16(iter68) + oprot.writeListEnd() + oprot.writeFieldEnd() + if self.nulls is not None: + oprot.writeFieldBegin('nulls', TType.STRING, 2) + oprot.writeBinary(self.nulls) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.values is None: + raise TProtocolException(message='Required field values is unset!') + if self.nulls is None: + raise TProtocolException(message='Required field nulls is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TI32Column(object): - """ + """ Attributes: - values - nulls """ - def __init__( - self, - values=None, - nulls=None, - ): - self.values = values - self.nulls = nulls - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.LIST: - self.values = [] - (_etype72, _size69) = iprot.readListBegin() - for _i73 in range(_size69): - _elem74 = iprot.readI32() - self.values.append(_elem74) - iprot.readListEnd() - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRING: - self.nulls = iprot.readBinary() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TI32Column") - if self.values is not None: - oprot.writeFieldBegin("values", TType.LIST, 1) - oprot.writeListBegin(TType.I32, len(self.values)) - for iter75 in self.values: - oprot.writeI32(iter75) - oprot.writeListEnd() - oprot.writeFieldEnd() - if self.nulls is not None: - oprot.writeFieldBegin("nulls", TType.STRING, 2) - oprot.writeBinary(self.nulls) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.values is None: - raise TProtocolException(message="Required field values is unset!") - if self.nulls is None: - raise TProtocolException(message="Required field nulls is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, values=None, nulls=None,): + self.values = values + self.nulls = nulls + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.LIST: + self.values = [] + (_etype72, _size69) = iprot.readListBegin() + for _i73 in range(_size69): + _elem74 = iprot.readI32() + self.values.append(_elem74) + iprot.readListEnd() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRING: + self.nulls = iprot.readBinary() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TI32Column') + if self.values is not None: + oprot.writeFieldBegin('values', TType.LIST, 1) + oprot.writeListBegin(TType.I32, len(self.values)) + for iter75 in self.values: + oprot.writeI32(iter75) + oprot.writeListEnd() + oprot.writeFieldEnd() + if self.nulls is not None: + oprot.writeFieldBegin('nulls', TType.STRING, 2) + oprot.writeBinary(self.nulls) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.values is None: + raise TProtocolException(message='Required field values is unset!') + if self.nulls is None: + raise TProtocolException(message='Required field nulls is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TI64Column(object): - """ + """ Attributes: - values - nulls """ - def __init__( - self, - values=None, - nulls=None, - ): - self.values = values - self.nulls = nulls - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.LIST: - self.values = [] - (_etype79, _size76) = iprot.readListBegin() - for _i80 in range(_size76): - _elem81 = iprot.readI64() - self.values.append(_elem81) - iprot.readListEnd() - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRING: - self.nulls = iprot.readBinary() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TI64Column") - if self.values is not None: - oprot.writeFieldBegin("values", TType.LIST, 1) - oprot.writeListBegin(TType.I64, len(self.values)) - for iter82 in self.values: - oprot.writeI64(iter82) - oprot.writeListEnd() - oprot.writeFieldEnd() - if self.nulls is not None: - oprot.writeFieldBegin("nulls", TType.STRING, 2) - oprot.writeBinary(self.nulls) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.values is None: - raise TProtocolException(message="Required field values is unset!") - if self.nulls is None: - raise TProtocolException(message="Required field nulls is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, values=None, nulls=None,): + self.values = values + self.nulls = nulls + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.LIST: + self.values = [] + (_etype79, _size76) = iprot.readListBegin() + for _i80 in range(_size76): + _elem81 = iprot.readI64() + self.values.append(_elem81) + iprot.readListEnd() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRING: + self.nulls = iprot.readBinary() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TI64Column') + if self.values is not None: + oprot.writeFieldBegin('values', TType.LIST, 1) + oprot.writeListBegin(TType.I64, len(self.values)) + for iter82 in self.values: + oprot.writeI64(iter82) + oprot.writeListEnd() + oprot.writeFieldEnd() + if self.nulls is not None: + oprot.writeFieldBegin('nulls', TType.STRING, 2) + oprot.writeBinary(self.nulls) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.values is None: + raise TProtocolException(message='Required field values is unset!') + if self.nulls is None: + raise TProtocolException(message='Required field nulls is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TDoubleColumn(object): - """ + """ Attributes: - values - nulls """ - def __init__( - self, - values=None, - nulls=None, - ): - self.values = values - self.nulls = nulls - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.LIST: - self.values = [] - (_etype86, _size83) = iprot.readListBegin() - for _i87 in range(_size83): - _elem88 = iprot.readDouble() - self.values.append(_elem88) - iprot.readListEnd() - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRING: - self.nulls = iprot.readBinary() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TDoubleColumn") - if self.values is not None: - oprot.writeFieldBegin("values", TType.LIST, 1) - oprot.writeListBegin(TType.DOUBLE, len(self.values)) - for iter89 in self.values: - oprot.writeDouble(iter89) - oprot.writeListEnd() - oprot.writeFieldEnd() - if self.nulls is not None: - oprot.writeFieldBegin("nulls", TType.STRING, 2) - oprot.writeBinary(self.nulls) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.values is None: - raise TProtocolException(message="Required field values is unset!") - if self.nulls is None: - raise TProtocolException(message="Required field nulls is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, values=None, nulls=None,): + self.values = values + self.nulls = nulls + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.LIST: + self.values = [] + (_etype86, _size83) = iprot.readListBegin() + for _i87 in range(_size83): + _elem88 = iprot.readDouble() + self.values.append(_elem88) + iprot.readListEnd() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRING: + self.nulls = iprot.readBinary() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TDoubleColumn') + if self.values is not None: + oprot.writeFieldBegin('values', TType.LIST, 1) + oprot.writeListBegin(TType.DOUBLE, len(self.values)) + for iter89 in self.values: + oprot.writeDouble(iter89) + oprot.writeListEnd() + oprot.writeFieldEnd() + if self.nulls is not None: + oprot.writeFieldBegin('nulls', TType.STRING, 2) + oprot.writeBinary(self.nulls) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.values is None: + raise TProtocolException(message='Required field values is unset!') + if self.nulls is None: + raise TProtocolException(message='Required field nulls is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TStringColumn(object): - """ + """ Attributes: - values - nulls """ - def __init__( - self, - values=None, - nulls=None, - ): - self.values = values - self.nulls = nulls - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.LIST: - self.values = [] - (_etype93, _size90) = iprot.readListBegin() - for _i94 in range(_size90): - _elem95 = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - self.values.append(_elem95) - iprot.readListEnd() - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRING: - self.nulls = iprot.readBinary() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TStringColumn") - if self.values is not None: - oprot.writeFieldBegin("values", TType.LIST, 1) - oprot.writeListBegin(TType.STRING, len(self.values)) - for iter96 in self.values: - oprot.writeString( - iter96.encode("utf-8") if sys.version_info[0] == 2 else iter96 - ) - oprot.writeListEnd() - oprot.writeFieldEnd() - if self.nulls is not None: - oprot.writeFieldBegin("nulls", TType.STRING, 2) - oprot.writeBinary(self.nulls) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.values is None: - raise TProtocolException(message="Required field values is unset!") - if self.nulls is None: - raise TProtocolException(message="Required field nulls is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, values=None, nulls=None,): + self.values = values + self.nulls = nulls + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.LIST: + self.values = [] + (_etype93, _size90) = iprot.readListBegin() + for _i94 in range(_size90): + _elem95 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.values.append(_elem95) + iprot.readListEnd() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRING: + self.nulls = iprot.readBinary() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TStringColumn') + if self.values is not None: + oprot.writeFieldBegin('values', TType.LIST, 1) + oprot.writeListBegin(TType.STRING, len(self.values)) + for iter96 in self.values: + oprot.writeString(iter96.encode('utf-8') if sys.version_info[0] == 2 else iter96) + oprot.writeListEnd() + oprot.writeFieldEnd() + if self.nulls is not None: + oprot.writeFieldBegin('nulls', TType.STRING, 2) + oprot.writeBinary(self.nulls) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.values is None: + raise TProtocolException(message='Required field values is unset!') + if self.nulls is None: + raise TProtocolException(message='Required field nulls is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TBinaryColumn(object): - """ + """ Attributes: - values - nulls """ - def __init__( - self, - values=None, - nulls=None, - ): - self.values = values - self.nulls = nulls - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.LIST: - self.values = [] - (_etype100, _size97) = iprot.readListBegin() - for _i101 in range(_size97): - _elem102 = iprot.readBinary() - self.values.append(_elem102) - iprot.readListEnd() - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRING: - self.nulls = iprot.readBinary() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TBinaryColumn") - if self.values is not None: - oprot.writeFieldBegin("values", TType.LIST, 1) - oprot.writeListBegin(TType.STRING, len(self.values)) - for iter103 in self.values: - oprot.writeBinary(iter103) - oprot.writeListEnd() - oprot.writeFieldEnd() - if self.nulls is not None: - oprot.writeFieldBegin("nulls", TType.STRING, 2) - oprot.writeBinary(self.nulls) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.values is None: - raise TProtocolException(message="Required field values is unset!") - if self.nulls is None: - raise TProtocolException(message="Required field nulls is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, values=None, nulls=None,): + self.values = values + self.nulls = nulls + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.LIST: + self.values = [] + (_etype100, _size97) = iprot.readListBegin() + for _i101 in range(_size97): + _elem102 = iprot.readBinary() + self.values.append(_elem102) + iprot.readListEnd() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRING: + self.nulls = iprot.readBinary() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TBinaryColumn') + if self.values is not None: + oprot.writeFieldBegin('values', TType.LIST, 1) + oprot.writeListBegin(TType.STRING, len(self.values)) + for iter103 in self.values: + oprot.writeBinary(iter103) + oprot.writeListEnd() + oprot.writeFieldEnd() + if self.nulls is not None: + oprot.writeFieldBegin('nulls', TType.STRING, 2) + oprot.writeBinary(self.nulls) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.values is None: + raise TProtocolException(message='Required field values is unset!') + if self.nulls is None: + raise TProtocolException(message='Required field nulls is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TColumn(object): - """ + """ Attributes: - boolVal - byteVal @@ -3094,354 +2797,318 @@ class TColumn(object): """ - def __init__( - self, - boolVal=None, - byteVal=None, - i16Val=None, - i32Val=None, - i64Val=None, - doubleVal=None, - stringVal=None, - binaryVal=None, - ): - self.boolVal = boolVal - self.byteVal = byteVal - self.i16Val = i16Val - self.i32Val = i32Val - self.i64Val = i64Val - self.doubleVal = doubleVal - self.stringVal = stringVal - self.binaryVal = binaryVal - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.boolVal = TBoolColumn() - self.boolVal.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRUCT: - self.byteVal = TByteColumn() - self.byteVal.read(iprot) - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.STRUCT: - self.i16Val = TI16Column() - self.i16Val.read(iprot) - else: - iprot.skip(ftype) - elif fid == 4: - if ftype == TType.STRUCT: - self.i32Val = TI32Column() - self.i32Val.read(iprot) - else: - iprot.skip(ftype) - elif fid == 5: - if ftype == TType.STRUCT: - self.i64Val = TI64Column() - self.i64Val.read(iprot) - else: - iprot.skip(ftype) - elif fid == 6: - if ftype == TType.STRUCT: - self.doubleVal = TDoubleColumn() - self.doubleVal.read(iprot) - else: - iprot.skip(ftype) - elif fid == 7: - if ftype == TType.STRUCT: - self.stringVal = TStringColumn() - self.stringVal.read(iprot) - else: - iprot.skip(ftype) - elif fid == 8: - if ftype == TType.STRUCT: - self.binaryVal = TBinaryColumn() - self.binaryVal.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TColumn") - if self.boolVal is not None: - oprot.writeFieldBegin("boolVal", TType.STRUCT, 1) - self.boolVal.write(oprot) - oprot.writeFieldEnd() - if self.byteVal is not None: - oprot.writeFieldBegin("byteVal", TType.STRUCT, 2) - self.byteVal.write(oprot) - oprot.writeFieldEnd() - if self.i16Val is not None: - oprot.writeFieldBegin("i16Val", TType.STRUCT, 3) - self.i16Val.write(oprot) - oprot.writeFieldEnd() - if self.i32Val is not None: - oprot.writeFieldBegin("i32Val", TType.STRUCT, 4) - self.i32Val.write(oprot) - oprot.writeFieldEnd() - if self.i64Val is not None: - oprot.writeFieldBegin("i64Val", TType.STRUCT, 5) - self.i64Val.write(oprot) - oprot.writeFieldEnd() - if self.doubleVal is not None: - oprot.writeFieldBegin("doubleVal", TType.STRUCT, 6) - self.doubleVal.write(oprot) - oprot.writeFieldEnd() - if self.stringVal is not None: - oprot.writeFieldBegin("stringVal", TType.STRUCT, 7) - self.stringVal.write(oprot) - oprot.writeFieldEnd() - if self.binaryVal is not None: - oprot.writeFieldBegin("binaryVal", TType.STRUCT, 8) - self.binaryVal.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, boolVal=None, byteVal=None, i16Val=None, i32Val=None, i64Val=None, doubleVal=None, stringVal=None, binaryVal=None,): + self.boolVal = boolVal + self.byteVal = byteVal + self.i16Val = i16Val + self.i32Val = i32Val + self.i64Val = i64Val + self.doubleVal = doubleVal + self.stringVal = stringVal + self.binaryVal = binaryVal + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.boolVal = TBoolColumn() + self.boolVal.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRUCT: + self.byteVal = TByteColumn() + self.byteVal.read(iprot) + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.STRUCT: + self.i16Val = TI16Column() + self.i16Val.read(iprot) + else: + iprot.skip(ftype) + elif fid == 4: + if ftype == TType.STRUCT: + self.i32Val = TI32Column() + self.i32Val.read(iprot) + else: + iprot.skip(ftype) + elif fid == 5: + if ftype == TType.STRUCT: + self.i64Val = TI64Column() + self.i64Val.read(iprot) + else: + iprot.skip(ftype) + elif fid == 6: + if ftype == TType.STRUCT: + self.doubleVal = TDoubleColumn() + self.doubleVal.read(iprot) + else: + iprot.skip(ftype) + elif fid == 7: + if ftype == TType.STRUCT: + self.stringVal = TStringColumn() + self.stringVal.read(iprot) + else: + iprot.skip(ftype) + elif fid == 8: + if ftype == TType.STRUCT: + self.binaryVal = TBinaryColumn() + self.binaryVal.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TColumn') + if self.boolVal is not None: + oprot.writeFieldBegin('boolVal', TType.STRUCT, 1) + self.boolVal.write(oprot) + oprot.writeFieldEnd() + if self.byteVal is not None: + oprot.writeFieldBegin('byteVal', TType.STRUCT, 2) + self.byteVal.write(oprot) + oprot.writeFieldEnd() + if self.i16Val is not None: + oprot.writeFieldBegin('i16Val', TType.STRUCT, 3) + self.i16Val.write(oprot) + oprot.writeFieldEnd() + if self.i32Val is not None: + oprot.writeFieldBegin('i32Val', TType.STRUCT, 4) + self.i32Val.write(oprot) + oprot.writeFieldEnd() + if self.i64Val is not None: + oprot.writeFieldBegin('i64Val', TType.STRUCT, 5) + self.i64Val.write(oprot) + oprot.writeFieldEnd() + if self.doubleVal is not None: + oprot.writeFieldBegin('doubleVal', TType.STRUCT, 6) + self.doubleVal.write(oprot) + oprot.writeFieldEnd() + if self.stringVal is not None: + oprot.writeFieldBegin('stringVal', TType.STRUCT, 7) + self.stringVal.write(oprot) + oprot.writeFieldEnd() + if self.binaryVal is not None: + oprot.writeFieldBegin('binaryVal', TType.STRUCT, 8) + self.binaryVal.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TDBSqlJsonArrayFormat(object): - """ + """ Attributes: - compressionCodec """ - def __init__( - self, - compressionCodec=None, - ): - self.compressionCodec = compressionCodec - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.I32: - self.compressionCodec = iprot.readI32() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TDBSqlJsonArrayFormat") - if self.compressionCodec is not None: - oprot.writeFieldBegin("compressionCodec", TType.I32, 1) - oprot.writeI32(self.compressionCodec) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, compressionCodec=None,): + self.compressionCodec = compressionCodec + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.I32: + self.compressionCodec = iprot.readI32() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TDBSqlJsonArrayFormat') + if self.compressionCodec is not None: + oprot.writeFieldBegin('compressionCodec', TType.I32, 1) + oprot.writeI32(self.compressionCodec) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TDBSqlCsvFormat(object): - """ + """ Attributes: - compressionCodec """ - def __init__( - self, - compressionCodec=None, - ): - self.compressionCodec = compressionCodec - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.I32: - self.compressionCodec = iprot.readI32() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TDBSqlCsvFormat") - if self.compressionCodec is not None: - oprot.writeFieldBegin("compressionCodec", TType.I32, 1) - oprot.writeI32(self.compressionCodec) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, compressionCodec=None,): + self.compressionCodec = compressionCodec + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.I32: + self.compressionCodec = iprot.readI32() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TDBSqlCsvFormat') + if self.compressionCodec is not None: + oprot.writeFieldBegin('compressionCodec', TType.I32, 1) + oprot.writeI32(self.compressionCodec) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TDBSqlArrowFormat(object): - """ + """ Attributes: - arrowLayout - compressionCodec """ - def __init__( - self, - arrowLayout=None, - compressionCodec=None, - ): - self.arrowLayout = arrowLayout - self.compressionCodec = compressionCodec - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.I32: - self.arrowLayout = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.I32: - self.compressionCodec = iprot.readI32() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TDBSqlArrowFormat") - if self.arrowLayout is not None: - oprot.writeFieldBegin("arrowLayout", TType.I32, 1) - oprot.writeI32(self.arrowLayout) - oprot.writeFieldEnd() - if self.compressionCodec is not None: - oprot.writeFieldBegin("compressionCodec", TType.I32, 2) - oprot.writeI32(self.compressionCodec) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, arrowLayout=None, compressionCodec=None,): + self.arrowLayout = arrowLayout + self.compressionCodec = compressionCodec + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.I32: + self.arrowLayout = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.I32: + self.compressionCodec = iprot.readI32() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TDBSqlArrowFormat') + if self.arrowLayout is not None: + oprot.writeFieldBegin('arrowLayout', TType.I32, 1) + oprot.writeI32(self.arrowLayout) + oprot.writeFieldEnd() + if self.compressionCodec is not None: + oprot.writeFieldBegin('compressionCodec', TType.I32, 2) + oprot.writeI32(self.compressionCodec) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TDBSqlResultFormat(object): - """ + """ Attributes: - arrowFormat - csvFormat @@ -3449,165 +3116,153 @@ class TDBSqlResultFormat(object): """ - def __init__(self, arrowFormat=None, csvFormat=None, jsonArrayFormat=None): - self.arrowFormat = arrowFormat - self.csvFormat = csvFormat - self.jsonArrayFormat = jsonArrayFormat - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.arrowFormat = TDBSqlArrowFormat() - self.arrowFormat.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRUCT: - self.csvFormat = TDBSqlCsvFormat() - self.csvFormat.read(iprot) - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.STRUCT: - self.jsonArrayFormat = TDBSqlJsonArrayFormat() - self.jsonArrayFormat.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TDBSqlResultFormat") - if self.arrowFormat is not None: - oprot.writeFieldBegin("arrowFormat", TType.STRUCT, 1) - self.arrowFormat.write(oprot) - oprot.writeFieldEnd() - if self.csvFormat is not None: - oprot.writeFieldBegin("csvFormat", TType.STRUCT, 2) - self.csvFormat.write(oprot) - oprot.writeFieldEnd() - if self.jsonArrayFormat is not None: - oprot.writeFieldBegin("jsonArrayFormat", TType.STRUCT, 3) - self.jsonArrayFormat.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, arrowFormat=None, csvFormat=None, jsonArrayFormat=None,): + self.arrowFormat = arrowFormat + self.csvFormat = csvFormat + self.jsonArrayFormat = jsonArrayFormat + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.arrowFormat = TDBSqlArrowFormat() + self.arrowFormat.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRUCT: + self.csvFormat = TDBSqlCsvFormat() + self.csvFormat.read(iprot) + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.STRUCT: + self.jsonArrayFormat = TDBSqlJsonArrayFormat() + self.jsonArrayFormat.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TDBSqlResultFormat') + if self.arrowFormat is not None: + oprot.writeFieldBegin('arrowFormat', TType.STRUCT, 1) + self.arrowFormat.write(oprot) + oprot.writeFieldEnd() + if self.csvFormat is not None: + oprot.writeFieldBegin('csvFormat', TType.STRUCT, 2) + self.csvFormat.write(oprot) + oprot.writeFieldEnd() + if self.jsonArrayFormat is not None: + oprot.writeFieldBegin('jsonArrayFormat', TType.STRUCT, 3) + self.jsonArrayFormat.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TSparkArrowBatch(object): - """ + """ Attributes: - batch - rowCount """ - def __init__( - self, - batch=None, - rowCount=None, - ): - self.batch = batch - self.rowCount = rowCount - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRING: - self.batch = iprot.readBinary() - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.I64: - self.rowCount = iprot.readI64() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TSparkArrowBatch") - if self.batch is not None: - oprot.writeFieldBegin("batch", TType.STRING, 1) - oprot.writeBinary(self.batch) - oprot.writeFieldEnd() - if self.rowCount is not None: - oprot.writeFieldBegin("rowCount", TType.I64, 2) - oprot.writeI64(self.rowCount) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.batch is None: - raise TProtocolException(message="Required field batch is unset!") - if self.rowCount is None: - raise TProtocolException(message="Required field rowCount is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, batch=None, rowCount=None,): + self.batch = batch + self.rowCount = rowCount + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRING: + self.batch = iprot.readBinary() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.I64: + self.rowCount = iprot.readI64() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TSparkArrowBatch') + if self.batch is not None: + oprot.writeFieldBegin('batch', TType.STRING, 1) + oprot.writeBinary(self.batch) + oprot.writeFieldEnd() + if self.rowCount is not None: + oprot.writeFieldBegin('rowCount', TType.I64, 2) + oprot.writeI64(self.rowCount) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.batch is None: + raise TProtocolException(message='Required field batch is unset!') + if self.rowCount is None: + raise TProtocolException(message='Required field rowCount is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TSparkArrowResultLink(object): - """ + """ Attributes: - fileLink - expiryTime @@ -3618,160 +3273,128 @@ class TSparkArrowResultLink(object): """ - def __init__( - self, - fileLink=None, - expiryTime=None, - startRowOffset=None, - rowCount=None, - bytesNum=None, - httpHeaders=None, - ): - self.fileLink = fileLink - self.expiryTime = expiryTime - self.startRowOffset = startRowOffset - self.rowCount = rowCount - self.bytesNum = bytesNum - self.httpHeaders = httpHeaders - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRING: - self.fileLink = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.I64: - self.expiryTime = iprot.readI64() - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.I64: - self.startRowOffset = iprot.readI64() - else: - iprot.skip(ftype) - elif fid == 4: - if ftype == TType.I64: - self.rowCount = iprot.readI64() - else: - iprot.skip(ftype) - elif fid == 5: - if ftype == TType.I64: - self.bytesNum = iprot.readI64() - else: - iprot.skip(ftype) - elif fid == 6: - if ftype == TType.MAP: - self.httpHeaders = {} - (_ktype105, _vtype106, _size104) = iprot.readMapBegin() - for _i108 in range(_size104): - _key109 = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - _val110 = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - self.httpHeaders[_key109] = _val110 - iprot.readMapEnd() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TSparkArrowResultLink") - if self.fileLink is not None: - oprot.writeFieldBegin("fileLink", TType.STRING, 1) - oprot.writeString( - self.fileLink.encode("utf-8") - if sys.version_info[0] == 2 - else self.fileLink - ) - oprot.writeFieldEnd() - if self.expiryTime is not None: - oprot.writeFieldBegin("expiryTime", TType.I64, 2) - oprot.writeI64(self.expiryTime) - oprot.writeFieldEnd() - if self.startRowOffset is not None: - oprot.writeFieldBegin("startRowOffset", TType.I64, 3) - oprot.writeI64(self.startRowOffset) - oprot.writeFieldEnd() - if self.rowCount is not None: - oprot.writeFieldBegin("rowCount", TType.I64, 4) - oprot.writeI64(self.rowCount) - oprot.writeFieldEnd() - if self.bytesNum is not None: - oprot.writeFieldBegin("bytesNum", TType.I64, 5) - oprot.writeI64(self.bytesNum) - oprot.writeFieldEnd() - if self.httpHeaders is not None: - oprot.writeFieldBegin("httpHeaders", TType.MAP, 6) - oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.httpHeaders)) - for kiter111, viter112 in self.httpHeaders.items(): - oprot.writeString( - kiter111.encode("utf-8") if sys.version_info[0] == 2 else kiter111 - ) - oprot.writeString( - viter112.encode("utf-8") if sys.version_info[0] == 2 else viter112 - ) - oprot.writeMapEnd() - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.fileLink is None: - raise TProtocolException(message="Required field fileLink is unset!") - if self.expiryTime is None: - raise TProtocolException(message="Required field expiryTime is unset!") - if self.startRowOffset is None: - raise TProtocolException(message="Required field startRowOffset is unset!") - if self.rowCount is None: - raise TProtocolException(message="Required field rowCount is unset!") - if self.bytesNum is None: - raise TProtocolException(message="Required field bytesNum is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, fileLink=None, expiryTime=None, startRowOffset=None, rowCount=None, bytesNum=None, httpHeaders=None,): + self.fileLink = fileLink + self.expiryTime = expiryTime + self.startRowOffset = startRowOffset + self.rowCount = rowCount + self.bytesNum = bytesNum + self.httpHeaders = httpHeaders + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRING: + self.fileLink = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.I64: + self.expiryTime = iprot.readI64() + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.I64: + self.startRowOffset = iprot.readI64() + else: + iprot.skip(ftype) + elif fid == 4: + if ftype == TType.I64: + self.rowCount = iprot.readI64() + else: + iprot.skip(ftype) + elif fid == 5: + if ftype == TType.I64: + self.bytesNum = iprot.readI64() + else: + iprot.skip(ftype) + elif fid == 6: + if ftype == TType.MAP: + self.httpHeaders = {} + (_ktype105, _vtype106, _size104) = iprot.readMapBegin() + for _i108 in range(_size104): + _key109 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + _val110 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.httpHeaders[_key109] = _val110 + iprot.readMapEnd() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TSparkArrowResultLink') + if self.fileLink is not None: + oprot.writeFieldBegin('fileLink', TType.STRING, 1) + oprot.writeString(self.fileLink.encode('utf-8') if sys.version_info[0] == 2 else self.fileLink) + oprot.writeFieldEnd() + if self.expiryTime is not None: + oprot.writeFieldBegin('expiryTime', TType.I64, 2) + oprot.writeI64(self.expiryTime) + oprot.writeFieldEnd() + if self.startRowOffset is not None: + oprot.writeFieldBegin('startRowOffset', TType.I64, 3) + oprot.writeI64(self.startRowOffset) + oprot.writeFieldEnd() + if self.rowCount is not None: + oprot.writeFieldBegin('rowCount', TType.I64, 4) + oprot.writeI64(self.rowCount) + oprot.writeFieldEnd() + if self.bytesNum is not None: + oprot.writeFieldBegin('bytesNum', TType.I64, 5) + oprot.writeI64(self.bytesNum) + oprot.writeFieldEnd() + if self.httpHeaders is not None: + oprot.writeFieldBegin('httpHeaders', TType.MAP, 6) + oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.httpHeaders)) + for kiter111, viter112 in self.httpHeaders.items(): + oprot.writeString(kiter111.encode('utf-8') if sys.version_info[0] == 2 else kiter111) + oprot.writeString(viter112.encode('utf-8') if sys.version_info[0] == 2 else viter112) + oprot.writeMapEnd() + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.fileLink is None: + raise TProtocolException(message='Required field fileLink is unset!') + if self.expiryTime is None: + raise TProtocolException(message='Required field expiryTime is unset!') + if self.startRowOffset is None: + raise TProtocolException(message='Required field startRowOffset is unset!') + if self.rowCount is None: + raise TProtocolException(message='Required field rowCount is unset!') + if self.bytesNum is None: + raise TProtocolException(message='Required field bytesNum is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TDBSqlCloudResultFile(object): - """ + """ Attributes: - filePath - startRowOffset @@ -3784,180 +3407,138 @@ class TDBSqlCloudResultFile(object): """ - def __init__( - self, - filePath=None, - startRowOffset=None, - rowCount=None, - uncompressedBytes=None, - compressedBytes=None, - fileLink=None, - linkExpiryTime=None, - httpHeaders=None, - ): - self.filePath = filePath - self.startRowOffset = startRowOffset - self.rowCount = rowCount - self.uncompressedBytes = uncompressedBytes - self.compressedBytes = compressedBytes - self.fileLink = fileLink - self.linkExpiryTime = linkExpiryTime - self.httpHeaders = httpHeaders - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRING: - self.filePath = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.I64: - self.startRowOffset = iprot.readI64() - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.I64: - self.rowCount = iprot.readI64() - else: - iprot.skip(ftype) - elif fid == 4: - if ftype == TType.I64: - self.uncompressedBytes = iprot.readI64() - else: - iprot.skip(ftype) - elif fid == 5: - if ftype == TType.I64: - self.compressedBytes = iprot.readI64() - else: - iprot.skip(ftype) - elif fid == 6: - if ftype == TType.STRING: - self.fileLink = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 7: - if ftype == TType.I64: - self.linkExpiryTime = iprot.readI64() - else: - iprot.skip(ftype) - elif fid == 8: - if ftype == TType.MAP: - self.httpHeaders = {} - (_ktype114, _vtype115, _size113) = iprot.readMapBegin() - for _i117 in range(_size113): - _key118 = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - _val119 = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - self.httpHeaders[_key118] = _val119 - iprot.readMapEnd() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TDBSqlCloudResultFile") - if self.filePath is not None: - oprot.writeFieldBegin("filePath", TType.STRING, 1) - oprot.writeString( - self.filePath.encode("utf-8") - if sys.version_info[0] == 2 - else self.filePath - ) - oprot.writeFieldEnd() - if self.startRowOffset is not None: - oprot.writeFieldBegin("startRowOffset", TType.I64, 2) - oprot.writeI64(self.startRowOffset) - oprot.writeFieldEnd() - if self.rowCount is not None: - oprot.writeFieldBegin("rowCount", TType.I64, 3) - oprot.writeI64(self.rowCount) - oprot.writeFieldEnd() - if self.uncompressedBytes is not None: - oprot.writeFieldBegin("uncompressedBytes", TType.I64, 4) - oprot.writeI64(self.uncompressedBytes) - oprot.writeFieldEnd() - if self.compressedBytes is not None: - oprot.writeFieldBegin("compressedBytes", TType.I64, 5) - oprot.writeI64(self.compressedBytes) - oprot.writeFieldEnd() - if self.fileLink is not None: - oprot.writeFieldBegin("fileLink", TType.STRING, 6) - oprot.writeString( - self.fileLink.encode("utf-8") - if sys.version_info[0] == 2 - else self.fileLink - ) - oprot.writeFieldEnd() - if self.linkExpiryTime is not None: - oprot.writeFieldBegin("linkExpiryTime", TType.I64, 7) - oprot.writeI64(self.linkExpiryTime) - oprot.writeFieldEnd() - if self.httpHeaders is not None: - oprot.writeFieldBegin("httpHeaders", TType.MAP, 8) - oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.httpHeaders)) - for kiter120, viter121 in self.httpHeaders.items(): - oprot.writeString( - kiter120.encode("utf-8") if sys.version_info[0] == 2 else kiter120 - ) - oprot.writeString( - viter121.encode("utf-8") if sys.version_info[0] == 2 else viter121 - ) - oprot.writeMapEnd() - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, filePath=None, startRowOffset=None, rowCount=None, uncompressedBytes=None, compressedBytes=None, fileLink=None, linkExpiryTime=None, httpHeaders=None,): + self.filePath = filePath + self.startRowOffset = startRowOffset + self.rowCount = rowCount + self.uncompressedBytes = uncompressedBytes + self.compressedBytes = compressedBytes + self.fileLink = fileLink + self.linkExpiryTime = linkExpiryTime + self.httpHeaders = httpHeaders + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRING: + self.filePath = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.I64: + self.startRowOffset = iprot.readI64() + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.I64: + self.rowCount = iprot.readI64() + else: + iprot.skip(ftype) + elif fid == 4: + if ftype == TType.I64: + self.uncompressedBytes = iprot.readI64() + else: + iprot.skip(ftype) + elif fid == 5: + if ftype == TType.I64: + self.compressedBytes = iprot.readI64() + else: + iprot.skip(ftype) + elif fid == 6: + if ftype == TType.STRING: + self.fileLink = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 7: + if ftype == TType.I64: + self.linkExpiryTime = iprot.readI64() + else: + iprot.skip(ftype) + elif fid == 8: + if ftype == TType.MAP: + self.httpHeaders = {} + (_ktype114, _vtype115, _size113) = iprot.readMapBegin() + for _i117 in range(_size113): + _key118 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + _val119 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.httpHeaders[_key118] = _val119 + iprot.readMapEnd() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TDBSqlCloudResultFile') + if self.filePath is not None: + oprot.writeFieldBegin('filePath', TType.STRING, 1) + oprot.writeString(self.filePath.encode('utf-8') if sys.version_info[0] == 2 else self.filePath) + oprot.writeFieldEnd() + if self.startRowOffset is not None: + oprot.writeFieldBegin('startRowOffset', TType.I64, 2) + oprot.writeI64(self.startRowOffset) + oprot.writeFieldEnd() + if self.rowCount is not None: + oprot.writeFieldBegin('rowCount', TType.I64, 3) + oprot.writeI64(self.rowCount) + oprot.writeFieldEnd() + if self.uncompressedBytes is not None: + oprot.writeFieldBegin('uncompressedBytes', TType.I64, 4) + oprot.writeI64(self.uncompressedBytes) + oprot.writeFieldEnd() + if self.compressedBytes is not None: + oprot.writeFieldBegin('compressedBytes', TType.I64, 5) + oprot.writeI64(self.compressedBytes) + oprot.writeFieldEnd() + if self.fileLink is not None: + oprot.writeFieldBegin('fileLink', TType.STRING, 6) + oprot.writeString(self.fileLink.encode('utf-8') if sys.version_info[0] == 2 else self.fileLink) + oprot.writeFieldEnd() + if self.linkExpiryTime is not None: + oprot.writeFieldBegin('linkExpiryTime', TType.I64, 7) + oprot.writeI64(self.linkExpiryTime) + oprot.writeFieldEnd() + if self.httpHeaders is not None: + oprot.writeFieldBegin('httpHeaders', TType.MAP, 8) + oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.httpHeaders)) + for kiter120, viter121 in self.httpHeaders.items(): + oprot.writeString(kiter120.encode('utf-8') if sys.version_info[0] == 2 else kiter120) + oprot.writeString(viter121.encode('utf-8') if sys.version_info[0] == 2 else viter121) + oprot.writeMapEnd() + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TRowSet(object): - """ + """ Attributes: - startRowOffset - rows @@ -3970,191 +3551,177 @@ class TRowSet(object): """ - def __init__( - self, - startRowOffset=None, - rows=None, - columns=None, - binaryColumns=None, - columnCount=None, - arrowBatches=None, - resultLinks=None, - cloudFetchResults=None, - ): - self.startRowOffset = startRowOffset - self.rows = rows - self.columns = columns - self.binaryColumns = binaryColumns - self.columnCount = columnCount - self.arrowBatches = arrowBatches - self.resultLinks = resultLinks - self.cloudFetchResults = cloudFetchResults - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.I64: - self.startRowOffset = iprot.readI64() - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.LIST: - self.rows = [] - (_etype125, _size122) = iprot.readListBegin() - for _i126 in range(_size122): - _elem127 = TRow() - _elem127.read(iprot) - self.rows.append(_elem127) - iprot.readListEnd() - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.LIST: - self.columns = [] - (_etype131, _size128) = iprot.readListBegin() - for _i132 in range(_size128): - _elem133 = TColumn() - _elem133.read(iprot) - self.columns.append(_elem133) - iprot.readListEnd() - else: - iprot.skip(ftype) - elif fid == 4: - if ftype == TType.STRING: - self.binaryColumns = iprot.readBinary() - else: - iprot.skip(ftype) - elif fid == 5: - if ftype == TType.I32: - self.columnCount = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 1281: - if ftype == TType.LIST: - self.arrowBatches = [] - (_etype137, _size134) = iprot.readListBegin() - for _i138 in range(_size134): - _elem139 = TSparkArrowBatch() - _elem139.read(iprot) - self.arrowBatches.append(_elem139) - iprot.readListEnd() - else: - iprot.skip(ftype) - elif fid == 1282: - if ftype == TType.LIST: - self.resultLinks = [] - (_etype143, _size140) = iprot.readListBegin() - for _i144 in range(_size140): - _elem145 = TSparkArrowResultLink() - _elem145.read(iprot) - self.resultLinks.append(_elem145) - iprot.readListEnd() - else: - iprot.skip(ftype) - elif fid == 3329: - if ftype == TType.LIST: - self.cloudFetchResults = [] - (_etype149, _size146) = iprot.readListBegin() - for _i150 in range(_size146): - _elem151 = TDBSqlCloudResultFile() - _elem151.read(iprot) - self.cloudFetchResults.append(_elem151) - iprot.readListEnd() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TRowSet") - if self.startRowOffset is not None: - oprot.writeFieldBegin("startRowOffset", TType.I64, 1) - oprot.writeI64(self.startRowOffset) - oprot.writeFieldEnd() - if self.rows is not None: - oprot.writeFieldBegin("rows", TType.LIST, 2) - oprot.writeListBegin(TType.STRUCT, len(self.rows)) - for iter152 in self.rows: - iter152.write(oprot) - oprot.writeListEnd() - oprot.writeFieldEnd() - if self.columns is not None: - oprot.writeFieldBegin("columns", TType.LIST, 3) - oprot.writeListBegin(TType.STRUCT, len(self.columns)) - for iter153 in self.columns: - iter153.write(oprot) - oprot.writeListEnd() - oprot.writeFieldEnd() - if self.binaryColumns is not None: - oprot.writeFieldBegin("binaryColumns", TType.STRING, 4) - oprot.writeBinary(self.binaryColumns) - oprot.writeFieldEnd() - if self.columnCount is not None: - oprot.writeFieldBegin("columnCount", TType.I32, 5) - oprot.writeI32(self.columnCount) - oprot.writeFieldEnd() - if self.arrowBatches is not None: - oprot.writeFieldBegin("arrowBatches", TType.LIST, 1281) - oprot.writeListBegin(TType.STRUCT, len(self.arrowBatches)) - for iter154 in self.arrowBatches: - iter154.write(oprot) - oprot.writeListEnd() - oprot.writeFieldEnd() - if self.resultLinks is not None: - oprot.writeFieldBegin("resultLinks", TType.LIST, 1282) - oprot.writeListBegin(TType.STRUCT, len(self.resultLinks)) - for iter155 in self.resultLinks: - iter155.write(oprot) - oprot.writeListEnd() - oprot.writeFieldEnd() - if self.cloudFetchResults is not None: - oprot.writeFieldBegin("cloudFetchResults", TType.LIST, 3329) - oprot.writeListBegin(TType.STRUCT, len(self.cloudFetchResults)) - for iter156 in self.cloudFetchResults: - iter156.write(oprot) - oprot.writeListEnd() - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.startRowOffset is None: - raise TProtocolException(message="Required field startRowOffset is unset!") - if self.rows is None: - raise TProtocolException(message="Required field rows is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, startRowOffset=None, rows=None, columns=None, binaryColumns=None, columnCount=None, arrowBatches=None, resultLinks=None, cloudFetchResults=None,): + self.startRowOffset = startRowOffset + self.rows = rows + self.columns = columns + self.binaryColumns = binaryColumns + self.columnCount = columnCount + self.arrowBatches = arrowBatches + self.resultLinks = resultLinks + self.cloudFetchResults = cloudFetchResults + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.I64: + self.startRowOffset = iprot.readI64() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.LIST: + self.rows = [] + (_etype125, _size122) = iprot.readListBegin() + for _i126 in range(_size122): + _elem127 = TRow() + _elem127.read(iprot) + self.rows.append(_elem127) + iprot.readListEnd() + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.LIST: + self.columns = [] + (_etype131, _size128) = iprot.readListBegin() + for _i132 in range(_size128): + _elem133 = TColumn() + _elem133.read(iprot) + self.columns.append(_elem133) + iprot.readListEnd() + else: + iprot.skip(ftype) + elif fid == 4: + if ftype == TType.STRING: + self.binaryColumns = iprot.readBinary() + else: + iprot.skip(ftype) + elif fid == 5: + if ftype == TType.I32: + self.columnCount = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 1281: + if ftype == TType.LIST: + self.arrowBatches = [] + (_etype137, _size134) = iprot.readListBegin() + for _i138 in range(_size134): + _elem139 = TSparkArrowBatch() + _elem139.read(iprot) + self.arrowBatches.append(_elem139) + iprot.readListEnd() + else: + iprot.skip(ftype) + elif fid == 1282: + if ftype == TType.LIST: + self.resultLinks = [] + (_etype143, _size140) = iprot.readListBegin() + for _i144 in range(_size140): + _elem145 = TSparkArrowResultLink() + _elem145.read(iprot) + self.resultLinks.append(_elem145) + iprot.readListEnd() + else: + iprot.skip(ftype) + elif fid == 3329: + if ftype == TType.LIST: + self.cloudFetchResults = [] + (_etype149, _size146) = iprot.readListBegin() + for _i150 in range(_size146): + _elem151 = TDBSqlCloudResultFile() + _elem151.read(iprot) + self.cloudFetchResults.append(_elem151) + iprot.readListEnd() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TRowSet') + if self.startRowOffset is not None: + oprot.writeFieldBegin('startRowOffset', TType.I64, 1) + oprot.writeI64(self.startRowOffset) + oprot.writeFieldEnd() + if self.rows is not None: + oprot.writeFieldBegin('rows', TType.LIST, 2) + oprot.writeListBegin(TType.STRUCT, len(self.rows)) + for iter152 in self.rows: + iter152.write(oprot) + oprot.writeListEnd() + oprot.writeFieldEnd() + if self.columns is not None: + oprot.writeFieldBegin('columns', TType.LIST, 3) + oprot.writeListBegin(TType.STRUCT, len(self.columns)) + for iter153 in self.columns: + iter153.write(oprot) + oprot.writeListEnd() + oprot.writeFieldEnd() + if self.binaryColumns is not None: + oprot.writeFieldBegin('binaryColumns', TType.STRING, 4) + oprot.writeBinary(self.binaryColumns) + oprot.writeFieldEnd() + if self.columnCount is not None: + oprot.writeFieldBegin('columnCount', TType.I32, 5) + oprot.writeI32(self.columnCount) + oprot.writeFieldEnd() + if self.arrowBatches is not None: + oprot.writeFieldBegin('arrowBatches', TType.LIST, 1281) + oprot.writeListBegin(TType.STRUCT, len(self.arrowBatches)) + for iter154 in self.arrowBatches: + iter154.write(oprot) + oprot.writeListEnd() + oprot.writeFieldEnd() + if self.resultLinks is not None: + oprot.writeFieldBegin('resultLinks', TType.LIST, 1282) + oprot.writeListBegin(TType.STRUCT, len(self.resultLinks)) + for iter155 in self.resultLinks: + iter155.write(oprot) + oprot.writeListEnd() + oprot.writeFieldEnd() + if self.cloudFetchResults is not None: + oprot.writeFieldBegin('cloudFetchResults', TType.LIST, 3329) + oprot.writeListBegin(TType.STRUCT, len(self.cloudFetchResults)) + for iter156 in self.cloudFetchResults: + iter156.write(oprot) + oprot.writeListEnd() + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.startRowOffset is None: + raise TProtocolException(message='Required field startRowOffset is unset!') + if self.rows is None: + raise TProtocolException(message='Required field rows is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TDBSqlTempView(object): - """ + """ Attributes: - name - sqlStatement @@ -4163,206 +3730,155 @@ class TDBSqlTempView(object): """ - def __init__( - self, - name=None, - sqlStatement=None, - properties=None, - viewSchema=None, - ): - self.name = name - self.sqlStatement = sqlStatement - self.properties = properties - self.viewSchema = viewSchema - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRING: - self.name = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRING: - self.sqlStatement = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.MAP: - self.properties = {} - (_ktype158, _vtype159, _size157) = iprot.readMapBegin() - for _i161 in range(_size157): - _key162 = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - _val163 = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - self.properties[_key162] = _val163 - iprot.readMapEnd() - else: - iprot.skip(ftype) - elif fid == 4: - if ftype == TType.STRING: - self.viewSchema = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TDBSqlTempView") - if self.name is not None: - oprot.writeFieldBegin("name", TType.STRING, 1) - oprot.writeString( - self.name.encode("utf-8") if sys.version_info[0] == 2 else self.name - ) - oprot.writeFieldEnd() - if self.sqlStatement is not None: - oprot.writeFieldBegin("sqlStatement", TType.STRING, 2) - oprot.writeString( - self.sqlStatement.encode("utf-8") - if sys.version_info[0] == 2 - else self.sqlStatement - ) - oprot.writeFieldEnd() - if self.properties is not None: - oprot.writeFieldBegin("properties", TType.MAP, 3) - oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.properties)) - for kiter164, viter165 in self.properties.items(): - oprot.writeString( - kiter164.encode("utf-8") if sys.version_info[0] == 2 else kiter164 - ) - oprot.writeString( - viter165.encode("utf-8") if sys.version_info[0] == 2 else viter165 - ) - oprot.writeMapEnd() - oprot.writeFieldEnd() - if self.viewSchema is not None: - oprot.writeFieldBegin("viewSchema", TType.STRING, 4) - oprot.writeString( - self.viewSchema.encode("utf-8") - if sys.version_info[0] == 2 - else self.viewSchema - ) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, name=None, sqlStatement=None, properties=None, viewSchema=None,): + self.name = name + self.sqlStatement = sqlStatement + self.properties = properties + self.viewSchema = viewSchema + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRING: + self.name = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRING: + self.sqlStatement = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.MAP: + self.properties = {} + (_ktype158, _vtype159, _size157) = iprot.readMapBegin() + for _i161 in range(_size157): + _key162 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + _val163 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.properties[_key162] = _val163 + iprot.readMapEnd() + else: + iprot.skip(ftype) + elif fid == 4: + if ftype == TType.STRING: + self.viewSchema = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TDBSqlTempView') + if self.name is not None: + oprot.writeFieldBegin('name', TType.STRING, 1) + oprot.writeString(self.name.encode('utf-8') if sys.version_info[0] == 2 else self.name) + oprot.writeFieldEnd() + if self.sqlStatement is not None: + oprot.writeFieldBegin('sqlStatement', TType.STRING, 2) + oprot.writeString(self.sqlStatement.encode('utf-8') if sys.version_info[0] == 2 else self.sqlStatement) + oprot.writeFieldEnd() + if self.properties is not None: + oprot.writeFieldBegin('properties', TType.MAP, 3) + oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.properties)) + for kiter164, viter165 in self.properties.items(): + oprot.writeString(kiter164.encode('utf-8') if sys.version_info[0] == 2 else kiter164) + oprot.writeString(viter165.encode('utf-8') if sys.version_info[0] == 2 else viter165) + oprot.writeMapEnd() + oprot.writeFieldEnd() + if self.viewSchema is not None: + oprot.writeFieldBegin('viewSchema', TType.STRING, 4) + oprot.writeString(self.viewSchema.encode('utf-8') if sys.version_info[0] == 2 else self.viewSchema) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TDBSqlSessionCapabilities(object): - """ + """ Attributes: - supportsMultipleCatalogs """ - def __init__( - self, - supportsMultipleCatalogs=None, - ): - self.supportsMultipleCatalogs = supportsMultipleCatalogs - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.BOOL: - self.supportsMultipleCatalogs = iprot.readBool() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TDBSqlSessionCapabilities") - if self.supportsMultipleCatalogs is not None: - oprot.writeFieldBegin("supportsMultipleCatalogs", TType.BOOL, 1) - oprot.writeBool(self.supportsMultipleCatalogs) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, supportsMultipleCatalogs=None,): + self.supportsMultipleCatalogs = supportsMultipleCatalogs + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.BOOL: + self.supportsMultipleCatalogs = iprot.readBool() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TDBSqlSessionCapabilities') + if self.supportsMultipleCatalogs is not None: + oprot.writeFieldBegin('supportsMultipleCatalogs', TType.BOOL, 1) + oprot.writeBool(self.supportsMultipleCatalogs) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TExpressionInfo(object): - """ + """ Attributes: - className - usage @@ -4379,338 +3895,225 @@ class TExpressionInfo(object): """ - def __init__( - self, - className=None, - usage=None, - name=None, - extended=None, - db=None, - arguments=None, - examples=None, - note=None, - group=None, - since=None, - deprecated=None, - source=None, - ): - self.className = className - self.usage = usage - self.name = name - self.extended = extended - self.db = db - self.arguments = arguments - self.examples = examples - self.note = note - self.group = group - self.since = since - self.deprecated = deprecated - self.source = source - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRING: - self.className = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRING: - self.usage = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.STRING: - self.name = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 4: - if ftype == TType.STRING: - self.extended = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 5: - if ftype == TType.STRING: - self.db = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 6: - if ftype == TType.STRING: - self.arguments = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 7: - if ftype == TType.STRING: - self.examples = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 8: - if ftype == TType.STRING: - self.note = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 9: - if ftype == TType.STRING: - self.group = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 10: - if ftype == TType.STRING: - self.since = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 11: - if ftype == TType.STRING: - self.deprecated = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 12: - if ftype == TType.STRING: - self.source = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TExpressionInfo") - if self.className is not None: - oprot.writeFieldBegin("className", TType.STRING, 1) - oprot.writeString( - self.className.encode("utf-8") - if sys.version_info[0] == 2 - else self.className - ) - oprot.writeFieldEnd() - if self.usage is not None: - oprot.writeFieldBegin("usage", TType.STRING, 2) - oprot.writeString( - self.usage.encode("utf-8") if sys.version_info[0] == 2 else self.usage - ) - oprot.writeFieldEnd() - if self.name is not None: - oprot.writeFieldBegin("name", TType.STRING, 3) - oprot.writeString( - self.name.encode("utf-8") if sys.version_info[0] == 2 else self.name - ) - oprot.writeFieldEnd() - if self.extended is not None: - oprot.writeFieldBegin("extended", TType.STRING, 4) - oprot.writeString( - self.extended.encode("utf-8") - if sys.version_info[0] == 2 - else self.extended - ) - oprot.writeFieldEnd() - if self.db is not None: - oprot.writeFieldBegin("db", TType.STRING, 5) - oprot.writeString( - self.db.encode("utf-8") if sys.version_info[0] == 2 else self.db - ) - oprot.writeFieldEnd() - if self.arguments is not None: - oprot.writeFieldBegin("arguments", TType.STRING, 6) - oprot.writeString( - self.arguments.encode("utf-8") - if sys.version_info[0] == 2 - else self.arguments - ) - oprot.writeFieldEnd() - if self.examples is not None: - oprot.writeFieldBegin("examples", TType.STRING, 7) - oprot.writeString( - self.examples.encode("utf-8") - if sys.version_info[0] == 2 - else self.examples - ) - oprot.writeFieldEnd() - if self.note is not None: - oprot.writeFieldBegin("note", TType.STRING, 8) - oprot.writeString( - self.note.encode("utf-8") if sys.version_info[0] == 2 else self.note - ) - oprot.writeFieldEnd() - if self.group is not None: - oprot.writeFieldBegin("group", TType.STRING, 9) - oprot.writeString( - self.group.encode("utf-8") if sys.version_info[0] == 2 else self.group - ) - oprot.writeFieldEnd() - if self.since is not None: - oprot.writeFieldBegin("since", TType.STRING, 10) - oprot.writeString( - self.since.encode("utf-8") if sys.version_info[0] == 2 else self.since - ) - oprot.writeFieldEnd() - if self.deprecated is not None: - oprot.writeFieldBegin("deprecated", TType.STRING, 11) - oprot.writeString( - self.deprecated.encode("utf-8") - if sys.version_info[0] == 2 - else self.deprecated - ) - oprot.writeFieldEnd() - if self.source is not None: - oprot.writeFieldBegin("source", TType.STRING, 12) - oprot.writeString( - self.source.encode("utf-8") if sys.version_info[0] == 2 else self.source - ) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, className=None, usage=None, name=None, extended=None, db=None, arguments=None, examples=None, note=None, group=None, since=None, deprecated=None, source=None,): + self.className = className + self.usage = usage + self.name = name + self.extended = extended + self.db = db + self.arguments = arguments + self.examples = examples + self.note = note + self.group = group + self.since = since + self.deprecated = deprecated + self.source = source + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRING: + self.className = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRING: + self.usage = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.STRING: + self.name = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 4: + if ftype == TType.STRING: + self.extended = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 5: + if ftype == TType.STRING: + self.db = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 6: + if ftype == TType.STRING: + self.arguments = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 7: + if ftype == TType.STRING: + self.examples = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 8: + if ftype == TType.STRING: + self.note = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 9: + if ftype == TType.STRING: + self.group = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 10: + if ftype == TType.STRING: + self.since = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 11: + if ftype == TType.STRING: + self.deprecated = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 12: + if ftype == TType.STRING: + self.source = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TExpressionInfo') + if self.className is not None: + oprot.writeFieldBegin('className', TType.STRING, 1) + oprot.writeString(self.className.encode('utf-8') if sys.version_info[0] == 2 else self.className) + oprot.writeFieldEnd() + if self.usage is not None: + oprot.writeFieldBegin('usage', TType.STRING, 2) + oprot.writeString(self.usage.encode('utf-8') if sys.version_info[0] == 2 else self.usage) + oprot.writeFieldEnd() + if self.name is not None: + oprot.writeFieldBegin('name', TType.STRING, 3) + oprot.writeString(self.name.encode('utf-8') if sys.version_info[0] == 2 else self.name) + oprot.writeFieldEnd() + if self.extended is not None: + oprot.writeFieldBegin('extended', TType.STRING, 4) + oprot.writeString(self.extended.encode('utf-8') if sys.version_info[0] == 2 else self.extended) + oprot.writeFieldEnd() + if self.db is not None: + oprot.writeFieldBegin('db', TType.STRING, 5) + oprot.writeString(self.db.encode('utf-8') if sys.version_info[0] == 2 else self.db) + oprot.writeFieldEnd() + if self.arguments is not None: + oprot.writeFieldBegin('arguments', TType.STRING, 6) + oprot.writeString(self.arguments.encode('utf-8') if sys.version_info[0] == 2 else self.arguments) + oprot.writeFieldEnd() + if self.examples is not None: + oprot.writeFieldBegin('examples', TType.STRING, 7) + oprot.writeString(self.examples.encode('utf-8') if sys.version_info[0] == 2 else self.examples) + oprot.writeFieldEnd() + if self.note is not None: + oprot.writeFieldBegin('note', TType.STRING, 8) + oprot.writeString(self.note.encode('utf-8') if sys.version_info[0] == 2 else self.note) + oprot.writeFieldEnd() + if self.group is not None: + oprot.writeFieldBegin('group', TType.STRING, 9) + oprot.writeString(self.group.encode('utf-8') if sys.version_info[0] == 2 else self.group) + oprot.writeFieldEnd() + if self.since is not None: + oprot.writeFieldBegin('since', TType.STRING, 10) + oprot.writeString(self.since.encode('utf-8') if sys.version_info[0] == 2 else self.since) + oprot.writeFieldEnd() + if self.deprecated is not None: + oprot.writeFieldBegin('deprecated', TType.STRING, 11) + oprot.writeString(self.deprecated.encode('utf-8') if sys.version_info[0] == 2 else self.deprecated) + oprot.writeFieldEnd() + if self.source is not None: + oprot.writeFieldBegin('source', TType.STRING, 12) + oprot.writeString(self.source.encode('utf-8') if sys.version_info[0] == 2 else self.source) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TDBSqlConfValue(object): - """ + """ Attributes: - value """ - def __init__( - self, - value=None, - ): - self.value = value - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRING: - self.value = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TDBSqlConfValue") - if self.value is not None: - oprot.writeFieldBegin("value", TType.STRING, 1) - oprot.writeString( - self.value.encode("utf-8") if sys.version_info[0] == 2 else self.value - ) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, value=None,): + self.value = value + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRING: + self.value = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TDBSqlConfValue') + if self.value is not None: + oprot.writeFieldBegin('value', TType.STRING, 1) + oprot.writeString(self.value.encode('utf-8') if sys.version_info[0] == 2 else self.value) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TDBSqlSessionConf(object): - """ + """ Attributes: - confs - tempViews @@ -4722,205 +4125,158 @@ class TDBSqlSessionConf(object): """ - def __init__( - self, - confs=None, - tempViews=None, - currentDatabase=None, - currentCatalog=None, - sessionCapabilities=None, - expressionsInfos=None, - internalConfs=None, - ): - self.confs = confs - self.tempViews = tempViews - self.currentDatabase = currentDatabase - self.currentCatalog = currentCatalog - self.sessionCapabilities = sessionCapabilities - self.expressionsInfos = expressionsInfos - self.internalConfs = internalConfs - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.MAP: - self.confs = {} - (_ktype167, _vtype168, _size166) = iprot.readMapBegin() - for _i170 in range(_size166): - _key171 = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - _val172 = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - self.confs[_key171] = _val172 - iprot.readMapEnd() - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.LIST: - self.tempViews = [] - (_etype176, _size173) = iprot.readListBegin() - for _i177 in range(_size173): - _elem178 = TDBSqlTempView() - _elem178.read(iprot) - self.tempViews.append(_elem178) - iprot.readListEnd() - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.STRING: - self.currentDatabase = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 4: - if ftype == TType.STRING: - self.currentCatalog = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 5: - if ftype == TType.STRUCT: - self.sessionCapabilities = TDBSqlSessionCapabilities() - self.sessionCapabilities.read(iprot) - else: - iprot.skip(ftype) - elif fid == 6: - if ftype == TType.LIST: - self.expressionsInfos = [] - (_etype182, _size179) = iprot.readListBegin() - for _i183 in range(_size179): - _elem184 = TExpressionInfo() - _elem184.read(iprot) - self.expressionsInfos.append(_elem184) - iprot.readListEnd() - else: - iprot.skip(ftype) - elif fid == 7: - if ftype == TType.MAP: - self.internalConfs = {} - (_ktype186, _vtype187, _size185) = iprot.readMapBegin() - for _i189 in range(_size185): - _key190 = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - _val191 = TDBSqlConfValue() - _val191.read(iprot) - self.internalConfs[_key190] = _val191 - iprot.readMapEnd() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TDBSqlSessionConf") - if self.confs is not None: - oprot.writeFieldBegin("confs", TType.MAP, 1) - oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.confs)) - for kiter192, viter193 in self.confs.items(): - oprot.writeString( - kiter192.encode("utf-8") if sys.version_info[0] == 2 else kiter192 - ) - oprot.writeString( - viter193.encode("utf-8") if sys.version_info[0] == 2 else viter193 - ) - oprot.writeMapEnd() - oprot.writeFieldEnd() - if self.tempViews is not None: - oprot.writeFieldBegin("tempViews", TType.LIST, 2) - oprot.writeListBegin(TType.STRUCT, len(self.tempViews)) - for iter194 in self.tempViews: - iter194.write(oprot) - oprot.writeListEnd() - oprot.writeFieldEnd() - if self.currentDatabase is not None: - oprot.writeFieldBegin("currentDatabase", TType.STRING, 3) - oprot.writeString( - self.currentDatabase.encode("utf-8") - if sys.version_info[0] == 2 - else self.currentDatabase - ) - oprot.writeFieldEnd() - if self.currentCatalog is not None: - oprot.writeFieldBegin("currentCatalog", TType.STRING, 4) - oprot.writeString( - self.currentCatalog.encode("utf-8") - if sys.version_info[0] == 2 - else self.currentCatalog - ) - oprot.writeFieldEnd() - if self.sessionCapabilities is not None: - oprot.writeFieldBegin("sessionCapabilities", TType.STRUCT, 5) - self.sessionCapabilities.write(oprot) - oprot.writeFieldEnd() - if self.expressionsInfos is not None: - oprot.writeFieldBegin("expressionsInfos", TType.LIST, 6) - oprot.writeListBegin(TType.STRUCT, len(self.expressionsInfos)) - for iter195 in self.expressionsInfos: - iter195.write(oprot) - oprot.writeListEnd() - oprot.writeFieldEnd() - if self.internalConfs is not None: - oprot.writeFieldBegin("internalConfs", TType.MAP, 7) - oprot.writeMapBegin(TType.STRING, TType.STRUCT, len(self.internalConfs)) - for kiter196, viter197 in self.internalConfs.items(): - oprot.writeString( - kiter196.encode("utf-8") if sys.version_info[0] == 2 else kiter196 - ) - viter197.write(oprot) - oprot.writeMapEnd() - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, confs=None, tempViews=None, currentDatabase=None, currentCatalog=None, sessionCapabilities=None, expressionsInfos=None, internalConfs=None,): + self.confs = confs + self.tempViews = tempViews + self.currentDatabase = currentDatabase + self.currentCatalog = currentCatalog + self.sessionCapabilities = sessionCapabilities + self.expressionsInfos = expressionsInfos + self.internalConfs = internalConfs + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.MAP: + self.confs = {} + (_ktype167, _vtype168, _size166) = iprot.readMapBegin() + for _i170 in range(_size166): + _key171 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + _val172 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.confs[_key171] = _val172 + iprot.readMapEnd() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.LIST: + self.tempViews = [] + (_etype176, _size173) = iprot.readListBegin() + for _i177 in range(_size173): + _elem178 = TDBSqlTempView() + _elem178.read(iprot) + self.tempViews.append(_elem178) + iprot.readListEnd() + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.STRING: + self.currentDatabase = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 4: + if ftype == TType.STRING: + self.currentCatalog = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 5: + if ftype == TType.STRUCT: + self.sessionCapabilities = TDBSqlSessionCapabilities() + self.sessionCapabilities.read(iprot) + else: + iprot.skip(ftype) + elif fid == 6: + if ftype == TType.LIST: + self.expressionsInfos = [] + (_etype182, _size179) = iprot.readListBegin() + for _i183 in range(_size179): + _elem184 = TExpressionInfo() + _elem184.read(iprot) + self.expressionsInfos.append(_elem184) + iprot.readListEnd() + else: + iprot.skip(ftype) + elif fid == 7: + if ftype == TType.MAP: + self.internalConfs = {} + (_ktype186, _vtype187, _size185) = iprot.readMapBegin() + for _i189 in range(_size185): + _key190 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + _val191 = TDBSqlConfValue() + _val191.read(iprot) + self.internalConfs[_key190] = _val191 + iprot.readMapEnd() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TDBSqlSessionConf') + if self.confs is not None: + oprot.writeFieldBegin('confs', TType.MAP, 1) + oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.confs)) + for kiter192, viter193 in self.confs.items(): + oprot.writeString(kiter192.encode('utf-8') if sys.version_info[0] == 2 else kiter192) + oprot.writeString(viter193.encode('utf-8') if sys.version_info[0] == 2 else viter193) + oprot.writeMapEnd() + oprot.writeFieldEnd() + if self.tempViews is not None: + oprot.writeFieldBegin('tempViews', TType.LIST, 2) + oprot.writeListBegin(TType.STRUCT, len(self.tempViews)) + for iter194 in self.tempViews: + iter194.write(oprot) + oprot.writeListEnd() + oprot.writeFieldEnd() + if self.currentDatabase is not None: + oprot.writeFieldBegin('currentDatabase', TType.STRING, 3) + oprot.writeString(self.currentDatabase.encode('utf-8') if sys.version_info[0] == 2 else self.currentDatabase) + oprot.writeFieldEnd() + if self.currentCatalog is not None: + oprot.writeFieldBegin('currentCatalog', TType.STRING, 4) + oprot.writeString(self.currentCatalog.encode('utf-8') if sys.version_info[0] == 2 else self.currentCatalog) + oprot.writeFieldEnd() + if self.sessionCapabilities is not None: + oprot.writeFieldBegin('sessionCapabilities', TType.STRUCT, 5) + self.sessionCapabilities.write(oprot) + oprot.writeFieldEnd() + if self.expressionsInfos is not None: + oprot.writeFieldBegin('expressionsInfos', TType.LIST, 6) + oprot.writeListBegin(TType.STRUCT, len(self.expressionsInfos)) + for iter195 in self.expressionsInfos: + iter195.write(oprot) + oprot.writeListEnd() + oprot.writeFieldEnd() + if self.internalConfs is not None: + oprot.writeFieldBegin('internalConfs', TType.MAP, 7) + oprot.writeMapBegin(TType.STRING, TType.STRUCT, len(self.internalConfs)) + for kiter196, viter197 in self.internalConfs.items(): + oprot.writeString(kiter196.encode('utf-8') if sys.version_info[0] == 2 else kiter196) + viter197.write(oprot) + oprot.writeMapEnd() + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TStatus(object): - """ + """ Attributes: - statusCode - infoMessages @@ -4933,282 +4289,206 @@ class TStatus(object): """ - def __init__( - self, - statusCode=None, - infoMessages=None, - sqlState=None, - errorCode=None, - errorMessage=None, - displayMessage=None, - errorDetailsJson=None, - responseValidation=None, - ): - self.statusCode = statusCode - self.infoMessages = infoMessages - self.sqlState = sqlState - self.errorCode = errorCode - self.errorMessage = errorMessage - self.displayMessage = displayMessage - self.errorDetailsJson = errorDetailsJson - self.responseValidation = responseValidation - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.I32: - self.statusCode = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.LIST: - self.infoMessages = [] - (_etype201, _size198) = iprot.readListBegin() - for _i202 in range(_size198): - _elem203 = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - self.infoMessages.append(_elem203) - iprot.readListEnd() - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.STRING: - self.sqlState = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 4: - if ftype == TType.I32: - self.errorCode = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 5: - if ftype == TType.STRING: - self.errorMessage = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 6: - if ftype == TType.STRING: - self.displayMessage = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 1281: - if ftype == TType.STRING: - self.errorDetailsJson = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 3329: - if ftype == TType.STRING: - self.responseValidation = iprot.readBinary() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TStatus") - if self.statusCode is not None: - oprot.writeFieldBegin("statusCode", TType.I32, 1) - oprot.writeI32(self.statusCode) - oprot.writeFieldEnd() - if self.infoMessages is not None: - oprot.writeFieldBegin("infoMessages", TType.LIST, 2) - oprot.writeListBegin(TType.STRING, len(self.infoMessages)) - for iter204 in self.infoMessages: - oprot.writeString( - iter204.encode("utf-8") if sys.version_info[0] == 2 else iter204 - ) - oprot.writeListEnd() - oprot.writeFieldEnd() - if self.sqlState is not None: - oprot.writeFieldBegin("sqlState", TType.STRING, 3) - oprot.writeString( - self.sqlState.encode("utf-8") - if sys.version_info[0] == 2 - else self.sqlState - ) - oprot.writeFieldEnd() - if self.errorCode is not None: - oprot.writeFieldBegin("errorCode", TType.I32, 4) - oprot.writeI32(self.errorCode) - oprot.writeFieldEnd() - if self.errorMessage is not None: - oprot.writeFieldBegin("errorMessage", TType.STRING, 5) - oprot.writeString( - self.errorMessage.encode("utf-8") - if sys.version_info[0] == 2 - else self.errorMessage - ) - oprot.writeFieldEnd() - if self.displayMessage is not None: - oprot.writeFieldBegin("displayMessage", TType.STRING, 6) - oprot.writeString( - self.displayMessage.encode("utf-8") - if sys.version_info[0] == 2 - else self.displayMessage - ) - oprot.writeFieldEnd() - if self.errorDetailsJson is not None: - oprot.writeFieldBegin("errorDetailsJson", TType.STRING, 1281) - oprot.writeString( - self.errorDetailsJson.encode("utf-8") - if sys.version_info[0] == 2 - else self.errorDetailsJson - ) - oprot.writeFieldEnd() - if self.responseValidation is not None: - oprot.writeFieldBegin("responseValidation", TType.STRING, 3329) - oprot.writeBinary(self.responseValidation) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.statusCode is None: - raise TProtocolException(message="Required field statusCode is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, statusCode=None, infoMessages=None, sqlState=None, errorCode=None, errorMessage=None, displayMessage=None, errorDetailsJson=None, responseValidation=None,): + self.statusCode = statusCode + self.infoMessages = infoMessages + self.sqlState = sqlState + self.errorCode = errorCode + self.errorMessage = errorMessage + self.displayMessage = displayMessage + self.errorDetailsJson = errorDetailsJson + self.responseValidation = responseValidation + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.I32: + self.statusCode = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.LIST: + self.infoMessages = [] + (_etype201, _size198) = iprot.readListBegin() + for _i202 in range(_size198): + _elem203 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.infoMessages.append(_elem203) + iprot.readListEnd() + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.STRING: + self.sqlState = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 4: + if ftype == TType.I32: + self.errorCode = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 5: + if ftype == TType.STRING: + self.errorMessage = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 6: + if ftype == TType.STRING: + self.displayMessage = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 1281: + if ftype == TType.STRING: + self.errorDetailsJson = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 3329: + if ftype == TType.STRING: + self.responseValidation = iprot.readBinary() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TStatus') + if self.statusCode is not None: + oprot.writeFieldBegin('statusCode', TType.I32, 1) + oprot.writeI32(self.statusCode) + oprot.writeFieldEnd() + if self.infoMessages is not None: + oprot.writeFieldBegin('infoMessages', TType.LIST, 2) + oprot.writeListBegin(TType.STRING, len(self.infoMessages)) + for iter204 in self.infoMessages: + oprot.writeString(iter204.encode('utf-8') if sys.version_info[0] == 2 else iter204) + oprot.writeListEnd() + oprot.writeFieldEnd() + if self.sqlState is not None: + oprot.writeFieldBegin('sqlState', TType.STRING, 3) + oprot.writeString(self.sqlState.encode('utf-8') if sys.version_info[0] == 2 else self.sqlState) + oprot.writeFieldEnd() + if self.errorCode is not None: + oprot.writeFieldBegin('errorCode', TType.I32, 4) + oprot.writeI32(self.errorCode) + oprot.writeFieldEnd() + if self.errorMessage is not None: + oprot.writeFieldBegin('errorMessage', TType.STRING, 5) + oprot.writeString(self.errorMessage.encode('utf-8') if sys.version_info[0] == 2 else self.errorMessage) + oprot.writeFieldEnd() + if self.displayMessage is not None: + oprot.writeFieldBegin('displayMessage', TType.STRING, 6) + oprot.writeString(self.displayMessage.encode('utf-8') if sys.version_info[0] == 2 else self.displayMessage) + oprot.writeFieldEnd() + if self.errorDetailsJson is not None: + oprot.writeFieldBegin('errorDetailsJson', TType.STRING, 1281) + oprot.writeString(self.errorDetailsJson.encode('utf-8') if sys.version_info[0] == 2 else self.errorDetailsJson) + oprot.writeFieldEnd() + if self.responseValidation is not None: + oprot.writeFieldBegin('responseValidation', TType.STRING, 3329) + oprot.writeBinary(self.responseValidation) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.statusCode is None: + raise TProtocolException(message='Required field statusCode is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TNamespace(object): - """ + """ Attributes: - catalogName - schemaName """ - def __init__( - self, - catalogName=None, - schemaName=None, - ): - self.catalogName = catalogName - self.schemaName = schemaName - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRING: - self.catalogName = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRING: - self.schemaName = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TNamespace") - if self.catalogName is not None: - oprot.writeFieldBegin("catalogName", TType.STRING, 1) - oprot.writeString( - self.catalogName.encode("utf-8") - if sys.version_info[0] == 2 - else self.catalogName - ) - oprot.writeFieldEnd() - if self.schemaName is not None: - oprot.writeFieldBegin("schemaName", TType.STRING, 2) - oprot.writeString( - self.schemaName.encode("utf-8") - if sys.version_info[0] == 2 - else self.schemaName - ) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, catalogName=None, schemaName=None,): + self.catalogName = catalogName + self.schemaName = schemaName + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRING: + self.catalogName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRING: + self.schemaName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TNamespace') + if self.catalogName is not None: + oprot.writeFieldBegin('catalogName', TType.STRING, 1) + oprot.writeString(self.catalogName.encode('utf-8') if sys.version_info[0] == 2 else self.catalogName) + oprot.writeFieldEnd() + if self.schemaName is not None: + oprot.writeFieldBegin('schemaName', TType.STRING, 2) + oprot.writeString(self.schemaName.encode('utf-8') if sys.version_info[0] == 2 else self.schemaName) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class THandleIdentifier(object): - """ + """ Attributes: - guid - secret @@ -5216,170 +4496,153 @@ class THandleIdentifier(object): """ - def __init__( - self, - guid=None, - secret=None, - executionVersion=None, - ): - self.guid = guid - self.secret = secret - self.executionVersion = executionVersion - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRING: - self.guid = iprot.readBinary() - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRING: - self.secret = iprot.readBinary() - else: - iprot.skip(ftype) - elif fid == 3329: - if ftype == TType.I16: - self.executionVersion = iprot.readI16() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("THandleIdentifier") - if self.guid is not None: - oprot.writeFieldBegin("guid", TType.STRING, 1) - oprot.writeBinary(self.guid) - oprot.writeFieldEnd() - if self.secret is not None: - oprot.writeFieldBegin("secret", TType.STRING, 2) - oprot.writeBinary(self.secret) - oprot.writeFieldEnd() - if self.executionVersion is not None: - oprot.writeFieldBegin("executionVersion", TType.I16, 3329) - oprot.writeI16(self.executionVersion) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.guid is None: - raise TProtocolException(message="Required field guid is unset!") - if self.secret is None: - raise TProtocolException(message="Required field secret is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, guid=None, secret=None, executionVersion=None,): + self.guid = guid + self.secret = secret + self.executionVersion = executionVersion + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRING: + self.guid = iprot.readBinary() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRING: + self.secret = iprot.readBinary() + else: + iprot.skip(ftype) + elif fid == 3329: + if ftype == TType.I16: + self.executionVersion = iprot.readI16() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('THandleIdentifier') + if self.guid is not None: + oprot.writeFieldBegin('guid', TType.STRING, 1) + oprot.writeBinary(self.guid) + oprot.writeFieldEnd() + if self.secret is not None: + oprot.writeFieldBegin('secret', TType.STRING, 2) + oprot.writeBinary(self.secret) + oprot.writeFieldEnd() + if self.executionVersion is not None: + oprot.writeFieldBegin('executionVersion', TType.I16, 3329) + oprot.writeI16(self.executionVersion) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.guid is None: + raise TProtocolException(message='Required field guid is unset!') + if self.secret is None: + raise TProtocolException(message='Required field secret is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TSessionHandle(object): - """ + """ Attributes: - sessionId - serverProtocolVersion """ - def __init__( - self, - sessionId=None, - serverProtocolVersion=None, - ): - self.sessionId = sessionId - self.serverProtocolVersion = serverProtocolVersion - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.sessionId = THandleIdentifier() - self.sessionId.read(iprot) - else: - iprot.skip(ftype) - elif fid == 3329: - if ftype == TType.I32: - self.serverProtocolVersion = iprot.readI32() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TSessionHandle") - if self.sessionId is not None: - oprot.writeFieldBegin("sessionId", TType.STRUCT, 1) - self.sessionId.write(oprot) - oprot.writeFieldEnd() - if self.serverProtocolVersion is not None: - oprot.writeFieldBegin("serverProtocolVersion", TType.I32, 3329) - oprot.writeI32(self.serverProtocolVersion) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.sessionId is None: - raise TProtocolException(message="Required field sessionId is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, sessionId=None, serverProtocolVersion=None,): + self.sessionId = sessionId + self.serverProtocolVersion = serverProtocolVersion + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.sessionId = THandleIdentifier() + self.sessionId.read(iprot) + else: + iprot.skip(ftype) + elif fid == 3329: + if ftype == TType.I32: + self.serverProtocolVersion = iprot.readI32() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TSessionHandle') + if self.sessionId is not None: + oprot.writeFieldBegin('sessionId', TType.STRUCT, 1) + self.sessionId.write(oprot) + oprot.writeFieldEnd() + if self.serverProtocolVersion is not None: + oprot.writeFieldBegin('serverProtocolVersion', TType.I32, 3329) + oprot.writeI32(self.serverProtocolVersion) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.sessionId is None: + raise TProtocolException(message='Required field sessionId is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TOperationHandle(object): - """ + """ Attributes: - operationId - operationType @@ -5388,105 +4651,95 @@ class TOperationHandle(object): """ - def __init__( - self, - operationId=None, - operationType=None, - hasResultSet=None, - modifiedRowCount=None, - ): - self.operationId = operationId - self.operationType = operationType - self.hasResultSet = hasResultSet - self.modifiedRowCount = modifiedRowCount - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.operationId = THandleIdentifier() - self.operationId.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.I32: - self.operationType = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.BOOL: - self.hasResultSet = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 4: - if ftype == TType.DOUBLE: - self.modifiedRowCount = iprot.readDouble() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TOperationHandle") - if self.operationId is not None: - oprot.writeFieldBegin("operationId", TType.STRUCT, 1) - self.operationId.write(oprot) - oprot.writeFieldEnd() - if self.operationType is not None: - oprot.writeFieldBegin("operationType", TType.I32, 2) - oprot.writeI32(self.operationType) - oprot.writeFieldEnd() - if self.hasResultSet is not None: - oprot.writeFieldBegin("hasResultSet", TType.BOOL, 3) - oprot.writeBool(self.hasResultSet) - oprot.writeFieldEnd() - if self.modifiedRowCount is not None: - oprot.writeFieldBegin("modifiedRowCount", TType.DOUBLE, 4) - oprot.writeDouble(self.modifiedRowCount) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.operationId is None: - raise TProtocolException(message="Required field operationId is unset!") - if self.operationType is None: - raise TProtocolException(message="Required field operationType is unset!") - if self.hasResultSet is None: - raise TProtocolException(message="Required field hasResultSet is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, operationId=None, operationType=None, hasResultSet=None, modifiedRowCount=None,): + self.operationId = operationId + self.operationType = operationType + self.hasResultSet = hasResultSet + self.modifiedRowCount = modifiedRowCount + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.operationId = THandleIdentifier() + self.operationId.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.I32: + self.operationType = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.BOOL: + self.hasResultSet = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 4: + if ftype == TType.DOUBLE: + self.modifiedRowCount = iprot.readDouble() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TOperationHandle') + if self.operationId is not None: + oprot.writeFieldBegin('operationId', TType.STRUCT, 1) + self.operationId.write(oprot) + oprot.writeFieldEnd() + if self.operationType is not None: + oprot.writeFieldBegin('operationType', TType.I32, 2) + oprot.writeI32(self.operationType) + oprot.writeFieldEnd() + if self.hasResultSet is not None: + oprot.writeFieldBegin('hasResultSet', TType.BOOL, 3) + oprot.writeBool(self.hasResultSet) + oprot.writeFieldEnd() + if self.modifiedRowCount is not None: + oprot.writeFieldBegin('modifiedRowCount', TType.DOUBLE, 4) + oprot.writeDouble(self.modifiedRowCount) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.operationId is None: + raise TProtocolException(message='Required field operationId is unset!') + if self.operationType is None: + raise TProtocolException(message='Required field operationType is unset!') + if self.hasResultSet is None: + raise TProtocolException(message='Required field hasResultSet is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TOpenSessionReq(object): - """ + """ Attributes: - client_protocol - username @@ -5501,236 +4754,178 @@ class TOpenSessionReq(object): """ - def __init__( - self, - client_protocol=-7, - username=None, - password=None, - configuration=None, - getInfos=None, - client_protocol_i64=None, - connectionProperties=None, - initialNamespace=None, - canUseMultipleCatalogs=None, - sessionId=None, - ): - self.client_protocol = client_protocol - self.username = username - self.password = password - self.configuration = configuration - self.getInfos = getInfos - self.client_protocol_i64 = client_protocol_i64 - self.connectionProperties = connectionProperties - self.initialNamespace = initialNamespace - self.canUseMultipleCatalogs = canUseMultipleCatalogs - self.sessionId = sessionId - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.I32: - self.client_protocol = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRING: - self.username = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.STRING: - self.password = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 4: - if ftype == TType.MAP: - self.configuration = {} - (_ktype206, _vtype207, _size205) = iprot.readMapBegin() - for _i209 in range(_size205): - _key210 = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - _val211 = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - self.configuration[_key210] = _val211 - iprot.readMapEnd() - else: - iprot.skip(ftype) - elif fid == 1281: - if ftype == TType.LIST: - self.getInfos = [] - (_etype215, _size212) = iprot.readListBegin() - for _i216 in range(_size212): - _elem217 = iprot.readI32() - self.getInfos.append(_elem217) - iprot.readListEnd() - else: - iprot.skip(ftype) - elif fid == 1282: - if ftype == TType.I64: - self.client_protocol_i64 = iprot.readI64() - else: - iprot.skip(ftype) - elif fid == 1283: - if ftype == TType.MAP: - self.connectionProperties = {} - (_ktype219, _vtype220, _size218) = iprot.readMapBegin() - for _i222 in range(_size218): - _key223 = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - _val224 = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - self.connectionProperties[_key223] = _val224 - iprot.readMapEnd() - else: - iprot.skip(ftype) - elif fid == 1284: - if ftype == TType.STRUCT: - self.initialNamespace = TNamespace() - self.initialNamespace.read(iprot) - else: - iprot.skip(ftype) - elif fid == 1285: - if ftype == TType.BOOL: - self.canUseMultipleCatalogs = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 3329: - if ftype == TType.STRUCT: - self.sessionId = THandleIdentifier() - self.sessionId.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TOpenSessionReq") - if self.client_protocol is not None: - oprot.writeFieldBegin("client_protocol", TType.I32, 1) - oprot.writeI32(self.client_protocol) - oprot.writeFieldEnd() - if self.username is not None: - oprot.writeFieldBegin("username", TType.STRING, 2) - oprot.writeString( - self.username.encode("utf-8") - if sys.version_info[0] == 2 - else self.username - ) - oprot.writeFieldEnd() - if self.password is not None: - oprot.writeFieldBegin("password", TType.STRING, 3) - oprot.writeString( - self.password.encode("utf-8") - if sys.version_info[0] == 2 - else self.password - ) - oprot.writeFieldEnd() - if self.configuration is not None: - oprot.writeFieldBegin("configuration", TType.MAP, 4) - oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.configuration)) - for kiter225, viter226 in self.configuration.items(): - oprot.writeString( - kiter225.encode("utf-8") if sys.version_info[0] == 2 else kiter225 - ) - oprot.writeString( - viter226.encode("utf-8") if sys.version_info[0] == 2 else viter226 - ) - oprot.writeMapEnd() - oprot.writeFieldEnd() - if self.getInfos is not None: - oprot.writeFieldBegin("getInfos", TType.LIST, 1281) - oprot.writeListBegin(TType.I32, len(self.getInfos)) - for iter227 in self.getInfos: - oprot.writeI32(iter227) - oprot.writeListEnd() - oprot.writeFieldEnd() - if self.client_protocol_i64 is not None: - oprot.writeFieldBegin("client_protocol_i64", TType.I64, 1282) - oprot.writeI64(self.client_protocol_i64) - oprot.writeFieldEnd() - if self.connectionProperties is not None: - oprot.writeFieldBegin("connectionProperties", TType.MAP, 1283) - oprot.writeMapBegin( - TType.STRING, TType.STRING, len(self.connectionProperties) - ) - for kiter228, viter229 in self.connectionProperties.items(): - oprot.writeString( - kiter228.encode("utf-8") if sys.version_info[0] == 2 else kiter228 - ) - oprot.writeString( - viter229.encode("utf-8") if sys.version_info[0] == 2 else viter229 - ) - oprot.writeMapEnd() - oprot.writeFieldEnd() - if self.initialNamespace is not None: - oprot.writeFieldBegin("initialNamespace", TType.STRUCT, 1284) - self.initialNamespace.write(oprot) - oprot.writeFieldEnd() - if self.canUseMultipleCatalogs is not None: - oprot.writeFieldBegin("canUseMultipleCatalogs", TType.BOOL, 1285) - oprot.writeBool(self.canUseMultipleCatalogs) - oprot.writeFieldEnd() - if self.sessionId is not None: - oprot.writeFieldBegin("sessionId", TType.STRUCT, 3329) - self.sessionId.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, client_protocol= -7, username=None, password=None, configuration=None, getInfos=None, client_protocol_i64=None, connectionProperties=None, initialNamespace=None, canUseMultipleCatalogs=None, sessionId=None,): + self.client_protocol = client_protocol + self.username = username + self.password = password + self.configuration = configuration + self.getInfos = getInfos + self.client_protocol_i64 = client_protocol_i64 + self.connectionProperties = connectionProperties + self.initialNamespace = initialNamespace + self.canUseMultipleCatalogs = canUseMultipleCatalogs + self.sessionId = sessionId + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.I32: + self.client_protocol = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRING: + self.username = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.STRING: + self.password = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 4: + if ftype == TType.MAP: + self.configuration = {} + (_ktype206, _vtype207, _size205) = iprot.readMapBegin() + for _i209 in range(_size205): + _key210 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + _val211 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.configuration[_key210] = _val211 + iprot.readMapEnd() + else: + iprot.skip(ftype) + elif fid == 1281: + if ftype == TType.LIST: + self.getInfos = [] + (_etype215, _size212) = iprot.readListBegin() + for _i216 in range(_size212): + _elem217 = iprot.readI32() + self.getInfos.append(_elem217) + iprot.readListEnd() + else: + iprot.skip(ftype) + elif fid == 1282: + if ftype == TType.I64: + self.client_protocol_i64 = iprot.readI64() + else: + iprot.skip(ftype) + elif fid == 1283: + if ftype == TType.MAP: + self.connectionProperties = {} + (_ktype219, _vtype220, _size218) = iprot.readMapBegin() + for _i222 in range(_size218): + _key223 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + _val224 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.connectionProperties[_key223] = _val224 + iprot.readMapEnd() + else: + iprot.skip(ftype) + elif fid == 1284: + if ftype == TType.STRUCT: + self.initialNamespace = TNamespace() + self.initialNamespace.read(iprot) + else: + iprot.skip(ftype) + elif fid == 1285: + if ftype == TType.BOOL: + self.canUseMultipleCatalogs = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 3329: + if ftype == TType.STRUCT: + self.sessionId = THandleIdentifier() + self.sessionId.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TOpenSessionReq') + if self.client_protocol is not None: + oprot.writeFieldBegin('client_protocol', TType.I32, 1) + oprot.writeI32(self.client_protocol) + oprot.writeFieldEnd() + if self.username is not None: + oprot.writeFieldBegin('username', TType.STRING, 2) + oprot.writeString(self.username.encode('utf-8') if sys.version_info[0] == 2 else self.username) + oprot.writeFieldEnd() + if self.password is not None: + oprot.writeFieldBegin('password', TType.STRING, 3) + oprot.writeString(self.password.encode('utf-8') if sys.version_info[0] == 2 else self.password) + oprot.writeFieldEnd() + if self.configuration is not None: + oprot.writeFieldBegin('configuration', TType.MAP, 4) + oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.configuration)) + for kiter225, viter226 in self.configuration.items(): + oprot.writeString(kiter225.encode('utf-8') if sys.version_info[0] == 2 else kiter225) + oprot.writeString(viter226.encode('utf-8') if sys.version_info[0] == 2 else viter226) + oprot.writeMapEnd() + oprot.writeFieldEnd() + if self.getInfos is not None: + oprot.writeFieldBegin('getInfos', TType.LIST, 1281) + oprot.writeListBegin(TType.I32, len(self.getInfos)) + for iter227 in self.getInfos: + oprot.writeI32(iter227) + oprot.writeListEnd() + oprot.writeFieldEnd() + if self.client_protocol_i64 is not None: + oprot.writeFieldBegin('client_protocol_i64', TType.I64, 1282) + oprot.writeI64(self.client_protocol_i64) + oprot.writeFieldEnd() + if self.connectionProperties is not None: + oprot.writeFieldBegin('connectionProperties', TType.MAP, 1283) + oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.connectionProperties)) + for kiter228, viter229 in self.connectionProperties.items(): + oprot.writeString(kiter228.encode('utf-8') if sys.version_info[0] == 2 else kiter228) + oprot.writeString(viter229.encode('utf-8') if sys.version_info[0] == 2 else viter229) + oprot.writeMapEnd() + oprot.writeFieldEnd() + if self.initialNamespace is not None: + oprot.writeFieldBegin('initialNamespace', TType.STRUCT, 1284) + self.initialNamespace.write(oprot) + oprot.writeFieldEnd() + if self.canUseMultipleCatalogs is not None: + oprot.writeFieldBegin('canUseMultipleCatalogs', TType.BOOL, 1285) + oprot.writeBool(self.canUseMultipleCatalogs) + oprot.writeFieldEnd() + if self.sessionId is not None: + oprot.writeFieldBegin('sessionId', TType.STRUCT, 3329) + self.sessionId.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TOpenSessionResp(object): - """ + """ Attributes: - status - serverProtocolVersion @@ -5742,305 +4937,264 @@ class TOpenSessionResp(object): """ - def __init__( - self, - status=None, - serverProtocolVersion=None, - sessionHandle=None, - configuration=None, - initialNamespace=None, - canUseMultipleCatalogs=None, - getInfos=None, - ): - self.status = status - self.serverProtocolVersion = serverProtocolVersion - self.sessionHandle = sessionHandle - self.configuration = configuration - self.initialNamespace = initialNamespace - self.canUseMultipleCatalogs = canUseMultipleCatalogs - self.getInfos = getInfos - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.status = TStatus() - self.status.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.I32: - self.serverProtocolVersion = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.STRUCT: - self.sessionHandle = TSessionHandle() - self.sessionHandle.read(iprot) - else: - iprot.skip(ftype) - elif fid == 4: - if ftype == TType.MAP: - self.configuration = {} - (_ktype231, _vtype232, _size230) = iprot.readMapBegin() - for _i234 in range(_size230): - _key235 = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - _val236 = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - self.configuration[_key235] = _val236 - iprot.readMapEnd() - else: - iprot.skip(ftype) - elif fid == 1284: - if ftype == TType.STRUCT: - self.initialNamespace = TNamespace() - self.initialNamespace.read(iprot) - else: - iprot.skip(ftype) - elif fid == 1285: - if ftype == TType.BOOL: - self.canUseMultipleCatalogs = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 1281: - if ftype == TType.LIST: - self.getInfos = [] - (_etype240, _size237) = iprot.readListBegin() - for _i241 in range(_size237): - _elem242 = TGetInfoValue() - _elem242.read(iprot) - self.getInfos.append(_elem242) - iprot.readListEnd() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TOpenSessionResp") - if self.status is not None: - oprot.writeFieldBegin("status", TType.STRUCT, 1) - self.status.write(oprot) - oprot.writeFieldEnd() - if self.serverProtocolVersion is not None: - oprot.writeFieldBegin("serverProtocolVersion", TType.I32, 2) - oprot.writeI32(self.serverProtocolVersion) - oprot.writeFieldEnd() - if self.sessionHandle is not None: - oprot.writeFieldBegin("sessionHandle", TType.STRUCT, 3) - self.sessionHandle.write(oprot) - oprot.writeFieldEnd() - if self.configuration is not None: - oprot.writeFieldBegin("configuration", TType.MAP, 4) - oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.configuration)) - for kiter243, viter244 in self.configuration.items(): - oprot.writeString( - kiter243.encode("utf-8") if sys.version_info[0] == 2 else kiter243 - ) - oprot.writeString( - viter244.encode("utf-8") if sys.version_info[0] == 2 else viter244 - ) - oprot.writeMapEnd() - oprot.writeFieldEnd() - if self.getInfos is not None: - oprot.writeFieldBegin("getInfos", TType.LIST, 1281) - oprot.writeListBegin(TType.STRUCT, len(self.getInfos)) - for iter245 in self.getInfos: - iter245.write(oprot) - oprot.writeListEnd() - oprot.writeFieldEnd() - if self.initialNamespace is not None: - oprot.writeFieldBegin("initialNamespace", TType.STRUCT, 1284) - self.initialNamespace.write(oprot) - oprot.writeFieldEnd() - if self.canUseMultipleCatalogs is not None: - oprot.writeFieldBegin("canUseMultipleCatalogs", TType.BOOL, 1285) - oprot.writeBool(self.canUseMultipleCatalogs) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.status is None: - raise TProtocolException(message="Required field status is unset!") - if self.serverProtocolVersion is None: - raise TProtocolException( - message="Required field serverProtocolVersion is unset!" - ) - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, status=None, serverProtocolVersion=None, sessionHandle=None, configuration=None, initialNamespace=None, canUseMultipleCatalogs=None, getInfos=None,): + self.status = status + self.serverProtocolVersion = serverProtocolVersion + self.sessionHandle = sessionHandle + self.configuration = configuration + self.initialNamespace = initialNamespace + self.canUseMultipleCatalogs = canUseMultipleCatalogs + self.getInfos = getInfos + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.status = TStatus() + self.status.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.I32: + self.serverProtocolVersion = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.STRUCT: + self.sessionHandle = TSessionHandle() + self.sessionHandle.read(iprot) + else: + iprot.skip(ftype) + elif fid == 4: + if ftype == TType.MAP: + self.configuration = {} + (_ktype231, _vtype232, _size230) = iprot.readMapBegin() + for _i234 in range(_size230): + _key235 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + _val236 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.configuration[_key235] = _val236 + iprot.readMapEnd() + else: + iprot.skip(ftype) + elif fid == 1284: + if ftype == TType.STRUCT: + self.initialNamespace = TNamespace() + self.initialNamespace.read(iprot) + else: + iprot.skip(ftype) + elif fid == 1285: + if ftype == TType.BOOL: + self.canUseMultipleCatalogs = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 1281: + if ftype == TType.LIST: + self.getInfos = [] + (_etype240, _size237) = iprot.readListBegin() + for _i241 in range(_size237): + _elem242 = TGetInfoValue() + _elem242.read(iprot) + self.getInfos.append(_elem242) + iprot.readListEnd() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TOpenSessionResp') + if self.status is not None: + oprot.writeFieldBegin('status', TType.STRUCT, 1) + self.status.write(oprot) + oprot.writeFieldEnd() + if self.serverProtocolVersion is not None: + oprot.writeFieldBegin('serverProtocolVersion', TType.I32, 2) + oprot.writeI32(self.serverProtocolVersion) + oprot.writeFieldEnd() + if self.sessionHandle is not None: + oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 3) + self.sessionHandle.write(oprot) + oprot.writeFieldEnd() + if self.configuration is not None: + oprot.writeFieldBegin('configuration', TType.MAP, 4) + oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.configuration)) + for kiter243, viter244 in self.configuration.items(): + oprot.writeString(kiter243.encode('utf-8') if sys.version_info[0] == 2 else kiter243) + oprot.writeString(viter244.encode('utf-8') if sys.version_info[0] == 2 else viter244) + oprot.writeMapEnd() + oprot.writeFieldEnd() + if self.getInfos is not None: + oprot.writeFieldBegin('getInfos', TType.LIST, 1281) + oprot.writeListBegin(TType.STRUCT, len(self.getInfos)) + for iter245 in self.getInfos: + iter245.write(oprot) + oprot.writeListEnd() + oprot.writeFieldEnd() + if self.initialNamespace is not None: + oprot.writeFieldBegin('initialNamespace', TType.STRUCT, 1284) + self.initialNamespace.write(oprot) + oprot.writeFieldEnd() + if self.canUseMultipleCatalogs is not None: + oprot.writeFieldBegin('canUseMultipleCatalogs', TType.BOOL, 1285) + oprot.writeBool(self.canUseMultipleCatalogs) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.status is None: + raise TProtocolException(message='Required field status is unset!') + if self.serverProtocolVersion is None: + raise TProtocolException(message='Required field serverProtocolVersion is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TCloseSessionReq(object): - """ + """ Attributes: - sessionHandle """ - def __init__( - self, - sessionHandle=None, - ): - self.sessionHandle = sessionHandle - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.sessionHandle = TSessionHandle() - self.sessionHandle.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TCloseSessionReq") - if self.sessionHandle is not None: - oprot.writeFieldBegin("sessionHandle", TType.STRUCT, 1) - self.sessionHandle.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.sessionHandle is None: - raise TProtocolException(message="Required field sessionHandle is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, sessionHandle=None,): + self.sessionHandle = sessionHandle + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.sessionHandle = TSessionHandle() + self.sessionHandle.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TCloseSessionReq') + if self.sessionHandle is not None: + oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 1) + self.sessionHandle.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.sessionHandle is None: + raise TProtocolException(message='Required field sessionHandle is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TCloseSessionResp(object): - """ + """ Attributes: - status """ - def __init__( - self, - status=None, - ): - self.status = status - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.status = TStatus() - self.status.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TCloseSessionResp") - if self.status is not None: - oprot.writeFieldBegin("status", TType.STRUCT, 1) - self.status.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.status is None: - raise TProtocolException(message="Required field status is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, status=None,): + self.status = status + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.status = TStatus() + self.status.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TCloseSessionResp') + if self.status is not None: + oprot.writeFieldBegin('status', TType.STRUCT, 1) + self.status.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.status is None: + raise TProtocolException(message='Required field status is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TGetInfoValue(object): - """ + """ Attributes: - stringValue - smallIntValue @@ -6051,128 +5205,108 @@ class TGetInfoValue(object): """ - def __init__( - self, - stringValue=None, - smallIntValue=None, - integerBitmask=None, - integerFlag=None, - binaryValue=None, - lenValue=None, - ): - self.stringValue = stringValue - self.smallIntValue = smallIntValue - self.integerBitmask = integerBitmask - self.integerFlag = integerFlag - self.binaryValue = binaryValue - self.lenValue = lenValue - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRING: - self.stringValue = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.I16: - self.smallIntValue = iprot.readI16() - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.I32: - self.integerBitmask = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 4: - if ftype == TType.I32: - self.integerFlag = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 5: - if ftype == TType.I32: - self.binaryValue = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 6: - if ftype == TType.I64: - self.lenValue = iprot.readI64() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TGetInfoValue") - if self.stringValue is not None: - oprot.writeFieldBegin("stringValue", TType.STRING, 1) - oprot.writeString( - self.stringValue.encode("utf-8") - if sys.version_info[0] == 2 - else self.stringValue - ) - oprot.writeFieldEnd() - if self.smallIntValue is not None: - oprot.writeFieldBegin("smallIntValue", TType.I16, 2) - oprot.writeI16(self.smallIntValue) - oprot.writeFieldEnd() - if self.integerBitmask is not None: - oprot.writeFieldBegin("integerBitmask", TType.I32, 3) - oprot.writeI32(self.integerBitmask) - oprot.writeFieldEnd() - if self.integerFlag is not None: - oprot.writeFieldBegin("integerFlag", TType.I32, 4) - oprot.writeI32(self.integerFlag) - oprot.writeFieldEnd() - if self.binaryValue is not None: - oprot.writeFieldBegin("binaryValue", TType.I32, 5) - oprot.writeI32(self.binaryValue) - oprot.writeFieldEnd() - if self.lenValue is not None: - oprot.writeFieldBegin("lenValue", TType.I64, 6) - oprot.writeI64(self.lenValue) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, stringValue=None, smallIntValue=None, integerBitmask=None, integerFlag=None, binaryValue=None, lenValue=None,): + self.stringValue = stringValue + self.smallIntValue = smallIntValue + self.integerBitmask = integerBitmask + self.integerFlag = integerFlag + self.binaryValue = binaryValue + self.lenValue = lenValue + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRING: + self.stringValue = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.I16: + self.smallIntValue = iprot.readI16() + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.I32: + self.integerBitmask = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 4: + if ftype == TType.I32: + self.integerFlag = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 5: + if ftype == TType.I32: + self.binaryValue = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 6: + if ftype == TType.I64: + self.lenValue = iprot.readI64() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TGetInfoValue') + if self.stringValue is not None: + oprot.writeFieldBegin('stringValue', TType.STRING, 1) + oprot.writeString(self.stringValue.encode('utf-8') if sys.version_info[0] == 2 else self.stringValue) + oprot.writeFieldEnd() + if self.smallIntValue is not None: + oprot.writeFieldBegin('smallIntValue', TType.I16, 2) + oprot.writeI16(self.smallIntValue) + oprot.writeFieldEnd() + if self.integerBitmask is not None: + oprot.writeFieldBegin('integerBitmask', TType.I32, 3) + oprot.writeI32(self.integerBitmask) + oprot.writeFieldEnd() + if self.integerFlag is not None: + oprot.writeFieldBegin('integerFlag', TType.I32, 4) + oprot.writeI32(self.integerFlag) + oprot.writeFieldEnd() + if self.binaryValue is not None: + oprot.writeFieldBegin('binaryValue', TType.I32, 5) + oprot.writeI32(self.binaryValue) + oprot.writeFieldEnd() + if self.lenValue is not None: + oprot.writeFieldBegin('lenValue', TType.I64, 6) + oprot.writeI64(self.lenValue) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TGetInfoReq(object): - """ + """ Attributes: - sessionHandle - infoType @@ -6180,253 +5314,228 @@ class TGetInfoReq(object): """ - def __init__( - self, - sessionHandle=None, - infoType=None, - sessionConf=None, - ): - self.sessionHandle = sessionHandle - self.infoType = infoType - self.sessionConf = sessionConf - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.sessionHandle = TSessionHandle() - self.sessionHandle.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.I32: - self.infoType = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 3329: - if ftype == TType.STRUCT: - self.sessionConf = TDBSqlSessionConf() - self.sessionConf.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TGetInfoReq") - if self.sessionHandle is not None: - oprot.writeFieldBegin("sessionHandle", TType.STRUCT, 1) - self.sessionHandle.write(oprot) - oprot.writeFieldEnd() - if self.infoType is not None: - oprot.writeFieldBegin("infoType", TType.I32, 2) - oprot.writeI32(self.infoType) - oprot.writeFieldEnd() - if self.sessionConf is not None: - oprot.writeFieldBegin("sessionConf", TType.STRUCT, 3329) - self.sessionConf.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.sessionHandle is None: - raise TProtocolException(message="Required field sessionHandle is unset!") - if self.infoType is None: - raise TProtocolException(message="Required field infoType is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, sessionHandle=None, infoType=None, sessionConf=None,): + self.sessionHandle = sessionHandle + self.infoType = infoType + self.sessionConf = sessionConf + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.sessionHandle = TSessionHandle() + self.sessionHandle.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.I32: + self.infoType = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 3329: + if ftype == TType.STRUCT: + self.sessionConf = TDBSqlSessionConf() + self.sessionConf.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TGetInfoReq') + if self.sessionHandle is not None: + oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 1) + self.sessionHandle.write(oprot) + oprot.writeFieldEnd() + if self.infoType is not None: + oprot.writeFieldBegin('infoType', TType.I32, 2) + oprot.writeI32(self.infoType) + oprot.writeFieldEnd() + if self.sessionConf is not None: + oprot.writeFieldBegin('sessionConf', TType.STRUCT, 3329) + self.sessionConf.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.sessionHandle is None: + raise TProtocolException(message='Required field sessionHandle is unset!') + if self.infoType is None: + raise TProtocolException(message='Required field infoType is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TGetInfoResp(object): - """ + """ Attributes: - status - infoValue """ - def __init__( - self, - status=None, - infoValue=None, - ): - self.status = status - self.infoValue = infoValue - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.status = TStatus() - self.status.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRUCT: - self.infoValue = TGetInfoValue() - self.infoValue.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TGetInfoResp") - if self.status is not None: - oprot.writeFieldBegin("status", TType.STRUCT, 1) - self.status.write(oprot) - oprot.writeFieldEnd() - if self.infoValue is not None: - oprot.writeFieldBegin("infoValue", TType.STRUCT, 2) - self.infoValue.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.status is None: - raise TProtocolException(message="Required field status is unset!") - if self.infoValue is None: - raise TProtocolException(message="Required field infoValue is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, status=None, infoValue=None,): + self.status = status + self.infoValue = infoValue + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.status = TStatus() + self.status.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRUCT: + self.infoValue = TGetInfoValue() + self.infoValue.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TGetInfoResp') + if self.status is not None: + oprot.writeFieldBegin('status', TType.STRUCT, 1) + self.status.write(oprot) + oprot.writeFieldEnd() + if self.infoValue is not None: + oprot.writeFieldBegin('infoValue', TType.STRUCT, 2) + self.infoValue.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.status is None: + raise TProtocolException(message='Required field status is unset!') + if self.infoValue is None: + raise TProtocolException(message='Required field infoValue is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TSparkGetDirectResults(object): - """ + """ Attributes: - maxRows - maxBytes """ - def __init__( - self, - maxRows=None, - maxBytes=None, - ): - self.maxRows = maxRows - self.maxBytes = maxBytes - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.I64: - self.maxRows = iprot.readI64() - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.I64: - self.maxBytes = iprot.readI64() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TSparkGetDirectResults") - if self.maxRows is not None: - oprot.writeFieldBegin("maxRows", TType.I64, 1) - oprot.writeI64(self.maxRows) - oprot.writeFieldEnd() - if self.maxBytes is not None: - oprot.writeFieldBegin("maxBytes", TType.I64, 2) - oprot.writeI64(self.maxBytes) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.maxRows is None: - raise TProtocolException(message="Required field maxRows is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, maxRows=None, maxBytes=None,): + self.maxRows = maxRows + self.maxBytes = maxBytes + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.I64: + self.maxRows = iprot.readI64() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.I64: + self.maxBytes = iprot.readI64() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TSparkGetDirectResults') + if self.maxRows is not None: + oprot.writeFieldBegin('maxRows', TType.I64, 1) + oprot.writeI64(self.maxRows) + oprot.writeFieldEnd() + if self.maxBytes is not None: + oprot.writeFieldBegin('maxBytes', TType.I64, 2) + oprot.writeI64(self.maxBytes) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.maxRows is None: + raise TProtocolException(message='Required field maxRows is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TSparkDirectResults(object): - """ + """ Attributes: - operationStatus - resultSetMetadata @@ -6435,102 +5544,92 @@ class TSparkDirectResults(object): """ - def __init__( - self, - operationStatus=None, - resultSetMetadata=None, - resultSet=None, - closeOperation=None, - ): - self.operationStatus = operationStatus - self.resultSetMetadata = resultSetMetadata - self.resultSet = resultSet - self.closeOperation = closeOperation - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.operationStatus = TGetOperationStatusResp() - self.operationStatus.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRUCT: - self.resultSetMetadata = TGetResultSetMetadataResp() - self.resultSetMetadata.read(iprot) - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.STRUCT: - self.resultSet = TFetchResultsResp() - self.resultSet.read(iprot) - else: - iprot.skip(ftype) - elif fid == 4: - if ftype == TType.STRUCT: - self.closeOperation = TCloseOperationResp() - self.closeOperation.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TSparkDirectResults") - if self.operationStatus is not None: - oprot.writeFieldBegin("operationStatus", TType.STRUCT, 1) - self.operationStatus.write(oprot) - oprot.writeFieldEnd() - if self.resultSetMetadata is not None: - oprot.writeFieldBegin("resultSetMetadata", TType.STRUCT, 2) - self.resultSetMetadata.write(oprot) - oprot.writeFieldEnd() - if self.resultSet is not None: - oprot.writeFieldBegin("resultSet", TType.STRUCT, 3) - self.resultSet.write(oprot) - oprot.writeFieldEnd() - if self.closeOperation is not None: - oprot.writeFieldBegin("closeOperation", TType.STRUCT, 4) - self.closeOperation.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, operationStatus=None, resultSetMetadata=None, resultSet=None, closeOperation=None,): + self.operationStatus = operationStatus + self.resultSetMetadata = resultSetMetadata + self.resultSet = resultSet + self.closeOperation = closeOperation + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.operationStatus = TGetOperationStatusResp() + self.operationStatus.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRUCT: + self.resultSetMetadata = TGetResultSetMetadataResp() + self.resultSetMetadata.read(iprot) + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.STRUCT: + self.resultSet = TFetchResultsResp() + self.resultSet.read(iprot) + else: + iprot.skip(ftype) + elif fid == 4: + if ftype == TType.STRUCT: + self.closeOperation = TCloseOperationResp() + self.closeOperation.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TSparkDirectResults') + if self.operationStatus is not None: + oprot.writeFieldBegin('operationStatus', TType.STRUCT, 1) + self.operationStatus.write(oprot) + oprot.writeFieldEnd() + if self.resultSetMetadata is not None: + oprot.writeFieldBegin('resultSetMetadata', TType.STRUCT, 2) + self.resultSetMetadata.write(oprot) + oprot.writeFieldEnd() + if self.resultSet is not None: + oprot.writeFieldBegin('resultSet', TType.STRUCT, 3) + self.resultSet.write(oprot) + oprot.writeFieldEnd() + if self.closeOperation is not None: + oprot.writeFieldBegin('closeOperation', TType.STRUCT, 4) + self.closeOperation.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TSparkArrowTypes(object): - """ + """ Attributes: - timestampAsArrow - decimalAsArrow @@ -6540,109 +5639,98 @@ class TSparkArrowTypes(object): """ - def __init__( - self, - timestampAsArrow=None, - decimalAsArrow=None, - complexTypesAsArrow=None, - intervalTypesAsArrow=None, - nullTypeAsArrow=None, - ): - self.timestampAsArrow = timestampAsArrow - self.decimalAsArrow = decimalAsArrow - self.complexTypesAsArrow = complexTypesAsArrow - self.intervalTypesAsArrow = intervalTypesAsArrow - self.nullTypeAsArrow = nullTypeAsArrow - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.BOOL: - self.timestampAsArrow = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.BOOL: - self.decimalAsArrow = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.BOOL: - self.complexTypesAsArrow = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 4: - if ftype == TType.BOOL: - self.intervalTypesAsArrow = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 5: - if ftype == TType.BOOL: - self.nullTypeAsArrow = iprot.readBool() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TSparkArrowTypes") - if self.timestampAsArrow is not None: - oprot.writeFieldBegin("timestampAsArrow", TType.BOOL, 1) - oprot.writeBool(self.timestampAsArrow) - oprot.writeFieldEnd() - if self.decimalAsArrow is not None: - oprot.writeFieldBegin("decimalAsArrow", TType.BOOL, 2) - oprot.writeBool(self.decimalAsArrow) - oprot.writeFieldEnd() - if self.complexTypesAsArrow is not None: - oprot.writeFieldBegin("complexTypesAsArrow", TType.BOOL, 3) - oprot.writeBool(self.complexTypesAsArrow) - oprot.writeFieldEnd() - if self.intervalTypesAsArrow is not None: - oprot.writeFieldBegin("intervalTypesAsArrow", TType.BOOL, 4) - oprot.writeBool(self.intervalTypesAsArrow) - oprot.writeFieldEnd() - if self.nullTypeAsArrow is not None: - oprot.writeFieldBegin("nullTypeAsArrow", TType.BOOL, 5) - oprot.writeBool(self.nullTypeAsArrow) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, timestampAsArrow=None, decimalAsArrow=None, complexTypesAsArrow=None, intervalTypesAsArrow=None, nullTypeAsArrow=None,): + self.timestampAsArrow = timestampAsArrow + self.decimalAsArrow = decimalAsArrow + self.complexTypesAsArrow = complexTypesAsArrow + self.intervalTypesAsArrow = intervalTypesAsArrow + self.nullTypeAsArrow = nullTypeAsArrow + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.BOOL: + self.timestampAsArrow = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.BOOL: + self.decimalAsArrow = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.BOOL: + self.complexTypesAsArrow = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 4: + if ftype == TType.BOOL: + self.intervalTypesAsArrow = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 5: + if ftype == TType.BOOL: + self.nullTypeAsArrow = iprot.readBool() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TSparkArrowTypes') + if self.timestampAsArrow is not None: + oprot.writeFieldBegin('timestampAsArrow', TType.BOOL, 1) + oprot.writeBool(self.timestampAsArrow) + oprot.writeFieldEnd() + if self.decimalAsArrow is not None: + oprot.writeFieldBegin('decimalAsArrow', TType.BOOL, 2) + oprot.writeBool(self.decimalAsArrow) + oprot.writeFieldEnd() + if self.complexTypesAsArrow is not None: + oprot.writeFieldBegin('complexTypesAsArrow', TType.BOOL, 3) + oprot.writeBool(self.complexTypesAsArrow) + oprot.writeFieldEnd() + if self.intervalTypesAsArrow is not None: + oprot.writeFieldBegin('intervalTypesAsArrow', TType.BOOL, 4) + oprot.writeBool(self.intervalTypesAsArrow) + oprot.writeFieldEnd() + if self.nullTypeAsArrow is not None: + oprot.writeFieldBegin('nullTypeAsArrow', TType.BOOL, 5) + oprot.writeBool(self.nullTypeAsArrow) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TExecuteStatementReq(object): - """ + """ Attributes: - sessionHandle - statement @@ -6683,597 +5771,504 @@ class TExecuteStatementReq(object): """ - def __init__( - self, - sessionHandle=None, - statement=None, - confOverlay=None, - runAsync=False, - getDirectResults=None, - queryTimeout=0, - canReadArrowResult=None, - canDownloadResult=None, - canDecompressLZ4Result=None, - maxBytesPerFile=None, - useArrowNativeTypes=None, - resultRowLimit=None, - parameters=None, - maxBytesPerBatch=None, - statementConf=None, - operationId=None, - sessionConf=None, - rejectHighCostQueries=None, - estimatedCost=None, - executionVersion=None, - requestValidation=None, - resultPersistenceMode=None, - trimArrowBatchesToLimit=None, - fetchDisposition=None, - enforceResultPersistenceMode=None, - statementList=None, - persistResultManifest=None, - resultRetentionSeconds=None, - resultByteLimit=None, - resultDataFormat=None, - originatingClientIdentity=None, - preferSingleFileResult=None, - preferDriverOnlyUpload=None, - enforceEmbeddedSchemaCorrectness=False, - idempotencyToken=None, - throwErrorOnByteLimitTruncation=None, - ): - self.sessionHandle = sessionHandle - self.statement = statement - self.confOverlay = confOverlay - self.runAsync = runAsync - self.getDirectResults = getDirectResults - self.queryTimeout = queryTimeout - self.canReadArrowResult = canReadArrowResult - self.canDownloadResult = canDownloadResult - self.canDecompressLZ4Result = canDecompressLZ4Result - self.maxBytesPerFile = maxBytesPerFile - self.useArrowNativeTypes = useArrowNativeTypes - self.resultRowLimit = resultRowLimit - self.parameters = parameters - self.maxBytesPerBatch = maxBytesPerBatch - self.statementConf = statementConf - self.operationId = operationId - self.sessionConf = sessionConf - self.rejectHighCostQueries = rejectHighCostQueries - self.estimatedCost = estimatedCost - self.executionVersion = executionVersion - self.requestValidation = requestValidation - self.resultPersistenceMode = resultPersistenceMode - self.trimArrowBatchesToLimit = trimArrowBatchesToLimit - self.fetchDisposition = fetchDisposition - self.enforceResultPersistenceMode = enforceResultPersistenceMode - self.statementList = statementList - self.persistResultManifest = persistResultManifest - self.resultRetentionSeconds = resultRetentionSeconds - self.resultByteLimit = resultByteLimit - self.resultDataFormat = resultDataFormat - self.originatingClientIdentity = originatingClientIdentity - self.preferSingleFileResult = preferSingleFileResult - self.preferDriverOnlyUpload = preferDriverOnlyUpload - self.enforceEmbeddedSchemaCorrectness = enforceEmbeddedSchemaCorrectness - self.idempotencyToken = idempotencyToken - self.throwErrorOnByteLimitTruncation = throwErrorOnByteLimitTruncation - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.sessionHandle = TSessionHandle() - self.sessionHandle.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRING: - self.statement = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.MAP: - self.confOverlay = {} - (_ktype247, _vtype248, _size246) = iprot.readMapBegin() - for _i250 in range(_size246): - _key251 = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - _val252 = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - self.confOverlay[_key251] = _val252 - iprot.readMapEnd() - else: - iprot.skip(ftype) - elif fid == 4: - if ftype == TType.BOOL: - self.runAsync = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 1281: - if ftype == TType.STRUCT: - self.getDirectResults = TSparkGetDirectResults() - self.getDirectResults.read(iprot) - else: - iprot.skip(ftype) - elif fid == 5: - if ftype == TType.I64: - self.queryTimeout = iprot.readI64() - else: - iprot.skip(ftype) - elif fid == 1282: - if ftype == TType.BOOL: - self.canReadArrowResult = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 1283: - if ftype == TType.BOOL: - self.canDownloadResult = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 1284: - if ftype == TType.BOOL: - self.canDecompressLZ4Result = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 1285: - if ftype == TType.I64: - self.maxBytesPerFile = iprot.readI64() - else: - iprot.skip(ftype) - elif fid == 1286: - if ftype == TType.STRUCT: - self.useArrowNativeTypes = TSparkArrowTypes() - self.useArrowNativeTypes.read(iprot) - else: - iprot.skip(ftype) - elif fid == 1287: - if ftype == TType.I64: - self.resultRowLimit = iprot.readI64() - else: - iprot.skip(ftype) - elif fid == 1288: - if ftype == TType.LIST: - self.parameters = [] - (_etype256, _size253) = iprot.readListBegin() - for _i257 in range(_size253): - _elem258 = TSparkParameter() - _elem258.read(iprot) - self.parameters.append(_elem258) - iprot.readListEnd() - else: - iprot.skip(ftype) - elif fid == 1289: - if ftype == TType.I64: - self.maxBytesPerBatch = iprot.readI64() - else: - iprot.skip(ftype) - elif fid == 1296: - if ftype == TType.STRUCT: - self.statementConf = TStatementConf() - self.statementConf.read(iprot) - else: - iprot.skip(ftype) - elif fid == 3329: - if ftype == TType.STRUCT: - self.operationId = THandleIdentifier() - self.operationId.read(iprot) - else: - iprot.skip(ftype) - elif fid == 3330: - if ftype == TType.STRUCT: - self.sessionConf = TDBSqlSessionConf() - self.sessionConf.read(iprot) - else: - iprot.skip(ftype) - elif fid == 3331: - if ftype == TType.BOOL: - self.rejectHighCostQueries = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 3332: - if ftype == TType.DOUBLE: - self.estimatedCost = iprot.readDouble() - else: - iprot.skip(ftype) - elif fid == 3333: - if ftype == TType.I16: - self.executionVersion = iprot.readI16() - else: - iprot.skip(ftype) - elif fid == 3334: - if ftype == TType.STRING: - self.requestValidation = iprot.readBinary() - else: - iprot.skip(ftype) - elif fid == 3335: - if ftype == TType.I32: - self.resultPersistenceMode = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 3336: - if ftype == TType.BOOL: - self.trimArrowBatchesToLimit = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 3337: - if ftype == TType.I32: - self.fetchDisposition = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 3344: - if ftype == TType.BOOL: - self.enforceResultPersistenceMode = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 3345: - if ftype == TType.LIST: - self.statementList = [] - (_etype262, _size259) = iprot.readListBegin() - for _i263 in range(_size259): - _elem264 = TDBSqlStatement() - _elem264.read(iprot) - self.statementList.append(_elem264) - iprot.readListEnd() - else: - iprot.skip(ftype) - elif fid == 3346: - if ftype == TType.BOOL: - self.persistResultManifest = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 3347: - if ftype == TType.I64: - self.resultRetentionSeconds = iprot.readI64() - else: - iprot.skip(ftype) - elif fid == 3348: - if ftype == TType.I64: - self.resultByteLimit = iprot.readI64() - else: - iprot.skip(ftype) - elif fid == 3349: - if ftype == TType.STRUCT: - self.resultDataFormat = TDBSqlResultFormat() - self.resultDataFormat.read(iprot) - else: - iprot.skip(ftype) - elif fid == 3350: - if ftype == TType.STRING: - self.originatingClientIdentity = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 3351: - if ftype == TType.BOOL: - self.preferSingleFileResult = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 3352: - if ftype == TType.BOOL: - self.preferDriverOnlyUpload = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 3353: - if ftype == TType.BOOL: - self.enforceEmbeddedSchemaCorrectness = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 3360: - if ftype == TType.STRING: - self.idempotencyToken = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 3361: - if ftype == TType.BOOL: - self.throwErrorOnByteLimitTruncation = iprot.readBool() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TExecuteStatementReq") - if self.sessionHandle is not None: - oprot.writeFieldBegin("sessionHandle", TType.STRUCT, 1) - self.sessionHandle.write(oprot) - oprot.writeFieldEnd() - if self.statement is not None: - oprot.writeFieldBegin("statement", TType.STRING, 2) - oprot.writeString( - self.statement.encode("utf-8") - if sys.version_info[0] == 2 - else self.statement - ) - oprot.writeFieldEnd() - if self.confOverlay is not None: - oprot.writeFieldBegin("confOverlay", TType.MAP, 3) - oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.confOverlay)) - for kiter265, viter266 in self.confOverlay.items(): - oprot.writeString( - kiter265.encode("utf-8") if sys.version_info[0] == 2 else kiter265 - ) - oprot.writeString( - viter266.encode("utf-8") if sys.version_info[0] == 2 else viter266 - ) - oprot.writeMapEnd() - oprot.writeFieldEnd() - if self.runAsync is not None: - oprot.writeFieldBegin("runAsync", TType.BOOL, 4) - oprot.writeBool(self.runAsync) - oprot.writeFieldEnd() - if self.queryTimeout is not None: - oprot.writeFieldBegin("queryTimeout", TType.I64, 5) - oprot.writeI64(self.queryTimeout) - oprot.writeFieldEnd() - if self.getDirectResults is not None: - oprot.writeFieldBegin("getDirectResults", TType.STRUCT, 1281) - self.getDirectResults.write(oprot) - oprot.writeFieldEnd() - if self.canReadArrowResult is not None: - oprot.writeFieldBegin("canReadArrowResult", TType.BOOL, 1282) - oprot.writeBool(self.canReadArrowResult) - oprot.writeFieldEnd() - if self.canDownloadResult is not None: - oprot.writeFieldBegin("canDownloadResult", TType.BOOL, 1283) - oprot.writeBool(self.canDownloadResult) - oprot.writeFieldEnd() - if self.canDecompressLZ4Result is not None: - oprot.writeFieldBegin("canDecompressLZ4Result", TType.BOOL, 1284) - oprot.writeBool(self.canDecompressLZ4Result) - oprot.writeFieldEnd() - if self.maxBytesPerFile is not None: - oprot.writeFieldBegin("maxBytesPerFile", TType.I64, 1285) - oprot.writeI64(self.maxBytesPerFile) - oprot.writeFieldEnd() - if self.useArrowNativeTypes is not None: - oprot.writeFieldBegin("useArrowNativeTypes", TType.STRUCT, 1286) - self.useArrowNativeTypes.write(oprot) - oprot.writeFieldEnd() - if self.resultRowLimit is not None: - oprot.writeFieldBegin("resultRowLimit", TType.I64, 1287) - oprot.writeI64(self.resultRowLimit) - oprot.writeFieldEnd() - if self.parameters is not None: - oprot.writeFieldBegin("parameters", TType.LIST, 1288) - oprot.writeListBegin(TType.STRUCT, len(self.parameters)) - for iter267 in self.parameters: - iter267.write(oprot) - oprot.writeListEnd() - oprot.writeFieldEnd() - if self.maxBytesPerBatch is not None: - oprot.writeFieldBegin("maxBytesPerBatch", TType.I64, 1289) - oprot.writeI64(self.maxBytesPerBatch) - oprot.writeFieldEnd() - if self.statementConf is not None: - oprot.writeFieldBegin("statementConf", TType.STRUCT, 1296) - self.statementConf.write(oprot) - oprot.writeFieldEnd() - if self.operationId is not None: - oprot.writeFieldBegin("operationId", TType.STRUCT, 3329) - self.operationId.write(oprot) - oprot.writeFieldEnd() - if self.sessionConf is not None: - oprot.writeFieldBegin("sessionConf", TType.STRUCT, 3330) - self.sessionConf.write(oprot) - oprot.writeFieldEnd() - if self.rejectHighCostQueries is not None: - oprot.writeFieldBegin("rejectHighCostQueries", TType.BOOL, 3331) - oprot.writeBool(self.rejectHighCostQueries) - oprot.writeFieldEnd() - if self.estimatedCost is not None: - oprot.writeFieldBegin("estimatedCost", TType.DOUBLE, 3332) - oprot.writeDouble(self.estimatedCost) - oprot.writeFieldEnd() - if self.executionVersion is not None: - oprot.writeFieldBegin("executionVersion", TType.I16, 3333) - oprot.writeI16(self.executionVersion) - oprot.writeFieldEnd() - if self.requestValidation is not None: - oprot.writeFieldBegin("requestValidation", TType.STRING, 3334) - oprot.writeBinary(self.requestValidation) - oprot.writeFieldEnd() - if self.resultPersistenceMode is not None: - oprot.writeFieldBegin("resultPersistenceMode", TType.I32, 3335) - oprot.writeI32(self.resultPersistenceMode) - oprot.writeFieldEnd() - if self.trimArrowBatchesToLimit is not None: - oprot.writeFieldBegin("trimArrowBatchesToLimit", TType.BOOL, 3336) - oprot.writeBool(self.trimArrowBatchesToLimit) - oprot.writeFieldEnd() - if self.fetchDisposition is not None: - oprot.writeFieldBegin("fetchDisposition", TType.I32, 3337) - oprot.writeI32(self.fetchDisposition) - oprot.writeFieldEnd() - if self.enforceResultPersistenceMode is not None: - oprot.writeFieldBegin("enforceResultPersistenceMode", TType.BOOL, 3344) - oprot.writeBool(self.enforceResultPersistenceMode) - oprot.writeFieldEnd() - if self.statementList is not None: - oprot.writeFieldBegin("statementList", TType.LIST, 3345) - oprot.writeListBegin(TType.STRUCT, len(self.statementList)) - for iter268 in self.statementList: - iter268.write(oprot) - oprot.writeListEnd() - oprot.writeFieldEnd() - if self.persistResultManifest is not None: - oprot.writeFieldBegin("persistResultManifest", TType.BOOL, 3346) - oprot.writeBool(self.persistResultManifest) - oprot.writeFieldEnd() - if self.resultRetentionSeconds is not None: - oprot.writeFieldBegin("resultRetentionSeconds", TType.I64, 3347) - oprot.writeI64(self.resultRetentionSeconds) - oprot.writeFieldEnd() - if self.resultByteLimit is not None: - oprot.writeFieldBegin("resultByteLimit", TType.I64, 3348) - oprot.writeI64(self.resultByteLimit) - oprot.writeFieldEnd() - if self.resultDataFormat is not None: - oprot.writeFieldBegin("resultDataFormat", TType.STRUCT, 3349) - self.resultDataFormat.write(oprot) - oprot.writeFieldEnd() - if self.originatingClientIdentity is not None: - oprot.writeFieldBegin("originatingClientIdentity", TType.STRING, 3350) - oprot.writeString( - self.originatingClientIdentity.encode("utf-8") - if sys.version_info[0] == 2 - else self.originatingClientIdentity - ) - oprot.writeFieldEnd() - if self.preferSingleFileResult is not None: - oprot.writeFieldBegin("preferSingleFileResult", TType.BOOL, 3351) - oprot.writeBool(self.preferSingleFileResult) - oprot.writeFieldEnd() - if self.preferDriverOnlyUpload is not None: - oprot.writeFieldBegin("preferDriverOnlyUpload", TType.BOOL, 3352) - oprot.writeBool(self.preferDriverOnlyUpload) - oprot.writeFieldEnd() - if self.enforceEmbeddedSchemaCorrectness is not None: - oprot.writeFieldBegin("enforceEmbeddedSchemaCorrectness", TType.BOOL, 3353) - oprot.writeBool(self.enforceEmbeddedSchemaCorrectness) - oprot.writeFieldEnd() - if self.idempotencyToken is not None: - oprot.writeFieldBegin("idempotencyToken", TType.STRING, 3360) - oprot.writeString( - self.idempotencyToken.encode("utf-8") - if sys.version_info[0] == 2 - else self.idempotencyToken - ) - oprot.writeFieldEnd() - if self.throwErrorOnByteLimitTruncation is not None: - oprot.writeFieldBegin("throwErrorOnByteLimitTruncation", TType.BOOL, 3361) - oprot.writeBool(self.throwErrorOnByteLimitTruncation) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.sessionHandle is None: - raise TProtocolException(message="Required field sessionHandle is unset!") - if self.statement is None: - raise TProtocolException(message="Required field statement is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, sessionHandle=None, statement=None, confOverlay=None, runAsync=False, getDirectResults=None, queryTimeout=0, canReadArrowResult=None, canDownloadResult=None, canDecompressLZ4Result=None, maxBytesPerFile=None, useArrowNativeTypes=None, resultRowLimit=None, parameters=None, maxBytesPerBatch=None, statementConf=None, operationId=None, sessionConf=None, rejectHighCostQueries=None, estimatedCost=None, executionVersion=None, requestValidation=None, resultPersistenceMode=None, trimArrowBatchesToLimit=None, fetchDisposition=None, enforceResultPersistenceMode=None, statementList=None, persistResultManifest=None, resultRetentionSeconds=None, resultByteLimit=None, resultDataFormat=None, originatingClientIdentity=None, preferSingleFileResult=None, preferDriverOnlyUpload=None, enforceEmbeddedSchemaCorrectness=False, idempotencyToken=None, throwErrorOnByteLimitTruncation=None,): + self.sessionHandle = sessionHandle + self.statement = statement + self.confOverlay = confOverlay + self.runAsync = runAsync + self.getDirectResults = getDirectResults + self.queryTimeout = queryTimeout + self.canReadArrowResult = canReadArrowResult + self.canDownloadResult = canDownloadResult + self.canDecompressLZ4Result = canDecompressLZ4Result + self.maxBytesPerFile = maxBytesPerFile + self.useArrowNativeTypes = useArrowNativeTypes + self.resultRowLimit = resultRowLimit + self.parameters = parameters + self.maxBytesPerBatch = maxBytesPerBatch + self.statementConf = statementConf + self.operationId = operationId + self.sessionConf = sessionConf + self.rejectHighCostQueries = rejectHighCostQueries + self.estimatedCost = estimatedCost + self.executionVersion = executionVersion + self.requestValidation = requestValidation + self.resultPersistenceMode = resultPersistenceMode + self.trimArrowBatchesToLimit = trimArrowBatchesToLimit + self.fetchDisposition = fetchDisposition + self.enforceResultPersistenceMode = enforceResultPersistenceMode + self.statementList = statementList + self.persistResultManifest = persistResultManifest + self.resultRetentionSeconds = resultRetentionSeconds + self.resultByteLimit = resultByteLimit + self.resultDataFormat = resultDataFormat + self.originatingClientIdentity = originatingClientIdentity + self.preferSingleFileResult = preferSingleFileResult + self.preferDriverOnlyUpload = preferDriverOnlyUpload + self.enforceEmbeddedSchemaCorrectness = enforceEmbeddedSchemaCorrectness + self.idempotencyToken = idempotencyToken + self.throwErrorOnByteLimitTruncation = throwErrorOnByteLimitTruncation + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.sessionHandle = TSessionHandle() + self.sessionHandle.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRING: + self.statement = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.MAP: + self.confOverlay = {} + (_ktype247, _vtype248, _size246) = iprot.readMapBegin() + for _i250 in range(_size246): + _key251 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + _val252 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.confOverlay[_key251] = _val252 + iprot.readMapEnd() + else: + iprot.skip(ftype) + elif fid == 4: + if ftype == TType.BOOL: + self.runAsync = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 1281: + if ftype == TType.STRUCT: + self.getDirectResults = TSparkGetDirectResults() + self.getDirectResults.read(iprot) + else: + iprot.skip(ftype) + elif fid == 5: + if ftype == TType.I64: + self.queryTimeout = iprot.readI64() + else: + iprot.skip(ftype) + elif fid == 1282: + if ftype == TType.BOOL: + self.canReadArrowResult = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 1283: + if ftype == TType.BOOL: + self.canDownloadResult = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 1284: + if ftype == TType.BOOL: + self.canDecompressLZ4Result = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 1285: + if ftype == TType.I64: + self.maxBytesPerFile = iprot.readI64() + else: + iprot.skip(ftype) + elif fid == 1286: + if ftype == TType.STRUCT: + self.useArrowNativeTypes = TSparkArrowTypes() + self.useArrowNativeTypes.read(iprot) + else: + iprot.skip(ftype) + elif fid == 1287: + if ftype == TType.I64: + self.resultRowLimit = iprot.readI64() + else: + iprot.skip(ftype) + elif fid == 1288: + if ftype == TType.LIST: + self.parameters = [] + (_etype256, _size253) = iprot.readListBegin() + for _i257 in range(_size253): + _elem258 = TSparkParameter() + _elem258.read(iprot) + self.parameters.append(_elem258) + iprot.readListEnd() + else: + iprot.skip(ftype) + elif fid == 1289: + if ftype == TType.I64: + self.maxBytesPerBatch = iprot.readI64() + else: + iprot.skip(ftype) + elif fid == 1296: + if ftype == TType.STRUCT: + self.statementConf = TStatementConf() + self.statementConf.read(iprot) + else: + iprot.skip(ftype) + elif fid == 3329: + if ftype == TType.STRUCT: + self.operationId = THandleIdentifier() + self.operationId.read(iprot) + else: + iprot.skip(ftype) + elif fid == 3330: + if ftype == TType.STRUCT: + self.sessionConf = TDBSqlSessionConf() + self.sessionConf.read(iprot) + else: + iprot.skip(ftype) + elif fid == 3331: + if ftype == TType.BOOL: + self.rejectHighCostQueries = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 3332: + if ftype == TType.DOUBLE: + self.estimatedCost = iprot.readDouble() + else: + iprot.skip(ftype) + elif fid == 3333: + if ftype == TType.I16: + self.executionVersion = iprot.readI16() + else: + iprot.skip(ftype) + elif fid == 3334: + if ftype == TType.STRING: + self.requestValidation = iprot.readBinary() + else: + iprot.skip(ftype) + elif fid == 3335: + if ftype == TType.I32: + self.resultPersistenceMode = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 3336: + if ftype == TType.BOOL: + self.trimArrowBatchesToLimit = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 3337: + if ftype == TType.I32: + self.fetchDisposition = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 3344: + if ftype == TType.BOOL: + self.enforceResultPersistenceMode = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 3345: + if ftype == TType.LIST: + self.statementList = [] + (_etype262, _size259) = iprot.readListBegin() + for _i263 in range(_size259): + _elem264 = TDBSqlStatement() + _elem264.read(iprot) + self.statementList.append(_elem264) + iprot.readListEnd() + else: + iprot.skip(ftype) + elif fid == 3346: + if ftype == TType.BOOL: + self.persistResultManifest = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 3347: + if ftype == TType.I64: + self.resultRetentionSeconds = iprot.readI64() + else: + iprot.skip(ftype) + elif fid == 3348: + if ftype == TType.I64: + self.resultByteLimit = iprot.readI64() + else: + iprot.skip(ftype) + elif fid == 3349: + if ftype == TType.STRUCT: + self.resultDataFormat = TDBSqlResultFormat() + self.resultDataFormat.read(iprot) + else: + iprot.skip(ftype) + elif fid == 3350: + if ftype == TType.STRING: + self.originatingClientIdentity = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 3351: + if ftype == TType.BOOL: + self.preferSingleFileResult = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 3352: + if ftype == TType.BOOL: + self.preferDriverOnlyUpload = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 3353: + if ftype == TType.BOOL: + self.enforceEmbeddedSchemaCorrectness = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 3360: + if ftype == TType.STRING: + self.idempotencyToken = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 3361: + if ftype == TType.BOOL: + self.throwErrorOnByteLimitTruncation = iprot.readBool() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TExecuteStatementReq') + if self.sessionHandle is not None: + oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 1) + self.sessionHandle.write(oprot) + oprot.writeFieldEnd() + if self.statement is not None: + oprot.writeFieldBegin('statement', TType.STRING, 2) + oprot.writeString(self.statement.encode('utf-8') if sys.version_info[0] == 2 else self.statement) + oprot.writeFieldEnd() + if self.confOverlay is not None: + oprot.writeFieldBegin('confOverlay', TType.MAP, 3) + oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.confOverlay)) + for kiter265, viter266 in self.confOverlay.items(): + oprot.writeString(kiter265.encode('utf-8') if sys.version_info[0] == 2 else kiter265) + oprot.writeString(viter266.encode('utf-8') if sys.version_info[0] == 2 else viter266) + oprot.writeMapEnd() + oprot.writeFieldEnd() + if self.runAsync is not None: + oprot.writeFieldBegin('runAsync', TType.BOOL, 4) + oprot.writeBool(self.runAsync) + oprot.writeFieldEnd() + if self.queryTimeout is not None: + oprot.writeFieldBegin('queryTimeout', TType.I64, 5) + oprot.writeI64(self.queryTimeout) + oprot.writeFieldEnd() + if self.getDirectResults is not None: + oprot.writeFieldBegin('getDirectResults', TType.STRUCT, 1281) + self.getDirectResults.write(oprot) + oprot.writeFieldEnd() + if self.canReadArrowResult is not None: + oprot.writeFieldBegin('canReadArrowResult', TType.BOOL, 1282) + oprot.writeBool(self.canReadArrowResult) + oprot.writeFieldEnd() + if self.canDownloadResult is not None: + oprot.writeFieldBegin('canDownloadResult', TType.BOOL, 1283) + oprot.writeBool(self.canDownloadResult) + oprot.writeFieldEnd() + if self.canDecompressLZ4Result is not None: + oprot.writeFieldBegin('canDecompressLZ4Result', TType.BOOL, 1284) + oprot.writeBool(self.canDecompressLZ4Result) + oprot.writeFieldEnd() + if self.maxBytesPerFile is not None: + oprot.writeFieldBegin('maxBytesPerFile', TType.I64, 1285) + oprot.writeI64(self.maxBytesPerFile) + oprot.writeFieldEnd() + if self.useArrowNativeTypes is not None: + oprot.writeFieldBegin('useArrowNativeTypes', TType.STRUCT, 1286) + self.useArrowNativeTypes.write(oprot) + oprot.writeFieldEnd() + if self.resultRowLimit is not None: + oprot.writeFieldBegin('resultRowLimit', TType.I64, 1287) + oprot.writeI64(self.resultRowLimit) + oprot.writeFieldEnd() + if self.parameters is not None: + oprot.writeFieldBegin('parameters', TType.LIST, 1288) + oprot.writeListBegin(TType.STRUCT, len(self.parameters)) + for iter267 in self.parameters: + iter267.write(oprot) + oprot.writeListEnd() + oprot.writeFieldEnd() + if self.maxBytesPerBatch is not None: + oprot.writeFieldBegin('maxBytesPerBatch', TType.I64, 1289) + oprot.writeI64(self.maxBytesPerBatch) + oprot.writeFieldEnd() + if self.statementConf is not None: + oprot.writeFieldBegin('statementConf', TType.STRUCT, 1296) + self.statementConf.write(oprot) + oprot.writeFieldEnd() + if self.operationId is not None: + oprot.writeFieldBegin('operationId', TType.STRUCT, 3329) + self.operationId.write(oprot) + oprot.writeFieldEnd() + if self.sessionConf is not None: + oprot.writeFieldBegin('sessionConf', TType.STRUCT, 3330) + self.sessionConf.write(oprot) + oprot.writeFieldEnd() + if self.rejectHighCostQueries is not None: + oprot.writeFieldBegin('rejectHighCostQueries', TType.BOOL, 3331) + oprot.writeBool(self.rejectHighCostQueries) + oprot.writeFieldEnd() + if self.estimatedCost is not None: + oprot.writeFieldBegin('estimatedCost', TType.DOUBLE, 3332) + oprot.writeDouble(self.estimatedCost) + oprot.writeFieldEnd() + if self.executionVersion is not None: + oprot.writeFieldBegin('executionVersion', TType.I16, 3333) + oprot.writeI16(self.executionVersion) + oprot.writeFieldEnd() + if self.requestValidation is not None: + oprot.writeFieldBegin('requestValidation', TType.STRING, 3334) + oprot.writeBinary(self.requestValidation) + oprot.writeFieldEnd() + if self.resultPersistenceMode is not None: + oprot.writeFieldBegin('resultPersistenceMode', TType.I32, 3335) + oprot.writeI32(self.resultPersistenceMode) + oprot.writeFieldEnd() + if self.trimArrowBatchesToLimit is not None: + oprot.writeFieldBegin('trimArrowBatchesToLimit', TType.BOOL, 3336) + oprot.writeBool(self.trimArrowBatchesToLimit) + oprot.writeFieldEnd() + if self.fetchDisposition is not None: + oprot.writeFieldBegin('fetchDisposition', TType.I32, 3337) + oprot.writeI32(self.fetchDisposition) + oprot.writeFieldEnd() + if self.enforceResultPersistenceMode is not None: + oprot.writeFieldBegin('enforceResultPersistenceMode', TType.BOOL, 3344) + oprot.writeBool(self.enforceResultPersistenceMode) + oprot.writeFieldEnd() + if self.statementList is not None: + oprot.writeFieldBegin('statementList', TType.LIST, 3345) + oprot.writeListBegin(TType.STRUCT, len(self.statementList)) + for iter268 in self.statementList: + iter268.write(oprot) + oprot.writeListEnd() + oprot.writeFieldEnd() + if self.persistResultManifest is not None: + oprot.writeFieldBegin('persistResultManifest', TType.BOOL, 3346) + oprot.writeBool(self.persistResultManifest) + oprot.writeFieldEnd() + if self.resultRetentionSeconds is not None: + oprot.writeFieldBegin('resultRetentionSeconds', TType.I64, 3347) + oprot.writeI64(self.resultRetentionSeconds) + oprot.writeFieldEnd() + if self.resultByteLimit is not None: + oprot.writeFieldBegin('resultByteLimit', TType.I64, 3348) + oprot.writeI64(self.resultByteLimit) + oprot.writeFieldEnd() + if self.resultDataFormat is not None: + oprot.writeFieldBegin('resultDataFormat', TType.STRUCT, 3349) + self.resultDataFormat.write(oprot) + oprot.writeFieldEnd() + if self.originatingClientIdentity is not None: + oprot.writeFieldBegin('originatingClientIdentity', TType.STRING, 3350) + oprot.writeString(self.originatingClientIdentity.encode('utf-8') if sys.version_info[0] == 2 else self.originatingClientIdentity) + oprot.writeFieldEnd() + if self.preferSingleFileResult is not None: + oprot.writeFieldBegin('preferSingleFileResult', TType.BOOL, 3351) + oprot.writeBool(self.preferSingleFileResult) + oprot.writeFieldEnd() + if self.preferDriverOnlyUpload is not None: + oprot.writeFieldBegin('preferDriverOnlyUpload', TType.BOOL, 3352) + oprot.writeBool(self.preferDriverOnlyUpload) + oprot.writeFieldEnd() + if self.enforceEmbeddedSchemaCorrectness is not None: + oprot.writeFieldBegin('enforceEmbeddedSchemaCorrectness', TType.BOOL, 3353) + oprot.writeBool(self.enforceEmbeddedSchemaCorrectness) + oprot.writeFieldEnd() + if self.idempotencyToken is not None: + oprot.writeFieldBegin('idempotencyToken', TType.STRING, 3360) + oprot.writeString(self.idempotencyToken.encode('utf-8') if sys.version_info[0] == 2 else self.idempotencyToken) + oprot.writeFieldEnd() + if self.throwErrorOnByteLimitTruncation is not None: + oprot.writeFieldBegin('throwErrorOnByteLimitTruncation', TType.BOOL, 3361) + oprot.writeBool(self.throwErrorOnByteLimitTruncation) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.sessionHandle is None: + raise TProtocolException(message='Required field sessionHandle is unset!') + if self.statement is None: + raise TProtocolException(message='Required field statement is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TDBSqlStatement(object): - """ + """ Attributes: - statement """ - def __init__( - self, - statement=None, - ): - self.statement = statement - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRING: - self.statement = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TDBSqlStatement") - if self.statement is not None: - oprot.writeFieldBegin("statement", TType.STRING, 1) - oprot.writeString( - self.statement.encode("utf-8") - if sys.version_info[0] == 2 - else self.statement - ) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, statement=None,): + self.statement = statement + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRING: + self.statement = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TDBSqlStatement') + if self.statement is not None: + oprot.writeFieldBegin('statement', TType.STRING, 1) + oprot.writeString(self.statement.encode('utf-8') if sys.version_info[0] == 2 else self.statement) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TSparkParameterValue(object): - """ + """ Attributes: - stringValue - doubleValue @@ -7281,95 +6276,78 @@ class TSparkParameterValue(object): """ - def __init__( - self, - stringValue=None, - doubleValue=None, - booleanValue=None, - ): - self.stringValue = stringValue - self.doubleValue = doubleValue - self.booleanValue = booleanValue - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRING: - self.stringValue = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.DOUBLE: - self.doubleValue = iprot.readDouble() - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.BOOL: - self.booleanValue = iprot.readBool() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TSparkParameterValue") - if self.stringValue is not None: - oprot.writeFieldBegin("stringValue", TType.STRING, 1) - oprot.writeString( - self.stringValue.encode("utf-8") - if sys.version_info[0] == 2 - else self.stringValue - ) - oprot.writeFieldEnd() - if self.doubleValue is not None: - oprot.writeFieldBegin("doubleValue", TType.DOUBLE, 2) - oprot.writeDouble(self.doubleValue) - oprot.writeFieldEnd() - if self.booleanValue is not None: - oprot.writeFieldBegin("booleanValue", TType.BOOL, 3) - oprot.writeBool(self.booleanValue) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, stringValue=None, doubleValue=None, booleanValue=None,): + self.stringValue = stringValue + self.doubleValue = doubleValue + self.booleanValue = booleanValue + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRING: + self.stringValue = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.DOUBLE: + self.doubleValue = iprot.readDouble() + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.BOOL: + self.booleanValue = iprot.readBool() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TSparkParameterValue') + if self.stringValue is not None: + oprot.writeFieldBegin('stringValue', TType.STRING, 1) + oprot.writeString(self.stringValue.encode('utf-8') if sys.version_info[0] == 2 else self.stringValue) + oprot.writeFieldEnd() + if self.doubleValue is not None: + oprot.writeFieldBegin('doubleValue', TType.DOUBLE, 2) + oprot.writeDouble(self.doubleValue) + oprot.writeFieldEnd() + if self.booleanValue is not None: + oprot.writeFieldBegin('booleanValue', TType.BOOL, 3) + oprot.writeBool(self.booleanValue) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TSparkParameter(object): - """ + """ Attributes: - ordinal - name @@ -7378,111 +6356,89 @@ class TSparkParameter(object): """ - def __init__( - self, - ordinal=None, - name=None, - type=None, - value=None, - ): - self.ordinal = ordinal - self.name = name - self.type = type - self.value = value - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.I32: - self.ordinal = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRING: - self.name = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.STRING: - self.type = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 4: - if ftype == TType.STRUCT: - self.value = TSparkParameterValue() - self.value.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TSparkParameter") - if self.ordinal is not None: - oprot.writeFieldBegin("ordinal", TType.I32, 1) - oprot.writeI32(self.ordinal) - oprot.writeFieldEnd() - if self.name is not None: - oprot.writeFieldBegin("name", TType.STRING, 2) - oprot.writeString( - self.name.encode("utf-8") if sys.version_info[0] == 2 else self.name - ) - oprot.writeFieldEnd() - if self.type is not None: - oprot.writeFieldBegin("type", TType.STRING, 3) - oprot.writeString( - self.type.encode("utf-8") if sys.version_info[0] == 2 else self.type - ) - oprot.writeFieldEnd() - if self.value is not None: - oprot.writeFieldBegin("value", TType.STRUCT, 4) - self.value.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, ordinal=None, name=None, type=None, value=None,): + self.ordinal = ordinal + self.name = name + self.type = type + self.value = value + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.I32: + self.ordinal = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRING: + self.name = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.STRING: + self.type = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 4: + if ftype == TType.STRUCT: + self.value = TSparkParameterValue() + self.value.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TSparkParameter') + if self.ordinal is not None: + oprot.writeFieldBegin('ordinal', TType.I32, 1) + oprot.writeI32(self.ordinal) + oprot.writeFieldEnd() + if self.name is not None: + oprot.writeFieldBegin('name', TType.STRING, 2) + oprot.writeString(self.name.encode('utf-8') if sys.version_info[0] == 2 else self.name) + oprot.writeFieldEnd() + if self.type is not None: + oprot.writeFieldBegin('type', TType.STRING, 3) + oprot.writeString(self.type.encode('utf-8') if sys.version_info[0] == 2 else self.type) + oprot.writeFieldEnd() + if self.value is not None: + oprot.writeFieldBegin('value', TType.STRUCT, 4) + self.value.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TStatementConf(object): - """ + """ Attributes: - sessionless - initialNamespace @@ -7491,99 +6447,89 @@ class TStatementConf(object): """ - def __init__( - self, - sessionless=None, - initialNamespace=None, - client_protocol=None, - client_protocol_i64=None, - ): - self.sessionless = sessionless - self.initialNamespace = initialNamespace - self.client_protocol = client_protocol - self.client_protocol_i64 = client_protocol_i64 - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.BOOL: - self.sessionless = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRUCT: - self.initialNamespace = TNamespace() - self.initialNamespace.read(iprot) - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.I32: - self.client_protocol = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 4: - if ftype == TType.I64: - self.client_protocol_i64 = iprot.readI64() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TStatementConf") - if self.sessionless is not None: - oprot.writeFieldBegin("sessionless", TType.BOOL, 1) - oprot.writeBool(self.sessionless) - oprot.writeFieldEnd() - if self.initialNamespace is not None: - oprot.writeFieldBegin("initialNamespace", TType.STRUCT, 2) - self.initialNamespace.write(oprot) - oprot.writeFieldEnd() - if self.client_protocol is not None: - oprot.writeFieldBegin("client_protocol", TType.I32, 3) - oprot.writeI32(self.client_protocol) - oprot.writeFieldEnd() - if self.client_protocol_i64 is not None: - oprot.writeFieldBegin("client_protocol_i64", TType.I64, 4) - oprot.writeI64(self.client_protocol_i64) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, sessionless=None, initialNamespace=None, client_protocol=None, client_protocol_i64=None,): + self.sessionless = sessionless + self.initialNamespace = initialNamespace + self.client_protocol = client_protocol + self.client_protocol_i64 = client_protocol_i64 + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.BOOL: + self.sessionless = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRUCT: + self.initialNamespace = TNamespace() + self.initialNamespace.read(iprot) + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.I32: + self.client_protocol = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 4: + if ftype == TType.I64: + self.client_protocol_i64 = iprot.readI64() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TStatementConf') + if self.sessionless is not None: + oprot.writeFieldBegin('sessionless', TType.BOOL, 1) + oprot.writeBool(self.sessionless) + oprot.writeFieldEnd() + if self.initialNamespace is not None: + oprot.writeFieldBegin('initialNamespace', TType.STRUCT, 2) + self.initialNamespace.write(oprot) + oprot.writeFieldEnd() + if self.client_protocol is not None: + oprot.writeFieldBegin('client_protocol', TType.I32, 3) + oprot.writeI32(self.client_protocol) + oprot.writeFieldEnd() + if self.client_protocol_i64 is not None: + oprot.writeFieldBegin('client_protocol_i64', TType.I64, 4) + oprot.writeI64(self.client_protocol_i64) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TExecuteStatementResp(object): - """ + """ Attributes: - status - operationHandle @@ -7600,201 +6546,183 @@ class TExecuteStatementResp(object): """ - def __init__( - self, - status=None, - operationHandle=None, - directResults=None, - executionRejected=None, - maxClusterCapacity=None, - queryCost=None, - sessionConf=None, - currentClusterLoad=None, - idempotencyType=None, - remoteResultCacheEnabled=None, - isServerless=None, - operationHandles=None, - ): - self.status = status - self.operationHandle = operationHandle - self.directResults = directResults - self.executionRejected = executionRejected - self.maxClusterCapacity = maxClusterCapacity - self.queryCost = queryCost - self.sessionConf = sessionConf - self.currentClusterLoad = currentClusterLoad - self.idempotencyType = idempotencyType - self.remoteResultCacheEnabled = remoteResultCacheEnabled - self.isServerless = isServerless - self.operationHandles = operationHandles - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.status = TStatus() - self.status.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRUCT: - self.operationHandle = TOperationHandle() - self.operationHandle.read(iprot) - else: - iprot.skip(ftype) - elif fid == 1281: - if ftype == TType.STRUCT: - self.directResults = TSparkDirectResults() - self.directResults.read(iprot) - else: - iprot.skip(ftype) - elif fid == 3329: - if ftype == TType.BOOL: - self.executionRejected = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 3330: - if ftype == TType.DOUBLE: - self.maxClusterCapacity = iprot.readDouble() - else: - iprot.skip(ftype) - elif fid == 3331: - if ftype == TType.DOUBLE: - self.queryCost = iprot.readDouble() - else: - iprot.skip(ftype) - elif fid == 3332: - if ftype == TType.STRUCT: - self.sessionConf = TDBSqlSessionConf() - self.sessionConf.read(iprot) - else: - iprot.skip(ftype) - elif fid == 3333: - if ftype == TType.DOUBLE: - self.currentClusterLoad = iprot.readDouble() - else: - iprot.skip(ftype) - elif fid == 3334: - if ftype == TType.I32: - self.idempotencyType = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 3335: - if ftype == TType.BOOL: - self.remoteResultCacheEnabled = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 3336: - if ftype == TType.BOOL: - self.isServerless = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 3337: - if ftype == TType.LIST: - self.operationHandles = [] - (_etype272, _size269) = iprot.readListBegin() - for _i273 in range(_size269): - _elem274 = TOperationHandle() - _elem274.read(iprot) - self.operationHandles.append(_elem274) - iprot.readListEnd() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TExecuteStatementResp") - if self.status is not None: - oprot.writeFieldBegin("status", TType.STRUCT, 1) - self.status.write(oprot) - oprot.writeFieldEnd() - if self.operationHandle is not None: - oprot.writeFieldBegin("operationHandle", TType.STRUCT, 2) - self.operationHandle.write(oprot) - oprot.writeFieldEnd() - if self.directResults is not None: - oprot.writeFieldBegin("directResults", TType.STRUCT, 1281) - self.directResults.write(oprot) - oprot.writeFieldEnd() - if self.executionRejected is not None: - oprot.writeFieldBegin("executionRejected", TType.BOOL, 3329) - oprot.writeBool(self.executionRejected) - oprot.writeFieldEnd() - if self.maxClusterCapacity is not None: - oprot.writeFieldBegin("maxClusterCapacity", TType.DOUBLE, 3330) - oprot.writeDouble(self.maxClusterCapacity) - oprot.writeFieldEnd() - if self.queryCost is not None: - oprot.writeFieldBegin("queryCost", TType.DOUBLE, 3331) - oprot.writeDouble(self.queryCost) - oprot.writeFieldEnd() - if self.sessionConf is not None: - oprot.writeFieldBegin("sessionConf", TType.STRUCT, 3332) - self.sessionConf.write(oprot) - oprot.writeFieldEnd() - if self.currentClusterLoad is not None: - oprot.writeFieldBegin("currentClusterLoad", TType.DOUBLE, 3333) - oprot.writeDouble(self.currentClusterLoad) - oprot.writeFieldEnd() - if self.idempotencyType is not None: - oprot.writeFieldBegin("idempotencyType", TType.I32, 3334) - oprot.writeI32(self.idempotencyType) - oprot.writeFieldEnd() - if self.remoteResultCacheEnabled is not None: - oprot.writeFieldBegin("remoteResultCacheEnabled", TType.BOOL, 3335) - oprot.writeBool(self.remoteResultCacheEnabled) - oprot.writeFieldEnd() - if self.isServerless is not None: - oprot.writeFieldBegin("isServerless", TType.BOOL, 3336) - oprot.writeBool(self.isServerless) - oprot.writeFieldEnd() - if self.operationHandles is not None: - oprot.writeFieldBegin("operationHandles", TType.LIST, 3337) - oprot.writeListBegin(TType.STRUCT, len(self.operationHandles)) - for iter275 in self.operationHandles: - iter275.write(oprot) - oprot.writeListEnd() - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.status is None: - raise TProtocolException(message="Required field status is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, status=None, operationHandle=None, directResults=None, executionRejected=None, maxClusterCapacity=None, queryCost=None, sessionConf=None, currentClusterLoad=None, idempotencyType=None, remoteResultCacheEnabled=None, isServerless=None, operationHandles=None,): + self.status = status + self.operationHandle = operationHandle + self.directResults = directResults + self.executionRejected = executionRejected + self.maxClusterCapacity = maxClusterCapacity + self.queryCost = queryCost + self.sessionConf = sessionConf + self.currentClusterLoad = currentClusterLoad + self.idempotencyType = idempotencyType + self.remoteResultCacheEnabled = remoteResultCacheEnabled + self.isServerless = isServerless + self.operationHandles = operationHandles + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.status = TStatus() + self.status.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRUCT: + self.operationHandle = TOperationHandle() + self.operationHandle.read(iprot) + else: + iprot.skip(ftype) + elif fid == 1281: + if ftype == TType.STRUCT: + self.directResults = TSparkDirectResults() + self.directResults.read(iprot) + else: + iprot.skip(ftype) + elif fid == 3329: + if ftype == TType.BOOL: + self.executionRejected = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 3330: + if ftype == TType.DOUBLE: + self.maxClusterCapacity = iprot.readDouble() + else: + iprot.skip(ftype) + elif fid == 3331: + if ftype == TType.DOUBLE: + self.queryCost = iprot.readDouble() + else: + iprot.skip(ftype) + elif fid == 3332: + if ftype == TType.STRUCT: + self.sessionConf = TDBSqlSessionConf() + self.sessionConf.read(iprot) + else: + iprot.skip(ftype) + elif fid == 3333: + if ftype == TType.DOUBLE: + self.currentClusterLoad = iprot.readDouble() + else: + iprot.skip(ftype) + elif fid == 3334: + if ftype == TType.I32: + self.idempotencyType = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 3335: + if ftype == TType.BOOL: + self.remoteResultCacheEnabled = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 3336: + if ftype == TType.BOOL: + self.isServerless = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 3337: + if ftype == TType.LIST: + self.operationHandles = [] + (_etype272, _size269) = iprot.readListBegin() + for _i273 in range(_size269): + _elem274 = TOperationHandle() + _elem274.read(iprot) + self.operationHandles.append(_elem274) + iprot.readListEnd() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TExecuteStatementResp') + if self.status is not None: + oprot.writeFieldBegin('status', TType.STRUCT, 1) + self.status.write(oprot) + oprot.writeFieldEnd() + if self.operationHandle is not None: + oprot.writeFieldBegin('operationHandle', TType.STRUCT, 2) + self.operationHandle.write(oprot) + oprot.writeFieldEnd() + if self.directResults is not None: + oprot.writeFieldBegin('directResults', TType.STRUCT, 1281) + self.directResults.write(oprot) + oprot.writeFieldEnd() + if self.executionRejected is not None: + oprot.writeFieldBegin('executionRejected', TType.BOOL, 3329) + oprot.writeBool(self.executionRejected) + oprot.writeFieldEnd() + if self.maxClusterCapacity is not None: + oprot.writeFieldBegin('maxClusterCapacity', TType.DOUBLE, 3330) + oprot.writeDouble(self.maxClusterCapacity) + oprot.writeFieldEnd() + if self.queryCost is not None: + oprot.writeFieldBegin('queryCost', TType.DOUBLE, 3331) + oprot.writeDouble(self.queryCost) + oprot.writeFieldEnd() + if self.sessionConf is not None: + oprot.writeFieldBegin('sessionConf', TType.STRUCT, 3332) + self.sessionConf.write(oprot) + oprot.writeFieldEnd() + if self.currentClusterLoad is not None: + oprot.writeFieldBegin('currentClusterLoad', TType.DOUBLE, 3333) + oprot.writeDouble(self.currentClusterLoad) + oprot.writeFieldEnd() + if self.idempotencyType is not None: + oprot.writeFieldBegin('idempotencyType', TType.I32, 3334) + oprot.writeI32(self.idempotencyType) + oprot.writeFieldEnd() + if self.remoteResultCacheEnabled is not None: + oprot.writeFieldBegin('remoteResultCacheEnabled', TType.BOOL, 3335) + oprot.writeBool(self.remoteResultCacheEnabled) + oprot.writeFieldEnd() + if self.isServerless is not None: + oprot.writeFieldBegin('isServerless', TType.BOOL, 3336) + oprot.writeBool(self.isServerless) + oprot.writeFieldEnd() + if self.operationHandles is not None: + oprot.writeFieldBegin('operationHandles', TType.LIST, 3337) + oprot.writeListBegin(TType.STRUCT, len(self.operationHandles)) + for iter275 in self.operationHandles: + iter275.write(oprot) + oprot.writeListEnd() + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.status is None: + raise TProtocolException(message='Required field status is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TGetTypeInfoReq(object): - """ + """ Attributes: - sessionHandle - getDirectResults @@ -7804,115 +6732,104 @@ class TGetTypeInfoReq(object): """ - def __init__( - self, - sessionHandle=None, - getDirectResults=None, - runAsync=False, - operationId=None, - sessionConf=None, - ): - self.sessionHandle = sessionHandle - self.getDirectResults = getDirectResults - self.runAsync = runAsync - self.operationId = operationId - self.sessionConf = sessionConf - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.sessionHandle = TSessionHandle() - self.sessionHandle.read(iprot) - else: - iprot.skip(ftype) - elif fid == 1281: - if ftype == TType.STRUCT: - self.getDirectResults = TSparkGetDirectResults() - self.getDirectResults.read(iprot) - else: - iprot.skip(ftype) - elif fid == 1282: - if ftype == TType.BOOL: - self.runAsync = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 3329: - if ftype == TType.STRUCT: - self.operationId = THandleIdentifier() - self.operationId.read(iprot) - else: - iprot.skip(ftype) - elif fid == 3330: - if ftype == TType.STRUCT: - self.sessionConf = TDBSqlSessionConf() - self.sessionConf.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TGetTypeInfoReq") - if self.sessionHandle is not None: - oprot.writeFieldBegin("sessionHandle", TType.STRUCT, 1) - self.sessionHandle.write(oprot) - oprot.writeFieldEnd() - if self.getDirectResults is not None: - oprot.writeFieldBegin("getDirectResults", TType.STRUCT, 1281) - self.getDirectResults.write(oprot) - oprot.writeFieldEnd() - if self.runAsync is not None: - oprot.writeFieldBegin("runAsync", TType.BOOL, 1282) - oprot.writeBool(self.runAsync) - oprot.writeFieldEnd() - if self.operationId is not None: - oprot.writeFieldBegin("operationId", TType.STRUCT, 3329) - self.operationId.write(oprot) - oprot.writeFieldEnd() - if self.sessionConf is not None: - oprot.writeFieldBegin("sessionConf", TType.STRUCT, 3330) - self.sessionConf.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.sessionHandle is None: - raise TProtocolException(message="Required field sessionHandle is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, sessionHandle=None, getDirectResults=None, runAsync=False, operationId=None, sessionConf=None,): + self.sessionHandle = sessionHandle + self.getDirectResults = getDirectResults + self.runAsync = runAsync + self.operationId = operationId + self.sessionConf = sessionConf + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.sessionHandle = TSessionHandle() + self.sessionHandle.read(iprot) + else: + iprot.skip(ftype) + elif fid == 1281: + if ftype == TType.STRUCT: + self.getDirectResults = TSparkGetDirectResults() + self.getDirectResults.read(iprot) + else: + iprot.skip(ftype) + elif fid == 1282: + if ftype == TType.BOOL: + self.runAsync = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 3329: + if ftype == TType.STRUCT: + self.operationId = THandleIdentifier() + self.operationId.read(iprot) + else: + iprot.skip(ftype) + elif fid == 3330: + if ftype == TType.STRUCT: + self.sessionConf = TDBSqlSessionConf() + self.sessionConf.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TGetTypeInfoReq') + if self.sessionHandle is not None: + oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 1) + self.sessionHandle.write(oprot) + oprot.writeFieldEnd() + if self.getDirectResults is not None: + oprot.writeFieldBegin('getDirectResults', TType.STRUCT, 1281) + self.getDirectResults.write(oprot) + oprot.writeFieldEnd() + if self.runAsync is not None: + oprot.writeFieldBegin('runAsync', TType.BOOL, 1282) + oprot.writeBool(self.runAsync) + oprot.writeFieldEnd() + if self.operationId is not None: + oprot.writeFieldBegin('operationId', TType.STRUCT, 3329) + self.operationId.write(oprot) + oprot.writeFieldEnd() + if self.sessionConf is not None: + oprot.writeFieldBegin('sessionConf', TType.STRUCT, 3330) + self.sessionConf.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.sessionHandle is None: + raise TProtocolException(message='Required field sessionHandle is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TGetTypeInfoResp(object): - """ + """ Attributes: - status - operationHandle @@ -7920,92 +6837,83 @@ class TGetTypeInfoResp(object): """ - def __init__( - self, - status=None, - operationHandle=None, - directResults=None, - ): - self.status = status - self.operationHandle = operationHandle - self.directResults = directResults - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.status = TStatus() - self.status.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRUCT: - self.operationHandle = TOperationHandle() - self.operationHandle.read(iprot) - else: - iprot.skip(ftype) - elif fid == 1281: - if ftype == TType.STRUCT: - self.directResults = TSparkDirectResults() - self.directResults.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TGetTypeInfoResp") - if self.status is not None: - oprot.writeFieldBegin("status", TType.STRUCT, 1) - self.status.write(oprot) - oprot.writeFieldEnd() - if self.operationHandle is not None: - oprot.writeFieldBegin("operationHandle", TType.STRUCT, 2) - self.operationHandle.write(oprot) - oprot.writeFieldEnd() - if self.directResults is not None: - oprot.writeFieldBegin("directResults", TType.STRUCT, 1281) - self.directResults.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.status is None: - raise TProtocolException(message="Required field status is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, status=None, operationHandle=None, directResults=None,): + self.status = status + self.operationHandle = operationHandle + self.directResults = directResults + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.status = TStatus() + self.status.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRUCT: + self.operationHandle = TOperationHandle() + self.operationHandle.read(iprot) + else: + iprot.skip(ftype) + elif fid == 1281: + if ftype == TType.STRUCT: + self.directResults = TSparkDirectResults() + self.directResults.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TGetTypeInfoResp') + if self.status is not None: + oprot.writeFieldBegin('status', TType.STRUCT, 1) + self.status.write(oprot) + oprot.writeFieldEnd() + if self.operationHandle is not None: + oprot.writeFieldBegin('operationHandle', TType.STRUCT, 2) + self.operationHandle.write(oprot) + oprot.writeFieldEnd() + if self.directResults is not None: + oprot.writeFieldBegin('directResults', TType.STRUCT, 1281) + self.directResults.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.status is None: + raise TProtocolException(message='Required field status is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TGetCatalogsReq(object): - """ + """ Attributes: - sessionHandle - getDirectResults @@ -8015,115 +6923,104 @@ class TGetCatalogsReq(object): """ - def __init__( - self, - sessionHandle=None, - getDirectResults=None, - runAsync=False, - operationId=None, - sessionConf=None, - ): - self.sessionHandle = sessionHandle - self.getDirectResults = getDirectResults - self.runAsync = runAsync - self.operationId = operationId - self.sessionConf = sessionConf - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.sessionHandle = TSessionHandle() - self.sessionHandle.read(iprot) - else: - iprot.skip(ftype) - elif fid == 1281: - if ftype == TType.STRUCT: - self.getDirectResults = TSparkGetDirectResults() - self.getDirectResults.read(iprot) - else: - iprot.skip(ftype) - elif fid == 1282: - if ftype == TType.BOOL: - self.runAsync = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 3329: - if ftype == TType.STRUCT: - self.operationId = THandleIdentifier() - self.operationId.read(iprot) - else: - iprot.skip(ftype) - elif fid == 3330: - if ftype == TType.STRUCT: - self.sessionConf = TDBSqlSessionConf() - self.sessionConf.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TGetCatalogsReq") - if self.sessionHandle is not None: - oprot.writeFieldBegin("sessionHandle", TType.STRUCT, 1) - self.sessionHandle.write(oprot) - oprot.writeFieldEnd() - if self.getDirectResults is not None: - oprot.writeFieldBegin("getDirectResults", TType.STRUCT, 1281) - self.getDirectResults.write(oprot) - oprot.writeFieldEnd() - if self.runAsync is not None: - oprot.writeFieldBegin("runAsync", TType.BOOL, 1282) - oprot.writeBool(self.runAsync) - oprot.writeFieldEnd() - if self.operationId is not None: - oprot.writeFieldBegin("operationId", TType.STRUCT, 3329) - self.operationId.write(oprot) - oprot.writeFieldEnd() - if self.sessionConf is not None: - oprot.writeFieldBegin("sessionConf", TType.STRUCT, 3330) - self.sessionConf.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.sessionHandle is None: - raise TProtocolException(message="Required field sessionHandle is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, sessionHandle=None, getDirectResults=None, runAsync=False, operationId=None, sessionConf=None,): + self.sessionHandle = sessionHandle + self.getDirectResults = getDirectResults + self.runAsync = runAsync + self.operationId = operationId + self.sessionConf = sessionConf + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.sessionHandle = TSessionHandle() + self.sessionHandle.read(iprot) + else: + iprot.skip(ftype) + elif fid == 1281: + if ftype == TType.STRUCT: + self.getDirectResults = TSparkGetDirectResults() + self.getDirectResults.read(iprot) + else: + iprot.skip(ftype) + elif fid == 1282: + if ftype == TType.BOOL: + self.runAsync = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 3329: + if ftype == TType.STRUCT: + self.operationId = THandleIdentifier() + self.operationId.read(iprot) + else: + iprot.skip(ftype) + elif fid == 3330: + if ftype == TType.STRUCT: + self.sessionConf = TDBSqlSessionConf() + self.sessionConf.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TGetCatalogsReq') + if self.sessionHandle is not None: + oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 1) + self.sessionHandle.write(oprot) + oprot.writeFieldEnd() + if self.getDirectResults is not None: + oprot.writeFieldBegin('getDirectResults', TType.STRUCT, 1281) + self.getDirectResults.write(oprot) + oprot.writeFieldEnd() + if self.runAsync is not None: + oprot.writeFieldBegin('runAsync', TType.BOOL, 1282) + oprot.writeBool(self.runAsync) + oprot.writeFieldEnd() + if self.operationId is not None: + oprot.writeFieldBegin('operationId', TType.STRUCT, 3329) + self.operationId.write(oprot) + oprot.writeFieldEnd() + if self.sessionConf is not None: + oprot.writeFieldBegin('sessionConf', TType.STRUCT, 3330) + self.sessionConf.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.sessionHandle is None: + raise TProtocolException(message='Required field sessionHandle is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TGetCatalogsResp(object): - """ + """ Attributes: - status - operationHandle @@ -8131,92 +7028,83 @@ class TGetCatalogsResp(object): """ - def __init__( - self, - status=None, - operationHandle=None, - directResults=None, - ): - self.status = status - self.operationHandle = operationHandle - self.directResults = directResults - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.status = TStatus() - self.status.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRUCT: - self.operationHandle = TOperationHandle() - self.operationHandle.read(iprot) - else: - iprot.skip(ftype) - elif fid == 1281: - if ftype == TType.STRUCT: - self.directResults = TSparkDirectResults() - self.directResults.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TGetCatalogsResp") - if self.status is not None: - oprot.writeFieldBegin("status", TType.STRUCT, 1) - self.status.write(oprot) - oprot.writeFieldEnd() - if self.operationHandle is not None: - oprot.writeFieldBegin("operationHandle", TType.STRUCT, 2) - self.operationHandle.write(oprot) - oprot.writeFieldEnd() - if self.directResults is not None: - oprot.writeFieldBegin("directResults", TType.STRUCT, 1281) - self.directResults.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.status is None: - raise TProtocolException(message="Required field status is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, status=None, operationHandle=None, directResults=None,): + self.status = status + self.operationHandle = operationHandle + self.directResults = directResults + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.status = TStatus() + self.status.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRUCT: + self.operationHandle = TOperationHandle() + self.operationHandle.read(iprot) + else: + iprot.skip(ftype) + elif fid == 1281: + if ftype == TType.STRUCT: + self.directResults = TSparkDirectResults() + self.directResults.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TGetCatalogsResp') + if self.status is not None: + oprot.writeFieldBegin('status', TType.STRUCT, 1) + self.status.write(oprot) + oprot.writeFieldEnd() + if self.operationHandle is not None: + oprot.writeFieldBegin('operationHandle', TType.STRUCT, 2) + self.operationHandle.write(oprot) + oprot.writeFieldEnd() + if self.directResults is not None: + oprot.writeFieldBegin('directResults', TType.STRUCT, 1281) + self.directResults.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.status is None: + raise TProtocolException(message='Required field status is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TGetSchemasReq(object): - """ + """ Attributes: - sessionHandle - catalogName @@ -8228,153 +7116,124 @@ class TGetSchemasReq(object): """ - def __init__( - self, - sessionHandle=None, - catalogName=None, - schemaName=None, - getDirectResults=None, - runAsync=False, - operationId=None, - sessionConf=None, - ): - self.sessionHandle = sessionHandle - self.catalogName = catalogName - self.schemaName = schemaName - self.getDirectResults = getDirectResults - self.runAsync = runAsync - self.operationId = operationId - self.sessionConf = sessionConf - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.sessionHandle = TSessionHandle() - self.sessionHandle.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRING: - self.catalogName = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.STRING: - self.schemaName = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 1281: - if ftype == TType.STRUCT: - self.getDirectResults = TSparkGetDirectResults() - self.getDirectResults.read(iprot) - else: - iprot.skip(ftype) - elif fid == 1282: - if ftype == TType.BOOL: - self.runAsync = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 3329: - if ftype == TType.STRUCT: - self.operationId = THandleIdentifier() - self.operationId.read(iprot) - else: - iprot.skip(ftype) - elif fid == 3330: - if ftype == TType.STRUCT: - self.sessionConf = TDBSqlSessionConf() - self.sessionConf.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TGetSchemasReq") - if self.sessionHandle is not None: - oprot.writeFieldBegin("sessionHandle", TType.STRUCT, 1) - self.sessionHandle.write(oprot) - oprot.writeFieldEnd() - if self.catalogName is not None: - oprot.writeFieldBegin("catalogName", TType.STRING, 2) - oprot.writeString( - self.catalogName.encode("utf-8") - if sys.version_info[0] == 2 - else self.catalogName - ) - oprot.writeFieldEnd() - if self.schemaName is not None: - oprot.writeFieldBegin("schemaName", TType.STRING, 3) - oprot.writeString( - self.schemaName.encode("utf-8") - if sys.version_info[0] == 2 - else self.schemaName - ) - oprot.writeFieldEnd() - if self.getDirectResults is not None: - oprot.writeFieldBegin("getDirectResults", TType.STRUCT, 1281) - self.getDirectResults.write(oprot) - oprot.writeFieldEnd() - if self.runAsync is not None: - oprot.writeFieldBegin("runAsync", TType.BOOL, 1282) - oprot.writeBool(self.runAsync) - oprot.writeFieldEnd() - if self.operationId is not None: - oprot.writeFieldBegin("operationId", TType.STRUCT, 3329) - self.operationId.write(oprot) - oprot.writeFieldEnd() - if self.sessionConf is not None: - oprot.writeFieldBegin("sessionConf", TType.STRUCT, 3330) - self.sessionConf.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.sessionHandle is None: - raise TProtocolException(message="Required field sessionHandle is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, sessionHandle=None, catalogName=None, schemaName=None, getDirectResults=None, runAsync=False, operationId=None, sessionConf=None,): + self.sessionHandle = sessionHandle + self.catalogName = catalogName + self.schemaName = schemaName + self.getDirectResults = getDirectResults + self.runAsync = runAsync + self.operationId = operationId + self.sessionConf = sessionConf + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.sessionHandle = TSessionHandle() + self.sessionHandle.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRING: + self.catalogName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.STRING: + self.schemaName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 1281: + if ftype == TType.STRUCT: + self.getDirectResults = TSparkGetDirectResults() + self.getDirectResults.read(iprot) + else: + iprot.skip(ftype) + elif fid == 1282: + if ftype == TType.BOOL: + self.runAsync = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 3329: + if ftype == TType.STRUCT: + self.operationId = THandleIdentifier() + self.operationId.read(iprot) + else: + iprot.skip(ftype) + elif fid == 3330: + if ftype == TType.STRUCT: + self.sessionConf = TDBSqlSessionConf() + self.sessionConf.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TGetSchemasReq') + if self.sessionHandle is not None: + oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 1) + self.sessionHandle.write(oprot) + oprot.writeFieldEnd() + if self.catalogName is not None: + oprot.writeFieldBegin('catalogName', TType.STRING, 2) + oprot.writeString(self.catalogName.encode('utf-8') if sys.version_info[0] == 2 else self.catalogName) + oprot.writeFieldEnd() + if self.schemaName is not None: + oprot.writeFieldBegin('schemaName', TType.STRING, 3) + oprot.writeString(self.schemaName.encode('utf-8') if sys.version_info[0] == 2 else self.schemaName) + oprot.writeFieldEnd() + if self.getDirectResults is not None: + oprot.writeFieldBegin('getDirectResults', TType.STRUCT, 1281) + self.getDirectResults.write(oprot) + oprot.writeFieldEnd() + if self.runAsync is not None: + oprot.writeFieldBegin('runAsync', TType.BOOL, 1282) + oprot.writeBool(self.runAsync) + oprot.writeFieldEnd() + if self.operationId is not None: + oprot.writeFieldBegin('operationId', TType.STRUCT, 3329) + self.operationId.write(oprot) + oprot.writeFieldEnd() + if self.sessionConf is not None: + oprot.writeFieldBegin('sessionConf', TType.STRUCT, 3330) + self.sessionConf.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.sessionHandle is None: + raise TProtocolException(message='Required field sessionHandle is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TGetSchemasResp(object): - """ + """ Attributes: - status - operationHandle @@ -8382,92 +7241,83 @@ class TGetSchemasResp(object): """ - def __init__( - self, - status=None, - operationHandle=None, - directResults=None, - ): - self.status = status - self.operationHandle = operationHandle - self.directResults = directResults - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.status = TStatus() - self.status.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRUCT: - self.operationHandle = TOperationHandle() - self.operationHandle.read(iprot) - else: - iprot.skip(ftype) - elif fid == 1281: - if ftype == TType.STRUCT: - self.directResults = TSparkDirectResults() - self.directResults.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TGetSchemasResp") - if self.status is not None: - oprot.writeFieldBegin("status", TType.STRUCT, 1) - self.status.write(oprot) - oprot.writeFieldEnd() - if self.operationHandle is not None: - oprot.writeFieldBegin("operationHandle", TType.STRUCT, 2) - self.operationHandle.write(oprot) - oprot.writeFieldEnd() - if self.directResults is not None: - oprot.writeFieldBegin("directResults", TType.STRUCT, 1281) - self.directResults.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.status is None: - raise TProtocolException(message="Required field status is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, status=None, operationHandle=None, directResults=None,): + self.status = status + self.operationHandle = operationHandle + self.directResults = directResults + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.status = TStatus() + self.status.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRUCT: + self.operationHandle = TOperationHandle() + self.operationHandle.read(iprot) + else: + iprot.skip(ftype) + elif fid == 1281: + if ftype == TType.STRUCT: + self.directResults = TSparkDirectResults() + self.directResults.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TGetSchemasResp') + if self.status is not None: + oprot.writeFieldBegin('status', TType.STRUCT, 1) + self.status.write(oprot) + oprot.writeFieldEnd() + if self.operationHandle is not None: + oprot.writeFieldBegin('operationHandle', TType.STRUCT, 2) + self.operationHandle.write(oprot) + oprot.writeFieldEnd() + if self.directResults is not None: + oprot.writeFieldBegin('directResults', TType.STRUCT, 1281) + self.directResults.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.status is None: + raise TProtocolException(message='Required field status is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TGetTablesReq(object): - """ + """ Attributes: - sessionHandle - catalogName @@ -8481,197 +7331,152 @@ class TGetTablesReq(object): """ - def __init__( - self, - sessionHandle=None, - catalogName=None, - schemaName=None, - tableName=None, - tableTypes=None, - getDirectResults=None, - runAsync=False, - operationId=None, - sessionConf=None, - ): - self.sessionHandle = sessionHandle - self.catalogName = catalogName - self.schemaName = schemaName - self.tableName = tableName - self.tableTypes = tableTypes - self.getDirectResults = getDirectResults - self.runAsync = runAsync - self.operationId = operationId - self.sessionConf = sessionConf - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.sessionHandle = TSessionHandle() - self.sessionHandle.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRING: - self.catalogName = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.STRING: - self.schemaName = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 4: - if ftype == TType.STRING: - self.tableName = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 5: - if ftype == TType.LIST: - self.tableTypes = [] - (_etype279, _size276) = iprot.readListBegin() - for _i280 in range(_size276): - _elem281 = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - self.tableTypes.append(_elem281) - iprot.readListEnd() - else: - iprot.skip(ftype) - elif fid == 1281: - if ftype == TType.STRUCT: - self.getDirectResults = TSparkGetDirectResults() - self.getDirectResults.read(iprot) - else: - iprot.skip(ftype) - elif fid == 1282: - if ftype == TType.BOOL: - self.runAsync = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 3329: - if ftype == TType.STRUCT: - self.operationId = THandleIdentifier() - self.operationId.read(iprot) - else: - iprot.skip(ftype) - elif fid == 3330: - if ftype == TType.STRUCT: - self.sessionConf = TDBSqlSessionConf() - self.sessionConf.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TGetTablesReq") - if self.sessionHandle is not None: - oprot.writeFieldBegin("sessionHandle", TType.STRUCT, 1) - self.sessionHandle.write(oprot) - oprot.writeFieldEnd() - if self.catalogName is not None: - oprot.writeFieldBegin("catalogName", TType.STRING, 2) - oprot.writeString( - self.catalogName.encode("utf-8") - if sys.version_info[0] == 2 - else self.catalogName - ) - oprot.writeFieldEnd() - if self.schemaName is not None: - oprot.writeFieldBegin("schemaName", TType.STRING, 3) - oprot.writeString( - self.schemaName.encode("utf-8") - if sys.version_info[0] == 2 - else self.schemaName - ) - oprot.writeFieldEnd() - if self.tableName is not None: - oprot.writeFieldBegin("tableName", TType.STRING, 4) - oprot.writeString( - self.tableName.encode("utf-8") - if sys.version_info[0] == 2 - else self.tableName - ) - oprot.writeFieldEnd() - if self.tableTypes is not None: - oprot.writeFieldBegin("tableTypes", TType.LIST, 5) - oprot.writeListBegin(TType.STRING, len(self.tableTypes)) - for iter282 in self.tableTypes: - oprot.writeString( - iter282.encode("utf-8") if sys.version_info[0] == 2 else iter282 - ) - oprot.writeListEnd() - oprot.writeFieldEnd() - if self.getDirectResults is not None: - oprot.writeFieldBegin("getDirectResults", TType.STRUCT, 1281) - self.getDirectResults.write(oprot) - oprot.writeFieldEnd() - if self.runAsync is not None: - oprot.writeFieldBegin("runAsync", TType.BOOL, 1282) - oprot.writeBool(self.runAsync) - oprot.writeFieldEnd() - if self.operationId is not None: - oprot.writeFieldBegin("operationId", TType.STRUCT, 3329) - self.operationId.write(oprot) - oprot.writeFieldEnd() - if self.sessionConf is not None: - oprot.writeFieldBegin("sessionConf", TType.STRUCT, 3330) - self.sessionConf.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.sessionHandle is None: - raise TProtocolException(message="Required field sessionHandle is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, sessionHandle=None, catalogName=None, schemaName=None, tableName=None, tableTypes=None, getDirectResults=None, runAsync=False, operationId=None, sessionConf=None,): + self.sessionHandle = sessionHandle + self.catalogName = catalogName + self.schemaName = schemaName + self.tableName = tableName + self.tableTypes = tableTypes + self.getDirectResults = getDirectResults + self.runAsync = runAsync + self.operationId = operationId + self.sessionConf = sessionConf + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.sessionHandle = TSessionHandle() + self.sessionHandle.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRING: + self.catalogName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.STRING: + self.schemaName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 4: + if ftype == TType.STRING: + self.tableName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 5: + if ftype == TType.LIST: + self.tableTypes = [] + (_etype279, _size276) = iprot.readListBegin() + for _i280 in range(_size276): + _elem281 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.tableTypes.append(_elem281) + iprot.readListEnd() + else: + iprot.skip(ftype) + elif fid == 1281: + if ftype == TType.STRUCT: + self.getDirectResults = TSparkGetDirectResults() + self.getDirectResults.read(iprot) + else: + iprot.skip(ftype) + elif fid == 1282: + if ftype == TType.BOOL: + self.runAsync = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 3329: + if ftype == TType.STRUCT: + self.operationId = THandleIdentifier() + self.operationId.read(iprot) + else: + iprot.skip(ftype) + elif fid == 3330: + if ftype == TType.STRUCT: + self.sessionConf = TDBSqlSessionConf() + self.sessionConf.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TGetTablesReq') + if self.sessionHandle is not None: + oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 1) + self.sessionHandle.write(oprot) + oprot.writeFieldEnd() + if self.catalogName is not None: + oprot.writeFieldBegin('catalogName', TType.STRING, 2) + oprot.writeString(self.catalogName.encode('utf-8') if sys.version_info[0] == 2 else self.catalogName) + oprot.writeFieldEnd() + if self.schemaName is not None: + oprot.writeFieldBegin('schemaName', TType.STRING, 3) + oprot.writeString(self.schemaName.encode('utf-8') if sys.version_info[0] == 2 else self.schemaName) + oprot.writeFieldEnd() + if self.tableName is not None: + oprot.writeFieldBegin('tableName', TType.STRING, 4) + oprot.writeString(self.tableName.encode('utf-8') if sys.version_info[0] == 2 else self.tableName) + oprot.writeFieldEnd() + if self.tableTypes is not None: + oprot.writeFieldBegin('tableTypes', TType.LIST, 5) + oprot.writeListBegin(TType.STRING, len(self.tableTypes)) + for iter282 in self.tableTypes: + oprot.writeString(iter282.encode('utf-8') if sys.version_info[0] == 2 else iter282) + oprot.writeListEnd() + oprot.writeFieldEnd() + if self.getDirectResults is not None: + oprot.writeFieldBegin('getDirectResults', TType.STRUCT, 1281) + self.getDirectResults.write(oprot) + oprot.writeFieldEnd() + if self.runAsync is not None: + oprot.writeFieldBegin('runAsync', TType.BOOL, 1282) + oprot.writeBool(self.runAsync) + oprot.writeFieldEnd() + if self.operationId is not None: + oprot.writeFieldBegin('operationId', TType.STRUCT, 3329) + self.operationId.write(oprot) + oprot.writeFieldEnd() + if self.sessionConf is not None: + oprot.writeFieldBegin('sessionConf', TType.STRUCT, 3330) + self.sessionConf.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.sessionHandle is None: + raise TProtocolException(message='Required field sessionHandle is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TGetTablesResp(object): - """ + """ Attributes: - status - operationHandle @@ -8679,92 +7484,83 @@ class TGetTablesResp(object): """ - def __init__( - self, - status=None, - operationHandle=None, - directResults=None, - ): - self.status = status - self.operationHandle = operationHandle - self.directResults = directResults - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.status = TStatus() - self.status.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRUCT: - self.operationHandle = TOperationHandle() - self.operationHandle.read(iprot) - else: - iprot.skip(ftype) - elif fid == 1281: - if ftype == TType.STRUCT: - self.directResults = TSparkDirectResults() - self.directResults.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TGetTablesResp") - if self.status is not None: - oprot.writeFieldBegin("status", TType.STRUCT, 1) - self.status.write(oprot) - oprot.writeFieldEnd() - if self.operationHandle is not None: - oprot.writeFieldBegin("operationHandle", TType.STRUCT, 2) - self.operationHandle.write(oprot) - oprot.writeFieldEnd() - if self.directResults is not None: - oprot.writeFieldBegin("directResults", TType.STRUCT, 1281) - self.directResults.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.status is None: - raise TProtocolException(message="Required field status is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, status=None, operationHandle=None, directResults=None,): + self.status = status + self.operationHandle = operationHandle + self.directResults = directResults + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.status = TStatus() + self.status.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRUCT: + self.operationHandle = TOperationHandle() + self.operationHandle.read(iprot) + else: + iprot.skip(ftype) + elif fid == 1281: + if ftype == TType.STRUCT: + self.directResults = TSparkDirectResults() + self.directResults.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TGetTablesResp') + if self.status is not None: + oprot.writeFieldBegin('status', TType.STRUCT, 1) + self.status.write(oprot) + oprot.writeFieldEnd() + if self.operationHandle is not None: + oprot.writeFieldBegin('operationHandle', TType.STRUCT, 2) + self.operationHandle.write(oprot) + oprot.writeFieldEnd() + if self.directResults is not None: + oprot.writeFieldBegin('directResults', TType.STRUCT, 1281) + self.directResults.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.status is None: + raise TProtocolException(message='Required field status is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TGetTableTypesReq(object): - """ + """ Attributes: - sessionHandle - getDirectResults @@ -8774,115 +7570,104 @@ class TGetTableTypesReq(object): """ - def __init__( - self, - sessionHandle=None, - getDirectResults=None, - runAsync=False, - operationId=None, - sessionConf=None, - ): - self.sessionHandle = sessionHandle - self.getDirectResults = getDirectResults - self.runAsync = runAsync - self.operationId = operationId - self.sessionConf = sessionConf - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.sessionHandle = TSessionHandle() - self.sessionHandle.read(iprot) - else: - iprot.skip(ftype) - elif fid == 1281: - if ftype == TType.STRUCT: - self.getDirectResults = TSparkGetDirectResults() - self.getDirectResults.read(iprot) - else: - iprot.skip(ftype) - elif fid == 1282: - if ftype == TType.BOOL: - self.runAsync = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 3329: - if ftype == TType.STRUCT: - self.operationId = THandleIdentifier() - self.operationId.read(iprot) - else: - iprot.skip(ftype) - elif fid == 3330: - if ftype == TType.STRUCT: - self.sessionConf = TDBSqlSessionConf() - self.sessionConf.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TGetTableTypesReq") - if self.sessionHandle is not None: - oprot.writeFieldBegin("sessionHandle", TType.STRUCT, 1) - self.sessionHandle.write(oprot) - oprot.writeFieldEnd() - if self.getDirectResults is not None: - oprot.writeFieldBegin("getDirectResults", TType.STRUCT, 1281) - self.getDirectResults.write(oprot) - oprot.writeFieldEnd() - if self.runAsync is not None: - oprot.writeFieldBegin("runAsync", TType.BOOL, 1282) - oprot.writeBool(self.runAsync) - oprot.writeFieldEnd() - if self.operationId is not None: - oprot.writeFieldBegin("operationId", TType.STRUCT, 3329) - self.operationId.write(oprot) - oprot.writeFieldEnd() - if self.sessionConf is not None: - oprot.writeFieldBegin("sessionConf", TType.STRUCT, 3330) - self.sessionConf.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.sessionHandle is None: - raise TProtocolException(message="Required field sessionHandle is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, sessionHandle=None, getDirectResults=None, runAsync=False, operationId=None, sessionConf=None,): + self.sessionHandle = sessionHandle + self.getDirectResults = getDirectResults + self.runAsync = runAsync + self.operationId = operationId + self.sessionConf = sessionConf + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.sessionHandle = TSessionHandle() + self.sessionHandle.read(iprot) + else: + iprot.skip(ftype) + elif fid == 1281: + if ftype == TType.STRUCT: + self.getDirectResults = TSparkGetDirectResults() + self.getDirectResults.read(iprot) + else: + iprot.skip(ftype) + elif fid == 1282: + if ftype == TType.BOOL: + self.runAsync = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 3329: + if ftype == TType.STRUCT: + self.operationId = THandleIdentifier() + self.operationId.read(iprot) + else: + iprot.skip(ftype) + elif fid == 3330: + if ftype == TType.STRUCT: + self.sessionConf = TDBSqlSessionConf() + self.sessionConf.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TGetTableTypesReq') + if self.sessionHandle is not None: + oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 1) + self.sessionHandle.write(oprot) + oprot.writeFieldEnd() + if self.getDirectResults is not None: + oprot.writeFieldBegin('getDirectResults', TType.STRUCT, 1281) + self.getDirectResults.write(oprot) + oprot.writeFieldEnd() + if self.runAsync is not None: + oprot.writeFieldBegin('runAsync', TType.BOOL, 1282) + oprot.writeBool(self.runAsync) + oprot.writeFieldEnd() + if self.operationId is not None: + oprot.writeFieldBegin('operationId', TType.STRUCT, 3329) + self.operationId.write(oprot) + oprot.writeFieldEnd() + if self.sessionConf is not None: + oprot.writeFieldBegin('sessionConf', TType.STRUCT, 3330) + self.sessionConf.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.sessionHandle is None: + raise TProtocolException(message='Required field sessionHandle is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TGetTableTypesResp(object): - """ + """ Attributes: - status - operationHandle @@ -8890,92 +7675,83 @@ class TGetTableTypesResp(object): """ - def __init__( - self, - status=None, - operationHandle=None, - directResults=None, - ): - self.status = status - self.operationHandle = operationHandle - self.directResults = directResults - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.status = TStatus() - self.status.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRUCT: - self.operationHandle = TOperationHandle() - self.operationHandle.read(iprot) - else: - iprot.skip(ftype) - elif fid == 1281: - if ftype == TType.STRUCT: - self.directResults = TSparkDirectResults() - self.directResults.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TGetTableTypesResp") - if self.status is not None: - oprot.writeFieldBegin("status", TType.STRUCT, 1) - self.status.write(oprot) - oprot.writeFieldEnd() - if self.operationHandle is not None: - oprot.writeFieldBegin("operationHandle", TType.STRUCT, 2) - self.operationHandle.write(oprot) - oprot.writeFieldEnd() - if self.directResults is not None: - oprot.writeFieldBegin("directResults", TType.STRUCT, 1281) - self.directResults.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.status is None: - raise TProtocolException(message="Required field status is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, status=None, operationHandle=None, directResults=None,): + self.status = status + self.operationHandle = operationHandle + self.directResults = directResults + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.status = TStatus() + self.status.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRUCT: + self.operationHandle = TOperationHandle() + self.operationHandle.read(iprot) + else: + iprot.skip(ftype) + elif fid == 1281: + if ftype == TType.STRUCT: + self.directResults = TSparkDirectResults() + self.directResults.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TGetTableTypesResp') + if self.status is not None: + oprot.writeFieldBegin('status', TType.STRUCT, 1) + self.status.write(oprot) + oprot.writeFieldEnd() + if self.operationHandle is not None: + oprot.writeFieldBegin('operationHandle', TType.STRUCT, 2) + self.operationHandle.write(oprot) + oprot.writeFieldEnd() + if self.directResults is not None: + oprot.writeFieldBegin('directResults', TType.STRUCT, 1281) + self.directResults.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.status is None: + raise TProtocolException(message='Required field status is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TGetColumnsReq(object): - """ + """ Attributes: - sessionHandle - catalogName @@ -8989,191 +7765,144 @@ class TGetColumnsReq(object): """ - def __init__( - self, - sessionHandle=None, - catalogName=None, - schemaName=None, - tableName=None, - columnName=None, - getDirectResults=None, - runAsync=False, - operationId=None, - sessionConf=None, - ): - self.sessionHandle = sessionHandle - self.catalogName = catalogName - self.schemaName = schemaName - self.tableName = tableName - self.columnName = columnName - self.getDirectResults = getDirectResults - self.runAsync = runAsync - self.operationId = operationId - self.sessionConf = sessionConf - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.sessionHandle = TSessionHandle() - self.sessionHandle.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRING: - self.catalogName = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.STRING: - self.schemaName = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 4: - if ftype == TType.STRING: - self.tableName = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 5: - if ftype == TType.STRING: - self.columnName = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 1281: - if ftype == TType.STRUCT: - self.getDirectResults = TSparkGetDirectResults() - self.getDirectResults.read(iprot) - else: - iprot.skip(ftype) - elif fid == 1282: - if ftype == TType.BOOL: - self.runAsync = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 3329: - if ftype == TType.STRUCT: - self.operationId = THandleIdentifier() - self.operationId.read(iprot) - else: - iprot.skip(ftype) - elif fid == 3330: - if ftype == TType.STRUCT: - self.sessionConf = TDBSqlSessionConf() - self.sessionConf.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TGetColumnsReq") - if self.sessionHandle is not None: - oprot.writeFieldBegin("sessionHandle", TType.STRUCT, 1) - self.sessionHandle.write(oprot) - oprot.writeFieldEnd() - if self.catalogName is not None: - oprot.writeFieldBegin("catalogName", TType.STRING, 2) - oprot.writeString( - self.catalogName.encode("utf-8") - if sys.version_info[0] == 2 - else self.catalogName - ) - oprot.writeFieldEnd() - if self.schemaName is not None: - oprot.writeFieldBegin("schemaName", TType.STRING, 3) - oprot.writeString( - self.schemaName.encode("utf-8") - if sys.version_info[0] == 2 - else self.schemaName - ) - oprot.writeFieldEnd() - if self.tableName is not None: - oprot.writeFieldBegin("tableName", TType.STRING, 4) - oprot.writeString( - self.tableName.encode("utf-8") - if sys.version_info[0] == 2 - else self.tableName - ) - oprot.writeFieldEnd() - if self.columnName is not None: - oprot.writeFieldBegin("columnName", TType.STRING, 5) - oprot.writeString( - self.columnName.encode("utf-8") - if sys.version_info[0] == 2 - else self.columnName - ) - oprot.writeFieldEnd() - if self.getDirectResults is not None: - oprot.writeFieldBegin("getDirectResults", TType.STRUCT, 1281) - self.getDirectResults.write(oprot) - oprot.writeFieldEnd() - if self.runAsync is not None: - oprot.writeFieldBegin("runAsync", TType.BOOL, 1282) - oprot.writeBool(self.runAsync) - oprot.writeFieldEnd() - if self.operationId is not None: - oprot.writeFieldBegin("operationId", TType.STRUCT, 3329) - self.operationId.write(oprot) - oprot.writeFieldEnd() - if self.sessionConf is not None: - oprot.writeFieldBegin("sessionConf", TType.STRUCT, 3330) - self.sessionConf.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.sessionHandle is None: - raise TProtocolException(message="Required field sessionHandle is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, sessionHandle=None, catalogName=None, schemaName=None, tableName=None, columnName=None, getDirectResults=None, runAsync=False, operationId=None, sessionConf=None,): + self.sessionHandle = sessionHandle + self.catalogName = catalogName + self.schemaName = schemaName + self.tableName = tableName + self.columnName = columnName + self.getDirectResults = getDirectResults + self.runAsync = runAsync + self.operationId = operationId + self.sessionConf = sessionConf + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.sessionHandle = TSessionHandle() + self.sessionHandle.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRING: + self.catalogName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.STRING: + self.schemaName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 4: + if ftype == TType.STRING: + self.tableName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 5: + if ftype == TType.STRING: + self.columnName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 1281: + if ftype == TType.STRUCT: + self.getDirectResults = TSparkGetDirectResults() + self.getDirectResults.read(iprot) + else: + iprot.skip(ftype) + elif fid == 1282: + if ftype == TType.BOOL: + self.runAsync = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 3329: + if ftype == TType.STRUCT: + self.operationId = THandleIdentifier() + self.operationId.read(iprot) + else: + iprot.skip(ftype) + elif fid == 3330: + if ftype == TType.STRUCT: + self.sessionConf = TDBSqlSessionConf() + self.sessionConf.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TGetColumnsReq') + if self.sessionHandle is not None: + oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 1) + self.sessionHandle.write(oprot) + oprot.writeFieldEnd() + if self.catalogName is not None: + oprot.writeFieldBegin('catalogName', TType.STRING, 2) + oprot.writeString(self.catalogName.encode('utf-8') if sys.version_info[0] == 2 else self.catalogName) + oprot.writeFieldEnd() + if self.schemaName is not None: + oprot.writeFieldBegin('schemaName', TType.STRING, 3) + oprot.writeString(self.schemaName.encode('utf-8') if sys.version_info[0] == 2 else self.schemaName) + oprot.writeFieldEnd() + if self.tableName is not None: + oprot.writeFieldBegin('tableName', TType.STRING, 4) + oprot.writeString(self.tableName.encode('utf-8') if sys.version_info[0] == 2 else self.tableName) + oprot.writeFieldEnd() + if self.columnName is not None: + oprot.writeFieldBegin('columnName', TType.STRING, 5) + oprot.writeString(self.columnName.encode('utf-8') if sys.version_info[0] == 2 else self.columnName) + oprot.writeFieldEnd() + if self.getDirectResults is not None: + oprot.writeFieldBegin('getDirectResults', TType.STRUCT, 1281) + self.getDirectResults.write(oprot) + oprot.writeFieldEnd() + if self.runAsync is not None: + oprot.writeFieldBegin('runAsync', TType.BOOL, 1282) + oprot.writeBool(self.runAsync) + oprot.writeFieldEnd() + if self.operationId is not None: + oprot.writeFieldBegin('operationId', TType.STRUCT, 3329) + self.operationId.write(oprot) + oprot.writeFieldEnd() + if self.sessionConf is not None: + oprot.writeFieldBegin('sessionConf', TType.STRUCT, 3330) + self.sessionConf.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.sessionHandle is None: + raise TProtocolException(message='Required field sessionHandle is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TGetColumnsResp(object): - """ + """ Attributes: - status - operationHandle @@ -9181,92 +7910,83 @@ class TGetColumnsResp(object): """ - def __init__( - self, - status=None, - operationHandle=None, - directResults=None, - ): - self.status = status - self.operationHandle = operationHandle - self.directResults = directResults - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.status = TStatus() - self.status.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRUCT: - self.operationHandle = TOperationHandle() - self.operationHandle.read(iprot) - else: - iprot.skip(ftype) - elif fid == 1281: - if ftype == TType.STRUCT: - self.directResults = TSparkDirectResults() - self.directResults.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TGetColumnsResp") - if self.status is not None: - oprot.writeFieldBegin("status", TType.STRUCT, 1) - self.status.write(oprot) - oprot.writeFieldEnd() - if self.operationHandle is not None: - oprot.writeFieldBegin("operationHandle", TType.STRUCT, 2) - self.operationHandle.write(oprot) - oprot.writeFieldEnd() - if self.directResults is not None: - oprot.writeFieldBegin("directResults", TType.STRUCT, 1281) - self.directResults.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.status is None: - raise TProtocolException(message="Required field status is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, status=None, operationHandle=None, directResults=None,): + self.status = status + self.operationHandle = operationHandle + self.directResults = directResults + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.status = TStatus() + self.status.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRUCT: + self.operationHandle = TOperationHandle() + self.operationHandle.read(iprot) + else: + iprot.skip(ftype) + elif fid == 1281: + if ftype == TType.STRUCT: + self.directResults = TSparkDirectResults() + self.directResults.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TGetColumnsResp') + if self.status is not None: + oprot.writeFieldBegin('status', TType.STRUCT, 1) + self.status.write(oprot) + oprot.writeFieldEnd() + if self.operationHandle is not None: + oprot.writeFieldBegin('operationHandle', TType.STRUCT, 2) + self.operationHandle.write(oprot) + oprot.writeFieldEnd() + if self.directResults is not None: + oprot.writeFieldBegin('directResults', TType.STRUCT, 1281) + self.directResults.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.status is None: + raise TProtocolException(message='Required field status is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TGetFunctionsReq(object): - """ + """ Attributes: - sessionHandle - catalogName @@ -9279,174 +7999,136 @@ class TGetFunctionsReq(object): """ - def __init__( - self, - sessionHandle=None, - catalogName=None, - schemaName=None, - functionName=None, - getDirectResults=None, - runAsync=False, - operationId=None, - sessionConf=None, - ): - self.sessionHandle = sessionHandle - self.catalogName = catalogName - self.schemaName = schemaName - self.functionName = functionName - self.getDirectResults = getDirectResults - self.runAsync = runAsync - self.operationId = operationId - self.sessionConf = sessionConf - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.sessionHandle = TSessionHandle() - self.sessionHandle.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRING: - self.catalogName = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.STRING: - self.schemaName = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 4: - if ftype == TType.STRING: - self.functionName = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 1281: - if ftype == TType.STRUCT: - self.getDirectResults = TSparkGetDirectResults() - self.getDirectResults.read(iprot) - else: - iprot.skip(ftype) - elif fid == 1282: - if ftype == TType.BOOL: - self.runAsync = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 3329: - if ftype == TType.STRUCT: - self.operationId = THandleIdentifier() - self.operationId.read(iprot) - else: - iprot.skip(ftype) - elif fid == 3330: - if ftype == TType.STRUCT: - self.sessionConf = TDBSqlSessionConf() - self.sessionConf.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TGetFunctionsReq") - if self.sessionHandle is not None: - oprot.writeFieldBegin("sessionHandle", TType.STRUCT, 1) - self.sessionHandle.write(oprot) - oprot.writeFieldEnd() - if self.catalogName is not None: - oprot.writeFieldBegin("catalogName", TType.STRING, 2) - oprot.writeString( - self.catalogName.encode("utf-8") - if sys.version_info[0] == 2 - else self.catalogName - ) - oprot.writeFieldEnd() - if self.schemaName is not None: - oprot.writeFieldBegin("schemaName", TType.STRING, 3) - oprot.writeString( - self.schemaName.encode("utf-8") - if sys.version_info[0] == 2 - else self.schemaName - ) - oprot.writeFieldEnd() - if self.functionName is not None: - oprot.writeFieldBegin("functionName", TType.STRING, 4) - oprot.writeString( - self.functionName.encode("utf-8") - if sys.version_info[0] == 2 - else self.functionName - ) - oprot.writeFieldEnd() - if self.getDirectResults is not None: - oprot.writeFieldBegin("getDirectResults", TType.STRUCT, 1281) - self.getDirectResults.write(oprot) - oprot.writeFieldEnd() - if self.runAsync is not None: - oprot.writeFieldBegin("runAsync", TType.BOOL, 1282) - oprot.writeBool(self.runAsync) - oprot.writeFieldEnd() - if self.operationId is not None: - oprot.writeFieldBegin("operationId", TType.STRUCT, 3329) - self.operationId.write(oprot) - oprot.writeFieldEnd() - if self.sessionConf is not None: - oprot.writeFieldBegin("sessionConf", TType.STRUCT, 3330) - self.sessionConf.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.sessionHandle is None: - raise TProtocolException(message="Required field sessionHandle is unset!") - if self.functionName is None: - raise TProtocolException(message="Required field functionName is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, sessionHandle=None, catalogName=None, schemaName=None, functionName=None, getDirectResults=None, runAsync=False, operationId=None, sessionConf=None,): + self.sessionHandle = sessionHandle + self.catalogName = catalogName + self.schemaName = schemaName + self.functionName = functionName + self.getDirectResults = getDirectResults + self.runAsync = runAsync + self.operationId = operationId + self.sessionConf = sessionConf + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.sessionHandle = TSessionHandle() + self.sessionHandle.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRING: + self.catalogName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.STRING: + self.schemaName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 4: + if ftype == TType.STRING: + self.functionName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 1281: + if ftype == TType.STRUCT: + self.getDirectResults = TSparkGetDirectResults() + self.getDirectResults.read(iprot) + else: + iprot.skip(ftype) + elif fid == 1282: + if ftype == TType.BOOL: + self.runAsync = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 3329: + if ftype == TType.STRUCT: + self.operationId = THandleIdentifier() + self.operationId.read(iprot) + else: + iprot.skip(ftype) + elif fid == 3330: + if ftype == TType.STRUCT: + self.sessionConf = TDBSqlSessionConf() + self.sessionConf.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TGetFunctionsReq') + if self.sessionHandle is not None: + oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 1) + self.sessionHandle.write(oprot) + oprot.writeFieldEnd() + if self.catalogName is not None: + oprot.writeFieldBegin('catalogName', TType.STRING, 2) + oprot.writeString(self.catalogName.encode('utf-8') if sys.version_info[0] == 2 else self.catalogName) + oprot.writeFieldEnd() + if self.schemaName is not None: + oprot.writeFieldBegin('schemaName', TType.STRING, 3) + oprot.writeString(self.schemaName.encode('utf-8') if sys.version_info[0] == 2 else self.schemaName) + oprot.writeFieldEnd() + if self.functionName is not None: + oprot.writeFieldBegin('functionName', TType.STRING, 4) + oprot.writeString(self.functionName.encode('utf-8') if sys.version_info[0] == 2 else self.functionName) + oprot.writeFieldEnd() + if self.getDirectResults is not None: + oprot.writeFieldBegin('getDirectResults', TType.STRUCT, 1281) + self.getDirectResults.write(oprot) + oprot.writeFieldEnd() + if self.runAsync is not None: + oprot.writeFieldBegin('runAsync', TType.BOOL, 1282) + oprot.writeBool(self.runAsync) + oprot.writeFieldEnd() + if self.operationId is not None: + oprot.writeFieldBegin('operationId', TType.STRUCT, 3329) + self.operationId.write(oprot) + oprot.writeFieldEnd() + if self.sessionConf is not None: + oprot.writeFieldBegin('sessionConf', TType.STRUCT, 3330) + self.sessionConf.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.sessionHandle is None: + raise TProtocolException(message='Required field sessionHandle is unset!') + if self.functionName is None: + raise TProtocolException(message='Required field functionName is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TGetFunctionsResp(object): - """ + """ Attributes: - status - operationHandle @@ -9454,92 +8136,83 @@ class TGetFunctionsResp(object): """ - def __init__( - self, - status=None, - operationHandle=None, - directResults=None, - ): - self.status = status - self.operationHandle = operationHandle - self.directResults = directResults - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.status = TStatus() - self.status.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRUCT: - self.operationHandle = TOperationHandle() - self.operationHandle.read(iprot) - else: - iprot.skip(ftype) - elif fid == 1281: - if ftype == TType.STRUCT: - self.directResults = TSparkDirectResults() - self.directResults.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TGetFunctionsResp") - if self.status is not None: - oprot.writeFieldBegin("status", TType.STRUCT, 1) - self.status.write(oprot) - oprot.writeFieldEnd() - if self.operationHandle is not None: - oprot.writeFieldBegin("operationHandle", TType.STRUCT, 2) - self.operationHandle.write(oprot) - oprot.writeFieldEnd() - if self.directResults is not None: - oprot.writeFieldBegin("directResults", TType.STRUCT, 1281) - self.directResults.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.status is None: - raise TProtocolException(message="Required field status is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, status=None, operationHandle=None, directResults=None,): + self.status = status + self.operationHandle = operationHandle + self.directResults = directResults + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.status = TStatus() + self.status.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRUCT: + self.operationHandle = TOperationHandle() + self.operationHandle.read(iprot) + else: + iprot.skip(ftype) + elif fid == 1281: + if ftype == TType.STRUCT: + self.directResults = TSparkDirectResults() + self.directResults.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TGetFunctionsResp') + if self.status is not None: + oprot.writeFieldBegin('status', TType.STRUCT, 1) + self.status.write(oprot) + oprot.writeFieldEnd() + if self.operationHandle is not None: + oprot.writeFieldBegin('operationHandle', TType.STRUCT, 2) + self.operationHandle.write(oprot) + oprot.writeFieldEnd() + if self.directResults is not None: + oprot.writeFieldBegin('directResults', TType.STRUCT, 1281) + self.directResults.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.status is None: + raise TProtocolException(message='Required field status is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TGetPrimaryKeysReq(object): - """ + """ Attributes: - sessionHandle - catalogName @@ -9552,172 +8225,134 @@ class TGetPrimaryKeysReq(object): """ - def __init__( - self, - sessionHandle=None, - catalogName=None, - schemaName=None, - tableName=None, - getDirectResults=None, - runAsync=False, - operationId=None, - sessionConf=None, - ): - self.sessionHandle = sessionHandle - self.catalogName = catalogName - self.schemaName = schemaName - self.tableName = tableName - self.getDirectResults = getDirectResults - self.runAsync = runAsync - self.operationId = operationId - self.sessionConf = sessionConf - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.sessionHandle = TSessionHandle() - self.sessionHandle.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRING: - self.catalogName = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.STRING: - self.schemaName = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 4: - if ftype == TType.STRING: - self.tableName = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 1281: - if ftype == TType.STRUCT: - self.getDirectResults = TSparkGetDirectResults() - self.getDirectResults.read(iprot) - else: - iprot.skip(ftype) - elif fid == 1282: - if ftype == TType.BOOL: - self.runAsync = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 3329: - if ftype == TType.STRUCT: - self.operationId = THandleIdentifier() - self.operationId.read(iprot) - else: - iprot.skip(ftype) - elif fid == 3330: - if ftype == TType.STRUCT: - self.sessionConf = TDBSqlSessionConf() - self.sessionConf.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TGetPrimaryKeysReq") - if self.sessionHandle is not None: - oprot.writeFieldBegin("sessionHandle", TType.STRUCT, 1) - self.sessionHandle.write(oprot) - oprot.writeFieldEnd() - if self.catalogName is not None: - oprot.writeFieldBegin("catalogName", TType.STRING, 2) - oprot.writeString( - self.catalogName.encode("utf-8") - if sys.version_info[0] == 2 - else self.catalogName - ) - oprot.writeFieldEnd() - if self.schemaName is not None: - oprot.writeFieldBegin("schemaName", TType.STRING, 3) - oprot.writeString( - self.schemaName.encode("utf-8") - if sys.version_info[0] == 2 - else self.schemaName - ) - oprot.writeFieldEnd() - if self.tableName is not None: - oprot.writeFieldBegin("tableName", TType.STRING, 4) - oprot.writeString( - self.tableName.encode("utf-8") - if sys.version_info[0] == 2 - else self.tableName - ) - oprot.writeFieldEnd() - if self.getDirectResults is not None: - oprot.writeFieldBegin("getDirectResults", TType.STRUCT, 1281) - self.getDirectResults.write(oprot) - oprot.writeFieldEnd() - if self.runAsync is not None: - oprot.writeFieldBegin("runAsync", TType.BOOL, 1282) - oprot.writeBool(self.runAsync) - oprot.writeFieldEnd() - if self.operationId is not None: - oprot.writeFieldBegin("operationId", TType.STRUCT, 3329) - self.operationId.write(oprot) - oprot.writeFieldEnd() - if self.sessionConf is not None: - oprot.writeFieldBegin("sessionConf", TType.STRUCT, 3330) - self.sessionConf.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.sessionHandle is None: - raise TProtocolException(message="Required field sessionHandle is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, sessionHandle=None, catalogName=None, schemaName=None, tableName=None, getDirectResults=None, runAsync=False, operationId=None, sessionConf=None,): + self.sessionHandle = sessionHandle + self.catalogName = catalogName + self.schemaName = schemaName + self.tableName = tableName + self.getDirectResults = getDirectResults + self.runAsync = runAsync + self.operationId = operationId + self.sessionConf = sessionConf + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.sessionHandle = TSessionHandle() + self.sessionHandle.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRING: + self.catalogName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.STRING: + self.schemaName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 4: + if ftype == TType.STRING: + self.tableName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 1281: + if ftype == TType.STRUCT: + self.getDirectResults = TSparkGetDirectResults() + self.getDirectResults.read(iprot) + else: + iprot.skip(ftype) + elif fid == 1282: + if ftype == TType.BOOL: + self.runAsync = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 3329: + if ftype == TType.STRUCT: + self.operationId = THandleIdentifier() + self.operationId.read(iprot) + else: + iprot.skip(ftype) + elif fid == 3330: + if ftype == TType.STRUCT: + self.sessionConf = TDBSqlSessionConf() + self.sessionConf.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TGetPrimaryKeysReq') + if self.sessionHandle is not None: + oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 1) + self.sessionHandle.write(oprot) + oprot.writeFieldEnd() + if self.catalogName is not None: + oprot.writeFieldBegin('catalogName', TType.STRING, 2) + oprot.writeString(self.catalogName.encode('utf-8') if sys.version_info[0] == 2 else self.catalogName) + oprot.writeFieldEnd() + if self.schemaName is not None: + oprot.writeFieldBegin('schemaName', TType.STRING, 3) + oprot.writeString(self.schemaName.encode('utf-8') if sys.version_info[0] == 2 else self.schemaName) + oprot.writeFieldEnd() + if self.tableName is not None: + oprot.writeFieldBegin('tableName', TType.STRING, 4) + oprot.writeString(self.tableName.encode('utf-8') if sys.version_info[0] == 2 else self.tableName) + oprot.writeFieldEnd() + if self.getDirectResults is not None: + oprot.writeFieldBegin('getDirectResults', TType.STRUCT, 1281) + self.getDirectResults.write(oprot) + oprot.writeFieldEnd() + if self.runAsync is not None: + oprot.writeFieldBegin('runAsync', TType.BOOL, 1282) + oprot.writeBool(self.runAsync) + oprot.writeFieldEnd() + if self.operationId is not None: + oprot.writeFieldBegin('operationId', TType.STRUCT, 3329) + self.operationId.write(oprot) + oprot.writeFieldEnd() + if self.sessionConf is not None: + oprot.writeFieldBegin('sessionConf', TType.STRUCT, 3330) + self.sessionConf.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.sessionHandle is None: + raise TProtocolException(message='Required field sessionHandle is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TGetPrimaryKeysResp(object): - """ + """ Attributes: - status - operationHandle @@ -9725,92 +8360,83 @@ class TGetPrimaryKeysResp(object): """ - def __init__( - self, - status=None, - operationHandle=None, - directResults=None, - ): - self.status = status - self.operationHandle = operationHandle - self.directResults = directResults - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.status = TStatus() - self.status.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRUCT: - self.operationHandle = TOperationHandle() - self.operationHandle.read(iprot) - else: - iprot.skip(ftype) - elif fid == 1281: - if ftype == TType.STRUCT: - self.directResults = TSparkDirectResults() - self.directResults.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TGetPrimaryKeysResp") - if self.status is not None: - oprot.writeFieldBegin("status", TType.STRUCT, 1) - self.status.write(oprot) - oprot.writeFieldEnd() - if self.operationHandle is not None: - oprot.writeFieldBegin("operationHandle", TType.STRUCT, 2) - self.operationHandle.write(oprot) - oprot.writeFieldEnd() - if self.directResults is not None: - oprot.writeFieldBegin("directResults", TType.STRUCT, 1281) - self.directResults.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.status is None: - raise TProtocolException(message="Required field status is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, status=None, operationHandle=None, directResults=None,): + self.status = status + self.operationHandle = operationHandle + self.directResults = directResults + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.status = TStatus() + self.status.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRUCT: + self.operationHandle = TOperationHandle() + self.operationHandle.read(iprot) + else: + iprot.skip(ftype) + elif fid == 1281: + if ftype == TType.STRUCT: + self.directResults = TSparkDirectResults() + self.directResults.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TGetPrimaryKeysResp') + if self.status is not None: + oprot.writeFieldBegin('status', TType.STRUCT, 1) + self.status.write(oprot) + oprot.writeFieldEnd() + if self.operationHandle is not None: + oprot.writeFieldBegin('operationHandle', TType.STRUCT, 2) + self.operationHandle.write(oprot) + oprot.writeFieldEnd() + if self.directResults is not None: + oprot.writeFieldBegin('directResults', TType.STRUCT, 1281) + self.directResults.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.status is None: + raise TProtocolException(message='Required field status is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TGetCrossReferenceReq(object): - """ + """ Attributes: - sessionHandle - parentCatalogName @@ -9826,229 +8452,164 @@ class TGetCrossReferenceReq(object): """ - def __init__( - self, - sessionHandle=None, - parentCatalogName=None, - parentSchemaName=None, - parentTableName=None, - foreignCatalogName=None, - foreignSchemaName=None, - foreignTableName=None, - getDirectResults=None, - runAsync=False, - operationId=None, - sessionConf=None, - ): - self.sessionHandle = sessionHandle - self.parentCatalogName = parentCatalogName - self.parentSchemaName = parentSchemaName - self.parentTableName = parentTableName - self.foreignCatalogName = foreignCatalogName - self.foreignSchemaName = foreignSchemaName - self.foreignTableName = foreignTableName - self.getDirectResults = getDirectResults - self.runAsync = runAsync - self.operationId = operationId - self.sessionConf = sessionConf - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.sessionHandle = TSessionHandle() - self.sessionHandle.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRING: - self.parentCatalogName = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.STRING: - self.parentSchemaName = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 4: - if ftype == TType.STRING: - self.parentTableName = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 5: - if ftype == TType.STRING: - self.foreignCatalogName = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 6: - if ftype == TType.STRING: - self.foreignSchemaName = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 7: - if ftype == TType.STRING: - self.foreignTableName = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 1281: - if ftype == TType.STRUCT: - self.getDirectResults = TSparkGetDirectResults() - self.getDirectResults.read(iprot) - else: - iprot.skip(ftype) - elif fid == 1282: - if ftype == TType.BOOL: - self.runAsync = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 3329: - if ftype == TType.STRUCT: - self.operationId = THandleIdentifier() - self.operationId.read(iprot) - else: - iprot.skip(ftype) - elif fid == 3330: - if ftype == TType.STRUCT: - self.sessionConf = TDBSqlSessionConf() - self.sessionConf.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TGetCrossReferenceReq") - if self.sessionHandle is not None: - oprot.writeFieldBegin("sessionHandle", TType.STRUCT, 1) - self.sessionHandle.write(oprot) - oprot.writeFieldEnd() - if self.parentCatalogName is not None: - oprot.writeFieldBegin("parentCatalogName", TType.STRING, 2) - oprot.writeString( - self.parentCatalogName.encode("utf-8") - if sys.version_info[0] == 2 - else self.parentCatalogName - ) - oprot.writeFieldEnd() - if self.parentSchemaName is not None: - oprot.writeFieldBegin("parentSchemaName", TType.STRING, 3) - oprot.writeString( - self.parentSchemaName.encode("utf-8") - if sys.version_info[0] == 2 - else self.parentSchemaName - ) - oprot.writeFieldEnd() - if self.parentTableName is not None: - oprot.writeFieldBegin("parentTableName", TType.STRING, 4) - oprot.writeString( - self.parentTableName.encode("utf-8") - if sys.version_info[0] == 2 - else self.parentTableName - ) - oprot.writeFieldEnd() - if self.foreignCatalogName is not None: - oprot.writeFieldBegin("foreignCatalogName", TType.STRING, 5) - oprot.writeString( - self.foreignCatalogName.encode("utf-8") - if sys.version_info[0] == 2 - else self.foreignCatalogName - ) - oprot.writeFieldEnd() - if self.foreignSchemaName is not None: - oprot.writeFieldBegin("foreignSchemaName", TType.STRING, 6) - oprot.writeString( - self.foreignSchemaName.encode("utf-8") - if sys.version_info[0] == 2 - else self.foreignSchemaName - ) - oprot.writeFieldEnd() - if self.foreignTableName is not None: - oprot.writeFieldBegin("foreignTableName", TType.STRING, 7) - oprot.writeString( - self.foreignTableName.encode("utf-8") - if sys.version_info[0] == 2 - else self.foreignTableName - ) - oprot.writeFieldEnd() - if self.getDirectResults is not None: - oprot.writeFieldBegin("getDirectResults", TType.STRUCT, 1281) - self.getDirectResults.write(oprot) - oprot.writeFieldEnd() - if self.runAsync is not None: - oprot.writeFieldBegin("runAsync", TType.BOOL, 1282) - oprot.writeBool(self.runAsync) - oprot.writeFieldEnd() - if self.operationId is not None: - oprot.writeFieldBegin("operationId", TType.STRUCT, 3329) - self.operationId.write(oprot) - oprot.writeFieldEnd() - if self.sessionConf is not None: - oprot.writeFieldBegin("sessionConf", TType.STRUCT, 3330) - self.sessionConf.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.sessionHandle is None: - raise TProtocolException(message="Required field sessionHandle is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, sessionHandle=None, parentCatalogName=None, parentSchemaName=None, parentTableName=None, foreignCatalogName=None, foreignSchemaName=None, foreignTableName=None, getDirectResults=None, runAsync=False, operationId=None, sessionConf=None,): + self.sessionHandle = sessionHandle + self.parentCatalogName = parentCatalogName + self.parentSchemaName = parentSchemaName + self.parentTableName = parentTableName + self.foreignCatalogName = foreignCatalogName + self.foreignSchemaName = foreignSchemaName + self.foreignTableName = foreignTableName + self.getDirectResults = getDirectResults + self.runAsync = runAsync + self.operationId = operationId + self.sessionConf = sessionConf + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.sessionHandle = TSessionHandle() + self.sessionHandle.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRING: + self.parentCatalogName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.STRING: + self.parentSchemaName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 4: + if ftype == TType.STRING: + self.parentTableName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 5: + if ftype == TType.STRING: + self.foreignCatalogName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 6: + if ftype == TType.STRING: + self.foreignSchemaName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 7: + if ftype == TType.STRING: + self.foreignTableName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 1281: + if ftype == TType.STRUCT: + self.getDirectResults = TSparkGetDirectResults() + self.getDirectResults.read(iprot) + else: + iprot.skip(ftype) + elif fid == 1282: + if ftype == TType.BOOL: + self.runAsync = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 3329: + if ftype == TType.STRUCT: + self.operationId = THandleIdentifier() + self.operationId.read(iprot) + else: + iprot.skip(ftype) + elif fid == 3330: + if ftype == TType.STRUCT: + self.sessionConf = TDBSqlSessionConf() + self.sessionConf.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TGetCrossReferenceReq') + if self.sessionHandle is not None: + oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 1) + self.sessionHandle.write(oprot) + oprot.writeFieldEnd() + if self.parentCatalogName is not None: + oprot.writeFieldBegin('parentCatalogName', TType.STRING, 2) + oprot.writeString(self.parentCatalogName.encode('utf-8') if sys.version_info[0] == 2 else self.parentCatalogName) + oprot.writeFieldEnd() + if self.parentSchemaName is not None: + oprot.writeFieldBegin('parentSchemaName', TType.STRING, 3) + oprot.writeString(self.parentSchemaName.encode('utf-8') if sys.version_info[0] == 2 else self.parentSchemaName) + oprot.writeFieldEnd() + if self.parentTableName is not None: + oprot.writeFieldBegin('parentTableName', TType.STRING, 4) + oprot.writeString(self.parentTableName.encode('utf-8') if sys.version_info[0] == 2 else self.parentTableName) + oprot.writeFieldEnd() + if self.foreignCatalogName is not None: + oprot.writeFieldBegin('foreignCatalogName', TType.STRING, 5) + oprot.writeString(self.foreignCatalogName.encode('utf-8') if sys.version_info[0] == 2 else self.foreignCatalogName) + oprot.writeFieldEnd() + if self.foreignSchemaName is not None: + oprot.writeFieldBegin('foreignSchemaName', TType.STRING, 6) + oprot.writeString(self.foreignSchemaName.encode('utf-8') if sys.version_info[0] == 2 else self.foreignSchemaName) + oprot.writeFieldEnd() + if self.foreignTableName is not None: + oprot.writeFieldBegin('foreignTableName', TType.STRING, 7) + oprot.writeString(self.foreignTableName.encode('utf-8') if sys.version_info[0] == 2 else self.foreignTableName) + oprot.writeFieldEnd() + if self.getDirectResults is not None: + oprot.writeFieldBegin('getDirectResults', TType.STRUCT, 1281) + self.getDirectResults.write(oprot) + oprot.writeFieldEnd() + if self.runAsync is not None: + oprot.writeFieldBegin('runAsync', TType.BOOL, 1282) + oprot.writeBool(self.runAsync) + oprot.writeFieldEnd() + if self.operationId is not None: + oprot.writeFieldBegin('operationId', TType.STRUCT, 3329) + self.operationId.write(oprot) + oprot.writeFieldEnd() + if self.sessionConf is not None: + oprot.writeFieldBegin('sessionConf', TType.STRUCT, 3330) + self.sessionConf.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.sessionHandle is None: + raise TProtocolException(message='Required field sessionHandle is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TGetCrossReferenceResp(object): - """ + """ Attributes: - status - operationHandle @@ -10056,171 +8617,154 @@ class TGetCrossReferenceResp(object): """ - def __init__( - self, - status=None, - operationHandle=None, - directResults=None, - ): - self.status = status - self.operationHandle = operationHandle - self.directResults = directResults - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.status = TStatus() - self.status.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRUCT: - self.operationHandle = TOperationHandle() - self.operationHandle.read(iprot) - else: - iprot.skip(ftype) - elif fid == 1281: - if ftype == TType.STRUCT: - self.directResults = TSparkDirectResults() - self.directResults.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TGetCrossReferenceResp") - if self.status is not None: - oprot.writeFieldBegin("status", TType.STRUCT, 1) - self.status.write(oprot) - oprot.writeFieldEnd() - if self.operationHandle is not None: - oprot.writeFieldBegin("operationHandle", TType.STRUCT, 2) - self.operationHandle.write(oprot) - oprot.writeFieldEnd() - if self.directResults is not None: - oprot.writeFieldBegin("directResults", TType.STRUCT, 1281) - self.directResults.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.status is None: - raise TProtocolException(message="Required field status is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, status=None, operationHandle=None, directResults=None,): + self.status = status + self.operationHandle = operationHandle + self.directResults = directResults + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.status = TStatus() + self.status.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRUCT: + self.operationHandle = TOperationHandle() + self.operationHandle.read(iprot) + else: + iprot.skip(ftype) + elif fid == 1281: + if ftype == TType.STRUCT: + self.directResults = TSparkDirectResults() + self.directResults.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TGetCrossReferenceResp') + if self.status is not None: + oprot.writeFieldBegin('status', TType.STRUCT, 1) + self.status.write(oprot) + oprot.writeFieldEnd() + if self.operationHandle is not None: + oprot.writeFieldBegin('operationHandle', TType.STRUCT, 2) + self.operationHandle.write(oprot) + oprot.writeFieldEnd() + if self.directResults is not None: + oprot.writeFieldBegin('directResults', TType.STRUCT, 1281) + self.directResults.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.status is None: + raise TProtocolException(message='Required field status is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TGetOperationStatusReq(object): - """ + """ Attributes: - operationHandle - getProgressUpdate """ - def __init__( - self, - operationHandle=None, - getProgressUpdate=None, - ): - self.operationHandle = operationHandle - self.getProgressUpdate = getProgressUpdate - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.operationHandle = TOperationHandle() - self.operationHandle.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.BOOL: - self.getProgressUpdate = iprot.readBool() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TGetOperationStatusReq") - if self.operationHandle is not None: - oprot.writeFieldBegin("operationHandle", TType.STRUCT, 1) - self.operationHandle.write(oprot) - oprot.writeFieldEnd() - if self.getProgressUpdate is not None: - oprot.writeFieldBegin("getProgressUpdate", TType.BOOL, 2) - oprot.writeBool(self.getProgressUpdate) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.operationHandle is None: - raise TProtocolException(message="Required field operationHandle is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, operationHandle=None, getProgressUpdate=None,): + self.operationHandle = operationHandle + self.getProgressUpdate = getProgressUpdate + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.operationHandle = TOperationHandle() + self.operationHandle.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.BOOL: + self.getProgressUpdate = iprot.readBool() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TGetOperationStatusReq') + if self.operationHandle is not None: + oprot.writeFieldBegin('operationHandle', TType.STRUCT, 1) + self.operationHandle.write(oprot) + oprot.writeFieldEnd() + if self.getProgressUpdate is not None: + oprot.writeFieldBegin('getProgressUpdate', TType.BOOL, 2) + oprot.writeBool(self.getProgressUpdate) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.operationHandle is None: + raise TProtocolException(message='Required field operationHandle is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TGetOperationStatusResp(object): - """ + """ Attributes: - status - operationState @@ -10247,304 +8791,232 @@ class TGetOperationStatusResp(object): """ - def __init__( - self, - status=None, - operationState=None, - sqlState=None, - errorCode=None, - errorMessage=None, - taskStatus=None, - operationStarted=None, - operationCompleted=None, - hasResultSet=None, - progressUpdateResponse=None, - numModifiedRows=None, - displayMessage=None, - diagnosticInfo=None, - errorDetailsJson=None, - responseValidation=None, - idempotencyType=None, - statementTimeout=None, - statementTimeoutLevel=None, - ): - self.status = status - self.operationState = operationState - self.sqlState = sqlState - self.errorCode = errorCode - self.errorMessage = errorMessage - self.taskStatus = taskStatus - self.operationStarted = operationStarted - self.operationCompleted = operationCompleted - self.hasResultSet = hasResultSet - self.progressUpdateResponse = progressUpdateResponse - self.numModifiedRows = numModifiedRows - self.displayMessage = displayMessage - self.diagnosticInfo = diagnosticInfo - self.errorDetailsJson = errorDetailsJson - self.responseValidation = responseValidation - self.idempotencyType = idempotencyType - self.statementTimeout = statementTimeout - self.statementTimeoutLevel = statementTimeoutLevel - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.status = TStatus() - self.status.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.I32: - self.operationState = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.STRING: - self.sqlState = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 4: - if ftype == TType.I32: - self.errorCode = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 5: - if ftype == TType.STRING: - self.errorMessage = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 6: - if ftype == TType.STRING: - self.taskStatus = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 7: - if ftype == TType.I64: - self.operationStarted = iprot.readI64() - else: - iprot.skip(ftype) - elif fid == 8: - if ftype == TType.I64: - self.operationCompleted = iprot.readI64() - else: - iprot.skip(ftype) - elif fid == 9: - if ftype == TType.BOOL: - self.hasResultSet = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 10: - if ftype == TType.STRUCT: - self.progressUpdateResponse = TProgressUpdateResp() - self.progressUpdateResponse.read(iprot) - else: - iprot.skip(ftype) - elif fid == 11: - if ftype == TType.I64: - self.numModifiedRows = iprot.readI64() - else: - iprot.skip(ftype) - elif fid == 1281: - if ftype == TType.STRING: - self.displayMessage = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 1282: - if ftype == TType.STRING: - self.diagnosticInfo = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 1283: - if ftype == TType.STRING: - self.errorDetailsJson = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 3329: - if ftype == TType.STRING: - self.responseValidation = iprot.readBinary() - else: - iprot.skip(ftype) - elif fid == 3330: - if ftype == TType.I32: - self.idempotencyType = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 3331: - if ftype == TType.I64: - self.statementTimeout = iprot.readI64() - else: - iprot.skip(ftype) - elif fid == 3332: - if ftype == TType.I32: - self.statementTimeoutLevel = iprot.readI32() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TGetOperationStatusResp") - if self.status is not None: - oprot.writeFieldBegin("status", TType.STRUCT, 1) - self.status.write(oprot) - oprot.writeFieldEnd() - if self.operationState is not None: - oprot.writeFieldBegin("operationState", TType.I32, 2) - oprot.writeI32(self.operationState) - oprot.writeFieldEnd() - if self.sqlState is not None: - oprot.writeFieldBegin("sqlState", TType.STRING, 3) - oprot.writeString( - self.sqlState.encode("utf-8") - if sys.version_info[0] == 2 - else self.sqlState - ) - oprot.writeFieldEnd() - if self.errorCode is not None: - oprot.writeFieldBegin("errorCode", TType.I32, 4) - oprot.writeI32(self.errorCode) - oprot.writeFieldEnd() - if self.errorMessage is not None: - oprot.writeFieldBegin("errorMessage", TType.STRING, 5) - oprot.writeString( - self.errorMessage.encode("utf-8") - if sys.version_info[0] == 2 - else self.errorMessage - ) - oprot.writeFieldEnd() - if self.taskStatus is not None: - oprot.writeFieldBegin("taskStatus", TType.STRING, 6) - oprot.writeString( - self.taskStatus.encode("utf-8") - if sys.version_info[0] == 2 - else self.taskStatus - ) - oprot.writeFieldEnd() - if self.operationStarted is not None: - oprot.writeFieldBegin("operationStarted", TType.I64, 7) - oprot.writeI64(self.operationStarted) - oprot.writeFieldEnd() - if self.operationCompleted is not None: - oprot.writeFieldBegin("operationCompleted", TType.I64, 8) - oprot.writeI64(self.operationCompleted) - oprot.writeFieldEnd() - if self.hasResultSet is not None: - oprot.writeFieldBegin("hasResultSet", TType.BOOL, 9) - oprot.writeBool(self.hasResultSet) - oprot.writeFieldEnd() - if self.progressUpdateResponse is not None: - oprot.writeFieldBegin("progressUpdateResponse", TType.STRUCT, 10) - self.progressUpdateResponse.write(oprot) - oprot.writeFieldEnd() - if self.numModifiedRows is not None: - oprot.writeFieldBegin("numModifiedRows", TType.I64, 11) - oprot.writeI64(self.numModifiedRows) - oprot.writeFieldEnd() - if self.displayMessage is not None: - oprot.writeFieldBegin("displayMessage", TType.STRING, 1281) - oprot.writeString( - self.displayMessage.encode("utf-8") - if sys.version_info[0] == 2 - else self.displayMessage - ) - oprot.writeFieldEnd() - if self.diagnosticInfo is not None: - oprot.writeFieldBegin("diagnosticInfo", TType.STRING, 1282) - oprot.writeString( - self.diagnosticInfo.encode("utf-8") - if sys.version_info[0] == 2 - else self.diagnosticInfo - ) - oprot.writeFieldEnd() - if self.errorDetailsJson is not None: - oprot.writeFieldBegin("errorDetailsJson", TType.STRING, 1283) - oprot.writeString( - self.errorDetailsJson.encode("utf-8") - if sys.version_info[0] == 2 - else self.errorDetailsJson - ) - oprot.writeFieldEnd() - if self.responseValidation is not None: - oprot.writeFieldBegin("responseValidation", TType.STRING, 3329) - oprot.writeBinary(self.responseValidation) - oprot.writeFieldEnd() - if self.idempotencyType is not None: - oprot.writeFieldBegin("idempotencyType", TType.I32, 3330) - oprot.writeI32(self.idempotencyType) - oprot.writeFieldEnd() - if self.statementTimeout is not None: - oprot.writeFieldBegin("statementTimeout", TType.I64, 3331) - oprot.writeI64(self.statementTimeout) - oprot.writeFieldEnd() - if self.statementTimeoutLevel is not None: - oprot.writeFieldBegin("statementTimeoutLevel", TType.I32, 3332) - oprot.writeI32(self.statementTimeoutLevel) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.status is None: - raise TProtocolException(message="Required field status is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, status=None, operationState=None, sqlState=None, errorCode=None, errorMessage=None, taskStatus=None, operationStarted=None, operationCompleted=None, hasResultSet=None, progressUpdateResponse=None, numModifiedRows=None, displayMessage=None, diagnosticInfo=None, errorDetailsJson=None, responseValidation=None, idempotencyType=None, statementTimeout=None, statementTimeoutLevel=None,): + self.status = status + self.operationState = operationState + self.sqlState = sqlState + self.errorCode = errorCode + self.errorMessage = errorMessage + self.taskStatus = taskStatus + self.operationStarted = operationStarted + self.operationCompleted = operationCompleted + self.hasResultSet = hasResultSet + self.progressUpdateResponse = progressUpdateResponse + self.numModifiedRows = numModifiedRows + self.displayMessage = displayMessage + self.diagnosticInfo = diagnosticInfo + self.errorDetailsJson = errorDetailsJson + self.responseValidation = responseValidation + self.idempotencyType = idempotencyType + self.statementTimeout = statementTimeout + self.statementTimeoutLevel = statementTimeoutLevel + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.status = TStatus() + self.status.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.I32: + self.operationState = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.STRING: + self.sqlState = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 4: + if ftype == TType.I32: + self.errorCode = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 5: + if ftype == TType.STRING: + self.errorMessage = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 6: + if ftype == TType.STRING: + self.taskStatus = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 7: + if ftype == TType.I64: + self.operationStarted = iprot.readI64() + else: + iprot.skip(ftype) + elif fid == 8: + if ftype == TType.I64: + self.operationCompleted = iprot.readI64() + else: + iprot.skip(ftype) + elif fid == 9: + if ftype == TType.BOOL: + self.hasResultSet = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 10: + if ftype == TType.STRUCT: + self.progressUpdateResponse = TProgressUpdateResp() + self.progressUpdateResponse.read(iprot) + else: + iprot.skip(ftype) + elif fid == 11: + if ftype == TType.I64: + self.numModifiedRows = iprot.readI64() + else: + iprot.skip(ftype) + elif fid == 1281: + if ftype == TType.STRING: + self.displayMessage = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 1282: + if ftype == TType.STRING: + self.diagnosticInfo = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 1283: + if ftype == TType.STRING: + self.errorDetailsJson = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 3329: + if ftype == TType.STRING: + self.responseValidation = iprot.readBinary() + else: + iprot.skip(ftype) + elif fid == 3330: + if ftype == TType.I32: + self.idempotencyType = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 3331: + if ftype == TType.I64: + self.statementTimeout = iprot.readI64() + else: + iprot.skip(ftype) + elif fid == 3332: + if ftype == TType.I32: + self.statementTimeoutLevel = iprot.readI32() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TGetOperationStatusResp') + if self.status is not None: + oprot.writeFieldBegin('status', TType.STRUCT, 1) + self.status.write(oprot) + oprot.writeFieldEnd() + if self.operationState is not None: + oprot.writeFieldBegin('operationState', TType.I32, 2) + oprot.writeI32(self.operationState) + oprot.writeFieldEnd() + if self.sqlState is not None: + oprot.writeFieldBegin('sqlState', TType.STRING, 3) + oprot.writeString(self.sqlState.encode('utf-8') if sys.version_info[0] == 2 else self.sqlState) + oprot.writeFieldEnd() + if self.errorCode is not None: + oprot.writeFieldBegin('errorCode', TType.I32, 4) + oprot.writeI32(self.errorCode) + oprot.writeFieldEnd() + if self.errorMessage is not None: + oprot.writeFieldBegin('errorMessage', TType.STRING, 5) + oprot.writeString(self.errorMessage.encode('utf-8') if sys.version_info[0] == 2 else self.errorMessage) + oprot.writeFieldEnd() + if self.taskStatus is not None: + oprot.writeFieldBegin('taskStatus', TType.STRING, 6) + oprot.writeString(self.taskStatus.encode('utf-8') if sys.version_info[0] == 2 else self.taskStatus) + oprot.writeFieldEnd() + if self.operationStarted is not None: + oprot.writeFieldBegin('operationStarted', TType.I64, 7) + oprot.writeI64(self.operationStarted) + oprot.writeFieldEnd() + if self.operationCompleted is not None: + oprot.writeFieldBegin('operationCompleted', TType.I64, 8) + oprot.writeI64(self.operationCompleted) + oprot.writeFieldEnd() + if self.hasResultSet is not None: + oprot.writeFieldBegin('hasResultSet', TType.BOOL, 9) + oprot.writeBool(self.hasResultSet) + oprot.writeFieldEnd() + if self.progressUpdateResponse is not None: + oprot.writeFieldBegin('progressUpdateResponse', TType.STRUCT, 10) + self.progressUpdateResponse.write(oprot) + oprot.writeFieldEnd() + if self.numModifiedRows is not None: + oprot.writeFieldBegin('numModifiedRows', TType.I64, 11) + oprot.writeI64(self.numModifiedRows) + oprot.writeFieldEnd() + if self.displayMessage is not None: + oprot.writeFieldBegin('displayMessage', TType.STRING, 1281) + oprot.writeString(self.displayMessage.encode('utf-8') if sys.version_info[0] == 2 else self.displayMessage) + oprot.writeFieldEnd() + if self.diagnosticInfo is not None: + oprot.writeFieldBegin('diagnosticInfo', TType.STRING, 1282) + oprot.writeString(self.diagnosticInfo.encode('utf-8') if sys.version_info[0] == 2 else self.diagnosticInfo) + oprot.writeFieldEnd() + if self.errorDetailsJson is not None: + oprot.writeFieldBegin('errorDetailsJson', TType.STRING, 1283) + oprot.writeString(self.errorDetailsJson.encode('utf-8') if sys.version_info[0] == 2 else self.errorDetailsJson) + oprot.writeFieldEnd() + if self.responseValidation is not None: + oprot.writeFieldBegin('responseValidation', TType.STRING, 3329) + oprot.writeBinary(self.responseValidation) + oprot.writeFieldEnd() + if self.idempotencyType is not None: + oprot.writeFieldBegin('idempotencyType', TType.I32, 3330) + oprot.writeI32(self.idempotencyType) + oprot.writeFieldEnd() + if self.statementTimeout is not None: + oprot.writeFieldBegin('statementTimeout', TType.I64, 3331) + oprot.writeI64(self.statementTimeout) + oprot.writeFieldEnd() + if self.statementTimeoutLevel is not None: + oprot.writeFieldBegin('statementTimeoutLevel', TType.I32, 3332) + oprot.writeI32(self.statementTimeoutLevel) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.status is None: + raise TProtocolException(message='Required field status is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TCancelOperationReq(object): - """ + """ Attributes: - operationHandle - executionVersion @@ -10552,382 +9024,343 @@ class TCancelOperationReq(object): """ - def __init__( - self, - operationHandle=None, - executionVersion=None, - replacedByNextAttempt=None, - ): - self.operationHandle = operationHandle - self.executionVersion = executionVersion - self.replacedByNextAttempt = replacedByNextAttempt - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.operationHandle = TOperationHandle() - self.operationHandle.read(iprot) - else: - iprot.skip(ftype) - elif fid == 3329: - if ftype == TType.I16: - self.executionVersion = iprot.readI16() - else: - iprot.skip(ftype) - elif fid == 3330: - if ftype == TType.BOOL: - self.replacedByNextAttempt = iprot.readBool() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TCancelOperationReq") - if self.operationHandle is not None: - oprot.writeFieldBegin("operationHandle", TType.STRUCT, 1) - self.operationHandle.write(oprot) - oprot.writeFieldEnd() - if self.executionVersion is not None: - oprot.writeFieldBegin("executionVersion", TType.I16, 3329) - oprot.writeI16(self.executionVersion) - oprot.writeFieldEnd() - if self.replacedByNextAttempt is not None: - oprot.writeFieldBegin("replacedByNextAttempt", TType.BOOL, 3330) - oprot.writeBool(self.replacedByNextAttempt) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.operationHandle is None: - raise TProtocolException(message="Required field operationHandle is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, operationHandle=None, executionVersion=None, replacedByNextAttempt=None,): + self.operationHandle = operationHandle + self.executionVersion = executionVersion + self.replacedByNextAttempt = replacedByNextAttempt + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.operationHandle = TOperationHandle() + self.operationHandle.read(iprot) + else: + iprot.skip(ftype) + elif fid == 3329: + if ftype == TType.I16: + self.executionVersion = iprot.readI16() + else: + iprot.skip(ftype) + elif fid == 3330: + if ftype == TType.BOOL: + self.replacedByNextAttempt = iprot.readBool() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TCancelOperationReq') + if self.operationHandle is not None: + oprot.writeFieldBegin('operationHandle', TType.STRUCT, 1) + self.operationHandle.write(oprot) + oprot.writeFieldEnd() + if self.executionVersion is not None: + oprot.writeFieldBegin('executionVersion', TType.I16, 3329) + oprot.writeI16(self.executionVersion) + oprot.writeFieldEnd() + if self.replacedByNextAttempt is not None: + oprot.writeFieldBegin('replacedByNextAttempt', TType.BOOL, 3330) + oprot.writeBool(self.replacedByNextAttempt) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.operationHandle is None: + raise TProtocolException(message='Required field operationHandle is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TCancelOperationResp(object): - """ + """ Attributes: - status """ - def __init__( - self, - status=None, - ): - self.status = status - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.status = TStatus() - self.status.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TCancelOperationResp") - if self.status is not None: - oprot.writeFieldBegin("status", TType.STRUCT, 1) - self.status.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.status is None: - raise TProtocolException(message="Required field status is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, status=None,): + self.status = status + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.status = TStatus() + self.status.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TCancelOperationResp') + if self.status is not None: + oprot.writeFieldBegin('status', TType.STRUCT, 1) + self.status.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.status is None: + raise TProtocolException(message='Required field status is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TCloseOperationReq(object): - """ + """ Attributes: - operationHandle - closeReason """ - def __init__( - self, - operationHandle=None, - closeReason=0, - ): - self.operationHandle = operationHandle - self.closeReason = closeReason - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.operationHandle = TOperationHandle() - self.operationHandle.read(iprot) - else: - iprot.skip(ftype) - elif fid == 3329: - if ftype == TType.I32: - self.closeReason = iprot.readI32() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TCloseOperationReq") - if self.operationHandle is not None: - oprot.writeFieldBegin("operationHandle", TType.STRUCT, 1) - self.operationHandle.write(oprot) - oprot.writeFieldEnd() - if self.closeReason is not None: - oprot.writeFieldBegin("closeReason", TType.I32, 3329) - oprot.writeI32(self.closeReason) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.operationHandle is None: - raise TProtocolException(message="Required field operationHandle is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, operationHandle=None, closeReason= 0,): + self.operationHandle = operationHandle + self.closeReason = closeReason + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.operationHandle = TOperationHandle() + self.operationHandle.read(iprot) + else: + iprot.skip(ftype) + elif fid == 3329: + if ftype == TType.I32: + self.closeReason = iprot.readI32() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TCloseOperationReq') + if self.operationHandle is not None: + oprot.writeFieldBegin('operationHandle', TType.STRUCT, 1) + self.operationHandle.write(oprot) + oprot.writeFieldEnd() + if self.closeReason is not None: + oprot.writeFieldBegin('closeReason', TType.I32, 3329) + oprot.writeI32(self.closeReason) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.operationHandle is None: + raise TProtocolException(message='Required field operationHandle is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TCloseOperationResp(object): - """ + """ Attributes: - status """ - def __init__( - self, - status=None, - ): - self.status = status - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.status = TStatus() - self.status.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TCloseOperationResp") - if self.status is not None: - oprot.writeFieldBegin("status", TType.STRUCT, 1) - self.status.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.status is None: - raise TProtocolException(message="Required field status is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, status=None,): + self.status = status + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.status = TStatus() + self.status.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TCloseOperationResp') + if self.status is not None: + oprot.writeFieldBegin('status', TType.STRUCT, 1) + self.status.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.status is None: + raise TProtocolException(message='Required field status is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TGetResultSetMetadataReq(object): - """ + """ Attributes: - operationHandle - includeCloudResultFiles """ - def __init__( - self, - operationHandle=None, - includeCloudResultFiles=None, - ): - self.operationHandle = operationHandle - self.includeCloudResultFiles = includeCloudResultFiles - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.operationHandle = TOperationHandle() - self.operationHandle.read(iprot) - else: - iprot.skip(ftype) - elif fid == 3329: - if ftype == TType.BOOL: - self.includeCloudResultFiles = iprot.readBool() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TGetResultSetMetadataReq") - if self.operationHandle is not None: - oprot.writeFieldBegin("operationHandle", TType.STRUCT, 1) - self.operationHandle.write(oprot) - oprot.writeFieldEnd() - if self.includeCloudResultFiles is not None: - oprot.writeFieldBegin("includeCloudResultFiles", TType.BOOL, 3329) - oprot.writeBool(self.includeCloudResultFiles) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.operationHandle is None: - raise TProtocolException(message="Required field operationHandle is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, operationHandle=None, includeCloudResultFiles=None,): + self.operationHandle = operationHandle + self.includeCloudResultFiles = includeCloudResultFiles + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.operationHandle = TOperationHandle() + self.operationHandle.read(iprot) + else: + iprot.skip(ftype) + elif fid == 3329: + if ftype == TType.BOOL: + self.includeCloudResultFiles = iprot.readBool() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TGetResultSetMetadataReq') + if self.operationHandle is not None: + oprot.writeFieldBegin('operationHandle', TType.STRUCT, 1) + self.operationHandle.write(oprot) + oprot.writeFieldEnd() + if self.includeCloudResultFiles is not None: + oprot.writeFieldBegin('includeCloudResultFiles', TType.BOOL, 3329) + oprot.writeBool(self.includeCloudResultFiles) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.operationHandle is None: + raise TProtocolException(message='Required field operationHandle is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TGetResultSetMetadataResp(object): - """ + """ Attributes: - status - schema @@ -10953,315 +9386,272 @@ class TGetResultSetMetadataResp(object): """ - def __init__( - self, - status=None, - schema=None, - resultFormat=None, - lz4Compressed=None, - arrowSchema=None, - cacheLookupResult=None, - uncompressedBytes=None, - compressedBytes=None, - isStagingOperation=None, - reasonForNoCloudFetch=None, - resultFiles=None, - manifestFile=None, - manifestFileFormat=None, - cacheLookupLatency=None, - remoteCacheMissReason=None, - fetchDisposition=None, - remoteResultCacheEnabled=None, - isServerless=None, - resultDataFormat=None, - truncatedByThriftLimit=None, - resultByteLimit=None, - ): - self.status = status - self.schema = schema - self.resultFormat = resultFormat - self.lz4Compressed = lz4Compressed - self.arrowSchema = arrowSchema - self.cacheLookupResult = cacheLookupResult - self.uncompressedBytes = uncompressedBytes - self.compressedBytes = compressedBytes - self.isStagingOperation = isStagingOperation - self.reasonForNoCloudFetch = reasonForNoCloudFetch - self.resultFiles = resultFiles - self.manifestFile = manifestFile - self.manifestFileFormat = manifestFileFormat - self.cacheLookupLatency = cacheLookupLatency - self.remoteCacheMissReason = remoteCacheMissReason - self.fetchDisposition = fetchDisposition - self.remoteResultCacheEnabled = remoteResultCacheEnabled - self.isServerless = isServerless - self.resultDataFormat = resultDataFormat - self.truncatedByThriftLimit = truncatedByThriftLimit - self.resultByteLimit = resultByteLimit - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.status = TStatus() - self.status.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRUCT: - self.schema = TTableSchema() - self.schema.read(iprot) - else: - iprot.skip(ftype) - elif fid == 1281: - if ftype == TType.I32: - self.resultFormat = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 1282: - if ftype == TType.BOOL: - self.lz4Compressed = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 1283: - if ftype == TType.STRING: - self.arrowSchema = iprot.readBinary() - else: - iprot.skip(ftype) - elif fid == 1284: - if ftype == TType.I32: - self.cacheLookupResult = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 1285: - if ftype == TType.I64: - self.uncompressedBytes = iprot.readI64() - else: - iprot.skip(ftype) - elif fid == 1286: - if ftype == TType.I64: - self.compressedBytes = iprot.readI64() - else: - iprot.skip(ftype) - elif fid == 1287: - if ftype == TType.BOOL: - self.isStagingOperation = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 3329: - if ftype == TType.I32: - self.reasonForNoCloudFetch = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 3330: - if ftype == TType.LIST: - self.resultFiles = [] - (_etype286, _size283) = iprot.readListBegin() - for _i287 in range(_size283): - _elem288 = TDBSqlCloudResultFile() - _elem288.read(iprot) - self.resultFiles.append(_elem288) - iprot.readListEnd() - else: - iprot.skip(ftype) - elif fid == 3331: - if ftype == TType.STRING: - self.manifestFile = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 3332: - if ftype == TType.I32: - self.manifestFileFormat = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 3333: - if ftype == TType.I64: - self.cacheLookupLatency = iprot.readI64() - else: - iprot.skip(ftype) - elif fid == 3334: - if ftype == TType.STRING: - self.remoteCacheMissReason = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 3335: - if ftype == TType.I32: - self.fetchDisposition = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 3336: - if ftype == TType.BOOL: - self.remoteResultCacheEnabled = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 3337: - if ftype == TType.BOOL: - self.isServerless = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 3344: - if ftype == TType.STRUCT: - self.resultDataFormat = TDBSqlResultFormat() - self.resultDataFormat.read(iprot) - else: - iprot.skip(ftype) - elif fid == 3345: - if ftype == TType.BOOL: - self.truncatedByThriftLimit = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 3346: - if ftype == TType.I64: - self.resultByteLimit = iprot.readI64() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TGetResultSetMetadataResp") - if self.status is not None: - oprot.writeFieldBegin("status", TType.STRUCT, 1) - self.status.write(oprot) - oprot.writeFieldEnd() - if self.schema is not None: - oprot.writeFieldBegin("schema", TType.STRUCT, 2) - self.schema.write(oprot) - oprot.writeFieldEnd() - if self.resultFormat is not None: - oprot.writeFieldBegin("resultFormat", TType.I32, 1281) - oprot.writeI32(self.resultFormat) - oprot.writeFieldEnd() - if self.lz4Compressed is not None: - oprot.writeFieldBegin("lz4Compressed", TType.BOOL, 1282) - oprot.writeBool(self.lz4Compressed) - oprot.writeFieldEnd() - if self.arrowSchema is not None: - oprot.writeFieldBegin("arrowSchema", TType.STRING, 1283) - oprot.writeBinary(self.arrowSchema) - oprot.writeFieldEnd() - if self.cacheLookupResult is not None: - oprot.writeFieldBegin("cacheLookupResult", TType.I32, 1284) - oprot.writeI32(self.cacheLookupResult) - oprot.writeFieldEnd() - if self.uncompressedBytes is not None: - oprot.writeFieldBegin("uncompressedBytes", TType.I64, 1285) - oprot.writeI64(self.uncompressedBytes) - oprot.writeFieldEnd() - if self.compressedBytes is not None: - oprot.writeFieldBegin("compressedBytes", TType.I64, 1286) - oprot.writeI64(self.compressedBytes) - oprot.writeFieldEnd() - if self.isStagingOperation is not None: - oprot.writeFieldBegin("isStagingOperation", TType.BOOL, 1287) - oprot.writeBool(self.isStagingOperation) - oprot.writeFieldEnd() - if self.reasonForNoCloudFetch is not None: - oprot.writeFieldBegin("reasonForNoCloudFetch", TType.I32, 3329) - oprot.writeI32(self.reasonForNoCloudFetch) - oprot.writeFieldEnd() - if self.resultFiles is not None: - oprot.writeFieldBegin("resultFiles", TType.LIST, 3330) - oprot.writeListBegin(TType.STRUCT, len(self.resultFiles)) - for iter289 in self.resultFiles: - iter289.write(oprot) - oprot.writeListEnd() - oprot.writeFieldEnd() - if self.manifestFile is not None: - oprot.writeFieldBegin("manifestFile", TType.STRING, 3331) - oprot.writeString( - self.manifestFile.encode("utf-8") - if sys.version_info[0] == 2 - else self.manifestFile - ) - oprot.writeFieldEnd() - if self.manifestFileFormat is not None: - oprot.writeFieldBegin("manifestFileFormat", TType.I32, 3332) - oprot.writeI32(self.manifestFileFormat) - oprot.writeFieldEnd() - if self.cacheLookupLatency is not None: - oprot.writeFieldBegin("cacheLookupLatency", TType.I64, 3333) - oprot.writeI64(self.cacheLookupLatency) - oprot.writeFieldEnd() - if self.remoteCacheMissReason is not None: - oprot.writeFieldBegin("remoteCacheMissReason", TType.STRING, 3334) - oprot.writeString( - self.remoteCacheMissReason.encode("utf-8") - if sys.version_info[0] == 2 - else self.remoteCacheMissReason - ) - oprot.writeFieldEnd() - if self.fetchDisposition is not None: - oprot.writeFieldBegin("fetchDisposition", TType.I32, 3335) - oprot.writeI32(self.fetchDisposition) - oprot.writeFieldEnd() - if self.remoteResultCacheEnabled is not None: - oprot.writeFieldBegin("remoteResultCacheEnabled", TType.BOOL, 3336) - oprot.writeBool(self.remoteResultCacheEnabled) - oprot.writeFieldEnd() - if self.isServerless is not None: - oprot.writeFieldBegin("isServerless", TType.BOOL, 3337) - oprot.writeBool(self.isServerless) - oprot.writeFieldEnd() - if self.resultDataFormat is not None: - oprot.writeFieldBegin("resultDataFormat", TType.STRUCT, 3344) - self.resultDataFormat.write(oprot) - oprot.writeFieldEnd() - if self.truncatedByThriftLimit is not None: - oprot.writeFieldBegin("truncatedByThriftLimit", TType.BOOL, 3345) - oprot.writeBool(self.truncatedByThriftLimit) - oprot.writeFieldEnd() - if self.resultByteLimit is not None: - oprot.writeFieldBegin("resultByteLimit", TType.I64, 3346) - oprot.writeI64(self.resultByteLimit) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.status is None: - raise TProtocolException(message="Required field status is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, status=None, schema=None, resultFormat=None, lz4Compressed=None, arrowSchema=None, cacheLookupResult=None, uncompressedBytes=None, compressedBytes=None, isStagingOperation=None, reasonForNoCloudFetch=None, resultFiles=None, manifestFile=None, manifestFileFormat=None, cacheLookupLatency=None, remoteCacheMissReason=None, fetchDisposition=None, remoteResultCacheEnabled=None, isServerless=None, resultDataFormat=None, truncatedByThriftLimit=None, resultByteLimit=None,): + self.status = status + self.schema = schema + self.resultFormat = resultFormat + self.lz4Compressed = lz4Compressed + self.arrowSchema = arrowSchema + self.cacheLookupResult = cacheLookupResult + self.uncompressedBytes = uncompressedBytes + self.compressedBytes = compressedBytes + self.isStagingOperation = isStagingOperation + self.reasonForNoCloudFetch = reasonForNoCloudFetch + self.resultFiles = resultFiles + self.manifestFile = manifestFile + self.manifestFileFormat = manifestFileFormat + self.cacheLookupLatency = cacheLookupLatency + self.remoteCacheMissReason = remoteCacheMissReason + self.fetchDisposition = fetchDisposition + self.remoteResultCacheEnabled = remoteResultCacheEnabled + self.isServerless = isServerless + self.resultDataFormat = resultDataFormat + self.truncatedByThriftLimit = truncatedByThriftLimit + self.resultByteLimit = resultByteLimit + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.status = TStatus() + self.status.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRUCT: + self.schema = TTableSchema() + self.schema.read(iprot) + else: + iprot.skip(ftype) + elif fid == 1281: + if ftype == TType.I32: + self.resultFormat = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 1282: + if ftype == TType.BOOL: + self.lz4Compressed = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 1283: + if ftype == TType.STRING: + self.arrowSchema = iprot.readBinary() + else: + iprot.skip(ftype) + elif fid == 1284: + if ftype == TType.I32: + self.cacheLookupResult = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 1285: + if ftype == TType.I64: + self.uncompressedBytes = iprot.readI64() + else: + iprot.skip(ftype) + elif fid == 1286: + if ftype == TType.I64: + self.compressedBytes = iprot.readI64() + else: + iprot.skip(ftype) + elif fid == 1287: + if ftype == TType.BOOL: + self.isStagingOperation = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 3329: + if ftype == TType.I32: + self.reasonForNoCloudFetch = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 3330: + if ftype == TType.LIST: + self.resultFiles = [] + (_etype286, _size283) = iprot.readListBegin() + for _i287 in range(_size283): + _elem288 = TDBSqlCloudResultFile() + _elem288.read(iprot) + self.resultFiles.append(_elem288) + iprot.readListEnd() + else: + iprot.skip(ftype) + elif fid == 3331: + if ftype == TType.STRING: + self.manifestFile = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 3332: + if ftype == TType.I32: + self.manifestFileFormat = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 3333: + if ftype == TType.I64: + self.cacheLookupLatency = iprot.readI64() + else: + iprot.skip(ftype) + elif fid == 3334: + if ftype == TType.STRING: + self.remoteCacheMissReason = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 3335: + if ftype == TType.I32: + self.fetchDisposition = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 3336: + if ftype == TType.BOOL: + self.remoteResultCacheEnabled = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 3337: + if ftype == TType.BOOL: + self.isServerless = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 3344: + if ftype == TType.STRUCT: + self.resultDataFormat = TDBSqlResultFormat() + self.resultDataFormat.read(iprot) + else: + iprot.skip(ftype) + elif fid == 3345: + if ftype == TType.BOOL: + self.truncatedByThriftLimit = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 3346: + if ftype == TType.I64: + self.resultByteLimit = iprot.readI64() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TGetResultSetMetadataResp') + if self.status is not None: + oprot.writeFieldBegin('status', TType.STRUCT, 1) + self.status.write(oprot) + oprot.writeFieldEnd() + if self.schema is not None: + oprot.writeFieldBegin('schema', TType.STRUCT, 2) + self.schema.write(oprot) + oprot.writeFieldEnd() + if self.resultFormat is not None: + oprot.writeFieldBegin('resultFormat', TType.I32, 1281) + oprot.writeI32(self.resultFormat) + oprot.writeFieldEnd() + if self.lz4Compressed is not None: + oprot.writeFieldBegin('lz4Compressed', TType.BOOL, 1282) + oprot.writeBool(self.lz4Compressed) + oprot.writeFieldEnd() + if self.arrowSchema is not None: + oprot.writeFieldBegin('arrowSchema', TType.STRING, 1283) + oprot.writeBinary(self.arrowSchema) + oprot.writeFieldEnd() + if self.cacheLookupResult is not None: + oprot.writeFieldBegin('cacheLookupResult', TType.I32, 1284) + oprot.writeI32(self.cacheLookupResult) + oprot.writeFieldEnd() + if self.uncompressedBytes is not None: + oprot.writeFieldBegin('uncompressedBytes', TType.I64, 1285) + oprot.writeI64(self.uncompressedBytes) + oprot.writeFieldEnd() + if self.compressedBytes is not None: + oprot.writeFieldBegin('compressedBytes', TType.I64, 1286) + oprot.writeI64(self.compressedBytes) + oprot.writeFieldEnd() + if self.isStagingOperation is not None: + oprot.writeFieldBegin('isStagingOperation', TType.BOOL, 1287) + oprot.writeBool(self.isStagingOperation) + oprot.writeFieldEnd() + if self.reasonForNoCloudFetch is not None: + oprot.writeFieldBegin('reasonForNoCloudFetch', TType.I32, 3329) + oprot.writeI32(self.reasonForNoCloudFetch) + oprot.writeFieldEnd() + if self.resultFiles is not None: + oprot.writeFieldBegin('resultFiles', TType.LIST, 3330) + oprot.writeListBegin(TType.STRUCT, len(self.resultFiles)) + for iter289 in self.resultFiles: + iter289.write(oprot) + oprot.writeListEnd() + oprot.writeFieldEnd() + if self.manifestFile is not None: + oprot.writeFieldBegin('manifestFile', TType.STRING, 3331) + oprot.writeString(self.manifestFile.encode('utf-8') if sys.version_info[0] == 2 else self.manifestFile) + oprot.writeFieldEnd() + if self.manifestFileFormat is not None: + oprot.writeFieldBegin('manifestFileFormat', TType.I32, 3332) + oprot.writeI32(self.manifestFileFormat) + oprot.writeFieldEnd() + if self.cacheLookupLatency is not None: + oprot.writeFieldBegin('cacheLookupLatency', TType.I64, 3333) + oprot.writeI64(self.cacheLookupLatency) + oprot.writeFieldEnd() + if self.remoteCacheMissReason is not None: + oprot.writeFieldBegin('remoteCacheMissReason', TType.STRING, 3334) + oprot.writeString(self.remoteCacheMissReason.encode('utf-8') if sys.version_info[0] == 2 else self.remoteCacheMissReason) + oprot.writeFieldEnd() + if self.fetchDisposition is not None: + oprot.writeFieldBegin('fetchDisposition', TType.I32, 3335) + oprot.writeI32(self.fetchDisposition) + oprot.writeFieldEnd() + if self.remoteResultCacheEnabled is not None: + oprot.writeFieldBegin('remoteResultCacheEnabled', TType.BOOL, 3336) + oprot.writeBool(self.remoteResultCacheEnabled) + oprot.writeFieldEnd() + if self.isServerless is not None: + oprot.writeFieldBegin('isServerless', TType.BOOL, 3337) + oprot.writeBool(self.isServerless) + oprot.writeFieldEnd() + if self.resultDataFormat is not None: + oprot.writeFieldBegin('resultDataFormat', TType.STRUCT, 3344) + self.resultDataFormat.write(oprot) + oprot.writeFieldEnd() + if self.truncatedByThriftLimit is not None: + oprot.writeFieldBegin('truncatedByThriftLimit', TType.BOOL, 3345) + oprot.writeBool(self.truncatedByThriftLimit) + oprot.writeFieldEnd() + if self.resultByteLimit is not None: + oprot.writeFieldBegin('resultByteLimit', TType.I64, 3346) + oprot.writeI64(self.resultByteLimit) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.status is None: + raise TProtocolException(message='Required field status is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TFetchResultsReq(object): - """ + """ Attributes: - operationHandle - orientation @@ -11273,138 +9663,125 @@ class TFetchResultsReq(object): """ - def __init__( - self, - operationHandle=None, - orientation=0, - maxRows=None, - fetchType=0, - maxBytes=None, - startRowOffset=None, - includeResultSetMetadata=None, - ): - self.operationHandle = operationHandle - self.orientation = orientation - self.maxRows = maxRows - self.fetchType = fetchType - self.maxBytes = maxBytes - self.startRowOffset = startRowOffset - self.includeResultSetMetadata = includeResultSetMetadata - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.operationHandle = TOperationHandle() - self.operationHandle.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.I32: - self.orientation = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.I64: - self.maxRows = iprot.readI64() - else: - iprot.skip(ftype) - elif fid == 4: - if ftype == TType.I16: - self.fetchType = iprot.readI16() - else: - iprot.skip(ftype) - elif fid == 1281: - if ftype == TType.I64: - self.maxBytes = iprot.readI64() - else: - iprot.skip(ftype) - elif fid == 1282: - if ftype == TType.I64: - self.startRowOffset = iprot.readI64() - else: - iprot.skip(ftype) - elif fid == 1283: - if ftype == TType.BOOL: - self.includeResultSetMetadata = iprot.readBool() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TFetchResultsReq") - if self.operationHandle is not None: - oprot.writeFieldBegin("operationHandle", TType.STRUCT, 1) - self.operationHandle.write(oprot) - oprot.writeFieldEnd() - if self.orientation is not None: - oprot.writeFieldBegin("orientation", TType.I32, 2) - oprot.writeI32(self.orientation) - oprot.writeFieldEnd() - if self.maxRows is not None: - oprot.writeFieldBegin("maxRows", TType.I64, 3) - oprot.writeI64(self.maxRows) - oprot.writeFieldEnd() - if self.fetchType is not None: - oprot.writeFieldBegin("fetchType", TType.I16, 4) - oprot.writeI16(self.fetchType) - oprot.writeFieldEnd() - if self.maxBytes is not None: - oprot.writeFieldBegin("maxBytes", TType.I64, 1281) - oprot.writeI64(self.maxBytes) - oprot.writeFieldEnd() - if self.startRowOffset is not None: - oprot.writeFieldBegin("startRowOffset", TType.I64, 1282) - oprot.writeI64(self.startRowOffset) - oprot.writeFieldEnd() - if self.includeResultSetMetadata is not None: - oprot.writeFieldBegin("includeResultSetMetadata", TType.BOOL, 1283) - oprot.writeBool(self.includeResultSetMetadata) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.operationHandle is None: - raise TProtocolException(message="Required field operationHandle is unset!") - if self.orientation is None: - raise TProtocolException(message="Required field orientation is unset!") - if self.maxRows is None: - raise TProtocolException(message="Required field maxRows is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, operationHandle=None, orientation= 0, maxRows=None, fetchType=0, maxBytes=None, startRowOffset=None, includeResultSetMetadata=None,): + self.operationHandle = operationHandle + self.orientation = orientation + self.maxRows = maxRows + self.fetchType = fetchType + self.maxBytes = maxBytes + self.startRowOffset = startRowOffset + self.includeResultSetMetadata = includeResultSetMetadata + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.operationHandle = TOperationHandle() + self.operationHandle.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.I32: + self.orientation = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.I64: + self.maxRows = iprot.readI64() + else: + iprot.skip(ftype) + elif fid == 4: + if ftype == TType.I16: + self.fetchType = iprot.readI16() + else: + iprot.skip(ftype) + elif fid == 1281: + if ftype == TType.I64: + self.maxBytes = iprot.readI64() + else: + iprot.skip(ftype) + elif fid == 1282: + if ftype == TType.I64: + self.startRowOffset = iprot.readI64() + else: + iprot.skip(ftype) + elif fid == 1283: + if ftype == TType.BOOL: + self.includeResultSetMetadata = iprot.readBool() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TFetchResultsReq') + if self.operationHandle is not None: + oprot.writeFieldBegin('operationHandle', TType.STRUCT, 1) + self.operationHandle.write(oprot) + oprot.writeFieldEnd() + if self.orientation is not None: + oprot.writeFieldBegin('orientation', TType.I32, 2) + oprot.writeI32(self.orientation) + oprot.writeFieldEnd() + if self.maxRows is not None: + oprot.writeFieldBegin('maxRows', TType.I64, 3) + oprot.writeI64(self.maxRows) + oprot.writeFieldEnd() + if self.fetchType is not None: + oprot.writeFieldBegin('fetchType', TType.I16, 4) + oprot.writeI16(self.fetchType) + oprot.writeFieldEnd() + if self.maxBytes is not None: + oprot.writeFieldBegin('maxBytes', TType.I64, 1281) + oprot.writeI64(self.maxBytes) + oprot.writeFieldEnd() + if self.startRowOffset is not None: + oprot.writeFieldBegin('startRowOffset', TType.I64, 1282) + oprot.writeI64(self.startRowOffset) + oprot.writeFieldEnd() + if self.includeResultSetMetadata is not None: + oprot.writeFieldBegin('includeResultSetMetadata', TType.BOOL, 1283) + oprot.writeBool(self.includeResultSetMetadata) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.operationHandle is None: + raise TProtocolException(message='Required field operationHandle is unset!') + if self.orientation is None: + raise TProtocolException(message='Required field orientation is unset!') + if self.maxRows is None: + raise TProtocolException(message='Required field maxRows is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TFetchResultsResp(object): - """ + """ Attributes: - status - hasMoreRows @@ -11414,114 +9791,103 @@ class TFetchResultsResp(object): """ - def __init__( - self, - status=None, - hasMoreRows=None, - results=None, - resultSetMetadata=None, - responseValidation=None, - ): - self.status = status - self.hasMoreRows = hasMoreRows - self.results = results - self.resultSetMetadata = resultSetMetadata - self.responseValidation = responseValidation - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.status = TStatus() - self.status.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.BOOL: - self.hasMoreRows = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.STRUCT: - self.results = TRowSet() - self.results.read(iprot) - else: - iprot.skip(ftype) - elif fid == 1281: - if ftype == TType.STRUCT: - self.resultSetMetadata = TGetResultSetMetadataResp() - self.resultSetMetadata.read(iprot) - else: - iprot.skip(ftype) - elif fid == 3329: - if ftype == TType.STRING: - self.responseValidation = iprot.readBinary() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TFetchResultsResp") - if self.status is not None: - oprot.writeFieldBegin("status", TType.STRUCT, 1) - self.status.write(oprot) - oprot.writeFieldEnd() - if self.hasMoreRows is not None: - oprot.writeFieldBegin("hasMoreRows", TType.BOOL, 2) - oprot.writeBool(self.hasMoreRows) - oprot.writeFieldEnd() - if self.results is not None: - oprot.writeFieldBegin("results", TType.STRUCT, 3) - self.results.write(oprot) - oprot.writeFieldEnd() - if self.resultSetMetadata is not None: - oprot.writeFieldBegin("resultSetMetadata", TType.STRUCT, 1281) - self.resultSetMetadata.write(oprot) - oprot.writeFieldEnd() - if self.responseValidation is not None: - oprot.writeFieldBegin("responseValidation", TType.STRING, 3329) - oprot.writeBinary(self.responseValidation) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.status is None: - raise TProtocolException(message="Required field status is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, status=None, hasMoreRows=None, results=None, resultSetMetadata=None, responseValidation=None,): + self.status = status + self.hasMoreRows = hasMoreRows + self.results = results + self.resultSetMetadata = resultSetMetadata + self.responseValidation = responseValidation + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.status = TStatus() + self.status.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.BOOL: + self.hasMoreRows = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.STRUCT: + self.results = TRowSet() + self.results.read(iprot) + else: + iprot.skip(ftype) + elif fid == 1281: + if ftype == TType.STRUCT: + self.resultSetMetadata = TGetResultSetMetadataResp() + self.resultSetMetadata.read(iprot) + else: + iprot.skip(ftype) + elif fid == 3329: + if ftype == TType.STRING: + self.responseValidation = iprot.readBinary() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TFetchResultsResp') + if self.status is not None: + oprot.writeFieldBegin('status', TType.STRUCT, 1) + self.status.write(oprot) + oprot.writeFieldEnd() + if self.hasMoreRows is not None: + oprot.writeFieldBegin('hasMoreRows', TType.BOOL, 2) + oprot.writeBool(self.hasMoreRows) + oprot.writeFieldEnd() + if self.results is not None: + oprot.writeFieldBegin('results', TType.STRUCT, 3) + self.results.write(oprot) + oprot.writeFieldEnd() + if self.resultSetMetadata is not None: + oprot.writeFieldBegin('resultSetMetadata', TType.STRUCT, 1281) + self.resultSetMetadata.write(oprot) + oprot.writeFieldEnd() + if self.responseValidation is not None: + oprot.writeFieldBegin('responseValidation', TType.STRING, 3329) + oprot.writeBinary(self.responseValidation) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.status is None: + raise TProtocolException(message='Required field status is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TGetDelegationTokenReq(object): - """ + """ Attributes: - sessionHandle - owner @@ -11530,207 +9896,167 @@ class TGetDelegationTokenReq(object): """ - def __init__( - self, - sessionHandle=None, - owner=None, - renewer=None, - sessionConf=None, - ): - self.sessionHandle = sessionHandle - self.owner = owner - self.renewer = renewer - self.sessionConf = sessionConf - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.sessionHandle = TSessionHandle() - self.sessionHandle.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRING: - self.owner = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.STRING: - self.renewer = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 3329: - if ftype == TType.STRUCT: - self.sessionConf = TDBSqlSessionConf() - self.sessionConf.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TGetDelegationTokenReq") - if self.sessionHandle is not None: - oprot.writeFieldBegin("sessionHandle", TType.STRUCT, 1) - self.sessionHandle.write(oprot) - oprot.writeFieldEnd() - if self.owner is not None: - oprot.writeFieldBegin("owner", TType.STRING, 2) - oprot.writeString( - self.owner.encode("utf-8") if sys.version_info[0] == 2 else self.owner - ) - oprot.writeFieldEnd() - if self.renewer is not None: - oprot.writeFieldBegin("renewer", TType.STRING, 3) - oprot.writeString( - self.renewer.encode("utf-8") - if sys.version_info[0] == 2 - else self.renewer - ) - oprot.writeFieldEnd() - if self.sessionConf is not None: - oprot.writeFieldBegin("sessionConf", TType.STRUCT, 3329) - self.sessionConf.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.sessionHandle is None: - raise TProtocolException(message="Required field sessionHandle is unset!") - if self.owner is None: - raise TProtocolException(message="Required field owner is unset!") - if self.renewer is None: - raise TProtocolException(message="Required field renewer is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, sessionHandle=None, owner=None, renewer=None, sessionConf=None,): + self.sessionHandle = sessionHandle + self.owner = owner + self.renewer = renewer + self.sessionConf = sessionConf + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.sessionHandle = TSessionHandle() + self.sessionHandle.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRING: + self.owner = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.STRING: + self.renewer = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 3329: + if ftype == TType.STRUCT: + self.sessionConf = TDBSqlSessionConf() + self.sessionConf.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TGetDelegationTokenReq') + if self.sessionHandle is not None: + oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 1) + self.sessionHandle.write(oprot) + oprot.writeFieldEnd() + if self.owner is not None: + oprot.writeFieldBegin('owner', TType.STRING, 2) + oprot.writeString(self.owner.encode('utf-8') if sys.version_info[0] == 2 else self.owner) + oprot.writeFieldEnd() + if self.renewer is not None: + oprot.writeFieldBegin('renewer', TType.STRING, 3) + oprot.writeString(self.renewer.encode('utf-8') if sys.version_info[0] == 2 else self.renewer) + oprot.writeFieldEnd() + if self.sessionConf is not None: + oprot.writeFieldBegin('sessionConf', TType.STRUCT, 3329) + self.sessionConf.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.sessionHandle is None: + raise TProtocolException(message='Required field sessionHandle is unset!') + if self.owner is None: + raise TProtocolException(message='Required field owner is unset!') + if self.renewer is None: + raise TProtocolException(message='Required field renewer is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TGetDelegationTokenResp(object): - """ + """ Attributes: - status - delegationToken """ - def __init__( - self, - status=None, - delegationToken=None, - ): - self.status = status - self.delegationToken = delegationToken - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.status = TStatus() - self.status.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRING: - self.delegationToken = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TGetDelegationTokenResp") - if self.status is not None: - oprot.writeFieldBegin("status", TType.STRUCT, 1) - self.status.write(oprot) - oprot.writeFieldEnd() - if self.delegationToken is not None: - oprot.writeFieldBegin("delegationToken", TType.STRING, 2) - oprot.writeString( - self.delegationToken.encode("utf-8") - if sys.version_info[0] == 2 - else self.delegationToken - ) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.status is None: - raise TProtocolException(message="Required field status is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, status=None, delegationToken=None,): + self.status = status + self.delegationToken = delegationToken + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.status = TStatus() + self.status.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRING: + self.delegationToken = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TGetDelegationTokenResp') + if self.status is not None: + oprot.writeFieldBegin('status', TType.STRUCT, 1) + self.status.write(oprot) + oprot.writeFieldEnd() + if self.delegationToken is not None: + oprot.writeFieldBegin('delegationToken', TType.STRING, 2) + oprot.writeString(self.delegationToken.encode('utf-8') if sys.version_info[0] == 2 else self.delegationToken) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.status is None: + raise TProtocolException(message='Required field status is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TCancelDelegationTokenReq(object): - """ + """ Attributes: - sessionHandle - delegationToken @@ -11738,168 +10064,144 @@ class TCancelDelegationTokenReq(object): """ - def __init__( - self, - sessionHandle=None, - delegationToken=None, - sessionConf=None, - ): - self.sessionHandle = sessionHandle - self.delegationToken = delegationToken - self.sessionConf = sessionConf - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.sessionHandle = TSessionHandle() - self.sessionHandle.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRING: - self.delegationToken = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 3329: - if ftype == TType.STRUCT: - self.sessionConf = TDBSqlSessionConf() - self.sessionConf.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TCancelDelegationTokenReq") - if self.sessionHandle is not None: - oprot.writeFieldBegin("sessionHandle", TType.STRUCT, 1) - self.sessionHandle.write(oprot) - oprot.writeFieldEnd() - if self.delegationToken is not None: - oprot.writeFieldBegin("delegationToken", TType.STRING, 2) - oprot.writeString( - self.delegationToken.encode("utf-8") - if sys.version_info[0] == 2 - else self.delegationToken - ) - oprot.writeFieldEnd() - if self.sessionConf is not None: - oprot.writeFieldBegin("sessionConf", TType.STRUCT, 3329) - self.sessionConf.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.sessionHandle is None: - raise TProtocolException(message="Required field sessionHandle is unset!") - if self.delegationToken is None: - raise TProtocolException(message="Required field delegationToken is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, sessionHandle=None, delegationToken=None, sessionConf=None,): + self.sessionHandle = sessionHandle + self.delegationToken = delegationToken + self.sessionConf = sessionConf + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.sessionHandle = TSessionHandle() + self.sessionHandle.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRING: + self.delegationToken = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 3329: + if ftype == TType.STRUCT: + self.sessionConf = TDBSqlSessionConf() + self.sessionConf.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TCancelDelegationTokenReq') + if self.sessionHandle is not None: + oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 1) + self.sessionHandle.write(oprot) + oprot.writeFieldEnd() + if self.delegationToken is not None: + oprot.writeFieldBegin('delegationToken', TType.STRING, 2) + oprot.writeString(self.delegationToken.encode('utf-8') if sys.version_info[0] == 2 else self.delegationToken) + oprot.writeFieldEnd() + if self.sessionConf is not None: + oprot.writeFieldBegin('sessionConf', TType.STRUCT, 3329) + self.sessionConf.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.sessionHandle is None: + raise TProtocolException(message='Required field sessionHandle is unset!') + if self.delegationToken is None: + raise TProtocolException(message='Required field delegationToken is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TCancelDelegationTokenResp(object): - """ + """ Attributes: - status """ - def __init__( - self, - status=None, - ): - self.status = status - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.status = TStatus() - self.status.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TCancelDelegationTokenResp") - if self.status is not None: - oprot.writeFieldBegin("status", TType.STRUCT, 1) - self.status.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.status is None: - raise TProtocolException(message="Required field status is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, status=None,): + self.status = status + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.status = TStatus() + self.status.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TCancelDelegationTokenResp') + if self.status is not None: + oprot.writeFieldBegin('status', TType.STRUCT, 1) + self.status.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.status is None: + raise TProtocolException(message='Required field status is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TRenewDelegationTokenReq(object): - """ + """ Attributes: - sessionHandle - delegationToken @@ -11907,168 +10209,144 @@ class TRenewDelegationTokenReq(object): """ - def __init__( - self, - sessionHandle=None, - delegationToken=None, - sessionConf=None, - ): - self.sessionHandle = sessionHandle - self.delegationToken = delegationToken - self.sessionConf = sessionConf - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.sessionHandle = TSessionHandle() - self.sessionHandle.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRING: - self.delegationToken = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 3329: - if ftype == TType.STRUCT: - self.sessionConf = TDBSqlSessionConf() - self.sessionConf.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TRenewDelegationTokenReq") - if self.sessionHandle is not None: - oprot.writeFieldBegin("sessionHandle", TType.STRUCT, 1) - self.sessionHandle.write(oprot) - oprot.writeFieldEnd() - if self.delegationToken is not None: - oprot.writeFieldBegin("delegationToken", TType.STRING, 2) - oprot.writeString( - self.delegationToken.encode("utf-8") - if sys.version_info[0] == 2 - else self.delegationToken - ) - oprot.writeFieldEnd() - if self.sessionConf is not None: - oprot.writeFieldBegin("sessionConf", TType.STRUCT, 3329) - self.sessionConf.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.sessionHandle is None: - raise TProtocolException(message="Required field sessionHandle is unset!") - if self.delegationToken is None: - raise TProtocolException(message="Required field delegationToken is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, sessionHandle=None, delegationToken=None, sessionConf=None,): + self.sessionHandle = sessionHandle + self.delegationToken = delegationToken + self.sessionConf = sessionConf + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.sessionHandle = TSessionHandle() + self.sessionHandle.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRING: + self.delegationToken = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 3329: + if ftype == TType.STRUCT: + self.sessionConf = TDBSqlSessionConf() + self.sessionConf.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TRenewDelegationTokenReq') + if self.sessionHandle is not None: + oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 1) + self.sessionHandle.write(oprot) + oprot.writeFieldEnd() + if self.delegationToken is not None: + oprot.writeFieldBegin('delegationToken', TType.STRING, 2) + oprot.writeString(self.delegationToken.encode('utf-8') if sys.version_info[0] == 2 else self.delegationToken) + oprot.writeFieldEnd() + if self.sessionConf is not None: + oprot.writeFieldBegin('sessionConf', TType.STRUCT, 3329) + self.sessionConf.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.sessionHandle is None: + raise TProtocolException(message='Required field sessionHandle is unset!') + if self.delegationToken is None: + raise TProtocolException(message='Required field delegationToken is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TRenewDelegationTokenResp(object): - """ + """ Attributes: - status """ - def __init__( - self, - status=None, - ): - self.status = status - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.status = TStatus() - self.status.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TRenewDelegationTokenResp") - if self.status is not None: - oprot.writeFieldBegin("status", TType.STRUCT, 1) - self.status.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.status is None: - raise TProtocolException(message="Required field status is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + + def __init__(self, status=None,): + self.status = status + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.status = TStatus() + self.status.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TRenewDelegationTokenResp') + if self.status is not None: + oprot.writeFieldBegin('status', TType.STRUCT, 1) + self.status.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.status is None: + raise TProtocolException(message='Required field status is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TProgressUpdateResp(object): - """ + """ Attributes: - headerNames - rows @@ -12079,103939 +10357,101419 @@ class TProgressUpdateResp(object): """ - def __init__( - self, - headerNames=None, - rows=None, - progressedPercentage=None, - status=None, - footerSummary=None, - startTime=None, - ): - self.headerNames = headerNames - self.rows = rows - self.progressedPercentage = progressedPercentage - self.status = status - self.footerSummary = footerSummary - self.startTime = startTime - - def read(self, iprot): - if ( - iprot._fast_decode is not None - and isinstance(iprot.trans, TTransport.CReadableTransport) - and self.thrift_spec is not None - ): - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.LIST: - self.headerNames = [] - (_etype293, _size290) = iprot.readListBegin() - for _i294 in range(_size290): - _elem295 = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - self.headerNames.append(_elem295) - iprot.readListEnd() - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.LIST: - self.rows = [] - (_etype299, _size296) = iprot.readListBegin() - for _i300 in range(_size296): - _elem301 = [] - (_etype305, _size302) = iprot.readListBegin() - for _i306 in range(_size302): - _elem307 = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - _elem301.append(_elem307) - iprot.readListEnd() - self.rows.append(_elem301) - iprot.readListEnd() - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.DOUBLE: - self.progressedPercentage = iprot.readDouble() - else: - iprot.skip(ftype) - elif fid == 4: - if ftype == TType.I32: - self.status = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 5: - if ftype == TType.STRING: - self.footerSummary = ( - iprot.readString().decode("utf-8", errors="replace") - if sys.version_info[0] == 2 - else iprot.readString() - ) - else: - iprot.skip(ftype) - elif fid == 6: - if ftype == TType.I64: - self.startTime = iprot.readI64() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write( - oprot._fast_encode(self, [self.__class__, self.thrift_spec]) - ) - return - oprot.writeStructBegin("TProgressUpdateResp") - if self.headerNames is not None: - oprot.writeFieldBegin("headerNames", TType.LIST, 1) - oprot.writeListBegin(TType.STRING, len(self.headerNames)) - for iter308 in self.headerNames: - oprot.writeString( - iter308.encode("utf-8") if sys.version_info[0] == 2 else iter308 - ) - oprot.writeListEnd() - oprot.writeFieldEnd() - if self.rows is not None: - oprot.writeFieldBegin("rows", TType.LIST, 2) - oprot.writeListBegin(TType.LIST, len(self.rows)) - for iter309 in self.rows: - oprot.writeListBegin(TType.STRING, len(iter309)) - for iter310 in iter309: - oprot.writeString( - iter310.encode("utf-8") if sys.version_info[0] == 2 else iter310 - ) - oprot.writeListEnd() - oprot.writeListEnd() - oprot.writeFieldEnd() - if self.progressedPercentage is not None: - oprot.writeFieldBegin("progressedPercentage", TType.DOUBLE, 3) - oprot.writeDouble(self.progressedPercentage) - oprot.writeFieldEnd() - if self.status is not None: - oprot.writeFieldBegin("status", TType.I32, 4) - oprot.writeI32(self.status) - oprot.writeFieldEnd() - if self.footerSummary is not None: - oprot.writeFieldBegin("footerSummary", TType.STRING, 5) - oprot.writeString( - self.footerSummary.encode("utf-8") - if sys.version_info[0] == 2 - else self.footerSummary - ) - oprot.writeFieldEnd() - if self.startTime is not None: - oprot.writeFieldBegin("startTime", TType.I64, 6) - oprot.writeI64(self.startTime) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.headerNames is None: - raise TProtocolException(message="Required field headerNames is unset!") - if self.rows is None: - raise TProtocolException(message="Required field rows is unset!") - if self.progressedPercentage is None: - raise TProtocolException( - message="Required field progressedPercentage is unset!" - ) - if self.status is None: - raise TProtocolException(message="Required field status is unset!") - if self.footerSummary is None: - raise TProtocolException(message="Required field footerSummary is unset!") - if self.startTime is None: - raise TProtocolException(message="Required field startTime is unset!") - return - - def __repr__(self): - L = ["%s=%r" % (key, value) for key, value in self.__dict__.items()] - return "%s(%s)" % (self.__class__.__name__, ", ".join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) - + def __init__(self, headerNames=None, rows=None, progressedPercentage=None, status=None, footerSummary=None, startTime=None,): + self.headerNames = headerNames + self.rows = rows + self.progressedPercentage = progressedPercentage + self.status = status + self.footerSummary = footerSummary + self.startTime = startTime + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.LIST: + self.headerNames = [] + (_etype293, _size290) = iprot.readListBegin() + for _i294 in range(_size290): + _elem295 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.headerNames.append(_elem295) + iprot.readListEnd() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.LIST: + self.rows = [] + (_etype299, _size296) = iprot.readListBegin() + for _i300 in range(_size296): + _elem301 = [] + (_etype305, _size302) = iprot.readListBegin() + for _i306 in range(_size302): + _elem307 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + _elem301.append(_elem307) + iprot.readListEnd() + self.rows.append(_elem301) + iprot.readListEnd() + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.DOUBLE: + self.progressedPercentage = iprot.readDouble() + else: + iprot.skip(ftype) + elif fid == 4: + if ftype == TType.I32: + self.status = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 5: + if ftype == TType.STRING: + self.footerSummary = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 6: + if ftype == TType.I64: + self.startTime = iprot.readI64() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TProgressUpdateResp') + if self.headerNames is not None: + oprot.writeFieldBegin('headerNames', TType.LIST, 1) + oprot.writeListBegin(TType.STRING, len(self.headerNames)) + for iter308 in self.headerNames: + oprot.writeString(iter308.encode('utf-8') if sys.version_info[0] == 2 else iter308) + oprot.writeListEnd() + oprot.writeFieldEnd() + if self.rows is not None: + oprot.writeFieldBegin('rows', TType.LIST, 2) + oprot.writeListBegin(TType.LIST, len(self.rows)) + for iter309 in self.rows: + oprot.writeListBegin(TType.STRING, len(iter309)) + for iter310 in iter309: + oprot.writeString(iter310.encode('utf-8') if sys.version_info[0] == 2 else iter310) + oprot.writeListEnd() + oprot.writeListEnd() + oprot.writeFieldEnd() + if self.progressedPercentage is not None: + oprot.writeFieldBegin('progressedPercentage', TType.DOUBLE, 3) + oprot.writeDouble(self.progressedPercentage) + oprot.writeFieldEnd() + if self.status is not None: + oprot.writeFieldBegin('status', TType.I32, 4) + oprot.writeI32(self.status) + oprot.writeFieldEnd() + if self.footerSummary is not None: + oprot.writeFieldBegin('footerSummary', TType.STRING, 5) + oprot.writeString(self.footerSummary.encode('utf-8') if sys.version_info[0] == 2 else self.footerSummary) + oprot.writeFieldEnd() + if self.startTime is not None: + oprot.writeFieldBegin('startTime', TType.I64, 6) + oprot.writeI64(self.startTime) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.headerNames is None: + raise TProtocolException(message='Required field headerNames is unset!') + if self.rows is None: + raise TProtocolException(message='Required field rows is unset!') + if self.progressedPercentage is None: + raise TProtocolException(message='Required field progressedPercentage is unset!') + if self.status is None: + raise TProtocolException(message='Required field status is unset!') + if self.footerSummary is None: + raise TProtocolException(message='Required field footerSummary is unset!') + if self.startTime is None: + raise TProtocolException(message='Required field startTime is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) all_structs.append(TTypeQualifierValue) TTypeQualifierValue.thrift_spec = ( - None, # 0 - ( - 1, - TType.I32, - "i32Value", - None, - None, - ), # 1 - ( - 2, - TType.STRING, - "stringValue", - "UTF8", - None, - ), # 2 + None, # 0 + (1, TType.I32, 'i32Value', None, None, ), # 1 + (2, TType.STRING, 'stringValue', 'UTF8', None, ), # 2 ) all_structs.append(TTypeQualifiers) TTypeQualifiers.thrift_spec = ( - None, # 0 - ( - 1, - TType.MAP, - "qualifiers", - (TType.STRING, "UTF8", TType.STRUCT, [TTypeQualifierValue, None], False), - None, - ), # 1 + None, # 0 + (1, TType.MAP, 'qualifiers', (TType.STRING, 'UTF8', TType.STRUCT, [TTypeQualifierValue, None], False), None, ), # 1 ) all_structs.append(TTAllowedParameterValueEntry) TTAllowedParameterValueEntry.thrift_spec = ( - None, # 0 - ( - 1, - TType.I32, - "type", - None, - None, - ), # 1 - ( - 2, - TType.STRUCT, - "typeQualifiers", - [TTypeQualifiers, None], - None, - ), # 2 + None, # 0 + (1, TType.I32, 'type', None, None, ), # 1 + (2, TType.STRUCT, 'typeQualifiers', [TTypeQualifiers, None], None, ), # 2 ) all_structs.append(TArrayTypeEntry) TArrayTypeEntry.thrift_spec = ( - None, # 0 - ( - 1, - TType.I32, - "objectTypePtr", - None, - None, - ), # 1 + None, # 0 + (1, TType.I32, 'objectTypePtr', None, None, ), # 1 ) all_structs.append(TMapTypeEntry) TMapTypeEntry.thrift_spec = ( - None, # 0 - ( - 1, - TType.I32, - "keyTypePtr", - None, - None, - ), # 1 - ( - 2, - TType.I32, - "valueTypePtr", - None, - None, - ), # 2 + None, # 0 + (1, TType.I32, 'keyTypePtr', None, None, ), # 1 + (2, TType.I32, 'valueTypePtr', None, None, ), # 2 ) all_structs.append(TStructTypeEntry) TStructTypeEntry.thrift_spec = ( - None, # 0 - ( - 1, - TType.MAP, - "nameToTypePtr", - (TType.STRING, "UTF8", TType.I32, None, False), - None, - ), # 1 + None, # 0 + (1, TType.MAP, 'nameToTypePtr', (TType.STRING, 'UTF8', TType.I32, None, False), None, ), # 1 ) all_structs.append(TUnionTypeEntry) TUnionTypeEntry.thrift_spec = ( - None, # 0 - ( - 1, - TType.MAP, - "nameToTypePtr", - (TType.STRING, "UTF8", TType.I32, None, False), - None, - ), # 1 + None, # 0 + (1, TType.MAP, 'nameToTypePtr', (TType.STRING, 'UTF8', TType.I32, None, False), None, ), # 1 ) all_structs.append(TUserDefinedTypeEntry) TUserDefinedTypeEntry.thrift_spec = ( - None, # 0 - ( - 1, - TType.STRING, - "typeClassName", - "UTF8", - None, - ), # 1 + None, # 0 + (1, TType.STRING, 'typeClassName', 'UTF8', None, ), # 1 ) all_structs.append(TTypeEntry) TTypeEntry.thrift_spec = ( - None, # 0 - ( - 1, - TType.STRUCT, - "primitiveEntry", - [TTAllowedParameterValueEntry, None], - None, - ), # 1 - ( - 2, - TType.STRUCT, - "arrayEntry", - [TArrayTypeEntry, None], - None, - ), # 2 - ( - 3, - TType.STRUCT, - "mapEntry", - [TMapTypeEntry, None], - None, - ), # 3 - ( - 4, - TType.STRUCT, - "structEntry", - [TStructTypeEntry, None], - None, - ), # 4 - ( - 5, - TType.STRUCT, - "unionEntry", - [TUnionTypeEntry, None], - None, - ), # 5 - ( - 6, - TType.STRUCT, - "userDefinedTypeEntry", - [TUserDefinedTypeEntry, None], - None, - ), # 6 + None, # 0 + (1, TType.STRUCT, 'primitiveEntry', [TTAllowedParameterValueEntry, None], None, ), # 1 + (2, TType.STRUCT, 'arrayEntry', [TArrayTypeEntry, None], None, ), # 2 + (3, TType.STRUCT, 'mapEntry', [TMapTypeEntry, None], None, ), # 3 + (4, TType.STRUCT, 'structEntry', [TStructTypeEntry, None], None, ), # 4 + (5, TType.STRUCT, 'unionEntry', [TUnionTypeEntry, None], None, ), # 5 + (6, TType.STRUCT, 'userDefinedTypeEntry', [TUserDefinedTypeEntry, None], None, ), # 6 ) all_structs.append(TTypeDesc) TTypeDesc.thrift_spec = ( - None, # 0 - ( - 1, - TType.LIST, - "types", - (TType.STRUCT, [TTypeEntry, None], False), - None, - ), # 1 + None, # 0 + (1, TType.LIST, 'types', (TType.STRUCT, [TTypeEntry, None], False), None, ), # 1 ) all_structs.append(TColumnDesc) TColumnDesc.thrift_spec = ( - None, # 0 - ( - 1, - TType.STRING, - "columnName", - "UTF8", - None, - ), # 1 - ( - 2, - TType.STRUCT, - "typeDesc", - [TTypeDesc, None], - None, - ), # 2 - ( - 3, - TType.I32, - "position", - None, - None, - ), # 3 - ( - 4, - TType.STRING, - "comment", - "UTF8", - None, - ), # 4 + None, # 0 + (1, TType.STRING, 'columnName', 'UTF8', None, ), # 1 + (2, TType.STRUCT, 'typeDesc', [TTypeDesc, None], None, ), # 2 + (3, TType.I32, 'position', None, None, ), # 3 + (4, TType.STRING, 'comment', 'UTF8', None, ), # 4 ) all_structs.append(TTableSchema) TTableSchema.thrift_spec = ( - None, # 0 - ( - 1, - TType.LIST, - "columns", - (TType.STRUCT, [TColumnDesc, None], False), - None, - ), # 1 + None, # 0 + (1, TType.LIST, 'columns', (TType.STRUCT, [TColumnDesc, None], False), None, ), # 1 ) all_structs.append(TBoolValue) TBoolValue.thrift_spec = ( - None, # 0 - ( - 1, - TType.BOOL, - "value", - None, - None, - ), # 1 + None, # 0 + (1, TType.BOOL, 'value', None, None, ), # 1 ) all_structs.append(TByteValue) TByteValue.thrift_spec = ( - None, # 0 - ( - 1, - TType.BYTE, - "value", - None, - None, - ), # 1 + None, # 0 + (1, TType.BYTE, 'value', None, None, ), # 1 ) all_structs.append(TI16Value) TI16Value.thrift_spec = ( - None, # 0 - ( - 1, - TType.I16, - "value", - None, - None, - ), # 1 + None, # 0 + (1, TType.I16, 'value', None, None, ), # 1 ) all_structs.append(TI32Value) TI32Value.thrift_spec = ( - None, # 0 - ( - 1, - TType.I32, - "value", - None, - None, - ), # 1 + None, # 0 + (1, TType.I32, 'value', None, None, ), # 1 ) all_structs.append(TI64Value) TI64Value.thrift_spec = ( - None, # 0 - ( - 1, - TType.I64, - "value", - None, - None, - ), # 1 + None, # 0 + (1, TType.I64, 'value', None, None, ), # 1 ) all_structs.append(TDoubleValue) TDoubleValue.thrift_spec = ( - None, # 0 - ( - 1, - TType.DOUBLE, - "value", - None, - None, - ), # 1 + None, # 0 + (1, TType.DOUBLE, 'value', None, None, ), # 1 ) all_structs.append(TStringValue) TStringValue.thrift_spec = ( - None, # 0 - ( - 1, - TType.STRING, - "value", - "UTF8", - None, - ), # 1 + None, # 0 + (1, TType.STRING, 'value', 'UTF8', None, ), # 1 ) all_structs.append(TColumnValue) TColumnValue.thrift_spec = ( - None, # 0 - ( - 1, - TType.STRUCT, - "boolVal", - [TBoolValue, None], - None, - ), # 1 - ( - 2, - TType.STRUCT, - "byteVal", - [TByteValue, None], - None, - ), # 2 - ( - 3, - TType.STRUCT, - "i16Val", - [TI16Value, None], - None, - ), # 3 - ( - 4, - TType.STRUCT, - "i32Val", - [TI32Value, None], - None, - ), # 4 - ( - 5, - TType.STRUCT, - "i64Val", - [TI64Value, None], - None, - ), # 5 - ( - 6, - TType.STRUCT, - "doubleVal", - [TDoubleValue, None], - None, - ), # 6 - ( - 7, - TType.STRUCT, - "stringVal", - [TStringValue, None], - None, - ), # 7 + None, # 0 + (1, TType.STRUCT, 'boolVal', [TBoolValue, None], None, ), # 1 + (2, TType.STRUCT, 'byteVal', [TByteValue, None], None, ), # 2 + (3, TType.STRUCT, 'i16Val', [TI16Value, None], None, ), # 3 + (4, TType.STRUCT, 'i32Val', [TI32Value, None], None, ), # 4 + (5, TType.STRUCT, 'i64Val', [TI64Value, None], None, ), # 5 + (6, TType.STRUCT, 'doubleVal', [TDoubleValue, None], None, ), # 6 + (7, TType.STRUCT, 'stringVal', [TStringValue, None], None, ), # 7 ) all_structs.append(TRow) TRow.thrift_spec = ( - None, # 0 - ( - 1, - TType.LIST, - "colVals", - (TType.STRUCT, [TColumnValue, None], False), - None, - ), # 1 + None, # 0 + (1, TType.LIST, 'colVals', (TType.STRUCT, [TColumnValue, None], False), None, ), # 1 ) all_structs.append(TBoolColumn) TBoolColumn.thrift_spec = ( - None, # 0 - ( - 1, - TType.LIST, - "values", - (TType.BOOL, None, False), - None, - ), # 1 - ( - 2, - TType.STRING, - "nulls", - "BINARY", - None, - ), # 2 + None, # 0 + (1, TType.LIST, 'values', (TType.BOOL, None, False), None, ), # 1 + (2, TType.STRING, 'nulls', 'BINARY', None, ), # 2 ) all_structs.append(TByteColumn) TByteColumn.thrift_spec = ( - None, # 0 - ( - 1, - TType.LIST, - "values", - (TType.BYTE, None, False), - None, - ), # 1 - ( - 2, - TType.STRING, - "nulls", - "BINARY", - None, - ), # 2 + None, # 0 + (1, TType.LIST, 'values', (TType.BYTE, None, False), None, ), # 1 + (2, TType.STRING, 'nulls', 'BINARY', None, ), # 2 ) all_structs.append(TI16Column) TI16Column.thrift_spec = ( - None, # 0 - ( - 1, - TType.LIST, - "values", - (TType.I16, None, False), - None, - ), # 1 - ( - 2, - TType.STRING, - "nulls", - "BINARY", - None, - ), # 2 + None, # 0 + (1, TType.LIST, 'values', (TType.I16, None, False), None, ), # 1 + (2, TType.STRING, 'nulls', 'BINARY', None, ), # 2 ) all_structs.append(TI32Column) TI32Column.thrift_spec = ( - None, # 0 - ( - 1, - TType.LIST, - "values", - (TType.I32, None, False), - None, - ), # 1 - ( - 2, - TType.STRING, - "nulls", - "BINARY", - None, - ), # 2 + None, # 0 + (1, TType.LIST, 'values', (TType.I32, None, False), None, ), # 1 + (2, TType.STRING, 'nulls', 'BINARY', None, ), # 2 ) all_structs.append(TI64Column) TI64Column.thrift_spec = ( - None, # 0 - ( - 1, - TType.LIST, - "values", - (TType.I64, None, False), - None, - ), # 1 - ( - 2, - TType.STRING, - "nulls", - "BINARY", - None, - ), # 2 + None, # 0 + (1, TType.LIST, 'values', (TType.I64, None, False), None, ), # 1 + (2, TType.STRING, 'nulls', 'BINARY', None, ), # 2 ) all_structs.append(TDoubleColumn) TDoubleColumn.thrift_spec = ( - None, # 0 - ( - 1, - TType.LIST, - "values", - (TType.DOUBLE, None, False), - None, - ), # 1 - ( - 2, - TType.STRING, - "nulls", - "BINARY", - None, - ), # 2 + None, # 0 + (1, TType.LIST, 'values', (TType.DOUBLE, None, False), None, ), # 1 + (2, TType.STRING, 'nulls', 'BINARY', None, ), # 2 ) all_structs.append(TStringColumn) TStringColumn.thrift_spec = ( - None, # 0 - ( - 1, - TType.LIST, - "values", - (TType.STRING, "UTF8", False), - None, - ), # 1 - ( - 2, - TType.STRING, - "nulls", - "BINARY", - None, - ), # 2 + None, # 0 + (1, TType.LIST, 'values', (TType.STRING, 'UTF8', False), None, ), # 1 + (2, TType.STRING, 'nulls', 'BINARY', None, ), # 2 ) all_structs.append(TBinaryColumn) TBinaryColumn.thrift_spec = ( - None, # 0 - ( - 1, - TType.LIST, - "values", - (TType.STRING, "BINARY", False), - None, - ), # 1 - ( - 2, - TType.STRING, - "nulls", - "BINARY", - None, - ), # 2 + None, # 0 + (1, TType.LIST, 'values', (TType.STRING, 'BINARY', False), None, ), # 1 + (2, TType.STRING, 'nulls', 'BINARY', None, ), # 2 ) all_structs.append(TColumn) TColumn.thrift_spec = ( - None, # 0 - ( - 1, - TType.STRUCT, - "boolVal", - [TBoolColumn, None], - None, - ), # 1 - ( - 2, - TType.STRUCT, - "byteVal", - [TByteColumn, None], - None, - ), # 2 - ( - 3, - TType.STRUCT, - "i16Val", - [TI16Column, None], - None, - ), # 3 - ( - 4, - TType.STRUCT, - "i32Val", - [TI32Column, None], - None, - ), # 4 - ( - 5, - TType.STRUCT, - "i64Val", - [TI64Column, None], - None, - ), # 5 - ( - 6, - TType.STRUCT, - "doubleVal", - [TDoubleColumn, None], - None, - ), # 6 - ( - 7, - TType.STRUCT, - "stringVal", - [TStringColumn, None], - None, - ), # 7 - ( - 8, - TType.STRUCT, - "binaryVal", - [TBinaryColumn, None], - None, - ), # 8 + None, # 0 + (1, TType.STRUCT, 'boolVal', [TBoolColumn, None], None, ), # 1 + (2, TType.STRUCT, 'byteVal', [TByteColumn, None], None, ), # 2 + (3, TType.STRUCT, 'i16Val', [TI16Column, None], None, ), # 3 + (4, TType.STRUCT, 'i32Val', [TI32Column, None], None, ), # 4 + (5, TType.STRUCT, 'i64Val', [TI64Column, None], None, ), # 5 + (6, TType.STRUCT, 'doubleVal', [TDoubleColumn, None], None, ), # 6 + (7, TType.STRUCT, 'stringVal', [TStringColumn, None], None, ), # 7 + (8, TType.STRUCT, 'binaryVal', [TBinaryColumn, None], None, ), # 8 ) all_structs.append(TDBSqlJsonArrayFormat) TDBSqlJsonArrayFormat.thrift_spec = ( - None, # 0 - ( - 1, - TType.I32, - "compressionCodec", - None, - None, - ), # 1 + None, # 0 + (1, TType.I32, 'compressionCodec', None, None, ), # 1 ) all_structs.append(TDBSqlCsvFormat) TDBSqlCsvFormat.thrift_spec = ( - None, # 0 - ( - 1, - TType.I32, - "compressionCodec", - None, - None, - ), # 1 + None, # 0 + (1, TType.I32, 'compressionCodec', None, None, ), # 1 ) all_structs.append(TDBSqlArrowFormat) TDBSqlArrowFormat.thrift_spec = ( - None, # 0 - ( - 1, - TType.I32, - "arrowLayout", - None, - None, - ), # 1 - ( - 2, - TType.I32, - "compressionCodec", - None, - None, - ), # 2 + None, # 0 + (1, TType.I32, 'arrowLayout', None, None, ), # 1 + (2, TType.I32, 'compressionCodec', None, None, ), # 2 ) all_structs.append(TDBSqlResultFormat) TDBSqlResultFormat.thrift_spec = ( - None, # 0 - ( - 1, - TType.STRUCT, - "arrowFormat", - [TDBSqlArrowFormat, None], - None, - ), # 1 - ( - 2, - TType.STRUCT, - "csvFormat", - [TDBSqlCsvFormat, None], - None, - ), # 2 - ( - 3, - TType.STRUCT, - "jsonArrayFormat", - [TDBSqlJsonArrayFormat, None], - None, - ), # 3 + None, # 0 + (1, TType.STRUCT, 'arrowFormat', [TDBSqlArrowFormat, None], None, ), # 1 + (2, TType.STRUCT, 'csvFormat', [TDBSqlCsvFormat, None], None, ), # 2 + (3, TType.STRUCT, 'jsonArrayFormat', [TDBSqlJsonArrayFormat, None], None, ), # 3 ) all_structs.append(TSparkArrowBatch) TSparkArrowBatch.thrift_spec = ( - None, # 0 - ( - 1, - TType.STRING, - "batch", - "BINARY", - None, - ), # 1 - ( - 2, - TType.I64, - "rowCount", - None, - None, - ), # 2 + None, # 0 + (1, TType.STRING, 'batch', 'BINARY', None, ), # 1 + (2, TType.I64, 'rowCount', None, None, ), # 2 ) all_structs.append(TSparkArrowResultLink) TSparkArrowResultLink.thrift_spec = ( - None, # 0 - ( - 1, - TType.STRING, - "fileLink", - "UTF8", - None, - ), # 1 - ( - 2, - TType.I64, - "expiryTime", - None, - None, - ), # 2 - ( - 3, - TType.I64, - "startRowOffset", - None, - None, - ), # 3 - ( - 4, - TType.I64, - "rowCount", - None, - None, - ), # 4 - ( - 5, - TType.I64, - "bytesNum", - None, - None, - ), # 5 - ( - 6, - TType.MAP, - "httpHeaders", - (TType.STRING, "UTF8", TType.STRING, "UTF8", False), - None, - ), # 6 + None, # 0 + (1, TType.STRING, 'fileLink', 'UTF8', None, ), # 1 + (2, TType.I64, 'expiryTime', None, None, ), # 2 + (3, TType.I64, 'startRowOffset', None, None, ), # 3 + (4, TType.I64, 'rowCount', None, None, ), # 4 + (5, TType.I64, 'bytesNum', None, None, ), # 5 + (6, TType.MAP, 'httpHeaders', (TType.STRING, 'UTF8', TType.STRING, 'UTF8', False), None, ), # 6 ) all_structs.append(TDBSqlCloudResultFile) TDBSqlCloudResultFile.thrift_spec = ( - None, # 0 - ( - 1, - TType.STRING, - "filePath", - "UTF8", - None, - ), # 1 - ( - 2, - TType.I64, - "startRowOffset", - None, - None, - ), # 2 - ( - 3, - TType.I64, - "rowCount", - None, - None, - ), # 3 - ( - 4, - TType.I64, - "uncompressedBytes", - None, - None, - ), # 4 - ( - 5, - TType.I64, - "compressedBytes", - None, - None, - ), # 5 - ( - 6, - TType.STRING, - "fileLink", - "UTF8", - None, - ), # 6 - ( - 7, - TType.I64, - "linkExpiryTime", - None, - None, - ), # 7 - ( - 8, - TType.MAP, - "httpHeaders", - (TType.STRING, "UTF8", TType.STRING, "UTF8", False), - None, - ), # 8 + None, # 0 + (1, TType.STRING, 'filePath', 'UTF8', None, ), # 1 + (2, TType.I64, 'startRowOffset', None, None, ), # 2 + (3, TType.I64, 'rowCount', None, None, ), # 3 + (4, TType.I64, 'uncompressedBytes', None, None, ), # 4 + (5, TType.I64, 'compressedBytes', None, None, ), # 5 + (6, TType.STRING, 'fileLink', 'UTF8', None, ), # 6 + (7, TType.I64, 'linkExpiryTime', None, None, ), # 7 + (8, TType.MAP, 'httpHeaders', (TType.STRING, 'UTF8', TType.STRING, 'UTF8', False), None, ), # 8 ) all_structs.append(TRowSet) TRowSet.thrift_spec = ( - None, # 0 - ( - 1, - TType.I64, - "startRowOffset", - None, - None, - ), # 1 - ( - 2, - TType.LIST, - "rows", - (TType.STRUCT, [TRow, None], False), - None, - ), # 2 - ( - 3, - TType.LIST, - "columns", - (TType.STRUCT, [TColumn, None], False), - None, - ), # 3 - ( - 4, - TType.STRING, - "binaryColumns", - "BINARY", - None, - ), # 4 - ( - 5, - TType.I32, - "columnCount", - None, - None, - ), # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - ( - 1281, - TType.LIST, - "arrowBatches", - (TType.STRUCT, [TSparkArrowBatch, None], False), - None, - ), # 1281 - ( - 1282, - TType.LIST, - "resultLinks", - (TType.STRUCT, [TSparkArrowResultLink, None], False), - None, - ), # 1282 - None, # 1283 - None, # 1284 - None, # 1285 - None, # 1286 - None, # 1287 - None, # 1288 - None, # 1289 - None, # 1290 - None, # 1291 - None, # 1292 - None, # 1293 - None, # 1294 - None, # 1295 - None, # 1296 - None, # 1297 - None, # 1298 - None, # 1299 - None, # 1300 - None, # 1301 - None, # 1302 - None, # 1303 - None, # 1304 - None, # 1305 - None, # 1306 - None, # 1307 - None, # 1308 - None, # 1309 - None, # 1310 - None, # 1311 - None, # 1312 - None, # 1313 - None, # 1314 - None, # 1315 - None, # 1316 - None, # 1317 - None, # 1318 - None, # 1319 - None, # 1320 - None, # 1321 - None, # 1322 - None, # 1323 - None, # 1324 - None, # 1325 - None, # 1326 - None, # 1327 - None, # 1328 - None, # 1329 - None, # 1330 - None, # 1331 - None, # 1332 - None, # 1333 - None, # 1334 - None, # 1335 - None, # 1336 - None, # 1337 - None, # 1338 - None, # 1339 - None, # 1340 - None, # 1341 - None, # 1342 - None, # 1343 - None, # 1344 - None, # 1345 - None, # 1346 - None, # 1347 - None, # 1348 - None, # 1349 - None, # 1350 - None, # 1351 - None, # 1352 - None, # 1353 - None, # 1354 - None, # 1355 - None, # 1356 - None, # 1357 - None, # 1358 - None, # 1359 - None, # 1360 - None, # 1361 - None, # 1362 - None, # 1363 - None, # 1364 - None, # 1365 - None, # 1366 - None, # 1367 - None, # 1368 - None, # 1369 - None, # 1370 - None, # 1371 - None, # 1372 - None, # 1373 - None, # 1374 - None, # 1375 - None, # 1376 - None, # 1377 - None, # 1378 - None, # 1379 - None, # 1380 - None, # 1381 - None, # 1382 - None, # 1383 - None, # 1384 - None, # 1385 - None, # 1386 - None, # 1387 - None, # 1388 - None, # 1389 - None, # 1390 - None, # 1391 - None, # 1392 - None, # 1393 - None, # 1394 - None, # 1395 - None, # 1396 - None, # 1397 - None, # 1398 - None, # 1399 - None, # 1400 - None, # 1401 - None, # 1402 - None, # 1403 - None, # 1404 - None, # 1405 - None, # 1406 - None, # 1407 - None, # 1408 - None, # 1409 - None, # 1410 - None, # 1411 - None, # 1412 - None, # 1413 - None, # 1414 - None, # 1415 - None, # 1416 - None, # 1417 - None, # 1418 - None, # 1419 - None, # 1420 - None, # 1421 - None, # 1422 - None, # 1423 - None, # 1424 - None, # 1425 - None, # 1426 - None, # 1427 - None, # 1428 - None, # 1429 - None, # 1430 - None, # 1431 - None, # 1432 - None, # 1433 - None, # 1434 - None, # 1435 - None, # 1436 - None, # 1437 - None, # 1438 - None, # 1439 - None, # 1440 - None, # 1441 - None, # 1442 - None, # 1443 - None, # 1444 - None, # 1445 - None, # 1446 - None, # 1447 - None, # 1448 - None, # 1449 - None, # 1450 - None, # 1451 - None, # 1452 - None, # 1453 - None, # 1454 - None, # 1455 - None, # 1456 - None, # 1457 - None, # 1458 - None, # 1459 - None, # 1460 - None, # 1461 - None, # 1462 - None, # 1463 - None, # 1464 - None, # 1465 - None, # 1466 - None, # 1467 - None, # 1468 - None, # 1469 - None, # 1470 - None, # 1471 - None, # 1472 - None, # 1473 - None, # 1474 - None, # 1475 - None, # 1476 - None, # 1477 - None, # 1478 - None, # 1479 - None, # 1480 - None, # 1481 - None, # 1482 - None, # 1483 - None, # 1484 - None, # 1485 - None, # 1486 - None, # 1487 - None, # 1488 - None, # 1489 - None, # 1490 - None, # 1491 - None, # 1492 - None, # 1493 - None, # 1494 - None, # 1495 - None, # 1496 - None, # 1497 - None, # 1498 - None, # 1499 - None, # 1500 - None, # 1501 - None, # 1502 - None, # 1503 - None, # 1504 - None, # 1505 - None, # 1506 - None, # 1507 - None, # 1508 - None, # 1509 - None, # 1510 - None, # 1511 - None, # 1512 - None, # 1513 - None, # 1514 - None, # 1515 - None, # 1516 - None, # 1517 - None, # 1518 - None, # 1519 - None, # 1520 - None, # 1521 - None, # 1522 - None, # 1523 - None, # 1524 - None, # 1525 - None, # 1526 - None, # 1527 - None, # 1528 - None, # 1529 - None, # 1530 - None, # 1531 - None, # 1532 - None, # 1533 - None, # 1534 - None, # 1535 - None, # 1536 - None, # 1537 - None, # 1538 - None, # 1539 - None, # 1540 - None, # 1541 - None, # 1542 - None, # 1543 - None, # 1544 - None, # 1545 - None, # 1546 - None, # 1547 - None, # 1548 - None, # 1549 - None, # 1550 - None, # 1551 - None, # 1552 - None, # 1553 - None, # 1554 - None, # 1555 - None, # 1556 - None, # 1557 - None, # 1558 - None, # 1559 - None, # 1560 - None, # 1561 - None, # 1562 - None, # 1563 - None, # 1564 - None, # 1565 - None, # 1566 - None, # 1567 - None, # 1568 - None, # 1569 - None, # 1570 - None, # 1571 - None, # 1572 - None, # 1573 - None, # 1574 - None, # 1575 - None, # 1576 - None, # 1577 - None, # 1578 - None, # 1579 - None, # 1580 - None, # 1581 - None, # 1582 - None, # 1583 - None, # 1584 - None, # 1585 - None, # 1586 - None, # 1587 - None, # 1588 - None, # 1589 - None, # 1590 - None, # 1591 - None, # 1592 - None, # 1593 - None, # 1594 - None, # 1595 - None, # 1596 - None, # 1597 - None, # 1598 - None, # 1599 - None, # 1600 - None, # 1601 - None, # 1602 - None, # 1603 - None, # 1604 - None, # 1605 - None, # 1606 - None, # 1607 - None, # 1608 - None, # 1609 - None, # 1610 - None, # 1611 - None, # 1612 - None, # 1613 - None, # 1614 - None, # 1615 - None, # 1616 - None, # 1617 - None, # 1618 - None, # 1619 - None, # 1620 - None, # 1621 - None, # 1622 - None, # 1623 - None, # 1624 - None, # 1625 - None, # 1626 - None, # 1627 - None, # 1628 - None, # 1629 - None, # 1630 - None, # 1631 - None, # 1632 - None, # 1633 - None, # 1634 - None, # 1635 - None, # 1636 - None, # 1637 - None, # 1638 - None, # 1639 - None, # 1640 - None, # 1641 - None, # 1642 - None, # 1643 - None, # 1644 - None, # 1645 - None, # 1646 - None, # 1647 - None, # 1648 - None, # 1649 - None, # 1650 - None, # 1651 - None, # 1652 - None, # 1653 - None, # 1654 - None, # 1655 - None, # 1656 - None, # 1657 - None, # 1658 - None, # 1659 - None, # 1660 - None, # 1661 - None, # 1662 - None, # 1663 - None, # 1664 - None, # 1665 - None, # 1666 - None, # 1667 - None, # 1668 - None, # 1669 - None, # 1670 - None, # 1671 - None, # 1672 - None, # 1673 - None, # 1674 - None, # 1675 - None, # 1676 - None, # 1677 - None, # 1678 - None, # 1679 - None, # 1680 - None, # 1681 - None, # 1682 - None, # 1683 - None, # 1684 - None, # 1685 - None, # 1686 - None, # 1687 - None, # 1688 - None, # 1689 - None, # 1690 - None, # 1691 - None, # 1692 - None, # 1693 - None, # 1694 - None, # 1695 - None, # 1696 - None, # 1697 - None, # 1698 - None, # 1699 - None, # 1700 - None, # 1701 - None, # 1702 - None, # 1703 - None, # 1704 - None, # 1705 - None, # 1706 - None, # 1707 - None, # 1708 - None, # 1709 - None, # 1710 - None, # 1711 - None, # 1712 - None, # 1713 - None, # 1714 - None, # 1715 - None, # 1716 - None, # 1717 - None, # 1718 - None, # 1719 - None, # 1720 - None, # 1721 - None, # 1722 - None, # 1723 - None, # 1724 - None, # 1725 - None, # 1726 - None, # 1727 - None, # 1728 - None, # 1729 - None, # 1730 - None, # 1731 - None, # 1732 - None, # 1733 - None, # 1734 - None, # 1735 - None, # 1736 - None, # 1737 - None, # 1738 - None, # 1739 - None, # 1740 - None, # 1741 - None, # 1742 - None, # 1743 - None, # 1744 - None, # 1745 - None, # 1746 - None, # 1747 - None, # 1748 - None, # 1749 - None, # 1750 - None, # 1751 - None, # 1752 - None, # 1753 - None, # 1754 - None, # 1755 - None, # 1756 - None, # 1757 - None, # 1758 - None, # 1759 - None, # 1760 - None, # 1761 - None, # 1762 - None, # 1763 - None, # 1764 - None, # 1765 - None, # 1766 - None, # 1767 - None, # 1768 - None, # 1769 - None, # 1770 - None, # 1771 - None, # 1772 - None, # 1773 - None, # 1774 - None, # 1775 - None, # 1776 - None, # 1777 - None, # 1778 - None, # 1779 - None, # 1780 - None, # 1781 - None, # 1782 - None, # 1783 - None, # 1784 - None, # 1785 - None, # 1786 - None, # 1787 - None, # 1788 - None, # 1789 - None, # 1790 - None, # 1791 - None, # 1792 - None, # 1793 - None, # 1794 - None, # 1795 - None, # 1796 - None, # 1797 - None, # 1798 - None, # 1799 - None, # 1800 - None, # 1801 - None, # 1802 - None, # 1803 - None, # 1804 - None, # 1805 - None, # 1806 - None, # 1807 - None, # 1808 - None, # 1809 - None, # 1810 - None, # 1811 - None, # 1812 - None, # 1813 - None, # 1814 - None, # 1815 - None, # 1816 - None, # 1817 - None, # 1818 - None, # 1819 - None, # 1820 - None, # 1821 - None, # 1822 - None, # 1823 - None, # 1824 - None, # 1825 - None, # 1826 - None, # 1827 - None, # 1828 - None, # 1829 - None, # 1830 - None, # 1831 - None, # 1832 - None, # 1833 - None, # 1834 - None, # 1835 - None, # 1836 - None, # 1837 - None, # 1838 - None, # 1839 - None, # 1840 - None, # 1841 - None, # 1842 - None, # 1843 - None, # 1844 - None, # 1845 - None, # 1846 - None, # 1847 - None, # 1848 - None, # 1849 - None, # 1850 - None, # 1851 - None, # 1852 - None, # 1853 - None, # 1854 - None, # 1855 - None, # 1856 - None, # 1857 - None, # 1858 - None, # 1859 - None, # 1860 - None, # 1861 - None, # 1862 - None, # 1863 - None, # 1864 - None, # 1865 - None, # 1866 - None, # 1867 - None, # 1868 - None, # 1869 - None, # 1870 - None, # 1871 - None, # 1872 - None, # 1873 - None, # 1874 - None, # 1875 - None, # 1876 - None, # 1877 - None, # 1878 - None, # 1879 - None, # 1880 - None, # 1881 - None, # 1882 - None, # 1883 - None, # 1884 - None, # 1885 - None, # 1886 - None, # 1887 - None, # 1888 - None, # 1889 - None, # 1890 - None, # 1891 - None, # 1892 - None, # 1893 - None, # 1894 - None, # 1895 - None, # 1896 - None, # 1897 - None, # 1898 - None, # 1899 - None, # 1900 - None, # 1901 - None, # 1902 - None, # 1903 - None, # 1904 - None, # 1905 - None, # 1906 - None, # 1907 - None, # 1908 - None, # 1909 - None, # 1910 - None, # 1911 - None, # 1912 - None, # 1913 - None, # 1914 - None, # 1915 - None, # 1916 - None, # 1917 - None, # 1918 - None, # 1919 - None, # 1920 - None, # 1921 - None, # 1922 - None, # 1923 - None, # 1924 - None, # 1925 - None, # 1926 - None, # 1927 - None, # 1928 - None, # 1929 - None, # 1930 - None, # 1931 - None, # 1932 - None, # 1933 - None, # 1934 - None, # 1935 - None, # 1936 - None, # 1937 - None, # 1938 - None, # 1939 - None, # 1940 - None, # 1941 - None, # 1942 - None, # 1943 - None, # 1944 - None, # 1945 - None, # 1946 - None, # 1947 - None, # 1948 - None, # 1949 - None, # 1950 - None, # 1951 - None, # 1952 - None, # 1953 - None, # 1954 - None, # 1955 - None, # 1956 - None, # 1957 - None, # 1958 - None, # 1959 - None, # 1960 - None, # 1961 - None, # 1962 - None, # 1963 - None, # 1964 - None, # 1965 - None, # 1966 - None, # 1967 - None, # 1968 - None, # 1969 - None, # 1970 - None, # 1971 - None, # 1972 - None, # 1973 - None, # 1974 - None, # 1975 - None, # 1976 - None, # 1977 - None, # 1978 - None, # 1979 - None, # 1980 - None, # 1981 - None, # 1982 - None, # 1983 - None, # 1984 - None, # 1985 - None, # 1986 - None, # 1987 - None, # 1988 - None, # 1989 - None, # 1990 - None, # 1991 - None, # 1992 - None, # 1993 - None, # 1994 - None, # 1995 - None, # 1996 - None, # 1997 - None, # 1998 - None, # 1999 - None, # 2000 - None, # 2001 - None, # 2002 - None, # 2003 - None, # 2004 - None, # 2005 - None, # 2006 - None, # 2007 - None, # 2008 - None, # 2009 - None, # 2010 - None, # 2011 - None, # 2012 - None, # 2013 - None, # 2014 - None, # 2015 - None, # 2016 - None, # 2017 - None, # 2018 - None, # 2019 - None, # 2020 - None, # 2021 - None, # 2022 - None, # 2023 - None, # 2024 - None, # 2025 - None, # 2026 - None, # 2027 - None, # 2028 - None, # 2029 - None, # 2030 - None, # 2031 - None, # 2032 - None, # 2033 - None, # 2034 - None, # 2035 - None, # 2036 - None, # 2037 - None, # 2038 - None, # 2039 - None, # 2040 - None, # 2041 - None, # 2042 - None, # 2043 - None, # 2044 - None, # 2045 - None, # 2046 - None, # 2047 - None, # 2048 - None, # 2049 - None, # 2050 - None, # 2051 - None, # 2052 - None, # 2053 - None, # 2054 - None, # 2055 - None, # 2056 - None, # 2057 - None, # 2058 - None, # 2059 - None, # 2060 - None, # 2061 - None, # 2062 - None, # 2063 - None, # 2064 - None, # 2065 - None, # 2066 - None, # 2067 - None, # 2068 - None, # 2069 - None, # 2070 - None, # 2071 - None, # 2072 - None, # 2073 - None, # 2074 - None, # 2075 - None, # 2076 - None, # 2077 - None, # 2078 - None, # 2079 - None, # 2080 - None, # 2081 - None, # 2082 - None, # 2083 - None, # 2084 - None, # 2085 - None, # 2086 - None, # 2087 - None, # 2088 - None, # 2089 - None, # 2090 - None, # 2091 - None, # 2092 - None, # 2093 - None, # 2094 - None, # 2095 - None, # 2096 - None, # 2097 - None, # 2098 - None, # 2099 - None, # 2100 - None, # 2101 - None, # 2102 - None, # 2103 - None, # 2104 - None, # 2105 - None, # 2106 - None, # 2107 - None, # 2108 - None, # 2109 - None, # 2110 - None, # 2111 - None, # 2112 - None, # 2113 - None, # 2114 - None, # 2115 - None, # 2116 - None, # 2117 - None, # 2118 - None, # 2119 - None, # 2120 - None, # 2121 - None, # 2122 - None, # 2123 - None, # 2124 - None, # 2125 - None, # 2126 - None, # 2127 - None, # 2128 - None, # 2129 - None, # 2130 - None, # 2131 - None, # 2132 - None, # 2133 - None, # 2134 - None, # 2135 - None, # 2136 - None, # 2137 - None, # 2138 - None, # 2139 - None, # 2140 - None, # 2141 - None, # 2142 - None, # 2143 - None, # 2144 - None, # 2145 - None, # 2146 - None, # 2147 - None, # 2148 - None, # 2149 - None, # 2150 - None, # 2151 - None, # 2152 - None, # 2153 - None, # 2154 - None, # 2155 - None, # 2156 - None, # 2157 - None, # 2158 - None, # 2159 - None, # 2160 - None, # 2161 - None, # 2162 - None, # 2163 - None, # 2164 - None, # 2165 - None, # 2166 - None, # 2167 - None, # 2168 - None, # 2169 - None, # 2170 - None, # 2171 - None, # 2172 - None, # 2173 - None, # 2174 - None, # 2175 - None, # 2176 - None, # 2177 - None, # 2178 - None, # 2179 - None, # 2180 - None, # 2181 - None, # 2182 - None, # 2183 - None, # 2184 - None, # 2185 - None, # 2186 - None, # 2187 - None, # 2188 - None, # 2189 - None, # 2190 - None, # 2191 - None, # 2192 - None, # 2193 - None, # 2194 - None, # 2195 - None, # 2196 - None, # 2197 - None, # 2198 - None, # 2199 - None, # 2200 - None, # 2201 - None, # 2202 - None, # 2203 - None, # 2204 - None, # 2205 - None, # 2206 - None, # 2207 - None, # 2208 - None, # 2209 - None, # 2210 - None, # 2211 - None, # 2212 - None, # 2213 - None, # 2214 - None, # 2215 - None, # 2216 - None, # 2217 - None, # 2218 - None, # 2219 - None, # 2220 - None, # 2221 - None, # 2222 - None, # 2223 - None, # 2224 - None, # 2225 - None, # 2226 - None, # 2227 - None, # 2228 - None, # 2229 - None, # 2230 - None, # 2231 - None, # 2232 - None, # 2233 - None, # 2234 - None, # 2235 - None, # 2236 - None, # 2237 - None, # 2238 - None, # 2239 - None, # 2240 - None, # 2241 - None, # 2242 - None, # 2243 - None, # 2244 - None, # 2245 - None, # 2246 - None, # 2247 - None, # 2248 - None, # 2249 - None, # 2250 - None, # 2251 - None, # 2252 - None, # 2253 - None, # 2254 - None, # 2255 - None, # 2256 - None, # 2257 - None, # 2258 - None, # 2259 - None, # 2260 - None, # 2261 - None, # 2262 - None, # 2263 - None, # 2264 - None, # 2265 - None, # 2266 - None, # 2267 - None, # 2268 - None, # 2269 - None, # 2270 - None, # 2271 - None, # 2272 - None, # 2273 - None, # 2274 - None, # 2275 - None, # 2276 - None, # 2277 - None, # 2278 - None, # 2279 - None, # 2280 - None, # 2281 - None, # 2282 - None, # 2283 - None, # 2284 - None, # 2285 - None, # 2286 - None, # 2287 - None, # 2288 - None, # 2289 - None, # 2290 - None, # 2291 - None, # 2292 - None, # 2293 - None, # 2294 - None, # 2295 - None, # 2296 - None, # 2297 - None, # 2298 - None, # 2299 - None, # 2300 - None, # 2301 - None, # 2302 - None, # 2303 - None, # 2304 - None, # 2305 - None, # 2306 - None, # 2307 - None, # 2308 - None, # 2309 - None, # 2310 - None, # 2311 - None, # 2312 - None, # 2313 - None, # 2314 - None, # 2315 - None, # 2316 - None, # 2317 - None, # 2318 - None, # 2319 - None, # 2320 - None, # 2321 - None, # 2322 - None, # 2323 - None, # 2324 - None, # 2325 - None, # 2326 - None, # 2327 - None, # 2328 - None, # 2329 - None, # 2330 - None, # 2331 - None, # 2332 - None, # 2333 - None, # 2334 - None, # 2335 - None, # 2336 - None, # 2337 - None, # 2338 - None, # 2339 - None, # 2340 - None, # 2341 - None, # 2342 - None, # 2343 - None, # 2344 - None, # 2345 - None, # 2346 - None, # 2347 - None, # 2348 - None, # 2349 - None, # 2350 - None, # 2351 - None, # 2352 - None, # 2353 - None, # 2354 - None, # 2355 - None, # 2356 - None, # 2357 - None, # 2358 - None, # 2359 - None, # 2360 - None, # 2361 - None, # 2362 - None, # 2363 - None, # 2364 - None, # 2365 - None, # 2366 - None, # 2367 - None, # 2368 - None, # 2369 - None, # 2370 - None, # 2371 - None, # 2372 - None, # 2373 - None, # 2374 - None, # 2375 - None, # 2376 - None, # 2377 - None, # 2378 - None, # 2379 - None, # 2380 - None, # 2381 - None, # 2382 - None, # 2383 - None, # 2384 - None, # 2385 - None, # 2386 - None, # 2387 - None, # 2388 - None, # 2389 - None, # 2390 - None, # 2391 - None, # 2392 - None, # 2393 - None, # 2394 - None, # 2395 - None, # 2396 - None, # 2397 - None, # 2398 - None, # 2399 - None, # 2400 - None, # 2401 - None, # 2402 - None, # 2403 - None, # 2404 - None, # 2405 - None, # 2406 - None, # 2407 - None, # 2408 - None, # 2409 - None, # 2410 - None, # 2411 - None, # 2412 - None, # 2413 - None, # 2414 - None, # 2415 - None, # 2416 - None, # 2417 - None, # 2418 - None, # 2419 - None, # 2420 - None, # 2421 - None, # 2422 - None, # 2423 - None, # 2424 - None, # 2425 - None, # 2426 - None, # 2427 - None, # 2428 - None, # 2429 - None, # 2430 - None, # 2431 - None, # 2432 - None, # 2433 - None, # 2434 - None, # 2435 - None, # 2436 - None, # 2437 - None, # 2438 - None, # 2439 - None, # 2440 - None, # 2441 - None, # 2442 - None, # 2443 - None, # 2444 - None, # 2445 - None, # 2446 - None, # 2447 - None, # 2448 - None, # 2449 - None, # 2450 - None, # 2451 - None, # 2452 - None, # 2453 - None, # 2454 - None, # 2455 - None, # 2456 - None, # 2457 - None, # 2458 - None, # 2459 - None, # 2460 - None, # 2461 - None, # 2462 - None, # 2463 - None, # 2464 - None, # 2465 - None, # 2466 - None, # 2467 - None, # 2468 - None, # 2469 - None, # 2470 - None, # 2471 - None, # 2472 - None, # 2473 - None, # 2474 - None, # 2475 - None, # 2476 - None, # 2477 - None, # 2478 - None, # 2479 - None, # 2480 - None, # 2481 - None, # 2482 - None, # 2483 - None, # 2484 - None, # 2485 - None, # 2486 - None, # 2487 - None, # 2488 - None, # 2489 - None, # 2490 - None, # 2491 - None, # 2492 - None, # 2493 - None, # 2494 - None, # 2495 - None, # 2496 - None, # 2497 - None, # 2498 - None, # 2499 - None, # 2500 - None, # 2501 - None, # 2502 - None, # 2503 - None, # 2504 - None, # 2505 - None, # 2506 - None, # 2507 - None, # 2508 - None, # 2509 - None, # 2510 - None, # 2511 - None, # 2512 - None, # 2513 - None, # 2514 - None, # 2515 - None, # 2516 - None, # 2517 - None, # 2518 - None, # 2519 - None, # 2520 - None, # 2521 - None, # 2522 - None, # 2523 - None, # 2524 - None, # 2525 - None, # 2526 - None, # 2527 - None, # 2528 - None, # 2529 - None, # 2530 - None, # 2531 - None, # 2532 - None, # 2533 - None, # 2534 - None, # 2535 - None, # 2536 - None, # 2537 - None, # 2538 - None, # 2539 - None, # 2540 - None, # 2541 - None, # 2542 - None, # 2543 - None, # 2544 - None, # 2545 - None, # 2546 - None, # 2547 - None, # 2548 - None, # 2549 - None, # 2550 - None, # 2551 - None, # 2552 - None, # 2553 - None, # 2554 - None, # 2555 - None, # 2556 - None, # 2557 - None, # 2558 - None, # 2559 - None, # 2560 - None, # 2561 - None, # 2562 - None, # 2563 - None, # 2564 - None, # 2565 - None, # 2566 - None, # 2567 - None, # 2568 - None, # 2569 - None, # 2570 - None, # 2571 - None, # 2572 - None, # 2573 - None, # 2574 - None, # 2575 - None, # 2576 - None, # 2577 - None, # 2578 - None, # 2579 - None, # 2580 - None, # 2581 - None, # 2582 - None, # 2583 - None, # 2584 - None, # 2585 - None, # 2586 - None, # 2587 - None, # 2588 - None, # 2589 - None, # 2590 - None, # 2591 - None, # 2592 - None, # 2593 - None, # 2594 - None, # 2595 - None, # 2596 - None, # 2597 - None, # 2598 - None, # 2599 - None, # 2600 - None, # 2601 - None, # 2602 - None, # 2603 - None, # 2604 - None, # 2605 - None, # 2606 - None, # 2607 - None, # 2608 - None, # 2609 - None, # 2610 - None, # 2611 - None, # 2612 - None, # 2613 - None, # 2614 - None, # 2615 - None, # 2616 - None, # 2617 - None, # 2618 - None, # 2619 - None, # 2620 - None, # 2621 - None, # 2622 - None, # 2623 - None, # 2624 - None, # 2625 - None, # 2626 - None, # 2627 - None, # 2628 - None, # 2629 - None, # 2630 - None, # 2631 - None, # 2632 - None, # 2633 - None, # 2634 - None, # 2635 - None, # 2636 - None, # 2637 - None, # 2638 - None, # 2639 - None, # 2640 - None, # 2641 - None, # 2642 - None, # 2643 - None, # 2644 - None, # 2645 - None, # 2646 - None, # 2647 - None, # 2648 - None, # 2649 - None, # 2650 - None, # 2651 - None, # 2652 - None, # 2653 - None, # 2654 - None, # 2655 - None, # 2656 - None, # 2657 - None, # 2658 - None, # 2659 - None, # 2660 - None, # 2661 - None, # 2662 - None, # 2663 - None, # 2664 - None, # 2665 - None, # 2666 - None, # 2667 - None, # 2668 - None, # 2669 - None, # 2670 - None, # 2671 - None, # 2672 - None, # 2673 - None, # 2674 - None, # 2675 - None, # 2676 - None, # 2677 - None, # 2678 - None, # 2679 - None, # 2680 - None, # 2681 - None, # 2682 - None, # 2683 - None, # 2684 - None, # 2685 - None, # 2686 - None, # 2687 - None, # 2688 - None, # 2689 - None, # 2690 - None, # 2691 - None, # 2692 - None, # 2693 - None, # 2694 - None, # 2695 - None, # 2696 - None, # 2697 - None, # 2698 - None, # 2699 - None, # 2700 - None, # 2701 - None, # 2702 - None, # 2703 - None, # 2704 - None, # 2705 - None, # 2706 - None, # 2707 - None, # 2708 - None, # 2709 - None, # 2710 - None, # 2711 - None, # 2712 - None, # 2713 - None, # 2714 - None, # 2715 - None, # 2716 - None, # 2717 - None, # 2718 - None, # 2719 - None, # 2720 - None, # 2721 - None, # 2722 - None, # 2723 - None, # 2724 - None, # 2725 - None, # 2726 - None, # 2727 - None, # 2728 - None, # 2729 - None, # 2730 - None, # 2731 - None, # 2732 - None, # 2733 - None, # 2734 - None, # 2735 - None, # 2736 - None, # 2737 - None, # 2738 - None, # 2739 - None, # 2740 - None, # 2741 - None, # 2742 - None, # 2743 - None, # 2744 - None, # 2745 - None, # 2746 - None, # 2747 - None, # 2748 - None, # 2749 - None, # 2750 - None, # 2751 - None, # 2752 - None, # 2753 - None, # 2754 - None, # 2755 - None, # 2756 - None, # 2757 - None, # 2758 - None, # 2759 - None, # 2760 - None, # 2761 - None, # 2762 - None, # 2763 - None, # 2764 - None, # 2765 - None, # 2766 - None, # 2767 - None, # 2768 - None, # 2769 - None, # 2770 - None, # 2771 - None, # 2772 - None, # 2773 - None, # 2774 - None, # 2775 - None, # 2776 - None, # 2777 - None, # 2778 - None, # 2779 - None, # 2780 - None, # 2781 - None, # 2782 - None, # 2783 - None, # 2784 - None, # 2785 - None, # 2786 - None, # 2787 - None, # 2788 - None, # 2789 - None, # 2790 - None, # 2791 - None, # 2792 - None, # 2793 - None, # 2794 - None, # 2795 - None, # 2796 - None, # 2797 - None, # 2798 - None, # 2799 - None, # 2800 - None, # 2801 - None, # 2802 - None, # 2803 - None, # 2804 - None, # 2805 - None, # 2806 - None, # 2807 - None, # 2808 - None, # 2809 - None, # 2810 - None, # 2811 - None, # 2812 - None, # 2813 - None, # 2814 - None, # 2815 - None, # 2816 - None, # 2817 - None, # 2818 - None, # 2819 - None, # 2820 - None, # 2821 - None, # 2822 - None, # 2823 - None, # 2824 - None, # 2825 - None, # 2826 - None, # 2827 - None, # 2828 - None, # 2829 - None, # 2830 - None, # 2831 - None, # 2832 - None, # 2833 - None, # 2834 - None, # 2835 - None, # 2836 - None, # 2837 - None, # 2838 - None, # 2839 - None, # 2840 - None, # 2841 - None, # 2842 - None, # 2843 - None, # 2844 - None, # 2845 - None, # 2846 - None, # 2847 - None, # 2848 - None, # 2849 - None, # 2850 - None, # 2851 - None, # 2852 - None, # 2853 - None, # 2854 - None, # 2855 - None, # 2856 - None, # 2857 - None, # 2858 - None, # 2859 - None, # 2860 - None, # 2861 - None, # 2862 - None, # 2863 - None, # 2864 - None, # 2865 - None, # 2866 - None, # 2867 - None, # 2868 - None, # 2869 - None, # 2870 - None, # 2871 - None, # 2872 - None, # 2873 - None, # 2874 - None, # 2875 - None, # 2876 - None, # 2877 - None, # 2878 - None, # 2879 - None, # 2880 - None, # 2881 - None, # 2882 - None, # 2883 - None, # 2884 - None, # 2885 - None, # 2886 - None, # 2887 - None, # 2888 - None, # 2889 - None, # 2890 - None, # 2891 - None, # 2892 - None, # 2893 - None, # 2894 - None, # 2895 - None, # 2896 - None, # 2897 - None, # 2898 - None, # 2899 - None, # 2900 - None, # 2901 - None, # 2902 - None, # 2903 - None, # 2904 - None, # 2905 - None, # 2906 - None, # 2907 - None, # 2908 - None, # 2909 - None, # 2910 - None, # 2911 - None, # 2912 - None, # 2913 - None, # 2914 - None, # 2915 - None, # 2916 - None, # 2917 - None, # 2918 - None, # 2919 - None, # 2920 - None, # 2921 - None, # 2922 - None, # 2923 - None, # 2924 - None, # 2925 - None, # 2926 - None, # 2927 - None, # 2928 - None, # 2929 - None, # 2930 - None, # 2931 - None, # 2932 - None, # 2933 - None, # 2934 - None, # 2935 - None, # 2936 - None, # 2937 - None, # 2938 - None, # 2939 - None, # 2940 - None, # 2941 - None, # 2942 - None, # 2943 - None, # 2944 - None, # 2945 - None, # 2946 - None, # 2947 - None, # 2948 - None, # 2949 - None, # 2950 - None, # 2951 - None, # 2952 - None, # 2953 - None, # 2954 - None, # 2955 - None, # 2956 - None, # 2957 - None, # 2958 - None, # 2959 - None, # 2960 - None, # 2961 - None, # 2962 - None, # 2963 - None, # 2964 - None, # 2965 - None, # 2966 - None, # 2967 - None, # 2968 - None, # 2969 - None, # 2970 - None, # 2971 - None, # 2972 - None, # 2973 - None, # 2974 - None, # 2975 - None, # 2976 - None, # 2977 - None, # 2978 - None, # 2979 - None, # 2980 - None, # 2981 - None, # 2982 - None, # 2983 - None, # 2984 - None, # 2985 - None, # 2986 - None, # 2987 - None, # 2988 - None, # 2989 - None, # 2990 - None, # 2991 - None, # 2992 - None, # 2993 - None, # 2994 - None, # 2995 - None, # 2996 - None, # 2997 - None, # 2998 - None, # 2999 - None, # 3000 - None, # 3001 - None, # 3002 - None, # 3003 - None, # 3004 - None, # 3005 - None, # 3006 - None, # 3007 - None, # 3008 - None, # 3009 - None, # 3010 - None, # 3011 - None, # 3012 - None, # 3013 - None, # 3014 - None, # 3015 - None, # 3016 - None, # 3017 - None, # 3018 - None, # 3019 - None, # 3020 - None, # 3021 - None, # 3022 - None, # 3023 - None, # 3024 - None, # 3025 - None, # 3026 - None, # 3027 - None, # 3028 - None, # 3029 - None, # 3030 - None, # 3031 - None, # 3032 - None, # 3033 - None, # 3034 - None, # 3035 - None, # 3036 - None, # 3037 - None, # 3038 - None, # 3039 - None, # 3040 - None, # 3041 - None, # 3042 - None, # 3043 - None, # 3044 - None, # 3045 - None, # 3046 - None, # 3047 - None, # 3048 - None, # 3049 - None, # 3050 - None, # 3051 - None, # 3052 - None, # 3053 - None, # 3054 - None, # 3055 - None, # 3056 - None, # 3057 - None, # 3058 - None, # 3059 - None, # 3060 - None, # 3061 - None, # 3062 - None, # 3063 - None, # 3064 - None, # 3065 - None, # 3066 - None, # 3067 - None, # 3068 - None, # 3069 - None, # 3070 - None, # 3071 - None, # 3072 - None, # 3073 - None, # 3074 - None, # 3075 - None, # 3076 - None, # 3077 - None, # 3078 - None, # 3079 - None, # 3080 - None, # 3081 - None, # 3082 - None, # 3083 - None, # 3084 - None, # 3085 - None, # 3086 - None, # 3087 - None, # 3088 - None, # 3089 - None, # 3090 - None, # 3091 - None, # 3092 - None, # 3093 - None, # 3094 - None, # 3095 - None, # 3096 - None, # 3097 - None, # 3098 - None, # 3099 - None, # 3100 - None, # 3101 - None, # 3102 - None, # 3103 - None, # 3104 - None, # 3105 - None, # 3106 - None, # 3107 - None, # 3108 - None, # 3109 - None, # 3110 - None, # 3111 - None, # 3112 - None, # 3113 - None, # 3114 - None, # 3115 - None, # 3116 - None, # 3117 - None, # 3118 - None, # 3119 - None, # 3120 - None, # 3121 - None, # 3122 - None, # 3123 - None, # 3124 - None, # 3125 - None, # 3126 - None, # 3127 - None, # 3128 - None, # 3129 - None, # 3130 - None, # 3131 - None, # 3132 - None, # 3133 - None, # 3134 - None, # 3135 - None, # 3136 - None, # 3137 - None, # 3138 - None, # 3139 - None, # 3140 - None, # 3141 - None, # 3142 - None, # 3143 - None, # 3144 - None, # 3145 - None, # 3146 - None, # 3147 - None, # 3148 - None, # 3149 - None, # 3150 - None, # 3151 - None, # 3152 - None, # 3153 - None, # 3154 - None, # 3155 - None, # 3156 - None, # 3157 - None, # 3158 - None, # 3159 - None, # 3160 - None, # 3161 - None, # 3162 - None, # 3163 - None, # 3164 - None, # 3165 - None, # 3166 - None, # 3167 - None, # 3168 - None, # 3169 - None, # 3170 - None, # 3171 - None, # 3172 - None, # 3173 - None, # 3174 - None, # 3175 - None, # 3176 - None, # 3177 - None, # 3178 - None, # 3179 - None, # 3180 - None, # 3181 - None, # 3182 - None, # 3183 - None, # 3184 - None, # 3185 - None, # 3186 - None, # 3187 - None, # 3188 - None, # 3189 - None, # 3190 - None, # 3191 - None, # 3192 - None, # 3193 - None, # 3194 - None, # 3195 - None, # 3196 - None, # 3197 - None, # 3198 - None, # 3199 - None, # 3200 - None, # 3201 - None, # 3202 - None, # 3203 - None, # 3204 - None, # 3205 - None, # 3206 - None, # 3207 - None, # 3208 - None, # 3209 - None, # 3210 - None, # 3211 - None, # 3212 - None, # 3213 - None, # 3214 - None, # 3215 - None, # 3216 - None, # 3217 - None, # 3218 - None, # 3219 - None, # 3220 - None, # 3221 - None, # 3222 - None, # 3223 - None, # 3224 - None, # 3225 - None, # 3226 - None, # 3227 - None, # 3228 - None, # 3229 - None, # 3230 - None, # 3231 - None, # 3232 - None, # 3233 - None, # 3234 - None, # 3235 - None, # 3236 - None, # 3237 - None, # 3238 - None, # 3239 - None, # 3240 - None, # 3241 - None, # 3242 - None, # 3243 - None, # 3244 - None, # 3245 - None, # 3246 - None, # 3247 - None, # 3248 - None, # 3249 - None, # 3250 - None, # 3251 - None, # 3252 - None, # 3253 - None, # 3254 - None, # 3255 - None, # 3256 - None, # 3257 - None, # 3258 - None, # 3259 - None, # 3260 - None, # 3261 - None, # 3262 - None, # 3263 - None, # 3264 - None, # 3265 - None, # 3266 - None, # 3267 - None, # 3268 - None, # 3269 - None, # 3270 - None, # 3271 - None, # 3272 - None, # 3273 - None, # 3274 - None, # 3275 - None, # 3276 - None, # 3277 - None, # 3278 - None, # 3279 - None, # 3280 - None, # 3281 - None, # 3282 - None, # 3283 - None, # 3284 - None, # 3285 - None, # 3286 - None, # 3287 - None, # 3288 - None, # 3289 - None, # 3290 - None, # 3291 - None, # 3292 - None, # 3293 - None, # 3294 - None, # 3295 - None, # 3296 - None, # 3297 - None, # 3298 - None, # 3299 - None, # 3300 - None, # 3301 - None, # 3302 - None, # 3303 - None, # 3304 - None, # 3305 - None, # 3306 - None, # 3307 - None, # 3308 - None, # 3309 - None, # 3310 - None, # 3311 - None, # 3312 - None, # 3313 - None, # 3314 - None, # 3315 - None, # 3316 - None, # 3317 - None, # 3318 - None, # 3319 - None, # 3320 - None, # 3321 - None, # 3322 - None, # 3323 - None, # 3324 - None, # 3325 - None, # 3326 - None, # 3327 - None, # 3328 - ( - 3329, - TType.LIST, - "cloudFetchResults", - (TType.STRUCT, [TDBSqlCloudResultFile, None], False), - None, - ), # 3329 + None, # 0 + (1, TType.I64, 'startRowOffset', None, None, ), # 1 + (2, TType.LIST, 'rows', (TType.STRUCT, [TRow, None], False), None, ), # 2 + (3, TType.LIST, 'columns', (TType.STRUCT, [TColumn, None], False), None, ), # 3 + (4, TType.STRING, 'binaryColumns', 'BINARY', None, ), # 4 + (5, TType.I32, 'columnCount', None, None, ), # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + (1281, TType.LIST, 'arrowBatches', (TType.STRUCT, [TSparkArrowBatch, None], False), None, ), # 1281 + (1282, TType.LIST, 'resultLinks', (TType.STRUCT, [TSparkArrowResultLink, None], False), None, ), # 1282 + None, # 1283 + None, # 1284 + None, # 1285 + None, # 1286 + None, # 1287 + None, # 1288 + None, # 1289 + None, # 1290 + None, # 1291 + None, # 1292 + None, # 1293 + None, # 1294 + None, # 1295 + None, # 1296 + None, # 1297 + None, # 1298 + None, # 1299 + None, # 1300 + None, # 1301 + None, # 1302 + None, # 1303 + None, # 1304 + None, # 1305 + None, # 1306 + None, # 1307 + None, # 1308 + None, # 1309 + None, # 1310 + None, # 1311 + None, # 1312 + None, # 1313 + None, # 1314 + None, # 1315 + None, # 1316 + None, # 1317 + None, # 1318 + None, # 1319 + None, # 1320 + None, # 1321 + None, # 1322 + None, # 1323 + None, # 1324 + None, # 1325 + None, # 1326 + None, # 1327 + None, # 1328 + None, # 1329 + None, # 1330 + None, # 1331 + None, # 1332 + None, # 1333 + None, # 1334 + None, # 1335 + None, # 1336 + None, # 1337 + None, # 1338 + None, # 1339 + None, # 1340 + None, # 1341 + None, # 1342 + None, # 1343 + None, # 1344 + None, # 1345 + None, # 1346 + None, # 1347 + None, # 1348 + None, # 1349 + None, # 1350 + None, # 1351 + None, # 1352 + None, # 1353 + None, # 1354 + None, # 1355 + None, # 1356 + None, # 1357 + None, # 1358 + None, # 1359 + None, # 1360 + None, # 1361 + None, # 1362 + None, # 1363 + None, # 1364 + None, # 1365 + None, # 1366 + None, # 1367 + None, # 1368 + None, # 1369 + None, # 1370 + None, # 1371 + None, # 1372 + None, # 1373 + None, # 1374 + None, # 1375 + None, # 1376 + None, # 1377 + None, # 1378 + None, # 1379 + None, # 1380 + None, # 1381 + None, # 1382 + None, # 1383 + None, # 1384 + None, # 1385 + None, # 1386 + None, # 1387 + None, # 1388 + None, # 1389 + None, # 1390 + None, # 1391 + None, # 1392 + None, # 1393 + None, # 1394 + None, # 1395 + None, # 1396 + None, # 1397 + None, # 1398 + None, # 1399 + None, # 1400 + None, # 1401 + None, # 1402 + None, # 1403 + None, # 1404 + None, # 1405 + None, # 1406 + None, # 1407 + None, # 1408 + None, # 1409 + None, # 1410 + None, # 1411 + None, # 1412 + None, # 1413 + None, # 1414 + None, # 1415 + None, # 1416 + None, # 1417 + None, # 1418 + None, # 1419 + None, # 1420 + None, # 1421 + None, # 1422 + None, # 1423 + None, # 1424 + None, # 1425 + None, # 1426 + None, # 1427 + None, # 1428 + None, # 1429 + None, # 1430 + None, # 1431 + None, # 1432 + None, # 1433 + None, # 1434 + None, # 1435 + None, # 1436 + None, # 1437 + None, # 1438 + None, # 1439 + None, # 1440 + None, # 1441 + None, # 1442 + None, # 1443 + None, # 1444 + None, # 1445 + None, # 1446 + None, # 1447 + None, # 1448 + None, # 1449 + None, # 1450 + None, # 1451 + None, # 1452 + None, # 1453 + None, # 1454 + None, # 1455 + None, # 1456 + None, # 1457 + None, # 1458 + None, # 1459 + None, # 1460 + None, # 1461 + None, # 1462 + None, # 1463 + None, # 1464 + None, # 1465 + None, # 1466 + None, # 1467 + None, # 1468 + None, # 1469 + None, # 1470 + None, # 1471 + None, # 1472 + None, # 1473 + None, # 1474 + None, # 1475 + None, # 1476 + None, # 1477 + None, # 1478 + None, # 1479 + None, # 1480 + None, # 1481 + None, # 1482 + None, # 1483 + None, # 1484 + None, # 1485 + None, # 1486 + None, # 1487 + None, # 1488 + None, # 1489 + None, # 1490 + None, # 1491 + None, # 1492 + None, # 1493 + None, # 1494 + None, # 1495 + None, # 1496 + None, # 1497 + None, # 1498 + None, # 1499 + None, # 1500 + None, # 1501 + None, # 1502 + None, # 1503 + None, # 1504 + None, # 1505 + None, # 1506 + None, # 1507 + None, # 1508 + None, # 1509 + None, # 1510 + None, # 1511 + None, # 1512 + None, # 1513 + None, # 1514 + None, # 1515 + None, # 1516 + None, # 1517 + None, # 1518 + None, # 1519 + None, # 1520 + None, # 1521 + None, # 1522 + None, # 1523 + None, # 1524 + None, # 1525 + None, # 1526 + None, # 1527 + None, # 1528 + None, # 1529 + None, # 1530 + None, # 1531 + None, # 1532 + None, # 1533 + None, # 1534 + None, # 1535 + None, # 1536 + None, # 1537 + None, # 1538 + None, # 1539 + None, # 1540 + None, # 1541 + None, # 1542 + None, # 1543 + None, # 1544 + None, # 1545 + None, # 1546 + None, # 1547 + None, # 1548 + None, # 1549 + None, # 1550 + None, # 1551 + None, # 1552 + None, # 1553 + None, # 1554 + None, # 1555 + None, # 1556 + None, # 1557 + None, # 1558 + None, # 1559 + None, # 1560 + None, # 1561 + None, # 1562 + None, # 1563 + None, # 1564 + None, # 1565 + None, # 1566 + None, # 1567 + None, # 1568 + None, # 1569 + None, # 1570 + None, # 1571 + None, # 1572 + None, # 1573 + None, # 1574 + None, # 1575 + None, # 1576 + None, # 1577 + None, # 1578 + None, # 1579 + None, # 1580 + None, # 1581 + None, # 1582 + None, # 1583 + None, # 1584 + None, # 1585 + None, # 1586 + None, # 1587 + None, # 1588 + None, # 1589 + None, # 1590 + None, # 1591 + None, # 1592 + None, # 1593 + None, # 1594 + None, # 1595 + None, # 1596 + None, # 1597 + None, # 1598 + None, # 1599 + None, # 1600 + None, # 1601 + None, # 1602 + None, # 1603 + None, # 1604 + None, # 1605 + None, # 1606 + None, # 1607 + None, # 1608 + None, # 1609 + None, # 1610 + None, # 1611 + None, # 1612 + None, # 1613 + None, # 1614 + None, # 1615 + None, # 1616 + None, # 1617 + None, # 1618 + None, # 1619 + None, # 1620 + None, # 1621 + None, # 1622 + None, # 1623 + None, # 1624 + None, # 1625 + None, # 1626 + None, # 1627 + None, # 1628 + None, # 1629 + None, # 1630 + None, # 1631 + None, # 1632 + None, # 1633 + None, # 1634 + None, # 1635 + None, # 1636 + None, # 1637 + None, # 1638 + None, # 1639 + None, # 1640 + None, # 1641 + None, # 1642 + None, # 1643 + None, # 1644 + None, # 1645 + None, # 1646 + None, # 1647 + None, # 1648 + None, # 1649 + None, # 1650 + None, # 1651 + None, # 1652 + None, # 1653 + None, # 1654 + None, # 1655 + None, # 1656 + None, # 1657 + None, # 1658 + None, # 1659 + None, # 1660 + None, # 1661 + None, # 1662 + None, # 1663 + None, # 1664 + None, # 1665 + None, # 1666 + None, # 1667 + None, # 1668 + None, # 1669 + None, # 1670 + None, # 1671 + None, # 1672 + None, # 1673 + None, # 1674 + None, # 1675 + None, # 1676 + None, # 1677 + None, # 1678 + None, # 1679 + None, # 1680 + None, # 1681 + None, # 1682 + None, # 1683 + None, # 1684 + None, # 1685 + None, # 1686 + None, # 1687 + None, # 1688 + None, # 1689 + None, # 1690 + None, # 1691 + None, # 1692 + None, # 1693 + None, # 1694 + None, # 1695 + None, # 1696 + None, # 1697 + None, # 1698 + None, # 1699 + None, # 1700 + None, # 1701 + None, # 1702 + None, # 1703 + None, # 1704 + None, # 1705 + None, # 1706 + None, # 1707 + None, # 1708 + None, # 1709 + None, # 1710 + None, # 1711 + None, # 1712 + None, # 1713 + None, # 1714 + None, # 1715 + None, # 1716 + None, # 1717 + None, # 1718 + None, # 1719 + None, # 1720 + None, # 1721 + None, # 1722 + None, # 1723 + None, # 1724 + None, # 1725 + None, # 1726 + None, # 1727 + None, # 1728 + None, # 1729 + None, # 1730 + None, # 1731 + None, # 1732 + None, # 1733 + None, # 1734 + None, # 1735 + None, # 1736 + None, # 1737 + None, # 1738 + None, # 1739 + None, # 1740 + None, # 1741 + None, # 1742 + None, # 1743 + None, # 1744 + None, # 1745 + None, # 1746 + None, # 1747 + None, # 1748 + None, # 1749 + None, # 1750 + None, # 1751 + None, # 1752 + None, # 1753 + None, # 1754 + None, # 1755 + None, # 1756 + None, # 1757 + None, # 1758 + None, # 1759 + None, # 1760 + None, # 1761 + None, # 1762 + None, # 1763 + None, # 1764 + None, # 1765 + None, # 1766 + None, # 1767 + None, # 1768 + None, # 1769 + None, # 1770 + None, # 1771 + None, # 1772 + None, # 1773 + None, # 1774 + None, # 1775 + None, # 1776 + None, # 1777 + None, # 1778 + None, # 1779 + None, # 1780 + None, # 1781 + None, # 1782 + None, # 1783 + None, # 1784 + None, # 1785 + None, # 1786 + None, # 1787 + None, # 1788 + None, # 1789 + None, # 1790 + None, # 1791 + None, # 1792 + None, # 1793 + None, # 1794 + None, # 1795 + None, # 1796 + None, # 1797 + None, # 1798 + None, # 1799 + None, # 1800 + None, # 1801 + None, # 1802 + None, # 1803 + None, # 1804 + None, # 1805 + None, # 1806 + None, # 1807 + None, # 1808 + None, # 1809 + None, # 1810 + None, # 1811 + None, # 1812 + None, # 1813 + None, # 1814 + None, # 1815 + None, # 1816 + None, # 1817 + None, # 1818 + None, # 1819 + None, # 1820 + None, # 1821 + None, # 1822 + None, # 1823 + None, # 1824 + None, # 1825 + None, # 1826 + None, # 1827 + None, # 1828 + None, # 1829 + None, # 1830 + None, # 1831 + None, # 1832 + None, # 1833 + None, # 1834 + None, # 1835 + None, # 1836 + None, # 1837 + None, # 1838 + None, # 1839 + None, # 1840 + None, # 1841 + None, # 1842 + None, # 1843 + None, # 1844 + None, # 1845 + None, # 1846 + None, # 1847 + None, # 1848 + None, # 1849 + None, # 1850 + None, # 1851 + None, # 1852 + None, # 1853 + None, # 1854 + None, # 1855 + None, # 1856 + None, # 1857 + None, # 1858 + None, # 1859 + None, # 1860 + None, # 1861 + None, # 1862 + None, # 1863 + None, # 1864 + None, # 1865 + None, # 1866 + None, # 1867 + None, # 1868 + None, # 1869 + None, # 1870 + None, # 1871 + None, # 1872 + None, # 1873 + None, # 1874 + None, # 1875 + None, # 1876 + None, # 1877 + None, # 1878 + None, # 1879 + None, # 1880 + None, # 1881 + None, # 1882 + None, # 1883 + None, # 1884 + None, # 1885 + None, # 1886 + None, # 1887 + None, # 1888 + None, # 1889 + None, # 1890 + None, # 1891 + None, # 1892 + None, # 1893 + None, # 1894 + None, # 1895 + None, # 1896 + None, # 1897 + None, # 1898 + None, # 1899 + None, # 1900 + None, # 1901 + None, # 1902 + None, # 1903 + None, # 1904 + None, # 1905 + None, # 1906 + None, # 1907 + None, # 1908 + None, # 1909 + None, # 1910 + None, # 1911 + None, # 1912 + None, # 1913 + None, # 1914 + None, # 1915 + None, # 1916 + None, # 1917 + None, # 1918 + None, # 1919 + None, # 1920 + None, # 1921 + None, # 1922 + None, # 1923 + None, # 1924 + None, # 1925 + None, # 1926 + None, # 1927 + None, # 1928 + None, # 1929 + None, # 1930 + None, # 1931 + None, # 1932 + None, # 1933 + None, # 1934 + None, # 1935 + None, # 1936 + None, # 1937 + None, # 1938 + None, # 1939 + None, # 1940 + None, # 1941 + None, # 1942 + None, # 1943 + None, # 1944 + None, # 1945 + None, # 1946 + None, # 1947 + None, # 1948 + None, # 1949 + None, # 1950 + None, # 1951 + None, # 1952 + None, # 1953 + None, # 1954 + None, # 1955 + None, # 1956 + None, # 1957 + None, # 1958 + None, # 1959 + None, # 1960 + None, # 1961 + None, # 1962 + None, # 1963 + None, # 1964 + None, # 1965 + None, # 1966 + None, # 1967 + None, # 1968 + None, # 1969 + None, # 1970 + None, # 1971 + None, # 1972 + None, # 1973 + None, # 1974 + None, # 1975 + None, # 1976 + None, # 1977 + None, # 1978 + None, # 1979 + None, # 1980 + None, # 1981 + None, # 1982 + None, # 1983 + None, # 1984 + None, # 1985 + None, # 1986 + None, # 1987 + None, # 1988 + None, # 1989 + None, # 1990 + None, # 1991 + None, # 1992 + None, # 1993 + None, # 1994 + None, # 1995 + None, # 1996 + None, # 1997 + None, # 1998 + None, # 1999 + None, # 2000 + None, # 2001 + None, # 2002 + None, # 2003 + None, # 2004 + None, # 2005 + None, # 2006 + None, # 2007 + None, # 2008 + None, # 2009 + None, # 2010 + None, # 2011 + None, # 2012 + None, # 2013 + None, # 2014 + None, # 2015 + None, # 2016 + None, # 2017 + None, # 2018 + None, # 2019 + None, # 2020 + None, # 2021 + None, # 2022 + None, # 2023 + None, # 2024 + None, # 2025 + None, # 2026 + None, # 2027 + None, # 2028 + None, # 2029 + None, # 2030 + None, # 2031 + None, # 2032 + None, # 2033 + None, # 2034 + None, # 2035 + None, # 2036 + None, # 2037 + None, # 2038 + None, # 2039 + None, # 2040 + None, # 2041 + None, # 2042 + None, # 2043 + None, # 2044 + None, # 2045 + None, # 2046 + None, # 2047 + None, # 2048 + None, # 2049 + None, # 2050 + None, # 2051 + None, # 2052 + None, # 2053 + None, # 2054 + None, # 2055 + None, # 2056 + None, # 2057 + None, # 2058 + None, # 2059 + None, # 2060 + None, # 2061 + None, # 2062 + None, # 2063 + None, # 2064 + None, # 2065 + None, # 2066 + None, # 2067 + None, # 2068 + None, # 2069 + None, # 2070 + None, # 2071 + None, # 2072 + None, # 2073 + None, # 2074 + None, # 2075 + None, # 2076 + None, # 2077 + None, # 2078 + None, # 2079 + None, # 2080 + None, # 2081 + None, # 2082 + None, # 2083 + None, # 2084 + None, # 2085 + None, # 2086 + None, # 2087 + None, # 2088 + None, # 2089 + None, # 2090 + None, # 2091 + None, # 2092 + None, # 2093 + None, # 2094 + None, # 2095 + None, # 2096 + None, # 2097 + None, # 2098 + None, # 2099 + None, # 2100 + None, # 2101 + None, # 2102 + None, # 2103 + None, # 2104 + None, # 2105 + None, # 2106 + None, # 2107 + None, # 2108 + None, # 2109 + None, # 2110 + None, # 2111 + None, # 2112 + None, # 2113 + None, # 2114 + None, # 2115 + None, # 2116 + None, # 2117 + None, # 2118 + None, # 2119 + None, # 2120 + None, # 2121 + None, # 2122 + None, # 2123 + None, # 2124 + None, # 2125 + None, # 2126 + None, # 2127 + None, # 2128 + None, # 2129 + None, # 2130 + None, # 2131 + None, # 2132 + None, # 2133 + None, # 2134 + None, # 2135 + None, # 2136 + None, # 2137 + None, # 2138 + None, # 2139 + None, # 2140 + None, # 2141 + None, # 2142 + None, # 2143 + None, # 2144 + None, # 2145 + None, # 2146 + None, # 2147 + None, # 2148 + None, # 2149 + None, # 2150 + None, # 2151 + None, # 2152 + None, # 2153 + None, # 2154 + None, # 2155 + None, # 2156 + None, # 2157 + None, # 2158 + None, # 2159 + None, # 2160 + None, # 2161 + None, # 2162 + None, # 2163 + None, # 2164 + None, # 2165 + None, # 2166 + None, # 2167 + None, # 2168 + None, # 2169 + None, # 2170 + None, # 2171 + None, # 2172 + None, # 2173 + None, # 2174 + None, # 2175 + None, # 2176 + None, # 2177 + None, # 2178 + None, # 2179 + None, # 2180 + None, # 2181 + None, # 2182 + None, # 2183 + None, # 2184 + None, # 2185 + None, # 2186 + None, # 2187 + None, # 2188 + None, # 2189 + None, # 2190 + None, # 2191 + None, # 2192 + None, # 2193 + None, # 2194 + None, # 2195 + None, # 2196 + None, # 2197 + None, # 2198 + None, # 2199 + None, # 2200 + None, # 2201 + None, # 2202 + None, # 2203 + None, # 2204 + None, # 2205 + None, # 2206 + None, # 2207 + None, # 2208 + None, # 2209 + None, # 2210 + None, # 2211 + None, # 2212 + None, # 2213 + None, # 2214 + None, # 2215 + None, # 2216 + None, # 2217 + None, # 2218 + None, # 2219 + None, # 2220 + None, # 2221 + None, # 2222 + None, # 2223 + None, # 2224 + None, # 2225 + None, # 2226 + None, # 2227 + None, # 2228 + None, # 2229 + None, # 2230 + None, # 2231 + None, # 2232 + None, # 2233 + None, # 2234 + None, # 2235 + None, # 2236 + None, # 2237 + None, # 2238 + None, # 2239 + None, # 2240 + None, # 2241 + None, # 2242 + None, # 2243 + None, # 2244 + None, # 2245 + None, # 2246 + None, # 2247 + None, # 2248 + None, # 2249 + None, # 2250 + None, # 2251 + None, # 2252 + None, # 2253 + None, # 2254 + None, # 2255 + None, # 2256 + None, # 2257 + None, # 2258 + None, # 2259 + None, # 2260 + None, # 2261 + None, # 2262 + None, # 2263 + None, # 2264 + None, # 2265 + None, # 2266 + None, # 2267 + None, # 2268 + None, # 2269 + None, # 2270 + None, # 2271 + None, # 2272 + None, # 2273 + None, # 2274 + None, # 2275 + None, # 2276 + None, # 2277 + None, # 2278 + None, # 2279 + None, # 2280 + None, # 2281 + None, # 2282 + None, # 2283 + None, # 2284 + None, # 2285 + None, # 2286 + None, # 2287 + None, # 2288 + None, # 2289 + None, # 2290 + None, # 2291 + None, # 2292 + None, # 2293 + None, # 2294 + None, # 2295 + None, # 2296 + None, # 2297 + None, # 2298 + None, # 2299 + None, # 2300 + None, # 2301 + None, # 2302 + None, # 2303 + None, # 2304 + None, # 2305 + None, # 2306 + None, # 2307 + None, # 2308 + None, # 2309 + None, # 2310 + None, # 2311 + None, # 2312 + None, # 2313 + None, # 2314 + None, # 2315 + None, # 2316 + None, # 2317 + None, # 2318 + None, # 2319 + None, # 2320 + None, # 2321 + None, # 2322 + None, # 2323 + None, # 2324 + None, # 2325 + None, # 2326 + None, # 2327 + None, # 2328 + None, # 2329 + None, # 2330 + None, # 2331 + None, # 2332 + None, # 2333 + None, # 2334 + None, # 2335 + None, # 2336 + None, # 2337 + None, # 2338 + None, # 2339 + None, # 2340 + None, # 2341 + None, # 2342 + None, # 2343 + None, # 2344 + None, # 2345 + None, # 2346 + None, # 2347 + None, # 2348 + None, # 2349 + None, # 2350 + None, # 2351 + None, # 2352 + None, # 2353 + None, # 2354 + None, # 2355 + None, # 2356 + None, # 2357 + None, # 2358 + None, # 2359 + None, # 2360 + None, # 2361 + None, # 2362 + None, # 2363 + None, # 2364 + None, # 2365 + None, # 2366 + None, # 2367 + None, # 2368 + None, # 2369 + None, # 2370 + None, # 2371 + None, # 2372 + None, # 2373 + None, # 2374 + None, # 2375 + None, # 2376 + None, # 2377 + None, # 2378 + None, # 2379 + None, # 2380 + None, # 2381 + None, # 2382 + None, # 2383 + None, # 2384 + None, # 2385 + None, # 2386 + None, # 2387 + None, # 2388 + None, # 2389 + None, # 2390 + None, # 2391 + None, # 2392 + None, # 2393 + None, # 2394 + None, # 2395 + None, # 2396 + None, # 2397 + None, # 2398 + None, # 2399 + None, # 2400 + None, # 2401 + None, # 2402 + None, # 2403 + None, # 2404 + None, # 2405 + None, # 2406 + None, # 2407 + None, # 2408 + None, # 2409 + None, # 2410 + None, # 2411 + None, # 2412 + None, # 2413 + None, # 2414 + None, # 2415 + None, # 2416 + None, # 2417 + None, # 2418 + None, # 2419 + None, # 2420 + None, # 2421 + None, # 2422 + None, # 2423 + None, # 2424 + None, # 2425 + None, # 2426 + None, # 2427 + None, # 2428 + None, # 2429 + None, # 2430 + None, # 2431 + None, # 2432 + None, # 2433 + None, # 2434 + None, # 2435 + None, # 2436 + None, # 2437 + None, # 2438 + None, # 2439 + None, # 2440 + None, # 2441 + None, # 2442 + None, # 2443 + None, # 2444 + None, # 2445 + None, # 2446 + None, # 2447 + None, # 2448 + None, # 2449 + None, # 2450 + None, # 2451 + None, # 2452 + None, # 2453 + None, # 2454 + None, # 2455 + None, # 2456 + None, # 2457 + None, # 2458 + None, # 2459 + None, # 2460 + None, # 2461 + None, # 2462 + None, # 2463 + None, # 2464 + None, # 2465 + None, # 2466 + None, # 2467 + None, # 2468 + None, # 2469 + None, # 2470 + None, # 2471 + None, # 2472 + None, # 2473 + None, # 2474 + None, # 2475 + None, # 2476 + None, # 2477 + None, # 2478 + None, # 2479 + None, # 2480 + None, # 2481 + None, # 2482 + None, # 2483 + None, # 2484 + None, # 2485 + None, # 2486 + None, # 2487 + None, # 2488 + None, # 2489 + None, # 2490 + None, # 2491 + None, # 2492 + None, # 2493 + None, # 2494 + None, # 2495 + None, # 2496 + None, # 2497 + None, # 2498 + None, # 2499 + None, # 2500 + None, # 2501 + None, # 2502 + None, # 2503 + None, # 2504 + None, # 2505 + None, # 2506 + None, # 2507 + None, # 2508 + None, # 2509 + None, # 2510 + None, # 2511 + None, # 2512 + None, # 2513 + None, # 2514 + None, # 2515 + None, # 2516 + None, # 2517 + None, # 2518 + None, # 2519 + None, # 2520 + None, # 2521 + None, # 2522 + None, # 2523 + None, # 2524 + None, # 2525 + None, # 2526 + None, # 2527 + None, # 2528 + None, # 2529 + None, # 2530 + None, # 2531 + None, # 2532 + None, # 2533 + None, # 2534 + None, # 2535 + None, # 2536 + None, # 2537 + None, # 2538 + None, # 2539 + None, # 2540 + None, # 2541 + None, # 2542 + None, # 2543 + None, # 2544 + None, # 2545 + None, # 2546 + None, # 2547 + None, # 2548 + None, # 2549 + None, # 2550 + None, # 2551 + None, # 2552 + None, # 2553 + None, # 2554 + None, # 2555 + None, # 2556 + None, # 2557 + None, # 2558 + None, # 2559 + None, # 2560 + None, # 2561 + None, # 2562 + None, # 2563 + None, # 2564 + None, # 2565 + None, # 2566 + None, # 2567 + None, # 2568 + None, # 2569 + None, # 2570 + None, # 2571 + None, # 2572 + None, # 2573 + None, # 2574 + None, # 2575 + None, # 2576 + None, # 2577 + None, # 2578 + None, # 2579 + None, # 2580 + None, # 2581 + None, # 2582 + None, # 2583 + None, # 2584 + None, # 2585 + None, # 2586 + None, # 2587 + None, # 2588 + None, # 2589 + None, # 2590 + None, # 2591 + None, # 2592 + None, # 2593 + None, # 2594 + None, # 2595 + None, # 2596 + None, # 2597 + None, # 2598 + None, # 2599 + None, # 2600 + None, # 2601 + None, # 2602 + None, # 2603 + None, # 2604 + None, # 2605 + None, # 2606 + None, # 2607 + None, # 2608 + None, # 2609 + None, # 2610 + None, # 2611 + None, # 2612 + None, # 2613 + None, # 2614 + None, # 2615 + None, # 2616 + None, # 2617 + None, # 2618 + None, # 2619 + None, # 2620 + None, # 2621 + None, # 2622 + None, # 2623 + None, # 2624 + None, # 2625 + None, # 2626 + None, # 2627 + None, # 2628 + None, # 2629 + None, # 2630 + None, # 2631 + None, # 2632 + None, # 2633 + None, # 2634 + None, # 2635 + None, # 2636 + None, # 2637 + None, # 2638 + None, # 2639 + None, # 2640 + None, # 2641 + None, # 2642 + None, # 2643 + None, # 2644 + None, # 2645 + None, # 2646 + None, # 2647 + None, # 2648 + None, # 2649 + None, # 2650 + None, # 2651 + None, # 2652 + None, # 2653 + None, # 2654 + None, # 2655 + None, # 2656 + None, # 2657 + None, # 2658 + None, # 2659 + None, # 2660 + None, # 2661 + None, # 2662 + None, # 2663 + None, # 2664 + None, # 2665 + None, # 2666 + None, # 2667 + None, # 2668 + None, # 2669 + None, # 2670 + None, # 2671 + None, # 2672 + None, # 2673 + None, # 2674 + None, # 2675 + None, # 2676 + None, # 2677 + None, # 2678 + None, # 2679 + None, # 2680 + None, # 2681 + None, # 2682 + None, # 2683 + None, # 2684 + None, # 2685 + None, # 2686 + None, # 2687 + None, # 2688 + None, # 2689 + None, # 2690 + None, # 2691 + None, # 2692 + None, # 2693 + None, # 2694 + None, # 2695 + None, # 2696 + None, # 2697 + None, # 2698 + None, # 2699 + None, # 2700 + None, # 2701 + None, # 2702 + None, # 2703 + None, # 2704 + None, # 2705 + None, # 2706 + None, # 2707 + None, # 2708 + None, # 2709 + None, # 2710 + None, # 2711 + None, # 2712 + None, # 2713 + None, # 2714 + None, # 2715 + None, # 2716 + None, # 2717 + None, # 2718 + None, # 2719 + None, # 2720 + None, # 2721 + None, # 2722 + None, # 2723 + None, # 2724 + None, # 2725 + None, # 2726 + None, # 2727 + None, # 2728 + None, # 2729 + None, # 2730 + None, # 2731 + None, # 2732 + None, # 2733 + None, # 2734 + None, # 2735 + None, # 2736 + None, # 2737 + None, # 2738 + None, # 2739 + None, # 2740 + None, # 2741 + None, # 2742 + None, # 2743 + None, # 2744 + None, # 2745 + None, # 2746 + None, # 2747 + None, # 2748 + None, # 2749 + None, # 2750 + None, # 2751 + None, # 2752 + None, # 2753 + None, # 2754 + None, # 2755 + None, # 2756 + None, # 2757 + None, # 2758 + None, # 2759 + None, # 2760 + None, # 2761 + None, # 2762 + None, # 2763 + None, # 2764 + None, # 2765 + None, # 2766 + None, # 2767 + None, # 2768 + None, # 2769 + None, # 2770 + None, # 2771 + None, # 2772 + None, # 2773 + None, # 2774 + None, # 2775 + None, # 2776 + None, # 2777 + None, # 2778 + None, # 2779 + None, # 2780 + None, # 2781 + None, # 2782 + None, # 2783 + None, # 2784 + None, # 2785 + None, # 2786 + None, # 2787 + None, # 2788 + None, # 2789 + None, # 2790 + None, # 2791 + None, # 2792 + None, # 2793 + None, # 2794 + None, # 2795 + None, # 2796 + None, # 2797 + None, # 2798 + None, # 2799 + None, # 2800 + None, # 2801 + None, # 2802 + None, # 2803 + None, # 2804 + None, # 2805 + None, # 2806 + None, # 2807 + None, # 2808 + None, # 2809 + None, # 2810 + None, # 2811 + None, # 2812 + None, # 2813 + None, # 2814 + None, # 2815 + None, # 2816 + None, # 2817 + None, # 2818 + None, # 2819 + None, # 2820 + None, # 2821 + None, # 2822 + None, # 2823 + None, # 2824 + None, # 2825 + None, # 2826 + None, # 2827 + None, # 2828 + None, # 2829 + None, # 2830 + None, # 2831 + None, # 2832 + None, # 2833 + None, # 2834 + None, # 2835 + None, # 2836 + None, # 2837 + None, # 2838 + None, # 2839 + None, # 2840 + None, # 2841 + None, # 2842 + None, # 2843 + None, # 2844 + None, # 2845 + None, # 2846 + None, # 2847 + None, # 2848 + None, # 2849 + None, # 2850 + None, # 2851 + None, # 2852 + None, # 2853 + None, # 2854 + None, # 2855 + None, # 2856 + None, # 2857 + None, # 2858 + None, # 2859 + None, # 2860 + None, # 2861 + None, # 2862 + None, # 2863 + None, # 2864 + None, # 2865 + None, # 2866 + None, # 2867 + None, # 2868 + None, # 2869 + None, # 2870 + None, # 2871 + None, # 2872 + None, # 2873 + None, # 2874 + None, # 2875 + None, # 2876 + None, # 2877 + None, # 2878 + None, # 2879 + None, # 2880 + None, # 2881 + None, # 2882 + None, # 2883 + None, # 2884 + None, # 2885 + None, # 2886 + None, # 2887 + None, # 2888 + None, # 2889 + None, # 2890 + None, # 2891 + None, # 2892 + None, # 2893 + None, # 2894 + None, # 2895 + None, # 2896 + None, # 2897 + None, # 2898 + None, # 2899 + None, # 2900 + None, # 2901 + None, # 2902 + None, # 2903 + None, # 2904 + None, # 2905 + None, # 2906 + None, # 2907 + None, # 2908 + None, # 2909 + None, # 2910 + None, # 2911 + None, # 2912 + None, # 2913 + None, # 2914 + None, # 2915 + None, # 2916 + None, # 2917 + None, # 2918 + None, # 2919 + None, # 2920 + None, # 2921 + None, # 2922 + None, # 2923 + None, # 2924 + None, # 2925 + None, # 2926 + None, # 2927 + None, # 2928 + None, # 2929 + None, # 2930 + None, # 2931 + None, # 2932 + None, # 2933 + None, # 2934 + None, # 2935 + None, # 2936 + None, # 2937 + None, # 2938 + None, # 2939 + None, # 2940 + None, # 2941 + None, # 2942 + None, # 2943 + None, # 2944 + None, # 2945 + None, # 2946 + None, # 2947 + None, # 2948 + None, # 2949 + None, # 2950 + None, # 2951 + None, # 2952 + None, # 2953 + None, # 2954 + None, # 2955 + None, # 2956 + None, # 2957 + None, # 2958 + None, # 2959 + None, # 2960 + None, # 2961 + None, # 2962 + None, # 2963 + None, # 2964 + None, # 2965 + None, # 2966 + None, # 2967 + None, # 2968 + None, # 2969 + None, # 2970 + None, # 2971 + None, # 2972 + None, # 2973 + None, # 2974 + None, # 2975 + None, # 2976 + None, # 2977 + None, # 2978 + None, # 2979 + None, # 2980 + None, # 2981 + None, # 2982 + None, # 2983 + None, # 2984 + None, # 2985 + None, # 2986 + None, # 2987 + None, # 2988 + None, # 2989 + None, # 2990 + None, # 2991 + None, # 2992 + None, # 2993 + None, # 2994 + None, # 2995 + None, # 2996 + None, # 2997 + None, # 2998 + None, # 2999 + None, # 3000 + None, # 3001 + None, # 3002 + None, # 3003 + None, # 3004 + None, # 3005 + None, # 3006 + None, # 3007 + None, # 3008 + None, # 3009 + None, # 3010 + None, # 3011 + None, # 3012 + None, # 3013 + None, # 3014 + None, # 3015 + None, # 3016 + None, # 3017 + None, # 3018 + None, # 3019 + None, # 3020 + None, # 3021 + None, # 3022 + None, # 3023 + None, # 3024 + None, # 3025 + None, # 3026 + None, # 3027 + None, # 3028 + None, # 3029 + None, # 3030 + None, # 3031 + None, # 3032 + None, # 3033 + None, # 3034 + None, # 3035 + None, # 3036 + None, # 3037 + None, # 3038 + None, # 3039 + None, # 3040 + None, # 3041 + None, # 3042 + None, # 3043 + None, # 3044 + None, # 3045 + None, # 3046 + None, # 3047 + None, # 3048 + None, # 3049 + None, # 3050 + None, # 3051 + None, # 3052 + None, # 3053 + None, # 3054 + None, # 3055 + None, # 3056 + None, # 3057 + None, # 3058 + None, # 3059 + None, # 3060 + None, # 3061 + None, # 3062 + None, # 3063 + None, # 3064 + None, # 3065 + None, # 3066 + None, # 3067 + None, # 3068 + None, # 3069 + None, # 3070 + None, # 3071 + None, # 3072 + None, # 3073 + None, # 3074 + None, # 3075 + None, # 3076 + None, # 3077 + None, # 3078 + None, # 3079 + None, # 3080 + None, # 3081 + None, # 3082 + None, # 3083 + None, # 3084 + None, # 3085 + None, # 3086 + None, # 3087 + None, # 3088 + None, # 3089 + None, # 3090 + None, # 3091 + None, # 3092 + None, # 3093 + None, # 3094 + None, # 3095 + None, # 3096 + None, # 3097 + None, # 3098 + None, # 3099 + None, # 3100 + None, # 3101 + None, # 3102 + None, # 3103 + None, # 3104 + None, # 3105 + None, # 3106 + None, # 3107 + None, # 3108 + None, # 3109 + None, # 3110 + None, # 3111 + None, # 3112 + None, # 3113 + None, # 3114 + None, # 3115 + None, # 3116 + None, # 3117 + None, # 3118 + None, # 3119 + None, # 3120 + None, # 3121 + None, # 3122 + None, # 3123 + None, # 3124 + None, # 3125 + None, # 3126 + None, # 3127 + None, # 3128 + None, # 3129 + None, # 3130 + None, # 3131 + None, # 3132 + None, # 3133 + None, # 3134 + None, # 3135 + None, # 3136 + None, # 3137 + None, # 3138 + None, # 3139 + None, # 3140 + None, # 3141 + None, # 3142 + None, # 3143 + None, # 3144 + None, # 3145 + None, # 3146 + None, # 3147 + None, # 3148 + None, # 3149 + None, # 3150 + None, # 3151 + None, # 3152 + None, # 3153 + None, # 3154 + None, # 3155 + None, # 3156 + None, # 3157 + None, # 3158 + None, # 3159 + None, # 3160 + None, # 3161 + None, # 3162 + None, # 3163 + None, # 3164 + None, # 3165 + None, # 3166 + None, # 3167 + None, # 3168 + None, # 3169 + None, # 3170 + None, # 3171 + None, # 3172 + None, # 3173 + None, # 3174 + None, # 3175 + None, # 3176 + None, # 3177 + None, # 3178 + None, # 3179 + None, # 3180 + None, # 3181 + None, # 3182 + None, # 3183 + None, # 3184 + None, # 3185 + None, # 3186 + None, # 3187 + None, # 3188 + None, # 3189 + None, # 3190 + None, # 3191 + None, # 3192 + None, # 3193 + None, # 3194 + None, # 3195 + None, # 3196 + None, # 3197 + None, # 3198 + None, # 3199 + None, # 3200 + None, # 3201 + None, # 3202 + None, # 3203 + None, # 3204 + None, # 3205 + None, # 3206 + None, # 3207 + None, # 3208 + None, # 3209 + None, # 3210 + None, # 3211 + None, # 3212 + None, # 3213 + None, # 3214 + None, # 3215 + None, # 3216 + None, # 3217 + None, # 3218 + None, # 3219 + None, # 3220 + None, # 3221 + None, # 3222 + None, # 3223 + None, # 3224 + None, # 3225 + None, # 3226 + None, # 3227 + None, # 3228 + None, # 3229 + None, # 3230 + None, # 3231 + None, # 3232 + None, # 3233 + None, # 3234 + None, # 3235 + None, # 3236 + None, # 3237 + None, # 3238 + None, # 3239 + None, # 3240 + None, # 3241 + None, # 3242 + None, # 3243 + None, # 3244 + None, # 3245 + None, # 3246 + None, # 3247 + None, # 3248 + None, # 3249 + None, # 3250 + None, # 3251 + None, # 3252 + None, # 3253 + None, # 3254 + None, # 3255 + None, # 3256 + None, # 3257 + None, # 3258 + None, # 3259 + None, # 3260 + None, # 3261 + None, # 3262 + None, # 3263 + None, # 3264 + None, # 3265 + None, # 3266 + None, # 3267 + None, # 3268 + None, # 3269 + None, # 3270 + None, # 3271 + None, # 3272 + None, # 3273 + None, # 3274 + None, # 3275 + None, # 3276 + None, # 3277 + None, # 3278 + None, # 3279 + None, # 3280 + None, # 3281 + None, # 3282 + None, # 3283 + None, # 3284 + None, # 3285 + None, # 3286 + None, # 3287 + None, # 3288 + None, # 3289 + None, # 3290 + None, # 3291 + None, # 3292 + None, # 3293 + None, # 3294 + None, # 3295 + None, # 3296 + None, # 3297 + None, # 3298 + None, # 3299 + None, # 3300 + None, # 3301 + None, # 3302 + None, # 3303 + None, # 3304 + None, # 3305 + None, # 3306 + None, # 3307 + None, # 3308 + None, # 3309 + None, # 3310 + None, # 3311 + None, # 3312 + None, # 3313 + None, # 3314 + None, # 3315 + None, # 3316 + None, # 3317 + None, # 3318 + None, # 3319 + None, # 3320 + None, # 3321 + None, # 3322 + None, # 3323 + None, # 3324 + None, # 3325 + None, # 3326 + None, # 3327 + None, # 3328 + (3329, TType.LIST, 'cloudFetchResults', (TType.STRUCT, [TDBSqlCloudResultFile, None], False), None, ), # 3329 ) all_structs.append(TDBSqlTempView) TDBSqlTempView.thrift_spec = ( - None, # 0 - ( - 1, - TType.STRING, - "name", - "UTF8", - None, - ), # 1 - ( - 2, - TType.STRING, - "sqlStatement", - "UTF8", - None, - ), # 2 - ( - 3, - TType.MAP, - "properties", - (TType.STRING, "UTF8", TType.STRING, "UTF8", False), - None, - ), # 3 - ( - 4, - TType.STRING, - "viewSchema", - "UTF8", - None, - ), # 4 + None, # 0 + (1, TType.STRING, 'name', 'UTF8', None, ), # 1 + (2, TType.STRING, 'sqlStatement', 'UTF8', None, ), # 2 + (3, TType.MAP, 'properties', (TType.STRING, 'UTF8', TType.STRING, 'UTF8', False), None, ), # 3 + (4, TType.STRING, 'viewSchema', 'UTF8', None, ), # 4 ) all_structs.append(TDBSqlSessionCapabilities) TDBSqlSessionCapabilities.thrift_spec = ( - None, # 0 - ( - 1, - TType.BOOL, - "supportsMultipleCatalogs", - None, - None, - ), # 1 + None, # 0 + (1, TType.BOOL, 'supportsMultipleCatalogs', None, None, ), # 1 ) all_structs.append(TExpressionInfo) TExpressionInfo.thrift_spec = ( - None, # 0 - ( - 1, - TType.STRING, - "className", - "UTF8", - None, - ), # 1 - ( - 2, - TType.STRING, - "usage", - "UTF8", - None, - ), # 2 - ( - 3, - TType.STRING, - "name", - "UTF8", - None, - ), # 3 - ( - 4, - TType.STRING, - "extended", - "UTF8", - None, - ), # 4 - ( - 5, - TType.STRING, - "db", - "UTF8", - None, - ), # 5 - ( - 6, - TType.STRING, - "arguments", - "UTF8", - None, - ), # 6 - ( - 7, - TType.STRING, - "examples", - "UTF8", - None, - ), # 7 - ( - 8, - TType.STRING, - "note", - "UTF8", - None, - ), # 8 - ( - 9, - TType.STRING, - "group", - "UTF8", - None, - ), # 9 - ( - 10, - TType.STRING, - "since", - "UTF8", - None, - ), # 10 - ( - 11, - TType.STRING, - "deprecated", - "UTF8", - None, - ), # 11 - ( - 12, - TType.STRING, - "source", - "UTF8", - None, - ), # 12 + None, # 0 + (1, TType.STRING, 'className', 'UTF8', None, ), # 1 + (2, TType.STRING, 'usage', 'UTF8', None, ), # 2 + (3, TType.STRING, 'name', 'UTF8', None, ), # 3 + (4, TType.STRING, 'extended', 'UTF8', None, ), # 4 + (5, TType.STRING, 'db', 'UTF8', None, ), # 5 + (6, TType.STRING, 'arguments', 'UTF8', None, ), # 6 + (7, TType.STRING, 'examples', 'UTF8', None, ), # 7 + (8, TType.STRING, 'note', 'UTF8', None, ), # 8 + (9, TType.STRING, 'group', 'UTF8', None, ), # 9 + (10, TType.STRING, 'since', 'UTF8', None, ), # 10 + (11, TType.STRING, 'deprecated', 'UTF8', None, ), # 11 + (12, TType.STRING, 'source', 'UTF8', None, ), # 12 ) all_structs.append(TDBSqlConfValue) TDBSqlConfValue.thrift_spec = ( - None, # 0 - ( - 1, - TType.STRING, - "value", - "UTF8", - None, - ), # 1 + None, # 0 + (1, TType.STRING, 'value', 'UTF8', None, ), # 1 ) all_structs.append(TDBSqlSessionConf) TDBSqlSessionConf.thrift_spec = ( - None, # 0 - ( - 1, - TType.MAP, - "confs", - (TType.STRING, "UTF8", TType.STRING, "UTF8", False), - None, - ), # 1 - ( - 2, - TType.LIST, - "tempViews", - (TType.STRUCT, [TDBSqlTempView, None], False), - None, - ), # 2 - ( - 3, - TType.STRING, - "currentDatabase", - "UTF8", - None, - ), # 3 - ( - 4, - TType.STRING, - "currentCatalog", - "UTF8", - None, - ), # 4 - ( - 5, - TType.STRUCT, - "sessionCapabilities", - [TDBSqlSessionCapabilities, None], - None, - ), # 5 - ( - 6, - TType.LIST, - "expressionsInfos", - (TType.STRUCT, [TExpressionInfo, None], False), - None, - ), # 6 - ( - 7, - TType.MAP, - "internalConfs", - (TType.STRING, "UTF8", TType.STRUCT, [TDBSqlConfValue, None], False), - None, - ), # 7 + None, # 0 + (1, TType.MAP, 'confs', (TType.STRING, 'UTF8', TType.STRING, 'UTF8', False), None, ), # 1 + (2, TType.LIST, 'tempViews', (TType.STRUCT, [TDBSqlTempView, None], False), None, ), # 2 + (3, TType.STRING, 'currentDatabase', 'UTF8', None, ), # 3 + (4, TType.STRING, 'currentCatalog', 'UTF8', None, ), # 4 + (5, TType.STRUCT, 'sessionCapabilities', [TDBSqlSessionCapabilities, None], None, ), # 5 + (6, TType.LIST, 'expressionsInfos', (TType.STRUCT, [TExpressionInfo, None], False), None, ), # 6 + (7, TType.MAP, 'internalConfs', (TType.STRING, 'UTF8', TType.STRUCT, [TDBSqlConfValue, None], False), None, ), # 7 ) all_structs.append(TStatus) TStatus.thrift_spec = ( - None, # 0 - ( - 1, - TType.I32, - "statusCode", - None, - None, - ), # 1 - ( - 2, - TType.LIST, - "infoMessages", - (TType.STRING, "UTF8", False), - None, - ), # 2 - ( - 3, - TType.STRING, - "sqlState", - "UTF8", - None, - ), # 3 - ( - 4, - TType.I32, - "errorCode", - None, - None, - ), # 4 - ( - 5, - TType.STRING, - "errorMessage", - "UTF8", - None, - ), # 5 - ( - 6, - TType.STRING, - "displayMessage", - "UTF8", - None, - ), # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - ( - 1281, - TType.STRING, - "errorDetailsJson", - "UTF8", - None, - ), # 1281 - None, # 1282 - None, # 1283 - None, # 1284 - None, # 1285 - None, # 1286 - None, # 1287 - None, # 1288 - None, # 1289 - None, # 1290 - None, # 1291 - None, # 1292 - None, # 1293 - None, # 1294 - None, # 1295 - None, # 1296 - None, # 1297 - None, # 1298 - None, # 1299 - None, # 1300 - None, # 1301 - None, # 1302 - None, # 1303 - None, # 1304 - None, # 1305 - None, # 1306 - None, # 1307 - None, # 1308 - None, # 1309 - None, # 1310 - None, # 1311 - None, # 1312 - None, # 1313 - None, # 1314 - None, # 1315 - None, # 1316 - None, # 1317 - None, # 1318 - None, # 1319 - None, # 1320 - None, # 1321 - None, # 1322 - None, # 1323 - None, # 1324 - None, # 1325 - None, # 1326 - None, # 1327 - None, # 1328 - None, # 1329 - None, # 1330 - None, # 1331 - None, # 1332 - None, # 1333 - None, # 1334 - None, # 1335 - None, # 1336 - None, # 1337 - None, # 1338 - None, # 1339 - None, # 1340 - None, # 1341 - None, # 1342 - None, # 1343 - None, # 1344 - None, # 1345 - None, # 1346 - None, # 1347 - None, # 1348 - None, # 1349 - None, # 1350 - None, # 1351 - None, # 1352 - None, # 1353 - None, # 1354 - None, # 1355 - None, # 1356 - None, # 1357 - None, # 1358 - None, # 1359 - None, # 1360 - None, # 1361 - None, # 1362 - None, # 1363 - None, # 1364 - None, # 1365 - None, # 1366 - None, # 1367 - None, # 1368 - None, # 1369 - None, # 1370 - None, # 1371 - None, # 1372 - None, # 1373 - None, # 1374 - None, # 1375 - None, # 1376 - None, # 1377 - None, # 1378 - None, # 1379 - None, # 1380 - None, # 1381 - None, # 1382 - None, # 1383 - None, # 1384 - None, # 1385 - None, # 1386 - None, # 1387 - None, # 1388 - None, # 1389 - None, # 1390 - None, # 1391 - None, # 1392 - None, # 1393 - None, # 1394 - None, # 1395 - None, # 1396 - None, # 1397 - None, # 1398 - None, # 1399 - None, # 1400 - None, # 1401 - None, # 1402 - None, # 1403 - None, # 1404 - None, # 1405 - None, # 1406 - None, # 1407 - None, # 1408 - None, # 1409 - None, # 1410 - None, # 1411 - None, # 1412 - None, # 1413 - None, # 1414 - None, # 1415 - None, # 1416 - None, # 1417 - None, # 1418 - None, # 1419 - None, # 1420 - None, # 1421 - None, # 1422 - None, # 1423 - None, # 1424 - None, # 1425 - None, # 1426 - None, # 1427 - None, # 1428 - None, # 1429 - None, # 1430 - None, # 1431 - None, # 1432 - None, # 1433 - None, # 1434 - None, # 1435 - None, # 1436 - None, # 1437 - None, # 1438 - None, # 1439 - None, # 1440 - None, # 1441 - None, # 1442 - None, # 1443 - None, # 1444 - None, # 1445 - None, # 1446 - None, # 1447 - None, # 1448 - None, # 1449 - None, # 1450 - None, # 1451 - None, # 1452 - None, # 1453 - None, # 1454 - None, # 1455 - None, # 1456 - None, # 1457 - None, # 1458 - None, # 1459 - None, # 1460 - None, # 1461 - None, # 1462 - None, # 1463 - None, # 1464 - None, # 1465 - None, # 1466 - None, # 1467 - None, # 1468 - None, # 1469 - None, # 1470 - None, # 1471 - None, # 1472 - None, # 1473 - None, # 1474 - None, # 1475 - None, # 1476 - None, # 1477 - None, # 1478 - None, # 1479 - None, # 1480 - None, # 1481 - None, # 1482 - None, # 1483 - None, # 1484 - None, # 1485 - None, # 1486 - None, # 1487 - None, # 1488 - None, # 1489 - None, # 1490 - None, # 1491 - None, # 1492 - None, # 1493 - None, # 1494 - None, # 1495 - None, # 1496 - None, # 1497 - None, # 1498 - None, # 1499 - None, # 1500 - None, # 1501 - None, # 1502 - None, # 1503 - None, # 1504 - None, # 1505 - None, # 1506 - None, # 1507 - None, # 1508 - None, # 1509 - None, # 1510 - None, # 1511 - None, # 1512 - None, # 1513 - None, # 1514 - None, # 1515 - None, # 1516 - None, # 1517 - None, # 1518 - None, # 1519 - None, # 1520 - None, # 1521 - None, # 1522 - None, # 1523 - None, # 1524 - None, # 1525 - None, # 1526 - None, # 1527 - None, # 1528 - None, # 1529 - None, # 1530 - None, # 1531 - None, # 1532 - None, # 1533 - None, # 1534 - None, # 1535 - None, # 1536 - None, # 1537 - None, # 1538 - None, # 1539 - None, # 1540 - None, # 1541 - None, # 1542 - None, # 1543 - None, # 1544 - None, # 1545 - None, # 1546 - None, # 1547 - None, # 1548 - None, # 1549 - None, # 1550 - None, # 1551 - None, # 1552 - None, # 1553 - None, # 1554 - None, # 1555 - None, # 1556 - None, # 1557 - None, # 1558 - None, # 1559 - None, # 1560 - None, # 1561 - None, # 1562 - None, # 1563 - None, # 1564 - None, # 1565 - None, # 1566 - None, # 1567 - None, # 1568 - None, # 1569 - None, # 1570 - None, # 1571 - None, # 1572 - None, # 1573 - None, # 1574 - None, # 1575 - None, # 1576 - None, # 1577 - None, # 1578 - None, # 1579 - None, # 1580 - None, # 1581 - None, # 1582 - None, # 1583 - None, # 1584 - None, # 1585 - None, # 1586 - None, # 1587 - None, # 1588 - None, # 1589 - None, # 1590 - None, # 1591 - None, # 1592 - None, # 1593 - None, # 1594 - None, # 1595 - None, # 1596 - None, # 1597 - None, # 1598 - None, # 1599 - None, # 1600 - None, # 1601 - None, # 1602 - None, # 1603 - None, # 1604 - None, # 1605 - None, # 1606 - None, # 1607 - None, # 1608 - None, # 1609 - None, # 1610 - None, # 1611 - None, # 1612 - None, # 1613 - None, # 1614 - None, # 1615 - None, # 1616 - None, # 1617 - None, # 1618 - None, # 1619 - None, # 1620 - None, # 1621 - None, # 1622 - None, # 1623 - None, # 1624 - None, # 1625 - None, # 1626 - None, # 1627 - None, # 1628 - None, # 1629 - None, # 1630 - None, # 1631 - None, # 1632 - None, # 1633 - None, # 1634 - None, # 1635 - None, # 1636 - None, # 1637 - None, # 1638 - None, # 1639 - None, # 1640 - None, # 1641 - None, # 1642 - None, # 1643 - None, # 1644 - None, # 1645 - None, # 1646 - None, # 1647 - None, # 1648 - None, # 1649 - None, # 1650 - None, # 1651 - None, # 1652 - None, # 1653 - None, # 1654 - None, # 1655 - None, # 1656 - None, # 1657 - None, # 1658 - None, # 1659 - None, # 1660 - None, # 1661 - None, # 1662 - None, # 1663 - None, # 1664 - None, # 1665 - None, # 1666 - None, # 1667 - None, # 1668 - None, # 1669 - None, # 1670 - None, # 1671 - None, # 1672 - None, # 1673 - None, # 1674 - None, # 1675 - None, # 1676 - None, # 1677 - None, # 1678 - None, # 1679 - None, # 1680 - None, # 1681 - None, # 1682 - None, # 1683 - None, # 1684 - None, # 1685 - None, # 1686 - None, # 1687 - None, # 1688 - None, # 1689 - None, # 1690 - None, # 1691 - None, # 1692 - None, # 1693 - None, # 1694 - None, # 1695 - None, # 1696 - None, # 1697 - None, # 1698 - None, # 1699 - None, # 1700 - None, # 1701 - None, # 1702 - None, # 1703 - None, # 1704 - None, # 1705 - None, # 1706 - None, # 1707 - None, # 1708 - None, # 1709 - None, # 1710 - None, # 1711 - None, # 1712 - None, # 1713 - None, # 1714 - None, # 1715 - None, # 1716 - None, # 1717 - None, # 1718 - None, # 1719 - None, # 1720 - None, # 1721 - None, # 1722 - None, # 1723 - None, # 1724 - None, # 1725 - None, # 1726 - None, # 1727 - None, # 1728 - None, # 1729 - None, # 1730 - None, # 1731 - None, # 1732 - None, # 1733 - None, # 1734 - None, # 1735 - None, # 1736 - None, # 1737 - None, # 1738 - None, # 1739 - None, # 1740 - None, # 1741 - None, # 1742 - None, # 1743 - None, # 1744 - None, # 1745 - None, # 1746 - None, # 1747 - None, # 1748 - None, # 1749 - None, # 1750 - None, # 1751 - None, # 1752 - None, # 1753 - None, # 1754 - None, # 1755 - None, # 1756 - None, # 1757 - None, # 1758 - None, # 1759 - None, # 1760 - None, # 1761 - None, # 1762 - None, # 1763 - None, # 1764 - None, # 1765 - None, # 1766 - None, # 1767 - None, # 1768 - None, # 1769 - None, # 1770 - None, # 1771 - None, # 1772 - None, # 1773 - None, # 1774 - None, # 1775 - None, # 1776 - None, # 1777 - None, # 1778 - None, # 1779 - None, # 1780 - None, # 1781 - None, # 1782 - None, # 1783 - None, # 1784 - None, # 1785 - None, # 1786 - None, # 1787 - None, # 1788 - None, # 1789 - None, # 1790 - None, # 1791 - None, # 1792 - None, # 1793 - None, # 1794 - None, # 1795 - None, # 1796 - None, # 1797 - None, # 1798 - None, # 1799 - None, # 1800 - None, # 1801 - None, # 1802 - None, # 1803 - None, # 1804 - None, # 1805 - None, # 1806 - None, # 1807 - None, # 1808 - None, # 1809 - None, # 1810 - None, # 1811 - None, # 1812 - None, # 1813 - None, # 1814 - None, # 1815 - None, # 1816 - None, # 1817 - None, # 1818 - None, # 1819 - None, # 1820 - None, # 1821 - None, # 1822 - None, # 1823 - None, # 1824 - None, # 1825 - None, # 1826 - None, # 1827 - None, # 1828 - None, # 1829 - None, # 1830 - None, # 1831 - None, # 1832 - None, # 1833 - None, # 1834 - None, # 1835 - None, # 1836 - None, # 1837 - None, # 1838 - None, # 1839 - None, # 1840 - None, # 1841 - None, # 1842 - None, # 1843 - None, # 1844 - None, # 1845 - None, # 1846 - None, # 1847 - None, # 1848 - None, # 1849 - None, # 1850 - None, # 1851 - None, # 1852 - None, # 1853 - None, # 1854 - None, # 1855 - None, # 1856 - None, # 1857 - None, # 1858 - None, # 1859 - None, # 1860 - None, # 1861 - None, # 1862 - None, # 1863 - None, # 1864 - None, # 1865 - None, # 1866 - None, # 1867 - None, # 1868 - None, # 1869 - None, # 1870 - None, # 1871 - None, # 1872 - None, # 1873 - None, # 1874 - None, # 1875 - None, # 1876 - None, # 1877 - None, # 1878 - None, # 1879 - None, # 1880 - None, # 1881 - None, # 1882 - None, # 1883 - None, # 1884 - None, # 1885 - None, # 1886 - None, # 1887 - None, # 1888 - None, # 1889 - None, # 1890 - None, # 1891 - None, # 1892 - None, # 1893 - None, # 1894 - None, # 1895 - None, # 1896 - None, # 1897 - None, # 1898 - None, # 1899 - None, # 1900 - None, # 1901 - None, # 1902 - None, # 1903 - None, # 1904 - None, # 1905 - None, # 1906 - None, # 1907 - None, # 1908 - None, # 1909 - None, # 1910 - None, # 1911 - None, # 1912 - None, # 1913 - None, # 1914 - None, # 1915 - None, # 1916 - None, # 1917 - None, # 1918 - None, # 1919 - None, # 1920 - None, # 1921 - None, # 1922 - None, # 1923 - None, # 1924 - None, # 1925 - None, # 1926 - None, # 1927 - None, # 1928 - None, # 1929 - None, # 1930 - None, # 1931 - None, # 1932 - None, # 1933 - None, # 1934 - None, # 1935 - None, # 1936 - None, # 1937 - None, # 1938 - None, # 1939 - None, # 1940 - None, # 1941 - None, # 1942 - None, # 1943 - None, # 1944 - None, # 1945 - None, # 1946 - None, # 1947 - None, # 1948 - None, # 1949 - None, # 1950 - None, # 1951 - None, # 1952 - None, # 1953 - None, # 1954 - None, # 1955 - None, # 1956 - None, # 1957 - None, # 1958 - None, # 1959 - None, # 1960 - None, # 1961 - None, # 1962 - None, # 1963 - None, # 1964 - None, # 1965 - None, # 1966 - None, # 1967 - None, # 1968 - None, # 1969 - None, # 1970 - None, # 1971 - None, # 1972 - None, # 1973 - None, # 1974 - None, # 1975 - None, # 1976 - None, # 1977 - None, # 1978 - None, # 1979 - None, # 1980 - None, # 1981 - None, # 1982 - None, # 1983 - None, # 1984 - None, # 1985 - None, # 1986 - None, # 1987 - None, # 1988 - None, # 1989 - None, # 1990 - None, # 1991 - None, # 1992 - None, # 1993 - None, # 1994 - None, # 1995 - None, # 1996 - None, # 1997 - None, # 1998 - None, # 1999 - None, # 2000 - None, # 2001 - None, # 2002 - None, # 2003 - None, # 2004 - None, # 2005 - None, # 2006 - None, # 2007 - None, # 2008 - None, # 2009 - None, # 2010 - None, # 2011 - None, # 2012 - None, # 2013 - None, # 2014 - None, # 2015 - None, # 2016 - None, # 2017 - None, # 2018 - None, # 2019 - None, # 2020 - None, # 2021 - None, # 2022 - None, # 2023 - None, # 2024 - None, # 2025 - None, # 2026 - None, # 2027 - None, # 2028 - None, # 2029 - None, # 2030 - None, # 2031 - None, # 2032 - None, # 2033 - None, # 2034 - None, # 2035 - None, # 2036 - None, # 2037 - None, # 2038 - None, # 2039 - None, # 2040 - None, # 2041 - None, # 2042 - None, # 2043 - None, # 2044 - None, # 2045 - None, # 2046 - None, # 2047 - None, # 2048 - None, # 2049 - None, # 2050 - None, # 2051 - None, # 2052 - None, # 2053 - None, # 2054 - None, # 2055 - None, # 2056 - None, # 2057 - None, # 2058 - None, # 2059 - None, # 2060 - None, # 2061 - None, # 2062 - None, # 2063 - None, # 2064 - None, # 2065 - None, # 2066 - None, # 2067 - None, # 2068 - None, # 2069 - None, # 2070 - None, # 2071 - None, # 2072 - None, # 2073 - None, # 2074 - None, # 2075 - None, # 2076 - None, # 2077 - None, # 2078 - None, # 2079 - None, # 2080 - None, # 2081 - None, # 2082 - None, # 2083 - None, # 2084 - None, # 2085 - None, # 2086 - None, # 2087 - None, # 2088 - None, # 2089 - None, # 2090 - None, # 2091 - None, # 2092 - None, # 2093 - None, # 2094 - None, # 2095 - None, # 2096 - None, # 2097 - None, # 2098 - None, # 2099 - None, # 2100 - None, # 2101 - None, # 2102 - None, # 2103 - None, # 2104 - None, # 2105 - None, # 2106 - None, # 2107 - None, # 2108 - None, # 2109 - None, # 2110 - None, # 2111 - None, # 2112 - None, # 2113 - None, # 2114 - None, # 2115 - None, # 2116 - None, # 2117 - None, # 2118 - None, # 2119 - None, # 2120 - None, # 2121 - None, # 2122 - None, # 2123 - None, # 2124 - None, # 2125 - None, # 2126 - None, # 2127 - None, # 2128 - None, # 2129 - None, # 2130 - None, # 2131 - None, # 2132 - None, # 2133 - None, # 2134 - None, # 2135 - None, # 2136 - None, # 2137 - None, # 2138 - None, # 2139 - None, # 2140 - None, # 2141 - None, # 2142 - None, # 2143 - None, # 2144 - None, # 2145 - None, # 2146 - None, # 2147 - None, # 2148 - None, # 2149 - None, # 2150 - None, # 2151 - None, # 2152 - None, # 2153 - None, # 2154 - None, # 2155 - None, # 2156 - None, # 2157 - None, # 2158 - None, # 2159 - None, # 2160 - None, # 2161 - None, # 2162 - None, # 2163 - None, # 2164 - None, # 2165 - None, # 2166 - None, # 2167 - None, # 2168 - None, # 2169 - None, # 2170 - None, # 2171 - None, # 2172 - None, # 2173 - None, # 2174 - None, # 2175 - None, # 2176 - None, # 2177 - None, # 2178 - None, # 2179 - None, # 2180 - None, # 2181 - None, # 2182 - None, # 2183 - None, # 2184 - None, # 2185 - None, # 2186 - None, # 2187 - None, # 2188 - None, # 2189 - None, # 2190 - None, # 2191 - None, # 2192 - None, # 2193 - None, # 2194 - None, # 2195 - None, # 2196 - None, # 2197 - None, # 2198 - None, # 2199 - None, # 2200 - None, # 2201 - None, # 2202 - None, # 2203 - None, # 2204 - None, # 2205 - None, # 2206 - None, # 2207 - None, # 2208 - None, # 2209 - None, # 2210 - None, # 2211 - None, # 2212 - None, # 2213 - None, # 2214 - None, # 2215 - None, # 2216 - None, # 2217 - None, # 2218 - None, # 2219 - None, # 2220 - None, # 2221 - None, # 2222 - None, # 2223 - None, # 2224 - None, # 2225 - None, # 2226 - None, # 2227 - None, # 2228 - None, # 2229 - None, # 2230 - None, # 2231 - None, # 2232 - None, # 2233 - None, # 2234 - None, # 2235 - None, # 2236 - None, # 2237 - None, # 2238 - None, # 2239 - None, # 2240 - None, # 2241 - None, # 2242 - None, # 2243 - None, # 2244 - None, # 2245 - None, # 2246 - None, # 2247 - None, # 2248 - None, # 2249 - None, # 2250 - None, # 2251 - None, # 2252 - None, # 2253 - None, # 2254 - None, # 2255 - None, # 2256 - None, # 2257 - None, # 2258 - None, # 2259 - None, # 2260 - None, # 2261 - None, # 2262 - None, # 2263 - None, # 2264 - None, # 2265 - None, # 2266 - None, # 2267 - None, # 2268 - None, # 2269 - None, # 2270 - None, # 2271 - None, # 2272 - None, # 2273 - None, # 2274 - None, # 2275 - None, # 2276 - None, # 2277 - None, # 2278 - None, # 2279 - None, # 2280 - None, # 2281 - None, # 2282 - None, # 2283 - None, # 2284 - None, # 2285 - None, # 2286 - None, # 2287 - None, # 2288 - None, # 2289 - None, # 2290 - None, # 2291 - None, # 2292 - None, # 2293 - None, # 2294 - None, # 2295 - None, # 2296 - None, # 2297 - None, # 2298 - None, # 2299 - None, # 2300 - None, # 2301 - None, # 2302 - None, # 2303 - None, # 2304 - None, # 2305 - None, # 2306 - None, # 2307 - None, # 2308 - None, # 2309 - None, # 2310 - None, # 2311 - None, # 2312 - None, # 2313 - None, # 2314 - None, # 2315 - None, # 2316 - None, # 2317 - None, # 2318 - None, # 2319 - None, # 2320 - None, # 2321 - None, # 2322 - None, # 2323 - None, # 2324 - None, # 2325 - None, # 2326 - None, # 2327 - None, # 2328 - None, # 2329 - None, # 2330 - None, # 2331 - None, # 2332 - None, # 2333 - None, # 2334 - None, # 2335 - None, # 2336 - None, # 2337 - None, # 2338 - None, # 2339 - None, # 2340 - None, # 2341 - None, # 2342 - None, # 2343 - None, # 2344 - None, # 2345 - None, # 2346 - None, # 2347 - None, # 2348 - None, # 2349 - None, # 2350 - None, # 2351 - None, # 2352 - None, # 2353 - None, # 2354 - None, # 2355 - None, # 2356 - None, # 2357 - None, # 2358 - None, # 2359 - None, # 2360 - None, # 2361 - None, # 2362 - None, # 2363 - None, # 2364 - None, # 2365 - None, # 2366 - None, # 2367 - None, # 2368 - None, # 2369 - None, # 2370 - None, # 2371 - None, # 2372 - None, # 2373 - None, # 2374 - None, # 2375 - None, # 2376 - None, # 2377 - None, # 2378 - None, # 2379 - None, # 2380 - None, # 2381 - None, # 2382 - None, # 2383 - None, # 2384 - None, # 2385 - None, # 2386 - None, # 2387 - None, # 2388 - None, # 2389 - None, # 2390 - None, # 2391 - None, # 2392 - None, # 2393 - None, # 2394 - None, # 2395 - None, # 2396 - None, # 2397 - None, # 2398 - None, # 2399 - None, # 2400 - None, # 2401 - None, # 2402 - None, # 2403 - None, # 2404 - None, # 2405 - None, # 2406 - None, # 2407 - None, # 2408 - None, # 2409 - None, # 2410 - None, # 2411 - None, # 2412 - None, # 2413 - None, # 2414 - None, # 2415 - None, # 2416 - None, # 2417 - None, # 2418 - None, # 2419 - None, # 2420 - None, # 2421 - None, # 2422 - None, # 2423 - None, # 2424 - None, # 2425 - None, # 2426 - None, # 2427 - None, # 2428 - None, # 2429 - None, # 2430 - None, # 2431 - None, # 2432 - None, # 2433 - None, # 2434 - None, # 2435 - None, # 2436 - None, # 2437 - None, # 2438 - None, # 2439 - None, # 2440 - None, # 2441 - None, # 2442 - None, # 2443 - None, # 2444 - None, # 2445 - None, # 2446 - None, # 2447 - None, # 2448 - None, # 2449 - None, # 2450 - None, # 2451 - None, # 2452 - None, # 2453 - None, # 2454 - None, # 2455 - None, # 2456 - None, # 2457 - None, # 2458 - None, # 2459 - None, # 2460 - None, # 2461 - None, # 2462 - None, # 2463 - None, # 2464 - None, # 2465 - None, # 2466 - None, # 2467 - None, # 2468 - None, # 2469 - None, # 2470 - None, # 2471 - None, # 2472 - None, # 2473 - None, # 2474 - None, # 2475 - None, # 2476 - None, # 2477 - None, # 2478 - None, # 2479 - None, # 2480 - None, # 2481 - None, # 2482 - None, # 2483 - None, # 2484 - None, # 2485 - None, # 2486 - None, # 2487 - None, # 2488 - None, # 2489 - None, # 2490 - None, # 2491 - None, # 2492 - None, # 2493 - None, # 2494 - None, # 2495 - None, # 2496 - None, # 2497 - None, # 2498 - None, # 2499 - None, # 2500 - None, # 2501 - None, # 2502 - None, # 2503 - None, # 2504 - None, # 2505 - None, # 2506 - None, # 2507 - None, # 2508 - None, # 2509 - None, # 2510 - None, # 2511 - None, # 2512 - None, # 2513 - None, # 2514 - None, # 2515 - None, # 2516 - None, # 2517 - None, # 2518 - None, # 2519 - None, # 2520 - None, # 2521 - None, # 2522 - None, # 2523 - None, # 2524 - None, # 2525 - None, # 2526 - None, # 2527 - None, # 2528 - None, # 2529 - None, # 2530 - None, # 2531 - None, # 2532 - None, # 2533 - None, # 2534 - None, # 2535 - None, # 2536 - None, # 2537 - None, # 2538 - None, # 2539 - None, # 2540 - None, # 2541 - None, # 2542 - None, # 2543 - None, # 2544 - None, # 2545 - None, # 2546 - None, # 2547 - None, # 2548 - None, # 2549 - None, # 2550 - None, # 2551 - None, # 2552 - None, # 2553 - None, # 2554 - None, # 2555 - None, # 2556 - None, # 2557 - None, # 2558 - None, # 2559 - None, # 2560 - None, # 2561 - None, # 2562 - None, # 2563 - None, # 2564 - None, # 2565 - None, # 2566 - None, # 2567 - None, # 2568 - None, # 2569 - None, # 2570 - None, # 2571 - None, # 2572 - None, # 2573 - None, # 2574 - None, # 2575 - None, # 2576 - None, # 2577 - None, # 2578 - None, # 2579 - None, # 2580 - None, # 2581 - None, # 2582 - None, # 2583 - None, # 2584 - None, # 2585 - None, # 2586 - None, # 2587 - None, # 2588 - None, # 2589 - None, # 2590 - None, # 2591 - None, # 2592 - None, # 2593 - None, # 2594 - None, # 2595 - None, # 2596 - None, # 2597 - None, # 2598 - None, # 2599 - None, # 2600 - None, # 2601 - None, # 2602 - None, # 2603 - None, # 2604 - None, # 2605 - None, # 2606 - None, # 2607 - None, # 2608 - None, # 2609 - None, # 2610 - None, # 2611 - None, # 2612 - None, # 2613 - None, # 2614 - None, # 2615 - None, # 2616 - None, # 2617 - None, # 2618 - None, # 2619 - None, # 2620 - None, # 2621 - None, # 2622 - None, # 2623 - None, # 2624 - None, # 2625 - None, # 2626 - None, # 2627 - None, # 2628 - None, # 2629 - None, # 2630 - None, # 2631 - None, # 2632 - None, # 2633 - None, # 2634 - None, # 2635 - None, # 2636 - None, # 2637 - None, # 2638 - None, # 2639 - None, # 2640 - None, # 2641 - None, # 2642 - None, # 2643 - None, # 2644 - None, # 2645 - None, # 2646 - None, # 2647 - None, # 2648 - None, # 2649 - None, # 2650 - None, # 2651 - None, # 2652 - None, # 2653 - None, # 2654 - None, # 2655 - None, # 2656 - None, # 2657 - None, # 2658 - None, # 2659 - None, # 2660 - None, # 2661 - None, # 2662 - None, # 2663 - None, # 2664 - None, # 2665 - None, # 2666 - None, # 2667 - None, # 2668 - None, # 2669 - None, # 2670 - None, # 2671 - None, # 2672 - None, # 2673 - None, # 2674 - None, # 2675 - None, # 2676 - None, # 2677 - None, # 2678 - None, # 2679 - None, # 2680 - None, # 2681 - None, # 2682 - None, # 2683 - None, # 2684 - None, # 2685 - None, # 2686 - None, # 2687 - None, # 2688 - None, # 2689 - None, # 2690 - None, # 2691 - None, # 2692 - None, # 2693 - None, # 2694 - None, # 2695 - None, # 2696 - None, # 2697 - None, # 2698 - None, # 2699 - None, # 2700 - None, # 2701 - None, # 2702 - None, # 2703 - None, # 2704 - None, # 2705 - None, # 2706 - None, # 2707 - None, # 2708 - None, # 2709 - None, # 2710 - None, # 2711 - None, # 2712 - None, # 2713 - None, # 2714 - None, # 2715 - None, # 2716 - None, # 2717 - None, # 2718 - None, # 2719 - None, # 2720 - None, # 2721 - None, # 2722 - None, # 2723 - None, # 2724 - None, # 2725 - None, # 2726 - None, # 2727 - None, # 2728 - None, # 2729 - None, # 2730 - None, # 2731 - None, # 2732 - None, # 2733 - None, # 2734 - None, # 2735 - None, # 2736 - None, # 2737 - None, # 2738 - None, # 2739 - None, # 2740 - None, # 2741 - None, # 2742 - None, # 2743 - None, # 2744 - None, # 2745 - None, # 2746 - None, # 2747 - None, # 2748 - None, # 2749 - None, # 2750 - None, # 2751 - None, # 2752 - None, # 2753 - None, # 2754 - None, # 2755 - None, # 2756 - None, # 2757 - None, # 2758 - None, # 2759 - None, # 2760 - None, # 2761 - None, # 2762 - None, # 2763 - None, # 2764 - None, # 2765 - None, # 2766 - None, # 2767 - None, # 2768 - None, # 2769 - None, # 2770 - None, # 2771 - None, # 2772 - None, # 2773 - None, # 2774 - None, # 2775 - None, # 2776 - None, # 2777 - None, # 2778 - None, # 2779 - None, # 2780 - None, # 2781 - None, # 2782 - None, # 2783 - None, # 2784 - None, # 2785 - None, # 2786 - None, # 2787 - None, # 2788 - None, # 2789 - None, # 2790 - None, # 2791 - None, # 2792 - None, # 2793 - None, # 2794 - None, # 2795 - None, # 2796 - None, # 2797 - None, # 2798 - None, # 2799 - None, # 2800 - None, # 2801 - None, # 2802 - None, # 2803 - None, # 2804 - None, # 2805 - None, # 2806 - None, # 2807 - None, # 2808 - None, # 2809 - None, # 2810 - None, # 2811 - None, # 2812 - None, # 2813 - None, # 2814 - None, # 2815 - None, # 2816 - None, # 2817 - None, # 2818 - None, # 2819 - None, # 2820 - None, # 2821 - None, # 2822 - None, # 2823 - None, # 2824 - None, # 2825 - None, # 2826 - None, # 2827 - None, # 2828 - None, # 2829 - None, # 2830 - None, # 2831 - None, # 2832 - None, # 2833 - None, # 2834 - None, # 2835 - None, # 2836 - None, # 2837 - None, # 2838 - None, # 2839 - None, # 2840 - None, # 2841 - None, # 2842 - None, # 2843 - None, # 2844 - None, # 2845 - None, # 2846 - None, # 2847 - None, # 2848 - None, # 2849 - None, # 2850 - None, # 2851 - None, # 2852 - None, # 2853 - None, # 2854 - None, # 2855 - None, # 2856 - None, # 2857 - None, # 2858 - None, # 2859 - None, # 2860 - None, # 2861 - None, # 2862 - None, # 2863 - None, # 2864 - None, # 2865 - None, # 2866 - None, # 2867 - None, # 2868 - None, # 2869 - None, # 2870 - None, # 2871 - None, # 2872 - None, # 2873 - None, # 2874 - None, # 2875 - None, # 2876 - None, # 2877 - None, # 2878 - None, # 2879 - None, # 2880 - None, # 2881 - None, # 2882 - None, # 2883 - None, # 2884 - None, # 2885 - None, # 2886 - None, # 2887 - None, # 2888 - None, # 2889 - None, # 2890 - None, # 2891 - None, # 2892 - None, # 2893 - None, # 2894 - None, # 2895 - None, # 2896 - None, # 2897 - None, # 2898 - None, # 2899 - None, # 2900 - None, # 2901 - None, # 2902 - None, # 2903 - None, # 2904 - None, # 2905 - None, # 2906 - None, # 2907 - None, # 2908 - None, # 2909 - None, # 2910 - None, # 2911 - None, # 2912 - None, # 2913 - None, # 2914 - None, # 2915 - None, # 2916 - None, # 2917 - None, # 2918 - None, # 2919 - None, # 2920 - None, # 2921 - None, # 2922 - None, # 2923 - None, # 2924 - None, # 2925 - None, # 2926 - None, # 2927 - None, # 2928 - None, # 2929 - None, # 2930 - None, # 2931 - None, # 2932 - None, # 2933 - None, # 2934 - None, # 2935 - None, # 2936 - None, # 2937 - None, # 2938 - None, # 2939 - None, # 2940 - None, # 2941 - None, # 2942 - None, # 2943 - None, # 2944 - None, # 2945 - None, # 2946 - None, # 2947 - None, # 2948 - None, # 2949 - None, # 2950 - None, # 2951 - None, # 2952 - None, # 2953 - None, # 2954 - None, # 2955 - None, # 2956 - None, # 2957 - None, # 2958 - None, # 2959 - None, # 2960 - None, # 2961 - None, # 2962 - None, # 2963 - None, # 2964 - None, # 2965 - None, # 2966 - None, # 2967 - None, # 2968 - None, # 2969 - None, # 2970 - None, # 2971 - None, # 2972 - None, # 2973 - None, # 2974 - None, # 2975 - None, # 2976 - None, # 2977 - None, # 2978 - None, # 2979 - None, # 2980 - None, # 2981 - None, # 2982 - None, # 2983 - None, # 2984 - None, # 2985 - None, # 2986 - None, # 2987 - None, # 2988 - None, # 2989 - None, # 2990 - None, # 2991 - None, # 2992 - None, # 2993 - None, # 2994 - None, # 2995 - None, # 2996 - None, # 2997 - None, # 2998 - None, # 2999 - None, # 3000 - None, # 3001 - None, # 3002 - None, # 3003 - None, # 3004 - None, # 3005 - None, # 3006 - None, # 3007 - None, # 3008 - None, # 3009 - None, # 3010 - None, # 3011 - None, # 3012 - None, # 3013 - None, # 3014 - None, # 3015 - None, # 3016 - None, # 3017 - None, # 3018 - None, # 3019 - None, # 3020 - None, # 3021 - None, # 3022 - None, # 3023 - None, # 3024 - None, # 3025 - None, # 3026 - None, # 3027 - None, # 3028 - None, # 3029 - None, # 3030 - None, # 3031 - None, # 3032 - None, # 3033 - None, # 3034 - None, # 3035 - None, # 3036 - None, # 3037 - None, # 3038 - None, # 3039 - None, # 3040 - None, # 3041 - None, # 3042 - None, # 3043 - None, # 3044 - None, # 3045 - None, # 3046 - None, # 3047 - None, # 3048 - None, # 3049 - None, # 3050 - None, # 3051 - None, # 3052 - None, # 3053 - None, # 3054 - None, # 3055 - None, # 3056 - None, # 3057 - None, # 3058 - None, # 3059 - None, # 3060 - None, # 3061 - None, # 3062 - None, # 3063 - None, # 3064 - None, # 3065 - None, # 3066 - None, # 3067 - None, # 3068 - None, # 3069 - None, # 3070 - None, # 3071 - None, # 3072 - None, # 3073 - None, # 3074 - None, # 3075 - None, # 3076 - None, # 3077 - None, # 3078 - None, # 3079 - None, # 3080 - None, # 3081 - None, # 3082 - None, # 3083 - None, # 3084 - None, # 3085 - None, # 3086 - None, # 3087 - None, # 3088 - None, # 3089 - None, # 3090 - None, # 3091 - None, # 3092 - None, # 3093 - None, # 3094 - None, # 3095 - None, # 3096 - None, # 3097 - None, # 3098 - None, # 3099 - None, # 3100 - None, # 3101 - None, # 3102 - None, # 3103 - None, # 3104 - None, # 3105 - None, # 3106 - None, # 3107 - None, # 3108 - None, # 3109 - None, # 3110 - None, # 3111 - None, # 3112 - None, # 3113 - None, # 3114 - None, # 3115 - None, # 3116 - None, # 3117 - None, # 3118 - None, # 3119 - None, # 3120 - None, # 3121 - None, # 3122 - None, # 3123 - None, # 3124 - None, # 3125 - None, # 3126 - None, # 3127 - None, # 3128 - None, # 3129 - None, # 3130 - None, # 3131 - None, # 3132 - None, # 3133 - None, # 3134 - None, # 3135 - None, # 3136 - None, # 3137 - None, # 3138 - None, # 3139 - None, # 3140 - None, # 3141 - None, # 3142 - None, # 3143 - None, # 3144 - None, # 3145 - None, # 3146 - None, # 3147 - None, # 3148 - None, # 3149 - None, # 3150 - None, # 3151 - None, # 3152 - None, # 3153 - None, # 3154 - None, # 3155 - None, # 3156 - None, # 3157 - None, # 3158 - None, # 3159 - None, # 3160 - None, # 3161 - None, # 3162 - None, # 3163 - None, # 3164 - None, # 3165 - None, # 3166 - None, # 3167 - None, # 3168 - None, # 3169 - None, # 3170 - None, # 3171 - None, # 3172 - None, # 3173 - None, # 3174 - None, # 3175 - None, # 3176 - None, # 3177 - None, # 3178 - None, # 3179 - None, # 3180 - None, # 3181 - None, # 3182 - None, # 3183 - None, # 3184 - None, # 3185 - None, # 3186 - None, # 3187 - None, # 3188 - None, # 3189 - None, # 3190 - None, # 3191 - None, # 3192 - None, # 3193 - None, # 3194 - None, # 3195 - None, # 3196 - None, # 3197 - None, # 3198 - None, # 3199 - None, # 3200 - None, # 3201 - None, # 3202 - None, # 3203 - None, # 3204 - None, # 3205 - None, # 3206 - None, # 3207 - None, # 3208 - None, # 3209 - None, # 3210 - None, # 3211 - None, # 3212 - None, # 3213 - None, # 3214 - None, # 3215 - None, # 3216 - None, # 3217 - None, # 3218 - None, # 3219 - None, # 3220 - None, # 3221 - None, # 3222 - None, # 3223 - None, # 3224 - None, # 3225 - None, # 3226 - None, # 3227 - None, # 3228 - None, # 3229 - None, # 3230 - None, # 3231 - None, # 3232 - None, # 3233 - None, # 3234 - None, # 3235 - None, # 3236 - None, # 3237 - None, # 3238 - None, # 3239 - None, # 3240 - None, # 3241 - None, # 3242 - None, # 3243 - None, # 3244 - None, # 3245 - None, # 3246 - None, # 3247 - None, # 3248 - None, # 3249 - None, # 3250 - None, # 3251 - None, # 3252 - None, # 3253 - None, # 3254 - None, # 3255 - None, # 3256 - None, # 3257 - None, # 3258 - None, # 3259 - None, # 3260 - None, # 3261 - None, # 3262 - None, # 3263 - None, # 3264 - None, # 3265 - None, # 3266 - None, # 3267 - None, # 3268 - None, # 3269 - None, # 3270 - None, # 3271 - None, # 3272 - None, # 3273 - None, # 3274 - None, # 3275 - None, # 3276 - None, # 3277 - None, # 3278 - None, # 3279 - None, # 3280 - None, # 3281 - None, # 3282 - None, # 3283 - None, # 3284 - None, # 3285 - None, # 3286 - None, # 3287 - None, # 3288 - None, # 3289 - None, # 3290 - None, # 3291 - None, # 3292 - None, # 3293 - None, # 3294 - None, # 3295 - None, # 3296 - None, # 3297 - None, # 3298 - None, # 3299 - None, # 3300 - None, # 3301 - None, # 3302 - None, # 3303 - None, # 3304 - None, # 3305 - None, # 3306 - None, # 3307 - None, # 3308 - None, # 3309 - None, # 3310 - None, # 3311 - None, # 3312 - None, # 3313 - None, # 3314 - None, # 3315 - None, # 3316 - None, # 3317 - None, # 3318 - None, # 3319 - None, # 3320 - None, # 3321 - None, # 3322 - None, # 3323 - None, # 3324 - None, # 3325 - None, # 3326 - None, # 3327 - None, # 3328 - ( - 3329, - TType.STRING, - "responseValidation", - "BINARY", - None, - ), # 3329 + None, # 0 + (1, TType.I32, 'statusCode', None, None, ), # 1 + (2, TType.LIST, 'infoMessages', (TType.STRING, 'UTF8', False), None, ), # 2 + (3, TType.STRING, 'sqlState', 'UTF8', None, ), # 3 + (4, TType.I32, 'errorCode', None, None, ), # 4 + (5, TType.STRING, 'errorMessage', 'UTF8', None, ), # 5 + (6, TType.STRING, 'displayMessage', 'UTF8', None, ), # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + (1281, TType.STRING, 'errorDetailsJson', 'UTF8', None, ), # 1281 + None, # 1282 + None, # 1283 + None, # 1284 + None, # 1285 + None, # 1286 + None, # 1287 + None, # 1288 + None, # 1289 + None, # 1290 + None, # 1291 + None, # 1292 + None, # 1293 + None, # 1294 + None, # 1295 + None, # 1296 + None, # 1297 + None, # 1298 + None, # 1299 + None, # 1300 + None, # 1301 + None, # 1302 + None, # 1303 + None, # 1304 + None, # 1305 + None, # 1306 + None, # 1307 + None, # 1308 + None, # 1309 + None, # 1310 + None, # 1311 + None, # 1312 + None, # 1313 + None, # 1314 + None, # 1315 + None, # 1316 + None, # 1317 + None, # 1318 + None, # 1319 + None, # 1320 + None, # 1321 + None, # 1322 + None, # 1323 + None, # 1324 + None, # 1325 + None, # 1326 + None, # 1327 + None, # 1328 + None, # 1329 + None, # 1330 + None, # 1331 + None, # 1332 + None, # 1333 + None, # 1334 + None, # 1335 + None, # 1336 + None, # 1337 + None, # 1338 + None, # 1339 + None, # 1340 + None, # 1341 + None, # 1342 + None, # 1343 + None, # 1344 + None, # 1345 + None, # 1346 + None, # 1347 + None, # 1348 + None, # 1349 + None, # 1350 + None, # 1351 + None, # 1352 + None, # 1353 + None, # 1354 + None, # 1355 + None, # 1356 + None, # 1357 + None, # 1358 + None, # 1359 + None, # 1360 + None, # 1361 + None, # 1362 + None, # 1363 + None, # 1364 + None, # 1365 + None, # 1366 + None, # 1367 + None, # 1368 + None, # 1369 + None, # 1370 + None, # 1371 + None, # 1372 + None, # 1373 + None, # 1374 + None, # 1375 + None, # 1376 + None, # 1377 + None, # 1378 + None, # 1379 + None, # 1380 + None, # 1381 + None, # 1382 + None, # 1383 + None, # 1384 + None, # 1385 + None, # 1386 + None, # 1387 + None, # 1388 + None, # 1389 + None, # 1390 + None, # 1391 + None, # 1392 + None, # 1393 + None, # 1394 + None, # 1395 + None, # 1396 + None, # 1397 + None, # 1398 + None, # 1399 + None, # 1400 + None, # 1401 + None, # 1402 + None, # 1403 + None, # 1404 + None, # 1405 + None, # 1406 + None, # 1407 + None, # 1408 + None, # 1409 + None, # 1410 + None, # 1411 + None, # 1412 + None, # 1413 + None, # 1414 + None, # 1415 + None, # 1416 + None, # 1417 + None, # 1418 + None, # 1419 + None, # 1420 + None, # 1421 + None, # 1422 + None, # 1423 + None, # 1424 + None, # 1425 + None, # 1426 + None, # 1427 + None, # 1428 + None, # 1429 + None, # 1430 + None, # 1431 + None, # 1432 + None, # 1433 + None, # 1434 + None, # 1435 + None, # 1436 + None, # 1437 + None, # 1438 + None, # 1439 + None, # 1440 + None, # 1441 + None, # 1442 + None, # 1443 + None, # 1444 + None, # 1445 + None, # 1446 + None, # 1447 + None, # 1448 + None, # 1449 + None, # 1450 + None, # 1451 + None, # 1452 + None, # 1453 + None, # 1454 + None, # 1455 + None, # 1456 + None, # 1457 + None, # 1458 + None, # 1459 + None, # 1460 + None, # 1461 + None, # 1462 + None, # 1463 + None, # 1464 + None, # 1465 + None, # 1466 + None, # 1467 + None, # 1468 + None, # 1469 + None, # 1470 + None, # 1471 + None, # 1472 + None, # 1473 + None, # 1474 + None, # 1475 + None, # 1476 + None, # 1477 + None, # 1478 + None, # 1479 + None, # 1480 + None, # 1481 + None, # 1482 + None, # 1483 + None, # 1484 + None, # 1485 + None, # 1486 + None, # 1487 + None, # 1488 + None, # 1489 + None, # 1490 + None, # 1491 + None, # 1492 + None, # 1493 + None, # 1494 + None, # 1495 + None, # 1496 + None, # 1497 + None, # 1498 + None, # 1499 + None, # 1500 + None, # 1501 + None, # 1502 + None, # 1503 + None, # 1504 + None, # 1505 + None, # 1506 + None, # 1507 + None, # 1508 + None, # 1509 + None, # 1510 + None, # 1511 + None, # 1512 + None, # 1513 + None, # 1514 + None, # 1515 + None, # 1516 + None, # 1517 + None, # 1518 + None, # 1519 + None, # 1520 + None, # 1521 + None, # 1522 + None, # 1523 + None, # 1524 + None, # 1525 + None, # 1526 + None, # 1527 + None, # 1528 + None, # 1529 + None, # 1530 + None, # 1531 + None, # 1532 + None, # 1533 + None, # 1534 + None, # 1535 + None, # 1536 + None, # 1537 + None, # 1538 + None, # 1539 + None, # 1540 + None, # 1541 + None, # 1542 + None, # 1543 + None, # 1544 + None, # 1545 + None, # 1546 + None, # 1547 + None, # 1548 + None, # 1549 + None, # 1550 + None, # 1551 + None, # 1552 + None, # 1553 + None, # 1554 + None, # 1555 + None, # 1556 + None, # 1557 + None, # 1558 + None, # 1559 + None, # 1560 + None, # 1561 + None, # 1562 + None, # 1563 + None, # 1564 + None, # 1565 + None, # 1566 + None, # 1567 + None, # 1568 + None, # 1569 + None, # 1570 + None, # 1571 + None, # 1572 + None, # 1573 + None, # 1574 + None, # 1575 + None, # 1576 + None, # 1577 + None, # 1578 + None, # 1579 + None, # 1580 + None, # 1581 + None, # 1582 + None, # 1583 + None, # 1584 + None, # 1585 + None, # 1586 + None, # 1587 + None, # 1588 + None, # 1589 + None, # 1590 + None, # 1591 + None, # 1592 + None, # 1593 + None, # 1594 + None, # 1595 + None, # 1596 + None, # 1597 + None, # 1598 + None, # 1599 + None, # 1600 + None, # 1601 + None, # 1602 + None, # 1603 + None, # 1604 + None, # 1605 + None, # 1606 + None, # 1607 + None, # 1608 + None, # 1609 + None, # 1610 + None, # 1611 + None, # 1612 + None, # 1613 + None, # 1614 + None, # 1615 + None, # 1616 + None, # 1617 + None, # 1618 + None, # 1619 + None, # 1620 + None, # 1621 + None, # 1622 + None, # 1623 + None, # 1624 + None, # 1625 + None, # 1626 + None, # 1627 + None, # 1628 + None, # 1629 + None, # 1630 + None, # 1631 + None, # 1632 + None, # 1633 + None, # 1634 + None, # 1635 + None, # 1636 + None, # 1637 + None, # 1638 + None, # 1639 + None, # 1640 + None, # 1641 + None, # 1642 + None, # 1643 + None, # 1644 + None, # 1645 + None, # 1646 + None, # 1647 + None, # 1648 + None, # 1649 + None, # 1650 + None, # 1651 + None, # 1652 + None, # 1653 + None, # 1654 + None, # 1655 + None, # 1656 + None, # 1657 + None, # 1658 + None, # 1659 + None, # 1660 + None, # 1661 + None, # 1662 + None, # 1663 + None, # 1664 + None, # 1665 + None, # 1666 + None, # 1667 + None, # 1668 + None, # 1669 + None, # 1670 + None, # 1671 + None, # 1672 + None, # 1673 + None, # 1674 + None, # 1675 + None, # 1676 + None, # 1677 + None, # 1678 + None, # 1679 + None, # 1680 + None, # 1681 + None, # 1682 + None, # 1683 + None, # 1684 + None, # 1685 + None, # 1686 + None, # 1687 + None, # 1688 + None, # 1689 + None, # 1690 + None, # 1691 + None, # 1692 + None, # 1693 + None, # 1694 + None, # 1695 + None, # 1696 + None, # 1697 + None, # 1698 + None, # 1699 + None, # 1700 + None, # 1701 + None, # 1702 + None, # 1703 + None, # 1704 + None, # 1705 + None, # 1706 + None, # 1707 + None, # 1708 + None, # 1709 + None, # 1710 + None, # 1711 + None, # 1712 + None, # 1713 + None, # 1714 + None, # 1715 + None, # 1716 + None, # 1717 + None, # 1718 + None, # 1719 + None, # 1720 + None, # 1721 + None, # 1722 + None, # 1723 + None, # 1724 + None, # 1725 + None, # 1726 + None, # 1727 + None, # 1728 + None, # 1729 + None, # 1730 + None, # 1731 + None, # 1732 + None, # 1733 + None, # 1734 + None, # 1735 + None, # 1736 + None, # 1737 + None, # 1738 + None, # 1739 + None, # 1740 + None, # 1741 + None, # 1742 + None, # 1743 + None, # 1744 + None, # 1745 + None, # 1746 + None, # 1747 + None, # 1748 + None, # 1749 + None, # 1750 + None, # 1751 + None, # 1752 + None, # 1753 + None, # 1754 + None, # 1755 + None, # 1756 + None, # 1757 + None, # 1758 + None, # 1759 + None, # 1760 + None, # 1761 + None, # 1762 + None, # 1763 + None, # 1764 + None, # 1765 + None, # 1766 + None, # 1767 + None, # 1768 + None, # 1769 + None, # 1770 + None, # 1771 + None, # 1772 + None, # 1773 + None, # 1774 + None, # 1775 + None, # 1776 + None, # 1777 + None, # 1778 + None, # 1779 + None, # 1780 + None, # 1781 + None, # 1782 + None, # 1783 + None, # 1784 + None, # 1785 + None, # 1786 + None, # 1787 + None, # 1788 + None, # 1789 + None, # 1790 + None, # 1791 + None, # 1792 + None, # 1793 + None, # 1794 + None, # 1795 + None, # 1796 + None, # 1797 + None, # 1798 + None, # 1799 + None, # 1800 + None, # 1801 + None, # 1802 + None, # 1803 + None, # 1804 + None, # 1805 + None, # 1806 + None, # 1807 + None, # 1808 + None, # 1809 + None, # 1810 + None, # 1811 + None, # 1812 + None, # 1813 + None, # 1814 + None, # 1815 + None, # 1816 + None, # 1817 + None, # 1818 + None, # 1819 + None, # 1820 + None, # 1821 + None, # 1822 + None, # 1823 + None, # 1824 + None, # 1825 + None, # 1826 + None, # 1827 + None, # 1828 + None, # 1829 + None, # 1830 + None, # 1831 + None, # 1832 + None, # 1833 + None, # 1834 + None, # 1835 + None, # 1836 + None, # 1837 + None, # 1838 + None, # 1839 + None, # 1840 + None, # 1841 + None, # 1842 + None, # 1843 + None, # 1844 + None, # 1845 + None, # 1846 + None, # 1847 + None, # 1848 + None, # 1849 + None, # 1850 + None, # 1851 + None, # 1852 + None, # 1853 + None, # 1854 + None, # 1855 + None, # 1856 + None, # 1857 + None, # 1858 + None, # 1859 + None, # 1860 + None, # 1861 + None, # 1862 + None, # 1863 + None, # 1864 + None, # 1865 + None, # 1866 + None, # 1867 + None, # 1868 + None, # 1869 + None, # 1870 + None, # 1871 + None, # 1872 + None, # 1873 + None, # 1874 + None, # 1875 + None, # 1876 + None, # 1877 + None, # 1878 + None, # 1879 + None, # 1880 + None, # 1881 + None, # 1882 + None, # 1883 + None, # 1884 + None, # 1885 + None, # 1886 + None, # 1887 + None, # 1888 + None, # 1889 + None, # 1890 + None, # 1891 + None, # 1892 + None, # 1893 + None, # 1894 + None, # 1895 + None, # 1896 + None, # 1897 + None, # 1898 + None, # 1899 + None, # 1900 + None, # 1901 + None, # 1902 + None, # 1903 + None, # 1904 + None, # 1905 + None, # 1906 + None, # 1907 + None, # 1908 + None, # 1909 + None, # 1910 + None, # 1911 + None, # 1912 + None, # 1913 + None, # 1914 + None, # 1915 + None, # 1916 + None, # 1917 + None, # 1918 + None, # 1919 + None, # 1920 + None, # 1921 + None, # 1922 + None, # 1923 + None, # 1924 + None, # 1925 + None, # 1926 + None, # 1927 + None, # 1928 + None, # 1929 + None, # 1930 + None, # 1931 + None, # 1932 + None, # 1933 + None, # 1934 + None, # 1935 + None, # 1936 + None, # 1937 + None, # 1938 + None, # 1939 + None, # 1940 + None, # 1941 + None, # 1942 + None, # 1943 + None, # 1944 + None, # 1945 + None, # 1946 + None, # 1947 + None, # 1948 + None, # 1949 + None, # 1950 + None, # 1951 + None, # 1952 + None, # 1953 + None, # 1954 + None, # 1955 + None, # 1956 + None, # 1957 + None, # 1958 + None, # 1959 + None, # 1960 + None, # 1961 + None, # 1962 + None, # 1963 + None, # 1964 + None, # 1965 + None, # 1966 + None, # 1967 + None, # 1968 + None, # 1969 + None, # 1970 + None, # 1971 + None, # 1972 + None, # 1973 + None, # 1974 + None, # 1975 + None, # 1976 + None, # 1977 + None, # 1978 + None, # 1979 + None, # 1980 + None, # 1981 + None, # 1982 + None, # 1983 + None, # 1984 + None, # 1985 + None, # 1986 + None, # 1987 + None, # 1988 + None, # 1989 + None, # 1990 + None, # 1991 + None, # 1992 + None, # 1993 + None, # 1994 + None, # 1995 + None, # 1996 + None, # 1997 + None, # 1998 + None, # 1999 + None, # 2000 + None, # 2001 + None, # 2002 + None, # 2003 + None, # 2004 + None, # 2005 + None, # 2006 + None, # 2007 + None, # 2008 + None, # 2009 + None, # 2010 + None, # 2011 + None, # 2012 + None, # 2013 + None, # 2014 + None, # 2015 + None, # 2016 + None, # 2017 + None, # 2018 + None, # 2019 + None, # 2020 + None, # 2021 + None, # 2022 + None, # 2023 + None, # 2024 + None, # 2025 + None, # 2026 + None, # 2027 + None, # 2028 + None, # 2029 + None, # 2030 + None, # 2031 + None, # 2032 + None, # 2033 + None, # 2034 + None, # 2035 + None, # 2036 + None, # 2037 + None, # 2038 + None, # 2039 + None, # 2040 + None, # 2041 + None, # 2042 + None, # 2043 + None, # 2044 + None, # 2045 + None, # 2046 + None, # 2047 + None, # 2048 + None, # 2049 + None, # 2050 + None, # 2051 + None, # 2052 + None, # 2053 + None, # 2054 + None, # 2055 + None, # 2056 + None, # 2057 + None, # 2058 + None, # 2059 + None, # 2060 + None, # 2061 + None, # 2062 + None, # 2063 + None, # 2064 + None, # 2065 + None, # 2066 + None, # 2067 + None, # 2068 + None, # 2069 + None, # 2070 + None, # 2071 + None, # 2072 + None, # 2073 + None, # 2074 + None, # 2075 + None, # 2076 + None, # 2077 + None, # 2078 + None, # 2079 + None, # 2080 + None, # 2081 + None, # 2082 + None, # 2083 + None, # 2084 + None, # 2085 + None, # 2086 + None, # 2087 + None, # 2088 + None, # 2089 + None, # 2090 + None, # 2091 + None, # 2092 + None, # 2093 + None, # 2094 + None, # 2095 + None, # 2096 + None, # 2097 + None, # 2098 + None, # 2099 + None, # 2100 + None, # 2101 + None, # 2102 + None, # 2103 + None, # 2104 + None, # 2105 + None, # 2106 + None, # 2107 + None, # 2108 + None, # 2109 + None, # 2110 + None, # 2111 + None, # 2112 + None, # 2113 + None, # 2114 + None, # 2115 + None, # 2116 + None, # 2117 + None, # 2118 + None, # 2119 + None, # 2120 + None, # 2121 + None, # 2122 + None, # 2123 + None, # 2124 + None, # 2125 + None, # 2126 + None, # 2127 + None, # 2128 + None, # 2129 + None, # 2130 + None, # 2131 + None, # 2132 + None, # 2133 + None, # 2134 + None, # 2135 + None, # 2136 + None, # 2137 + None, # 2138 + None, # 2139 + None, # 2140 + None, # 2141 + None, # 2142 + None, # 2143 + None, # 2144 + None, # 2145 + None, # 2146 + None, # 2147 + None, # 2148 + None, # 2149 + None, # 2150 + None, # 2151 + None, # 2152 + None, # 2153 + None, # 2154 + None, # 2155 + None, # 2156 + None, # 2157 + None, # 2158 + None, # 2159 + None, # 2160 + None, # 2161 + None, # 2162 + None, # 2163 + None, # 2164 + None, # 2165 + None, # 2166 + None, # 2167 + None, # 2168 + None, # 2169 + None, # 2170 + None, # 2171 + None, # 2172 + None, # 2173 + None, # 2174 + None, # 2175 + None, # 2176 + None, # 2177 + None, # 2178 + None, # 2179 + None, # 2180 + None, # 2181 + None, # 2182 + None, # 2183 + None, # 2184 + None, # 2185 + None, # 2186 + None, # 2187 + None, # 2188 + None, # 2189 + None, # 2190 + None, # 2191 + None, # 2192 + None, # 2193 + None, # 2194 + None, # 2195 + None, # 2196 + None, # 2197 + None, # 2198 + None, # 2199 + None, # 2200 + None, # 2201 + None, # 2202 + None, # 2203 + None, # 2204 + None, # 2205 + None, # 2206 + None, # 2207 + None, # 2208 + None, # 2209 + None, # 2210 + None, # 2211 + None, # 2212 + None, # 2213 + None, # 2214 + None, # 2215 + None, # 2216 + None, # 2217 + None, # 2218 + None, # 2219 + None, # 2220 + None, # 2221 + None, # 2222 + None, # 2223 + None, # 2224 + None, # 2225 + None, # 2226 + None, # 2227 + None, # 2228 + None, # 2229 + None, # 2230 + None, # 2231 + None, # 2232 + None, # 2233 + None, # 2234 + None, # 2235 + None, # 2236 + None, # 2237 + None, # 2238 + None, # 2239 + None, # 2240 + None, # 2241 + None, # 2242 + None, # 2243 + None, # 2244 + None, # 2245 + None, # 2246 + None, # 2247 + None, # 2248 + None, # 2249 + None, # 2250 + None, # 2251 + None, # 2252 + None, # 2253 + None, # 2254 + None, # 2255 + None, # 2256 + None, # 2257 + None, # 2258 + None, # 2259 + None, # 2260 + None, # 2261 + None, # 2262 + None, # 2263 + None, # 2264 + None, # 2265 + None, # 2266 + None, # 2267 + None, # 2268 + None, # 2269 + None, # 2270 + None, # 2271 + None, # 2272 + None, # 2273 + None, # 2274 + None, # 2275 + None, # 2276 + None, # 2277 + None, # 2278 + None, # 2279 + None, # 2280 + None, # 2281 + None, # 2282 + None, # 2283 + None, # 2284 + None, # 2285 + None, # 2286 + None, # 2287 + None, # 2288 + None, # 2289 + None, # 2290 + None, # 2291 + None, # 2292 + None, # 2293 + None, # 2294 + None, # 2295 + None, # 2296 + None, # 2297 + None, # 2298 + None, # 2299 + None, # 2300 + None, # 2301 + None, # 2302 + None, # 2303 + None, # 2304 + None, # 2305 + None, # 2306 + None, # 2307 + None, # 2308 + None, # 2309 + None, # 2310 + None, # 2311 + None, # 2312 + None, # 2313 + None, # 2314 + None, # 2315 + None, # 2316 + None, # 2317 + None, # 2318 + None, # 2319 + None, # 2320 + None, # 2321 + None, # 2322 + None, # 2323 + None, # 2324 + None, # 2325 + None, # 2326 + None, # 2327 + None, # 2328 + None, # 2329 + None, # 2330 + None, # 2331 + None, # 2332 + None, # 2333 + None, # 2334 + None, # 2335 + None, # 2336 + None, # 2337 + None, # 2338 + None, # 2339 + None, # 2340 + None, # 2341 + None, # 2342 + None, # 2343 + None, # 2344 + None, # 2345 + None, # 2346 + None, # 2347 + None, # 2348 + None, # 2349 + None, # 2350 + None, # 2351 + None, # 2352 + None, # 2353 + None, # 2354 + None, # 2355 + None, # 2356 + None, # 2357 + None, # 2358 + None, # 2359 + None, # 2360 + None, # 2361 + None, # 2362 + None, # 2363 + None, # 2364 + None, # 2365 + None, # 2366 + None, # 2367 + None, # 2368 + None, # 2369 + None, # 2370 + None, # 2371 + None, # 2372 + None, # 2373 + None, # 2374 + None, # 2375 + None, # 2376 + None, # 2377 + None, # 2378 + None, # 2379 + None, # 2380 + None, # 2381 + None, # 2382 + None, # 2383 + None, # 2384 + None, # 2385 + None, # 2386 + None, # 2387 + None, # 2388 + None, # 2389 + None, # 2390 + None, # 2391 + None, # 2392 + None, # 2393 + None, # 2394 + None, # 2395 + None, # 2396 + None, # 2397 + None, # 2398 + None, # 2399 + None, # 2400 + None, # 2401 + None, # 2402 + None, # 2403 + None, # 2404 + None, # 2405 + None, # 2406 + None, # 2407 + None, # 2408 + None, # 2409 + None, # 2410 + None, # 2411 + None, # 2412 + None, # 2413 + None, # 2414 + None, # 2415 + None, # 2416 + None, # 2417 + None, # 2418 + None, # 2419 + None, # 2420 + None, # 2421 + None, # 2422 + None, # 2423 + None, # 2424 + None, # 2425 + None, # 2426 + None, # 2427 + None, # 2428 + None, # 2429 + None, # 2430 + None, # 2431 + None, # 2432 + None, # 2433 + None, # 2434 + None, # 2435 + None, # 2436 + None, # 2437 + None, # 2438 + None, # 2439 + None, # 2440 + None, # 2441 + None, # 2442 + None, # 2443 + None, # 2444 + None, # 2445 + None, # 2446 + None, # 2447 + None, # 2448 + None, # 2449 + None, # 2450 + None, # 2451 + None, # 2452 + None, # 2453 + None, # 2454 + None, # 2455 + None, # 2456 + None, # 2457 + None, # 2458 + None, # 2459 + None, # 2460 + None, # 2461 + None, # 2462 + None, # 2463 + None, # 2464 + None, # 2465 + None, # 2466 + None, # 2467 + None, # 2468 + None, # 2469 + None, # 2470 + None, # 2471 + None, # 2472 + None, # 2473 + None, # 2474 + None, # 2475 + None, # 2476 + None, # 2477 + None, # 2478 + None, # 2479 + None, # 2480 + None, # 2481 + None, # 2482 + None, # 2483 + None, # 2484 + None, # 2485 + None, # 2486 + None, # 2487 + None, # 2488 + None, # 2489 + None, # 2490 + None, # 2491 + None, # 2492 + None, # 2493 + None, # 2494 + None, # 2495 + None, # 2496 + None, # 2497 + None, # 2498 + None, # 2499 + None, # 2500 + None, # 2501 + None, # 2502 + None, # 2503 + None, # 2504 + None, # 2505 + None, # 2506 + None, # 2507 + None, # 2508 + None, # 2509 + None, # 2510 + None, # 2511 + None, # 2512 + None, # 2513 + None, # 2514 + None, # 2515 + None, # 2516 + None, # 2517 + None, # 2518 + None, # 2519 + None, # 2520 + None, # 2521 + None, # 2522 + None, # 2523 + None, # 2524 + None, # 2525 + None, # 2526 + None, # 2527 + None, # 2528 + None, # 2529 + None, # 2530 + None, # 2531 + None, # 2532 + None, # 2533 + None, # 2534 + None, # 2535 + None, # 2536 + None, # 2537 + None, # 2538 + None, # 2539 + None, # 2540 + None, # 2541 + None, # 2542 + None, # 2543 + None, # 2544 + None, # 2545 + None, # 2546 + None, # 2547 + None, # 2548 + None, # 2549 + None, # 2550 + None, # 2551 + None, # 2552 + None, # 2553 + None, # 2554 + None, # 2555 + None, # 2556 + None, # 2557 + None, # 2558 + None, # 2559 + None, # 2560 + None, # 2561 + None, # 2562 + None, # 2563 + None, # 2564 + None, # 2565 + None, # 2566 + None, # 2567 + None, # 2568 + None, # 2569 + None, # 2570 + None, # 2571 + None, # 2572 + None, # 2573 + None, # 2574 + None, # 2575 + None, # 2576 + None, # 2577 + None, # 2578 + None, # 2579 + None, # 2580 + None, # 2581 + None, # 2582 + None, # 2583 + None, # 2584 + None, # 2585 + None, # 2586 + None, # 2587 + None, # 2588 + None, # 2589 + None, # 2590 + None, # 2591 + None, # 2592 + None, # 2593 + None, # 2594 + None, # 2595 + None, # 2596 + None, # 2597 + None, # 2598 + None, # 2599 + None, # 2600 + None, # 2601 + None, # 2602 + None, # 2603 + None, # 2604 + None, # 2605 + None, # 2606 + None, # 2607 + None, # 2608 + None, # 2609 + None, # 2610 + None, # 2611 + None, # 2612 + None, # 2613 + None, # 2614 + None, # 2615 + None, # 2616 + None, # 2617 + None, # 2618 + None, # 2619 + None, # 2620 + None, # 2621 + None, # 2622 + None, # 2623 + None, # 2624 + None, # 2625 + None, # 2626 + None, # 2627 + None, # 2628 + None, # 2629 + None, # 2630 + None, # 2631 + None, # 2632 + None, # 2633 + None, # 2634 + None, # 2635 + None, # 2636 + None, # 2637 + None, # 2638 + None, # 2639 + None, # 2640 + None, # 2641 + None, # 2642 + None, # 2643 + None, # 2644 + None, # 2645 + None, # 2646 + None, # 2647 + None, # 2648 + None, # 2649 + None, # 2650 + None, # 2651 + None, # 2652 + None, # 2653 + None, # 2654 + None, # 2655 + None, # 2656 + None, # 2657 + None, # 2658 + None, # 2659 + None, # 2660 + None, # 2661 + None, # 2662 + None, # 2663 + None, # 2664 + None, # 2665 + None, # 2666 + None, # 2667 + None, # 2668 + None, # 2669 + None, # 2670 + None, # 2671 + None, # 2672 + None, # 2673 + None, # 2674 + None, # 2675 + None, # 2676 + None, # 2677 + None, # 2678 + None, # 2679 + None, # 2680 + None, # 2681 + None, # 2682 + None, # 2683 + None, # 2684 + None, # 2685 + None, # 2686 + None, # 2687 + None, # 2688 + None, # 2689 + None, # 2690 + None, # 2691 + None, # 2692 + None, # 2693 + None, # 2694 + None, # 2695 + None, # 2696 + None, # 2697 + None, # 2698 + None, # 2699 + None, # 2700 + None, # 2701 + None, # 2702 + None, # 2703 + None, # 2704 + None, # 2705 + None, # 2706 + None, # 2707 + None, # 2708 + None, # 2709 + None, # 2710 + None, # 2711 + None, # 2712 + None, # 2713 + None, # 2714 + None, # 2715 + None, # 2716 + None, # 2717 + None, # 2718 + None, # 2719 + None, # 2720 + None, # 2721 + None, # 2722 + None, # 2723 + None, # 2724 + None, # 2725 + None, # 2726 + None, # 2727 + None, # 2728 + None, # 2729 + None, # 2730 + None, # 2731 + None, # 2732 + None, # 2733 + None, # 2734 + None, # 2735 + None, # 2736 + None, # 2737 + None, # 2738 + None, # 2739 + None, # 2740 + None, # 2741 + None, # 2742 + None, # 2743 + None, # 2744 + None, # 2745 + None, # 2746 + None, # 2747 + None, # 2748 + None, # 2749 + None, # 2750 + None, # 2751 + None, # 2752 + None, # 2753 + None, # 2754 + None, # 2755 + None, # 2756 + None, # 2757 + None, # 2758 + None, # 2759 + None, # 2760 + None, # 2761 + None, # 2762 + None, # 2763 + None, # 2764 + None, # 2765 + None, # 2766 + None, # 2767 + None, # 2768 + None, # 2769 + None, # 2770 + None, # 2771 + None, # 2772 + None, # 2773 + None, # 2774 + None, # 2775 + None, # 2776 + None, # 2777 + None, # 2778 + None, # 2779 + None, # 2780 + None, # 2781 + None, # 2782 + None, # 2783 + None, # 2784 + None, # 2785 + None, # 2786 + None, # 2787 + None, # 2788 + None, # 2789 + None, # 2790 + None, # 2791 + None, # 2792 + None, # 2793 + None, # 2794 + None, # 2795 + None, # 2796 + None, # 2797 + None, # 2798 + None, # 2799 + None, # 2800 + None, # 2801 + None, # 2802 + None, # 2803 + None, # 2804 + None, # 2805 + None, # 2806 + None, # 2807 + None, # 2808 + None, # 2809 + None, # 2810 + None, # 2811 + None, # 2812 + None, # 2813 + None, # 2814 + None, # 2815 + None, # 2816 + None, # 2817 + None, # 2818 + None, # 2819 + None, # 2820 + None, # 2821 + None, # 2822 + None, # 2823 + None, # 2824 + None, # 2825 + None, # 2826 + None, # 2827 + None, # 2828 + None, # 2829 + None, # 2830 + None, # 2831 + None, # 2832 + None, # 2833 + None, # 2834 + None, # 2835 + None, # 2836 + None, # 2837 + None, # 2838 + None, # 2839 + None, # 2840 + None, # 2841 + None, # 2842 + None, # 2843 + None, # 2844 + None, # 2845 + None, # 2846 + None, # 2847 + None, # 2848 + None, # 2849 + None, # 2850 + None, # 2851 + None, # 2852 + None, # 2853 + None, # 2854 + None, # 2855 + None, # 2856 + None, # 2857 + None, # 2858 + None, # 2859 + None, # 2860 + None, # 2861 + None, # 2862 + None, # 2863 + None, # 2864 + None, # 2865 + None, # 2866 + None, # 2867 + None, # 2868 + None, # 2869 + None, # 2870 + None, # 2871 + None, # 2872 + None, # 2873 + None, # 2874 + None, # 2875 + None, # 2876 + None, # 2877 + None, # 2878 + None, # 2879 + None, # 2880 + None, # 2881 + None, # 2882 + None, # 2883 + None, # 2884 + None, # 2885 + None, # 2886 + None, # 2887 + None, # 2888 + None, # 2889 + None, # 2890 + None, # 2891 + None, # 2892 + None, # 2893 + None, # 2894 + None, # 2895 + None, # 2896 + None, # 2897 + None, # 2898 + None, # 2899 + None, # 2900 + None, # 2901 + None, # 2902 + None, # 2903 + None, # 2904 + None, # 2905 + None, # 2906 + None, # 2907 + None, # 2908 + None, # 2909 + None, # 2910 + None, # 2911 + None, # 2912 + None, # 2913 + None, # 2914 + None, # 2915 + None, # 2916 + None, # 2917 + None, # 2918 + None, # 2919 + None, # 2920 + None, # 2921 + None, # 2922 + None, # 2923 + None, # 2924 + None, # 2925 + None, # 2926 + None, # 2927 + None, # 2928 + None, # 2929 + None, # 2930 + None, # 2931 + None, # 2932 + None, # 2933 + None, # 2934 + None, # 2935 + None, # 2936 + None, # 2937 + None, # 2938 + None, # 2939 + None, # 2940 + None, # 2941 + None, # 2942 + None, # 2943 + None, # 2944 + None, # 2945 + None, # 2946 + None, # 2947 + None, # 2948 + None, # 2949 + None, # 2950 + None, # 2951 + None, # 2952 + None, # 2953 + None, # 2954 + None, # 2955 + None, # 2956 + None, # 2957 + None, # 2958 + None, # 2959 + None, # 2960 + None, # 2961 + None, # 2962 + None, # 2963 + None, # 2964 + None, # 2965 + None, # 2966 + None, # 2967 + None, # 2968 + None, # 2969 + None, # 2970 + None, # 2971 + None, # 2972 + None, # 2973 + None, # 2974 + None, # 2975 + None, # 2976 + None, # 2977 + None, # 2978 + None, # 2979 + None, # 2980 + None, # 2981 + None, # 2982 + None, # 2983 + None, # 2984 + None, # 2985 + None, # 2986 + None, # 2987 + None, # 2988 + None, # 2989 + None, # 2990 + None, # 2991 + None, # 2992 + None, # 2993 + None, # 2994 + None, # 2995 + None, # 2996 + None, # 2997 + None, # 2998 + None, # 2999 + None, # 3000 + None, # 3001 + None, # 3002 + None, # 3003 + None, # 3004 + None, # 3005 + None, # 3006 + None, # 3007 + None, # 3008 + None, # 3009 + None, # 3010 + None, # 3011 + None, # 3012 + None, # 3013 + None, # 3014 + None, # 3015 + None, # 3016 + None, # 3017 + None, # 3018 + None, # 3019 + None, # 3020 + None, # 3021 + None, # 3022 + None, # 3023 + None, # 3024 + None, # 3025 + None, # 3026 + None, # 3027 + None, # 3028 + None, # 3029 + None, # 3030 + None, # 3031 + None, # 3032 + None, # 3033 + None, # 3034 + None, # 3035 + None, # 3036 + None, # 3037 + None, # 3038 + None, # 3039 + None, # 3040 + None, # 3041 + None, # 3042 + None, # 3043 + None, # 3044 + None, # 3045 + None, # 3046 + None, # 3047 + None, # 3048 + None, # 3049 + None, # 3050 + None, # 3051 + None, # 3052 + None, # 3053 + None, # 3054 + None, # 3055 + None, # 3056 + None, # 3057 + None, # 3058 + None, # 3059 + None, # 3060 + None, # 3061 + None, # 3062 + None, # 3063 + None, # 3064 + None, # 3065 + None, # 3066 + None, # 3067 + None, # 3068 + None, # 3069 + None, # 3070 + None, # 3071 + None, # 3072 + None, # 3073 + None, # 3074 + None, # 3075 + None, # 3076 + None, # 3077 + None, # 3078 + None, # 3079 + None, # 3080 + None, # 3081 + None, # 3082 + None, # 3083 + None, # 3084 + None, # 3085 + None, # 3086 + None, # 3087 + None, # 3088 + None, # 3089 + None, # 3090 + None, # 3091 + None, # 3092 + None, # 3093 + None, # 3094 + None, # 3095 + None, # 3096 + None, # 3097 + None, # 3098 + None, # 3099 + None, # 3100 + None, # 3101 + None, # 3102 + None, # 3103 + None, # 3104 + None, # 3105 + None, # 3106 + None, # 3107 + None, # 3108 + None, # 3109 + None, # 3110 + None, # 3111 + None, # 3112 + None, # 3113 + None, # 3114 + None, # 3115 + None, # 3116 + None, # 3117 + None, # 3118 + None, # 3119 + None, # 3120 + None, # 3121 + None, # 3122 + None, # 3123 + None, # 3124 + None, # 3125 + None, # 3126 + None, # 3127 + None, # 3128 + None, # 3129 + None, # 3130 + None, # 3131 + None, # 3132 + None, # 3133 + None, # 3134 + None, # 3135 + None, # 3136 + None, # 3137 + None, # 3138 + None, # 3139 + None, # 3140 + None, # 3141 + None, # 3142 + None, # 3143 + None, # 3144 + None, # 3145 + None, # 3146 + None, # 3147 + None, # 3148 + None, # 3149 + None, # 3150 + None, # 3151 + None, # 3152 + None, # 3153 + None, # 3154 + None, # 3155 + None, # 3156 + None, # 3157 + None, # 3158 + None, # 3159 + None, # 3160 + None, # 3161 + None, # 3162 + None, # 3163 + None, # 3164 + None, # 3165 + None, # 3166 + None, # 3167 + None, # 3168 + None, # 3169 + None, # 3170 + None, # 3171 + None, # 3172 + None, # 3173 + None, # 3174 + None, # 3175 + None, # 3176 + None, # 3177 + None, # 3178 + None, # 3179 + None, # 3180 + None, # 3181 + None, # 3182 + None, # 3183 + None, # 3184 + None, # 3185 + None, # 3186 + None, # 3187 + None, # 3188 + None, # 3189 + None, # 3190 + None, # 3191 + None, # 3192 + None, # 3193 + None, # 3194 + None, # 3195 + None, # 3196 + None, # 3197 + None, # 3198 + None, # 3199 + None, # 3200 + None, # 3201 + None, # 3202 + None, # 3203 + None, # 3204 + None, # 3205 + None, # 3206 + None, # 3207 + None, # 3208 + None, # 3209 + None, # 3210 + None, # 3211 + None, # 3212 + None, # 3213 + None, # 3214 + None, # 3215 + None, # 3216 + None, # 3217 + None, # 3218 + None, # 3219 + None, # 3220 + None, # 3221 + None, # 3222 + None, # 3223 + None, # 3224 + None, # 3225 + None, # 3226 + None, # 3227 + None, # 3228 + None, # 3229 + None, # 3230 + None, # 3231 + None, # 3232 + None, # 3233 + None, # 3234 + None, # 3235 + None, # 3236 + None, # 3237 + None, # 3238 + None, # 3239 + None, # 3240 + None, # 3241 + None, # 3242 + None, # 3243 + None, # 3244 + None, # 3245 + None, # 3246 + None, # 3247 + None, # 3248 + None, # 3249 + None, # 3250 + None, # 3251 + None, # 3252 + None, # 3253 + None, # 3254 + None, # 3255 + None, # 3256 + None, # 3257 + None, # 3258 + None, # 3259 + None, # 3260 + None, # 3261 + None, # 3262 + None, # 3263 + None, # 3264 + None, # 3265 + None, # 3266 + None, # 3267 + None, # 3268 + None, # 3269 + None, # 3270 + None, # 3271 + None, # 3272 + None, # 3273 + None, # 3274 + None, # 3275 + None, # 3276 + None, # 3277 + None, # 3278 + None, # 3279 + None, # 3280 + None, # 3281 + None, # 3282 + None, # 3283 + None, # 3284 + None, # 3285 + None, # 3286 + None, # 3287 + None, # 3288 + None, # 3289 + None, # 3290 + None, # 3291 + None, # 3292 + None, # 3293 + None, # 3294 + None, # 3295 + None, # 3296 + None, # 3297 + None, # 3298 + None, # 3299 + None, # 3300 + None, # 3301 + None, # 3302 + None, # 3303 + None, # 3304 + None, # 3305 + None, # 3306 + None, # 3307 + None, # 3308 + None, # 3309 + None, # 3310 + None, # 3311 + None, # 3312 + None, # 3313 + None, # 3314 + None, # 3315 + None, # 3316 + None, # 3317 + None, # 3318 + None, # 3319 + None, # 3320 + None, # 3321 + None, # 3322 + None, # 3323 + None, # 3324 + None, # 3325 + None, # 3326 + None, # 3327 + None, # 3328 + (3329, TType.STRING, 'responseValidation', 'BINARY', None, ), # 3329 ) all_structs.append(TNamespace) TNamespace.thrift_spec = ( - None, # 0 - ( - 1, - TType.STRING, - "catalogName", - "UTF8", - None, - ), # 1 - ( - 2, - TType.STRING, - "schemaName", - "UTF8", - None, - ), # 2 + None, # 0 + (1, TType.STRING, 'catalogName', 'UTF8', None, ), # 1 + (2, TType.STRING, 'schemaName', 'UTF8', None, ), # 2 ) all_structs.append(THandleIdentifier) THandleIdentifier.thrift_spec = ( - None, # 0 - ( - 1, - TType.STRING, - "guid", - "BINARY", - None, - ), # 1 - ( - 2, - TType.STRING, - "secret", - "BINARY", - None, - ), # 2 - None, # 3 - None, # 4 - None, # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - None, # 1281 - None, # 1282 - None, # 1283 - None, # 1284 - None, # 1285 - None, # 1286 - None, # 1287 - None, # 1288 - None, # 1289 - None, # 1290 - None, # 1291 - None, # 1292 - None, # 1293 - None, # 1294 - None, # 1295 - None, # 1296 - None, # 1297 - None, # 1298 - None, # 1299 - None, # 1300 - None, # 1301 - None, # 1302 - None, # 1303 - None, # 1304 - None, # 1305 - None, # 1306 - None, # 1307 - None, # 1308 - None, # 1309 - None, # 1310 - None, # 1311 - None, # 1312 - None, # 1313 - None, # 1314 - None, # 1315 - None, # 1316 - None, # 1317 - None, # 1318 - None, # 1319 - None, # 1320 - None, # 1321 - None, # 1322 - None, # 1323 - None, # 1324 - None, # 1325 - None, # 1326 - None, # 1327 - None, # 1328 - None, # 1329 - None, # 1330 - None, # 1331 - None, # 1332 - None, # 1333 - None, # 1334 - None, # 1335 - None, # 1336 - None, # 1337 - None, # 1338 - None, # 1339 - None, # 1340 - None, # 1341 - None, # 1342 - None, # 1343 - None, # 1344 - None, # 1345 - None, # 1346 - None, # 1347 - None, # 1348 - None, # 1349 - None, # 1350 - None, # 1351 - None, # 1352 - None, # 1353 - None, # 1354 - None, # 1355 - None, # 1356 - None, # 1357 - None, # 1358 - None, # 1359 - None, # 1360 - None, # 1361 - None, # 1362 - None, # 1363 - None, # 1364 - None, # 1365 - None, # 1366 - None, # 1367 - None, # 1368 - None, # 1369 - None, # 1370 - None, # 1371 - None, # 1372 - None, # 1373 - None, # 1374 - None, # 1375 - None, # 1376 - None, # 1377 - None, # 1378 - None, # 1379 - None, # 1380 - None, # 1381 - None, # 1382 - None, # 1383 - None, # 1384 - None, # 1385 - None, # 1386 - None, # 1387 - None, # 1388 - None, # 1389 - None, # 1390 - None, # 1391 - None, # 1392 - None, # 1393 - None, # 1394 - None, # 1395 - None, # 1396 - None, # 1397 - None, # 1398 - None, # 1399 - None, # 1400 - None, # 1401 - None, # 1402 - None, # 1403 - None, # 1404 - None, # 1405 - None, # 1406 - None, # 1407 - None, # 1408 - None, # 1409 - None, # 1410 - None, # 1411 - None, # 1412 - None, # 1413 - None, # 1414 - None, # 1415 - None, # 1416 - None, # 1417 - None, # 1418 - None, # 1419 - None, # 1420 - None, # 1421 - None, # 1422 - None, # 1423 - None, # 1424 - None, # 1425 - None, # 1426 - None, # 1427 - None, # 1428 - None, # 1429 - None, # 1430 - None, # 1431 - None, # 1432 - None, # 1433 - None, # 1434 - None, # 1435 - None, # 1436 - None, # 1437 - None, # 1438 - None, # 1439 - None, # 1440 - None, # 1441 - None, # 1442 - None, # 1443 - None, # 1444 - None, # 1445 - None, # 1446 - None, # 1447 - None, # 1448 - None, # 1449 - None, # 1450 - None, # 1451 - None, # 1452 - None, # 1453 - None, # 1454 - None, # 1455 - None, # 1456 - None, # 1457 - None, # 1458 - None, # 1459 - None, # 1460 - None, # 1461 - None, # 1462 - None, # 1463 - None, # 1464 - None, # 1465 - None, # 1466 - None, # 1467 - None, # 1468 - None, # 1469 - None, # 1470 - None, # 1471 - None, # 1472 - None, # 1473 - None, # 1474 - None, # 1475 - None, # 1476 - None, # 1477 - None, # 1478 - None, # 1479 - None, # 1480 - None, # 1481 - None, # 1482 - None, # 1483 - None, # 1484 - None, # 1485 - None, # 1486 - None, # 1487 - None, # 1488 - None, # 1489 - None, # 1490 - None, # 1491 - None, # 1492 - None, # 1493 - None, # 1494 - None, # 1495 - None, # 1496 - None, # 1497 - None, # 1498 - None, # 1499 - None, # 1500 - None, # 1501 - None, # 1502 - None, # 1503 - None, # 1504 - None, # 1505 - None, # 1506 - None, # 1507 - None, # 1508 - None, # 1509 - None, # 1510 - None, # 1511 - None, # 1512 - None, # 1513 - None, # 1514 - None, # 1515 - None, # 1516 - None, # 1517 - None, # 1518 - None, # 1519 - None, # 1520 - None, # 1521 - None, # 1522 - None, # 1523 - None, # 1524 - None, # 1525 - None, # 1526 - None, # 1527 - None, # 1528 - None, # 1529 - None, # 1530 - None, # 1531 - None, # 1532 - None, # 1533 - None, # 1534 - None, # 1535 - None, # 1536 - None, # 1537 - None, # 1538 - None, # 1539 - None, # 1540 - None, # 1541 - None, # 1542 - None, # 1543 - None, # 1544 - None, # 1545 - None, # 1546 - None, # 1547 - None, # 1548 - None, # 1549 - None, # 1550 - None, # 1551 - None, # 1552 - None, # 1553 - None, # 1554 - None, # 1555 - None, # 1556 - None, # 1557 - None, # 1558 - None, # 1559 - None, # 1560 - None, # 1561 - None, # 1562 - None, # 1563 - None, # 1564 - None, # 1565 - None, # 1566 - None, # 1567 - None, # 1568 - None, # 1569 - None, # 1570 - None, # 1571 - None, # 1572 - None, # 1573 - None, # 1574 - None, # 1575 - None, # 1576 - None, # 1577 - None, # 1578 - None, # 1579 - None, # 1580 - None, # 1581 - None, # 1582 - None, # 1583 - None, # 1584 - None, # 1585 - None, # 1586 - None, # 1587 - None, # 1588 - None, # 1589 - None, # 1590 - None, # 1591 - None, # 1592 - None, # 1593 - None, # 1594 - None, # 1595 - None, # 1596 - None, # 1597 - None, # 1598 - None, # 1599 - None, # 1600 - None, # 1601 - None, # 1602 - None, # 1603 - None, # 1604 - None, # 1605 - None, # 1606 - None, # 1607 - None, # 1608 - None, # 1609 - None, # 1610 - None, # 1611 - None, # 1612 - None, # 1613 - None, # 1614 - None, # 1615 - None, # 1616 - None, # 1617 - None, # 1618 - None, # 1619 - None, # 1620 - None, # 1621 - None, # 1622 - None, # 1623 - None, # 1624 - None, # 1625 - None, # 1626 - None, # 1627 - None, # 1628 - None, # 1629 - None, # 1630 - None, # 1631 - None, # 1632 - None, # 1633 - None, # 1634 - None, # 1635 - None, # 1636 - None, # 1637 - None, # 1638 - None, # 1639 - None, # 1640 - None, # 1641 - None, # 1642 - None, # 1643 - None, # 1644 - None, # 1645 - None, # 1646 - None, # 1647 - None, # 1648 - None, # 1649 - None, # 1650 - None, # 1651 - None, # 1652 - None, # 1653 - None, # 1654 - None, # 1655 - None, # 1656 - None, # 1657 - None, # 1658 - None, # 1659 - None, # 1660 - None, # 1661 - None, # 1662 - None, # 1663 - None, # 1664 - None, # 1665 - None, # 1666 - None, # 1667 - None, # 1668 - None, # 1669 - None, # 1670 - None, # 1671 - None, # 1672 - None, # 1673 - None, # 1674 - None, # 1675 - None, # 1676 - None, # 1677 - None, # 1678 - None, # 1679 - None, # 1680 - None, # 1681 - None, # 1682 - None, # 1683 - None, # 1684 - None, # 1685 - None, # 1686 - None, # 1687 - None, # 1688 - None, # 1689 - None, # 1690 - None, # 1691 - None, # 1692 - None, # 1693 - None, # 1694 - None, # 1695 - None, # 1696 - None, # 1697 - None, # 1698 - None, # 1699 - None, # 1700 - None, # 1701 - None, # 1702 - None, # 1703 - None, # 1704 - None, # 1705 - None, # 1706 - None, # 1707 - None, # 1708 - None, # 1709 - None, # 1710 - None, # 1711 - None, # 1712 - None, # 1713 - None, # 1714 - None, # 1715 - None, # 1716 - None, # 1717 - None, # 1718 - None, # 1719 - None, # 1720 - None, # 1721 - None, # 1722 - None, # 1723 - None, # 1724 - None, # 1725 - None, # 1726 - None, # 1727 - None, # 1728 - None, # 1729 - None, # 1730 - None, # 1731 - None, # 1732 - None, # 1733 - None, # 1734 - None, # 1735 - None, # 1736 - None, # 1737 - None, # 1738 - None, # 1739 - None, # 1740 - None, # 1741 - None, # 1742 - None, # 1743 - None, # 1744 - None, # 1745 - None, # 1746 - None, # 1747 - None, # 1748 - None, # 1749 - None, # 1750 - None, # 1751 - None, # 1752 - None, # 1753 - None, # 1754 - None, # 1755 - None, # 1756 - None, # 1757 - None, # 1758 - None, # 1759 - None, # 1760 - None, # 1761 - None, # 1762 - None, # 1763 - None, # 1764 - None, # 1765 - None, # 1766 - None, # 1767 - None, # 1768 - None, # 1769 - None, # 1770 - None, # 1771 - None, # 1772 - None, # 1773 - None, # 1774 - None, # 1775 - None, # 1776 - None, # 1777 - None, # 1778 - None, # 1779 - None, # 1780 - None, # 1781 - None, # 1782 - None, # 1783 - None, # 1784 - None, # 1785 - None, # 1786 - None, # 1787 - None, # 1788 - None, # 1789 - None, # 1790 - None, # 1791 - None, # 1792 - None, # 1793 - None, # 1794 - None, # 1795 - None, # 1796 - None, # 1797 - None, # 1798 - None, # 1799 - None, # 1800 - None, # 1801 - None, # 1802 - None, # 1803 - None, # 1804 - None, # 1805 - None, # 1806 - None, # 1807 - None, # 1808 - None, # 1809 - None, # 1810 - None, # 1811 - None, # 1812 - None, # 1813 - None, # 1814 - None, # 1815 - None, # 1816 - None, # 1817 - None, # 1818 - None, # 1819 - None, # 1820 - None, # 1821 - None, # 1822 - None, # 1823 - None, # 1824 - None, # 1825 - None, # 1826 - None, # 1827 - None, # 1828 - None, # 1829 - None, # 1830 - None, # 1831 - None, # 1832 - None, # 1833 - None, # 1834 - None, # 1835 - None, # 1836 - None, # 1837 - None, # 1838 - None, # 1839 - None, # 1840 - None, # 1841 - None, # 1842 - None, # 1843 - None, # 1844 - None, # 1845 - None, # 1846 - None, # 1847 - None, # 1848 - None, # 1849 - None, # 1850 - None, # 1851 - None, # 1852 - None, # 1853 - None, # 1854 - None, # 1855 - None, # 1856 - None, # 1857 - None, # 1858 - None, # 1859 - None, # 1860 - None, # 1861 - None, # 1862 - None, # 1863 - None, # 1864 - None, # 1865 - None, # 1866 - None, # 1867 - None, # 1868 - None, # 1869 - None, # 1870 - None, # 1871 - None, # 1872 - None, # 1873 - None, # 1874 - None, # 1875 - None, # 1876 - None, # 1877 - None, # 1878 - None, # 1879 - None, # 1880 - None, # 1881 - None, # 1882 - None, # 1883 - None, # 1884 - None, # 1885 - None, # 1886 - None, # 1887 - None, # 1888 - None, # 1889 - None, # 1890 - None, # 1891 - None, # 1892 - None, # 1893 - None, # 1894 - None, # 1895 - None, # 1896 - None, # 1897 - None, # 1898 - None, # 1899 - None, # 1900 - None, # 1901 - None, # 1902 - None, # 1903 - None, # 1904 - None, # 1905 - None, # 1906 - None, # 1907 - None, # 1908 - None, # 1909 - None, # 1910 - None, # 1911 - None, # 1912 - None, # 1913 - None, # 1914 - None, # 1915 - None, # 1916 - None, # 1917 - None, # 1918 - None, # 1919 - None, # 1920 - None, # 1921 - None, # 1922 - None, # 1923 - None, # 1924 - None, # 1925 - None, # 1926 - None, # 1927 - None, # 1928 - None, # 1929 - None, # 1930 - None, # 1931 - None, # 1932 - None, # 1933 - None, # 1934 - None, # 1935 - None, # 1936 - None, # 1937 - None, # 1938 - None, # 1939 - None, # 1940 - None, # 1941 - None, # 1942 - None, # 1943 - None, # 1944 - None, # 1945 - None, # 1946 - None, # 1947 - None, # 1948 - None, # 1949 - None, # 1950 - None, # 1951 - None, # 1952 - None, # 1953 - None, # 1954 - None, # 1955 - None, # 1956 - None, # 1957 - None, # 1958 - None, # 1959 - None, # 1960 - None, # 1961 - None, # 1962 - None, # 1963 - None, # 1964 - None, # 1965 - None, # 1966 - None, # 1967 - None, # 1968 - None, # 1969 - None, # 1970 - None, # 1971 - None, # 1972 - None, # 1973 - None, # 1974 - None, # 1975 - None, # 1976 - None, # 1977 - None, # 1978 - None, # 1979 - None, # 1980 - None, # 1981 - None, # 1982 - None, # 1983 - None, # 1984 - None, # 1985 - None, # 1986 - None, # 1987 - None, # 1988 - None, # 1989 - None, # 1990 - None, # 1991 - None, # 1992 - None, # 1993 - None, # 1994 - None, # 1995 - None, # 1996 - None, # 1997 - None, # 1998 - None, # 1999 - None, # 2000 - None, # 2001 - None, # 2002 - None, # 2003 - None, # 2004 - None, # 2005 - None, # 2006 - None, # 2007 - None, # 2008 - None, # 2009 - None, # 2010 - None, # 2011 - None, # 2012 - None, # 2013 - None, # 2014 - None, # 2015 - None, # 2016 - None, # 2017 - None, # 2018 - None, # 2019 - None, # 2020 - None, # 2021 - None, # 2022 - None, # 2023 - None, # 2024 - None, # 2025 - None, # 2026 - None, # 2027 - None, # 2028 - None, # 2029 - None, # 2030 - None, # 2031 - None, # 2032 - None, # 2033 - None, # 2034 - None, # 2035 - None, # 2036 - None, # 2037 - None, # 2038 - None, # 2039 - None, # 2040 - None, # 2041 - None, # 2042 - None, # 2043 - None, # 2044 - None, # 2045 - None, # 2046 - None, # 2047 - None, # 2048 - None, # 2049 - None, # 2050 - None, # 2051 - None, # 2052 - None, # 2053 - None, # 2054 - None, # 2055 - None, # 2056 - None, # 2057 - None, # 2058 - None, # 2059 - None, # 2060 - None, # 2061 - None, # 2062 - None, # 2063 - None, # 2064 - None, # 2065 - None, # 2066 - None, # 2067 - None, # 2068 - None, # 2069 - None, # 2070 - None, # 2071 - None, # 2072 - None, # 2073 - None, # 2074 - None, # 2075 - None, # 2076 - None, # 2077 - None, # 2078 - None, # 2079 - None, # 2080 - None, # 2081 - None, # 2082 - None, # 2083 - None, # 2084 - None, # 2085 - None, # 2086 - None, # 2087 - None, # 2088 - None, # 2089 - None, # 2090 - None, # 2091 - None, # 2092 - None, # 2093 - None, # 2094 - None, # 2095 - None, # 2096 - None, # 2097 - None, # 2098 - None, # 2099 - None, # 2100 - None, # 2101 - None, # 2102 - None, # 2103 - None, # 2104 - None, # 2105 - None, # 2106 - None, # 2107 - None, # 2108 - None, # 2109 - None, # 2110 - None, # 2111 - None, # 2112 - None, # 2113 - None, # 2114 - None, # 2115 - None, # 2116 - None, # 2117 - None, # 2118 - None, # 2119 - None, # 2120 - None, # 2121 - None, # 2122 - None, # 2123 - None, # 2124 - None, # 2125 - None, # 2126 - None, # 2127 - None, # 2128 - None, # 2129 - None, # 2130 - None, # 2131 - None, # 2132 - None, # 2133 - None, # 2134 - None, # 2135 - None, # 2136 - None, # 2137 - None, # 2138 - None, # 2139 - None, # 2140 - None, # 2141 - None, # 2142 - None, # 2143 - None, # 2144 - None, # 2145 - None, # 2146 - None, # 2147 - None, # 2148 - None, # 2149 - None, # 2150 - None, # 2151 - None, # 2152 - None, # 2153 - None, # 2154 - None, # 2155 - None, # 2156 - None, # 2157 - None, # 2158 - None, # 2159 - None, # 2160 - None, # 2161 - None, # 2162 - None, # 2163 - None, # 2164 - None, # 2165 - None, # 2166 - None, # 2167 - None, # 2168 - None, # 2169 - None, # 2170 - None, # 2171 - None, # 2172 - None, # 2173 - None, # 2174 - None, # 2175 - None, # 2176 - None, # 2177 - None, # 2178 - None, # 2179 - None, # 2180 - None, # 2181 - None, # 2182 - None, # 2183 - None, # 2184 - None, # 2185 - None, # 2186 - None, # 2187 - None, # 2188 - None, # 2189 - None, # 2190 - None, # 2191 - None, # 2192 - None, # 2193 - None, # 2194 - None, # 2195 - None, # 2196 - None, # 2197 - None, # 2198 - None, # 2199 - None, # 2200 - None, # 2201 - None, # 2202 - None, # 2203 - None, # 2204 - None, # 2205 - None, # 2206 - None, # 2207 - None, # 2208 - None, # 2209 - None, # 2210 - None, # 2211 - None, # 2212 - None, # 2213 - None, # 2214 - None, # 2215 - None, # 2216 - None, # 2217 - None, # 2218 - None, # 2219 - None, # 2220 - None, # 2221 - None, # 2222 - None, # 2223 - None, # 2224 - None, # 2225 - None, # 2226 - None, # 2227 - None, # 2228 - None, # 2229 - None, # 2230 - None, # 2231 - None, # 2232 - None, # 2233 - None, # 2234 - None, # 2235 - None, # 2236 - None, # 2237 - None, # 2238 - None, # 2239 - None, # 2240 - None, # 2241 - None, # 2242 - None, # 2243 - None, # 2244 - None, # 2245 - None, # 2246 - None, # 2247 - None, # 2248 - None, # 2249 - None, # 2250 - None, # 2251 - None, # 2252 - None, # 2253 - None, # 2254 - None, # 2255 - None, # 2256 - None, # 2257 - None, # 2258 - None, # 2259 - None, # 2260 - None, # 2261 - None, # 2262 - None, # 2263 - None, # 2264 - None, # 2265 - None, # 2266 - None, # 2267 - None, # 2268 - None, # 2269 - None, # 2270 - None, # 2271 - None, # 2272 - None, # 2273 - None, # 2274 - None, # 2275 - None, # 2276 - None, # 2277 - None, # 2278 - None, # 2279 - None, # 2280 - None, # 2281 - None, # 2282 - None, # 2283 - None, # 2284 - None, # 2285 - None, # 2286 - None, # 2287 - None, # 2288 - None, # 2289 - None, # 2290 - None, # 2291 - None, # 2292 - None, # 2293 - None, # 2294 - None, # 2295 - None, # 2296 - None, # 2297 - None, # 2298 - None, # 2299 - None, # 2300 - None, # 2301 - None, # 2302 - None, # 2303 - None, # 2304 - None, # 2305 - None, # 2306 - None, # 2307 - None, # 2308 - None, # 2309 - None, # 2310 - None, # 2311 - None, # 2312 - None, # 2313 - None, # 2314 - None, # 2315 - None, # 2316 - None, # 2317 - None, # 2318 - None, # 2319 - None, # 2320 - None, # 2321 - None, # 2322 - None, # 2323 - None, # 2324 - None, # 2325 - None, # 2326 - None, # 2327 - None, # 2328 - None, # 2329 - None, # 2330 - None, # 2331 - None, # 2332 - None, # 2333 - None, # 2334 - None, # 2335 - None, # 2336 - None, # 2337 - None, # 2338 - None, # 2339 - None, # 2340 - None, # 2341 - None, # 2342 - None, # 2343 - None, # 2344 - None, # 2345 - None, # 2346 - None, # 2347 - None, # 2348 - None, # 2349 - None, # 2350 - None, # 2351 - None, # 2352 - None, # 2353 - None, # 2354 - None, # 2355 - None, # 2356 - None, # 2357 - None, # 2358 - None, # 2359 - None, # 2360 - None, # 2361 - None, # 2362 - None, # 2363 - None, # 2364 - None, # 2365 - None, # 2366 - None, # 2367 - None, # 2368 - None, # 2369 - None, # 2370 - None, # 2371 - None, # 2372 - None, # 2373 - None, # 2374 - None, # 2375 - None, # 2376 - None, # 2377 - None, # 2378 - None, # 2379 - None, # 2380 - None, # 2381 - None, # 2382 - None, # 2383 - None, # 2384 - None, # 2385 - None, # 2386 - None, # 2387 - None, # 2388 - None, # 2389 - None, # 2390 - None, # 2391 - None, # 2392 - None, # 2393 - None, # 2394 - None, # 2395 - None, # 2396 - None, # 2397 - None, # 2398 - None, # 2399 - None, # 2400 - None, # 2401 - None, # 2402 - None, # 2403 - None, # 2404 - None, # 2405 - None, # 2406 - None, # 2407 - None, # 2408 - None, # 2409 - None, # 2410 - None, # 2411 - None, # 2412 - None, # 2413 - None, # 2414 - None, # 2415 - None, # 2416 - None, # 2417 - None, # 2418 - None, # 2419 - None, # 2420 - None, # 2421 - None, # 2422 - None, # 2423 - None, # 2424 - None, # 2425 - None, # 2426 - None, # 2427 - None, # 2428 - None, # 2429 - None, # 2430 - None, # 2431 - None, # 2432 - None, # 2433 - None, # 2434 - None, # 2435 - None, # 2436 - None, # 2437 - None, # 2438 - None, # 2439 - None, # 2440 - None, # 2441 - None, # 2442 - None, # 2443 - None, # 2444 - None, # 2445 - None, # 2446 - None, # 2447 - None, # 2448 - None, # 2449 - None, # 2450 - None, # 2451 - None, # 2452 - None, # 2453 - None, # 2454 - None, # 2455 - None, # 2456 - None, # 2457 - None, # 2458 - None, # 2459 - None, # 2460 - None, # 2461 - None, # 2462 - None, # 2463 - None, # 2464 - None, # 2465 - None, # 2466 - None, # 2467 - None, # 2468 - None, # 2469 - None, # 2470 - None, # 2471 - None, # 2472 - None, # 2473 - None, # 2474 - None, # 2475 - None, # 2476 - None, # 2477 - None, # 2478 - None, # 2479 - None, # 2480 - None, # 2481 - None, # 2482 - None, # 2483 - None, # 2484 - None, # 2485 - None, # 2486 - None, # 2487 - None, # 2488 - None, # 2489 - None, # 2490 - None, # 2491 - None, # 2492 - None, # 2493 - None, # 2494 - None, # 2495 - None, # 2496 - None, # 2497 - None, # 2498 - None, # 2499 - None, # 2500 - None, # 2501 - None, # 2502 - None, # 2503 - None, # 2504 - None, # 2505 - None, # 2506 - None, # 2507 - None, # 2508 - None, # 2509 - None, # 2510 - None, # 2511 - None, # 2512 - None, # 2513 - None, # 2514 - None, # 2515 - None, # 2516 - None, # 2517 - None, # 2518 - None, # 2519 - None, # 2520 - None, # 2521 - None, # 2522 - None, # 2523 - None, # 2524 - None, # 2525 - None, # 2526 - None, # 2527 - None, # 2528 - None, # 2529 - None, # 2530 - None, # 2531 - None, # 2532 - None, # 2533 - None, # 2534 - None, # 2535 - None, # 2536 - None, # 2537 - None, # 2538 - None, # 2539 - None, # 2540 - None, # 2541 - None, # 2542 - None, # 2543 - None, # 2544 - None, # 2545 - None, # 2546 - None, # 2547 - None, # 2548 - None, # 2549 - None, # 2550 - None, # 2551 - None, # 2552 - None, # 2553 - None, # 2554 - None, # 2555 - None, # 2556 - None, # 2557 - None, # 2558 - None, # 2559 - None, # 2560 - None, # 2561 - None, # 2562 - None, # 2563 - None, # 2564 - None, # 2565 - None, # 2566 - None, # 2567 - None, # 2568 - None, # 2569 - None, # 2570 - None, # 2571 - None, # 2572 - None, # 2573 - None, # 2574 - None, # 2575 - None, # 2576 - None, # 2577 - None, # 2578 - None, # 2579 - None, # 2580 - None, # 2581 - None, # 2582 - None, # 2583 - None, # 2584 - None, # 2585 - None, # 2586 - None, # 2587 - None, # 2588 - None, # 2589 - None, # 2590 - None, # 2591 - None, # 2592 - None, # 2593 - None, # 2594 - None, # 2595 - None, # 2596 - None, # 2597 - None, # 2598 - None, # 2599 - None, # 2600 - None, # 2601 - None, # 2602 - None, # 2603 - None, # 2604 - None, # 2605 - None, # 2606 - None, # 2607 - None, # 2608 - None, # 2609 - None, # 2610 - None, # 2611 - None, # 2612 - None, # 2613 - None, # 2614 - None, # 2615 - None, # 2616 - None, # 2617 - None, # 2618 - None, # 2619 - None, # 2620 - None, # 2621 - None, # 2622 - None, # 2623 - None, # 2624 - None, # 2625 - None, # 2626 - None, # 2627 - None, # 2628 - None, # 2629 - None, # 2630 - None, # 2631 - None, # 2632 - None, # 2633 - None, # 2634 - None, # 2635 - None, # 2636 - None, # 2637 - None, # 2638 - None, # 2639 - None, # 2640 - None, # 2641 - None, # 2642 - None, # 2643 - None, # 2644 - None, # 2645 - None, # 2646 - None, # 2647 - None, # 2648 - None, # 2649 - None, # 2650 - None, # 2651 - None, # 2652 - None, # 2653 - None, # 2654 - None, # 2655 - None, # 2656 - None, # 2657 - None, # 2658 - None, # 2659 - None, # 2660 - None, # 2661 - None, # 2662 - None, # 2663 - None, # 2664 - None, # 2665 - None, # 2666 - None, # 2667 - None, # 2668 - None, # 2669 - None, # 2670 - None, # 2671 - None, # 2672 - None, # 2673 - None, # 2674 - None, # 2675 - None, # 2676 - None, # 2677 - None, # 2678 - None, # 2679 - None, # 2680 - None, # 2681 - None, # 2682 - None, # 2683 - None, # 2684 - None, # 2685 - None, # 2686 - None, # 2687 - None, # 2688 - None, # 2689 - None, # 2690 - None, # 2691 - None, # 2692 - None, # 2693 - None, # 2694 - None, # 2695 - None, # 2696 - None, # 2697 - None, # 2698 - None, # 2699 - None, # 2700 - None, # 2701 - None, # 2702 - None, # 2703 - None, # 2704 - None, # 2705 - None, # 2706 - None, # 2707 - None, # 2708 - None, # 2709 - None, # 2710 - None, # 2711 - None, # 2712 - None, # 2713 - None, # 2714 - None, # 2715 - None, # 2716 - None, # 2717 - None, # 2718 - None, # 2719 - None, # 2720 - None, # 2721 - None, # 2722 - None, # 2723 - None, # 2724 - None, # 2725 - None, # 2726 - None, # 2727 - None, # 2728 - None, # 2729 - None, # 2730 - None, # 2731 - None, # 2732 - None, # 2733 - None, # 2734 - None, # 2735 - None, # 2736 - None, # 2737 - None, # 2738 - None, # 2739 - None, # 2740 - None, # 2741 - None, # 2742 - None, # 2743 - None, # 2744 - None, # 2745 - None, # 2746 - None, # 2747 - None, # 2748 - None, # 2749 - None, # 2750 - None, # 2751 - None, # 2752 - None, # 2753 - None, # 2754 - None, # 2755 - None, # 2756 - None, # 2757 - None, # 2758 - None, # 2759 - None, # 2760 - None, # 2761 - None, # 2762 - None, # 2763 - None, # 2764 - None, # 2765 - None, # 2766 - None, # 2767 - None, # 2768 - None, # 2769 - None, # 2770 - None, # 2771 - None, # 2772 - None, # 2773 - None, # 2774 - None, # 2775 - None, # 2776 - None, # 2777 - None, # 2778 - None, # 2779 - None, # 2780 - None, # 2781 - None, # 2782 - None, # 2783 - None, # 2784 - None, # 2785 - None, # 2786 - None, # 2787 - None, # 2788 - None, # 2789 - None, # 2790 - None, # 2791 - None, # 2792 - None, # 2793 - None, # 2794 - None, # 2795 - None, # 2796 - None, # 2797 - None, # 2798 - None, # 2799 - None, # 2800 - None, # 2801 - None, # 2802 - None, # 2803 - None, # 2804 - None, # 2805 - None, # 2806 - None, # 2807 - None, # 2808 - None, # 2809 - None, # 2810 - None, # 2811 - None, # 2812 - None, # 2813 - None, # 2814 - None, # 2815 - None, # 2816 - None, # 2817 - None, # 2818 - None, # 2819 - None, # 2820 - None, # 2821 - None, # 2822 - None, # 2823 - None, # 2824 - None, # 2825 - None, # 2826 - None, # 2827 - None, # 2828 - None, # 2829 - None, # 2830 - None, # 2831 - None, # 2832 - None, # 2833 - None, # 2834 - None, # 2835 - None, # 2836 - None, # 2837 - None, # 2838 - None, # 2839 - None, # 2840 - None, # 2841 - None, # 2842 - None, # 2843 - None, # 2844 - None, # 2845 - None, # 2846 - None, # 2847 - None, # 2848 - None, # 2849 - None, # 2850 - None, # 2851 - None, # 2852 - None, # 2853 - None, # 2854 - None, # 2855 - None, # 2856 - None, # 2857 - None, # 2858 - None, # 2859 - None, # 2860 - None, # 2861 - None, # 2862 - None, # 2863 - None, # 2864 - None, # 2865 - None, # 2866 - None, # 2867 - None, # 2868 - None, # 2869 - None, # 2870 - None, # 2871 - None, # 2872 - None, # 2873 - None, # 2874 - None, # 2875 - None, # 2876 - None, # 2877 - None, # 2878 - None, # 2879 - None, # 2880 - None, # 2881 - None, # 2882 - None, # 2883 - None, # 2884 - None, # 2885 - None, # 2886 - None, # 2887 - None, # 2888 - None, # 2889 - None, # 2890 - None, # 2891 - None, # 2892 - None, # 2893 - None, # 2894 - None, # 2895 - None, # 2896 - None, # 2897 - None, # 2898 - None, # 2899 - None, # 2900 - None, # 2901 - None, # 2902 - None, # 2903 - None, # 2904 - None, # 2905 - None, # 2906 - None, # 2907 - None, # 2908 - None, # 2909 - None, # 2910 - None, # 2911 - None, # 2912 - None, # 2913 - None, # 2914 - None, # 2915 - None, # 2916 - None, # 2917 - None, # 2918 - None, # 2919 - None, # 2920 - None, # 2921 - None, # 2922 - None, # 2923 - None, # 2924 - None, # 2925 - None, # 2926 - None, # 2927 - None, # 2928 - None, # 2929 - None, # 2930 - None, # 2931 - None, # 2932 - None, # 2933 - None, # 2934 - None, # 2935 - None, # 2936 - None, # 2937 - None, # 2938 - None, # 2939 - None, # 2940 - None, # 2941 - None, # 2942 - None, # 2943 - None, # 2944 - None, # 2945 - None, # 2946 - None, # 2947 - None, # 2948 - None, # 2949 - None, # 2950 - None, # 2951 - None, # 2952 - None, # 2953 - None, # 2954 - None, # 2955 - None, # 2956 - None, # 2957 - None, # 2958 - None, # 2959 - None, # 2960 - None, # 2961 - None, # 2962 - None, # 2963 - None, # 2964 - None, # 2965 - None, # 2966 - None, # 2967 - None, # 2968 - None, # 2969 - None, # 2970 - None, # 2971 - None, # 2972 - None, # 2973 - None, # 2974 - None, # 2975 - None, # 2976 - None, # 2977 - None, # 2978 - None, # 2979 - None, # 2980 - None, # 2981 - None, # 2982 - None, # 2983 - None, # 2984 - None, # 2985 - None, # 2986 - None, # 2987 - None, # 2988 - None, # 2989 - None, # 2990 - None, # 2991 - None, # 2992 - None, # 2993 - None, # 2994 - None, # 2995 - None, # 2996 - None, # 2997 - None, # 2998 - None, # 2999 - None, # 3000 - None, # 3001 - None, # 3002 - None, # 3003 - None, # 3004 - None, # 3005 - None, # 3006 - None, # 3007 - None, # 3008 - None, # 3009 - None, # 3010 - None, # 3011 - None, # 3012 - None, # 3013 - None, # 3014 - None, # 3015 - None, # 3016 - None, # 3017 - None, # 3018 - None, # 3019 - None, # 3020 - None, # 3021 - None, # 3022 - None, # 3023 - None, # 3024 - None, # 3025 - None, # 3026 - None, # 3027 - None, # 3028 - None, # 3029 - None, # 3030 - None, # 3031 - None, # 3032 - None, # 3033 - None, # 3034 - None, # 3035 - None, # 3036 - None, # 3037 - None, # 3038 - None, # 3039 - None, # 3040 - None, # 3041 - None, # 3042 - None, # 3043 - None, # 3044 - None, # 3045 - None, # 3046 - None, # 3047 - None, # 3048 - None, # 3049 - None, # 3050 - None, # 3051 - None, # 3052 - None, # 3053 - None, # 3054 - None, # 3055 - None, # 3056 - None, # 3057 - None, # 3058 - None, # 3059 - None, # 3060 - None, # 3061 - None, # 3062 - None, # 3063 - None, # 3064 - None, # 3065 - None, # 3066 - None, # 3067 - None, # 3068 - None, # 3069 - None, # 3070 - None, # 3071 - None, # 3072 - None, # 3073 - None, # 3074 - None, # 3075 - None, # 3076 - None, # 3077 - None, # 3078 - None, # 3079 - None, # 3080 - None, # 3081 - None, # 3082 - None, # 3083 - None, # 3084 - None, # 3085 - None, # 3086 - None, # 3087 - None, # 3088 - None, # 3089 - None, # 3090 - None, # 3091 - None, # 3092 - None, # 3093 - None, # 3094 - None, # 3095 - None, # 3096 - None, # 3097 - None, # 3098 - None, # 3099 - None, # 3100 - None, # 3101 - None, # 3102 - None, # 3103 - None, # 3104 - None, # 3105 - None, # 3106 - None, # 3107 - None, # 3108 - None, # 3109 - None, # 3110 - None, # 3111 - None, # 3112 - None, # 3113 - None, # 3114 - None, # 3115 - None, # 3116 - None, # 3117 - None, # 3118 - None, # 3119 - None, # 3120 - None, # 3121 - None, # 3122 - None, # 3123 - None, # 3124 - None, # 3125 - None, # 3126 - None, # 3127 - None, # 3128 - None, # 3129 - None, # 3130 - None, # 3131 - None, # 3132 - None, # 3133 - None, # 3134 - None, # 3135 - None, # 3136 - None, # 3137 - None, # 3138 - None, # 3139 - None, # 3140 - None, # 3141 - None, # 3142 - None, # 3143 - None, # 3144 - None, # 3145 - None, # 3146 - None, # 3147 - None, # 3148 - None, # 3149 - None, # 3150 - None, # 3151 - None, # 3152 - None, # 3153 - None, # 3154 - None, # 3155 - None, # 3156 - None, # 3157 - None, # 3158 - None, # 3159 - None, # 3160 - None, # 3161 - None, # 3162 - None, # 3163 - None, # 3164 - None, # 3165 - None, # 3166 - None, # 3167 - None, # 3168 - None, # 3169 - None, # 3170 - None, # 3171 - None, # 3172 - None, # 3173 - None, # 3174 - None, # 3175 - None, # 3176 - None, # 3177 - None, # 3178 - None, # 3179 - None, # 3180 - None, # 3181 - None, # 3182 - None, # 3183 - None, # 3184 - None, # 3185 - None, # 3186 - None, # 3187 - None, # 3188 - None, # 3189 - None, # 3190 - None, # 3191 - None, # 3192 - None, # 3193 - None, # 3194 - None, # 3195 - None, # 3196 - None, # 3197 - None, # 3198 - None, # 3199 - None, # 3200 - None, # 3201 - None, # 3202 - None, # 3203 - None, # 3204 - None, # 3205 - None, # 3206 - None, # 3207 - None, # 3208 - None, # 3209 - None, # 3210 - None, # 3211 - None, # 3212 - None, # 3213 - None, # 3214 - None, # 3215 - None, # 3216 - None, # 3217 - None, # 3218 - None, # 3219 - None, # 3220 - None, # 3221 - None, # 3222 - None, # 3223 - None, # 3224 - None, # 3225 - None, # 3226 - None, # 3227 - None, # 3228 - None, # 3229 - None, # 3230 - None, # 3231 - None, # 3232 - None, # 3233 - None, # 3234 - None, # 3235 - None, # 3236 - None, # 3237 - None, # 3238 - None, # 3239 - None, # 3240 - None, # 3241 - None, # 3242 - None, # 3243 - None, # 3244 - None, # 3245 - None, # 3246 - None, # 3247 - None, # 3248 - None, # 3249 - None, # 3250 - None, # 3251 - None, # 3252 - None, # 3253 - None, # 3254 - None, # 3255 - None, # 3256 - None, # 3257 - None, # 3258 - None, # 3259 - None, # 3260 - None, # 3261 - None, # 3262 - None, # 3263 - None, # 3264 - None, # 3265 - None, # 3266 - None, # 3267 - None, # 3268 - None, # 3269 - None, # 3270 - None, # 3271 - None, # 3272 - None, # 3273 - None, # 3274 - None, # 3275 - None, # 3276 - None, # 3277 - None, # 3278 - None, # 3279 - None, # 3280 - None, # 3281 - None, # 3282 - None, # 3283 - None, # 3284 - None, # 3285 - None, # 3286 - None, # 3287 - None, # 3288 - None, # 3289 - None, # 3290 - None, # 3291 - None, # 3292 - None, # 3293 - None, # 3294 - None, # 3295 - None, # 3296 - None, # 3297 - None, # 3298 - None, # 3299 - None, # 3300 - None, # 3301 - None, # 3302 - None, # 3303 - None, # 3304 - None, # 3305 - None, # 3306 - None, # 3307 - None, # 3308 - None, # 3309 - None, # 3310 - None, # 3311 - None, # 3312 - None, # 3313 - None, # 3314 - None, # 3315 - None, # 3316 - None, # 3317 - None, # 3318 - None, # 3319 - None, # 3320 - None, # 3321 - None, # 3322 - None, # 3323 - None, # 3324 - None, # 3325 - None, # 3326 - None, # 3327 - None, # 3328 - ( - 3329, - TType.I16, - "executionVersion", - None, - None, - ), # 3329 + None, # 0 + (1, TType.STRING, 'guid', 'BINARY', None, ), # 1 + (2, TType.STRING, 'secret', 'BINARY', None, ), # 2 + None, # 3 + None, # 4 + None, # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + None, # 1281 + None, # 1282 + None, # 1283 + None, # 1284 + None, # 1285 + None, # 1286 + None, # 1287 + None, # 1288 + None, # 1289 + None, # 1290 + None, # 1291 + None, # 1292 + None, # 1293 + None, # 1294 + None, # 1295 + None, # 1296 + None, # 1297 + None, # 1298 + None, # 1299 + None, # 1300 + None, # 1301 + None, # 1302 + None, # 1303 + None, # 1304 + None, # 1305 + None, # 1306 + None, # 1307 + None, # 1308 + None, # 1309 + None, # 1310 + None, # 1311 + None, # 1312 + None, # 1313 + None, # 1314 + None, # 1315 + None, # 1316 + None, # 1317 + None, # 1318 + None, # 1319 + None, # 1320 + None, # 1321 + None, # 1322 + None, # 1323 + None, # 1324 + None, # 1325 + None, # 1326 + None, # 1327 + None, # 1328 + None, # 1329 + None, # 1330 + None, # 1331 + None, # 1332 + None, # 1333 + None, # 1334 + None, # 1335 + None, # 1336 + None, # 1337 + None, # 1338 + None, # 1339 + None, # 1340 + None, # 1341 + None, # 1342 + None, # 1343 + None, # 1344 + None, # 1345 + None, # 1346 + None, # 1347 + None, # 1348 + None, # 1349 + None, # 1350 + None, # 1351 + None, # 1352 + None, # 1353 + None, # 1354 + None, # 1355 + None, # 1356 + None, # 1357 + None, # 1358 + None, # 1359 + None, # 1360 + None, # 1361 + None, # 1362 + None, # 1363 + None, # 1364 + None, # 1365 + None, # 1366 + None, # 1367 + None, # 1368 + None, # 1369 + None, # 1370 + None, # 1371 + None, # 1372 + None, # 1373 + None, # 1374 + None, # 1375 + None, # 1376 + None, # 1377 + None, # 1378 + None, # 1379 + None, # 1380 + None, # 1381 + None, # 1382 + None, # 1383 + None, # 1384 + None, # 1385 + None, # 1386 + None, # 1387 + None, # 1388 + None, # 1389 + None, # 1390 + None, # 1391 + None, # 1392 + None, # 1393 + None, # 1394 + None, # 1395 + None, # 1396 + None, # 1397 + None, # 1398 + None, # 1399 + None, # 1400 + None, # 1401 + None, # 1402 + None, # 1403 + None, # 1404 + None, # 1405 + None, # 1406 + None, # 1407 + None, # 1408 + None, # 1409 + None, # 1410 + None, # 1411 + None, # 1412 + None, # 1413 + None, # 1414 + None, # 1415 + None, # 1416 + None, # 1417 + None, # 1418 + None, # 1419 + None, # 1420 + None, # 1421 + None, # 1422 + None, # 1423 + None, # 1424 + None, # 1425 + None, # 1426 + None, # 1427 + None, # 1428 + None, # 1429 + None, # 1430 + None, # 1431 + None, # 1432 + None, # 1433 + None, # 1434 + None, # 1435 + None, # 1436 + None, # 1437 + None, # 1438 + None, # 1439 + None, # 1440 + None, # 1441 + None, # 1442 + None, # 1443 + None, # 1444 + None, # 1445 + None, # 1446 + None, # 1447 + None, # 1448 + None, # 1449 + None, # 1450 + None, # 1451 + None, # 1452 + None, # 1453 + None, # 1454 + None, # 1455 + None, # 1456 + None, # 1457 + None, # 1458 + None, # 1459 + None, # 1460 + None, # 1461 + None, # 1462 + None, # 1463 + None, # 1464 + None, # 1465 + None, # 1466 + None, # 1467 + None, # 1468 + None, # 1469 + None, # 1470 + None, # 1471 + None, # 1472 + None, # 1473 + None, # 1474 + None, # 1475 + None, # 1476 + None, # 1477 + None, # 1478 + None, # 1479 + None, # 1480 + None, # 1481 + None, # 1482 + None, # 1483 + None, # 1484 + None, # 1485 + None, # 1486 + None, # 1487 + None, # 1488 + None, # 1489 + None, # 1490 + None, # 1491 + None, # 1492 + None, # 1493 + None, # 1494 + None, # 1495 + None, # 1496 + None, # 1497 + None, # 1498 + None, # 1499 + None, # 1500 + None, # 1501 + None, # 1502 + None, # 1503 + None, # 1504 + None, # 1505 + None, # 1506 + None, # 1507 + None, # 1508 + None, # 1509 + None, # 1510 + None, # 1511 + None, # 1512 + None, # 1513 + None, # 1514 + None, # 1515 + None, # 1516 + None, # 1517 + None, # 1518 + None, # 1519 + None, # 1520 + None, # 1521 + None, # 1522 + None, # 1523 + None, # 1524 + None, # 1525 + None, # 1526 + None, # 1527 + None, # 1528 + None, # 1529 + None, # 1530 + None, # 1531 + None, # 1532 + None, # 1533 + None, # 1534 + None, # 1535 + None, # 1536 + None, # 1537 + None, # 1538 + None, # 1539 + None, # 1540 + None, # 1541 + None, # 1542 + None, # 1543 + None, # 1544 + None, # 1545 + None, # 1546 + None, # 1547 + None, # 1548 + None, # 1549 + None, # 1550 + None, # 1551 + None, # 1552 + None, # 1553 + None, # 1554 + None, # 1555 + None, # 1556 + None, # 1557 + None, # 1558 + None, # 1559 + None, # 1560 + None, # 1561 + None, # 1562 + None, # 1563 + None, # 1564 + None, # 1565 + None, # 1566 + None, # 1567 + None, # 1568 + None, # 1569 + None, # 1570 + None, # 1571 + None, # 1572 + None, # 1573 + None, # 1574 + None, # 1575 + None, # 1576 + None, # 1577 + None, # 1578 + None, # 1579 + None, # 1580 + None, # 1581 + None, # 1582 + None, # 1583 + None, # 1584 + None, # 1585 + None, # 1586 + None, # 1587 + None, # 1588 + None, # 1589 + None, # 1590 + None, # 1591 + None, # 1592 + None, # 1593 + None, # 1594 + None, # 1595 + None, # 1596 + None, # 1597 + None, # 1598 + None, # 1599 + None, # 1600 + None, # 1601 + None, # 1602 + None, # 1603 + None, # 1604 + None, # 1605 + None, # 1606 + None, # 1607 + None, # 1608 + None, # 1609 + None, # 1610 + None, # 1611 + None, # 1612 + None, # 1613 + None, # 1614 + None, # 1615 + None, # 1616 + None, # 1617 + None, # 1618 + None, # 1619 + None, # 1620 + None, # 1621 + None, # 1622 + None, # 1623 + None, # 1624 + None, # 1625 + None, # 1626 + None, # 1627 + None, # 1628 + None, # 1629 + None, # 1630 + None, # 1631 + None, # 1632 + None, # 1633 + None, # 1634 + None, # 1635 + None, # 1636 + None, # 1637 + None, # 1638 + None, # 1639 + None, # 1640 + None, # 1641 + None, # 1642 + None, # 1643 + None, # 1644 + None, # 1645 + None, # 1646 + None, # 1647 + None, # 1648 + None, # 1649 + None, # 1650 + None, # 1651 + None, # 1652 + None, # 1653 + None, # 1654 + None, # 1655 + None, # 1656 + None, # 1657 + None, # 1658 + None, # 1659 + None, # 1660 + None, # 1661 + None, # 1662 + None, # 1663 + None, # 1664 + None, # 1665 + None, # 1666 + None, # 1667 + None, # 1668 + None, # 1669 + None, # 1670 + None, # 1671 + None, # 1672 + None, # 1673 + None, # 1674 + None, # 1675 + None, # 1676 + None, # 1677 + None, # 1678 + None, # 1679 + None, # 1680 + None, # 1681 + None, # 1682 + None, # 1683 + None, # 1684 + None, # 1685 + None, # 1686 + None, # 1687 + None, # 1688 + None, # 1689 + None, # 1690 + None, # 1691 + None, # 1692 + None, # 1693 + None, # 1694 + None, # 1695 + None, # 1696 + None, # 1697 + None, # 1698 + None, # 1699 + None, # 1700 + None, # 1701 + None, # 1702 + None, # 1703 + None, # 1704 + None, # 1705 + None, # 1706 + None, # 1707 + None, # 1708 + None, # 1709 + None, # 1710 + None, # 1711 + None, # 1712 + None, # 1713 + None, # 1714 + None, # 1715 + None, # 1716 + None, # 1717 + None, # 1718 + None, # 1719 + None, # 1720 + None, # 1721 + None, # 1722 + None, # 1723 + None, # 1724 + None, # 1725 + None, # 1726 + None, # 1727 + None, # 1728 + None, # 1729 + None, # 1730 + None, # 1731 + None, # 1732 + None, # 1733 + None, # 1734 + None, # 1735 + None, # 1736 + None, # 1737 + None, # 1738 + None, # 1739 + None, # 1740 + None, # 1741 + None, # 1742 + None, # 1743 + None, # 1744 + None, # 1745 + None, # 1746 + None, # 1747 + None, # 1748 + None, # 1749 + None, # 1750 + None, # 1751 + None, # 1752 + None, # 1753 + None, # 1754 + None, # 1755 + None, # 1756 + None, # 1757 + None, # 1758 + None, # 1759 + None, # 1760 + None, # 1761 + None, # 1762 + None, # 1763 + None, # 1764 + None, # 1765 + None, # 1766 + None, # 1767 + None, # 1768 + None, # 1769 + None, # 1770 + None, # 1771 + None, # 1772 + None, # 1773 + None, # 1774 + None, # 1775 + None, # 1776 + None, # 1777 + None, # 1778 + None, # 1779 + None, # 1780 + None, # 1781 + None, # 1782 + None, # 1783 + None, # 1784 + None, # 1785 + None, # 1786 + None, # 1787 + None, # 1788 + None, # 1789 + None, # 1790 + None, # 1791 + None, # 1792 + None, # 1793 + None, # 1794 + None, # 1795 + None, # 1796 + None, # 1797 + None, # 1798 + None, # 1799 + None, # 1800 + None, # 1801 + None, # 1802 + None, # 1803 + None, # 1804 + None, # 1805 + None, # 1806 + None, # 1807 + None, # 1808 + None, # 1809 + None, # 1810 + None, # 1811 + None, # 1812 + None, # 1813 + None, # 1814 + None, # 1815 + None, # 1816 + None, # 1817 + None, # 1818 + None, # 1819 + None, # 1820 + None, # 1821 + None, # 1822 + None, # 1823 + None, # 1824 + None, # 1825 + None, # 1826 + None, # 1827 + None, # 1828 + None, # 1829 + None, # 1830 + None, # 1831 + None, # 1832 + None, # 1833 + None, # 1834 + None, # 1835 + None, # 1836 + None, # 1837 + None, # 1838 + None, # 1839 + None, # 1840 + None, # 1841 + None, # 1842 + None, # 1843 + None, # 1844 + None, # 1845 + None, # 1846 + None, # 1847 + None, # 1848 + None, # 1849 + None, # 1850 + None, # 1851 + None, # 1852 + None, # 1853 + None, # 1854 + None, # 1855 + None, # 1856 + None, # 1857 + None, # 1858 + None, # 1859 + None, # 1860 + None, # 1861 + None, # 1862 + None, # 1863 + None, # 1864 + None, # 1865 + None, # 1866 + None, # 1867 + None, # 1868 + None, # 1869 + None, # 1870 + None, # 1871 + None, # 1872 + None, # 1873 + None, # 1874 + None, # 1875 + None, # 1876 + None, # 1877 + None, # 1878 + None, # 1879 + None, # 1880 + None, # 1881 + None, # 1882 + None, # 1883 + None, # 1884 + None, # 1885 + None, # 1886 + None, # 1887 + None, # 1888 + None, # 1889 + None, # 1890 + None, # 1891 + None, # 1892 + None, # 1893 + None, # 1894 + None, # 1895 + None, # 1896 + None, # 1897 + None, # 1898 + None, # 1899 + None, # 1900 + None, # 1901 + None, # 1902 + None, # 1903 + None, # 1904 + None, # 1905 + None, # 1906 + None, # 1907 + None, # 1908 + None, # 1909 + None, # 1910 + None, # 1911 + None, # 1912 + None, # 1913 + None, # 1914 + None, # 1915 + None, # 1916 + None, # 1917 + None, # 1918 + None, # 1919 + None, # 1920 + None, # 1921 + None, # 1922 + None, # 1923 + None, # 1924 + None, # 1925 + None, # 1926 + None, # 1927 + None, # 1928 + None, # 1929 + None, # 1930 + None, # 1931 + None, # 1932 + None, # 1933 + None, # 1934 + None, # 1935 + None, # 1936 + None, # 1937 + None, # 1938 + None, # 1939 + None, # 1940 + None, # 1941 + None, # 1942 + None, # 1943 + None, # 1944 + None, # 1945 + None, # 1946 + None, # 1947 + None, # 1948 + None, # 1949 + None, # 1950 + None, # 1951 + None, # 1952 + None, # 1953 + None, # 1954 + None, # 1955 + None, # 1956 + None, # 1957 + None, # 1958 + None, # 1959 + None, # 1960 + None, # 1961 + None, # 1962 + None, # 1963 + None, # 1964 + None, # 1965 + None, # 1966 + None, # 1967 + None, # 1968 + None, # 1969 + None, # 1970 + None, # 1971 + None, # 1972 + None, # 1973 + None, # 1974 + None, # 1975 + None, # 1976 + None, # 1977 + None, # 1978 + None, # 1979 + None, # 1980 + None, # 1981 + None, # 1982 + None, # 1983 + None, # 1984 + None, # 1985 + None, # 1986 + None, # 1987 + None, # 1988 + None, # 1989 + None, # 1990 + None, # 1991 + None, # 1992 + None, # 1993 + None, # 1994 + None, # 1995 + None, # 1996 + None, # 1997 + None, # 1998 + None, # 1999 + None, # 2000 + None, # 2001 + None, # 2002 + None, # 2003 + None, # 2004 + None, # 2005 + None, # 2006 + None, # 2007 + None, # 2008 + None, # 2009 + None, # 2010 + None, # 2011 + None, # 2012 + None, # 2013 + None, # 2014 + None, # 2015 + None, # 2016 + None, # 2017 + None, # 2018 + None, # 2019 + None, # 2020 + None, # 2021 + None, # 2022 + None, # 2023 + None, # 2024 + None, # 2025 + None, # 2026 + None, # 2027 + None, # 2028 + None, # 2029 + None, # 2030 + None, # 2031 + None, # 2032 + None, # 2033 + None, # 2034 + None, # 2035 + None, # 2036 + None, # 2037 + None, # 2038 + None, # 2039 + None, # 2040 + None, # 2041 + None, # 2042 + None, # 2043 + None, # 2044 + None, # 2045 + None, # 2046 + None, # 2047 + None, # 2048 + None, # 2049 + None, # 2050 + None, # 2051 + None, # 2052 + None, # 2053 + None, # 2054 + None, # 2055 + None, # 2056 + None, # 2057 + None, # 2058 + None, # 2059 + None, # 2060 + None, # 2061 + None, # 2062 + None, # 2063 + None, # 2064 + None, # 2065 + None, # 2066 + None, # 2067 + None, # 2068 + None, # 2069 + None, # 2070 + None, # 2071 + None, # 2072 + None, # 2073 + None, # 2074 + None, # 2075 + None, # 2076 + None, # 2077 + None, # 2078 + None, # 2079 + None, # 2080 + None, # 2081 + None, # 2082 + None, # 2083 + None, # 2084 + None, # 2085 + None, # 2086 + None, # 2087 + None, # 2088 + None, # 2089 + None, # 2090 + None, # 2091 + None, # 2092 + None, # 2093 + None, # 2094 + None, # 2095 + None, # 2096 + None, # 2097 + None, # 2098 + None, # 2099 + None, # 2100 + None, # 2101 + None, # 2102 + None, # 2103 + None, # 2104 + None, # 2105 + None, # 2106 + None, # 2107 + None, # 2108 + None, # 2109 + None, # 2110 + None, # 2111 + None, # 2112 + None, # 2113 + None, # 2114 + None, # 2115 + None, # 2116 + None, # 2117 + None, # 2118 + None, # 2119 + None, # 2120 + None, # 2121 + None, # 2122 + None, # 2123 + None, # 2124 + None, # 2125 + None, # 2126 + None, # 2127 + None, # 2128 + None, # 2129 + None, # 2130 + None, # 2131 + None, # 2132 + None, # 2133 + None, # 2134 + None, # 2135 + None, # 2136 + None, # 2137 + None, # 2138 + None, # 2139 + None, # 2140 + None, # 2141 + None, # 2142 + None, # 2143 + None, # 2144 + None, # 2145 + None, # 2146 + None, # 2147 + None, # 2148 + None, # 2149 + None, # 2150 + None, # 2151 + None, # 2152 + None, # 2153 + None, # 2154 + None, # 2155 + None, # 2156 + None, # 2157 + None, # 2158 + None, # 2159 + None, # 2160 + None, # 2161 + None, # 2162 + None, # 2163 + None, # 2164 + None, # 2165 + None, # 2166 + None, # 2167 + None, # 2168 + None, # 2169 + None, # 2170 + None, # 2171 + None, # 2172 + None, # 2173 + None, # 2174 + None, # 2175 + None, # 2176 + None, # 2177 + None, # 2178 + None, # 2179 + None, # 2180 + None, # 2181 + None, # 2182 + None, # 2183 + None, # 2184 + None, # 2185 + None, # 2186 + None, # 2187 + None, # 2188 + None, # 2189 + None, # 2190 + None, # 2191 + None, # 2192 + None, # 2193 + None, # 2194 + None, # 2195 + None, # 2196 + None, # 2197 + None, # 2198 + None, # 2199 + None, # 2200 + None, # 2201 + None, # 2202 + None, # 2203 + None, # 2204 + None, # 2205 + None, # 2206 + None, # 2207 + None, # 2208 + None, # 2209 + None, # 2210 + None, # 2211 + None, # 2212 + None, # 2213 + None, # 2214 + None, # 2215 + None, # 2216 + None, # 2217 + None, # 2218 + None, # 2219 + None, # 2220 + None, # 2221 + None, # 2222 + None, # 2223 + None, # 2224 + None, # 2225 + None, # 2226 + None, # 2227 + None, # 2228 + None, # 2229 + None, # 2230 + None, # 2231 + None, # 2232 + None, # 2233 + None, # 2234 + None, # 2235 + None, # 2236 + None, # 2237 + None, # 2238 + None, # 2239 + None, # 2240 + None, # 2241 + None, # 2242 + None, # 2243 + None, # 2244 + None, # 2245 + None, # 2246 + None, # 2247 + None, # 2248 + None, # 2249 + None, # 2250 + None, # 2251 + None, # 2252 + None, # 2253 + None, # 2254 + None, # 2255 + None, # 2256 + None, # 2257 + None, # 2258 + None, # 2259 + None, # 2260 + None, # 2261 + None, # 2262 + None, # 2263 + None, # 2264 + None, # 2265 + None, # 2266 + None, # 2267 + None, # 2268 + None, # 2269 + None, # 2270 + None, # 2271 + None, # 2272 + None, # 2273 + None, # 2274 + None, # 2275 + None, # 2276 + None, # 2277 + None, # 2278 + None, # 2279 + None, # 2280 + None, # 2281 + None, # 2282 + None, # 2283 + None, # 2284 + None, # 2285 + None, # 2286 + None, # 2287 + None, # 2288 + None, # 2289 + None, # 2290 + None, # 2291 + None, # 2292 + None, # 2293 + None, # 2294 + None, # 2295 + None, # 2296 + None, # 2297 + None, # 2298 + None, # 2299 + None, # 2300 + None, # 2301 + None, # 2302 + None, # 2303 + None, # 2304 + None, # 2305 + None, # 2306 + None, # 2307 + None, # 2308 + None, # 2309 + None, # 2310 + None, # 2311 + None, # 2312 + None, # 2313 + None, # 2314 + None, # 2315 + None, # 2316 + None, # 2317 + None, # 2318 + None, # 2319 + None, # 2320 + None, # 2321 + None, # 2322 + None, # 2323 + None, # 2324 + None, # 2325 + None, # 2326 + None, # 2327 + None, # 2328 + None, # 2329 + None, # 2330 + None, # 2331 + None, # 2332 + None, # 2333 + None, # 2334 + None, # 2335 + None, # 2336 + None, # 2337 + None, # 2338 + None, # 2339 + None, # 2340 + None, # 2341 + None, # 2342 + None, # 2343 + None, # 2344 + None, # 2345 + None, # 2346 + None, # 2347 + None, # 2348 + None, # 2349 + None, # 2350 + None, # 2351 + None, # 2352 + None, # 2353 + None, # 2354 + None, # 2355 + None, # 2356 + None, # 2357 + None, # 2358 + None, # 2359 + None, # 2360 + None, # 2361 + None, # 2362 + None, # 2363 + None, # 2364 + None, # 2365 + None, # 2366 + None, # 2367 + None, # 2368 + None, # 2369 + None, # 2370 + None, # 2371 + None, # 2372 + None, # 2373 + None, # 2374 + None, # 2375 + None, # 2376 + None, # 2377 + None, # 2378 + None, # 2379 + None, # 2380 + None, # 2381 + None, # 2382 + None, # 2383 + None, # 2384 + None, # 2385 + None, # 2386 + None, # 2387 + None, # 2388 + None, # 2389 + None, # 2390 + None, # 2391 + None, # 2392 + None, # 2393 + None, # 2394 + None, # 2395 + None, # 2396 + None, # 2397 + None, # 2398 + None, # 2399 + None, # 2400 + None, # 2401 + None, # 2402 + None, # 2403 + None, # 2404 + None, # 2405 + None, # 2406 + None, # 2407 + None, # 2408 + None, # 2409 + None, # 2410 + None, # 2411 + None, # 2412 + None, # 2413 + None, # 2414 + None, # 2415 + None, # 2416 + None, # 2417 + None, # 2418 + None, # 2419 + None, # 2420 + None, # 2421 + None, # 2422 + None, # 2423 + None, # 2424 + None, # 2425 + None, # 2426 + None, # 2427 + None, # 2428 + None, # 2429 + None, # 2430 + None, # 2431 + None, # 2432 + None, # 2433 + None, # 2434 + None, # 2435 + None, # 2436 + None, # 2437 + None, # 2438 + None, # 2439 + None, # 2440 + None, # 2441 + None, # 2442 + None, # 2443 + None, # 2444 + None, # 2445 + None, # 2446 + None, # 2447 + None, # 2448 + None, # 2449 + None, # 2450 + None, # 2451 + None, # 2452 + None, # 2453 + None, # 2454 + None, # 2455 + None, # 2456 + None, # 2457 + None, # 2458 + None, # 2459 + None, # 2460 + None, # 2461 + None, # 2462 + None, # 2463 + None, # 2464 + None, # 2465 + None, # 2466 + None, # 2467 + None, # 2468 + None, # 2469 + None, # 2470 + None, # 2471 + None, # 2472 + None, # 2473 + None, # 2474 + None, # 2475 + None, # 2476 + None, # 2477 + None, # 2478 + None, # 2479 + None, # 2480 + None, # 2481 + None, # 2482 + None, # 2483 + None, # 2484 + None, # 2485 + None, # 2486 + None, # 2487 + None, # 2488 + None, # 2489 + None, # 2490 + None, # 2491 + None, # 2492 + None, # 2493 + None, # 2494 + None, # 2495 + None, # 2496 + None, # 2497 + None, # 2498 + None, # 2499 + None, # 2500 + None, # 2501 + None, # 2502 + None, # 2503 + None, # 2504 + None, # 2505 + None, # 2506 + None, # 2507 + None, # 2508 + None, # 2509 + None, # 2510 + None, # 2511 + None, # 2512 + None, # 2513 + None, # 2514 + None, # 2515 + None, # 2516 + None, # 2517 + None, # 2518 + None, # 2519 + None, # 2520 + None, # 2521 + None, # 2522 + None, # 2523 + None, # 2524 + None, # 2525 + None, # 2526 + None, # 2527 + None, # 2528 + None, # 2529 + None, # 2530 + None, # 2531 + None, # 2532 + None, # 2533 + None, # 2534 + None, # 2535 + None, # 2536 + None, # 2537 + None, # 2538 + None, # 2539 + None, # 2540 + None, # 2541 + None, # 2542 + None, # 2543 + None, # 2544 + None, # 2545 + None, # 2546 + None, # 2547 + None, # 2548 + None, # 2549 + None, # 2550 + None, # 2551 + None, # 2552 + None, # 2553 + None, # 2554 + None, # 2555 + None, # 2556 + None, # 2557 + None, # 2558 + None, # 2559 + None, # 2560 + None, # 2561 + None, # 2562 + None, # 2563 + None, # 2564 + None, # 2565 + None, # 2566 + None, # 2567 + None, # 2568 + None, # 2569 + None, # 2570 + None, # 2571 + None, # 2572 + None, # 2573 + None, # 2574 + None, # 2575 + None, # 2576 + None, # 2577 + None, # 2578 + None, # 2579 + None, # 2580 + None, # 2581 + None, # 2582 + None, # 2583 + None, # 2584 + None, # 2585 + None, # 2586 + None, # 2587 + None, # 2588 + None, # 2589 + None, # 2590 + None, # 2591 + None, # 2592 + None, # 2593 + None, # 2594 + None, # 2595 + None, # 2596 + None, # 2597 + None, # 2598 + None, # 2599 + None, # 2600 + None, # 2601 + None, # 2602 + None, # 2603 + None, # 2604 + None, # 2605 + None, # 2606 + None, # 2607 + None, # 2608 + None, # 2609 + None, # 2610 + None, # 2611 + None, # 2612 + None, # 2613 + None, # 2614 + None, # 2615 + None, # 2616 + None, # 2617 + None, # 2618 + None, # 2619 + None, # 2620 + None, # 2621 + None, # 2622 + None, # 2623 + None, # 2624 + None, # 2625 + None, # 2626 + None, # 2627 + None, # 2628 + None, # 2629 + None, # 2630 + None, # 2631 + None, # 2632 + None, # 2633 + None, # 2634 + None, # 2635 + None, # 2636 + None, # 2637 + None, # 2638 + None, # 2639 + None, # 2640 + None, # 2641 + None, # 2642 + None, # 2643 + None, # 2644 + None, # 2645 + None, # 2646 + None, # 2647 + None, # 2648 + None, # 2649 + None, # 2650 + None, # 2651 + None, # 2652 + None, # 2653 + None, # 2654 + None, # 2655 + None, # 2656 + None, # 2657 + None, # 2658 + None, # 2659 + None, # 2660 + None, # 2661 + None, # 2662 + None, # 2663 + None, # 2664 + None, # 2665 + None, # 2666 + None, # 2667 + None, # 2668 + None, # 2669 + None, # 2670 + None, # 2671 + None, # 2672 + None, # 2673 + None, # 2674 + None, # 2675 + None, # 2676 + None, # 2677 + None, # 2678 + None, # 2679 + None, # 2680 + None, # 2681 + None, # 2682 + None, # 2683 + None, # 2684 + None, # 2685 + None, # 2686 + None, # 2687 + None, # 2688 + None, # 2689 + None, # 2690 + None, # 2691 + None, # 2692 + None, # 2693 + None, # 2694 + None, # 2695 + None, # 2696 + None, # 2697 + None, # 2698 + None, # 2699 + None, # 2700 + None, # 2701 + None, # 2702 + None, # 2703 + None, # 2704 + None, # 2705 + None, # 2706 + None, # 2707 + None, # 2708 + None, # 2709 + None, # 2710 + None, # 2711 + None, # 2712 + None, # 2713 + None, # 2714 + None, # 2715 + None, # 2716 + None, # 2717 + None, # 2718 + None, # 2719 + None, # 2720 + None, # 2721 + None, # 2722 + None, # 2723 + None, # 2724 + None, # 2725 + None, # 2726 + None, # 2727 + None, # 2728 + None, # 2729 + None, # 2730 + None, # 2731 + None, # 2732 + None, # 2733 + None, # 2734 + None, # 2735 + None, # 2736 + None, # 2737 + None, # 2738 + None, # 2739 + None, # 2740 + None, # 2741 + None, # 2742 + None, # 2743 + None, # 2744 + None, # 2745 + None, # 2746 + None, # 2747 + None, # 2748 + None, # 2749 + None, # 2750 + None, # 2751 + None, # 2752 + None, # 2753 + None, # 2754 + None, # 2755 + None, # 2756 + None, # 2757 + None, # 2758 + None, # 2759 + None, # 2760 + None, # 2761 + None, # 2762 + None, # 2763 + None, # 2764 + None, # 2765 + None, # 2766 + None, # 2767 + None, # 2768 + None, # 2769 + None, # 2770 + None, # 2771 + None, # 2772 + None, # 2773 + None, # 2774 + None, # 2775 + None, # 2776 + None, # 2777 + None, # 2778 + None, # 2779 + None, # 2780 + None, # 2781 + None, # 2782 + None, # 2783 + None, # 2784 + None, # 2785 + None, # 2786 + None, # 2787 + None, # 2788 + None, # 2789 + None, # 2790 + None, # 2791 + None, # 2792 + None, # 2793 + None, # 2794 + None, # 2795 + None, # 2796 + None, # 2797 + None, # 2798 + None, # 2799 + None, # 2800 + None, # 2801 + None, # 2802 + None, # 2803 + None, # 2804 + None, # 2805 + None, # 2806 + None, # 2807 + None, # 2808 + None, # 2809 + None, # 2810 + None, # 2811 + None, # 2812 + None, # 2813 + None, # 2814 + None, # 2815 + None, # 2816 + None, # 2817 + None, # 2818 + None, # 2819 + None, # 2820 + None, # 2821 + None, # 2822 + None, # 2823 + None, # 2824 + None, # 2825 + None, # 2826 + None, # 2827 + None, # 2828 + None, # 2829 + None, # 2830 + None, # 2831 + None, # 2832 + None, # 2833 + None, # 2834 + None, # 2835 + None, # 2836 + None, # 2837 + None, # 2838 + None, # 2839 + None, # 2840 + None, # 2841 + None, # 2842 + None, # 2843 + None, # 2844 + None, # 2845 + None, # 2846 + None, # 2847 + None, # 2848 + None, # 2849 + None, # 2850 + None, # 2851 + None, # 2852 + None, # 2853 + None, # 2854 + None, # 2855 + None, # 2856 + None, # 2857 + None, # 2858 + None, # 2859 + None, # 2860 + None, # 2861 + None, # 2862 + None, # 2863 + None, # 2864 + None, # 2865 + None, # 2866 + None, # 2867 + None, # 2868 + None, # 2869 + None, # 2870 + None, # 2871 + None, # 2872 + None, # 2873 + None, # 2874 + None, # 2875 + None, # 2876 + None, # 2877 + None, # 2878 + None, # 2879 + None, # 2880 + None, # 2881 + None, # 2882 + None, # 2883 + None, # 2884 + None, # 2885 + None, # 2886 + None, # 2887 + None, # 2888 + None, # 2889 + None, # 2890 + None, # 2891 + None, # 2892 + None, # 2893 + None, # 2894 + None, # 2895 + None, # 2896 + None, # 2897 + None, # 2898 + None, # 2899 + None, # 2900 + None, # 2901 + None, # 2902 + None, # 2903 + None, # 2904 + None, # 2905 + None, # 2906 + None, # 2907 + None, # 2908 + None, # 2909 + None, # 2910 + None, # 2911 + None, # 2912 + None, # 2913 + None, # 2914 + None, # 2915 + None, # 2916 + None, # 2917 + None, # 2918 + None, # 2919 + None, # 2920 + None, # 2921 + None, # 2922 + None, # 2923 + None, # 2924 + None, # 2925 + None, # 2926 + None, # 2927 + None, # 2928 + None, # 2929 + None, # 2930 + None, # 2931 + None, # 2932 + None, # 2933 + None, # 2934 + None, # 2935 + None, # 2936 + None, # 2937 + None, # 2938 + None, # 2939 + None, # 2940 + None, # 2941 + None, # 2942 + None, # 2943 + None, # 2944 + None, # 2945 + None, # 2946 + None, # 2947 + None, # 2948 + None, # 2949 + None, # 2950 + None, # 2951 + None, # 2952 + None, # 2953 + None, # 2954 + None, # 2955 + None, # 2956 + None, # 2957 + None, # 2958 + None, # 2959 + None, # 2960 + None, # 2961 + None, # 2962 + None, # 2963 + None, # 2964 + None, # 2965 + None, # 2966 + None, # 2967 + None, # 2968 + None, # 2969 + None, # 2970 + None, # 2971 + None, # 2972 + None, # 2973 + None, # 2974 + None, # 2975 + None, # 2976 + None, # 2977 + None, # 2978 + None, # 2979 + None, # 2980 + None, # 2981 + None, # 2982 + None, # 2983 + None, # 2984 + None, # 2985 + None, # 2986 + None, # 2987 + None, # 2988 + None, # 2989 + None, # 2990 + None, # 2991 + None, # 2992 + None, # 2993 + None, # 2994 + None, # 2995 + None, # 2996 + None, # 2997 + None, # 2998 + None, # 2999 + None, # 3000 + None, # 3001 + None, # 3002 + None, # 3003 + None, # 3004 + None, # 3005 + None, # 3006 + None, # 3007 + None, # 3008 + None, # 3009 + None, # 3010 + None, # 3011 + None, # 3012 + None, # 3013 + None, # 3014 + None, # 3015 + None, # 3016 + None, # 3017 + None, # 3018 + None, # 3019 + None, # 3020 + None, # 3021 + None, # 3022 + None, # 3023 + None, # 3024 + None, # 3025 + None, # 3026 + None, # 3027 + None, # 3028 + None, # 3029 + None, # 3030 + None, # 3031 + None, # 3032 + None, # 3033 + None, # 3034 + None, # 3035 + None, # 3036 + None, # 3037 + None, # 3038 + None, # 3039 + None, # 3040 + None, # 3041 + None, # 3042 + None, # 3043 + None, # 3044 + None, # 3045 + None, # 3046 + None, # 3047 + None, # 3048 + None, # 3049 + None, # 3050 + None, # 3051 + None, # 3052 + None, # 3053 + None, # 3054 + None, # 3055 + None, # 3056 + None, # 3057 + None, # 3058 + None, # 3059 + None, # 3060 + None, # 3061 + None, # 3062 + None, # 3063 + None, # 3064 + None, # 3065 + None, # 3066 + None, # 3067 + None, # 3068 + None, # 3069 + None, # 3070 + None, # 3071 + None, # 3072 + None, # 3073 + None, # 3074 + None, # 3075 + None, # 3076 + None, # 3077 + None, # 3078 + None, # 3079 + None, # 3080 + None, # 3081 + None, # 3082 + None, # 3083 + None, # 3084 + None, # 3085 + None, # 3086 + None, # 3087 + None, # 3088 + None, # 3089 + None, # 3090 + None, # 3091 + None, # 3092 + None, # 3093 + None, # 3094 + None, # 3095 + None, # 3096 + None, # 3097 + None, # 3098 + None, # 3099 + None, # 3100 + None, # 3101 + None, # 3102 + None, # 3103 + None, # 3104 + None, # 3105 + None, # 3106 + None, # 3107 + None, # 3108 + None, # 3109 + None, # 3110 + None, # 3111 + None, # 3112 + None, # 3113 + None, # 3114 + None, # 3115 + None, # 3116 + None, # 3117 + None, # 3118 + None, # 3119 + None, # 3120 + None, # 3121 + None, # 3122 + None, # 3123 + None, # 3124 + None, # 3125 + None, # 3126 + None, # 3127 + None, # 3128 + None, # 3129 + None, # 3130 + None, # 3131 + None, # 3132 + None, # 3133 + None, # 3134 + None, # 3135 + None, # 3136 + None, # 3137 + None, # 3138 + None, # 3139 + None, # 3140 + None, # 3141 + None, # 3142 + None, # 3143 + None, # 3144 + None, # 3145 + None, # 3146 + None, # 3147 + None, # 3148 + None, # 3149 + None, # 3150 + None, # 3151 + None, # 3152 + None, # 3153 + None, # 3154 + None, # 3155 + None, # 3156 + None, # 3157 + None, # 3158 + None, # 3159 + None, # 3160 + None, # 3161 + None, # 3162 + None, # 3163 + None, # 3164 + None, # 3165 + None, # 3166 + None, # 3167 + None, # 3168 + None, # 3169 + None, # 3170 + None, # 3171 + None, # 3172 + None, # 3173 + None, # 3174 + None, # 3175 + None, # 3176 + None, # 3177 + None, # 3178 + None, # 3179 + None, # 3180 + None, # 3181 + None, # 3182 + None, # 3183 + None, # 3184 + None, # 3185 + None, # 3186 + None, # 3187 + None, # 3188 + None, # 3189 + None, # 3190 + None, # 3191 + None, # 3192 + None, # 3193 + None, # 3194 + None, # 3195 + None, # 3196 + None, # 3197 + None, # 3198 + None, # 3199 + None, # 3200 + None, # 3201 + None, # 3202 + None, # 3203 + None, # 3204 + None, # 3205 + None, # 3206 + None, # 3207 + None, # 3208 + None, # 3209 + None, # 3210 + None, # 3211 + None, # 3212 + None, # 3213 + None, # 3214 + None, # 3215 + None, # 3216 + None, # 3217 + None, # 3218 + None, # 3219 + None, # 3220 + None, # 3221 + None, # 3222 + None, # 3223 + None, # 3224 + None, # 3225 + None, # 3226 + None, # 3227 + None, # 3228 + None, # 3229 + None, # 3230 + None, # 3231 + None, # 3232 + None, # 3233 + None, # 3234 + None, # 3235 + None, # 3236 + None, # 3237 + None, # 3238 + None, # 3239 + None, # 3240 + None, # 3241 + None, # 3242 + None, # 3243 + None, # 3244 + None, # 3245 + None, # 3246 + None, # 3247 + None, # 3248 + None, # 3249 + None, # 3250 + None, # 3251 + None, # 3252 + None, # 3253 + None, # 3254 + None, # 3255 + None, # 3256 + None, # 3257 + None, # 3258 + None, # 3259 + None, # 3260 + None, # 3261 + None, # 3262 + None, # 3263 + None, # 3264 + None, # 3265 + None, # 3266 + None, # 3267 + None, # 3268 + None, # 3269 + None, # 3270 + None, # 3271 + None, # 3272 + None, # 3273 + None, # 3274 + None, # 3275 + None, # 3276 + None, # 3277 + None, # 3278 + None, # 3279 + None, # 3280 + None, # 3281 + None, # 3282 + None, # 3283 + None, # 3284 + None, # 3285 + None, # 3286 + None, # 3287 + None, # 3288 + None, # 3289 + None, # 3290 + None, # 3291 + None, # 3292 + None, # 3293 + None, # 3294 + None, # 3295 + None, # 3296 + None, # 3297 + None, # 3298 + None, # 3299 + None, # 3300 + None, # 3301 + None, # 3302 + None, # 3303 + None, # 3304 + None, # 3305 + None, # 3306 + None, # 3307 + None, # 3308 + None, # 3309 + None, # 3310 + None, # 3311 + None, # 3312 + None, # 3313 + None, # 3314 + None, # 3315 + None, # 3316 + None, # 3317 + None, # 3318 + None, # 3319 + None, # 3320 + None, # 3321 + None, # 3322 + None, # 3323 + None, # 3324 + None, # 3325 + None, # 3326 + None, # 3327 + None, # 3328 + (3329, TType.I16, 'executionVersion', None, None, ), # 3329 ) all_structs.append(TSessionHandle) TSessionHandle.thrift_spec = ( - None, # 0 - ( - 1, - TType.STRUCT, - "sessionId", - [THandleIdentifier, None], - None, - ), # 1 - None, # 2 - None, # 3 - None, # 4 - None, # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - None, # 1281 - None, # 1282 - None, # 1283 - None, # 1284 - None, # 1285 - None, # 1286 - None, # 1287 - None, # 1288 - None, # 1289 - None, # 1290 - None, # 1291 - None, # 1292 - None, # 1293 - None, # 1294 - None, # 1295 - None, # 1296 - None, # 1297 - None, # 1298 - None, # 1299 - None, # 1300 - None, # 1301 - None, # 1302 - None, # 1303 - None, # 1304 - None, # 1305 - None, # 1306 - None, # 1307 - None, # 1308 - None, # 1309 - None, # 1310 - None, # 1311 - None, # 1312 - None, # 1313 - None, # 1314 - None, # 1315 - None, # 1316 - None, # 1317 - None, # 1318 - None, # 1319 - None, # 1320 - None, # 1321 - None, # 1322 - None, # 1323 - None, # 1324 - None, # 1325 - None, # 1326 - None, # 1327 - None, # 1328 - None, # 1329 - None, # 1330 - None, # 1331 - None, # 1332 - None, # 1333 - None, # 1334 - None, # 1335 - None, # 1336 - None, # 1337 - None, # 1338 - None, # 1339 - None, # 1340 - None, # 1341 - None, # 1342 - None, # 1343 - None, # 1344 - None, # 1345 - None, # 1346 - None, # 1347 - None, # 1348 - None, # 1349 - None, # 1350 - None, # 1351 - None, # 1352 - None, # 1353 - None, # 1354 - None, # 1355 - None, # 1356 - None, # 1357 - None, # 1358 - None, # 1359 - None, # 1360 - None, # 1361 - None, # 1362 - None, # 1363 - None, # 1364 - None, # 1365 - None, # 1366 - None, # 1367 - None, # 1368 - None, # 1369 - None, # 1370 - None, # 1371 - None, # 1372 - None, # 1373 - None, # 1374 - None, # 1375 - None, # 1376 - None, # 1377 - None, # 1378 - None, # 1379 - None, # 1380 - None, # 1381 - None, # 1382 - None, # 1383 - None, # 1384 - None, # 1385 - None, # 1386 - None, # 1387 - None, # 1388 - None, # 1389 - None, # 1390 - None, # 1391 - None, # 1392 - None, # 1393 - None, # 1394 - None, # 1395 - None, # 1396 - None, # 1397 - None, # 1398 - None, # 1399 - None, # 1400 - None, # 1401 - None, # 1402 - None, # 1403 - None, # 1404 - None, # 1405 - None, # 1406 - None, # 1407 - None, # 1408 - None, # 1409 - None, # 1410 - None, # 1411 - None, # 1412 - None, # 1413 - None, # 1414 - None, # 1415 - None, # 1416 - None, # 1417 - None, # 1418 - None, # 1419 - None, # 1420 - None, # 1421 - None, # 1422 - None, # 1423 - None, # 1424 - None, # 1425 - None, # 1426 - None, # 1427 - None, # 1428 - None, # 1429 - None, # 1430 - None, # 1431 - None, # 1432 - None, # 1433 - None, # 1434 - None, # 1435 - None, # 1436 - None, # 1437 - None, # 1438 - None, # 1439 - None, # 1440 - None, # 1441 - None, # 1442 - None, # 1443 - None, # 1444 - None, # 1445 - None, # 1446 - None, # 1447 - None, # 1448 - None, # 1449 - None, # 1450 - None, # 1451 - None, # 1452 - None, # 1453 - None, # 1454 - None, # 1455 - None, # 1456 - None, # 1457 - None, # 1458 - None, # 1459 - None, # 1460 - None, # 1461 - None, # 1462 - None, # 1463 - None, # 1464 - None, # 1465 - None, # 1466 - None, # 1467 - None, # 1468 - None, # 1469 - None, # 1470 - None, # 1471 - None, # 1472 - None, # 1473 - None, # 1474 - None, # 1475 - None, # 1476 - None, # 1477 - None, # 1478 - None, # 1479 - None, # 1480 - None, # 1481 - None, # 1482 - None, # 1483 - None, # 1484 - None, # 1485 - None, # 1486 - None, # 1487 - None, # 1488 - None, # 1489 - None, # 1490 - None, # 1491 - None, # 1492 - None, # 1493 - None, # 1494 - None, # 1495 - None, # 1496 - None, # 1497 - None, # 1498 - None, # 1499 - None, # 1500 - None, # 1501 - None, # 1502 - None, # 1503 - None, # 1504 - None, # 1505 - None, # 1506 - None, # 1507 - None, # 1508 - None, # 1509 - None, # 1510 - None, # 1511 - None, # 1512 - None, # 1513 - None, # 1514 - None, # 1515 - None, # 1516 - None, # 1517 - None, # 1518 - None, # 1519 - None, # 1520 - None, # 1521 - None, # 1522 - None, # 1523 - None, # 1524 - None, # 1525 - None, # 1526 - None, # 1527 - None, # 1528 - None, # 1529 - None, # 1530 - None, # 1531 - None, # 1532 - None, # 1533 - None, # 1534 - None, # 1535 - None, # 1536 - None, # 1537 - None, # 1538 - None, # 1539 - None, # 1540 - None, # 1541 - None, # 1542 - None, # 1543 - None, # 1544 - None, # 1545 - None, # 1546 - None, # 1547 - None, # 1548 - None, # 1549 - None, # 1550 - None, # 1551 - None, # 1552 - None, # 1553 - None, # 1554 - None, # 1555 - None, # 1556 - None, # 1557 - None, # 1558 - None, # 1559 - None, # 1560 - None, # 1561 - None, # 1562 - None, # 1563 - None, # 1564 - None, # 1565 - None, # 1566 - None, # 1567 - None, # 1568 - None, # 1569 - None, # 1570 - None, # 1571 - None, # 1572 - None, # 1573 - None, # 1574 - None, # 1575 - None, # 1576 - None, # 1577 - None, # 1578 - None, # 1579 - None, # 1580 - None, # 1581 - None, # 1582 - None, # 1583 - None, # 1584 - None, # 1585 - None, # 1586 - None, # 1587 - None, # 1588 - None, # 1589 - None, # 1590 - None, # 1591 - None, # 1592 - None, # 1593 - None, # 1594 - None, # 1595 - None, # 1596 - None, # 1597 - None, # 1598 - None, # 1599 - None, # 1600 - None, # 1601 - None, # 1602 - None, # 1603 - None, # 1604 - None, # 1605 - None, # 1606 - None, # 1607 - None, # 1608 - None, # 1609 - None, # 1610 - None, # 1611 - None, # 1612 - None, # 1613 - None, # 1614 - None, # 1615 - None, # 1616 - None, # 1617 - None, # 1618 - None, # 1619 - None, # 1620 - None, # 1621 - None, # 1622 - None, # 1623 - None, # 1624 - None, # 1625 - None, # 1626 - None, # 1627 - None, # 1628 - None, # 1629 - None, # 1630 - None, # 1631 - None, # 1632 - None, # 1633 - None, # 1634 - None, # 1635 - None, # 1636 - None, # 1637 - None, # 1638 - None, # 1639 - None, # 1640 - None, # 1641 - None, # 1642 - None, # 1643 - None, # 1644 - None, # 1645 - None, # 1646 - None, # 1647 - None, # 1648 - None, # 1649 - None, # 1650 - None, # 1651 - None, # 1652 - None, # 1653 - None, # 1654 - None, # 1655 - None, # 1656 - None, # 1657 - None, # 1658 - None, # 1659 - None, # 1660 - None, # 1661 - None, # 1662 - None, # 1663 - None, # 1664 - None, # 1665 - None, # 1666 - None, # 1667 - None, # 1668 - None, # 1669 - None, # 1670 - None, # 1671 - None, # 1672 - None, # 1673 - None, # 1674 - None, # 1675 - None, # 1676 - None, # 1677 - None, # 1678 - None, # 1679 - None, # 1680 - None, # 1681 - None, # 1682 - None, # 1683 - None, # 1684 - None, # 1685 - None, # 1686 - None, # 1687 - None, # 1688 - None, # 1689 - None, # 1690 - None, # 1691 - None, # 1692 - None, # 1693 - None, # 1694 - None, # 1695 - None, # 1696 - None, # 1697 - None, # 1698 - None, # 1699 - None, # 1700 - None, # 1701 - None, # 1702 - None, # 1703 - None, # 1704 - None, # 1705 - None, # 1706 - None, # 1707 - None, # 1708 - None, # 1709 - None, # 1710 - None, # 1711 - None, # 1712 - None, # 1713 - None, # 1714 - None, # 1715 - None, # 1716 - None, # 1717 - None, # 1718 - None, # 1719 - None, # 1720 - None, # 1721 - None, # 1722 - None, # 1723 - None, # 1724 - None, # 1725 - None, # 1726 - None, # 1727 - None, # 1728 - None, # 1729 - None, # 1730 - None, # 1731 - None, # 1732 - None, # 1733 - None, # 1734 - None, # 1735 - None, # 1736 - None, # 1737 - None, # 1738 - None, # 1739 - None, # 1740 - None, # 1741 - None, # 1742 - None, # 1743 - None, # 1744 - None, # 1745 - None, # 1746 - None, # 1747 - None, # 1748 - None, # 1749 - None, # 1750 - None, # 1751 - None, # 1752 - None, # 1753 - None, # 1754 - None, # 1755 - None, # 1756 - None, # 1757 - None, # 1758 - None, # 1759 - None, # 1760 - None, # 1761 - None, # 1762 - None, # 1763 - None, # 1764 - None, # 1765 - None, # 1766 - None, # 1767 - None, # 1768 - None, # 1769 - None, # 1770 - None, # 1771 - None, # 1772 - None, # 1773 - None, # 1774 - None, # 1775 - None, # 1776 - None, # 1777 - None, # 1778 - None, # 1779 - None, # 1780 - None, # 1781 - None, # 1782 - None, # 1783 - None, # 1784 - None, # 1785 - None, # 1786 - None, # 1787 - None, # 1788 - None, # 1789 - None, # 1790 - None, # 1791 - None, # 1792 - None, # 1793 - None, # 1794 - None, # 1795 - None, # 1796 - None, # 1797 - None, # 1798 - None, # 1799 - None, # 1800 - None, # 1801 - None, # 1802 - None, # 1803 - None, # 1804 - None, # 1805 - None, # 1806 - None, # 1807 - None, # 1808 - None, # 1809 - None, # 1810 - None, # 1811 - None, # 1812 - None, # 1813 - None, # 1814 - None, # 1815 - None, # 1816 - None, # 1817 - None, # 1818 - None, # 1819 - None, # 1820 - None, # 1821 - None, # 1822 - None, # 1823 - None, # 1824 - None, # 1825 - None, # 1826 - None, # 1827 - None, # 1828 - None, # 1829 - None, # 1830 - None, # 1831 - None, # 1832 - None, # 1833 - None, # 1834 - None, # 1835 - None, # 1836 - None, # 1837 - None, # 1838 - None, # 1839 - None, # 1840 - None, # 1841 - None, # 1842 - None, # 1843 - None, # 1844 - None, # 1845 - None, # 1846 - None, # 1847 - None, # 1848 - None, # 1849 - None, # 1850 - None, # 1851 - None, # 1852 - None, # 1853 - None, # 1854 - None, # 1855 - None, # 1856 - None, # 1857 - None, # 1858 - None, # 1859 - None, # 1860 - None, # 1861 - None, # 1862 - None, # 1863 - None, # 1864 - None, # 1865 - None, # 1866 - None, # 1867 - None, # 1868 - None, # 1869 - None, # 1870 - None, # 1871 - None, # 1872 - None, # 1873 - None, # 1874 - None, # 1875 - None, # 1876 - None, # 1877 - None, # 1878 - None, # 1879 - None, # 1880 - None, # 1881 - None, # 1882 - None, # 1883 - None, # 1884 - None, # 1885 - None, # 1886 - None, # 1887 - None, # 1888 - None, # 1889 - None, # 1890 - None, # 1891 - None, # 1892 - None, # 1893 - None, # 1894 - None, # 1895 - None, # 1896 - None, # 1897 - None, # 1898 - None, # 1899 - None, # 1900 - None, # 1901 - None, # 1902 - None, # 1903 - None, # 1904 - None, # 1905 - None, # 1906 - None, # 1907 - None, # 1908 - None, # 1909 - None, # 1910 - None, # 1911 - None, # 1912 - None, # 1913 - None, # 1914 - None, # 1915 - None, # 1916 - None, # 1917 - None, # 1918 - None, # 1919 - None, # 1920 - None, # 1921 - None, # 1922 - None, # 1923 - None, # 1924 - None, # 1925 - None, # 1926 - None, # 1927 - None, # 1928 - None, # 1929 - None, # 1930 - None, # 1931 - None, # 1932 - None, # 1933 - None, # 1934 - None, # 1935 - None, # 1936 - None, # 1937 - None, # 1938 - None, # 1939 - None, # 1940 - None, # 1941 - None, # 1942 - None, # 1943 - None, # 1944 - None, # 1945 - None, # 1946 - None, # 1947 - None, # 1948 - None, # 1949 - None, # 1950 - None, # 1951 - None, # 1952 - None, # 1953 - None, # 1954 - None, # 1955 - None, # 1956 - None, # 1957 - None, # 1958 - None, # 1959 - None, # 1960 - None, # 1961 - None, # 1962 - None, # 1963 - None, # 1964 - None, # 1965 - None, # 1966 - None, # 1967 - None, # 1968 - None, # 1969 - None, # 1970 - None, # 1971 - None, # 1972 - None, # 1973 - None, # 1974 - None, # 1975 - None, # 1976 - None, # 1977 - None, # 1978 - None, # 1979 - None, # 1980 - None, # 1981 - None, # 1982 - None, # 1983 - None, # 1984 - None, # 1985 - None, # 1986 - None, # 1987 - None, # 1988 - None, # 1989 - None, # 1990 - None, # 1991 - None, # 1992 - None, # 1993 - None, # 1994 - None, # 1995 - None, # 1996 - None, # 1997 - None, # 1998 - None, # 1999 - None, # 2000 - None, # 2001 - None, # 2002 - None, # 2003 - None, # 2004 - None, # 2005 - None, # 2006 - None, # 2007 - None, # 2008 - None, # 2009 - None, # 2010 - None, # 2011 - None, # 2012 - None, # 2013 - None, # 2014 - None, # 2015 - None, # 2016 - None, # 2017 - None, # 2018 - None, # 2019 - None, # 2020 - None, # 2021 - None, # 2022 - None, # 2023 - None, # 2024 - None, # 2025 - None, # 2026 - None, # 2027 - None, # 2028 - None, # 2029 - None, # 2030 - None, # 2031 - None, # 2032 - None, # 2033 - None, # 2034 - None, # 2035 - None, # 2036 - None, # 2037 - None, # 2038 - None, # 2039 - None, # 2040 - None, # 2041 - None, # 2042 - None, # 2043 - None, # 2044 - None, # 2045 - None, # 2046 - None, # 2047 - None, # 2048 - None, # 2049 - None, # 2050 - None, # 2051 - None, # 2052 - None, # 2053 - None, # 2054 - None, # 2055 - None, # 2056 - None, # 2057 - None, # 2058 - None, # 2059 - None, # 2060 - None, # 2061 - None, # 2062 - None, # 2063 - None, # 2064 - None, # 2065 - None, # 2066 - None, # 2067 - None, # 2068 - None, # 2069 - None, # 2070 - None, # 2071 - None, # 2072 - None, # 2073 - None, # 2074 - None, # 2075 - None, # 2076 - None, # 2077 - None, # 2078 - None, # 2079 - None, # 2080 - None, # 2081 - None, # 2082 - None, # 2083 - None, # 2084 - None, # 2085 - None, # 2086 - None, # 2087 - None, # 2088 - None, # 2089 - None, # 2090 - None, # 2091 - None, # 2092 - None, # 2093 - None, # 2094 - None, # 2095 - None, # 2096 - None, # 2097 - None, # 2098 - None, # 2099 - None, # 2100 - None, # 2101 - None, # 2102 - None, # 2103 - None, # 2104 - None, # 2105 - None, # 2106 - None, # 2107 - None, # 2108 - None, # 2109 - None, # 2110 - None, # 2111 - None, # 2112 - None, # 2113 - None, # 2114 - None, # 2115 - None, # 2116 - None, # 2117 - None, # 2118 - None, # 2119 - None, # 2120 - None, # 2121 - None, # 2122 - None, # 2123 - None, # 2124 - None, # 2125 - None, # 2126 - None, # 2127 - None, # 2128 - None, # 2129 - None, # 2130 - None, # 2131 - None, # 2132 - None, # 2133 - None, # 2134 - None, # 2135 - None, # 2136 - None, # 2137 - None, # 2138 - None, # 2139 - None, # 2140 - None, # 2141 - None, # 2142 - None, # 2143 - None, # 2144 - None, # 2145 - None, # 2146 - None, # 2147 - None, # 2148 - None, # 2149 - None, # 2150 - None, # 2151 - None, # 2152 - None, # 2153 - None, # 2154 - None, # 2155 - None, # 2156 - None, # 2157 - None, # 2158 - None, # 2159 - None, # 2160 - None, # 2161 - None, # 2162 - None, # 2163 - None, # 2164 - None, # 2165 - None, # 2166 - None, # 2167 - None, # 2168 - None, # 2169 - None, # 2170 - None, # 2171 - None, # 2172 - None, # 2173 - None, # 2174 - None, # 2175 - None, # 2176 - None, # 2177 - None, # 2178 - None, # 2179 - None, # 2180 - None, # 2181 - None, # 2182 - None, # 2183 - None, # 2184 - None, # 2185 - None, # 2186 - None, # 2187 - None, # 2188 - None, # 2189 - None, # 2190 - None, # 2191 - None, # 2192 - None, # 2193 - None, # 2194 - None, # 2195 - None, # 2196 - None, # 2197 - None, # 2198 - None, # 2199 - None, # 2200 - None, # 2201 - None, # 2202 - None, # 2203 - None, # 2204 - None, # 2205 - None, # 2206 - None, # 2207 - None, # 2208 - None, # 2209 - None, # 2210 - None, # 2211 - None, # 2212 - None, # 2213 - None, # 2214 - None, # 2215 - None, # 2216 - None, # 2217 - None, # 2218 - None, # 2219 - None, # 2220 - None, # 2221 - None, # 2222 - None, # 2223 - None, # 2224 - None, # 2225 - None, # 2226 - None, # 2227 - None, # 2228 - None, # 2229 - None, # 2230 - None, # 2231 - None, # 2232 - None, # 2233 - None, # 2234 - None, # 2235 - None, # 2236 - None, # 2237 - None, # 2238 - None, # 2239 - None, # 2240 - None, # 2241 - None, # 2242 - None, # 2243 - None, # 2244 - None, # 2245 - None, # 2246 - None, # 2247 - None, # 2248 - None, # 2249 - None, # 2250 - None, # 2251 - None, # 2252 - None, # 2253 - None, # 2254 - None, # 2255 - None, # 2256 - None, # 2257 - None, # 2258 - None, # 2259 - None, # 2260 - None, # 2261 - None, # 2262 - None, # 2263 - None, # 2264 - None, # 2265 - None, # 2266 - None, # 2267 - None, # 2268 - None, # 2269 - None, # 2270 - None, # 2271 - None, # 2272 - None, # 2273 - None, # 2274 - None, # 2275 - None, # 2276 - None, # 2277 - None, # 2278 - None, # 2279 - None, # 2280 - None, # 2281 - None, # 2282 - None, # 2283 - None, # 2284 - None, # 2285 - None, # 2286 - None, # 2287 - None, # 2288 - None, # 2289 - None, # 2290 - None, # 2291 - None, # 2292 - None, # 2293 - None, # 2294 - None, # 2295 - None, # 2296 - None, # 2297 - None, # 2298 - None, # 2299 - None, # 2300 - None, # 2301 - None, # 2302 - None, # 2303 - None, # 2304 - None, # 2305 - None, # 2306 - None, # 2307 - None, # 2308 - None, # 2309 - None, # 2310 - None, # 2311 - None, # 2312 - None, # 2313 - None, # 2314 - None, # 2315 - None, # 2316 - None, # 2317 - None, # 2318 - None, # 2319 - None, # 2320 - None, # 2321 - None, # 2322 - None, # 2323 - None, # 2324 - None, # 2325 - None, # 2326 - None, # 2327 - None, # 2328 - None, # 2329 - None, # 2330 - None, # 2331 - None, # 2332 - None, # 2333 - None, # 2334 - None, # 2335 - None, # 2336 - None, # 2337 - None, # 2338 - None, # 2339 - None, # 2340 - None, # 2341 - None, # 2342 - None, # 2343 - None, # 2344 - None, # 2345 - None, # 2346 - None, # 2347 - None, # 2348 - None, # 2349 - None, # 2350 - None, # 2351 - None, # 2352 - None, # 2353 - None, # 2354 - None, # 2355 - None, # 2356 - None, # 2357 - None, # 2358 - None, # 2359 - None, # 2360 - None, # 2361 - None, # 2362 - None, # 2363 - None, # 2364 - None, # 2365 - None, # 2366 - None, # 2367 - None, # 2368 - None, # 2369 - None, # 2370 - None, # 2371 - None, # 2372 - None, # 2373 - None, # 2374 - None, # 2375 - None, # 2376 - None, # 2377 - None, # 2378 - None, # 2379 - None, # 2380 - None, # 2381 - None, # 2382 - None, # 2383 - None, # 2384 - None, # 2385 - None, # 2386 - None, # 2387 - None, # 2388 - None, # 2389 - None, # 2390 - None, # 2391 - None, # 2392 - None, # 2393 - None, # 2394 - None, # 2395 - None, # 2396 - None, # 2397 - None, # 2398 - None, # 2399 - None, # 2400 - None, # 2401 - None, # 2402 - None, # 2403 - None, # 2404 - None, # 2405 - None, # 2406 - None, # 2407 - None, # 2408 - None, # 2409 - None, # 2410 - None, # 2411 - None, # 2412 - None, # 2413 - None, # 2414 - None, # 2415 - None, # 2416 - None, # 2417 - None, # 2418 - None, # 2419 - None, # 2420 - None, # 2421 - None, # 2422 - None, # 2423 - None, # 2424 - None, # 2425 - None, # 2426 - None, # 2427 - None, # 2428 - None, # 2429 - None, # 2430 - None, # 2431 - None, # 2432 - None, # 2433 - None, # 2434 - None, # 2435 - None, # 2436 - None, # 2437 - None, # 2438 - None, # 2439 - None, # 2440 - None, # 2441 - None, # 2442 - None, # 2443 - None, # 2444 - None, # 2445 - None, # 2446 - None, # 2447 - None, # 2448 - None, # 2449 - None, # 2450 - None, # 2451 - None, # 2452 - None, # 2453 - None, # 2454 - None, # 2455 - None, # 2456 - None, # 2457 - None, # 2458 - None, # 2459 - None, # 2460 - None, # 2461 - None, # 2462 - None, # 2463 - None, # 2464 - None, # 2465 - None, # 2466 - None, # 2467 - None, # 2468 - None, # 2469 - None, # 2470 - None, # 2471 - None, # 2472 - None, # 2473 - None, # 2474 - None, # 2475 - None, # 2476 - None, # 2477 - None, # 2478 - None, # 2479 - None, # 2480 - None, # 2481 - None, # 2482 - None, # 2483 - None, # 2484 - None, # 2485 - None, # 2486 - None, # 2487 - None, # 2488 - None, # 2489 - None, # 2490 - None, # 2491 - None, # 2492 - None, # 2493 - None, # 2494 - None, # 2495 - None, # 2496 - None, # 2497 - None, # 2498 - None, # 2499 - None, # 2500 - None, # 2501 - None, # 2502 - None, # 2503 - None, # 2504 - None, # 2505 - None, # 2506 - None, # 2507 - None, # 2508 - None, # 2509 - None, # 2510 - None, # 2511 - None, # 2512 - None, # 2513 - None, # 2514 - None, # 2515 - None, # 2516 - None, # 2517 - None, # 2518 - None, # 2519 - None, # 2520 - None, # 2521 - None, # 2522 - None, # 2523 - None, # 2524 - None, # 2525 - None, # 2526 - None, # 2527 - None, # 2528 - None, # 2529 - None, # 2530 - None, # 2531 - None, # 2532 - None, # 2533 - None, # 2534 - None, # 2535 - None, # 2536 - None, # 2537 - None, # 2538 - None, # 2539 - None, # 2540 - None, # 2541 - None, # 2542 - None, # 2543 - None, # 2544 - None, # 2545 - None, # 2546 - None, # 2547 - None, # 2548 - None, # 2549 - None, # 2550 - None, # 2551 - None, # 2552 - None, # 2553 - None, # 2554 - None, # 2555 - None, # 2556 - None, # 2557 - None, # 2558 - None, # 2559 - None, # 2560 - None, # 2561 - None, # 2562 - None, # 2563 - None, # 2564 - None, # 2565 - None, # 2566 - None, # 2567 - None, # 2568 - None, # 2569 - None, # 2570 - None, # 2571 - None, # 2572 - None, # 2573 - None, # 2574 - None, # 2575 - None, # 2576 - None, # 2577 - None, # 2578 - None, # 2579 - None, # 2580 - None, # 2581 - None, # 2582 - None, # 2583 - None, # 2584 - None, # 2585 - None, # 2586 - None, # 2587 - None, # 2588 - None, # 2589 - None, # 2590 - None, # 2591 - None, # 2592 - None, # 2593 - None, # 2594 - None, # 2595 - None, # 2596 - None, # 2597 - None, # 2598 - None, # 2599 - None, # 2600 - None, # 2601 - None, # 2602 - None, # 2603 - None, # 2604 - None, # 2605 - None, # 2606 - None, # 2607 - None, # 2608 - None, # 2609 - None, # 2610 - None, # 2611 - None, # 2612 - None, # 2613 - None, # 2614 - None, # 2615 - None, # 2616 - None, # 2617 - None, # 2618 - None, # 2619 - None, # 2620 - None, # 2621 - None, # 2622 - None, # 2623 - None, # 2624 - None, # 2625 - None, # 2626 - None, # 2627 - None, # 2628 - None, # 2629 - None, # 2630 - None, # 2631 - None, # 2632 - None, # 2633 - None, # 2634 - None, # 2635 - None, # 2636 - None, # 2637 - None, # 2638 - None, # 2639 - None, # 2640 - None, # 2641 - None, # 2642 - None, # 2643 - None, # 2644 - None, # 2645 - None, # 2646 - None, # 2647 - None, # 2648 - None, # 2649 - None, # 2650 - None, # 2651 - None, # 2652 - None, # 2653 - None, # 2654 - None, # 2655 - None, # 2656 - None, # 2657 - None, # 2658 - None, # 2659 - None, # 2660 - None, # 2661 - None, # 2662 - None, # 2663 - None, # 2664 - None, # 2665 - None, # 2666 - None, # 2667 - None, # 2668 - None, # 2669 - None, # 2670 - None, # 2671 - None, # 2672 - None, # 2673 - None, # 2674 - None, # 2675 - None, # 2676 - None, # 2677 - None, # 2678 - None, # 2679 - None, # 2680 - None, # 2681 - None, # 2682 - None, # 2683 - None, # 2684 - None, # 2685 - None, # 2686 - None, # 2687 - None, # 2688 - None, # 2689 - None, # 2690 - None, # 2691 - None, # 2692 - None, # 2693 - None, # 2694 - None, # 2695 - None, # 2696 - None, # 2697 - None, # 2698 - None, # 2699 - None, # 2700 - None, # 2701 - None, # 2702 - None, # 2703 - None, # 2704 - None, # 2705 - None, # 2706 - None, # 2707 - None, # 2708 - None, # 2709 - None, # 2710 - None, # 2711 - None, # 2712 - None, # 2713 - None, # 2714 - None, # 2715 - None, # 2716 - None, # 2717 - None, # 2718 - None, # 2719 - None, # 2720 - None, # 2721 - None, # 2722 - None, # 2723 - None, # 2724 - None, # 2725 - None, # 2726 - None, # 2727 - None, # 2728 - None, # 2729 - None, # 2730 - None, # 2731 - None, # 2732 - None, # 2733 - None, # 2734 - None, # 2735 - None, # 2736 - None, # 2737 - None, # 2738 - None, # 2739 - None, # 2740 - None, # 2741 - None, # 2742 - None, # 2743 - None, # 2744 - None, # 2745 - None, # 2746 - None, # 2747 - None, # 2748 - None, # 2749 - None, # 2750 - None, # 2751 - None, # 2752 - None, # 2753 - None, # 2754 - None, # 2755 - None, # 2756 - None, # 2757 - None, # 2758 - None, # 2759 - None, # 2760 - None, # 2761 - None, # 2762 - None, # 2763 - None, # 2764 - None, # 2765 - None, # 2766 - None, # 2767 - None, # 2768 - None, # 2769 - None, # 2770 - None, # 2771 - None, # 2772 - None, # 2773 - None, # 2774 - None, # 2775 - None, # 2776 - None, # 2777 - None, # 2778 - None, # 2779 - None, # 2780 - None, # 2781 - None, # 2782 - None, # 2783 - None, # 2784 - None, # 2785 - None, # 2786 - None, # 2787 - None, # 2788 - None, # 2789 - None, # 2790 - None, # 2791 - None, # 2792 - None, # 2793 - None, # 2794 - None, # 2795 - None, # 2796 - None, # 2797 - None, # 2798 - None, # 2799 - None, # 2800 - None, # 2801 - None, # 2802 - None, # 2803 - None, # 2804 - None, # 2805 - None, # 2806 - None, # 2807 - None, # 2808 - None, # 2809 - None, # 2810 - None, # 2811 - None, # 2812 - None, # 2813 - None, # 2814 - None, # 2815 - None, # 2816 - None, # 2817 - None, # 2818 - None, # 2819 - None, # 2820 - None, # 2821 - None, # 2822 - None, # 2823 - None, # 2824 - None, # 2825 - None, # 2826 - None, # 2827 - None, # 2828 - None, # 2829 - None, # 2830 - None, # 2831 - None, # 2832 - None, # 2833 - None, # 2834 - None, # 2835 - None, # 2836 - None, # 2837 - None, # 2838 - None, # 2839 - None, # 2840 - None, # 2841 - None, # 2842 - None, # 2843 - None, # 2844 - None, # 2845 - None, # 2846 - None, # 2847 - None, # 2848 - None, # 2849 - None, # 2850 - None, # 2851 - None, # 2852 - None, # 2853 - None, # 2854 - None, # 2855 - None, # 2856 - None, # 2857 - None, # 2858 - None, # 2859 - None, # 2860 - None, # 2861 - None, # 2862 - None, # 2863 - None, # 2864 - None, # 2865 - None, # 2866 - None, # 2867 - None, # 2868 - None, # 2869 - None, # 2870 - None, # 2871 - None, # 2872 - None, # 2873 - None, # 2874 - None, # 2875 - None, # 2876 - None, # 2877 - None, # 2878 - None, # 2879 - None, # 2880 - None, # 2881 - None, # 2882 - None, # 2883 - None, # 2884 - None, # 2885 - None, # 2886 - None, # 2887 - None, # 2888 - None, # 2889 - None, # 2890 - None, # 2891 - None, # 2892 - None, # 2893 - None, # 2894 - None, # 2895 - None, # 2896 - None, # 2897 - None, # 2898 - None, # 2899 - None, # 2900 - None, # 2901 - None, # 2902 - None, # 2903 - None, # 2904 - None, # 2905 - None, # 2906 - None, # 2907 - None, # 2908 - None, # 2909 - None, # 2910 - None, # 2911 - None, # 2912 - None, # 2913 - None, # 2914 - None, # 2915 - None, # 2916 - None, # 2917 - None, # 2918 - None, # 2919 - None, # 2920 - None, # 2921 - None, # 2922 - None, # 2923 - None, # 2924 - None, # 2925 - None, # 2926 - None, # 2927 - None, # 2928 - None, # 2929 - None, # 2930 - None, # 2931 - None, # 2932 - None, # 2933 - None, # 2934 - None, # 2935 - None, # 2936 - None, # 2937 - None, # 2938 - None, # 2939 - None, # 2940 - None, # 2941 - None, # 2942 - None, # 2943 - None, # 2944 - None, # 2945 - None, # 2946 - None, # 2947 - None, # 2948 - None, # 2949 - None, # 2950 - None, # 2951 - None, # 2952 - None, # 2953 - None, # 2954 - None, # 2955 - None, # 2956 - None, # 2957 - None, # 2958 - None, # 2959 - None, # 2960 - None, # 2961 - None, # 2962 - None, # 2963 - None, # 2964 - None, # 2965 - None, # 2966 - None, # 2967 - None, # 2968 - None, # 2969 - None, # 2970 - None, # 2971 - None, # 2972 - None, # 2973 - None, # 2974 - None, # 2975 - None, # 2976 - None, # 2977 - None, # 2978 - None, # 2979 - None, # 2980 - None, # 2981 - None, # 2982 - None, # 2983 - None, # 2984 - None, # 2985 - None, # 2986 - None, # 2987 - None, # 2988 - None, # 2989 - None, # 2990 - None, # 2991 - None, # 2992 - None, # 2993 - None, # 2994 - None, # 2995 - None, # 2996 - None, # 2997 - None, # 2998 - None, # 2999 - None, # 3000 - None, # 3001 - None, # 3002 - None, # 3003 - None, # 3004 - None, # 3005 - None, # 3006 - None, # 3007 - None, # 3008 - None, # 3009 - None, # 3010 - None, # 3011 - None, # 3012 - None, # 3013 - None, # 3014 - None, # 3015 - None, # 3016 - None, # 3017 - None, # 3018 - None, # 3019 - None, # 3020 - None, # 3021 - None, # 3022 - None, # 3023 - None, # 3024 - None, # 3025 - None, # 3026 - None, # 3027 - None, # 3028 - None, # 3029 - None, # 3030 - None, # 3031 - None, # 3032 - None, # 3033 - None, # 3034 - None, # 3035 - None, # 3036 - None, # 3037 - None, # 3038 - None, # 3039 - None, # 3040 - None, # 3041 - None, # 3042 - None, # 3043 - None, # 3044 - None, # 3045 - None, # 3046 - None, # 3047 - None, # 3048 - None, # 3049 - None, # 3050 - None, # 3051 - None, # 3052 - None, # 3053 - None, # 3054 - None, # 3055 - None, # 3056 - None, # 3057 - None, # 3058 - None, # 3059 - None, # 3060 - None, # 3061 - None, # 3062 - None, # 3063 - None, # 3064 - None, # 3065 - None, # 3066 - None, # 3067 - None, # 3068 - None, # 3069 - None, # 3070 - None, # 3071 - None, # 3072 - None, # 3073 - None, # 3074 - None, # 3075 - None, # 3076 - None, # 3077 - None, # 3078 - None, # 3079 - None, # 3080 - None, # 3081 - None, # 3082 - None, # 3083 - None, # 3084 - None, # 3085 - None, # 3086 - None, # 3087 - None, # 3088 - None, # 3089 - None, # 3090 - None, # 3091 - None, # 3092 - None, # 3093 - None, # 3094 - None, # 3095 - None, # 3096 - None, # 3097 - None, # 3098 - None, # 3099 - None, # 3100 - None, # 3101 - None, # 3102 - None, # 3103 - None, # 3104 - None, # 3105 - None, # 3106 - None, # 3107 - None, # 3108 - None, # 3109 - None, # 3110 - None, # 3111 - None, # 3112 - None, # 3113 - None, # 3114 - None, # 3115 - None, # 3116 - None, # 3117 - None, # 3118 - None, # 3119 - None, # 3120 - None, # 3121 - None, # 3122 - None, # 3123 - None, # 3124 - None, # 3125 - None, # 3126 - None, # 3127 - None, # 3128 - None, # 3129 - None, # 3130 - None, # 3131 - None, # 3132 - None, # 3133 - None, # 3134 - None, # 3135 - None, # 3136 - None, # 3137 - None, # 3138 - None, # 3139 - None, # 3140 - None, # 3141 - None, # 3142 - None, # 3143 - None, # 3144 - None, # 3145 - None, # 3146 - None, # 3147 - None, # 3148 - None, # 3149 - None, # 3150 - None, # 3151 - None, # 3152 - None, # 3153 - None, # 3154 - None, # 3155 - None, # 3156 - None, # 3157 - None, # 3158 - None, # 3159 - None, # 3160 - None, # 3161 - None, # 3162 - None, # 3163 - None, # 3164 - None, # 3165 - None, # 3166 - None, # 3167 - None, # 3168 - None, # 3169 - None, # 3170 - None, # 3171 - None, # 3172 - None, # 3173 - None, # 3174 - None, # 3175 - None, # 3176 - None, # 3177 - None, # 3178 - None, # 3179 - None, # 3180 - None, # 3181 - None, # 3182 - None, # 3183 - None, # 3184 - None, # 3185 - None, # 3186 - None, # 3187 - None, # 3188 - None, # 3189 - None, # 3190 - None, # 3191 - None, # 3192 - None, # 3193 - None, # 3194 - None, # 3195 - None, # 3196 - None, # 3197 - None, # 3198 - None, # 3199 - None, # 3200 - None, # 3201 - None, # 3202 - None, # 3203 - None, # 3204 - None, # 3205 - None, # 3206 - None, # 3207 - None, # 3208 - None, # 3209 - None, # 3210 - None, # 3211 - None, # 3212 - None, # 3213 - None, # 3214 - None, # 3215 - None, # 3216 - None, # 3217 - None, # 3218 - None, # 3219 - None, # 3220 - None, # 3221 - None, # 3222 - None, # 3223 - None, # 3224 - None, # 3225 - None, # 3226 - None, # 3227 - None, # 3228 - None, # 3229 - None, # 3230 - None, # 3231 - None, # 3232 - None, # 3233 - None, # 3234 - None, # 3235 - None, # 3236 - None, # 3237 - None, # 3238 - None, # 3239 - None, # 3240 - None, # 3241 - None, # 3242 - None, # 3243 - None, # 3244 - None, # 3245 - None, # 3246 - None, # 3247 - None, # 3248 - None, # 3249 - None, # 3250 - None, # 3251 - None, # 3252 - None, # 3253 - None, # 3254 - None, # 3255 - None, # 3256 - None, # 3257 - None, # 3258 - None, # 3259 - None, # 3260 - None, # 3261 - None, # 3262 - None, # 3263 - None, # 3264 - None, # 3265 - None, # 3266 - None, # 3267 - None, # 3268 - None, # 3269 - None, # 3270 - None, # 3271 - None, # 3272 - None, # 3273 - None, # 3274 - None, # 3275 - None, # 3276 - None, # 3277 - None, # 3278 - None, # 3279 - None, # 3280 - None, # 3281 - None, # 3282 - None, # 3283 - None, # 3284 - None, # 3285 - None, # 3286 - None, # 3287 - None, # 3288 - None, # 3289 - None, # 3290 - None, # 3291 - None, # 3292 - None, # 3293 - None, # 3294 - None, # 3295 - None, # 3296 - None, # 3297 - None, # 3298 - None, # 3299 - None, # 3300 - None, # 3301 - None, # 3302 - None, # 3303 - None, # 3304 - None, # 3305 - None, # 3306 - None, # 3307 - None, # 3308 - None, # 3309 - None, # 3310 - None, # 3311 - None, # 3312 - None, # 3313 - None, # 3314 - None, # 3315 - None, # 3316 - None, # 3317 - None, # 3318 - None, # 3319 - None, # 3320 - None, # 3321 - None, # 3322 - None, # 3323 - None, # 3324 - None, # 3325 - None, # 3326 - None, # 3327 - None, # 3328 - ( - 3329, - TType.I32, - "serverProtocolVersion", - None, - None, - ), # 3329 + None, # 0 + (1, TType.STRUCT, 'sessionId', [THandleIdentifier, None], None, ), # 1 + None, # 2 + None, # 3 + None, # 4 + None, # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + None, # 1281 + None, # 1282 + None, # 1283 + None, # 1284 + None, # 1285 + None, # 1286 + None, # 1287 + None, # 1288 + None, # 1289 + None, # 1290 + None, # 1291 + None, # 1292 + None, # 1293 + None, # 1294 + None, # 1295 + None, # 1296 + None, # 1297 + None, # 1298 + None, # 1299 + None, # 1300 + None, # 1301 + None, # 1302 + None, # 1303 + None, # 1304 + None, # 1305 + None, # 1306 + None, # 1307 + None, # 1308 + None, # 1309 + None, # 1310 + None, # 1311 + None, # 1312 + None, # 1313 + None, # 1314 + None, # 1315 + None, # 1316 + None, # 1317 + None, # 1318 + None, # 1319 + None, # 1320 + None, # 1321 + None, # 1322 + None, # 1323 + None, # 1324 + None, # 1325 + None, # 1326 + None, # 1327 + None, # 1328 + None, # 1329 + None, # 1330 + None, # 1331 + None, # 1332 + None, # 1333 + None, # 1334 + None, # 1335 + None, # 1336 + None, # 1337 + None, # 1338 + None, # 1339 + None, # 1340 + None, # 1341 + None, # 1342 + None, # 1343 + None, # 1344 + None, # 1345 + None, # 1346 + None, # 1347 + None, # 1348 + None, # 1349 + None, # 1350 + None, # 1351 + None, # 1352 + None, # 1353 + None, # 1354 + None, # 1355 + None, # 1356 + None, # 1357 + None, # 1358 + None, # 1359 + None, # 1360 + None, # 1361 + None, # 1362 + None, # 1363 + None, # 1364 + None, # 1365 + None, # 1366 + None, # 1367 + None, # 1368 + None, # 1369 + None, # 1370 + None, # 1371 + None, # 1372 + None, # 1373 + None, # 1374 + None, # 1375 + None, # 1376 + None, # 1377 + None, # 1378 + None, # 1379 + None, # 1380 + None, # 1381 + None, # 1382 + None, # 1383 + None, # 1384 + None, # 1385 + None, # 1386 + None, # 1387 + None, # 1388 + None, # 1389 + None, # 1390 + None, # 1391 + None, # 1392 + None, # 1393 + None, # 1394 + None, # 1395 + None, # 1396 + None, # 1397 + None, # 1398 + None, # 1399 + None, # 1400 + None, # 1401 + None, # 1402 + None, # 1403 + None, # 1404 + None, # 1405 + None, # 1406 + None, # 1407 + None, # 1408 + None, # 1409 + None, # 1410 + None, # 1411 + None, # 1412 + None, # 1413 + None, # 1414 + None, # 1415 + None, # 1416 + None, # 1417 + None, # 1418 + None, # 1419 + None, # 1420 + None, # 1421 + None, # 1422 + None, # 1423 + None, # 1424 + None, # 1425 + None, # 1426 + None, # 1427 + None, # 1428 + None, # 1429 + None, # 1430 + None, # 1431 + None, # 1432 + None, # 1433 + None, # 1434 + None, # 1435 + None, # 1436 + None, # 1437 + None, # 1438 + None, # 1439 + None, # 1440 + None, # 1441 + None, # 1442 + None, # 1443 + None, # 1444 + None, # 1445 + None, # 1446 + None, # 1447 + None, # 1448 + None, # 1449 + None, # 1450 + None, # 1451 + None, # 1452 + None, # 1453 + None, # 1454 + None, # 1455 + None, # 1456 + None, # 1457 + None, # 1458 + None, # 1459 + None, # 1460 + None, # 1461 + None, # 1462 + None, # 1463 + None, # 1464 + None, # 1465 + None, # 1466 + None, # 1467 + None, # 1468 + None, # 1469 + None, # 1470 + None, # 1471 + None, # 1472 + None, # 1473 + None, # 1474 + None, # 1475 + None, # 1476 + None, # 1477 + None, # 1478 + None, # 1479 + None, # 1480 + None, # 1481 + None, # 1482 + None, # 1483 + None, # 1484 + None, # 1485 + None, # 1486 + None, # 1487 + None, # 1488 + None, # 1489 + None, # 1490 + None, # 1491 + None, # 1492 + None, # 1493 + None, # 1494 + None, # 1495 + None, # 1496 + None, # 1497 + None, # 1498 + None, # 1499 + None, # 1500 + None, # 1501 + None, # 1502 + None, # 1503 + None, # 1504 + None, # 1505 + None, # 1506 + None, # 1507 + None, # 1508 + None, # 1509 + None, # 1510 + None, # 1511 + None, # 1512 + None, # 1513 + None, # 1514 + None, # 1515 + None, # 1516 + None, # 1517 + None, # 1518 + None, # 1519 + None, # 1520 + None, # 1521 + None, # 1522 + None, # 1523 + None, # 1524 + None, # 1525 + None, # 1526 + None, # 1527 + None, # 1528 + None, # 1529 + None, # 1530 + None, # 1531 + None, # 1532 + None, # 1533 + None, # 1534 + None, # 1535 + None, # 1536 + None, # 1537 + None, # 1538 + None, # 1539 + None, # 1540 + None, # 1541 + None, # 1542 + None, # 1543 + None, # 1544 + None, # 1545 + None, # 1546 + None, # 1547 + None, # 1548 + None, # 1549 + None, # 1550 + None, # 1551 + None, # 1552 + None, # 1553 + None, # 1554 + None, # 1555 + None, # 1556 + None, # 1557 + None, # 1558 + None, # 1559 + None, # 1560 + None, # 1561 + None, # 1562 + None, # 1563 + None, # 1564 + None, # 1565 + None, # 1566 + None, # 1567 + None, # 1568 + None, # 1569 + None, # 1570 + None, # 1571 + None, # 1572 + None, # 1573 + None, # 1574 + None, # 1575 + None, # 1576 + None, # 1577 + None, # 1578 + None, # 1579 + None, # 1580 + None, # 1581 + None, # 1582 + None, # 1583 + None, # 1584 + None, # 1585 + None, # 1586 + None, # 1587 + None, # 1588 + None, # 1589 + None, # 1590 + None, # 1591 + None, # 1592 + None, # 1593 + None, # 1594 + None, # 1595 + None, # 1596 + None, # 1597 + None, # 1598 + None, # 1599 + None, # 1600 + None, # 1601 + None, # 1602 + None, # 1603 + None, # 1604 + None, # 1605 + None, # 1606 + None, # 1607 + None, # 1608 + None, # 1609 + None, # 1610 + None, # 1611 + None, # 1612 + None, # 1613 + None, # 1614 + None, # 1615 + None, # 1616 + None, # 1617 + None, # 1618 + None, # 1619 + None, # 1620 + None, # 1621 + None, # 1622 + None, # 1623 + None, # 1624 + None, # 1625 + None, # 1626 + None, # 1627 + None, # 1628 + None, # 1629 + None, # 1630 + None, # 1631 + None, # 1632 + None, # 1633 + None, # 1634 + None, # 1635 + None, # 1636 + None, # 1637 + None, # 1638 + None, # 1639 + None, # 1640 + None, # 1641 + None, # 1642 + None, # 1643 + None, # 1644 + None, # 1645 + None, # 1646 + None, # 1647 + None, # 1648 + None, # 1649 + None, # 1650 + None, # 1651 + None, # 1652 + None, # 1653 + None, # 1654 + None, # 1655 + None, # 1656 + None, # 1657 + None, # 1658 + None, # 1659 + None, # 1660 + None, # 1661 + None, # 1662 + None, # 1663 + None, # 1664 + None, # 1665 + None, # 1666 + None, # 1667 + None, # 1668 + None, # 1669 + None, # 1670 + None, # 1671 + None, # 1672 + None, # 1673 + None, # 1674 + None, # 1675 + None, # 1676 + None, # 1677 + None, # 1678 + None, # 1679 + None, # 1680 + None, # 1681 + None, # 1682 + None, # 1683 + None, # 1684 + None, # 1685 + None, # 1686 + None, # 1687 + None, # 1688 + None, # 1689 + None, # 1690 + None, # 1691 + None, # 1692 + None, # 1693 + None, # 1694 + None, # 1695 + None, # 1696 + None, # 1697 + None, # 1698 + None, # 1699 + None, # 1700 + None, # 1701 + None, # 1702 + None, # 1703 + None, # 1704 + None, # 1705 + None, # 1706 + None, # 1707 + None, # 1708 + None, # 1709 + None, # 1710 + None, # 1711 + None, # 1712 + None, # 1713 + None, # 1714 + None, # 1715 + None, # 1716 + None, # 1717 + None, # 1718 + None, # 1719 + None, # 1720 + None, # 1721 + None, # 1722 + None, # 1723 + None, # 1724 + None, # 1725 + None, # 1726 + None, # 1727 + None, # 1728 + None, # 1729 + None, # 1730 + None, # 1731 + None, # 1732 + None, # 1733 + None, # 1734 + None, # 1735 + None, # 1736 + None, # 1737 + None, # 1738 + None, # 1739 + None, # 1740 + None, # 1741 + None, # 1742 + None, # 1743 + None, # 1744 + None, # 1745 + None, # 1746 + None, # 1747 + None, # 1748 + None, # 1749 + None, # 1750 + None, # 1751 + None, # 1752 + None, # 1753 + None, # 1754 + None, # 1755 + None, # 1756 + None, # 1757 + None, # 1758 + None, # 1759 + None, # 1760 + None, # 1761 + None, # 1762 + None, # 1763 + None, # 1764 + None, # 1765 + None, # 1766 + None, # 1767 + None, # 1768 + None, # 1769 + None, # 1770 + None, # 1771 + None, # 1772 + None, # 1773 + None, # 1774 + None, # 1775 + None, # 1776 + None, # 1777 + None, # 1778 + None, # 1779 + None, # 1780 + None, # 1781 + None, # 1782 + None, # 1783 + None, # 1784 + None, # 1785 + None, # 1786 + None, # 1787 + None, # 1788 + None, # 1789 + None, # 1790 + None, # 1791 + None, # 1792 + None, # 1793 + None, # 1794 + None, # 1795 + None, # 1796 + None, # 1797 + None, # 1798 + None, # 1799 + None, # 1800 + None, # 1801 + None, # 1802 + None, # 1803 + None, # 1804 + None, # 1805 + None, # 1806 + None, # 1807 + None, # 1808 + None, # 1809 + None, # 1810 + None, # 1811 + None, # 1812 + None, # 1813 + None, # 1814 + None, # 1815 + None, # 1816 + None, # 1817 + None, # 1818 + None, # 1819 + None, # 1820 + None, # 1821 + None, # 1822 + None, # 1823 + None, # 1824 + None, # 1825 + None, # 1826 + None, # 1827 + None, # 1828 + None, # 1829 + None, # 1830 + None, # 1831 + None, # 1832 + None, # 1833 + None, # 1834 + None, # 1835 + None, # 1836 + None, # 1837 + None, # 1838 + None, # 1839 + None, # 1840 + None, # 1841 + None, # 1842 + None, # 1843 + None, # 1844 + None, # 1845 + None, # 1846 + None, # 1847 + None, # 1848 + None, # 1849 + None, # 1850 + None, # 1851 + None, # 1852 + None, # 1853 + None, # 1854 + None, # 1855 + None, # 1856 + None, # 1857 + None, # 1858 + None, # 1859 + None, # 1860 + None, # 1861 + None, # 1862 + None, # 1863 + None, # 1864 + None, # 1865 + None, # 1866 + None, # 1867 + None, # 1868 + None, # 1869 + None, # 1870 + None, # 1871 + None, # 1872 + None, # 1873 + None, # 1874 + None, # 1875 + None, # 1876 + None, # 1877 + None, # 1878 + None, # 1879 + None, # 1880 + None, # 1881 + None, # 1882 + None, # 1883 + None, # 1884 + None, # 1885 + None, # 1886 + None, # 1887 + None, # 1888 + None, # 1889 + None, # 1890 + None, # 1891 + None, # 1892 + None, # 1893 + None, # 1894 + None, # 1895 + None, # 1896 + None, # 1897 + None, # 1898 + None, # 1899 + None, # 1900 + None, # 1901 + None, # 1902 + None, # 1903 + None, # 1904 + None, # 1905 + None, # 1906 + None, # 1907 + None, # 1908 + None, # 1909 + None, # 1910 + None, # 1911 + None, # 1912 + None, # 1913 + None, # 1914 + None, # 1915 + None, # 1916 + None, # 1917 + None, # 1918 + None, # 1919 + None, # 1920 + None, # 1921 + None, # 1922 + None, # 1923 + None, # 1924 + None, # 1925 + None, # 1926 + None, # 1927 + None, # 1928 + None, # 1929 + None, # 1930 + None, # 1931 + None, # 1932 + None, # 1933 + None, # 1934 + None, # 1935 + None, # 1936 + None, # 1937 + None, # 1938 + None, # 1939 + None, # 1940 + None, # 1941 + None, # 1942 + None, # 1943 + None, # 1944 + None, # 1945 + None, # 1946 + None, # 1947 + None, # 1948 + None, # 1949 + None, # 1950 + None, # 1951 + None, # 1952 + None, # 1953 + None, # 1954 + None, # 1955 + None, # 1956 + None, # 1957 + None, # 1958 + None, # 1959 + None, # 1960 + None, # 1961 + None, # 1962 + None, # 1963 + None, # 1964 + None, # 1965 + None, # 1966 + None, # 1967 + None, # 1968 + None, # 1969 + None, # 1970 + None, # 1971 + None, # 1972 + None, # 1973 + None, # 1974 + None, # 1975 + None, # 1976 + None, # 1977 + None, # 1978 + None, # 1979 + None, # 1980 + None, # 1981 + None, # 1982 + None, # 1983 + None, # 1984 + None, # 1985 + None, # 1986 + None, # 1987 + None, # 1988 + None, # 1989 + None, # 1990 + None, # 1991 + None, # 1992 + None, # 1993 + None, # 1994 + None, # 1995 + None, # 1996 + None, # 1997 + None, # 1998 + None, # 1999 + None, # 2000 + None, # 2001 + None, # 2002 + None, # 2003 + None, # 2004 + None, # 2005 + None, # 2006 + None, # 2007 + None, # 2008 + None, # 2009 + None, # 2010 + None, # 2011 + None, # 2012 + None, # 2013 + None, # 2014 + None, # 2015 + None, # 2016 + None, # 2017 + None, # 2018 + None, # 2019 + None, # 2020 + None, # 2021 + None, # 2022 + None, # 2023 + None, # 2024 + None, # 2025 + None, # 2026 + None, # 2027 + None, # 2028 + None, # 2029 + None, # 2030 + None, # 2031 + None, # 2032 + None, # 2033 + None, # 2034 + None, # 2035 + None, # 2036 + None, # 2037 + None, # 2038 + None, # 2039 + None, # 2040 + None, # 2041 + None, # 2042 + None, # 2043 + None, # 2044 + None, # 2045 + None, # 2046 + None, # 2047 + None, # 2048 + None, # 2049 + None, # 2050 + None, # 2051 + None, # 2052 + None, # 2053 + None, # 2054 + None, # 2055 + None, # 2056 + None, # 2057 + None, # 2058 + None, # 2059 + None, # 2060 + None, # 2061 + None, # 2062 + None, # 2063 + None, # 2064 + None, # 2065 + None, # 2066 + None, # 2067 + None, # 2068 + None, # 2069 + None, # 2070 + None, # 2071 + None, # 2072 + None, # 2073 + None, # 2074 + None, # 2075 + None, # 2076 + None, # 2077 + None, # 2078 + None, # 2079 + None, # 2080 + None, # 2081 + None, # 2082 + None, # 2083 + None, # 2084 + None, # 2085 + None, # 2086 + None, # 2087 + None, # 2088 + None, # 2089 + None, # 2090 + None, # 2091 + None, # 2092 + None, # 2093 + None, # 2094 + None, # 2095 + None, # 2096 + None, # 2097 + None, # 2098 + None, # 2099 + None, # 2100 + None, # 2101 + None, # 2102 + None, # 2103 + None, # 2104 + None, # 2105 + None, # 2106 + None, # 2107 + None, # 2108 + None, # 2109 + None, # 2110 + None, # 2111 + None, # 2112 + None, # 2113 + None, # 2114 + None, # 2115 + None, # 2116 + None, # 2117 + None, # 2118 + None, # 2119 + None, # 2120 + None, # 2121 + None, # 2122 + None, # 2123 + None, # 2124 + None, # 2125 + None, # 2126 + None, # 2127 + None, # 2128 + None, # 2129 + None, # 2130 + None, # 2131 + None, # 2132 + None, # 2133 + None, # 2134 + None, # 2135 + None, # 2136 + None, # 2137 + None, # 2138 + None, # 2139 + None, # 2140 + None, # 2141 + None, # 2142 + None, # 2143 + None, # 2144 + None, # 2145 + None, # 2146 + None, # 2147 + None, # 2148 + None, # 2149 + None, # 2150 + None, # 2151 + None, # 2152 + None, # 2153 + None, # 2154 + None, # 2155 + None, # 2156 + None, # 2157 + None, # 2158 + None, # 2159 + None, # 2160 + None, # 2161 + None, # 2162 + None, # 2163 + None, # 2164 + None, # 2165 + None, # 2166 + None, # 2167 + None, # 2168 + None, # 2169 + None, # 2170 + None, # 2171 + None, # 2172 + None, # 2173 + None, # 2174 + None, # 2175 + None, # 2176 + None, # 2177 + None, # 2178 + None, # 2179 + None, # 2180 + None, # 2181 + None, # 2182 + None, # 2183 + None, # 2184 + None, # 2185 + None, # 2186 + None, # 2187 + None, # 2188 + None, # 2189 + None, # 2190 + None, # 2191 + None, # 2192 + None, # 2193 + None, # 2194 + None, # 2195 + None, # 2196 + None, # 2197 + None, # 2198 + None, # 2199 + None, # 2200 + None, # 2201 + None, # 2202 + None, # 2203 + None, # 2204 + None, # 2205 + None, # 2206 + None, # 2207 + None, # 2208 + None, # 2209 + None, # 2210 + None, # 2211 + None, # 2212 + None, # 2213 + None, # 2214 + None, # 2215 + None, # 2216 + None, # 2217 + None, # 2218 + None, # 2219 + None, # 2220 + None, # 2221 + None, # 2222 + None, # 2223 + None, # 2224 + None, # 2225 + None, # 2226 + None, # 2227 + None, # 2228 + None, # 2229 + None, # 2230 + None, # 2231 + None, # 2232 + None, # 2233 + None, # 2234 + None, # 2235 + None, # 2236 + None, # 2237 + None, # 2238 + None, # 2239 + None, # 2240 + None, # 2241 + None, # 2242 + None, # 2243 + None, # 2244 + None, # 2245 + None, # 2246 + None, # 2247 + None, # 2248 + None, # 2249 + None, # 2250 + None, # 2251 + None, # 2252 + None, # 2253 + None, # 2254 + None, # 2255 + None, # 2256 + None, # 2257 + None, # 2258 + None, # 2259 + None, # 2260 + None, # 2261 + None, # 2262 + None, # 2263 + None, # 2264 + None, # 2265 + None, # 2266 + None, # 2267 + None, # 2268 + None, # 2269 + None, # 2270 + None, # 2271 + None, # 2272 + None, # 2273 + None, # 2274 + None, # 2275 + None, # 2276 + None, # 2277 + None, # 2278 + None, # 2279 + None, # 2280 + None, # 2281 + None, # 2282 + None, # 2283 + None, # 2284 + None, # 2285 + None, # 2286 + None, # 2287 + None, # 2288 + None, # 2289 + None, # 2290 + None, # 2291 + None, # 2292 + None, # 2293 + None, # 2294 + None, # 2295 + None, # 2296 + None, # 2297 + None, # 2298 + None, # 2299 + None, # 2300 + None, # 2301 + None, # 2302 + None, # 2303 + None, # 2304 + None, # 2305 + None, # 2306 + None, # 2307 + None, # 2308 + None, # 2309 + None, # 2310 + None, # 2311 + None, # 2312 + None, # 2313 + None, # 2314 + None, # 2315 + None, # 2316 + None, # 2317 + None, # 2318 + None, # 2319 + None, # 2320 + None, # 2321 + None, # 2322 + None, # 2323 + None, # 2324 + None, # 2325 + None, # 2326 + None, # 2327 + None, # 2328 + None, # 2329 + None, # 2330 + None, # 2331 + None, # 2332 + None, # 2333 + None, # 2334 + None, # 2335 + None, # 2336 + None, # 2337 + None, # 2338 + None, # 2339 + None, # 2340 + None, # 2341 + None, # 2342 + None, # 2343 + None, # 2344 + None, # 2345 + None, # 2346 + None, # 2347 + None, # 2348 + None, # 2349 + None, # 2350 + None, # 2351 + None, # 2352 + None, # 2353 + None, # 2354 + None, # 2355 + None, # 2356 + None, # 2357 + None, # 2358 + None, # 2359 + None, # 2360 + None, # 2361 + None, # 2362 + None, # 2363 + None, # 2364 + None, # 2365 + None, # 2366 + None, # 2367 + None, # 2368 + None, # 2369 + None, # 2370 + None, # 2371 + None, # 2372 + None, # 2373 + None, # 2374 + None, # 2375 + None, # 2376 + None, # 2377 + None, # 2378 + None, # 2379 + None, # 2380 + None, # 2381 + None, # 2382 + None, # 2383 + None, # 2384 + None, # 2385 + None, # 2386 + None, # 2387 + None, # 2388 + None, # 2389 + None, # 2390 + None, # 2391 + None, # 2392 + None, # 2393 + None, # 2394 + None, # 2395 + None, # 2396 + None, # 2397 + None, # 2398 + None, # 2399 + None, # 2400 + None, # 2401 + None, # 2402 + None, # 2403 + None, # 2404 + None, # 2405 + None, # 2406 + None, # 2407 + None, # 2408 + None, # 2409 + None, # 2410 + None, # 2411 + None, # 2412 + None, # 2413 + None, # 2414 + None, # 2415 + None, # 2416 + None, # 2417 + None, # 2418 + None, # 2419 + None, # 2420 + None, # 2421 + None, # 2422 + None, # 2423 + None, # 2424 + None, # 2425 + None, # 2426 + None, # 2427 + None, # 2428 + None, # 2429 + None, # 2430 + None, # 2431 + None, # 2432 + None, # 2433 + None, # 2434 + None, # 2435 + None, # 2436 + None, # 2437 + None, # 2438 + None, # 2439 + None, # 2440 + None, # 2441 + None, # 2442 + None, # 2443 + None, # 2444 + None, # 2445 + None, # 2446 + None, # 2447 + None, # 2448 + None, # 2449 + None, # 2450 + None, # 2451 + None, # 2452 + None, # 2453 + None, # 2454 + None, # 2455 + None, # 2456 + None, # 2457 + None, # 2458 + None, # 2459 + None, # 2460 + None, # 2461 + None, # 2462 + None, # 2463 + None, # 2464 + None, # 2465 + None, # 2466 + None, # 2467 + None, # 2468 + None, # 2469 + None, # 2470 + None, # 2471 + None, # 2472 + None, # 2473 + None, # 2474 + None, # 2475 + None, # 2476 + None, # 2477 + None, # 2478 + None, # 2479 + None, # 2480 + None, # 2481 + None, # 2482 + None, # 2483 + None, # 2484 + None, # 2485 + None, # 2486 + None, # 2487 + None, # 2488 + None, # 2489 + None, # 2490 + None, # 2491 + None, # 2492 + None, # 2493 + None, # 2494 + None, # 2495 + None, # 2496 + None, # 2497 + None, # 2498 + None, # 2499 + None, # 2500 + None, # 2501 + None, # 2502 + None, # 2503 + None, # 2504 + None, # 2505 + None, # 2506 + None, # 2507 + None, # 2508 + None, # 2509 + None, # 2510 + None, # 2511 + None, # 2512 + None, # 2513 + None, # 2514 + None, # 2515 + None, # 2516 + None, # 2517 + None, # 2518 + None, # 2519 + None, # 2520 + None, # 2521 + None, # 2522 + None, # 2523 + None, # 2524 + None, # 2525 + None, # 2526 + None, # 2527 + None, # 2528 + None, # 2529 + None, # 2530 + None, # 2531 + None, # 2532 + None, # 2533 + None, # 2534 + None, # 2535 + None, # 2536 + None, # 2537 + None, # 2538 + None, # 2539 + None, # 2540 + None, # 2541 + None, # 2542 + None, # 2543 + None, # 2544 + None, # 2545 + None, # 2546 + None, # 2547 + None, # 2548 + None, # 2549 + None, # 2550 + None, # 2551 + None, # 2552 + None, # 2553 + None, # 2554 + None, # 2555 + None, # 2556 + None, # 2557 + None, # 2558 + None, # 2559 + None, # 2560 + None, # 2561 + None, # 2562 + None, # 2563 + None, # 2564 + None, # 2565 + None, # 2566 + None, # 2567 + None, # 2568 + None, # 2569 + None, # 2570 + None, # 2571 + None, # 2572 + None, # 2573 + None, # 2574 + None, # 2575 + None, # 2576 + None, # 2577 + None, # 2578 + None, # 2579 + None, # 2580 + None, # 2581 + None, # 2582 + None, # 2583 + None, # 2584 + None, # 2585 + None, # 2586 + None, # 2587 + None, # 2588 + None, # 2589 + None, # 2590 + None, # 2591 + None, # 2592 + None, # 2593 + None, # 2594 + None, # 2595 + None, # 2596 + None, # 2597 + None, # 2598 + None, # 2599 + None, # 2600 + None, # 2601 + None, # 2602 + None, # 2603 + None, # 2604 + None, # 2605 + None, # 2606 + None, # 2607 + None, # 2608 + None, # 2609 + None, # 2610 + None, # 2611 + None, # 2612 + None, # 2613 + None, # 2614 + None, # 2615 + None, # 2616 + None, # 2617 + None, # 2618 + None, # 2619 + None, # 2620 + None, # 2621 + None, # 2622 + None, # 2623 + None, # 2624 + None, # 2625 + None, # 2626 + None, # 2627 + None, # 2628 + None, # 2629 + None, # 2630 + None, # 2631 + None, # 2632 + None, # 2633 + None, # 2634 + None, # 2635 + None, # 2636 + None, # 2637 + None, # 2638 + None, # 2639 + None, # 2640 + None, # 2641 + None, # 2642 + None, # 2643 + None, # 2644 + None, # 2645 + None, # 2646 + None, # 2647 + None, # 2648 + None, # 2649 + None, # 2650 + None, # 2651 + None, # 2652 + None, # 2653 + None, # 2654 + None, # 2655 + None, # 2656 + None, # 2657 + None, # 2658 + None, # 2659 + None, # 2660 + None, # 2661 + None, # 2662 + None, # 2663 + None, # 2664 + None, # 2665 + None, # 2666 + None, # 2667 + None, # 2668 + None, # 2669 + None, # 2670 + None, # 2671 + None, # 2672 + None, # 2673 + None, # 2674 + None, # 2675 + None, # 2676 + None, # 2677 + None, # 2678 + None, # 2679 + None, # 2680 + None, # 2681 + None, # 2682 + None, # 2683 + None, # 2684 + None, # 2685 + None, # 2686 + None, # 2687 + None, # 2688 + None, # 2689 + None, # 2690 + None, # 2691 + None, # 2692 + None, # 2693 + None, # 2694 + None, # 2695 + None, # 2696 + None, # 2697 + None, # 2698 + None, # 2699 + None, # 2700 + None, # 2701 + None, # 2702 + None, # 2703 + None, # 2704 + None, # 2705 + None, # 2706 + None, # 2707 + None, # 2708 + None, # 2709 + None, # 2710 + None, # 2711 + None, # 2712 + None, # 2713 + None, # 2714 + None, # 2715 + None, # 2716 + None, # 2717 + None, # 2718 + None, # 2719 + None, # 2720 + None, # 2721 + None, # 2722 + None, # 2723 + None, # 2724 + None, # 2725 + None, # 2726 + None, # 2727 + None, # 2728 + None, # 2729 + None, # 2730 + None, # 2731 + None, # 2732 + None, # 2733 + None, # 2734 + None, # 2735 + None, # 2736 + None, # 2737 + None, # 2738 + None, # 2739 + None, # 2740 + None, # 2741 + None, # 2742 + None, # 2743 + None, # 2744 + None, # 2745 + None, # 2746 + None, # 2747 + None, # 2748 + None, # 2749 + None, # 2750 + None, # 2751 + None, # 2752 + None, # 2753 + None, # 2754 + None, # 2755 + None, # 2756 + None, # 2757 + None, # 2758 + None, # 2759 + None, # 2760 + None, # 2761 + None, # 2762 + None, # 2763 + None, # 2764 + None, # 2765 + None, # 2766 + None, # 2767 + None, # 2768 + None, # 2769 + None, # 2770 + None, # 2771 + None, # 2772 + None, # 2773 + None, # 2774 + None, # 2775 + None, # 2776 + None, # 2777 + None, # 2778 + None, # 2779 + None, # 2780 + None, # 2781 + None, # 2782 + None, # 2783 + None, # 2784 + None, # 2785 + None, # 2786 + None, # 2787 + None, # 2788 + None, # 2789 + None, # 2790 + None, # 2791 + None, # 2792 + None, # 2793 + None, # 2794 + None, # 2795 + None, # 2796 + None, # 2797 + None, # 2798 + None, # 2799 + None, # 2800 + None, # 2801 + None, # 2802 + None, # 2803 + None, # 2804 + None, # 2805 + None, # 2806 + None, # 2807 + None, # 2808 + None, # 2809 + None, # 2810 + None, # 2811 + None, # 2812 + None, # 2813 + None, # 2814 + None, # 2815 + None, # 2816 + None, # 2817 + None, # 2818 + None, # 2819 + None, # 2820 + None, # 2821 + None, # 2822 + None, # 2823 + None, # 2824 + None, # 2825 + None, # 2826 + None, # 2827 + None, # 2828 + None, # 2829 + None, # 2830 + None, # 2831 + None, # 2832 + None, # 2833 + None, # 2834 + None, # 2835 + None, # 2836 + None, # 2837 + None, # 2838 + None, # 2839 + None, # 2840 + None, # 2841 + None, # 2842 + None, # 2843 + None, # 2844 + None, # 2845 + None, # 2846 + None, # 2847 + None, # 2848 + None, # 2849 + None, # 2850 + None, # 2851 + None, # 2852 + None, # 2853 + None, # 2854 + None, # 2855 + None, # 2856 + None, # 2857 + None, # 2858 + None, # 2859 + None, # 2860 + None, # 2861 + None, # 2862 + None, # 2863 + None, # 2864 + None, # 2865 + None, # 2866 + None, # 2867 + None, # 2868 + None, # 2869 + None, # 2870 + None, # 2871 + None, # 2872 + None, # 2873 + None, # 2874 + None, # 2875 + None, # 2876 + None, # 2877 + None, # 2878 + None, # 2879 + None, # 2880 + None, # 2881 + None, # 2882 + None, # 2883 + None, # 2884 + None, # 2885 + None, # 2886 + None, # 2887 + None, # 2888 + None, # 2889 + None, # 2890 + None, # 2891 + None, # 2892 + None, # 2893 + None, # 2894 + None, # 2895 + None, # 2896 + None, # 2897 + None, # 2898 + None, # 2899 + None, # 2900 + None, # 2901 + None, # 2902 + None, # 2903 + None, # 2904 + None, # 2905 + None, # 2906 + None, # 2907 + None, # 2908 + None, # 2909 + None, # 2910 + None, # 2911 + None, # 2912 + None, # 2913 + None, # 2914 + None, # 2915 + None, # 2916 + None, # 2917 + None, # 2918 + None, # 2919 + None, # 2920 + None, # 2921 + None, # 2922 + None, # 2923 + None, # 2924 + None, # 2925 + None, # 2926 + None, # 2927 + None, # 2928 + None, # 2929 + None, # 2930 + None, # 2931 + None, # 2932 + None, # 2933 + None, # 2934 + None, # 2935 + None, # 2936 + None, # 2937 + None, # 2938 + None, # 2939 + None, # 2940 + None, # 2941 + None, # 2942 + None, # 2943 + None, # 2944 + None, # 2945 + None, # 2946 + None, # 2947 + None, # 2948 + None, # 2949 + None, # 2950 + None, # 2951 + None, # 2952 + None, # 2953 + None, # 2954 + None, # 2955 + None, # 2956 + None, # 2957 + None, # 2958 + None, # 2959 + None, # 2960 + None, # 2961 + None, # 2962 + None, # 2963 + None, # 2964 + None, # 2965 + None, # 2966 + None, # 2967 + None, # 2968 + None, # 2969 + None, # 2970 + None, # 2971 + None, # 2972 + None, # 2973 + None, # 2974 + None, # 2975 + None, # 2976 + None, # 2977 + None, # 2978 + None, # 2979 + None, # 2980 + None, # 2981 + None, # 2982 + None, # 2983 + None, # 2984 + None, # 2985 + None, # 2986 + None, # 2987 + None, # 2988 + None, # 2989 + None, # 2990 + None, # 2991 + None, # 2992 + None, # 2993 + None, # 2994 + None, # 2995 + None, # 2996 + None, # 2997 + None, # 2998 + None, # 2999 + None, # 3000 + None, # 3001 + None, # 3002 + None, # 3003 + None, # 3004 + None, # 3005 + None, # 3006 + None, # 3007 + None, # 3008 + None, # 3009 + None, # 3010 + None, # 3011 + None, # 3012 + None, # 3013 + None, # 3014 + None, # 3015 + None, # 3016 + None, # 3017 + None, # 3018 + None, # 3019 + None, # 3020 + None, # 3021 + None, # 3022 + None, # 3023 + None, # 3024 + None, # 3025 + None, # 3026 + None, # 3027 + None, # 3028 + None, # 3029 + None, # 3030 + None, # 3031 + None, # 3032 + None, # 3033 + None, # 3034 + None, # 3035 + None, # 3036 + None, # 3037 + None, # 3038 + None, # 3039 + None, # 3040 + None, # 3041 + None, # 3042 + None, # 3043 + None, # 3044 + None, # 3045 + None, # 3046 + None, # 3047 + None, # 3048 + None, # 3049 + None, # 3050 + None, # 3051 + None, # 3052 + None, # 3053 + None, # 3054 + None, # 3055 + None, # 3056 + None, # 3057 + None, # 3058 + None, # 3059 + None, # 3060 + None, # 3061 + None, # 3062 + None, # 3063 + None, # 3064 + None, # 3065 + None, # 3066 + None, # 3067 + None, # 3068 + None, # 3069 + None, # 3070 + None, # 3071 + None, # 3072 + None, # 3073 + None, # 3074 + None, # 3075 + None, # 3076 + None, # 3077 + None, # 3078 + None, # 3079 + None, # 3080 + None, # 3081 + None, # 3082 + None, # 3083 + None, # 3084 + None, # 3085 + None, # 3086 + None, # 3087 + None, # 3088 + None, # 3089 + None, # 3090 + None, # 3091 + None, # 3092 + None, # 3093 + None, # 3094 + None, # 3095 + None, # 3096 + None, # 3097 + None, # 3098 + None, # 3099 + None, # 3100 + None, # 3101 + None, # 3102 + None, # 3103 + None, # 3104 + None, # 3105 + None, # 3106 + None, # 3107 + None, # 3108 + None, # 3109 + None, # 3110 + None, # 3111 + None, # 3112 + None, # 3113 + None, # 3114 + None, # 3115 + None, # 3116 + None, # 3117 + None, # 3118 + None, # 3119 + None, # 3120 + None, # 3121 + None, # 3122 + None, # 3123 + None, # 3124 + None, # 3125 + None, # 3126 + None, # 3127 + None, # 3128 + None, # 3129 + None, # 3130 + None, # 3131 + None, # 3132 + None, # 3133 + None, # 3134 + None, # 3135 + None, # 3136 + None, # 3137 + None, # 3138 + None, # 3139 + None, # 3140 + None, # 3141 + None, # 3142 + None, # 3143 + None, # 3144 + None, # 3145 + None, # 3146 + None, # 3147 + None, # 3148 + None, # 3149 + None, # 3150 + None, # 3151 + None, # 3152 + None, # 3153 + None, # 3154 + None, # 3155 + None, # 3156 + None, # 3157 + None, # 3158 + None, # 3159 + None, # 3160 + None, # 3161 + None, # 3162 + None, # 3163 + None, # 3164 + None, # 3165 + None, # 3166 + None, # 3167 + None, # 3168 + None, # 3169 + None, # 3170 + None, # 3171 + None, # 3172 + None, # 3173 + None, # 3174 + None, # 3175 + None, # 3176 + None, # 3177 + None, # 3178 + None, # 3179 + None, # 3180 + None, # 3181 + None, # 3182 + None, # 3183 + None, # 3184 + None, # 3185 + None, # 3186 + None, # 3187 + None, # 3188 + None, # 3189 + None, # 3190 + None, # 3191 + None, # 3192 + None, # 3193 + None, # 3194 + None, # 3195 + None, # 3196 + None, # 3197 + None, # 3198 + None, # 3199 + None, # 3200 + None, # 3201 + None, # 3202 + None, # 3203 + None, # 3204 + None, # 3205 + None, # 3206 + None, # 3207 + None, # 3208 + None, # 3209 + None, # 3210 + None, # 3211 + None, # 3212 + None, # 3213 + None, # 3214 + None, # 3215 + None, # 3216 + None, # 3217 + None, # 3218 + None, # 3219 + None, # 3220 + None, # 3221 + None, # 3222 + None, # 3223 + None, # 3224 + None, # 3225 + None, # 3226 + None, # 3227 + None, # 3228 + None, # 3229 + None, # 3230 + None, # 3231 + None, # 3232 + None, # 3233 + None, # 3234 + None, # 3235 + None, # 3236 + None, # 3237 + None, # 3238 + None, # 3239 + None, # 3240 + None, # 3241 + None, # 3242 + None, # 3243 + None, # 3244 + None, # 3245 + None, # 3246 + None, # 3247 + None, # 3248 + None, # 3249 + None, # 3250 + None, # 3251 + None, # 3252 + None, # 3253 + None, # 3254 + None, # 3255 + None, # 3256 + None, # 3257 + None, # 3258 + None, # 3259 + None, # 3260 + None, # 3261 + None, # 3262 + None, # 3263 + None, # 3264 + None, # 3265 + None, # 3266 + None, # 3267 + None, # 3268 + None, # 3269 + None, # 3270 + None, # 3271 + None, # 3272 + None, # 3273 + None, # 3274 + None, # 3275 + None, # 3276 + None, # 3277 + None, # 3278 + None, # 3279 + None, # 3280 + None, # 3281 + None, # 3282 + None, # 3283 + None, # 3284 + None, # 3285 + None, # 3286 + None, # 3287 + None, # 3288 + None, # 3289 + None, # 3290 + None, # 3291 + None, # 3292 + None, # 3293 + None, # 3294 + None, # 3295 + None, # 3296 + None, # 3297 + None, # 3298 + None, # 3299 + None, # 3300 + None, # 3301 + None, # 3302 + None, # 3303 + None, # 3304 + None, # 3305 + None, # 3306 + None, # 3307 + None, # 3308 + None, # 3309 + None, # 3310 + None, # 3311 + None, # 3312 + None, # 3313 + None, # 3314 + None, # 3315 + None, # 3316 + None, # 3317 + None, # 3318 + None, # 3319 + None, # 3320 + None, # 3321 + None, # 3322 + None, # 3323 + None, # 3324 + None, # 3325 + None, # 3326 + None, # 3327 + None, # 3328 + (3329, TType.I32, 'serverProtocolVersion', None, None, ), # 3329 ) all_structs.append(TOperationHandle) TOperationHandle.thrift_spec = ( - None, # 0 - ( - 1, - TType.STRUCT, - "operationId", - [THandleIdentifier, None], - None, - ), # 1 - ( - 2, - TType.I32, - "operationType", - None, - None, - ), # 2 - ( - 3, - TType.BOOL, - "hasResultSet", - None, - None, - ), # 3 - ( - 4, - TType.DOUBLE, - "modifiedRowCount", - None, - None, - ), # 4 + None, # 0 + (1, TType.STRUCT, 'operationId', [THandleIdentifier, None], None, ), # 1 + (2, TType.I32, 'operationType', None, None, ), # 2 + (3, TType.BOOL, 'hasResultSet', None, None, ), # 3 + (4, TType.DOUBLE, 'modifiedRowCount', None, None, ), # 4 ) all_structs.append(TOpenSessionReq) TOpenSessionReq.thrift_spec = ( - None, # 0 - ( - 1, - TType.I32, - "client_protocol", - None, - -7, - ), # 1 - ( - 2, - TType.STRING, - "username", - "UTF8", - None, - ), # 2 - ( - 3, - TType.STRING, - "password", - "UTF8", - None, - ), # 3 - ( - 4, - TType.MAP, - "configuration", - (TType.STRING, "UTF8", TType.STRING, "UTF8", False), - None, - ), # 4 - None, # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - ( - 1281, - TType.LIST, - "getInfos", - (TType.I32, None, False), - None, - ), # 1281 - ( - 1282, - TType.I64, - "client_protocol_i64", - None, - None, - ), # 1282 - ( - 1283, - TType.MAP, - "connectionProperties", - (TType.STRING, "UTF8", TType.STRING, "UTF8", False), - None, - ), # 1283 - ( - 1284, - TType.STRUCT, - "initialNamespace", - [TNamespace, None], - None, - ), # 1284 - ( - 1285, - TType.BOOL, - "canUseMultipleCatalogs", - None, - None, - ), # 1285 - None, # 1286 - None, # 1287 - None, # 1288 - None, # 1289 - None, # 1290 - None, # 1291 - None, # 1292 - None, # 1293 - None, # 1294 - None, # 1295 - None, # 1296 - None, # 1297 - None, # 1298 - None, # 1299 - None, # 1300 - None, # 1301 - None, # 1302 - None, # 1303 - None, # 1304 - None, # 1305 - None, # 1306 - None, # 1307 - None, # 1308 - None, # 1309 - None, # 1310 - None, # 1311 - None, # 1312 - None, # 1313 - None, # 1314 - None, # 1315 - None, # 1316 - None, # 1317 - None, # 1318 - None, # 1319 - None, # 1320 - None, # 1321 - None, # 1322 - None, # 1323 - None, # 1324 - None, # 1325 - None, # 1326 - None, # 1327 - None, # 1328 - None, # 1329 - None, # 1330 - None, # 1331 - None, # 1332 - None, # 1333 - None, # 1334 - None, # 1335 - None, # 1336 - None, # 1337 - None, # 1338 - None, # 1339 - None, # 1340 - None, # 1341 - None, # 1342 - None, # 1343 - None, # 1344 - None, # 1345 - None, # 1346 - None, # 1347 - None, # 1348 - None, # 1349 - None, # 1350 - None, # 1351 - None, # 1352 - None, # 1353 - None, # 1354 - None, # 1355 - None, # 1356 - None, # 1357 - None, # 1358 - None, # 1359 - None, # 1360 - None, # 1361 - None, # 1362 - None, # 1363 - None, # 1364 - None, # 1365 - None, # 1366 - None, # 1367 - None, # 1368 - None, # 1369 - None, # 1370 - None, # 1371 - None, # 1372 - None, # 1373 - None, # 1374 - None, # 1375 - None, # 1376 - None, # 1377 - None, # 1378 - None, # 1379 - None, # 1380 - None, # 1381 - None, # 1382 - None, # 1383 - None, # 1384 - None, # 1385 - None, # 1386 - None, # 1387 - None, # 1388 - None, # 1389 - None, # 1390 - None, # 1391 - None, # 1392 - None, # 1393 - None, # 1394 - None, # 1395 - None, # 1396 - None, # 1397 - None, # 1398 - None, # 1399 - None, # 1400 - None, # 1401 - None, # 1402 - None, # 1403 - None, # 1404 - None, # 1405 - None, # 1406 - None, # 1407 - None, # 1408 - None, # 1409 - None, # 1410 - None, # 1411 - None, # 1412 - None, # 1413 - None, # 1414 - None, # 1415 - None, # 1416 - None, # 1417 - None, # 1418 - None, # 1419 - None, # 1420 - None, # 1421 - None, # 1422 - None, # 1423 - None, # 1424 - None, # 1425 - None, # 1426 - None, # 1427 - None, # 1428 - None, # 1429 - None, # 1430 - None, # 1431 - None, # 1432 - None, # 1433 - None, # 1434 - None, # 1435 - None, # 1436 - None, # 1437 - None, # 1438 - None, # 1439 - None, # 1440 - None, # 1441 - None, # 1442 - None, # 1443 - None, # 1444 - None, # 1445 - None, # 1446 - None, # 1447 - None, # 1448 - None, # 1449 - None, # 1450 - None, # 1451 - None, # 1452 - None, # 1453 - None, # 1454 - None, # 1455 - None, # 1456 - None, # 1457 - None, # 1458 - None, # 1459 - None, # 1460 - None, # 1461 - None, # 1462 - None, # 1463 - None, # 1464 - None, # 1465 - None, # 1466 - None, # 1467 - None, # 1468 - None, # 1469 - None, # 1470 - None, # 1471 - None, # 1472 - None, # 1473 - None, # 1474 - None, # 1475 - None, # 1476 - None, # 1477 - None, # 1478 - None, # 1479 - None, # 1480 - None, # 1481 - None, # 1482 - None, # 1483 - None, # 1484 - None, # 1485 - None, # 1486 - None, # 1487 - None, # 1488 - None, # 1489 - None, # 1490 - None, # 1491 - None, # 1492 - None, # 1493 - None, # 1494 - None, # 1495 - None, # 1496 - None, # 1497 - None, # 1498 - None, # 1499 - None, # 1500 - None, # 1501 - None, # 1502 - None, # 1503 - None, # 1504 - None, # 1505 - None, # 1506 - None, # 1507 - None, # 1508 - None, # 1509 - None, # 1510 - None, # 1511 - None, # 1512 - None, # 1513 - None, # 1514 - None, # 1515 - None, # 1516 - None, # 1517 - None, # 1518 - None, # 1519 - None, # 1520 - None, # 1521 - None, # 1522 - None, # 1523 - None, # 1524 - None, # 1525 - None, # 1526 - None, # 1527 - None, # 1528 - None, # 1529 - None, # 1530 - None, # 1531 - None, # 1532 - None, # 1533 - None, # 1534 - None, # 1535 - None, # 1536 - None, # 1537 - None, # 1538 - None, # 1539 - None, # 1540 - None, # 1541 - None, # 1542 - None, # 1543 - None, # 1544 - None, # 1545 - None, # 1546 - None, # 1547 - None, # 1548 - None, # 1549 - None, # 1550 - None, # 1551 - None, # 1552 - None, # 1553 - None, # 1554 - None, # 1555 - None, # 1556 - None, # 1557 - None, # 1558 - None, # 1559 - None, # 1560 - None, # 1561 - None, # 1562 - None, # 1563 - None, # 1564 - None, # 1565 - None, # 1566 - None, # 1567 - None, # 1568 - None, # 1569 - None, # 1570 - None, # 1571 - None, # 1572 - None, # 1573 - None, # 1574 - None, # 1575 - None, # 1576 - None, # 1577 - None, # 1578 - None, # 1579 - None, # 1580 - None, # 1581 - None, # 1582 - None, # 1583 - None, # 1584 - None, # 1585 - None, # 1586 - None, # 1587 - None, # 1588 - None, # 1589 - None, # 1590 - None, # 1591 - None, # 1592 - None, # 1593 - None, # 1594 - None, # 1595 - None, # 1596 - None, # 1597 - None, # 1598 - None, # 1599 - None, # 1600 - None, # 1601 - None, # 1602 - None, # 1603 - None, # 1604 - None, # 1605 - None, # 1606 - None, # 1607 - None, # 1608 - None, # 1609 - None, # 1610 - None, # 1611 - None, # 1612 - None, # 1613 - None, # 1614 - None, # 1615 - None, # 1616 - None, # 1617 - None, # 1618 - None, # 1619 - None, # 1620 - None, # 1621 - None, # 1622 - None, # 1623 - None, # 1624 - None, # 1625 - None, # 1626 - None, # 1627 - None, # 1628 - None, # 1629 - None, # 1630 - None, # 1631 - None, # 1632 - None, # 1633 - None, # 1634 - None, # 1635 - None, # 1636 - None, # 1637 - None, # 1638 - None, # 1639 - None, # 1640 - None, # 1641 - None, # 1642 - None, # 1643 - None, # 1644 - None, # 1645 - None, # 1646 - None, # 1647 - None, # 1648 - None, # 1649 - None, # 1650 - None, # 1651 - None, # 1652 - None, # 1653 - None, # 1654 - None, # 1655 - None, # 1656 - None, # 1657 - None, # 1658 - None, # 1659 - None, # 1660 - None, # 1661 - None, # 1662 - None, # 1663 - None, # 1664 - None, # 1665 - None, # 1666 - None, # 1667 - None, # 1668 - None, # 1669 - None, # 1670 - None, # 1671 - None, # 1672 - None, # 1673 - None, # 1674 - None, # 1675 - None, # 1676 - None, # 1677 - None, # 1678 - None, # 1679 - None, # 1680 - None, # 1681 - None, # 1682 - None, # 1683 - None, # 1684 - None, # 1685 - None, # 1686 - None, # 1687 - None, # 1688 - None, # 1689 - None, # 1690 - None, # 1691 - None, # 1692 - None, # 1693 - None, # 1694 - None, # 1695 - None, # 1696 - None, # 1697 - None, # 1698 - None, # 1699 - None, # 1700 - None, # 1701 - None, # 1702 - None, # 1703 - None, # 1704 - None, # 1705 - None, # 1706 - None, # 1707 - None, # 1708 - None, # 1709 - None, # 1710 - None, # 1711 - None, # 1712 - None, # 1713 - None, # 1714 - None, # 1715 - None, # 1716 - None, # 1717 - None, # 1718 - None, # 1719 - None, # 1720 - None, # 1721 - None, # 1722 - None, # 1723 - None, # 1724 - None, # 1725 - None, # 1726 - None, # 1727 - None, # 1728 - None, # 1729 - None, # 1730 - None, # 1731 - None, # 1732 - None, # 1733 - None, # 1734 - None, # 1735 - None, # 1736 - None, # 1737 - None, # 1738 - None, # 1739 - None, # 1740 - None, # 1741 - None, # 1742 - None, # 1743 - None, # 1744 - None, # 1745 - None, # 1746 - None, # 1747 - None, # 1748 - None, # 1749 - None, # 1750 - None, # 1751 - None, # 1752 - None, # 1753 - None, # 1754 - None, # 1755 - None, # 1756 - None, # 1757 - None, # 1758 - None, # 1759 - None, # 1760 - None, # 1761 - None, # 1762 - None, # 1763 - None, # 1764 - None, # 1765 - None, # 1766 - None, # 1767 - None, # 1768 - None, # 1769 - None, # 1770 - None, # 1771 - None, # 1772 - None, # 1773 - None, # 1774 - None, # 1775 - None, # 1776 - None, # 1777 - None, # 1778 - None, # 1779 - None, # 1780 - None, # 1781 - None, # 1782 - None, # 1783 - None, # 1784 - None, # 1785 - None, # 1786 - None, # 1787 - None, # 1788 - None, # 1789 - None, # 1790 - None, # 1791 - None, # 1792 - None, # 1793 - None, # 1794 - None, # 1795 - None, # 1796 - None, # 1797 - None, # 1798 - None, # 1799 - None, # 1800 - None, # 1801 - None, # 1802 - None, # 1803 - None, # 1804 - None, # 1805 - None, # 1806 - None, # 1807 - None, # 1808 - None, # 1809 - None, # 1810 - None, # 1811 - None, # 1812 - None, # 1813 - None, # 1814 - None, # 1815 - None, # 1816 - None, # 1817 - None, # 1818 - None, # 1819 - None, # 1820 - None, # 1821 - None, # 1822 - None, # 1823 - None, # 1824 - None, # 1825 - None, # 1826 - None, # 1827 - None, # 1828 - None, # 1829 - None, # 1830 - None, # 1831 - None, # 1832 - None, # 1833 - None, # 1834 - None, # 1835 - None, # 1836 - None, # 1837 - None, # 1838 - None, # 1839 - None, # 1840 - None, # 1841 - None, # 1842 - None, # 1843 - None, # 1844 - None, # 1845 - None, # 1846 - None, # 1847 - None, # 1848 - None, # 1849 - None, # 1850 - None, # 1851 - None, # 1852 - None, # 1853 - None, # 1854 - None, # 1855 - None, # 1856 - None, # 1857 - None, # 1858 - None, # 1859 - None, # 1860 - None, # 1861 - None, # 1862 - None, # 1863 - None, # 1864 - None, # 1865 - None, # 1866 - None, # 1867 - None, # 1868 - None, # 1869 - None, # 1870 - None, # 1871 - None, # 1872 - None, # 1873 - None, # 1874 - None, # 1875 - None, # 1876 - None, # 1877 - None, # 1878 - None, # 1879 - None, # 1880 - None, # 1881 - None, # 1882 - None, # 1883 - None, # 1884 - None, # 1885 - None, # 1886 - None, # 1887 - None, # 1888 - None, # 1889 - None, # 1890 - None, # 1891 - None, # 1892 - None, # 1893 - None, # 1894 - None, # 1895 - None, # 1896 - None, # 1897 - None, # 1898 - None, # 1899 - None, # 1900 - None, # 1901 - None, # 1902 - None, # 1903 - None, # 1904 - None, # 1905 - None, # 1906 - None, # 1907 - None, # 1908 - None, # 1909 - None, # 1910 - None, # 1911 - None, # 1912 - None, # 1913 - None, # 1914 - None, # 1915 - None, # 1916 - None, # 1917 - None, # 1918 - None, # 1919 - None, # 1920 - None, # 1921 - None, # 1922 - None, # 1923 - None, # 1924 - None, # 1925 - None, # 1926 - None, # 1927 - None, # 1928 - None, # 1929 - None, # 1930 - None, # 1931 - None, # 1932 - None, # 1933 - None, # 1934 - None, # 1935 - None, # 1936 - None, # 1937 - None, # 1938 - None, # 1939 - None, # 1940 - None, # 1941 - None, # 1942 - None, # 1943 - None, # 1944 - None, # 1945 - None, # 1946 - None, # 1947 - None, # 1948 - None, # 1949 - None, # 1950 - None, # 1951 - None, # 1952 - None, # 1953 - None, # 1954 - None, # 1955 - None, # 1956 - None, # 1957 - None, # 1958 - None, # 1959 - None, # 1960 - None, # 1961 - None, # 1962 - None, # 1963 - None, # 1964 - None, # 1965 - None, # 1966 - None, # 1967 - None, # 1968 - None, # 1969 - None, # 1970 - None, # 1971 - None, # 1972 - None, # 1973 - None, # 1974 - None, # 1975 - None, # 1976 - None, # 1977 - None, # 1978 - None, # 1979 - None, # 1980 - None, # 1981 - None, # 1982 - None, # 1983 - None, # 1984 - None, # 1985 - None, # 1986 - None, # 1987 - None, # 1988 - None, # 1989 - None, # 1990 - None, # 1991 - None, # 1992 - None, # 1993 - None, # 1994 - None, # 1995 - None, # 1996 - None, # 1997 - None, # 1998 - None, # 1999 - None, # 2000 - None, # 2001 - None, # 2002 - None, # 2003 - None, # 2004 - None, # 2005 - None, # 2006 - None, # 2007 - None, # 2008 - None, # 2009 - None, # 2010 - None, # 2011 - None, # 2012 - None, # 2013 - None, # 2014 - None, # 2015 - None, # 2016 - None, # 2017 - None, # 2018 - None, # 2019 - None, # 2020 - None, # 2021 - None, # 2022 - None, # 2023 - None, # 2024 - None, # 2025 - None, # 2026 - None, # 2027 - None, # 2028 - None, # 2029 - None, # 2030 - None, # 2031 - None, # 2032 - None, # 2033 - None, # 2034 - None, # 2035 - None, # 2036 - None, # 2037 - None, # 2038 - None, # 2039 - None, # 2040 - None, # 2041 - None, # 2042 - None, # 2043 - None, # 2044 - None, # 2045 - None, # 2046 - None, # 2047 - None, # 2048 - None, # 2049 - None, # 2050 - None, # 2051 - None, # 2052 - None, # 2053 - None, # 2054 - None, # 2055 - None, # 2056 - None, # 2057 - None, # 2058 - None, # 2059 - None, # 2060 - None, # 2061 - None, # 2062 - None, # 2063 - None, # 2064 - None, # 2065 - None, # 2066 - None, # 2067 - None, # 2068 - None, # 2069 - None, # 2070 - None, # 2071 - None, # 2072 - None, # 2073 - None, # 2074 - None, # 2075 - None, # 2076 - None, # 2077 - None, # 2078 - None, # 2079 - None, # 2080 - None, # 2081 - None, # 2082 - None, # 2083 - None, # 2084 - None, # 2085 - None, # 2086 - None, # 2087 - None, # 2088 - None, # 2089 - None, # 2090 - None, # 2091 - None, # 2092 - None, # 2093 - None, # 2094 - None, # 2095 - None, # 2096 - None, # 2097 - None, # 2098 - None, # 2099 - None, # 2100 - None, # 2101 - None, # 2102 - None, # 2103 - None, # 2104 - None, # 2105 - None, # 2106 - None, # 2107 - None, # 2108 - None, # 2109 - None, # 2110 - None, # 2111 - None, # 2112 - None, # 2113 - None, # 2114 - None, # 2115 - None, # 2116 - None, # 2117 - None, # 2118 - None, # 2119 - None, # 2120 - None, # 2121 - None, # 2122 - None, # 2123 - None, # 2124 - None, # 2125 - None, # 2126 - None, # 2127 - None, # 2128 - None, # 2129 - None, # 2130 - None, # 2131 - None, # 2132 - None, # 2133 - None, # 2134 - None, # 2135 - None, # 2136 - None, # 2137 - None, # 2138 - None, # 2139 - None, # 2140 - None, # 2141 - None, # 2142 - None, # 2143 - None, # 2144 - None, # 2145 - None, # 2146 - None, # 2147 - None, # 2148 - None, # 2149 - None, # 2150 - None, # 2151 - None, # 2152 - None, # 2153 - None, # 2154 - None, # 2155 - None, # 2156 - None, # 2157 - None, # 2158 - None, # 2159 - None, # 2160 - None, # 2161 - None, # 2162 - None, # 2163 - None, # 2164 - None, # 2165 - None, # 2166 - None, # 2167 - None, # 2168 - None, # 2169 - None, # 2170 - None, # 2171 - None, # 2172 - None, # 2173 - None, # 2174 - None, # 2175 - None, # 2176 - None, # 2177 - None, # 2178 - None, # 2179 - None, # 2180 - None, # 2181 - None, # 2182 - None, # 2183 - None, # 2184 - None, # 2185 - None, # 2186 - None, # 2187 - None, # 2188 - None, # 2189 - None, # 2190 - None, # 2191 - None, # 2192 - None, # 2193 - None, # 2194 - None, # 2195 - None, # 2196 - None, # 2197 - None, # 2198 - None, # 2199 - None, # 2200 - None, # 2201 - None, # 2202 - None, # 2203 - None, # 2204 - None, # 2205 - None, # 2206 - None, # 2207 - None, # 2208 - None, # 2209 - None, # 2210 - None, # 2211 - None, # 2212 - None, # 2213 - None, # 2214 - None, # 2215 - None, # 2216 - None, # 2217 - None, # 2218 - None, # 2219 - None, # 2220 - None, # 2221 - None, # 2222 - None, # 2223 - None, # 2224 - None, # 2225 - None, # 2226 - None, # 2227 - None, # 2228 - None, # 2229 - None, # 2230 - None, # 2231 - None, # 2232 - None, # 2233 - None, # 2234 - None, # 2235 - None, # 2236 - None, # 2237 - None, # 2238 - None, # 2239 - None, # 2240 - None, # 2241 - None, # 2242 - None, # 2243 - None, # 2244 - None, # 2245 - None, # 2246 - None, # 2247 - None, # 2248 - None, # 2249 - None, # 2250 - None, # 2251 - None, # 2252 - None, # 2253 - None, # 2254 - None, # 2255 - None, # 2256 - None, # 2257 - None, # 2258 - None, # 2259 - None, # 2260 - None, # 2261 - None, # 2262 - None, # 2263 - None, # 2264 - None, # 2265 - None, # 2266 - None, # 2267 - None, # 2268 - None, # 2269 - None, # 2270 - None, # 2271 - None, # 2272 - None, # 2273 - None, # 2274 - None, # 2275 - None, # 2276 - None, # 2277 - None, # 2278 - None, # 2279 - None, # 2280 - None, # 2281 - None, # 2282 - None, # 2283 - None, # 2284 - None, # 2285 - None, # 2286 - None, # 2287 - None, # 2288 - None, # 2289 - None, # 2290 - None, # 2291 - None, # 2292 - None, # 2293 - None, # 2294 - None, # 2295 - None, # 2296 - None, # 2297 - None, # 2298 - None, # 2299 - None, # 2300 - None, # 2301 - None, # 2302 - None, # 2303 - None, # 2304 - None, # 2305 - None, # 2306 - None, # 2307 - None, # 2308 - None, # 2309 - None, # 2310 - None, # 2311 - None, # 2312 - None, # 2313 - None, # 2314 - None, # 2315 - None, # 2316 - None, # 2317 - None, # 2318 - None, # 2319 - None, # 2320 - None, # 2321 - None, # 2322 - None, # 2323 - None, # 2324 - None, # 2325 - None, # 2326 - None, # 2327 - None, # 2328 - None, # 2329 - None, # 2330 - None, # 2331 - None, # 2332 - None, # 2333 - None, # 2334 - None, # 2335 - None, # 2336 - None, # 2337 - None, # 2338 - None, # 2339 - None, # 2340 - None, # 2341 - None, # 2342 - None, # 2343 - None, # 2344 - None, # 2345 - None, # 2346 - None, # 2347 - None, # 2348 - None, # 2349 - None, # 2350 - None, # 2351 - None, # 2352 - None, # 2353 - None, # 2354 - None, # 2355 - None, # 2356 - None, # 2357 - None, # 2358 - None, # 2359 - None, # 2360 - None, # 2361 - None, # 2362 - None, # 2363 - None, # 2364 - None, # 2365 - None, # 2366 - None, # 2367 - None, # 2368 - None, # 2369 - None, # 2370 - None, # 2371 - None, # 2372 - None, # 2373 - None, # 2374 - None, # 2375 - None, # 2376 - None, # 2377 - None, # 2378 - None, # 2379 - None, # 2380 - None, # 2381 - None, # 2382 - None, # 2383 - None, # 2384 - None, # 2385 - None, # 2386 - None, # 2387 - None, # 2388 - None, # 2389 - None, # 2390 - None, # 2391 - None, # 2392 - None, # 2393 - None, # 2394 - None, # 2395 - None, # 2396 - None, # 2397 - None, # 2398 - None, # 2399 - None, # 2400 - None, # 2401 - None, # 2402 - None, # 2403 - None, # 2404 - None, # 2405 - None, # 2406 - None, # 2407 - None, # 2408 - None, # 2409 - None, # 2410 - None, # 2411 - None, # 2412 - None, # 2413 - None, # 2414 - None, # 2415 - None, # 2416 - None, # 2417 - None, # 2418 - None, # 2419 - None, # 2420 - None, # 2421 - None, # 2422 - None, # 2423 - None, # 2424 - None, # 2425 - None, # 2426 - None, # 2427 - None, # 2428 - None, # 2429 - None, # 2430 - None, # 2431 - None, # 2432 - None, # 2433 - None, # 2434 - None, # 2435 - None, # 2436 - None, # 2437 - None, # 2438 - None, # 2439 - None, # 2440 - None, # 2441 - None, # 2442 - None, # 2443 - None, # 2444 - None, # 2445 - None, # 2446 - None, # 2447 - None, # 2448 - None, # 2449 - None, # 2450 - None, # 2451 - None, # 2452 - None, # 2453 - None, # 2454 - None, # 2455 - None, # 2456 - None, # 2457 - None, # 2458 - None, # 2459 - None, # 2460 - None, # 2461 - None, # 2462 - None, # 2463 - None, # 2464 - None, # 2465 - None, # 2466 - None, # 2467 - None, # 2468 - None, # 2469 - None, # 2470 - None, # 2471 - None, # 2472 - None, # 2473 - None, # 2474 - None, # 2475 - None, # 2476 - None, # 2477 - None, # 2478 - None, # 2479 - None, # 2480 - None, # 2481 - None, # 2482 - None, # 2483 - None, # 2484 - None, # 2485 - None, # 2486 - None, # 2487 - None, # 2488 - None, # 2489 - None, # 2490 - None, # 2491 - None, # 2492 - None, # 2493 - None, # 2494 - None, # 2495 - None, # 2496 - None, # 2497 - None, # 2498 - None, # 2499 - None, # 2500 - None, # 2501 - None, # 2502 - None, # 2503 - None, # 2504 - None, # 2505 - None, # 2506 - None, # 2507 - None, # 2508 - None, # 2509 - None, # 2510 - None, # 2511 - None, # 2512 - None, # 2513 - None, # 2514 - None, # 2515 - None, # 2516 - None, # 2517 - None, # 2518 - None, # 2519 - None, # 2520 - None, # 2521 - None, # 2522 - None, # 2523 - None, # 2524 - None, # 2525 - None, # 2526 - None, # 2527 - None, # 2528 - None, # 2529 - None, # 2530 - None, # 2531 - None, # 2532 - None, # 2533 - None, # 2534 - None, # 2535 - None, # 2536 - None, # 2537 - None, # 2538 - None, # 2539 - None, # 2540 - None, # 2541 - None, # 2542 - None, # 2543 - None, # 2544 - None, # 2545 - None, # 2546 - None, # 2547 - None, # 2548 - None, # 2549 - None, # 2550 - None, # 2551 - None, # 2552 - None, # 2553 - None, # 2554 - None, # 2555 - None, # 2556 - None, # 2557 - None, # 2558 - None, # 2559 - None, # 2560 - None, # 2561 - None, # 2562 - None, # 2563 - None, # 2564 - None, # 2565 - None, # 2566 - None, # 2567 - None, # 2568 - None, # 2569 - None, # 2570 - None, # 2571 - None, # 2572 - None, # 2573 - None, # 2574 - None, # 2575 - None, # 2576 - None, # 2577 - None, # 2578 - None, # 2579 - None, # 2580 - None, # 2581 - None, # 2582 - None, # 2583 - None, # 2584 - None, # 2585 - None, # 2586 - None, # 2587 - None, # 2588 - None, # 2589 - None, # 2590 - None, # 2591 - None, # 2592 - None, # 2593 - None, # 2594 - None, # 2595 - None, # 2596 - None, # 2597 - None, # 2598 - None, # 2599 - None, # 2600 - None, # 2601 - None, # 2602 - None, # 2603 - None, # 2604 - None, # 2605 - None, # 2606 - None, # 2607 - None, # 2608 - None, # 2609 - None, # 2610 - None, # 2611 - None, # 2612 - None, # 2613 - None, # 2614 - None, # 2615 - None, # 2616 - None, # 2617 - None, # 2618 - None, # 2619 - None, # 2620 - None, # 2621 - None, # 2622 - None, # 2623 - None, # 2624 - None, # 2625 - None, # 2626 - None, # 2627 - None, # 2628 - None, # 2629 - None, # 2630 - None, # 2631 - None, # 2632 - None, # 2633 - None, # 2634 - None, # 2635 - None, # 2636 - None, # 2637 - None, # 2638 - None, # 2639 - None, # 2640 - None, # 2641 - None, # 2642 - None, # 2643 - None, # 2644 - None, # 2645 - None, # 2646 - None, # 2647 - None, # 2648 - None, # 2649 - None, # 2650 - None, # 2651 - None, # 2652 - None, # 2653 - None, # 2654 - None, # 2655 - None, # 2656 - None, # 2657 - None, # 2658 - None, # 2659 - None, # 2660 - None, # 2661 - None, # 2662 - None, # 2663 - None, # 2664 - None, # 2665 - None, # 2666 - None, # 2667 - None, # 2668 - None, # 2669 - None, # 2670 - None, # 2671 - None, # 2672 - None, # 2673 - None, # 2674 - None, # 2675 - None, # 2676 - None, # 2677 - None, # 2678 - None, # 2679 - None, # 2680 - None, # 2681 - None, # 2682 - None, # 2683 - None, # 2684 - None, # 2685 - None, # 2686 - None, # 2687 - None, # 2688 - None, # 2689 - None, # 2690 - None, # 2691 - None, # 2692 - None, # 2693 - None, # 2694 - None, # 2695 - None, # 2696 - None, # 2697 - None, # 2698 - None, # 2699 - None, # 2700 - None, # 2701 - None, # 2702 - None, # 2703 - None, # 2704 - None, # 2705 - None, # 2706 - None, # 2707 - None, # 2708 - None, # 2709 - None, # 2710 - None, # 2711 - None, # 2712 - None, # 2713 - None, # 2714 - None, # 2715 - None, # 2716 - None, # 2717 - None, # 2718 - None, # 2719 - None, # 2720 - None, # 2721 - None, # 2722 - None, # 2723 - None, # 2724 - None, # 2725 - None, # 2726 - None, # 2727 - None, # 2728 - None, # 2729 - None, # 2730 - None, # 2731 - None, # 2732 - None, # 2733 - None, # 2734 - None, # 2735 - None, # 2736 - None, # 2737 - None, # 2738 - None, # 2739 - None, # 2740 - None, # 2741 - None, # 2742 - None, # 2743 - None, # 2744 - None, # 2745 - None, # 2746 - None, # 2747 - None, # 2748 - None, # 2749 - None, # 2750 - None, # 2751 - None, # 2752 - None, # 2753 - None, # 2754 - None, # 2755 - None, # 2756 - None, # 2757 - None, # 2758 - None, # 2759 - None, # 2760 - None, # 2761 - None, # 2762 - None, # 2763 - None, # 2764 - None, # 2765 - None, # 2766 - None, # 2767 - None, # 2768 - None, # 2769 - None, # 2770 - None, # 2771 - None, # 2772 - None, # 2773 - None, # 2774 - None, # 2775 - None, # 2776 - None, # 2777 - None, # 2778 - None, # 2779 - None, # 2780 - None, # 2781 - None, # 2782 - None, # 2783 - None, # 2784 - None, # 2785 - None, # 2786 - None, # 2787 - None, # 2788 - None, # 2789 - None, # 2790 - None, # 2791 - None, # 2792 - None, # 2793 - None, # 2794 - None, # 2795 - None, # 2796 - None, # 2797 - None, # 2798 - None, # 2799 - None, # 2800 - None, # 2801 - None, # 2802 - None, # 2803 - None, # 2804 - None, # 2805 - None, # 2806 - None, # 2807 - None, # 2808 - None, # 2809 - None, # 2810 - None, # 2811 - None, # 2812 - None, # 2813 - None, # 2814 - None, # 2815 - None, # 2816 - None, # 2817 - None, # 2818 - None, # 2819 - None, # 2820 - None, # 2821 - None, # 2822 - None, # 2823 - None, # 2824 - None, # 2825 - None, # 2826 - None, # 2827 - None, # 2828 - None, # 2829 - None, # 2830 - None, # 2831 - None, # 2832 - None, # 2833 - None, # 2834 - None, # 2835 - None, # 2836 - None, # 2837 - None, # 2838 - None, # 2839 - None, # 2840 - None, # 2841 - None, # 2842 - None, # 2843 - None, # 2844 - None, # 2845 - None, # 2846 - None, # 2847 - None, # 2848 - None, # 2849 - None, # 2850 - None, # 2851 - None, # 2852 - None, # 2853 - None, # 2854 - None, # 2855 - None, # 2856 - None, # 2857 - None, # 2858 - None, # 2859 - None, # 2860 - None, # 2861 - None, # 2862 - None, # 2863 - None, # 2864 - None, # 2865 - None, # 2866 - None, # 2867 - None, # 2868 - None, # 2869 - None, # 2870 - None, # 2871 - None, # 2872 - None, # 2873 - None, # 2874 - None, # 2875 - None, # 2876 - None, # 2877 - None, # 2878 - None, # 2879 - None, # 2880 - None, # 2881 - None, # 2882 - None, # 2883 - None, # 2884 - None, # 2885 - None, # 2886 - None, # 2887 - None, # 2888 - None, # 2889 - None, # 2890 - None, # 2891 - None, # 2892 - None, # 2893 - None, # 2894 - None, # 2895 - None, # 2896 - None, # 2897 - None, # 2898 - None, # 2899 - None, # 2900 - None, # 2901 - None, # 2902 - None, # 2903 - None, # 2904 - None, # 2905 - None, # 2906 - None, # 2907 - None, # 2908 - None, # 2909 - None, # 2910 - None, # 2911 - None, # 2912 - None, # 2913 - None, # 2914 - None, # 2915 - None, # 2916 - None, # 2917 - None, # 2918 - None, # 2919 - None, # 2920 - None, # 2921 - None, # 2922 - None, # 2923 - None, # 2924 - None, # 2925 - None, # 2926 - None, # 2927 - None, # 2928 - None, # 2929 - None, # 2930 - None, # 2931 - None, # 2932 - None, # 2933 - None, # 2934 - None, # 2935 - None, # 2936 - None, # 2937 - None, # 2938 - None, # 2939 - None, # 2940 - None, # 2941 - None, # 2942 - None, # 2943 - None, # 2944 - None, # 2945 - None, # 2946 - None, # 2947 - None, # 2948 - None, # 2949 - None, # 2950 - None, # 2951 - None, # 2952 - None, # 2953 - None, # 2954 - None, # 2955 - None, # 2956 - None, # 2957 - None, # 2958 - None, # 2959 - None, # 2960 - None, # 2961 - None, # 2962 - None, # 2963 - None, # 2964 - None, # 2965 - None, # 2966 - None, # 2967 - None, # 2968 - None, # 2969 - None, # 2970 - None, # 2971 - None, # 2972 - None, # 2973 - None, # 2974 - None, # 2975 - None, # 2976 - None, # 2977 - None, # 2978 - None, # 2979 - None, # 2980 - None, # 2981 - None, # 2982 - None, # 2983 - None, # 2984 - None, # 2985 - None, # 2986 - None, # 2987 - None, # 2988 - None, # 2989 - None, # 2990 - None, # 2991 - None, # 2992 - None, # 2993 - None, # 2994 - None, # 2995 - None, # 2996 - None, # 2997 - None, # 2998 - None, # 2999 - None, # 3000 - None, # 3001 - None, # 3002 - None, # 3003 - None, # 3004 - None, # 3005 - None, # 3006 - None, # 3007 - None, # 3008 - None, # 3009 - None, # 3010 - None, # 3011 - None, # 3012 - None, # 3013 - None, # 3014 - None, # 3015 - None, # 3016 - None, # 3017 - None, # 3018 - None, # 3019 - None, # 3020 - None, # 3021 - None, # 3022 - None, # 3023 - None, # 3024 - None, # 3025 - None, # 3026 - None, # 3027 - None, # 3028 - None, # 3029 - None, # 3030 - None, # 3031 - None, # 3032 - None, # 3033 - None, # 3034 - None, # 3035 - None, # 3036 - None, # 3037 - None, # 3038 - None, # 3039 - None, # 3040 - None, # 3041 - None, # 3042 - None, # 3043 - None, # 3044 - None, # 3045 - None, # 3046 - None, # 3047 - None, # 3048 - None, # 3049 - None, # 3050 - None, # 3051 - None, # 3052 - None, # 3053 - None, # 3054 - None, # 3055 - None, # 3056 - None, # 3057 - None, # 3058 - None, # 3059 - None, # 3060 - None, # 3061 - None, # 3062 - None, # 3063 - None, # 3064 - None, # 3065 - None, # 3066 - None, # 3067 - None, # 3068 - None, # 3069 - None, # 3070 - None, # 3071 - None, # 3072 - None, # 3073 - None, # 3074 - None, # 3075 - None, # 3076 - None, # 3077 - None, # 3078 - None, # 3079 - None, # 3080 - None, # 3081 - None, # 3082 - None, # 3083 - None, # 3084 - None, # 3085 - None, # 3086 - None, # 3087 - None, # 3088 - None, # 3089 - None, # 3090 - None, # 3091 - None, # 3092 - None, # 3093 - None, # 3094 - None, # 3095 - None, # 3096 - None, # 3097 - None, # 3098 - None, # 3099 - None, # 3100 - None, # 3101 - None, # 3102 - None, # 3103 - None, # 3104 - None, # 3105 - None, # 3106 - None, # 3107 - None, # 3108 - None, # 3109 - None, # 3110 - None, # 3111 - None, # 3112 - None, # 3113 - None, # 3114 - None, # 3115 - None, # 3116 - None, # 3117 - None, # 3118 - None, # 3119 - None, # 3120 - None, # 3121 - None, # 3122 - None, # 3123 - None, # 3124 - None, # 3125 - None, # 3126 - None, # 3127 - None, # 3128 - None, # 3129 - None, # 3130 - None, # 3131 - None, # 3132 - None, # 3133 - None, # 3134 - None, # 3135 - None, # 3136 - None, # 3137 - None, # 3138 - None, # 3139 - None, # 3140 - None, # 3141 - None, # 3142 - None, # 3143 - None, # 3144 - None, # 3145 - None, # 3146 - None, # 3147 - None, # 3148 - None, # 3149 - None, # 3150 - None, # 3151 - None, # 3152 - None, # 3153 - None, # 3154 - None, # 3155 - None, # 3156 - None, # 3157 - None, # 3158 - None, # 3159 - None, # 3160 - None, # 3161 - None, # 3162 - None, # 3163 - None, # 3164 - None, # 3165 - None, # 3166 - None, # 3167 - None, # 3168 - None, # 3169 - None, # 3170 - None, # 3171 - None, # 3172 - None, # 3173 - None, # 3174 - None, # 3175 - None, # 3176 - None, # 3177 - None, # 3178 - None, # 3179 - None, # 3180 - None, # 3181 - None, # 3182 - None, # 3183 - None, # 3184 - None, # 3185 - None, # 3186 - None, # 3187 - None, # 3188 - None, # 3189 - None, # 3190 - None, # 3191 - None, # 3192 - None, # 3193 - None, # 3194 - None, # 3195 - None, # 3196 - None, # 3197 - None, # 3198 - None, # 3199 - None, # 3200 - None, # 3201 - None, # 3202 - None, # 3203 - None, # 3204 - None, # 3205 - None, # 3206 - None, # 3207 - None, # 3208 - None, # 3209 - None, # 3210 - None, # 3211 - None, # 3212 - None, # 3213 - None, # 3214 - None, # 3215 - None, # 3216 - None, # 3217 - None, # 3218 - None, # 3219 - None, # 3220 - None, # 3221 - None, # 3222 - None, # 3223 - None, # 3224 - None, # 3225 - None, # 3226 - None, # 3227 - None, # 3228 - None, # 3229 - None, # 3230 - None, # 3231 - None, # 3232 - None, # 3233 - None, # 3234 - None, # 3235 - None, # 3236 - None, # 3237 - None, # 3238 - None, # 3239 - None, # 3240 - None, # 3241 - None, # 3242 - None, # 3243 - None, # 3244 - None, # 3245 - None, # 3246 - None, # 3247 - None, # 3248 - None, # 3249 - None, # 3250 - None, # 3251 - None, # 3252 - None, # 3253 - None, # 3254 - None, # 3255 - None, # 3256 - None, # 3257 - None, # 3258 - None, # 3259 - None, # 3260 - None, # 3261 - None, # 3262 - None, # 3263 - None, # 3264 - None, # 3265 - None, # 3266 - None, # 3267 - None, # 3268 - None, # 3269 - None, # 3270 - None, # 3271 - None, # 3272 - None, # 3273 - None, # 3274 - None, # 3275 - None, # 3276 - None, # 3277 - None, # 3278 - None, # 3279 - None, # 3280 - None, # 3281 - None, # 3282 - None, # 3283 - None, # 3284 - None, # 3285 - None, # 3286 - None, # 3287 - None, # 3288 - None, # 3289 - None, # 3290 - None, # 3291 - None, # 3292 - None, # 3293 - None, # 3294 - None, # 3295 - None, # 3296 - None, # 3297 - None, # 3298 - None, # 3299 - None, # 3300 - None, # 3301 - None, # 3302 - None, # 3303 - None, # 3304 - None, # 3305 - None, # 3306 - None, # 3307 - None, # 3308 - None, # 3309 - None, # 3310 - None, # 3311 - None, # 3312 - None, # 3313 - None, # 3314 - None, # 3315 - None, # 3316 - None, # 3317 - None, # 3318 - None, # 3319 - None, # 3320 - None, # 3321 - None, # 3322 - None, # 3323 - None, # 3324 - None, # 3325 - None, # 3326 - None, # 3327 - None, # 3328 - ( - 3329, - TType.STRUCT, - "sessionId", - [THandleIdentifier, None], - None, - ), # 3329 + None, # 0 + (1, TType.I32, 'client_protocol', None, -7, ), # 1 + (2, TType.STRING, 'username', 'UTF8', None, ), # 2 + (3, TType.STRING, 'password', 'UTF8', None, ), # 3 + (4, TType.MAP, 'configuration', (TType.STRING, 'UTF8', TType.STRING, 'UTF8', False), None, ), # 4 + None, # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + (1281, TType.LIST, 'getInfos', (TType.I32, None, False), None, ), # 1281 + (1282, TType.I64, 'client_protocol_i64', None, None, ), # 1282 + (1283, TType.MAP, 'connectionProperties', (TType.STRING, 'UTF8', TType.STRING, 'UTF8', False), None, ), # 1283 + (1284, TType.STRUCT, 'initialNamespace', [TNamespace, None], None, ), # 1284 + (1285, TType.BOOL, 'canUseMultipleCatalogs', None, None, ), # 1285 + None, # 1286 + None, # 1287 + None, # 1288 + None, # 1289 + None, # 1290 + None, # 1291 + None, # 1292 + None, # 1293 + None, # 1294 + None, # 1295 + None, # 1296 + None, # 1297 + None, # 1298 + None, # 1299 + None, # 1300 + None, # 1301 + None, # 1302 + None, # 1303 + None, # 1304 + None, # 1305 + None, # 1306 + None, # 1307 + None, # 1308 + None, # 1309 + None, # 1310 + None, # 1311 + None, # 1312 + None, # 1313 + None, # 1314 + None, # 1315 + None, # 1316 + None, # 1317 + None, # 1318 + None, # 1319 + None, # 1320 + None, # 1321 + None, # 1322 + None, # 1323 + None, # 1324 + None, # 1325 + None, # 1326 + None, # 1327 + None, # 1328 + None, # 1329 + None, # 1330 + None, # 1331 + None, # 1332 + None, # 1333 + None, # 1334 + None, # 1335 + None, # 1336 + None, # 1337 + None, # 1338 + None, # 1339 + None, # 1340 + None, # 1341 + None, # 1342 + None, # 1343 + None, # 1344 + None, # 1345 + None, # 1346 + None, # 1347 + None, # 1348 + None, # 1349 + None, # 1350 + None, # 1351 + None, # 1352 + None, # 1353 + None, # 1354 + None, # 1355 + None, # 1356 + None, # 1357 + None, # 1358 + None, # 1359 + None, # 1360 + None, # 1361 + None, # 1362 + None, # 1363 + None, # 1364 + None, # 1365 + None, # 1366 + None, # 1367 + None, # 1368 + None, # 1369 + None, # 1370 + None, # 1371 + None, # 1372 + None, # 1373 + None, # 1374 + None, # 1375 + None, # 1376 + None, # 1377 + None, # 1378 + None, # 1379 + None, # 1380 + None, # 1381 + None, # 1382 + None, # 1383 + None, # 1384 + None, # 1385 + None, # 1386 + None, # 1387 + None, # 1388 + None, # 1389 + None, # 1390 + None, # 1391 + None, # 1392 + None, # 1393 + None, # 1394 + None, # 1395 + None, # 1396 + None, # 1397 + None, # 1398 + None, # 1399 + None, # 1400 + None, # 1401 + None, # 1402 + None, # 1403 + None, # 1404 + None, # 1405 + None, # 1406 + None, # 1407 + None, # 1408 + None, # 1409 + None, # 1410 + None, # 1411 + None, # 1412 + None, # 1413 + None, # 1414 + None, # 1415 + None, # 1416 + None, # 1417 + None, # 1418 + None, # 1419 + None, # 1420 + None, # 1421 + None, # 1422 + None, # 1423 + None, # 1424 + None, # 1425 + None, # 1426 + None, # 1427 + None, # 1428 + None, # 1429 + None, # 1430 + None, # 1431 + None, # 1432 + None, # 1433 + None, # 1434 + None, # 1435 + None, # 1436 + None, # 1437 + None, # 1438 + None, # 1439 + None, # 1440 + None, # 1441 + None, # 1442 + None, # 1443 + None, # 1444 + None, # 1445 + None, # 1446 + None, # 1447 + None, # 1448 + None, # 1449 + None, # 1450 + None, # 1451 + None, # 1452 + None, # 1453 + None, # 1454 + None, # 1455 + None, # 1456 + None, # 1457 + None, # 1458 + None, # 1459 + None, # 1460 + None, # 1461 + None, # 1462 + None, # 1463 + None, # 1464 + None, # 1465 + None, # 1466 + None, # 1467 + None, # 1468 + None, # 1469 + None, # 1470 + None, # 1471 + None, # 1472 + None, # 1473 + None, # 1474 + None, # 1475 + None, # 1476 + None, # 1477 + None, # 1478 + None, # 1479 + None, # 1480 + None, # 1481 + None, # 1482 + None, # 1483 + None, # 1484 + None, # 1485 + None, # 1486 + None, # 1487 + None, # 1488 + None, # 1489 + None, # 1490 + None, # 1491 + None, # 1492 + None, # 1493 + None, # 1494 + None, # 1495 + None, # 1496 + None, # 1497 + None, # 1498 + None, # 1499 + None, # 1500 + None, # 1501 + None, # 1502 + None, # 1503 + None, # 1504 + None, # 1505 + None, # 1506 + None, # 1507 + None, # 1508 + None, # 1509 + None, # 1510 + None, # 1511 + None, # 1512 + None, # 1513 + None, # 1514 + None, # 1515 + None, # 1516 + None, # 1517 + None, # 1518 + None, # 1519 + None, # 1520 + None, # 1521 + None, # 1522 + None, # 1523 + None, # 1524 + None, # 1525 + None, # 1526 + None, # 1527 + None, # 1528 + None, # 1529 + None, # 1530 + None, # 1531 + None, # 1532 + None, # 1533 + None, # 1534 + None, # 1535 + None, # 1536 + None, # 1537 + None, # 1538 + None, # 1539 + None, # 1540 + None, # 1541 + None, # 1542 + None, # 1543 + None, # 1544 + None, # 1545 + None, # 1546 + None, # 1547 + None, # 1548 + None, # 1549 + None, # 1550 + None, # 1551 + None, # 1552 + None, # 1553 + None, # 1554 + None, # 1555 + None, # 1556 + None, # 1557 + None, # 1558 + None, # 1559 + None, # 1560 + None, # 1561 + None, # 1562 + None, # 1563 + None, # 1564 + None, # 1565 + None, # 1566 + None, # 1567 + None, # 1568 + None, # 1569 + None, # 1570 + None, # 1571 + None, # 1572 + None, # 1573 + None, # 1574 + None, # 1575 + None, # 1576 + None, # 1577 + None, # 1578 + None, # 1579 + None, # 1580 + None, # 1581 + None, # 1582 + None, # 1583 + None, # 1584 + None, # 1585 + None, # 1586 + None, # 1587 + None, # 1588 + None, # 1589 + None, # 1590 + None, # 1591 + None, # 1592 + None, # 1593 + None, # 1594 + None, # 1595 + None, # 1596 + None, # 1597 + None, # 1598 + None, # 1599 + None, # 1600 + None, # 1601 + None, # 1602 + None, # 1603 + None, # 1604 + None, # 1605 + None, # 1606 + None, # 1607 + None, # 1608 + None, # 1609 + None, # 1610 + None, # 1611 + None, # 1612 + None, # 1613 + None, # 1614 + None, # 1615 + None, # 1616 + None, # 1617 + None, # 1618 + None, # 1619 + None, # 1620 + None, # 1621 + None, # 1622 + None, # 1623 + None, # 1624 + None, # 1625 + None, # 1626 + None, # 1627 + None, # 1628 + None, # 1629 + None, # 1630 + None, # 1631 + None, # 1632 + None, # 1633 + None, # 1634 + None, # 1635 + None, # 1636 + None, # 1637 + None, # 1638 + None, # 1639 + None, # 1640 + None, # 1641 + None, # 1642 + None, # 1643 + None, # 1644 + None, # 1645 + None, # 1646 + None, # 1647 + None, # 1648 + None, # 1649 + None, # 1650 + None, # 1651 + None, # 1652 + None, # 1653 + None, # 1654 + None, # 1655 + None, # 1656 + None, # 1657 + None, # 1658 + None, # 1659 + None, # 1660 + None, # 1661 + None, # 1662 + None, # 1663 + None, # 1664 + None, # 1665 + None, # 1666 + None, # 1667 + None, # 1668 + None, # 1669 + None, # 1670 + None, # 1671 + None, # 1672 + None, # 1673 + None, # 1674 + None, # 1675 + None, # 1676 + None, # 1677 + None, # 1678 + None, # 1679 + None, # 1680 + None, # 1681 + None, # 1682 + None, # 1683 + None, # 1684 + None, # 1685 + None, # 1686 + None, # 1687 + None, # 1688 + None, # 1689 + None, # 1690 + None, # 1691 + None, # 1692 + None, # 1693 + None, # 1694 + None, # 1695 + None, # 1696 + None, # 1697 + None, # 1698 + None, # 1699 + None, # 1700 + None, # 1701 + None, # 1702 + None, # 1703 + None, # 1704 + None, # 1705 + None, # 1706 + None, # 1707 + None, # 1708 + None, # 1709 + None, # 1710 + None, # 1711 + None, # 1712 + None, # 1713 + None, # 1714 + None, # 1715 + None, # 1716 + None, # 1717 + None, # 1718 + None, # 1719 + None, # 1720 + None, # 1721 + None, # 1722 + None, # 1723 + None, # 1724 + None, # 1725 + None, # 1726 + None, # 1727 + None, # 1728 + None, # 1729 + None, # 1730 + None, # 1731 + None, # 1732 + None, # 1733 + None, # 1734 + None, # 1735 + None, # 1736 + None, # 1737 + None, # 1738 + None, # 1739 + None, # 1740 + None, # 1741 + None, # 1742 + None, # 1743 + None, # 1744 + None, # 1745 + None, # 1746 + None, # 1747 + None, # 1748 + None, # 1749 + None, # 1750 + None, # 1751 + None, # 1752 + None, # 1753 + None, # 1754 + None, # 1755 + None, # 1756 + None, # 1757 + None, # 1758 + None, # 1759 + None, # 1760 + None, # 1761 + None, # 1762 + None, # 1763 + None, # 1764 + None, # 1765 + None, # 1766 + None, # 1767 + None, # 1768 + None, # 1769 + None, # 1770 + None, # 1771 + None, # 1772 + None, # 1773 + None, # 1774 + None, # 1775 + None, # 1776 + None, # 1777 + None, # 1778 + None, # 1779 + None, # 1780 + None, # 1781 + None, # 1782 + None, # 1783 + None, # 1784 + None, # 1785 + None, # 1786 + None, # 1787 + None, # 1788 + None, # 1789 + None, # 1790 + None, # 1791 + None, # 1792 + None, # 1793 + None, # 1794 + None, # 1795 + None, # 1796 + None, # 1797 + None, # 1798 + None, # 1799 + None, # 1800 + None, # 1801 + None, # 1802 + None, # 1803 + None, # 1804 + None, # 1805 + None, # 1806 + None, # 1807 + None, # 1808 + None, # 1809 + None, # 1810 + None, # 1811 + None, # 1812 + None, # 1813 + None, # 1814 + None, # 1815 + None, # 1816 + None, # 1817 + None, # 1818 + None, # 1819 + None, # 1820 + None, # 1821 + None, # 1822 + None, # 1823 + None, # 1824 + None, # 1825 + None, # 1826 + None, # 1827 + None, # 1828 + None, # 1829 + None, # 1830 + None, # 1831 + None, # 1832 + None, # 1833 + None, # 1834 + None, # 1835 + None, # 1836 + None, # 1837 + None, # 1838 + None, # 1839 + None, # 1840 + None, # 1841 + None, # 1842 + None, # 1843 + None, # 1844 + None, # 1845 + None, # 1846 + None, # 1847 + None, # 1848 + None, # 1849 + None, # 1850 + None, # 1851 + None, # 1852 + None, # 1853 + None, # 1854 + None, # 1855 + None, # 1856 + None, # 1857 + None, # 1858 + None, # 1859 + None, # 1860 + None, # 1861 + None, # 1862 + None, # 1863 + None, # 1864 + None, # 1865 + None, # 1866 + None, # 1867 + None, # 1868 + None, # 1869 + None, # 1870 + None, # 1871 + None, # 1872 + None, # 1873 + None, # 1874 + None, # 1875 + None, # 1876 + None, # 1877 + None, # 1878 + None, # 1879 + None, # 1880 + None, # 1881 + None, # 1882 + None, # 1883 + None, # 1884 + None, # 1885 + None, # 1886 + None, # 1887 + None, # 1888 + None, # 1889 + None, # 1890 + None, # 1891 + None, # 1892 + None, # 1893 + None, # 1894 + None, # 1895 + None, # 1896 + None, # 1897 + None, # 1898 + None, # 1899 + None, # 1900 + None, # 1901 + None, # 1902 + None, # 1903 + None, # 1904 + None, # 1905 + None, # 1906 + None, # 1907 + None, # 1908 + None, # 1909 + None, # 1910 + None, # 1911 + None, # 1912 + None, # 1913 + None, # 1914 + None, # 1915 + None, # 1916 + None, # 1917 + None, # 1918 + None, # 1919 + None, # 1920 + None, # 1921 + None, # 1922 + None, # 1923 + None, # 1924 + None, # 1925 + None, # 1926 + None, # 1927 + None, # 1928 + None, # 1929 + None, # 1930 + None, # 1931 + None, # 1932 + None, # 1933 + None, # 1934 + None, # 1935 + None, # 1936 + None, # 1937 + None, # 1938 + None, # 1939 + None, # 1940 + None, # 1941 + None, # 1942 + None, # 1943 + None, # 1944 + None, # 1945 + None, # 1946 + None, # 1947 + None, # 1948 + None, # 1949 + None, # 1950 + None, # 1951 + None, # 1952 + None, # 1953 + None, # 1954 + None, # 1955 + None, # 1956 + None, # 1957 + None, # 1958 + None, # 1959 + None, # 1960 + None, # 1961 + None, # 1962 + None, # 1963 + None, # 1964 + None, # 1965 + None, # 1966 + None, # 1967 + None, # 1968 + None, # 1969 + None, # 1970 + None, # 1971 + None, # 1972 + None, # 1973 + None, # 1974 + None, # 1975 + None, # 1976 + None, # 1977 + None, # 1978 + None, # 1979 + None, # 1980 + None, # 1981 + None, # 1982 + None, # 1983 + None, # 1984 + None, # 1985 + None, # 1986 + None, # 1987 + None, # 1988 + None, # 1989 + None, # 1990 + None, # 1991 + None, # 1992 + None, # 1993 + None, # 1994 + None, # 1995 + None, # 1996 + None, # 1997 + None, # 1998 + None, # 1999 + None, # 2000 + None, # 2001 + None, # 2002 + None, # 2003 + None, # 2004 + None, # 2005 + None, # 2006 + None, # 2007 + None, # 2008 + None, # 2009 + None, # 2010 + None, # 2011 + None, # 2012 + None, # 2013 + None, # 2014 + None, # 2015 + None, # 2016 + None, # 2017 + None, # 2018 + None, # 2019 + None, # 2020 + None, # 2021 + None, # 2022 + None, # 2023 + None, # 2024 + None, # 2025 + None, # 2026 + None, # 2027 + None, # 2028 + None, # 2029 + None, # 2030 + None, # 2031 + None, # 2032 + None, # 2033 + None, # 2034 + None, # 2035 + None, # 2036 + None, # 2037 + None, # 2038 + None, # 2039 + None, # 2040 + None, # 2041 + None, # 2042 + None, # 2043 + None, # 2044 + None, # 2045 + None, # 2046 + None, # 2047 + None, # 2048 + None, # 2049 + None, # 2050 + None, # 2051 + None, # 2052 + None, # 2053 + None, # 2054 + None, # 2055 + None, # 2056 + None, # 2057 + None, # 2058 + None, # 2059 + None, # 2060 + None, # 2061 + None, # 2062 + None, # 2063 + None, # 2064 + None, # 2065 + None, # 2066 + None, # 2067 + None, # 2068 + None, # 2069 + None, # 2070 + None, # 2071 + None, # 2072 + None, # 2073 + None, # 2074 + None, # 2075 + None, # 2076 + None, # 2077 + None, # 2078 + None, # 2079 + None, # 2080 + None, # 2081 + None, # 2082 + None, # 2083 + None, # 2084 + None, # 2085 + None, # 2086 + None, # 2087 + None, # 2088 + None, # 2089 + None, # 2090 + None, # 2091 + None, # 2092 + None, # 2093 + None, # 2094 + None, # 2095 + None, # 2096 + None, # 2097 + None, # 2098 + None, # 2099 + None, # 2100 + None, # 2101 + None, # 2102 + None, # 2103 + None, # 2104 + None, # 2105 + None, # 2106 + None, # 2107 + None, # 2108 + None, # 2109 + None, # 2110 + None, # 2111 + None, # 2112 + None, # 2113 + None, # 2114 + None, # 2115 + None, # 2116 + None, # 2117 + None, # 2118 + None, # 2119 + None, # 2120 + None, # 2121 + None, # 2122 + None, # 2123 + None, # 2124 + None, # 2125 + None, # 2126 + None, # 2127 + None, # 2128 + None, # 2129 + None, # 2130 + None, # 2131 + None, # 2132 + None, # 2133 + None, # 2134 + None, # 2135 + None, # 2136 + None, # 2137 + None, # 2138 + None, # 2139 + None, # 2140 + None, # 2141 + None, # 2142 + None, # 2143 + None, # 2144 + None, # 2145 + None, # 2146 + None, # 2147 + None, # 2148 + None, # 2149 + None, # 2150 + None, # 2151 + None, # 2152 + None, # 2153 + None, # 2154 + None, # 2155 + None, # 2156 + None, # 2157 + None, # 2158 + None, # 2159 + None, # 2160 + None, # 2161 + None, # 2162 + None, # 2163 + None, # 2164 + None, # 2165 + None, # 2166 + None, # 2167 + None, # 2168 + None, # 2169 + None, # 2170 + None, # 2171 + None, # 2172 + None, # 2173 + None, # 2174 + None, # 2175 + None, # 2176 + None, # 2177 + None, # 2178 + None, # 2179 + None, # 2180 + None, # 2181 + None, # 2182 + None, # 2183 + None, # 2184 + None, # 2185 + None, # 2186 + None, # 2187 + None, # 2188 + None, # 2189 + None, # 2190 + None, # 2191 + None, # 2192 + None, # 2193 + None, # 2194 + None, # 2195 + None, # 2196 + None, # 2197 + None, # 2198 + None, # 2199 + None, # 2200 + None, # 2201 + None, # 2202 + None, # 2203 + None, # 2204 + None, # 2205 + None, # 2206 + None, # 2207 + None, # 2208 + None, # 2209 + None, # 2210 + None, # 2211 + None, # 2212 + None, # 2213 + None, # 2214 + None, # 2215 + None, # 2216 + None, # 2217 + None, # 2218 + None, # 2219 + None, # 2220 + None, # 2221 + None, # 2222 + None, # 2223 + None, # 2224 + None, # 2225 + None, # 2226 + None, # 2227 + None, # 2228 + None, # 2229 + None, # 2230 + None, # 2231 + None, # 2232 + None, # 2233 + None, # 2234 + None, # 2235 + None, # 2236 + None, # 2237 + None, # 2238 + None, # 2239 + None, # 2240 + None, # 2241 + None, # 2242 + None, # 2243 + None, # 2244 + None, # 2245 + None, # 2246 + None, # 2247 + None, # 2248 + None, # 2249 + None, # 2250 + None, # 2251 + None, # 2252 + None, # 2253 + None, # 2254 + None, # 2255 + None, # 2256 + None, # 2257 + None, # 2258 + None, # 2259 + None, # 2260 + None, # 2261 + None, # 2262 + None, # 2263 + None, # 2264 + None, # 2265 + None, # 2266 + None, # 2267 + None, # 2268 + None, # 2269 + None, # 2270 + None, # 2271 + None, # 2272 + None, # 2273 + None, # 2274 + None, # 2275 + None, # 2276 + None, # 2277 + None, # 2278 + None, # 2279 + None, # 2280 + None, # 2281 + None, # 2282 + None, # 2283 + None, # 2284 + None, # 2285 + None, # 2286 + None, # 2287 + None, # 2288 + None, # 2289 + None, # 2290 + None, # 2291 + None, # 2292 + None, # 2293 + None, # 2294 + None, # 2295 + None, # 2296 + None, # 2297 + None, # 2298 + None, # 2299 + None, # 2300 + None, # 2301 + None, # 2302 + None, # 2303 + None, # 2304 + None, # 2305 + None, # 2306 + None, # 2307 + None, # 2308 + None, # 2309 + None, # 2310 + None, # 2311 + None, # 2312 + None, # 2313 + None, # 2314 + None, # 2315 + None, # 2316 + None, # 2317 + None, # 2318 + None, # 2319 + None, # 2320 + None, # 2321 + None, # 2322 + None, # 2323 + None, # 2324 + None, # 2325 + None, # 2326 + None, # 2327 + None, # 2328 + None, # 2329 + None, # 2330 + None, # 2331 + None, # 2332 + None, # 2333 + None, # 2334 + None, # 2335 + None, # 2336 + None, # 2337 + None, # 2338 + None, # 2339 + None, # 2340 + None, # 2341 + None, # 2342 + None, # 2343 + None, # 2344 + None, # 2345 + None, # 2346 + None, # 2347 + None, # 2348 + None, # 2349 + None, # 2350 + None, # 2351 + None, # 2352 + None, # 2353 + None, # 2354 + None, # 2355 + None, # 2356 + None, # 2357 + None, # 2358 + None, # 2359 + None, # 2360 + None, # 2361 + None, # 2362 + None, # 2363 + None, # 2364 + None, # 2365 + None, # 2366 + None, # 2367 + None, # 2368 + None, # 2369 + None, # 2370 + None, # 2371 + None, # 2372 + None, # 2373 + None, # 2374 + None, # 2375 + None, # 2376 + None, # 2377 + None, # 2378 + None, # 2379 + None, # 2380 + None, # 2381 + None, # 2382 + None, # 2383 + None, # 2384 + None, # 2385 + None, # 2386 + None, # 2387 + None, # 2388 + None, # 2389 + None, # 2390 + None, # 2391 + None, # 2392 + None, # 2393 + None, # 2394 + None, # 2395 + None, # 2396 + None, # 2397 + None, # 2398 + None, # 2399 + None, # 2400 + None, # 2401 + None, # 2402 + None, # 2403 + None, # 2404 + None, # 2405 + None, # 2406 + None, # 2407 + None, # 2408 + None, # 2409 + None, # 2410 + None, # 2411 + None, # 2412 + None, # 2413 + None, # 2414 + None, # 2415 + None, # 2416 + None, # 2417 + None, # 2418 + None, # 2419 + None, # 2420 + None, # 2421 + None, # 2422 + None, # 2423 + None, # 2424 + None, # 2425 + None, # 2426 + None, # 2427 + None, # 2428 + None, # 2429 + None, # 2430 + None, # 2431 + None, # 2432 + None, # 2433 + None, # 2434 + None, # 2435 + None, # 2436 + None, # 2437 + None, # 2438 + None, # 2439 + None, # 2440 + None, # 2441 + None, # 2442 + None, # 2443 + None, # 2444 + None, # 2445 + None, # 2446 + None, # 2447 + None, # 2448 + None, # 2449 + None, # 2450 + None, # 2451 + None, # 2452 + None, # 2453 + None, # 2454 + None, # 2455 + None, # 2456 + None, # 2457 + None, # 2458 + None, # 2459 + None, # 2460 + None, # 2461 + None, # 2462 + None, # 2463 + None, # 2464 + None, # 2465 + None, # 2466 + None, # 2467 + None, # 2468 + None, # 2469 + None, # 2470 + None, # 2471 + None, # 2472 + None, # 2473 + None, # 2474 + None, # 2475 + None, # 2476 + None, # 2477 + None, # 2478 + None, # 2479 + None, # 2480 + None, # 2481 + None, # 2482 + None, # 2483 + None, # 2484 + None, # 2485 + None, # 2486 + None, # 2487 + None, # 2488 + None, # 2489 + None, # 2490 + None, # 2491 + None, # 2492 + None, # 2493 + None, # 2494 + None, # 2495 + None, # 2496 + None, # 2497 + None, # 2498 + None, # 2499 + None, # 2500 + None, # 2501 + None, # 2502 + None, # 2503 + None, # 2504 + None, # 2505 + None, # 2506 + None, # 2507 + None, # 2508 + None, # 2509 + None, # 2510 + None, # 2511 + None, # 2512 + None, # 2513 + None, # 2514 + None, # 2515 + None, # 2516 + None, # 2517 + None, # 2518 + None, # 2519 + None, # 2520 + None, # 2521 + None, # 2522 + None, # 2523 + None, # 2524 + None, # 2525 + None, # 2526 + None, # 2527 + None, # 2528 + None, # 2529 + None, # 2530 + None, # 2531 + None, # 2532 + None, # 2533 + None, # 2534 + None, # 2535 + None, # 2536 + None, # 2537 + None, # 2538 + None, # 2539 + None, # 2540 + None, # 2541 + None, # 2542 + None, # 2543 + None, # 2544 + None, # 2545 + None, # 2546 + None, # 2547 + None, # 2548 + None, # 2549 + None, # 2550 + None, # 2551 + None, # 2552 + None, # 2553 + None, # 2554 + None, # 2555 + None, # 2556 + None, # 2557 + None, # 2558 + None, # 2559 + None, # 2560 + None, # 2561 + None, # 2562 + None, # 2563 + None, # 2564 + None, # 2565 + None, # 2566 + None, # 2567 + None, # 2568 + None, # 2569 + None, # 2570 + None, # 2571 + None, # 2572 + None, # 2573 + None, # 2574 + None, # 2575 + None, # 2576 + None, # 2577 + None, # 2578 + None, # 2579 + None, # 2580 + None, # 2581 + None, # 2582 + None, # 2583 + None, # 2584 + None, # 2585 + None, # 2586 + None, # 2587 + None, # 2588 + None, # 2589 + None, # 2590 + None, # 2591 + None, # 2592 + None, # 2593 + None, # 2594 + None, # 2595 + None, # 2596 + None, # 2597 + None, # 2598 + None, # 2599 + None, # 2600 + None, # 2601 + None, # 2602 + None, # 2603 + None, # 2604 + None, # 2605 + None, # 2606 + None, # 2607 + None, # 2608 + None, # 2609 + None, # 2610 + None, # 2611 + None, # 2612 + None, # 2613 + None, # 2614 + None, # 2615 + None, # 2616 + None, # 2617 + None, # 2618 + None, # 2619 + None, # 2620 + None, # 2621 + None, # 2622 + None, # 2623 + None, # 2624 + None, # 2625 + None, # 2626 + None, # 2627 + None, # 2628 + None, # 2629 + None, # 2630 + None, # 2631 + None, # 2632 + None, # 2633 + None, # 2634 + None, # 2635 + None, # 2636 + None, # 2637 + None, # 2638 + None, # 2639 + None, # 2640 + None, # 2641 + None, # 2642 + None, # 2643 + None, # 2644 + None, # 2645 + None, # 2646 + None, # 2647 + None, # 2648 + None, # 2649 + None, # 2650 + None, # 2651 + None, # 2652 + None, # 2653 + None, # 2654 + None, # 2655 + None, # 2656 + None, # 2657 + None, # 2658 + None, # 2659 + None, # 2660 + None, # 2661 + None, # 2662 + None, # 2663 + None, # 2664 + None, # 2665 + None, # 2666 + None, # 2667 + None, # 2668 + None, # 2669 + None, # 2670 + None, # 2671 + None, # 2672 + None, # 2673 + None, # 2674 + None, # 2675 + None, # 2676 + None, # 2677 + None, # 2678 + None, # 2679 + None, # 2680 + None, # 2681 + None, # 2682 + None, # 2683 + None, # 2684 + None, # 2685 + None, # 2686 + None, # 2687 + None, # 2688 + None, # 2689 + None, # 2690 + None, # 2691 + None, # 2692 + None, # 2693 + None, # 2694 + None, # 2695 + None, # 2696 + None, # 2697 + None, # 2698 + None, # 2699 + None, # 2700 + None, # 2701 + None, # 2702 + None, # 2703 + None, # 2704 + None, # 2705 + None, # 2706 + None, # 2707 + None, # 2708 + None, # 2709 + None, # 2710 + None, # 2711 + None, # 2712 + None, # 2713 + None, # 2714 + None, # 2715 + None, # 2716 + None, # 2717 + None, # 2718 + None, # 2719 + None, # 2720 + None, # 2721 + None, # 2722 + None, # 2723 + None, # 2724 + None, # 2725 + None, # 2726 + None, # 2727 + None, # 2728 + None, # 2729 + None, # 2730 + None, # 2731 + None, # 2732 + None, # 2733 + None, # 2734 + None, # 2735 + None, # 2736 + None, # 2737 + None, # 2738 + None, # 2739 + None, # 2740 + None, # 2741 + None, # 2742 + None, # 2743 + None, # 2744 + None, # 2745 + None, # 2746 + None, # 2747 + None, # 2748 + None, # 2749 + None, # 2750 + None, # 2751 + None, # 2752 + None, # 2753 + None, # 2754 + None, # 2755 + None, # 2756 + None, # 2757 + None, # 2758 + None, # 2759 + None, # 2760 + None, # 2761 + None, # 2762 + None, # 2763 + None, # 2764 + None, # 2765 + None, # 2766 + None, # 2767 + None, # 2768 + None, # 2769 + None, # 2770 + None, # 2771 + None, # 2772 + None, # 2773 + None, # 2774 + None, # 2775 + None, # 2776 + None, # 2777 + None, # 2778 + None, # 2779 + None, # 2780 + None, # 2781 + None, # 2782 + None, # 2783 + None, # 2784 + None, # 2785 + None, # 2786 + None, # 2787 + None, # 2788 + None, # 2789 + None, # 2790 + None, # 2791 + None, # 2792 + None, # 2793 + None, # 2794 + None, # 2795 + None, # 2796 + None, # 2797 + None, # 2798 + None, # 2799 + None, # 2800 + None, # 2801 + None, # 2802 + None, # 2803 + None, # 2804 + None, # 2805 + None, # 2806 + None, # 2807 + None, # 2808 + None, # 2809 + None, # 2810 + None, # 2811 + None, # 2812 + None, # 2813 + None, # 2814 + None, # 2815 + None, # 2816 + None, # 2817 + None, # 2818 + None, # 2819 + None, # 2820 + None, # 2821 + None, # 2822 + None, # 2823 + None, # 2824 + None, # 2825 + None, # 2826 + None, # 2827 + None, # 2828 + None, # 2829 + None, # 2830 + None, # 2831 + None, # 2832 + None, # 2833 + None, # 2834 + None, # 2835 + None, # 2836 + None, # 2837 + None, # 2838 + None, # 2839 + None, # 2840 + None, # 2841 + None, # 2842 + None, # 2843 + None, # 2844 + None, # 2845 + None, # 2846 + None, # 2847 + None, # 2848 + None, # 2849 + None, # 2850 + None, # 2851 + None, # 2852 + None, # 2853 + None, # 2854 + None, # 2855 + None, # 2856 + None, # 2857 + None, # 2858 + None, # 2859 + None, # 2860 + None, # 2861 + None, # 2862 + None, # 2863 + None, # 2864 + None, # 2865 + None, # 2866 + None, # 2867 + None, # 2868 + None, # 2869 + None, # 2870 + None, # 2871 + None, # 2872 + None, # 2873 + None, # 2874 + None, # 2875 + None, # 2876 + None, # 2877 + None, # 2878 + None, # 2879 + None, # 2880 + None, # 2881 + None, # 2882 + None, # 2883 + None, # 2884 + None, # 2885 + None, # 2886 + None, # 2887 + None, # 2888 + None, # 2889 + None, # 2890 + None, # 2891 + None, # 2892 + None, # 2893 + None, # 2894 + None, # 2895 + None, # 2896 + None, # 2897 + None, # 2898 + None, # 2899 + None, # 2900 + None, # 2901 + None, # 2902 + None, # 2903 + None, # 2904 + None, # 2905 + None, # 2906 + None, # 2907 + None, # 2908 + None, # 2909 + None, # 2910 + None, # 2911 + None, # 2912 + None, # 2913 + None, # 2914 + None, # 2915 + None, # 2916 + None, # 2917 + None, # 2918 + None, # 2919 + None, # 2920 + None, # 2921 + None, # 2922 + None, # 2923 + None, # 2924 + None, # 2925 + None, # 2926 + None, # 2927 + None, # 2928 + None, # 2929 + None, # 2930 + None, # 2931 + None, # 2932 + None, # 2933 + None, # 2934 + None, # 2935 + None, # 2936 + None, # 2937 + None, # 2938 + None, # 2939 + None, # 2940 + None, # 2941 + None, # 2942 + None, # 2943 + None, # 2944 + None, # 2945 + None, # 2946 + None, # 2947 + None, # 2948 + None, # 2949 + None, # 2950 + None, # 2951 + None, # 2952 + None, # 2953 + None, # 2954 + None, # 2955 + None, # 2956 + None, # 2957 + None, # 2958 + None, # 2959 + None, # 2960 + None, # 2961 + None, # 2962 + None, # 2963 + None, # 2964 + None, # 2965 + None, # 2966 + None, # 2967 + None, # 2968 + None, # 2969 + None, # 2970 + None, # 2971 + None, # 2972 + None, # 2973 + None, # 2974 + None, # 2975 + None, # 2976 + None, # 2977 + None, # 2978 + None, # 2979 + None, # 2980 + None, # 2981 + None, # 2982 + None, # 2983 + None, # 2984 + None, # 2985 + None, # 2986 + None, # 2987 + None, # 2988 + None, # 2989 + None, # 2990 + None, # 2991 + None, # 2992 + None, # 2993 + None, # 2994 + None, # 2995 + None, # 2996 + None, # 2997 + None, # 2998 + None, # 2999 + None, # 3000 + None, # 3001 + None, # 3002 + None, # 3003 + None, # 3004 + None, # 3005 + None, # 3006 + None, # 3007 + None, # 3008 + None, # 3009 + None, # 3010 + None, # 3011 + None, # 3012 + None, # 3013 + None, # 3014 + None, # 3015 + None, # 3016 + None, # 3017 + None, # 3018 + None, # 3019 + None, # 3020 + None, # 3021 + None, # 3022 + None, # 3023 + None, # 3024 + None, # 3025 + None, # 3026 + None, # 3027 + None, # 3028 + None, # 3029 + None, # 3030 + None, # 3031 + None, # 3032 + None, # 3033 + None, # 3034 + None, # 3035 + None, # 3036 + None, # 3037 + None, # 3038 + None, # 3039 + None, # 3040 + None, # 3041 + None, # 3042 + None, # 3043 + None, # 3044 + None, # 3045 + None, # 3046 + None, # 3047 + None, # 3048 + None, # 3049 + None, # 3050 + None, # 3051 + None, # 3052 + None, # 3053 + None, # 3054 + None, # 3055 + None, # 3056 + None, # 3057 + None, # 3058 + None, # 3059 + None, # 3060 + None, # 3061 + None, # 3062 + None, # 3063 + None, # 3064 + None, # 3065 + None, # 3066 + None, # 3067 + None, # 3068 + None, # 3069 + None, # 3070 + None, # 3071 + None, # 3072 + None, # 3073 + None, # 3074 + None, # 3075 + None, # 3076 + None, # 3077 + None, # 3078 + None, # 3079 + None, # 3080 + None, # 3081 + None, # 3082 + None, # 3083 + None, # 3084 + None, # 3085 + None, # 3086 + None, # 3087 + None, # 3088 + None, # 3089 + None, # 3090 + None, # 3091 + None, # 3092 + None, # 3093 + None, # 3094 + None, # 3095 + None, # 3096 + None, # 3097 + None, # 3098 + None, # 3099 + None, # 3100 + None, # 3101 + None, # 3102 + None, # 3103 + None, # 3104 + None, # 3105 + None, # 3106 + None, # 3107 + None, # 3108 + None, # 3109 + None, # 3110 + None, # 3111 + None, # 3112 + None, # 3113 + None, # 3114 + None, # 3115 + None, # 3116 + None, # 3117 + None, # 3118 + None, # 3119 + None, # 3120 + None, # 3121 + None, # 3122 + None, # 3123 + None, # 3124 + None, # 3125 + None, # 3126 + None, # 3127 + None, # 3128 + None, # 3129 + None, # 3130 + None, # 3131 + None, # 3132 + None, # 3133 + None, # 3134 + None, # 3135 + None, # 3136 + None, # 3137 + None, # 3138 + None, # 3139 + None, # 3140 + None, # 3141 + None, # 3142 + None, # 3143 + None, # 3144 + None, # 3145 + None, # 3146 + None, # 3147 + None, # 3148 + None, # 3149 + None, # 3150 + None, # 3151 + None, # 3152 + None, # 3153 + None, # 3154 + None, # 3155 + None, # 3156 + None, # 3157 + None, # 3158 + None, # 3159 + None, # 3160 + None, # 3161 + None, # 3162 + None, # 3163 + None, # 3164 + None, # 3165 + None, # 3166 + None, # 3167 + None, # 3168 + None, # 3169 + None, # 3170 + None, # 3171 + None, # 3172 + None, # 3173 + None, # 3174 + None, # 3175 + None, # 3176 + None, # 3177 + None, # 3178 + None, # 3179 + None, # 3180 + None, # 3181 + None, # 3182 + None, # 3183 + None, # 3184 + None, # 3185 + None, # 3186 + None, # 3187 + None, # 3188 + None, # 3189 + None, # 3190 + None, # 3191 + None, # 3192 + None, # 3193 + None, # 3194 + None, # 3195 + None, # 3196 + None, # 3197 + None, # 3198 + None, # 3199 + None, # 3200 + None, # 3201 + None, # 3202 + None, # 3203 + None, # 3204 + None, # 3205 + None, # 3206 + None, # 3207 + None, # 3208 + None, # 3209 + None, # 3210 + None, # 3211 + None, # 3212 + None, # 3213 + None, # 3214 + None, # 3215 + None, # 3216 + None, # 3217 + None, # 3218 + None, # 3219 + None, # 3220 + None, # 3221 + None, # 3222 + None, # 3223 + None, # 3224 + None, # 3225 + None, # 3226 + None, # 3227 + None, # 3228 + None, # 3229 + None, # 3230 + None, # 3231 + None, # 3232 + None, # 3233 + None, # 3234 + None, # 3235 + None, # 3236 + None, # 3237 + None, # 3238 + None, # 3239 + None, # 3240 + None, # 3241 + None, # 3242 + None, # 3243 + None, # 3244 + None, # 3245 + None, # 3246 + None, # 3247 + None, # 3248 + None, # 3249 + None, # 3250 + None, # 3251 + None, # 3252 + None, # 3253 + None, # 3254 + None, # 3255 + None, # 3256 + None, # 3257 + None, # 3258 + None, # 3259 + None, # 3260 + None, # 3261 + None, # 3262 + None, # 3263 + None, # 3264 + None, # 3265 + None, # 3266 + None, # 3267 + None, # 3268 + None, # 3269 + None, # 3270 + None, # 3271 + None, # 3272 + None, # 3273 + None, # 3274 + None, # 3275 + None, # 3276 + None, # 3277 + None, # 3278 + None, # 3279 + None, # 3280 + None, # 3281 + None, # 3282 + None, # 3283 + None, # 3284 + None, # 3285 + None, # 3286 + None, # 3287 + None, # 3288 + None, # 3289 + None, # 3290 + None, # 3291 + None, # 3292 + None, # 3293 + None, # 3294 + None, # 3295 + None, # 3296 + None, # 3297 + None, # 3298 + None, # 3299 + None, # 3300 + None, # 3301 + None, # 3302 + None, # 3303 + None, # 3304 + None, # 3305 + None, # 3306 + None, # 3307 + None, # 3308 + None, # 3309 + None, # 3310 + None, # 3311 + None, # 3312 + None, # 3313 + None, # 3314 + None, # 3315 + None, # 3316 + None, # 3317 + None, # 3318 + None, # 3319 + None, # 3320 + None, # 3321 + None, # 3322 + None, # 3323 + None, # 3324 + None, # 3325 + None, # 3326 + None, # 3327 + None, # 3328 + (3329, TType.STRUCT, 'sessionId', [THandleIdentifier, None], None, ), # 3329 ) all_structs.append(TOpenSessionResp) TOpenSessionResp.thrift_spec = ( - None, # 0 - ( - 1, - TType.STRUCT, - "status", - [TStatus, None], - None, - ), # 1 - ( - 2, - TType.I32, - "serverProtocolVersion", - None, - None, - ), # 2 - ( - 3, - TType.STRUCT, - "sessionHandle", - [TSessionHandle, None], - None, - ), # 3 - ( - 4, - TType.MAP, - "configuration", - (TType.STRING, "UTF8", TType.STRING, "UTF8", False), - None, - ), # 4 - None, # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - ( - 1281, - TType.LIST, - "getInfos", - (TType.STRUCT, [TGetInfoValue, None], False), - None, - ), # 1281 - None, # 1282 - None, # 1283 - ( - 1284, - TType.STRUCT, - "initialNamespace", - [TNamespace, None], - None, - ), # 1284 - ( - 1285, - TType.BOOL, - "canUseMultipleCatalogs", - None, - None, - ), # 1285 + None, # 0 + (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 + (2, TType.I32, 'serverProtocolVersion', None, None, ), # 2 + (3, TType.STRUCT, 'sessionHandle', [TSessionHandle, None], None, ), # 3 + (4, TType.MAP, 'configuration', (TType.STRING, 'UTF8', TType.STRING, 'UTF8', False), None, ), # 4 + None, # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + (1281, TType.LIST, 'getInfos', (TType.STRUCT, [TGetInfoValue, None], False), None, ), # 1281 + None, # 1282 + None, # 1283 + (1284, TType.STRUCT, 'initialNamespace', [TNamespace, None], None, ), # 1284 + (1285, TType.BOOL, 'canUseMultipleCatalogs', None, None, ), # 1285 ) all_structs.append(TCloseSessionReq) TCloseSessionReq.thrift_spec = ( - None, # 0 - ( - 1, - TType.STRUCT, - "sessionHandle", - [TSessionHandle, None], - None, - ), # 1 + None, # 0 + (1, TType.STRUCT, 'sessionHandle', [TSessionHandle, None], None, ), # 1 ) all_structs.append(TCloseSessionResp) TCloseSessionResp.thrift_spec = ( - None, # 0 - ( - 1, - TType.STRUCT, - "status", - [TStatus, None], - None, - ), # 1 + None, # 0 + (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 ) all_structs.append(TGetInfoValue) TGetInfoValue.thrift_spec = ( - None, # 0 - ( - 1, - TType.STRING, - "stringValue", - "UTF8", - None, - ), # 1 - ( - 2, - TType.I16, - "smallIntValue", - None, - None, - ), # 2 - ( - 3, - TType.I32, - "integerBitmask", - None, - None, - ), # 3 - ( - 4, - TType.I32, - "integerFlag", - None, - None, - ), # 4 - ( - 5, - TType.I32, - "binaryValue", - None, - None, - ), # 5 - ( - 6, - TType.I64, - "lenValue", - None, - None, - ), # 6 + None, # 0 + (1, TType.STRING, 'stringValue', 'UTF8', None, ), # 1 + (2, TType.I16, 'smallIntValue', None, None, ), # 2 + (3, TType.I32, 'integerBitmask', None, None, ), # 3 + (4, TType.I32, 'integerFlag', None, None, ), # 4 + (5, TType.I32, 'binaryValue', None, None, ), # 5 + (6, TType.I64, 'lenValue', None, None, ), # 6 ) all_structs.append(TGetInfoReq) TGetInfoReq.thrift_spec = ( - None, # 0 - ( - 1, - TType.STRUCT, - "sessionHandle", - [TSessionHandle, None], - None, - ), # 1 - ( - 2, - TType.I32, - "infoType", - None, - None, - ), # 2 - None, # 3 - None, # 4 - None, # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - None, # 1281 - None, # 1282 - None, # 1283 - None, # 1284 - None, # 1285 - None, # 1286 - None, # 1287 - None, # 1288 - None, # 1289 - None, # 1290 - None, # 1291 - None, # 1292 - None, # 1293 - None, # 1294 - None, # 1295 - None, # 1296 - None, # 1297 - None, # 1298 - None, # 1299 - None, # 1300 - None, # 1301 - None, # 1302 - None, # 1303 - None, # 1304 - None, # 1305 - None, # 1306 - None, # 1307 - None, # 1308 - None, # 1309 - None, # 1310 - None, # 1311 - None, # 1312 - None, # 1313 - None, # 1314 - None, # 1315 - None, # 1316 - None, # 1317 - None, # 1318 - None, # 1319 - None, # 1320 - None, # 1321 - None, # 1322 - None, # 1323 - None, # 1324 - None, # 1325 - None, # 1326 - None, # 1327 - None, # 1328 - None, # 1329 - None, # 1330 - None, # 1331 - None, # 1332 - None, # 1333 - None, # 1334 - None, # 1335 - None, # 1336 - None, # 1337 - None, # 1338 - None, # 1339 - None, # 1340 - None, # 1341 - None, # 1342 - None, # 1343 - None, # 1344 - None, # 1345 - None, # 1346 - None, # 1347 - None, # 1348 - None, # 1349 - None, # 1350 - None, # 1351 - None, # 1352 - None, # 1353 - None, # 1354 - None, # 1355 - None, # 1356 - None, # 1357 - None, # 1358 - None, # 1359 - None, # 1360 - None, # 1361 - None, # 1362 - None, # 1363 - None, # 1364 - None, # 1365 - None, # 1366 - None, # 1367 - None, # 1368 - None, # 1369 - None, # 1370 - None, # 1371 - None, # 1372 - None, # 1373 - None, # 1374 - None, # 1375 - None, # 1376 - None, # 1377 - None, # 1378 - None, # 1379 - None, # 1380 - None, # 1381 - None, # 1382 - None, # 1383 - None, # 1384 - None, # 1385 - None, # 1386 - None, # 1387 - None, # 1388 - None, # 1389 - None, # 1390 - None, # 1391 - None, # 1392 - None, # 1393 - None, # 1394 - None, # 1395 - None, # 1396 - None, # 1397 - None, # 1398 - None, # 1399 - None, # 1400 - None, # 1401 - None, # 1402 - None, # 1403 - None, # 1404 - None, # 1405 - None, # 1406 - None, # 1407 - None, # 1408 - None, # 1409 - None, # 1410 - None, # 1411 - None, # 1412 - None, # 1413 - None, # 1414 - None, # 1415 - None, # 1416 - None, # 1417 - None, # 1418 - None, # 1419 - None, # 1420 - None, # 1421 - None, # 1422 - None, # 1423 - None, # 1424 - None, # 1425 - None, # 1426 - None, # 1427 - None, # 1428 - None, # 1429 - None, # 1430 - None, # 1431 - None, # 1432 - None, # 1433 - None, # 1434 - None, # 1435 - None, # 1436 - None, # 1437 - None, # 1438 - None, # 1439 - None, # 1440 - None, # 1441 - None, # 1442 - None, # 1443 - None, # 1444 - None, # 1445 - None, # 1446 - None, # 1447 - None, # 1448 - None, # 1449 - None, # 1450 - None, # 1451 - None, # 1452 - None, # 1453 - None, # 1454 - None, # 1455 - None, # 1456 - None, # 1457 - None, # 1458 - None, # 1459 - None, # 1460 - None, # 1461 - None, # 1462 - None, # 1463 - None, # 1464 - None, # 1465 - None, # 1466 - None, # 1467 - None, # 1468 - None, # 1469 - None, # 1470 - None, # 1471 - None, # 1472 - None, # 1473 - None, # 1474 - None, # 1475 - None, # 1476 - None, # 1477 - None, # 1478 - None, # 1479 - None, # 1480 - None, # 1481 - None, # 1482 - None, # 1483 - None, # 1484 - None, # 1485 - None, # 1486 - None, # 1487 - None, # 1488 - None, # 1489 - None, # 1490 - None, # 1491 - None, # 1492 - None, # 1493 - None, # 1494 - None, # 1495 - None, # 1496 - None, # 1497 - None, # 1498 - None, # 1499 - None, # 1500 - None, # 1501 - None, # 1502 - None, # 1503 - None, # 1504 - None, # 1505 - None, # 1506 - None, # 1507 - None, # 1508 - None, # 1509 - None, # 1510 - None, # 1511 - None, # 1512 - None, # 1513 - None, # 1514 - None, # 1515 - None, # 1516 - None, # 1517 - None, # 1518 - None, # 1519 - None, # 1520 - None, # 1521 - None, # 1522 - None, # 1523 - None, # 1524 - None, # 1525 - None, # 1526 - None, # 1527 - None, # 1528 - None, # 1529 - None, # 1530 - None, # 1531 - None, # 1532 - None, # 1533 - None, # 1534 - None, # 1535 - None, # 1536 - None, # 1537 - None, # 1538 - None, # 1539 - None, # 1540 - None, # 1541 - None, # 1542 - None, # 1543 - None, # 1544 - None, # 1545 - None, # 1546 - None, # 1547 - None, # 1548 - None, # 1549 - None, # 1550 - None, # 1551 - None, # 1552 - None, # 1553 - None, # 1554 - None, # 1555 - None, # 1556 - None, # 1557 - None, # 1558 - None, # 1559 - None, # 1560 - None, # 1561 - None, # 1562 - None, # 1563 - None, # 1564 - None, # 1565 - None, # 1566 - None, # 1567 - None, # 1568 - None, # 1569 - None, # 1570 - None, # 1571 - None, # 1572 - None, # 1573 - None, # 1574 - None, # 1575 - None, # 1576 - None, # 1577 - None, # 1578 - None, # 1579 - None, # 1580 - None, # 1581 - None, # 1582 - None, # 1583 - None, # 1584 - None, # 1585 - None, # 1586 - None, # 1587 - None, # 1588 - None, # 1589 - None, # 1590 - None, # 1591 - None, # 1592 - None, # 1593 - None, # 1594 - None, # 1595 - None, # 1596 - None, # 1597 - None, # 1598 - None, # 1599 - None, # 1600 - None, # 1601 - None, # 1602 - None, # 1603 - None, # 1604 - None, # 1605 - None, # 1606 - None, # 1607 - None, # 1608 - None, # 1609 - None, # 1610 - None, # 1611 - None, # 1612 - None, # 1613 - None, # 1614 - None, # 1615 - None, # 1616 - None, # 1617 - None, # 1618 - None, # 1619 - None, # 1620 - None, # 1621 - None, # 1622 - None, # 1623 - None, # 1624 - None, # 1625 - None, # 1626 - None, # 1627 - None, # 1628 - None, # 1629 - None, # 1630 - None, # 1631 - None, # 1632 - None, # 1633 - None, # 1634 - None, # 1635 - None, # 1636 - None, # 1637 - None, # 1638 - None, # 1639 - None, # 1640 - None, # 1641 - None, # 1642 - None, # 1643 - None, # 1644 - None, # 1645 - None, # 1646 - None, # 1647 - None, # 1648 - None, # 1649 - None, # 1650 - None, # 1651 - None, # 1652 - None, # 1653 - None, # 1654 - None, # 1655 - None, # 1656 - None, # 1657 - None, # 1658 - None, # 1659 - None, # 1660 - None, # 1661 - None, # 1662 - None, # 1663 - None, # 1664 - None, # 1665 - None, # 1666 - None, # 1667 - None, # 1668 - None, # 1669 - None, # 1670 - None, # 1671 - None, # 1672 - None, # 1673 - None, # 1674 - None, # 1675 - None, # 1676 - None, # 1677 - None, # 1678 - None, # 1679 - None, # 1680 - None, # 1681 - None, # 1682 - None, # 1683 - None, # 1684 - None, # 1685 - None, # 1686 - None, # 1687 - None, # 1688 - None, # 1689 - None, # 1690 - None, # 1691 - None, # 1692 - None, # 1693 - None, # 1694 - None, # 1695 - None, # 1696 - None, # 1697 - None, # 1698 - None, # 1699 - None, # 1700 - None, # 1701 - None, # 1702 - None, # 1703 - None, # 1704 - None, # 1705 - None, # 1706 - None, # 1707 - None, # 1708 - None, # 1709 - None, # 1710 - None, # 1711 - None, # 1712 - None, # 1713 - None, # 1714 - None, # 1715 - None, # 1716 - None, # 1717 - None, # 1718 - None, # 1719 - None, # 1720 - None, # 1721 - None, # 1722 - None, # 1723 - None, # 1724 - None, # 1725 - None, # 1726 - None, # 1727 - None, # 1728 - None, # 1729 - None, # 1730 - None, # 1731 - None, # 1732 - None, # 1733 - None, # 1734 - None, # 1735 - None, # 1736 - None, # 1737 - None, # 1738 - None, # 1739 - None, # 1740 - None, # 1741 - None, # 1742 - None, # 1743 - None, # 1744 - None, # 1745 - None, # 1746 - None, # 1747 - None, # 1748 - None, # 1749 - None, # 1750 - None, # 1751 - None, # 1752 - None, # 1753 - None, # 1754 - None, # 1755 - None, # 1756 - None, # 1757 - None, # 1758 - None, # 1759 - None, # 1760 - None, # 1761 - None, # 1762 - None, # 1763 - None, # 1764 - None, # 1765 - None, # 1766 - None, # 1767 - None, # 1768 - None, # 1769 - None, # 1770 - None, # 1771 - None, # 1772 - None, # 1773 - None, # 1774 - None, # 1775 - None, # 1776 - None, # 1777 - None, # 1778 - None, # 1779 - None, # 1780 - None, # 1781 - None, # 1782 - None, # 1783 - None, # 1784 - None, # 1785 - None, # 1786 - None, # 1787 - None, # 1788 - None, # 1789 - None, # 1790 - None, # 1791 - None, # 1792 - None, # 1793 - None, # 1794 - None, # 1795 - None, # 1796 - None, # 1797 - None, # 1798 - None, # 1799 - None, # 1800 - None, # 1801 - None, # 1802 - None, # 1803 - None, # 1804 - None, # 1805 - None, # 1806 - None, # 1807 - None, # 1808 - None, # 1809 - None, # 1810 - None, # 1811 - None, # 1812 - None, # 1813 - None, # 1814 - None, # 1815 - None, # 1816 - None, # 1817 - None, # 1818 - None, # 1819 - None, # 1820 - None, # 1821 - None, # 1822 - None, # 1823 - None, # 1824 - None, # 1825 - None, # 1826 - None, # 1827 - None, # 1828 - None, # 1829 - None, # 1830 - None, # 1831 - None, # 1832 - None, # 1833 - None, # 1834 - None, # 1835 - None, # 1836 - None, # 1837 - None, # 1838 - None, # 1839 - None, # 1840 - None, # 1841 - None, # 1842 - None, # 1843 - None, # 1844 - None, # 1845 - None, # 1846 - None, # 1847 - None, # 1848 - None, # 1849 - None, # 1850 - None, # 1851 - None, # 1852 - None, # 1853 - None, # 1854 - None, # 1855 - None, # 1856 - None, # 1857 - None, # 1858 - None, # 1859 - None, # 1860 - None, # 1861 - None, # 1862 - None, # 1863 - None, # 1864 - None, # 1865 - None, # 1866 - None, # 1867 - None, # 1868 - None, # 1869 - None, # 1870 - None, # 1871 - None, # 1872 - None, # 1873 - None, # 1874 - None, # 1875 - None, # 1876 - None, # 1877 - None, # 1878 - None, # 1879 - None, # 1880 - None, # 1881 - None, # 1882 - None, # 1883 - None, # 1884 - None, # 1885 - None, # 1886 - None, # 1887 - None, # 1888 - None, # 1889 - None, # 1890 - None, # 1891 - None, # 1892 - None, # 1893 - None, # 1894 - None, # 1895 - None, # 1896 - None, # 1897 - None, # 1898 - None, # 1899 - None, # 1900 - None, # 1901 - None, # 1902 - None, # 1903 - None, # 1904 - None, # 1905 - None, # 1906 - None, # 1907 - None, # 1908 - None, # 1909 - None, # 1910 - None, # 1911 - None, # 1912 - None, # 1913 - None, # 1914 - None, # 1915 - None, # 1916 - None, # 1917 - None, # 1918 - None, # 1919 - None, # 1920 - None, # 1921 - None, # 1922 - None, # 1923 - None, # 1924 - None, # 1925 - None, # 1926 - None, # 1927 - None, # 1928 - None, # 1929 - None, # 1930 - None, # 1931 - None, # 1932 - None, # 1933 - None, # 1934 - None, # 1935 - None, # 1936 - None, # 1937 - None, # 1938 - None, # 1939 - None, # 1940 - None, # 1941 - None, # 1942 - None, # 1943 - None, # 1944 - None, # 1945 - None, # 1946 - None, # 1947 - None, # 1948 - None, # 1949 - None, # 1950 - None, # 1951 - None, # 1952 - None, # 1953 - None, # 1954 - None, # 1955 - None, # 1956 - None, # 1957 - None, # 1958 - None, # 1959 - None, # 1960 - None, # 1961 - None, # 1962 - None, # 1963 - None, # 1964 - None, # 1965 - None, # 1966 - None, # 1967 - None, # 1968 - None, # 1969 - None, # 1970 - None, # 1971 - None, # 1972 - None, # 1973 - None, # 1974 - None, # 1975 - None, # 1976 - None, # 1977 - None, # 1978 - None, # 1979 - None, # 1980 - None, # 1981 - None, # 1982 - None, # 1983 - None, # 1984 - None, # 1985 - None, # 1986 - None, # 1987 - None, # 1988 - None, # 1989 - None, # 1990 - None, # 1991 - None, # 1992 - None, # 1993 - None, # 1994 - None, # 1995 - None, # 1996 - None, # 1997 - None, # 1998 - None, # 1999 - None, # 2000 - None, # 2001 - None, # 2002 - None, # 2003 - None, # 2004 - None, # 2005 - None, # 2006 - None, # 2007 - None, # 2008 - None, # 2009 - None, # 2010 - None, # 2011 - None, # 2012 - None, # 2013 - None, # 2014 - None, # 2015 - None, # 2016 - None, # 2017 - None, # 2018 - None, # 2019 - None, # 2020 - None, # 2021 - None, # 2022 - None, # 2023 - None, # 2024 - None, # 2025 - None, # 2026 - None, # 2027 - None, # 2028 - None, # 2029 - None, # 2030 - None, # 2031 - None, # 2032 - None, # 2033 - None, # 2034 - None, # 2035 - None, # 2036 - None, # 2037 - None, # 2038 - None, # 2039 - None, # 2040 - None, # 2041 - None, # 2042 - None, # 2043 - None, # 2044 - None, # 2045 - None, # 2046 - None, # 2047 - None, # 2048 - None, # 2049 - None, # 2050 - None, # 2051 - None, # 2052 - None, # 2053 - None, # 2054 - None, # 2055 - None, # 2056 - None, # 2057 - None, # 2058 - None, # 2059 - None, # 2060 - None, # 2061 - None, # 2062 - None, # 2063 - None, # 2064 - None, # 2065 - None, # 2066 - None, # 2067 - None, # 2068 - None, # 2069 - None, # 2070 - None, # 2071 - None, # 2072 - None, # 2073 - None, # 2074 - None, # 2075 - None, # 2076 - None, # 2077 - None, # 2078 - None, # 2079 - None, # 2080 - None, # 2081 - None, # 2082 - None, # 2083 - None, # 2084 - None, # 2085 - None, # 2086 - None, # 2087 - None, # 2088 - None, # 2089 - None, # 2090 - None, # 2091 - None, # 2092 - None, # 2093 - None, # 2094 - None, # 2095 - None, # 2096 - None, # 2097 - None, # 2098 - None, # 2099 - None, # 2100 - None, # 2101 - None, # 2102 - None, # 2103 - None, # 2104 - None, # 2105 - None, # 2106 - None, # 2107 - None, # 2108 - None, # 2109 - None, # 2110 - None, # 2111 - None, # 2112 - None, # 2113 - None, # 2114 - None, # 2115 - None, # 2116 - None, # 2117 - None, # 2118 - None, # 2119 - None, # 2120 - None, # 2121 - None, # 2122 - None, # 2123 - None, # 2124 - None, # 2125 - None, # 2126 - None, # 2127 - None, # 2128 - None, # 2129 - None, # 2130 - None, # 2131 - None, # 2132 - None, # 2133 - None, # 2134 - None, # 2135 - None, # 2136 - None, # 2137 - None, # 2138 - None, # 2139 - None, # 2140 - None, # 2141 - None, # 2142 - None, # 2143 - None, # 2144 - None, # 2145 - None, # 2146 - None, # 2147 - None, # 2148 - None, # 2149 - None, # 2150 - None, # 2151 - None, # 2152 - None, # 2153 - None, # 2154 - None, # 2155 - None, # 2156 - None, # 2157 - None, # 2158 - None, # 2159 - None, # 2160 - None, # 2161 - None, # 2162 - None, # 2163 - None, # 2164 - None, # 2165 - None, # 2166 - None, # 2167 - None, # 2168 - None, # 2169 - None, # 2170 - None, # 2171 - None, # 2172 - None, # 2173 - None, # 2174 - None, # 2175 - None, # 2176 - None, # 2177 - None, # 2178 - None, # 2179 - None, # 2180 - None, # 2181 - None, # 2182 - None, # 2183 - None, # 2184 - None, # 2185 - None, # 2186 - None, # 2187 - None, # 2188 - None, # 2189 - None, # 2190 - None, # 2191 - None, # 2192 - None, # 2193 - None, # 2194 - None, # 2195 - None, # 2196 - None, # 2197 - None, # 2198 - None, # 2199 - None, # 2200 - None, # 2201 - None, # 2202 - None, # 2203 - None, # 2204 - None, # 2205 - None, # 2206 - None, # 2207 - None, # 2208 - None, # 2209 - None, # 2210 - None, # 2211 - None, # 2212 - None, # 2213 - None, # 2214 - None, # 2215 - None, # 2216 - None, # 2217 - None, # 2218 - None, # 2219 - None, # 2220 - None, # 2221 - None, # 2222 - None, # 2223 - None, # 2224 - None, # 2225 - None, # 2226 - None, # 2227 - None, # 2228 - None, # 2229 - None, # 2230 - None, # 2231 - None, # 2232 - None, # 2233 - None, # 2234 - None, # 2235 - None, # 2236 - None, # 2237 - None, # 2238 - None, # 2239 - None, # 2240 - None, # 2241 - None, # 2242 - None, # 2243 - None, # 2244 - None, # 2245 - None, # 2246 - None, # 2247 - None, # 2248 - None, # 2249 - None, # 2250 - None, # 2251 - None, # 2252 - None, # 2253 - None, # 2254 - None, # 2255 - None, # 2256 - None, # 2257 - None, # 2258 - None, # 2259 - None, # 2260 - None, # 2261 - None, # 2262 - None, # 2263 - None, # 2264 - None, # 2265 - None, # 2266 - None, # 2267 - None, # 2268 - None, # 2269 - None, # 2270 - None, # 2271 - None, # 2272 - None, # 2273 - None, # 2274 - None, # 2275 - None, # 2276 - None, # 2277 - None, # 2278 - None, # 2279 - None, # 2280 - None, # 2281 - None, # 2282 - None, # 2283 - None, # 2284 - None, # 2285 - None, # 2286 - None, # 2287 - None, # 2288 - None, # 2289 - None, # 2290 - None, # 2291 - None, # 2292 - None, # 2293 - None, # 2294 - None, # 2295 - None, # 2296 - None, # 2297 - None, # 2298 - None, # 2299 - None, # 2300 - None, # 2301 - None, # 2302 - None, # 2303 - None, # 2304 - None, # 2305 - None, # 2306 - None, # 2307 - None, # 2308 - None, # 2309 - None, # 2310 - None, # 2311 - None, # 2312 - None, # 2313 - None, # 2314 - None, # 2315 - None, # 2316 - None, # 2317 - None, # 2318 - None, # 2319 - None, # 2320 - None, # 2321 - None, # 2322 - None, # 2323 - None, # 2324 - None, # 2325 - None, # 2326 - None, # 2327 - None, # 2328 - None, # 2329 - None, # 2330 - None, # 2331 - None, # 2332 - None, # 2333 - None, # 2334 - None, # 2335 - None, # 2336 - None, # 2337 - None, # 2338 - None, # 2339 - None, # 2340 - None, # 2341 - None, # 2342 - None, # 2343 - None, # 2344 - None, # 2345 - None, # 2346 - None, # 2347 - None, # 2348 - None, # 2349 - None, # 2350 - None, # 2351 - None, # 2352 - None, # 2353 - None, # 2354 - None, # 2355 - None, # 2356 - None, # 2357 - None, # 2358 - None, # 2359 - None, # 2360 - None, # 2361 - None, # 2362 - None, # 2363 - None, # 2364 - None, # 2365 - None, # 2366 - None, # 2367 - None, # 2368 - None, # 2369 - None, # 2370 - None, # 2371 - None, # 2372 - None, # 2373 - None, # 2374 - None, # 2375 - None, # 2376 - None, # 2377 - None, # 2378 - None, # 2379 - None, # 2380 - None, # 2381 - None, # 2382 - None, # 2383 - None, # 2384 - None, # 2385 - None, # 2386 - None, # 2387 - None, # 2388 - None, # 2389 - None, # 2390 - None, # 2391 - None, # 2392 - None, # 2393 - None, # 2394 - None, # 2395 - None, # 2396 - None, # 2397 - None, # 2398 - None, # 2399 - None, # 2400 - None, # 2401 - None, # 2402 - None, # 2403 - None, # 2404 - None, # 2405 - None, # 2406 - None, # 2407 - None, # 2408 - None, # 2409 - None, # 2410 - None, # 2411 - None, # 2412 - None, # 2413 - None, # 2414 - None, # 2415 - None, # 2416 - None, # 2417 - None, # 2418 - None, # 2419 - None, # 2420 - None, # 2421 - None, # 2422 - None, # 2423 - None, # 2424 - None, # 2425 - None, # 2426 - None, # 2427 - None, # 2428 - None, # 2429 - None, # 2430 - None, # 2431 - None, # 2432 - None, # 2433 - None, # 2434 - None, # 2435 - None, # 2436 - None, # 2437 - None, # 2438 - None, # 2439 - None, # 2440 - None, # 2441 - None, # 2442 - None, # 2443 - None, # 2444 - None, # 2445 - None, # 2446 - None, # 2447 - None, # 2448 - None, # 2449 - None, # 2450 - None, # 2451 - None, # 2452 - None, # 2453 - None, # 2454 - None, # 2455 - None, # 2456 - None, # 2457 - None, # 2458 - None, # 2459 - None, # 2460 - None, # 2461 - None, # 2462 - None, # 2463 - None, # 2464 - None, # 2465 - None, # 2466 - None, # 2467 - None, # 2468 - None, # 2469 - None, # 2470 - None, # 2471 - None, # 2472 - None, # 2473 - None, # 2474 - None, # 2475 - None, # 2476 - None, # 2477 - None, # 2478 - None, # 2479 - None, # 2480 - None, # 2481 - None, # 2482 - None, # 2483 - None, # 2484 - None, # 2485 - None, # 2486 - None, # 2487 - None, # 2488 - None, # 2489 - None, # 2490 - None, # 2491 - None, # 2492 - None, # 2493 - None, # 2494 - None, # 2495 - None, # 2496 - None, # 2497 - None, # 2498 - None, # 2499 - None, # 2500 - None, # 2501 - None, # 2502 - None, # 2503 - None, # 2504 - None, # 2505 - None, # 2506 - None, # 2507 - None, # 2508 - None, # 2509 - None, # 2510 - None, # 2511 - None, # 2512 - None, # 2513 - None, # 2514 - None, # 2515 - None, # 2516 - None, # 2517 - None, # 2518 - None, # 2519 - None, # 2520 - None, # 2521 - None, # 2522 - None, # 2523 - None, # 2524 - None, # 2525 - None, # 2526 - None, # 2527 - None, # 2528 - None, # 2529 - None, # 2530 - None, # 2531 - None, # 2532 - None, # 2533 - None, # 2534 - None, # 2535 - None, # 2536 - None, # 2537 - None, # 2538 - None, # 2539 - None, # 2540 - None, # 2541 - None, # 2542 - None, # 2543 - None, # 2544 - None, # 2545 - None, # 2546 - None, # 2547 - None, # 2548 - None, # 2549 - None, # 2550 - None, # 2551 - None, # 2552 - None, # 2553 - None, # 2554 - None, # 2555 - None, # 2556 - None, # 2557 - None, # 2558 - None, # 2559 - None, # 2560 - None, # 2561 - None, # 2562 - None, # 2563 - None, # 2564 - None, # 2565 - None, # 2566 - None, # 2567 - None, # 2568 - None, # 2569 - None, # 2570 - None, # 2571 - None, # 2572 - None, # 2573 - None, # 2574 - None, # 2575 - None, # 2576 - None, # 2577 - None, # 2578 - None, # 2579 - None, # 2580 - None, # 2581 - None, # 2582 - None, # 2583 - None, # 2584 - None, # 2585 - None, # 2586 - None, # 2587 - None, # 2588 - None, # 2589 - None, # 2590 - None, # 2591 - None, # 2592 - None, # 2593 - None, # 2594 - None, # 2595 - None, # 2596 - None, # 2597 - None, # 2598 - None, # 2599 - None, # 2600 - None, # 2601 - None, # 2602 - None, # 2603 - None, # 2604 - None, # 2605 - None, # 2606 - None, # 2607 - None, # 2608 - None, # 2609 - None, # 2610 - None, # 2611 - None, # 2612 - None, # 2613 - None, # 2614 - None, # 2615 - None, # 2616 - None, # 2617 - None, # 2618 - None, # 2619 - None, # 2620 - None, # 2621 - None, # 2622 - None, # 2623 - None, # 2624 - None, # 2625 - None, # 2626 - None, # 2627 - None, # 2628 - None, # 2629 - None, # 2630 - None, # 2631 - None, # 2632 - None, # 2633 - None, # 2634 - None, # 2635 - None, # 2636 - None, # 2637 - None, # 2638 - None, # 2639 - None, # 2640 - None, # 2641 - None, # 2642 - None, # 2643 - None, # 2644 - None, # 2645 - None, # 2646 - None, # 2647 - None, # 2648 - None, # 2649 - None, # 2650 - None, # 2651 - None, # 2652 - None, # 2653 - None, # 2654 - None, # 2655 - None, # 2656 - None, # 2657 - None, # 2658 - None, # 2659 - None, # 2660 - None, # 2661 - None, # 2662 - None, # 2663 - None, # 2664 - None, # 2665 - None, # 2666 - None, # 2667 - None, # 2668 - None, # 2669 - None, # 2670 - None, # 2671 - None, # 2672 - None, # 2673 - None, # 2674 - None, # 2675 - None, # 2676 - None, # 2677 - None, # 2678 - None, # 2679 - None, # 2680 - None, # 2681 - None, # 2682 - None, # 2683 - None, # 2684 - None, # 2685 - None, # 2686 - None, # 2687 - None, # 2688 - None, # 2689 - None, # 2690 - None, # 2691 - None, # 2692 - None, # 2693 - None, # 2694 - None, # 2695 - None, # 2696 - None, # 2697 - None, # 2698 - None, # 2699 - None, # 2700 - None, # 2701 - None, # 2702 - None, # 2703 - None, # 2704 - None, # 2705 - None, # 2706 - None, # 2707 - None, # 2708 - None, # 2709 - None, # 2710 - None, # 2711 - None, # 2712 - None, # 2713 - None, # 2714 - None, # 2715 - None, # 2716 - None, # 2717 - None, # 2718 - None, # 2719 - None, # 2720 - None, # 2721 - None, # 2722 - None, # 2723 - None, # 2724 - None, # 2725 - None, # 2726 - None, # 2727 - None, # 2728 - None, # 2729 - None, # 2730 - None, # 2731 - None, # 2732 - None, # 2733 - None, # 2734 - None, # 2735 - None, # 2736 - None, # 2737 - None, # 2738 - None, # 2739 - None, # 2740 - None, # 2741 - None, # 2742 - None, # 2743 - None, # 2744 - None, # 2745 - None, # 2746 - None, # 2747 - None, # 2748 - None, # 2749 - None, # 2750 - None, # 2751 - None, # 2752 - None, # 2753 - None, # 2754 - None, # 2755 - None, # 2756 - None, # 2757 - None, # 2758 - None, # 2759 - None, # 2760 - None, # 2761 - None, # 2762 - None, # 2763 - None, # 2764 - None, # 2765 - None, # 2766 - None, # 2767 - None, # 2768 - None, # 2769 - None, # 2770 - None, # 2771 - None, # 2772 - None, # 2773 - None, # 2774 - None, # 2775 - None, # 2776 - None, # 2777 - None, # 2778 - None, # 2779 - None, # 2780 - None, # 2781 - None, # 2782 - None, # 2783 - None, # 2784 - None, # 2785 - None, # 2786 - None, # 2787 - None, # 2788 - None, # 2789 - None, # 2790 - None, # 2791 - None, # 2792 - None, # 2793 - None, # 2794 - None, # 2795 - None, # 2796 - None, # 2797 - None, # 2798 - None, # 2799 - None, # 2800 - None, # 2801 - None, # 2802 - None, # 2803 - None, # 2804 - None, # 2805 - None, # 2806 - None, # 2807 - None, # 2808 - None, # 2809 - None, # 2810 - None, # 2811 - None, # 2812 - None, # 2813 - None, # 2814 - None, # 2815 - None, # 2816 - None, # 2817 - None, # 2818 - None, # 2819 - None, # 2820 - None, # 2821 - None, # 2822 - None, # 2823 - None, # 2824 - None, # 2825 - None, # 2826 - None, # 2827 - None, # 2828 - None, # 2829 - None, # 2830 - None, # 2831 - None, # 2832 - None, # 2833 - None, # 2834 - None, # 2835 - None, # 2836 - None, # 2837 - None, # 2838 - None, # 2839 - None, # 2840 - None, # 2841 - None, # 2842 - None, # 2843 - None, # 2844 - None, # 2845 - None, # 2846 - None, # 2847 - None, # 2848 - None, # 2849 - None, # 2850 - None, # 2851 - None, # 2852 - None, # 2853 - None, # 2854 - None, # 2855 - None, # 2856 - None, # 2857 - None, # 2858 - None, # 2859 - None, # 2860 - None, # 2861 - None, # 2862 - None, # 2863 - None, # 2864 - None, # 2865 - None, # 2866 - None, # 2867 - None, # 2868 - None, # 2869 - None, # 2870 - None, # 2871 - None, # 2872 - None, # 2873 - None, # 2874 - None, # 2875 - None, # 2876 - None, # 2877 - None, # 2878 - None, # 2879 - None, # 2880 - None, # 2881 - None, # 2882 - None, # 2883 - None, # 2884 - None, # 2885 - None, # 2886 - None, # 2887 - None, # 2888 - None, # 2889 - None, # 2890 - None, # 2891 - None, # 2892 - None, # 2893 - None, # 2894 - None, # 2895 - None, # 2896 - None, # 2897 - None, # 2898 - None, # 2899 - None, # 2900 - None, # 2901 - None, # 2902 - None, # 2903 - None, # 2904 - None, # 2905 - None, # 2906 - None, # 2907 - None, # 2908 - None, # 2909 - None, # 2910 - None, # 2911 - None, # 2912 - None, # 2913 - None, # 2914 - None, # 2915 - None, # 2916 - None, # 2917 - None, # 2918 - None, # 2919 - None, # 2920 - None, # 2921 - None, # 2922 - None, # 2923 - None, # 2924 - None, # 2925 - None, # 2926 - None, # 2927 - None, # 2928 - None, # 2929 - None, # 2930 - None, # 2931 - None, # 2932 - None, # 2933 - None, # 2934 - None, # 2935 - None, # 2936 - None, # 2937 - None, # 2938 - None, # 2939 - None, # 2940 - None, # 2941 - None, # 2942 - None, # 2943 - None, # 2944 - None, # 2945 - None, # 2946 - None, # 2947 - None, # 2948 - None, # 2949 - None, # 2950 - None, # 2951 - None, # 2952 - None, # 2953 - None, # 2954 - None, # 2955 - None, # 2956 - None, # 2957 - None, # 2958 - None, # 2959 - None, # 2960 - None, # 2961 - None, # 2962 - None, # 2963 - None, # 2964 - None, # 2965 - None, # 2966 - None, # 2967 - None, # 2968 - None, # 2969 - None, # 2970 - None, # 2971 - None, # 2972 - None, # 2973 - None, # 2974 - None, # 2975 - None, # 2976 - None, # 2977 - None, # 2978 - None, # 2979 - None, # 2980 - None, # 2981 - None, # 2982 - None, # 2983 - None, # 2984 - None, # 2985 - None, # 2986 - None, # 2987 - None, # 2988 - None, # 2989 - None, # 2990 - None, # 2991 - None, # 2992 - None, # 2993 - None, # 2994 - None, # 2995 - None, # 2996 - None, # 2997 - None, # 2998 - None, # 2999 - None, # 3000 - None, # 3001 - None, # 3002 - None, # 3003 - None, # 3004 - None, # 3005 - None, # 3006 - None, # 3007 - None, # 3008 - None, # 3009 - None, # 3010 - None, # 3011 - None, # 3012 - None, # 3013 - None, # 3014 - None, # 3015 - None, # 3016 - None, # 3017 - None, # 3018 - None, # 3019 - None, # 3020 - None, # 3021 - None, # 3022 - None, # 3023 - None, # 3024 - None, # 3025 - None, # 3026 - None, # 3027 - None, # 3028 - None, # 3029 - None, # 3030 - None, # 3031 - None, # 3032 - None, # 3033 - None, # 3034 - None, # 3035 - None, # 3036 - None, # 3037 - None, # 3038 - None, # 3039 - None, # 3040 - None, # 3041 - None, # 3042 - None, # 3043 - None, # 3044 - None, # 3045 - None, # 3046 - None, # 3047 - None, # 3048 - None, # 3049 - None, # 3050 - None, # 3051 - None, # 3052 - None, # 3053 - None, # 3054 - None, # 3055 - None, # 3056 - None, # 3057 - None, # 3058 - None, # 3059 - None, # 3060 - None, # 3061 - None, # 3062 - None, # 3063 - None, # 3064 - None, # 3065 - None, # 3066 - None, # 3067 - None, # 3068 - None, # 3069 - None, # 3070 - None, # 3071 - None, # 3072 - None, # 3073 - None, # 3074 - None, # 3075 - None, # 3076 - None, # 3077 - None, # 3078 - None, # 3079 - None, # 3080 - None, # 3081 - None, # 3082 - None, # 3083 - None, # 3084 - None, # 3085 - None, # 3086 - None, # 3087 - None, # 3088 - None, # 3089 - None, # 3090 - None, # 3091 - None, # 3092 - None, # 3093 - None, # 3094 - None, # 3095 - None, # 3096 - None, # 3097 - None, # 3098 - None, # 3099 - None, # 3100 - None, # 3101 - None, # 3102 - None, # 3103 - None, # 3104 - None, # 3105 - None, # 3106 - None, # 3107 - None, # 3108 - None, # 3109 - None, # 3110 - None, # 3111 - None, # 3112 - None, # 3113 - None, # 3114 - None, # 3115 - None, # 3116 - None, # 3117 - None, # 3118 - None, # 3119 - None, # 3120 - None, # 3121 - None, # 3122 - None, # 3123 - None, # 3124 - None, # 3125 - None, # 3126 - None, # 3127 - None, # 3128 - None, # 3129 - None, # 3130 - None, # 3131 - None, # 3132 - None, # 3133 - None, # 3134 - None, # 3135 - None, # 3136 - None, # 3137 - None, # 3138 - None, # 3139 - None, # 3140 - None, # 3141 - None, # 3142 - None, # 3143 - None, # 3144 - None, # 3145 - None, # 3146 - None, # 3147 - None, # 3148 - None, # 3149 - None, # 3150 - None, # 3151 - None, # 3152 - None, # 3153 - None, # 3154 - None, # 3155 - None, # 3156 - None, # 3157 - None, # 3158 - None, # 3159 - None, # 3160 - None, # 3161 - None, # 3162 - None, # 3163 - None, # 3164 - None, # 3165 - None, # 3166 - None, # 3167 - None, # 3168 - None, # 3169 - None, # 3170 - None, # 3171 - None, # 3172 - None, # 3173 - None, # 3174 - None, # 3175 - None, # 3176 - None, # 3177 - None, # 3178 - None, # 3179 - None, # 3180 - None, # 3181 - None, # 3182 - None, # 3183 - None, # 3184 - None, # 3185 - None, # 3186 - None, # 3187 - None, # 3188 - None, # 3189 - None, # 3190 - None, # 3191 - None, # 3192 - None, # 3193 - None, # 3194 - None, # 3195 - None, # 3196 - None, # 3197 - None, # 3198 - None, # 3199 - None, # 3200 - None, # 3201 - None, # 3202 - None, # 3203 - None, # 3204 - None, # 3205 - None, # 3206 - None, # 3207 - None, # 3208 - None, # 3209 - None, # 3210 - None, # 3211 - None, # 3212 - None, # 3213 - None, # 3214 - None, # 3215 - None, # 3216 - None, # 3217 - None, # 3218 - None, # 3219 - None, # 3220 - None, # 3221 - None, # 3222 - None, # 3223 - None, # 3224 - None, # 3225 - None, # 3226 - None, # 3227 - None, # 3228 - None, # 3229 - None, # 3230 - None, # 3231 - None, # 3232 - None, # 3233 - None, # 3234 - None, # 3235 - None, # 3236 - None, # 3237 - None, # 3238 - None, # 3239 - None, # 3240 - None, # 3241 - None, # 3242 - None, # 3243 - None, # 3244 - None, # 3245 - None, # 3246 - None, # 3247 - None, # 3248 - None, # 3249 - None, # 3250 - None, # 3251 - None, # 3252 - None, # 3253 - None, # 3254 - None, # 3255 - None, # 3256 - None, # 3257 - None, # 3258 - None, # 3259 - None, # 3260 - None, # 3261 - None, # 3262 - None, # 3263 - None, # 3264 - None, # 3265 - None, # 3266 - None, # 3267 - None, # 3268 - None, # 3269 - None, # 3270 - None, # 3271 - None, # 3272 - None, # 3273 - None, # 3274 - None, # 3275 - None, # 3276 - None, # 3277 - None, # 3278 - None, # 3279 - None, # 3280 - None, # 3281 - None, # 3282 - None, # 3283 - None, # 3284 - None, # 3285 - None, # 3286 - None, # 3287 - None, # 3288 - None, # 3289 - None, # 3290 - None, # 3291 - None, # 3292 - None, # 3293 - None, # 3294 - None, # 3295 - None, # 3296 - None, # 3297 - None, # 3298 - None, # 3299 - None, # 3300 - None, # 3301 - None, # 3302 - None, # 3303 - None, # 3304 - None, # 3305 - None, # 3306 - None, # 3307 - None, # 3308 - None, # 3309 - None, # 3310 - None, # 3311 - None, # 3312 - None, # 3313 - None, # 3314 - None, # 3315 - None, # 3316 - None, # 3317 - None, # 3318 - None, # 3319 - None, # 3320 - None, # 3321 - None, # 3322 - None, # 3323 - None, # 3324 - None, # 3325 - None, # 3326 - None, # 3327 - None, # 3328 - ( - 3329, - TType.STRUCT, - "sessionConf", - [TDBSqlSessionConf, None], - None, - ), # 3329 + None, # 0 + (1, TType.STRUCT, 'sessionHandle', [TSessionHandle, None], None, ), # 1 + (2, TType.I32, 'infoType', None, None, ), # 2 + None, # 3 + None, # 4 + None, # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + None, # 1281 + None, # 1282 + None, # 1283 + None, # 1284 + None, # 1285 + None, # 1286 + None, # 1287 + None, # 1288 + None, # 1289 + None, # 1290 + None, # 1291 + None, # 1292 + None, # 1293 + None, # 1294 + None, # 1295 + None, # 1296 + None, # 1297 + None, # 1298 + None, # 1299 + None, # 1300 + None, # 1301 + None, # 1302 + None, # 1303 + None, # 1304 + None, # 1305 + None, # 1306 + None, # 1307 + None, # 1308 + None, # 1309 + None, # 1310 + None, # 1311 + None, # 1312 + None, # 1313 + None, # 1314 + None, # 1315 + None, # 1316 + None, # 1317 + None, # 1318 + None, # 1319 + None, # 1320 + None, # 1321 + None, # 1322 + None, # 1323 + None, # 1324 + None, # 1325 + None, # 1326 + None, # 1327 + None, # 1328 + None, # 1329 + None, # 1330 + None, # 1331 + None, # 1332 + None, # 1333 + None, # 1334 + None, # 1335 + None, # 1336 + None, # 1337 + None, # 1338 + None, # 1339 + None, # 1340 + None, # 1341 + None, # 1342 + None, # 1343 + None, # 1344 + None, # 1345 + None, # 1346 + None, # 1347 + None, # 1348 + None, # 1349 + None, # 1350 + None, # 1351 + None, # 1352 + None, # 1353 + None, # 1354 + None, # 1355 + None, # 1356 + None, # 1357 + None, # 1358 + None, # 1359 + None, # 1360 + None, # 1361 + None, # 1362 + None, # 1363 + None, # 1364 + None, # 1365 + None, # 1366 + None, # 1367 + None, # 1368 + None, # 1369 + None, # 1370 + None, # 1371 + None, # 1372 + None, # 1373 + None, # 1374 + None, # 1375 + None, # 1376 + None, # 1377 + None, # 1378 + None, # 1379 + None, # 1380 + None, # 1381 + None, # 1382 + None, # 1383 + None, # 1384 + None, # 1385 + None, # 1386 + None, # 1387 + None, # 1388 + None, # 1389 + None, # 1390 + None, # 1391 + None, # 1392 + None, # 1393 + None, # 1394 + None, # 1395 + None, # 1396 + None, # 1397 + None, # 1398 + None, # 1399 + None, # 1400 + None, # 1401 + None, # 1402 + None, # 1403 + None, # 1404 + None, # 1405 + None, # 1406 + None, # 1407 + None, # 1408 + None, # 1409 + None, # 1410 + None, # 1411 + None, # 1412 + None, # 1413 + None, # 1414 + None, # 1415 + None, # 1416 + None, # 1417 + None, # 1418 + None, # 1419 + None, # 1420 + None, # 1421 + None, # 1422 + None, # 1423 + None, # 1424 + None, # 1425 + None, # 1426 + None, # 1427 + None, # 1428 + None, # 1429 + None, # 1430 + None, # 1431 + None, # 1432 + None, # 1433 + None, # 1434 + None, # 1435 + None, # 1436 + None, # 1437 + None, # 1438 + None, # 1439 + None, # 1440 + None, # 1441 + None, # 1442 + None, # 1443 + None, # 1444 + None, # 1445 + None, # 1446 + None, # 1447 + None, # 1448 + None, # 1449 + None, # 1450 + None, # 1451 + None, # 1452 + None, # 1453 + None, # 1454 + None, # 1455 + None, # 1456 + None, # 1457 + None, # 1458 + None, # 1459 + None, # 1460 + None, # 1461 + None, # 1462 + None, # 1463 + None, # 1464 + None, # 1465 + None, # 1466 + None, # 1467 + None, # 1468 + None, # 1469 + None, # 1470 + None, # 1471 + None, # 1472 + None, # 1473 + None, # 1474 + None, # 1475 + None, # 1476 + None, # 1477 + None, # 1478 + None, # 1479 + None, # 1480 + None, # 1481 + None, # 1482 + None, # 1483 + None, # 1484 + None, # 1485 + None, # 1486 + None, # 1487 + None, # 1488 + None, # 1489 + None, # 1490 + None, # 1491 + None, # 1492 + None, # 1493 + None, # 1494 + None, # 1495 + None, # 1496 + None, # 1497 + None, # 1498 + None, # 1499 + None, # 1500 + None, # 1501 + None, # 1502 + None, # 1503 + None, # 1504 + None, # 1505 + None, # 1506 + None, # 1507 + None, # 1508 + None, # 1509 + None, # 1510 + None, # 1511 + None, # 1512 + None, # 1513 + None, # 1514 + None, # 1515 + None, # 1516 + None, # 1517 + None, # 1518 + None, # 1519 + None, # 1520 + None, # 1521 + None, # 1522 + None, # 1523 + None, # 1524 + None, # 1525 + None, # 1526 + None, # 1527 + None, # 1528 + None, # 1529 + None, # 1530 + None, # 1531 + None, # 1532 + None, # 1533 + None, # 1534 + None, # 1535 + None, # 1536 + None, # 1537 + None, # 1538 + None, # 1539 + None, # 1540 + None, # 1541 + None, # 1542 + None, # 1543 + None, # 1544 + None, # 1545 + None, # 1546 + None, # 1547 + None, # 1548 + None, # 1549 + None, # 1550 + None, # 1551 + None, # 1552 + None, # 1553 + None, # 1554 + None, # 1555 + None, # 1556 + None, # 1557 + None, # 1558 + None, # 1559 + None, # 1560 + None, # 1561 + None, # 1562 + None, # 1563 + None, # 1564 + None, # 1565 + None, # 1566 + None, # 1567 + None, # 1568 + None, # 1569 + None, # 1570 + None, # 1571 + None, # 1572 + None, # 1573 + None, # 1574 + None, # 1575 + None, # 1576 + None, # 1577 + None, # 1578 + None, # 1579 + None, # 1580 + None, # 1581 + None, # 1582 + None, # 1583 + None, # 1584 + None, # 1585 + None, # 1586 + None, # 1587 + None, # 1588 + None, # 1589 + None, # 1590 + None, # 1591 + None, # 1592 + None, # 1593 + None, # 1594 + None, # 1595 + None, # 1596 + None, # 1597 + None, # 1598 + None, # 1599 + None, # 1600 + None, # 1601 + None, # 1602 + None, # 1603 + None, # 1604 + None, # 1605 + None, # 1606 + None, # 1607 + None, # 1608 + None, # 1609 + None, # 1610 + None, # 1611 + None, # 1612 + None, # 1613 + None, # 1614 + None, # 1615 + None, # 1616 + None, # 1617 + None, # 1618 + None, # 1619 + None, # 1620 + None, # 1621 + None, # 1622 + None, # 1623 + None, # 1624 + None, # 1625 + None, # 1626 + None, # 1627 + None, # 1628 + None, # 1629 + None, # 1630 + None, # 1631 + None, # 1632 + None, # 1633 + None, # 1634 + None, # 1635 + None, # 1636 + None, # 1637 + None, # 1638 + None, # 1639 + None, # 1640 + None, # 1641 + None, # 1642 + None, # 1643 + None, # 1644 + None, # 1645 + None, # 1646 + None, # 1647 + None, # 1648 + None, # 1649 + None, # 1650 + None, # 1651 + None, # 1652 + None, # 1653 + None, # 1654 + None, # 1655 + None, # 1656 + None, # 1657 + None, # 1658 + None, # 1659 + None, # 1660 + None, # 1661 + None, # 1662 + None, # 1663 + None, # 1664 + None, # 1665 + None, # 1666 + None, # 1667 + None, # 1668 + None, # 1669 + None, # 1670 + None, # 1671 + None, # 1672 + None, # 1673 + None, # 1674 + None, # 1675 + None, # 1676 + None, # 1677 + None, # 1678 + None, # 1679 + None, # 1680 + None, # 1681 + None, # 1682 + None, # 1683 + None, # 1684 + None, # 1685 + None, # 1686 + None, # 1687 + None, # 1688 + None, # 1689 + None, # 1690 + None, # 1691 + None, # 1692 + None, # 1693 + None, # 1694 + None, # 1695 + None, # 1696 + None, # 1697 + None, # 1698 + None, # 1699 + None, # 1700 + None, # 1701 + None, # 1702 + None, # 1703 + None, # 1704 + None, # 1705 + None, # 1706 + None, # 1707 + None, # 1708 + None, # 1709 + None, # 1710 + None, # 1711 + None, # 1712 + None, # 1713 + None, # 1714 + None, # 1715 + None, # 1716 + None, # 1717 + None, # 1718 + None, # 1719 + None, # 1720 + None, # 1721 + None, # 1722 + None, # 1723 + None, # 1724 + None, # 1725 + None, # 1726 + None, # 1727 + None, # 1728 + None, # 1729 + None, # 1730 + None, # 1731 + None, # 1732 + None, # 1733 + None, # 1734 + None, # 1735 + None, # 1736 + None, # 1737 + None, # 1738 + None, # 1739 + None, # 1740 + None, # 1741 + None, # 1742 + None, # 1743 + None, # 1744 + None, # 1745 + None, # 1746 + None, # 1747 + None, # 1748 + None, # 1749 + None, # 1750 + None, # 1751 + None, # 1752 + None, # 1753 + None, # 1754 + None, # 1755 + None, # 1756 + None, # 1757 + None, # 1758 + None, # 1759 + None, # 1760 + None, # 1761 + None, # 1762 + None, # 1763 + None, # 1764 + None, # 1765 + None, # 1766 + None, # 1767 + None, # 1768 + None, # 1769 + None, # 1770 + None, # 1771 + None, # 1772 + None, # 1773 + None, # 1774 + None, # 1775 + None, # 1776 + None, # 1777 + None, # 1778 + None, # 1779 + None, # 1780 + None, # 1781 + None, # 1782 + None, # 1783 + None, # 1784 + None, # 1785 + None, # 1786 + None, # 1787 + None, # 1788 + None, # 1789 + None, # 1790 + None, # 1791 + None, # 1792 + None, # 1793 + None, # 1794 + None, # 1795 + None, # 1796 + None, # 1797 + None, # 1798 + None, # 1799 + None, # 1800 + None, # 1801 + None, # 1802 + None, # 1803 + None, # 1804 + None, # 1805 + None, # 1806 + None, # 1807 + None, # 1808 + None, # 1809 + None, # 1810 + None, # 1811 + None, # 1812 + None, # 1813 + None, # 1814 + None, # 1815 + None, # 1816 + None, # 1817 + None, # 1818 + None, # 1819 + None, # 1820 + None, # 1821 + None, # 1822 + None, # 1823 + None, # 1824 + None, # 1825 + None, # 1826 + None, # 1827 + None, # 1828 + None, # 1829 + None, # 1830 + None, # 1831 + None, # 1832 + None, # 1833 + None, # 1834 + None, # 1835 + None, # 1836 + None, # 1837 + None, # 1838 + None, # 1839 + None, # 1840 + None, # 1841 + None, # 1842 + None, # 1843 + None, # 1844 + None, # 1845 + None, # 1846 + None, # 1847 + None, # 1848 + None, # 1849 + None, # 1850 + None, # 1851 + None, # 1852 + None, # 1853 + None, # 1854 + None, # 1855 + None, # 1856 + None, # 1857 + None, # 1858 + None, # 1859 + None, # 1860 + None, # 1861 + None, # 1862 + None, # 1863 + None, # 1864 + None, # 1865 + None, # 1866 + None, # 1867 + None, # 1868 + None, # 1869 + None, # 1870 + None, # 1871 + None, # 1872 + None, # 1873 + None, # 1874 + None, # 1875 + None, # 1876 + None, # 1877 + None, # 1878 + None, # 1879 + None, # 1880 + None, # 1881 + None, # 1882 + None, # 1883 + None, # 1884 + None, # 1885 + None, # 1886 + None, # 1887 + None, # 1888 + None, # 1889 + None, # 1890 + None, # 1891 + None, # 1892 + None, # 1893 + None, # 1894 + None, # 1895 + None, # 1896 + None, # 1897 + None, # 1898 + None, # 1899 + None, # 1900 + None, # 1901 + None, # 1902 + None, # 1903 + None, # 1904 + None, # 1905 + None, # 1906 + None, # 1907 + None, # 1908 + None, # 1909 + None, # 1910 + None, # 1911 + None, # 1912 + None, # 1913 + None, # 1914 + None, # 1915 + None, # 1916 + None, # 1917 + None, # 1918 + None, # 1919 + None, # 1920 + None, # 1921 + None, # 1922 + None, # 1923 + None, # 1924 + None, # 1925 + None, # 1926 + None, # 1927 + None, # 1928 + None, # 1929 + None, # 1930 + None, # 1931 + None, # 1932 + None, # 1933 + None, # 1934 + None, # 1935 + None, # 1936 + None, # 1937 + None, # 1938 + None, # 1939 + None, # 1940 + None, # 1941 + None, # 1942 + None, # 1943 + None, # 1944 + None, # 1945 + None, # 1946 + None, # 1947 + None, # 1948 + None, # 1949 + None, # 1950 + None, # 1951 + None, # 1952 + None, # 1953 + None, # 1954 + None, # 1955 + None, # 1956 + None, # 1957 + None, # 1958 + None, # 1959 + None, # 1960 + None, # 1961 + None, # 1962 + None, # 1963 + None, # 1964 + None, # 1965 + None, # 1966 + None, # 1967 + None, # 1968 + None, # 1969 + None, # 1970 + None, # 1971 + None, # 1972 + None, # 1973 + None, # 1974 + None, # 1975 + None, # 1976 + None, # 1977 + None, # 1978 + None, # 1979 + None, # 1980 + None, # 1981 + None, # 1982 + None, # 1983 + None, # 1984 + None, # 1985 + None, # 1986 + None, # 1987 + None, # 1988 + None, # 1989 + None, # 1990 + None, # 1991 + None, # 1992 + None, # 1993 + None, # 1994 + None, # 1995 + None, # 1996 + None, # 1997 + None, # 1998 + None, # 1999 + None, # 2000 + None, # 2001 + None, # 2002 + None, # 2003 + None, # 2004 + None, # 2005 + None, # 2006 + None, # 2007 + None, # 2008 + None, # 2009 + None, # 2010 + None, # 2011 + None, # 2012 + None, # 2013 + None, # 2014 + None, # 2015 + None, # 2016 + None, # 2017 + None, # 2018 + None, # 2019 + None, # 2020 + None, # 2021 + None, # 2022 + None, # 2023 + None, # 2024 + None, # 2025 + None, # 2026 + None, # 2027 + None, # 2028 + None, # 2029 + None, # 2030 + None, # 2031 + None, # 2032 + None, # 2033 + None, # 2034 + None, # 2035 + None, # 2036 + None, # 2037 + None, # 2038 + None, # 2039 + None, # 2040 + None, # 2041 + None, # 2042 + None, # 2043 + None, # 2044 + None, # 2045 + None, # 2046 + None, # 2047 + None, # 2048 + None, # 2049 + None, # 2050 + None, # 2051 + None, # 2052 + None, # 2053 + None, # 2054 + None, # 2055 + None, # 2056 + None, # 2057 + None, # 2058 + None, # 2059 + None, # 2060 + None, # 2061 + None, # 2062 + None, # 2063 + None, # 2064 + None, # 2065 + None, # 2066 + None, # 2067 + None, # 2068 + None, # 2069 + None, # 2070 + None, # 2071 + None, # 2072 + None, # 2073 + None, # 2074 + None, # 2075 + None, # 2076 + None, # 2077 + None, # 2078 + None, # 2079 + None, # 2080 + None, # 2081 + None, # 2082 + None, # 2083 + None, # 2084 + None, # 2085 + None, # 2086 + None, # 2087 + None, # 2088 + None, # 2089 + None, # 2090 + None, # 2091 + None, # 2092 + None, # 2093 + None, # 2094 + None, # 2095 + None, # 2096 + None, # 2097 + None, # 2098 + None, # 2099 + None, # 2100 + None, # 2101 + None, # 2102 + None, # 2103 + None, # 2104 + None, # 2105 + None, # 2106 + None, # 2107 + None, # 2108 + None, # 2109 + None, # 2110 + None, # 2111 + None, # 2112 + None, # 2113 + None, # 2114 + None, # 2115 + None, # 2116 + None, # 2117 + None, # 2118 + None, # 2119 + None, # 2120 + None, # 2121 + None, # 2122 + None, # 2123 + None, # 2124 + None, # 2125 + None, # 2126 + None, # 2127 + None, # 2128 + None, # 2129 + None, # 2130 + None, # 2131 + None, # 2132 + None, # 2133 + None, # 2134 + None, # 2135 + None, # 2136 + None, # 2137 + None, # 2138 + None, # 2139 + None, # 2140 + None, # 2141 + None, # 2142 + None, # 2143 + None, # 2144 + None, # 2145 + None, # 2146 + None, # 2147 + None, # 2148 + None, # 2149 + None, # 2150 + None, # 2151 + None, # 2152 + None, # 2153 + None, # 2154 + None, # 2155 + None, # 2156 + None, # 2157 + None, # 2158 + None, # 2159 + None, # 2160 + None, # 2161 + None, # 2162 + None, # 2163 + None, # 2164 + None, # 2165 + None, # 2166 + None, # 2167 + None, # 2168 + None, # 2169 + None, # 2170 + None, # 2171 + None, # 2172 + None, # 2173 + None, # 2174 + None, # 2175 + None, # 2176 + None, # 2177 + None, # 2178 + None, # 2179 + None, # 2180 + None, # 2181 + None, # 2182 + None, # 2183 + None, # 2184 + None, # 2185 + None, # 2186 + None, # 2187 + None, # 2188 + None, # 2189 + None, # 2190 + None, # 2191 + None, # 2192 + None, # 2193 + None, # 2194 + None, # 2195 + None, # 2196 + None, # 2197 + None, # 2198 + None, # 2199 + None, # 2200 + None, # 2201 + None, # 2202 + None, # 2203 + None, # 2204 + None, # 2205 + None, # 2206 + None, # 2207 + None, # 2208 + None, # 2209 + None, # 2210 + None, # 2211 + None, # 2212 + None, # 2213 + None, # 2214 + None, # 2215 + None, # 2216 + None, # 2217 + None, # 2218 + None, # 2219 + None, # 2220 + None, # 2221 + None, # 2222 + None, # 2223 + None, # 2224 + None, # 2225 + None, # 2226 + None, # 2227 + None, # 2228 + None, # 2229 + None, # 2230 + None, # 2231 + None, # 2232 + None, # 2233 + None, # 2234 + None, # 2235 + None, # 2236 + None, # 2237 + None, # 2238 + None, # 2239 + None, # 2240 + None, # 2241 + None, # 2242 + None, # 2243 + None, # 2244 + None, # 2245 + None, # 2246 + None, # 2247 + None, # 2248 + None, # 2249 + None, # 2250 + None, # 2251 + None, # 2252 + None, # 2253 + None, # 2254 + None, # 2255 + None, # 2256 + None, # 2257 + None, # 2258 + None, # 2259 + None, # 2260 + None, # 2261 + None, # 2262 + None, # 2263 + None, # 2264 + None, # 2265 + None, # 2266 + None, # 2267 + None, # 2268 + None, # 2269 + None, # 2270 + None, # 2271 + None, # 2272 + None, # 2273 + None, # 2274 + None, # 2275 + None, # 2276 + None, # 2277 + None, # 2278 + None, # 2279 + None, # 2280 + None, # 2281 + None, # 2282 + None, # 2283 + None, # 2284 + None, # 2285 + None, # 2286 + None, # 2287 + None, # 2288 + None, # 2289 + None, # 2290 + None, # 2291 + None, # 2292 + None, # 2293 + None, # 2294 + None, # 2295 + None, # 2296 + None, # 2297 + None, # 2298 + None, # 2299 + None, # 2300 + None, # 2301 + None, # 2302 + None, # 2303 + None, # 2304 + None, # 2305 + None, # 2306 + None, # 2307 + None, # 2308 + None, # 2309 + None, # 2310 + None, # 2311 + None, # 2312 + None, # 2313 + None, # 2314 + None, # 2315 + None, # 2316 + None, # 2317 + None, # 2318 + None, # 2319 + None, # 2320 + None, # 2321 + None, # 2322 + None, # 2323 + None, # 2324 + None, # 2325 + None, # 2326 + None, # 2327 + None, # 2328 + None, # 2329 + None, # 2330 + None, # 2331 + None, # 2332 + None, # 2333 + None, # 2334 + None, # 2335 + None, # 2336 + None, # 2337 + None, # 2338 + None, # 2339 + None, # 2340 + None, # 2341 + None, # 2342 + None, # 2343 + None, # 2344 + None, # 2345 + None, # 2346 + None, # 2347 + None, # 2348 + None, # 2349 + None, # 2350 + None, # 2351 + None, # 2352 + None, # 2353 + None, # 2354 + None, # 2355 + None, # 2356 + None, # 2357 + None, # 2358 + None, # 2359 + None, # 2360 + None, # 2361 + None, # 2362 + None, # 2363 + None, # 2364 + None, # 2365 + None, # 2366 + None, # 2367 + None, # 2368 + None, # 2369 + None, # 2370 + None, # 2371 + None, # 2372 + None, # 2373 + None, # 2374 + None, # 2375 + None, # 2376 + None, # 2377 + None, # 2378 + None, # 2379 + None, # 2380 + None, # 2381 + None, # 2382 + None, # 2383 + None, # 2384 + None, # 2385 + None, # 2386 + None, # 2387 + None, # 2388 + None, # 2389 + None, # 2390 + None, # 2391 + None, # 2392 + None, # 2393 + None, # 2394 + None, # 2395 + None, # 2396 + None, # 2397 + None, # 2398 + None, # 2399 + None, # 2400 + None, # 2401 + None, # 2402 + None, # 2403 + None, # 2404 + None, # 2405 + None, # 2406 + None, # 2407 + None, # 2408 + None, # 2409 + None, # 2410 + None, # 2411 + None, # 2412 + None, # 2413 + None, # 2414 + None, # 2415 + None, # 2416 + None, # 2417 + None, # 2418 + None, # 2419 + None, # 2420 + None, # 2421 + None, # 2422 + None, # 2423 + None, # 2424 + None, # 2425 + None, # 2426 + None, # 2427 + None, # 2428 + None, # 2429 + None, # 2430 + None, # 2431 + None, # 2432 + None, # 2433 + None, # 2434 + None, # 2435 + None, # 2436 + None, # 2437 + None, # 2438 + None, # 2439 + None, # 2440 + None, # 2441 + None, # 2442 + None, # 2443 + None, # 2444 + None, # 2445 + None, # 2446 + None, # 2447 + None, # 2448 + None, # 2449 + None, # 2450 + None, # 2451 + None, # 2452 + None, # 2453 + None, # 2454 + None, # 2455 + None, # 2456 + None, # 2457 + None, # 2458 + None, # 2459 + None, # 2460 + None, # 2461 + None, # 2462 + None, # 2463 + None, # 2464 + None, # 2465 + None, # 2466 + None, # 2467 + None, # 2468 + None, # 2469 + None, # 2470 + None, # 2471 + None, # 2472 + None, # 2473 + None, # 2474 + None, # 2475 + None, # 2476 + None, # 2477 + None, # 2478 + None, # 2479 + None, # 2480 + None, # 2481 + None, # 2482 + None, # 2483 + None, # 2484 + None, # 2485 + None, # 2486 + None, # 2487 + None, # 2488 + None, # 2489 + None, # 2490 + None, # 2491 + None, # 2492 + None, # 2493 + None, # 2494 + None, # 2495 + None, # 2496 + None, # 2497 + None, # 2498 + None, # 2499 + None, # 2500 + None, # 2501 + None, # 2502 + None, # 2503 + None, # 2504 + None, # 2505 + None, # 2506 + None, # 2507 + None, # 2508 + None, # 2509 + None, # 2510 + None, # 2511 + None, # 2512 + None, # 2513 + None, # 2514 + None, # 2515 + None, # 2516 + None, # 2517 + None, # 2518 + None, # 2519 + None, # 2520 + None, # 2521 + None, # 2522 + None, # 2523 + None, # 2524 + None, # 2525 + None, # 2526 + None, # 2527 + None, # 2528 + None, # 2529 + None, # 2530 + None, # 2531 + None, # 2532 + None, # 2533 + None, # 2534 + None, # 2535 + None, # 2536 + None, # 2537 + None, # 2538 + None, # 2539 + None, # 2540 + None, # 2541 + None, # 2542 + None, # 2543 + None, # 2544 + None, # 2545 + None, # 2546 + None, # 2547 + None, # 2548 + None, # 2549 + None, # 2550 + None, # 2551 + None, # 2552 + None, # 2553 + None, # 2554 + None, # 2555 + None, # 2556 + None, # 2557 + None, # 2558 + None, # 2559 + None, # 2560 + None, # 2561 + None, # 2562 + None, # 2563 + None, # 2564 + None, # 2565 + None, # 2566 + None, # 2567 + None, # 2568 + None, # 2569 + None, # 2570 + None, # 2571 + None, # 2572 + None, # 2573 + None, # 2574 + None, # 2575 + None, # 2576 + None, # 2577 + None, # 2578 + None, # 2579 + None, # 2580 + None, # 2581 + None, # 2582 + None, # 2583 + None, # 2584 + None, # 2585 + None, # 2586 + None, # 2587 + None, # 2588 + None, # 2589 + None, # 2590 + None, # 2591 + None, # 2592 + None, # 2593 + None, # 2594 + None, # 2595 + None, # 2596 + None, # 2597 + None, # 2598 + None, # 2599 + None, # 2600 + None, # 2601 + None, # 2602 + None, # 2603 + None, # 2604 + None, # 2605 + None, # 2606 + None, # 2607 + None, # 2608 + None, # 2609 + None, # 2610 + None, # 2611 + None, # 2612 + None, # 2613 + None, # 2614 + None, # 2615 + None, # 2616 + None, # 2617 + None, # 2618 + None, # 2619 + None, # 2620 + None, # 2621 + None, # 2622 + None, # 2623 + None, # 2624 + None, # 2625 + None, # 2626 + None, # 2627 + None, # 2628 + None, # 2629 + None, # 2630 + None, # 2631 + None, # 2632 + None, # 2633 + None, # 2634 + None, # 2635 + None, # 2636 + None, # 2637 + None, # 2638 + None, # 2639 + None, # 2640 + None, # 2641 + None, # 2642 + None, # 2643 + None, # 2644 + None, # 2645 + None, # 2646 + None, # 2647 + None, # 2648 + None, # 2649 + None, # 2650 + None, # 2651 + None, # 2652 + None, # 2653 + None, # 2654 + None, # 2655 + None, # 2656 + None, # 2657 + None, # 2658 + None, # 2659 + None, # 2660 + None, # 2661 + None, # 2662 + None, # 2663 + None, # 2664 + None, # 2665 + None, # 2666 + None, # 2667 + None, # 2668 + None, # 2669 + None, # 2670 + None, # 2671 + None, # 2672 + None, # 2673 + None, # 2674 + None, # 2675 + None, # 2676 + None, # 2677 + None, # 2678 + None, # 2679 + None, # 2680 + None, # 2681 + None, # 2682 + None, # 2683 + None, # 2684 + None, # 2685 + None, # 2686 + None, # 2687 + None, # 2688 + None, # 2689 + None, # 2690 + None, # 2691 + None, # 2692 + None, # 2693 + None, # 2694 + None, # 2695 + None, # 2696 + None, # 2697 + None, # 2698 + None, # 2699 + None, # 2700 + None, # 2701 + None, # 2702 + None, # 2703 + None, # 2704 + None, # 2705 + None, # 2706 + None, # 2707 + None, # 2708 + None, # 2709 + None, # 2710 + None, # 2711 + None, # 2712 + None, # 2713 + None, # 2714 + None, # 2715 + None, # 2716 + None, # 2717 + None, # 2718 + None, # 2719 + None, # 2720 + None, # 2721 + None, # 2722 + None, # 2723 + None, # 2724 + None, # 2725 + None, # 2726 + None, # 2727 + None, # 2728 + None, # 2729 + None, # 2730 + None, # 2731 + None, # 2732 + None, # 2733 + None, # 2734 + None, # 2735 + None, # 2736 + None, # 2737 + None, # 2738 + None, # 2739 + None, # 2740 + None, # 2741 + None, # 2742 + None, # 2743 + None, # 2744 + None, # 2745 + None, # 2746 + None, # 2747 + None, # 2748 + None, # 2749 + None, # 2750 + None, # 2751 + None, # 2752 + None, # 2753 + None, # 2754 + None, # 2755 + None, # 2756 + None, # 2757 + None, # 2758 + None, # 2759 + None, # 2760 + None, # 2761 + None, # 2762 + None, # 2763 + None, # 2764 + None, # 2765 + None, # 2766 + None, # 2767 + None, # 2768 + None, # 2769 + None, # 2770 + None, # 2771 + None, # 2772 + None, # 2773 + None, # 2774 + None, # 2775 + None, # 2776 + None, # 2777 + None, # 2778 + None, # 2779 + None, # 2780 + None, # 2781 + None, # 2782 + None, # 2783 + None, # 2784 + None, # 2785 + None, # 2786 + None, # 2787 + None, # 2788 + None, # 2789 + None, # 2790 + None, # 2791 + None, # 2792 + None, # 2793 + None, # 2794 + None, # 2795 + None, # 2796 + None, # 2797 + None, # 2798 + None, # 2799 + None, # 2800 + None, # 2801 + None, # 2802 + None, # 2803 + None, # 2804 + None, # 2805 + None, # 2806 + None, # 2807 + None, # 2808 + None, # 2809 + None, # 2810 + None, # 2811 + None, # 2812 + None, # 2813 + None, # 2814 + None, # 2815 + None, # 2816 + None, # 2817 + None, # 2818 + None, # 2819 + None, # 2820 + None, # 2821 + None, # 2822 + None, # 2823 + None, # 2824 + None, # 2825 + None, # 2826 + None, # 2827 + None, # 2828 + None, # 2829 + None, # 2830 + None, # 2831 + None, # 2832 + None, # 2833 + None, # 2834 + None, # 2835 + None, # 2836 + None, # 2837 + None, # 2838 + None, # 2839 + None, # 2840 + None, # 2841 + None, # 2842 + None, # 2843 + None, # 2844 + None, # 2845 + None, # 2846 + None, # 2847 + None, # 2848 + None, # 2849 + None, # 2850 + None, # 2851 + None, # 2852 + None, # 2853 + None, # 2854 + None, # 2855 + None, # 2856 + None, # 2857 + None, # 2858 + None, # 2859 + None, # 2860 + None, # 2861 + None, # 2862 + None, # 2863 + None, # 2864 + None, # 2865 + None, # 2866 + None, # 2867 + None, # 2868 + None, # 2869 + None, # 2870 + None, # 2871 + None, # 2872 + None, # 2873 + None, # 2874 + None, # 2875 + None, # 2876 + None, # 2877 + None, # 2878 + None, # 2879 + None, # 2880 + None, # 2881 + None, # 2882 + None, # 2883 + None, # 2884 + None, # 2885 + None, # 2886 + None, # 2887 + None, # 2888 + None, # 2889 + None, # 2890 + None, # 2891 + None, # 2892 + None, # 2893 + None, # 2894 + None, # 2895 + None, # 2896 + None, # 2897 + None, # 2898 + None, # 2899 + None, # 2900 + None, # 2901 + None, # 2902 + None, # 2903 + None, # 2904 + None, # 2905 + None, # 2906 + None, # 2907 + None, # 2908 + None, # 2909 + None, # 2910 + None, # 2911 + None, # 2912 + None, # 2913 + None, # 2914 + None, # 2915 + None, # 2916 + None, # 2917 + None, # 2918 + None, # 2919 + None, # 2920 + None, # 2921 + None, # 2922 + None, # 2923 + None, # 2924 + None, # 2925 + None, # 2926 + None, # 2927 + None, # 2928 + None, # 2929 + None, # 2930 + None, # 2931 + None, # 2932 + None, # 2933 + None, # 2934 + None, # 2935 + None, # 2936 + None, # 2937 + None, # 2938 + None, # 2939 + None, # 2940 + None, # 2941 + None, # 2942 + None, # 2943 + None, # 2944 + None, # 2945 + None, # 2946 + None, # 2947 + None, # 2948 + None, # 2949 + None, # 2950 + None, # 2951 + None, # 2952 + None, # 2953 + None, # 2954 + None, # 2955 + None, # 2956 + None, # 2957 + None, # 2958 + None, # 2959 + None, # 2960 + None, # 2961 + None, # 2962 + None, # 2963 + None, # 2964 + None, # 2965 + None, # 2966 + None, # 2967 + None, # 2968 + None, # 2969 + None, # 2970 + None, # 2971 + None, # 2972 + None, # 2973 + None, # 2974 + None, # 2975 + None, # 2976 + None, # 2977 + None, # 2978 + None, # 2979 + None, # 2980 + None, # 2981 + None, # 2982 + None, # 2983 + None, # 2984 + None, # 2985 + None, # 2986 + None, # 2987 + None, # 2988 + None, # 2989 + None, # 2990 + None, # 2991 + None, # 2992 + None, # 2993 + None, # 2994 + None, # 2995 + None, # 2996 + None, # 2997 + None, # 2998 + None, # 2999 + None, # 3000 + None, # 3001 + None, # 3002 + None, # 3003 + None, # 3004 + None, # 3005 + None, # 3006 + None, # 3007 + None, # 3008 + None, # 3009 + None, # 3010 + None, # 3011 + None, # 3012 + None, # 3013 + None, # 3014 + None, # 3015 + None, # 3016 + None, # 3017 + None, # 3018 + None, # 3019 + None, # 3020 + None, # 3021 + None, # 3022 + None, # 3023 + None, # 3024 + None, # 3025 + None, # 3026 + None, # 3027 + None, # 3028 + None, # 3029 + None, # 3030 + None, # 3031 + None, # 3032 + None, # 3033 + None, # 3034 + None, # 3035 + None, # 3036 + None, # 3037 + None, # 3038 + None, # 3039 + None, # 3040 + None, # 3041 + None, # 3042 + None, # 3043 + None, # 3044 + None, # 3045 + None, # 3046 + None, # 3047 + None, # 3048 + None, # 3049 + None, # 3050 + None, # 3051 + None, # 3052 + None, # 3053 + None, # 3054 + None, # 3055 + None, # 3056 + None, # 3057 + None, # 3058 + None, # 3059 + None, # 3060 + None, # 3061 + None, # 3062 + None, # 3063 + None, # 3064 + None, # 3065 + None, # 3066 + None, # 3067 + None, # 3068 + None, # 3069 + None, # 3070 + None, # 3071 + None, # 3072 + None, # 3073 + None, # 3074 + None, # 3075 + None, # 3076 + None, # 3077 + None, # 3078 + None, # 3079 + None, # 3080 + None, # 3081 + None, # 3082 + None, # 3083 + None, # 3084 + None, # 3085 + None, # 3086 + None, # 3087 + None, # 3088 + None, # 3089 + None, # 3090 + None, # 3091 + None, # 3092 + None, # 3093 + None, # 3094 + None, # 3095 + None, # 3096 + None, # 3097 + None, # 3098 + None, # 3099 + None, # 3100 + None, # 3101 + None, # 3102 + None, # 3103 + None, # 3104 + None, # 3105 + None, # 3106 + None, # 3107 + None, # 3108 + None, # 3109 + None, # 3110 + None, # 3111 + None, # 3112 + None, # 3113 + None, # 3114 + None, # 3115 + None, # 3116 + None, # 3117 + None, # 3118 + None, # 3119 + None, # 3120 + None, # 3121 + None, # 3122 + None, # 3123 + None, # 3124 + None, # 3125 + None, # 3126 + None, # 3127 + None, # 3128 + None, # 3129 + None, # 3130 + None, # 3131 + None, # 3132 + None, # 3133 + None, # 3134 + None, # 3135 + None, # 3136 + None, # 3137 + None, # 3138 + None, # 3139 + None, # 3140 + None, # 3141 + None, # 3142 + None, # 3143 + None, # 3144 + None, # 3145 + None, # 3146 + None, # 3147 + None, # 3148 + None, # 3149 + None, # 3150 + None, # 3151 + None, # 3152 + None, # 3153 + None, # 3154 + None, # 3155 + None, # 3156 + None, # 3157 + None, # 3158 + None, # 3159 + None, # 3160 + None, # 3161 + None, # 3162 + None, # 3163 + None, # 3164 + None, # 3165 + None, # 3166 + None, # 3167 + None, # 3168 + None, # 3169 + None, # 3170 + None, # 3171 + None, # 3172 + None, # 3173 + None, # 3174 + None, # 3175 + None, # 3176 + None, # 3177 + None, # 3178 + None, # 3179 + None, # 3180 + None, # 3181 + None, # 3182 + None, # 3183 + None, # 3184 + None, # 3185 + None, # 3186 + None, # 3187 + None, # 3188 + None, # 3189 + None, # 3190 + None, # 3191 + None, # 3192 + None, # 3193 + None, # 3194 + None, # 3195 + None, # 3196 + None, # 3197 + None, # 3198 + None, # 3199 + None, # 3200 + None, # 3201 + None, # 3202 + None, # 3203 + None, # 3204 + None, # 3205 + None, # 3206 + None, # 3207 + None, # 3208 + None, # 3209 + None, # 3210 + None, # 3211 + None, # 3212 + None, # 3213 + None, # 3214 + None, # 3215 + None, # 3216 + None, # 3217 + None, # 3218 + None, # 3219 + None, # 3220 + None, # 3221 + None, # 3222 + None, # 3223 + None, # 3224 + None, # 3225 + None, # 3226 + None, # 3227 + None, # 3228 + None, # 3229 + None, # 3230 + None, # 3231 + None, # 3232 + None, # 3233 + None, # 3234 + None, # 3235 + None, # 3236 + None, # 3237 + None, # 3238 + None, # 3239 + None, # 3240 + None, # 3241 + None, # 3242 + None, # 3243 + None, # 3244 + None, # 3245 + None, # 3246 + None, # 3247 + None, # 3248 + None, # 3249 + None, # 3250 + None, # 3251 + None, # 3252 + None, # 3253 + None, # 3254 + None, # 3255 + None, # 3256 + None, # 3257 + None, # 3258 + None, # 3259 + None, # 3260 + None, # 3261 + None, # 3262 + None, # 3263 + None, # 3264 + None, # 3265 + None, # 3266 + None, # 3267 + None, # 3268 + None, # 3269 + None, # 3270 + None, # 3271 + None, # 3272 + None, # 3273 + None, # 3274 + None, # 3275 + None, # 3276 + None, # 3277 + None, # 3278 + None, # 3279 + None, # 3280 + None, # 3281 + None, # 3282 + None, # 3283 + None, # 3284 + None, # 3285 + None, # 3286 + None, # 3287 + None, # 3288 + None, # 3289 + None, # 3290 + None, # 3291 + None, # 3292 + None, # 3293 + None, # 3294 + None, # 3295 + None, # 3296 + None, # 3297 + None, # 3298 + None, # 3299 + None, # 3300 + None, # 3301 + None, # 3302 + None, # 3303 + None, # 3304 + None, # 3305 + None, # 3306 + None, # 3307 + None, # 3308 + None, # 3309 + None, # 3310 + None, # 3311 + None, # 3312 + None, # 3313 + None, # 3314 + None, # 3315 + None, # 3316 + None, # 3317 + None, # 3318 + None, # 3319 + None, # 3320 + None, # 3321 + None, # 3322 + None, # 3323 + None, # 3324 + None, # 3325 + None, # 3326 + None, # 3327 + None, # 3328 + (3329, TType.STRUCT, 'sessionConf', [TDBSqlSessionConf, None], None, ), # 3329 ) all_structs.append(TGetInfoResp) TGetInfoResp.thrift_spec = ( - None, # 0 - ( - 1, - TType.STRUCT, - "status", - [TStatus, None], - None, - ), # 1 - ( - 2, - TType.STRUCT, - "infoValue", - [TGetInfoValue, None], - None, - ), # 2 + None, # 0 + (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 + (2, TType.STRUCT, 'infoValue', [TGetInfoValue, None], None, ), # 2 ) all_structs.append(TSparkGetDirectResults) TSparkGetDirectResults.thrift_spec = ( - None, # 0 - ( - 1, - TType.I64, - "maxRows", - None, - None, - ), # 1 - ( - 2, - TType.I64, - "maxBytes", - None, - None, - ), # 2 + None, # 0 + (1, TType.I64, 'maxRows', None, None, ), # 1 + (2, TType.I64, 'maxBytes', None, None, ), # 2 ) all_structs.append(TSparkDirectResults) TSparkDirectResults.thrift_spec = ( - None, # 0 - ( - 1, - TType.STRUCT, - "operationStatus", - [TGetOperationStatusResp, None], - None, - ), # 1 - ( - 2, - TType.STRUCT, - "resultSetMetadata", - [TGetResultSetMetadataResp, None], - None, - ), # 2 - ( - 3, - TType.STRUCT, - "resultSet", - [TFetchResultsResp, None], - None, - ), # 3 - ( - 4, - TType.STRUCT, - "closeOperation", - [TCloseOperationResp, None], - None, - ), # 4 + None, # 0 + (1, TType.STRUCT, 'operationStatus', [TGetOperationStatusResp, None], None, ), # 1 + (2, TType.STRUCT, 'resultSetMetadata', [TGetResultSetMetadataResp, None], None, ), # 2 + (3, TType.STRUCT, 'resultSet', [TFetchResultsResp, None], None, ), # 3 + (4, TType.STRUCT, 'closeOperation', [TCloseOperationResp, None], None, ), # 4 ) all_structs.append(TSparkArrowTypes) TSparkArrowTypes.thrift_spec = ( - None, # 0 - ( - 1, - TType.BOOL, - "timestampAsArrow", - None, - None, - ), # 1 - ( - 2, - TType.BOOL, - "decimalAsArrow", - None, - None, - ), # 2 - ( - 3, - TType.BOOL, - "complexTypesAsArrow", - None, - None, - ), # 3 - ( - 4, - TType.BOOL, - "intervalTypesAsArrow", - None, - None, - ), # 4 - ( - 5, - TType.BOOL, - "nullTypeAsArrow", - None, - None, - ), # 5 + None, # 0 + (1, TType.BOOL, 'timestampAsArrow', None, None, ), # 1 + (2, TType.BOOL, 'decimalAsArrow', None, None, ), # 2 + (3, TType.BOOL, 'complexTypesAsArrow', None, None, ), # 3 + (4, TType.BOOL, 'intervalTypesAsArrow', None, None, ), # 4 + (5, TType.BOOL, 'nullTypeAsArrow', None, None, ), # 5 ) all_structs.append(TExecuteStatementReq) TExecuteStatementReq.thrift_spec = ( - None, # 0 - ( - 1, - TType.STRUCT, - "sessionHandle", - [TSessionHandle, None], - None, - ), # 1 - ( - 2, - TType.STRING, - "statement", - "UTF8", - None, - ), # 2 - ( - 3, - TType.MAP, - "confOverlay", - (TType.STRING, "UTF8", TType.STRING, "UTF8", False), - None, - ), # 3 - ( - 4, - TType.BOOL, - "runAsync", - None, - False, - ), # 4 - ( - 5, - TType.I64, - "queryTimeout", - None, - 0, - ), # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - ( - 1281, - TType.STRUCT, - "getDirectResults", - [TSparkGetDirectResults, None], - None, - ), # 1281 - ( - 1282, - TType.BOOL, - "canReadArrowResult", - None, - None, - ), # 1282 - ( - 1283, - TType.BOOL, - "canDownloadResult", - None, - None, - ), # 1283 - ( - 1284, - TType.BOOL, - "canDecompressLZ4Result", - None, - None, - ), # 1284 - ( - 1285, - TType.I64, - "maxBytesPerFile", - None, - None, - ), # 1285 - ( - 1286, - TType.STRUCT, - "useArrowNativeTypes", - [TSparkArrowTypes, None], - None, - ), # 1286 - ( - 1287, - TType.I64, - "resultRowLimit", - None, - None, - ), # 1287 - ( - 1288, - TType.LIST, - "parameters", - (TType.STRUCT, [TSparkParameter, None], False), - None, - ), # 1288 - ( - 1289, - TType.I64, - "maxBytesPerBatch", - None, - None, - ), # 1289 - None, # 1290 - None, # 1291 - None, # 1292 - None, # 1293 - None, # 1294 - None, # 1295 - ( - 1296, - TType.STRUCT, - "statementConf", - [TStatementConf, None], - None, - ), # 1296 - None, # 1297 - None, # 1298 - None, # 1299 - None, # 1300 - None, # 1301 - None, # 1302 - None, # 1303 - None, # 1304 - None, # 1305 - None, # 1306 - None, # 1307 - None, # 1308 - None, # 1309 - None, # 1310 - None, # 1311 - None, # 1312 - None, # 1313 - None, # 1314 - None, # 1315 - None, # 1316 - None, # 1317 - None, # 1318 - None, # 1319 - None, # 1320 - None, # 1321 - None, # 1322 - None, # 1323 - None, # 1324 - None, # 1325 - None, # 1326 - None, # 1327 - None, # 1328 - None, # 1329 - None, # 1330 - None, # 1331 - None, # 1332 - None, # 1333 - None, # 1334 - None, # 1335 - None, # 1336 - None, # 1337 - None, # 1338 - None, # 1339 - None, # 1340 - None, # 1341 - None, # 1342 - None, # 1343 - None, # 1344 - None, # 1345 - None, # 1346 - None, # 1347 - None, # 1348 - None, # 1349 - None, # 1350 - None, # 1351 - None, # 1352 - None, # 1353 - None, # 1354 - None, # 1355 - None, # 1356 - None, # 1357 - None, # 1358 - None, # 1359 - None, # 1360 - None, # 1361 - None, # 1362 - None, # 1363 - None, # 1364 - None, # 1365 - None, # 1366 - None, # 1367 - None, # 1368 - None, # 1369 - None, # 1370 - None, # 1371 - None, # 1372 - None, # 1373 - None, # 1374 - None, # 1375 - None, # 1376 - None, # 1377 - None, # 1378 - None, # 1379 - None, # 1380 - None, # 1381 - None, # 1382 - None, # 1383 - None, # 1384 - None, # 1385 - None, # 1386 - None, # 1387 - None, # 1388 - None, # 1389 - None, # 1390 - None, # 1391 - None, # 1392 - None, # 1393 - None, # 1394 - None, # 1395 - None, # 1396 - None, # 1397 - None, # 1398 - None, # 1399 - None, # 1400 - None, # 1401 - None, # 1402 - None, # 1403 - None, # 1404 - None, # 1405 - None, # 1406 - None, # 1407 - None, # 1408 - None, # 1409 - None, # 1410 - None, # 1411 - None, # 1412 - None, # 1413 - None, # 1414 - None, # 1415 - None, # 1416 - None, # 1417 - None, # 1418 - None, # 1419 - None, # 1420 - None, # 1421 - None, # 1422 - None, # 1423 - None, # 1424 - None, # 1425 - None, # 1426 - None, # 1427 - None, # 1428 - None, # 1429 - None, # 1430 - None, # 1431 - None, # 1432 - None, # 1433 - None, # 1434 - None, # 1435 - None, # 1436 - None, # 1437 - None, # 1438 - None, # 1439 - None, # 1440 - None, # 1441 - None, # 1442 - None, # 1443 - None, # 1444 - None, # 1445 - None, # 1446 - None, # 1447 - None, # 1448 - None, # 1449 - None, # 1450 - None, # 1451 - None, # 1452 - None, # 1453 - None, # 1454 - None, # 1455 - None, # 1456 - None, # 1457 - None, # 1458 - None, # 1459 - None, # 1460 - None, # 1461 - None, # 1462 - None, # 1463 - None, # 1464 - None, # 1465 - None, # 1466 - None, # 1467 - None, # 1468 - None, # 1469 - None, # 1470 - None, # 1471 - None, # 1472 - None, # 1473 - None, # 1474 - None, # 1475 - None, # 1476 - None, # 1477 - None, # 1478 - None, # 1479 - None, # 1480 - None, # 1481 - None, # 1482 - None, # 1483 - None, # 1484 - None, # 1485 - None, # 1486 - None, # 1487 - None, # 1488 - None, # 1489 - None, # 1490 - None, # 1491 - None, # 1492 - None, # 1493 - None, # 1494 - None, # 1495 - None, # 1496 - None, # 1497 - None, # 1498 - None, # 1499 - None, # 1500 - None, # 1501 - None, # 1502 - None, # 1503 - None, # 1504 - None, # 1505 - None, # 1506 - None, # 1507 - None, # 1508 - None, # 1509 - None, # 1510 - None, # 1511 - None, # 1512 - None, # 1513 - None, # 1514 - None, # 1515 - None, # 1516 - None, # 1517 - None, # 1518 - None, # 1519 - None, # 1520 - None, # 1521 - None, # 1522 - None, # 1523 - None, # 1524 - None, # 1525 - None, # 1526 - None, # 1527 - None, # 1528 - None, # 1529 - None, # 1530 - None, # 1531 - None, # 1532 - None, # 1533 - None, # 1534 - None, # 1535 - None, # 1536 - None, # 1537 - None, # 1538 - None, # 1539 - None, # 1540 - None, # 1541 - None, # 1542 - None, # 1543 - None, # 1544 - None, # 1545 - None, # 1546 - None, # 1547 - None, # 1548 - None, # 1549 - None, # 1550 - None, # 1551 - None, # 1552 - None, # 1553 - None, # 1554 - None, # 1555 - None, # 1556 - None, # 1557 - None, # 1558 - None, # 1559 - None, # 1560 - None, # 1561 - None, # 1562 - None, # 1563 - None, # 1564 - None, # 1565 - None, # 1566 - None, # 1567 - None, # 1568 - None, # 1569 - None, # 1570 - None, # 1571 - None, # 1572 - None, # 1573 - None, # 1574 - None, # 1575 - None, # 1576 - None, # 1577 - None, # 1578 - None, # 1579 - None, # 1580 - None, # 1581 - None, # 1582 - None, # 1583 - None, # 1584 - None, # 1585 - None, # 1586 - None, # 1587 - None, # 1588 - None, # 1589 - None, # 1590 - None, # 1591 - None, # 1592 - None, # 1593 - None, # 1594 - None, # 1595 - None, # 1596 - None, # 1597 - None, # 1598 - None, # 1599 - None, # 1600 - None, # 1601 - None, # 1602 - None, # 1603 - None, # 1604 - None, # 1605 - None, # 1606 - None, # 1607 - None, # 1608 - None, # 1609 - None, # 1610 - None, # 1611 - None, # 1612 - None, # 1613 - None, # 1614 - None, # 1615 - None, # 1616 - None, # 1617 - None, # 1618 - None, # 1619 - None, # 1620 - None, # 1621 - None, # 1622 - None, # 1623 - None, # 1624 - None, # 1625 - None, # 1626 - None, # 1627 - None, # 1628 - None, # 1629 - None, # 1630 - None, # 1631 - None, # 1632 - None, # 1633 - None, # 1634 - None, # 1635 - None, # 1636 - None, # 1637 - None, # 1638 - None, # 1639 - None, # 1640 - None, # 1641 - None, # 1642 - None, # 1643 - None, # 1644 - None, # 1645 - None, # 1646 - None, # 1647 - None, # 1648 - None, # 1649 - None, # 1650 - None, # 1651 - None, # 1652 - None, # 1653 - None, # 1654 - None, # 1655 - None, # 1656 - None, # 1657 - None, # 1658 - None, # 1659 - None, # 1660 - None, # 1661 - None, # 1662 - None, # 1663 - None, # 1664 - None, # 1665 - None, # 1666 - None, # 1667 - None, # 1668 - None, # 1669 - None, # 1670 - None, # 1671 - None, # 1672 - None, # 1673 - None, # 1674 - None, # 1675 - None, # 1676 - None, # 1677 - None, # 1678 - None, # 1679 - None, # 1680 - None, # 1681 - None, # 1682 - None, # 1683 - None, # 1684 - None, # 1685 - None, # 1686 - None, # 1687 - None, # 1688 - None, # 1689 - None, # 1690 - None, # 1691 - None, # 1692 - None, # 1693 - None, # 1694 - None, # 1695 - None, # 1696 - None, # 1697 - None, # 1698 - None, # 1699 - None, # 1700 - None, # 1701 - None, # 1702 - None, # 1703 - None, # 1704 - None, # 1705 - None, # 1706 - None, # 1707 - None, # 1708 - None, # 1709 - None, # 1710 - None, # 1711 - None, # 1712 - None, # 1713 - None, # 1714 - None, # 1715 - None, # 1716 - None, # 1717 - None, # 1718 - None, # 1719 - None, # 1720 - None, # 1721 - None, # 1722 - None, # 1723 - None, # 1724 - None, # 1725 - None, # 1726 - None, # 1727 - None, # 1728 - None, # 1729 - None, # 1730 - None, # 1731 - None, # 1732 - None, # 1733 - None, # 1734 - None, # 1735 - None, # 1736 - None, # 1737 - None, # 1738 - None, # 1739 - None, # 1740 - None, # 1741 - None, # 1742 - None, # 1743 - None, # 1744 - None, # 1745 - None, # 1746 - None, # 1747 - None, # 1748 - None, # 1749 - None, # 1750 - None, # 1751 - None, # 1752 - None, # 1753 - None, # 1754 - None, # 1755 - None, # 1756 - None, # 1757 - None, # 1758 - None, # 1759 - None, # 1760 - None, # 1761 - None, # 1762 - None, # 1763 - None, # 1764 - None, # 1765 - None, # 1766 - None, # 1767 - None, # 1768 - None, # 1769 - None, # 1770 - None, # 1771 - None, # 1772 - None, # 1773 - None, # 1774 - None, # 1775 - None, # 1776 - None, # 1777 - None, # 1778 - None, # 1779 - None, # 1780 - None, # 1781 - None, # 1782 - None, # 1783 - None, # 1784 - None, # 1785 - None, # 1786 - None, # 1787 - None, # 1788 - None, # 1789 - None, # 1790 - None, # 1791 - None, # 1792 - None, # 1793 - None, # 1794 - None, # 1795 - None, # 1796 - None, # 1797 - None, # 1798 - None, # 1799 - None, # 1800 - None, # 1801 - None, # 1802 - None, # 1803 - None, # 1804 - None, # 1805 - None, # 1806 - None, # 1807 - None, # 1808 - None, # 1809 - None, # 1810 - None, # 1811 - None, # 1812 - None, # 1813 - None, # 1814 - None, # 1815 - None, # 1816 - None, # 1817 - None, # 1818 - None, # 1819 - None, # 1820 - None, # 1821 - None, # 1822 - None, # 1823 - None, # 1824 - None, # 1825 - None, # 1826 - None, # 1827 - None, # 1828 - None, # 1829 - None, # 1830 - None, # 1831 - None, # 1832 - None, # 1833 - None, # 1834 - None, # 1835 - None, # 1836 - None, # 1837 - None, # 1838 - None, # 1839 - None, # 1840 - None, # 1841 - None, # 1842 - None, # 1843 - None, # 1844 - None, # 1845 - None, # 1846 - None, # 1847 - None, # 1848 - None, # 1849 - None, # 1850 - None, # 1851 - None, # 1852 - None, # 1853 - None, # 1854 - None, # 1855 - None, # 1856 - None, # 1857 - None, # 1858 - None, # 1859 - None, # 1860 - None, # 1861 - None, # 1862 - None, # 1863 - None, # 1864 - None, # 1865 - None, # 1866 - None, # 1867 - None, # 1868 - None, # 1869 - None, # 1870 - None, # 1871 - None, # 1872 - None, # 1873 - None, # 1874 - None, # 1875 - None, # 1876 - None, # 1877 - None, # 1878 - None, # 1879 - None, # 1880 - None, # 1881 - None, # 1882 - None, # 1883 - None, # 1884 - None, # 1885 - None, # 1886 - None, # 1887 - None, # 1888 - None, # 1889 - None, # 1890 - None, # 1891 - None, # 1892 - None, # 1893 - None, # 1894 - None, # 1895 - None, # 1896 - None, # 1897 - None, # 1898 - None, # 1899 - None, # 1900 - None, # 1901 - None, # 1902 - None, # 1903 - None, # 1904 - None, # 1905 - None, # 1906 - None, # 1907 - None, # 1908 - None, # 1909 - None, # 1910 - None, # 1911 - None, # 1912 - None, # 1913 - None, # 1914 - None, # 1915 - None, # 1916 - None, # 1917 - None, # 1918 - None, # 1919 - None, # 1920 - None, # 1921 - None, # 1922 - None, # 1923 - None, # 1924 - None, # 1925 - None, # 1926 - None, # 1927 - None, # 1928 - None, # 1929 - None, # 1930 - None, # 1931 - None, # 1932 - None, # 1933 - None, # 1934 - None, # 1935 - None, # 1936 - None, # 1937 - None, # 1938 - None, # 1939 - None, # 1940 - None, # 1941 - None, # 1942 - None, # 1943 - None, # 1944 - None, # 1945 - None, # 1946 - None, # 1947 - None, # 1948 - None, # 1949 - None, # 1950 - None, # 1951 - None, # 1952 - None, # 1953 - None, # 1954 - None, # 1955 - None, # 1956 - None, # 1957 - None, # 1958 - None, # 1959 - None, # 1960 - None, # 1961 - None, # 1962 - None, # 1963 - None, # 1964 - None, # 1965 - None, # 1966 - None, # 1967 - None, # 1968 - None, # 1969 - None, # 1970 - None, # 1971 - None, # 1972 - None, # 1973 - None, # 1974 - None, # 1975 - None, # 1976 - None, # 1977 - None, # 1978 - None, # 1979 - None, # 1980 - None, # 1981 - None, # 1982 - None, # 1983 - None, # 1984 - None, # 1985 - None, # 1986 - None, # 1987 - None, # 1988 - None, # 1989 - None, # 1990 - None, # 1991 - None, # 1992 - None, # 1993 - None, # 1994 - None, # 1995 - None, # 1996 - None, # 1997 - None, # 1998 - None, # 1999 - None, # 2000 - None, # 2001 - None, # 2002 - None, # 2003 - None, # 2004 - None, # 2005 - None, # 2006 - None, # 2007 - None, # 2008 - None, # 2009 - None, # 2010 - None, # 2011 - None, # 2012 - None, # 2013 - None, # 2014 - None, # 2015 - None, # 2016 - None, # 2017 - None, # 2018 - None, # 2019 - None, # 2020 - None, # 2021 - None, # 2022 - None, # 2023 - None, # 2024 - None, # 2025 - None, # 2026 - None, # 2027 - None, # 2028 - None, # 2029 - None, # 2030 - None, # 2031 - None, # 2032 - None, # 2033 - None, # 2034 - None, # 2035 - None, # 2036 - None, # 2037 - None, # 2038 - None, # 2039 - None, # 2040 - None, # 2041 - None, # 2042 - None, # 2043 - None, # 2044 - None, # 2045 - None, # 2046 - None, # 2047 - None, # 2048 - None, # 2049 - None, # 2050 - None, # 2051 - None, # 2052 - None, # 2053 - None, # 2054 - None, # 2055 - None, # 2056 - None, # 2057 - None, # 2058 - None, # 2059 - None, # 2060 - None, # 2061 - None, # 2062 - None, # 2063 - None, # 2064 - None, # 2065 - None, # 2066 - None, # 2067 - None, # 2068 - None, # 2069 - None, # 2070 - None, # 2071 - None, # 2072 - None, # 2073 - None, # 2074 - None, # 2075 - None, # 2076 - None, # 2077 - None, # 2078 - None, # 2079 - None, # 2080 - None, # 2081 - None, # 2082 - None, # 2083 - None, # 2084 - None, # 2085 - None, # 2086 - None, # 2087 - None, # 2088 - None, # 2089 - None, # 2090 - None, # 2091 - None, # 2092 - None, # 2093 - None, # 2094 - None, # 2095 - None, # 2096 - None, # 2097 - None, # 2098 - None, # 2099 - None, # 2100 - None, # 2101 - None, # 2102 - None, # 2103 - None, # 2104 - None, # 2105 - None, # 2106 - None, # 2107 - None, # 2108 - None, # 2109 - None, # 2110 - None, # 2111 - None, # 2112 - None, # 2113 - None, # 2114 - None, # 2115 - None, # 2116 - None, # 2117 - None, # 2118 - None, # 2119 - None, # 2120 - None, # 2121 - None, # 2122 - None, # 2123 - None, # 2124 - None, # 2125 - None, # 2126 - None, # 2127 - None, # 2128 - None, # 2129 - None, # 2130 - None, # 2131 - None, # 2132 - None, # 2133 - None, # 2134 - None, # 2135 - None, # 2136 - None, # 2137 - None, # 2138 - None, # 2139 - None, # 2140 - None, # 2141 - None, # 2142 - None, # 2143 - None, # 2144 - None, # 2145 - None, # 2146 - None, # 2147 - None, # 2148 - None, # 2149 - None, # 2150 - None, # 2151 - None, # 2152 - None, # 2153 - None, # 2154 - None, # 2155 - None, # 2156 - None, # 2157 - None, # 2158 - None, # 2159 - None, # 2160 - None, # 2161 - None, # 2162 - None, # 2163 - None, # 2164 - None, # 2165 - None, # 2166 - None, # 2167 - None, # 2168 - None, # 2169 - None, # 2170 - None, # 2171 - None, # 2172 - None, # 2173 - None, # 2174 - None, # 2175 - None, # 2176 - None, # 2177 - None, # 2178 - None, # 2179 - None, # 2180 - None, # 2181 - None, # 2182 - None, # 2183 - None, # 2184 - None, # 2185 - None, # 2186 - None, # 2187 - None, # 2188 - None, # 2189 - None, # 2190 - None, # 2191 - None, # 2192 - None, # 2193 - None, # 2194 - None, # 2195 - None, # 2196 - None, # 2197 - None, # 2198 - None, # 2199 - None, # 2200 - None, # 2201 - None, # 2202 - None, # 2203 - None, # 2204 - None, # 2205 - None, # 2206 - None, # 2207 - None, # 2208 - None, # 2209 - None, # 2210 - None, # 2211 - None, # 2212 - None, # 2213 - None, # 2214 - None, # 2215 - None, # 2216 - None, # 2217 - None, # 2218 - None, # 2219 - None, # 2220 - None, # 2221 - None, # 2222 - None, # 2223 - None, # 2224 - None, # 2225 - None, # 2226 - None, # 2227 - None, # 2228 - None, # 2229 - None, # 2230 - None, # 2231 - None, # 2232 - None, # 2233 - None, # 2234 - None, # 2235 - None, # 2236 - None, # 2237 - None, # 2238 - None, # 2239 - None, # 2240 - None, # 2241 - None, # 2242 - None, # 2243 - None, # 2244 - None, # 2245 - None, # 2246 - None, # 2247 - None, # 2248 - None, # 2249 - None, # 2250 - None, # 2251 - None, # 2252 - None, # 2253 - None, # 2254 - None, # 2255 - None, # 2256 - None, # 2257 - None, # 2258 - None, # 2259 - None, # 2260 - None, # 2261 - None, # 2262 - None, # 2263 - None, # 2264 - None, # 2265 - None, # 2266 - None, # 2267 - None, # 2268 - None, # 2269 - None, # 2270 - None, # 2271 - None, # 2272 - None, # 2273 - None, # 2274 - None, # 2275 - None, # 2276 - None, # 2277 - None, # 2278 - None, # 2279 - None, # 2280 - None, # 2281 - None, # 2282 - None, # 2283 - None, # 2284 - None, # 2285 - None, # 2286 - None, # 2287 - None, # 2288 - None, # 2289 - None, # 2290 - None, # 2291 - None, # 2292 - None, # 2293 - None, # 2294 - None, # 2295 - None, # 2296 - None, # 2297 - None, # 2298 - None, # 2299 - None, # 2300 - None, # 2301 - None, # 2302 - None, # 2303 - None, # 2304 - None, # 2305 - None, # 2306 - None, # 2307 - None, # 2308 - None, # 2309 - None, # 2310 - None, # 2311 - None, # 2312 - None, # 2313 - None, # 2314 - None, # 2315 - None, # 2316 - None, # 2317 - None, # 2318 - None, # 2319 - None, # 2320 - None, # 2321 - None, # 2322 - None, # 2323 - None, # 2324 - None, # 2325 - None, # 2326 - None, # 2327 - None, # 2328 - None, # 2329 - None, # 2330 - None, # 2331 - None, # 2332 - None, # 2333 - None, # 2334 - None, # 2335 - None, # 2336 - None, # 2337 - None, # 2338 - None, # 2339 - None, # 2340 - None, # 2341 - None, # 2342 - None, # 2343 - None, # 2344 - None, # 2345 - None, # 2346 - None, # 2347 - None, # 2348 - None, # 2349 - None, # 2350 - None, # 2351 - None, # 2352 - None, # 2353 - None, # 2354 - None, # 2355 - None, # 2356 - None, # 2357 - None, # 2358 - None, # 2359 - None, # 2360 - None, # 2361 - None, # 2362 - None, # 2363 - None, # 2364 - None, # 2365 - None, # 2366 - None, # 2367 - None, # 2368 - None, # 2369 - None, # 2370 - None, # 2371 - None, # 2372 - None, # 2373 - None, # 2374 - None, # 2375 - None, # 2376 - None, # 2377 - None, # 2378 - None, # 2379 - None, # 2380 - None, # 2381 - None, # 2382 - None, # 2383 - None, # 2384 - None, # 2385 - None, # 2386 - None, # 2387 - None, # 2388 - None, # 2389 - None, # 2390 - None, # 2391 - None, # 2392 - None, # 2393 - None, # 2394 - None, # 2395 - None, # 2396 - None, # 2397 - None, # 2398 - None, # 2399 - None, # 2400 - None, # 2401 - None, # 2402 - None, # 2403 - None, # 2404 - None, # 2405 - None, # 2406 - None, # 2407 - None, # 2408 - None, # 2409 - None, # 2410 - None, # 2411 - None, # 2412 - None, # 2413 - None, # 2414 - None, # 2415 - None, # 2416 - None, # 2417 - None, # 2418 - None, # 2419 - None, # 2420 - None, # 2421 - None, # 2422 - None, # 2423 - None, # 2424 - None, # 2425 - None, # 2426 - None, # 2427 - None, # 2428 - None, # 2429 - None, # 2430 - None, # 2431 - None, # 2432 - None, # 2433 - None, # 2434 - None, # 2435 - None, # 2436 - None, # 2437 - None, # 2438 - None, # 2439 - None, # 2440 - None, # 2441 - None, # 2442 - None, # 2443 - None, # 2444 - None, # 2445 - None, # 2446 - None, # 2447 - None, # 2448 - None, # 2449 - None, # 2450 - None, # 2451 - None, # 2452 - None, # 2453 - None, # 2454 - None, # 2455 - None, # 2456 - None, # 2457 - None, # 2458 - None, # 2459 - None, # 2460 - None, # 2461 - None, # 2462 - None, # 2463 - None, # 2464 - None, # 2465 - None, # 2466 - None, # 2467 - None, # 2468 - None, # 2469 - None, # 2470 - None, # 2471 - None, # 2472 - None, # 2473 - None, # 2474 - None, # 2475 - None, # 2476 - None, # 2477 - None, # 2478 - None, # 2479 - None, # 2480 - None, # 2481 - None, # 2482 - None, # 2483 - None, # 2484 - None, # 2485 - None, # 2486 - None, # 2487 - None, # 2488 - None, # 2489 - None, # 2490 - None, # 2491 - None, # 2492 - None, # 2493 - None, # 2494 - None, # 2495 - None, # 2496 - None, # 2497 - None, # 2498 - None, # 2499 - None, # 2500 - None, # 2501 - None, # 2502 - None, # 2503 - None, # 2504 - None, # 2505 - None, # 2506 - None, # 2507 - None, # 2508 - None, # 2509 - None, # 2510 - None, # 2511 - None, # 2512 - None, # 2513 - None, # 2514 - None, # 2515 - None, # 2516 - None, # 2517 - None, # 2518 - None, # 2519 - None, # 2520 - None, # 2521 - None, # 2522 - None, # 2523 - None, # 2524 - None, # 2525 - None, # 2526 - None, # 2527 - None, # 2528 - None, # 2529 - None, # 2530 - None, # 2531 - None, # 2532 - None, # 2533 - None, # 2534 - None, # 2535 - None, # 2536 - None, # 2537 - None, # 2538 - None, # 2539 - None, # 2540 - None, # 2541 - None, # 2542 - None, # 2543 - None, # 2544 - None, # 2545 - None, # 2546 - None, # 2547 - None, # 2548 - None, # 2549 - None, # 2550 - None, # 2551 - None, # 2552 - None, # 2553 - None, # 2554 - None, # 2555 - None, # 2556 - None, # 2557 - None, # 2558 - None, # 2559 - None, # 2560 - None, # 2561 - None, # 2562 - None, # 2563 - None, # 2564 - None, # 2565 - None, # 2566 - None, # 2567 - None, # 2568 - None, # 2569 - None, # 2570 - None, # 2571 - None, # 2572 - None, # 2573 - None, # 2574 - None, # 2575 - None, # 2576 - None, # 2577 - None, # 2578 - None, # 2579 - None, # 2580 - None, # 2581 - None, # 2582 - None, # 2583 - None, # 2584 - None, # 2585 - None, # 2586 - None, # 2587 - None, # 2588 - None, # 2589 - None, # 2590 - None, # 2591 - None, # 2592 - None, # 2593 - None, # 2594 - None, # 2595 - None, # 2596 - None, # 2597 - None, # 2598 - None, # 2599 - None, # 2600 - None, # 2601 - None, # 2602 - None, # 2603 - None, # 2604 - None, # 2605 - None, # 2606 - None, # 2607 - None, # 2608 - None, # 2609 - None, # 2610 - None, # 2611 - None, # 2612 - None, # 2613 - None, # 2614 - None, # 2615 - None, # 2616 - None, # 2617 - None, # 2618 - None, # 2619 - None, # 2620 - None, # 2621 - None, # 2622 - None, # 2623 - None, # 2624 - None, # 2625 - None, # 2626 - None, # 2627 - None, # 2628 - None, # 2629 - None, # 2630 - None, # 2631 - None, # 2632 - None, # 2633 - None, # 2634 - None, # 2635 - None, # 2636 - None, # 2637 - None, # 2638 - None, # 2639 - None, # 2640 - None, # 2641 - None, # 2642 - None, # 2643 - None, # 2644 - None, # 2645 - None, # 2646 - None, # 2647 - None, # 2648 - None, # 2649 - None, # 2650 - None, # 2651 - None, # 2652 - None, # 2653 - None, # 2654 - None, # 2655 - None, # 2656 - None, # 2657 - None, # 2658 - None, # 2659 - None, # 2660 - None, # 2661 - None, # 2662 - None, # 2663 - None, # 2664 - None, # 2665 - None, # 2666 - None, # 2667 - None, # 2668 - None, # 2669 - None, # 2670 - None, # 2671 - None, # 2672 - None, # 2673 - None, # 2674 - None, # 2675 - None, # 2676 - None, # 2677 - None, # 2678 - None, # 2679 - None, # 2680 - None, # 2681 - None, # 2682 - None, # 2683 - None, # 2684 - None, # 2685 - None, # 2686 - None, # 2687 - None, # 2688 - None, # 2689 - None, # 2690 - None, # 2691 - None, # 2692 - None, # 2693 - None, # 2694 - None, # 2695 - None, # 2696 - None, # 2697 - None, # 2698 - None, # 2699 - None, # 2700 - None, # 2701 - None, # 2702 - None, # 2703 - None, # 2704 - None, # 2705 - None, # 2706 - None, # 2707 - None, # 2708 - None, # 2709 - None, # 2710 - None, # 2711 - None, # 2712 - None, # 2713 - None, # 2714 - None, # 2715 - None, # 2716 - None, # 2717 - None, # 2718 - None, # 2719 - None, # 2720 - None, # 2721 - None, # 2722 - None, # 2723 - None, # 2724 - None, # 2725 - None, # 2726 - None, # 2727 - None, # 2728 - None, # 2729 - None, # 2730 - None, # 2731 - None, # 2732 - None, # 2733 - None, # 2734 - None, # 2735 - None, # 2736 - None, # 2737 - None, # 2738 - None, # 2739 - None, # 2740 - None, # 2741 - None, # 2742 - None, # 2743 - None, # 2744 - None, # 2745 - None, # 2746 - None, # 2747 - None, # 2748 - None, # 2749 - None, # 2750 - None, # 2751 - None, # 2752 - None, # 2753 - None, # 2754 - None, # 2755 - None, # 2756 - None, # 2757 - None, # 2758 - None, # 2759 - None, # 2760 - None, # 2761 - None, # 2762 - None, # 2763 - None, # 2764 - None, # 2765 - None, # 2766 - None, # 2767 - None, # 2768 - None, # 2769 - None, # 2770 - None, # 2771 - None, # 2772 - None, # 2773 - None, # 2774 - None, # 2775 - None, # 2776 - None, # 2777 - None, # 2778 - None, # 2779 - None, # 2780 - None, # 2781 - None, # 2782 - None, # 2783 - None, # 2784 - None, # 2785 - None, # 2786 - None, # 2787 - None, # 2788 - None, # 2789 - None, # 2790 - None, # 2791 - None, # 2792 - None, # 2793 - None, # 2794 - None, # 2795 - None, # 2796 - None, # 2797 - None, # 2798 - None, # 2799 - None, # 2800 - None, # 2801 - None, # 2802 - None, # 2803 - None, # 2804 - None, # 2805 - None, # 2806 - None, # 2807 - None, # 2808 - None, # 2809 - None, # 2810 - None, # 2811 - None, # 2812 - None, # 2813 - None, # 2814 - None, # 2815 - None, # 2816 - None, # 2817 - None, # 2818 - None, # 2819 - None, # 2820 - None, # 2821 - None, # 2822 - None, # 2823 - None, # 2824 - None, # 2825 - None, # 2826 - None, # 2827 - None, # 2828 - None, # 2829 - None, # 2830 - None, # 2831 - None, # 2832 - None, # 2833 - None, # 2834 - None, # 2835 - None, # 2836 - None, # 2837 - None, # 2838 - None, # 2839 - None, # 2840 - None, # 2841 - None, # 2842 - None, # 2843 - None, # 2844 - None, # 2845 - None, # 2846 - None, # 2847 - None, # 2848 - None, # 2849 - None, # 2850 - None, # 2851 - None, # 2852 - None, # 2853 - None, # 2854 - None, # 2855 - None, # 2856 - None, # 2857 - None, # 2858 - None, # 2859 - None, # 2860 - None, # 2861 - None, # 2862 - None, # 2863 - None, # 2864 - None, # 2865 - None, # 2866 - None, # 2867 - None, # 2868 - None, # 2869 - None, # 2870 - None, # 2871 - None, # 2872 - None, # 2873 - None, # 2874 - None, # 2875 - None, # 2876 - None, # 2877 - None, # 2878 - None, # 2879 - None, # 2880 - None, # 2881 - None, # 2882 - None, # 2883 - None, # 2884 - None, # 2885 - None, # 2886 - None, # 2887 - None, # 2888 - None, # 2889 - None, # 2890 - None, # 2891 - None, # 2892 - None, # 2893 - None, # 2894 - None, # 2895 - None, # 2896 - None, # 2897 - None, # 2898 - None, # 2899 - None, # 2900 - None, # 2901 - None, # 2902 - None, # 2903 - None, # 2904 - None, # 2905 - None, # 2906 - None, # 2907 - None, # 2908 - None, # 2909 - None, # 2910 - None, # 2911 - None, # 2912 - None, # 2913 - None, # 2914 - None, # 2915 - None, # 2916 - None, # 2917 - None, # 2918 - None, # 2919 - None, # 2920 - None, # 2921 - None, # 2922 - None, # 2923 - None, # 2924 - None, # 2925 - None, # 2926 - None, # 2927 - None, # 2928 - None, # 2929 - None, # 2930 - None, # 2931 - None, # 2932 - None, # 2933 - None, # 2934 - None, # 2935 - None, # 2936 - None, # 2937 - None, # 2938 - None, # 2939 - None, # 2940 - None, # 2941 - None, # 2942 - None, # 2943 - None, # 2944 - None, # 2945 - None, # 2946 - None, # 2947 - None, # 2948 - None, # 2949 - None, # 2950 - None, # 2951 - None, # 2952 - None, # 2953 - None, # 2954 - None, # 2955 - None, # 2956 - None, # 2957 - None, # 2958 - None, # 2959 - None, # 2960 - None, # 2961 - None, # 2962 - None, # 2963 - None, # 2964 - None, # 2965 - None, # 2966 - None, # 2967 - None, # 2968 - None, # 2969 - None, # 2970 - None, # 2971 - None, # 2972 - None, # 2973 - None, # 2974 - None, # 2975 - None, # 2976 - None, # 2977 - None, # 2978 - None, # 2979 - None, # 2980 - None, # 2981 - None, # 2982 - None, # 2983 - None, # 2984 - None, # 2985 - None, # 2986 - None, # 2987 - None, # 2988 - None, # 2989 - None, # 2990 - None, # 2991 - None, # 2992 - None, # 2993 - None, # 2994 - None, # 2995 - None, # 2996 - None, # 2997 - None, # 2998 - None, # 2999 - None, # 3000 - None, # 3001 - None, # 3002 - None, # 3003 - None, # 3004 - None, # 3005 - None, # 3006 - None, # 3007 - None, # 3008 - None, # 3009 - None, # 3010 - None, # 3011 - None, # 3012 - None, # 3013 - None, # 3014 - None, # 3015 - None, # 3016 - None, # 3017 - None, # 3018 - None, # 3019 - None, # 3020 - None, # 3021 - None, # 3022 - None, # 3023 - None, # 3024 - None, # 3025 - None, # 3026 - None, # 3027 - None, # 3028 - None, # 3029 - None, # 3030 - None, # 3031 - None, # 3032 - None, # 3033 - None, # 3034 - None, # 3035 - None, # 3036 - None, # 3037 - None, # 3038 - None, # 3039 - None, # 3040 - None, # 3041 - None, # 3042 - None, # 3043 - None, # 3044 - None, # 3045 - None, # 3046 - None, # 3047 - None, # 3048 - None, # 3049 - None, # 3050 - None, # 3051 - None, # 3052 - None, # 3053 - None, # 3054 - None, # 3055 - None, # 3056 - None, # 3057 - None, # 3058 - None, # 3059 - None, # 3060 - None, # 3061 - None, # 3062 - None, # 3063 - None, # 3064 - None, # 3065 - None, # 3066 - None, # 3067 - None, # 3068 - None, # 3069 - None, # 3070 - None, # 3071 - None, # 3072 - None, # 3073 - None, # 3074 - None, # 3075 - None, # 3076 - None, # 3077 - None, # 3078 - None, # 3079 - None, # 3080 - None, # 3081 - None, # 3082 - None, # 3083 - None, # 3084 - None, # 3085 - None, # 3086 - None, # 3087 - None, # 3088 - None, # 3089 - None, # 3090 - None, # 3091 - None, # 3092 - None, # 3093 - None, # 3094 - None, # 3095 - None, # 3096 - None, # 3097 - None, # 3098 - None, # 3099 - None, # 3100 - None, # 3101 - None, # 3102 - None, # 3103 - None, # 3104 - None, # 3105 - None, # 3106 - None, # 3107 - None, # 3108 - None, # 3109 - None, # 3110 - None, # 3111 - None, # 3112 - None, # 3113 - None, # 3114 - None, # 3115 - None, # 3116 - None, # 3117 - None, # 3118 - None, # 3119 - None, # 3120 - None, # 3121 - None, # 3122 - None, # 3123 - None, # 3124 - None, # 3125 - None, # 3126 - None, # 3127 - None, # 3128 - None, # 3129 - None, # 3130 - None, # 3131 - None, # 3132 - None, # 3133 - None, # 3134 - None, # 3135 - None, # 3136 - None, # 3137 - None, # 3138 - None, # 3139 - None, # 3140 - None, # 3141 - None, # 3142 - None, # 3143 - None, # 3144 - None, # 3145 - None, # 3146 - None, # 3147 - None, # 3148 - None, # 3149 - None, # 3150 - None, # 3151 - None, # 3152 - None, # 3153 - None, # 3154 - None, # 3155 - None, # 3156 - None, # 3157 - None, # 3158 - None, # 3159 - None, # 3160 - None, # 3161 - None, # 3162 - None, # 3163 - None, # 3164 - None, # 3165 - None, # 3166 - None, # 3167 - None, # 3168 - None, # 3169 - None, # 3170 - None, # 3171 - None, # 3172 - None, # 3173 - None, # 3174 - None, # 3175 - None, # 3176 - None, # 3177 - None, # 3178 - None, # 3179 - None, # 3180 - None, # 3181 - None, # 3182 - None, # 3183 - None, # 3184 - None, # 3185 - None, # 3186 - None, # 3187 - None, # 3188 - None, # 3189 - None, # 3190 - None, # 3191 - None, # 3192 - None, # 3193 - None, # 3194 - None, # 3195 - None, # 3196 - None, # 3197 - None, # 3198 - None, # 3199 - None, # 3200 - None, # 3201 - None, # 3202 - None, # 3203 - None, # 3204 - None, # 3205 - None, # 3206 - None, # 3207 - None, # 3208 - None, # 3209 - None, # 3210 - None, # 3211 - None, # 3212 - None, # 3213 - None, # 3214 - None, # 3215 - None, # 3216 - None, # 3217 - None, # 3218 - None, # 3219 - None, # 3220 - None, # 3221 - None, # 3222 - None, # 3223 - None, # 3224 - None, # 3225 - None, # 3226 - None, # 3227 - None, # 3228 - None, # 3229 - None, # 3230 - None, # 3231 - None, # 3232 - None, # 3233 - None, # 3234 - None, # 3235 - None, # 3236 - None, # 3237 - None, # 3238 - None, # 3239 - None, # 3240 - None, # 3241 - None, # 3242 - None, # 3243 - None, # 3244 - None, # 3245 - None, # 3246 - None, # 3247 - None, # 3248 - None, # 3249 - None, # 3250 - None, # 3251 - None, # 3252 - None, # 3253 - None, # 3254 - None, # 3255 - None, # 3256 - None, # 3257 - None, # 3258 - None, # 3259 - None, # 3260 - None, # 3261 - None, # 3262 - None, # 3263 - None, # 3264 - None, # 3265 - None, # 3266 - None, # 3267 - None, # 3268 - None, # 3269 - None, # 3270 - None, # 3271 - None, # 3272 - None, # 3273 - None, # 3274 - None, # 3275 - None, # 3276 - None, # 3277 - None, # 3278 - None, # 3279 - None, # 3280 - None, # 3281 - None, # 3282 - None, # 3283 - None, # 3284 - None, # 3285 - None, # 3286 - None, # 3287 - None, # 3288 - None, # 3289 - None, # 3290 - None, # 3291 - None, # 3292 - None, # 3293 - None, # 3294 - None, # 3295 - None, # 3296 - None, # 3297 - None, # 3298 - None, # 3299 - None, # 3300 - None, # 3301 - None, # 3302 - None, # 3303 - None, # 3304 - None, # 3305 - None, # 3306 - None, # 3307 - None, # 3308 - None, # 3309 - None, # 3310 - None, # 3311 - None, # 3312 - None, # 3313 - None, # 3314 - None, # 3315 - None, # 3316 - None, # 3317 - None, # 3318 - None, # 3319 - None, # 3320 - None, # 3321 - None, # 3322 - None, # 3323 - None, # 3324 - None, # 3325 - None, # 3326 - None, # 3327 - None, # 3328 - ( - 3329, - TType.STRUCT, - "operationId", - [THandleIdentifier, None], - None, - ), # 3329 - ( - 3330, - TType.STRUCT, - "sessionConf", - [TDBSqlSessionConf, None], - None, - ), # 3330 - ( - 3331, - TType.BOOL, - "rejectHighCostQueries", - None, - None, - ), # 3331 - ( - 3332, - TType.DOUBLE, - "estimatedCost", - None, - None, - ), # 3332 - ( - 3333, - TType.I16, - "executionVersion", - None, - None, - ), # 3333 - ( - 3334, - TType.STRING, - "requestValidation", - "BINARY", - None, - ), # 3334 - ( - 3335, - TType.I32, - "resultPersistenceMode", - None, - None, - ), # 3335 - ( - 3336, - TType.BOOL, - "trimArrowBatchesToLimit", - None, - None, - ), # 3336 - ( - 3337, - TType.I32, - "fetchDisposition", - None, - None, - ), # 3337 - None, # 3338 - None, # 3339 - None, # 3340 - None, # 3341 - None, # 3342 - None, # 3343 - ( - 3344, - TType.BOOL, - "enforceResultPersistenceMode", - None, - None, - ), # 3344 - ( - 3345, - TType.LIST, - "statementList", - (TType.STRUCT, [TDBSqlStatement, None], False), - None, - ), # 3345 - ( - 3346, - TType.BOOL, - "persistResultManifest", - None, - None, - ), # 3346 - ( - 3347, - TType.I64, - "resultRetentionSeconds", - None, - None, - ), # 3347 - ( - 3348, - TType.I64, - "resultByteLimit", - None, - None, - ), # 3348 - ( - 3349, - TType.STRUCT, - "resultDataFormat", - [TDBSqlResultFormat, None], - None, - ), # 3349 - ( - 3350, - TType.STRING, - "originatingClientIdentity", - "UTF8", - None, - ), # 3350 - ( - 3351, - TType.BOOL, - "preferSingleFileResult", - None, - None, - ), # 3351 - ( - 3352, - TType.BOOL, - "preferDriverOnlyUpload", - None, - None, - ), # 3352 - ( - 3353, - TType.BOOL, - "enforceEmbeddedSchemaCorrectness", - None, - False, - ), # 3353 - None, # 3354 - None, # 3355 - None, # 3356 - None, # 3357 - None, # 3358 - None, # 3359 - ( - 3360, - TType.STRING, - "idempotencyToken", - "UTF8", - None, - ), # 3360 - ( - 3361, - TType.BOOL, - "throwErrorOnByteLimitTruncation", - None, - None, - ), # 3361 + None, # 0 + (1, TType.STRUCT, 'sessionHandle', [TSessionHandle, None], None, ), # 1 + (2, TType.STRING, 'statement', 'UTF8', None, ), # 2 + (3, TType.MAP, 'confOverlay', (TType.STRING, 'UTF8', TType.STRING, 'UTF8', False), None, ), # 3 + (4, TType.BOOL, 'runAsync', None, False, ), # 4 + (5, TType.I64, 'queryTimeout', None, 0, ), # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + (1281, TType.STRUCT, 'getDirectResults', [TSparkGetDirectResults, None], None, ), # 1281 + (1282, TType.BOOL, 'canReadArrowResult', None, None, ), # 1282 + (1283, TType.BOOL, 'canDownloadResult', None, None, ), # 1283 + (1284, TType.BOOL, 'canDecompressLZ4Result', None, None, ), # 1284 + (1285, TType.I64, 'maxBytesPerFile', None, None, ), # 1285 + (1286, TType.STRUCT, 'useArrowNativeTypes', [TSparkArrowTypes, None], None, ), # 1286 + (1287, TType.I64, 'resultRowLimit', None, None, ), # 1287 + (1288, TType.LIST, 'parameters', (TType.STRUCT, [TSparkParameter, None], False), None, ), # 1288 + (1289, TType.I64, 'maxBytesPerBatch', None, None, ), # 1289 + None, # 1290 + None, # 1291 + None, # 1292 + None, # 1293 + None, # 1294 + None, # 1295 + (1296, TType.STRUCT, 'statementConf', [TStatementConf, None], None, ), # 1296 + None, # 1297 + None, # 1298 + None, # 1299 + None, # 1300 + None, # 1301 + None, # 1302 + None, # 1303 + None, # 1304 + None, # 1305 + None, # 1306 + None, # 1307 + None, # 1308 + None, # 1309 + None, # 1310 + None, # 1311 + None, # 1312 + None, # 1313 + None, # 1314 + None, # 1315 + None, # 1316 + None, # 1317 + None, # 1318 + None, # 1319 + None, # 1320 + None, # 1321 + None, # 1322 + None, # 1323 + None, # 1324 + None, # 1325 + None, # 1326 + None, # 1327 + None, # 1328 + None, # 1329 + None, # 1330 + None, # 1331 + None, # 1332 + None, # 1333 + None, # 1334 + None, # 1335 + None, # 1336 + None, # 1337 + None, # 1338 + None, # 1339 + None, # 1340 + None, # 1341 + None, # 1342 + None, # 1343 + None, # 1344 + None, # 1345 + None, # 1346 + None, # 1347 + None, # 1348 + None, # 1349 + None, # 1350 + None, # 1351 + None, # 1352 + None, # 1353 + None, # 1354 + None, # 1355 + None, # 1356 + None, # 1357 + None, # 1358 + None, # 1359 + None, # 1360 + None, # 1361 + None, # 1362 + None, # 1363 + None, # 1364 + None, # 1365 + None, # 1366 + None, # 1367 + None, # 1368 + None, # 1369 + None, # 1370 + None, # 1371 + None, # 1372 + None, # 1373 + None, # 1374 + None, # 1375 + None, # 1376 + None, # 1377 + None, # 1378 + None, # 1379 + None, # 1380 + None, # 1381 + None, # 1382 + None, # 1383 + None, # 1384 + None, # 1385 + None, # 1386 + None, # 1387 + None, # 1388 + None, # 1389 + None, # 1390 + None, # 1391 + None, # 1392 + None, # 1393 + None, # 1394 + None, # 1395 + None, # 1396 + None, # 1397 + None, # 1398 + None, # 1399 + None, # 1400 + None, # 1401 + None, # 1402 + None, # 1403 + None, # 1404 + None, # 1405 + None, # 1406 + None, # 1407 + None, # 1408 + None, # 1409 + None, # 1410 + None, # 1411 + None, # 1412 + None, # 1413 + None, # 1414 + None, # 1415 + None, # 1416 + None, # 1417 + None, # 1418 + None, # 1419 + None, # 1420 + None, # 1421 + None, # 1422 + None, # 1423 + None, # 1424 + None, # 1425 + None, # 1426 + None, # 1427 + None, # 1428 + None, # 1429 + None, # 1430 + None, # 1431 + None, # 1432 + None, # 1433 + None, # 1434 + None, # 1435 + None, # 1436 + None, # 1437 + None, # 1438 + None, # 1439 + None, # 1440 + None, # 1441 + None, # 1442 + None, # 1443 + None, # 1444 + None, # 1445 + None, # 1446 + None, # 1447 + None, # 1448 + None, # 1449 + None, # 1450 + None, # 1451 + None, # 1452 + None, # 1453 + None, # 1454 + None, # 1455 + None, # 1456 + None, # 1457 + None, # 1458 + None, # 1459 + None, # 1460 + None, # 1461 + None, # 1462 + None, # 1463 + None, # 1464 + None, # 1465 + None, # 1466 + None, # 1467 + None, # 1468 + None, # 1469 + None, # 1470 + None, # 1471 + None, # 1472 + None, # 1473 + None, # 1474 + None, # 1475 + None, # 1476 + None, # 1477 + None, # 1478 + None, # 1479 + None, # 1480 + None, # 1481 + None, # 1482 + None, # 1483 + None, # 1484 + None, # 1485 + None, # 1486 + None, # 1487 + None, # 1488 + None, # 1489 + None, # 1490 + None, # 1491 + None, # 1492 + None, # 1493 + None, # 1494 + None, # 1495 + None, # 1496 + None, # 1497 + None, # 1498 + None, # 1499 + None, # 1500 + None, # 1501 + None, # 1502 + None, # 1503 + None, # 1504 + None, # 1505 + None, # 1506 + None, # 1507 + None, # 1508 + None, # 1509 + None, # 1510 + None, # 1511 + None, # 1512 + None, # 1513 + None, # 1514 + None, # 1515 + None, # 1516 + None, # 1517 + None, # 1518 + None, # 1519 + None, # 1520 + None, # 1521 + None, # 1522 + None, # 1523 + None, # 1524 + None, # 1525 + None, # 1526 + None, # 1527 + None, # 1528 + None, # 1529 + None, # 1530 + None, # 1531 + None, # 1532 + None, # 1533 + None, # 1534 + None, # 1535 + None, # 1536 + None, # 1537 + None, # 1538 + None, # 1539 + None, # 1540 + None, # 1541 + None, # 1542 + None, # 1543 + None, # 1544 + None, # 1545 + None, # 1546 + None, # 1547 + None, # 1548 + None, # 1549 + None, # 1550 + None, # 1551 + None, # 1552 + None, # 1553 + None, # 1554 + None, # 1555 + None, # 1556 + None, # 1557 + None, # 1558 + None, # 1559 + None, # 1560 + None, # 1561 + None, # 1562 + None, # 1563 + None, # 1564 + None, # 1565 + None, # 1566 + None, # 1567 + None, # 1568 + None, # 1569 + None, # 1570 + None, # 1571 + None, # 1572 + None, # 1573 + None, # 1574 + None, # 1575 + None, # 1576 + None, # 1577 + None, # 1578 + None, # 1579 + None, # 1580 + None, # 1581 + None, # 1582 + None, # 1583 + None, # 1584 + None, # 1585 + None, # 1586 + None, # 1587 + None, # 1588 + None, # 1589 + None, # 1590 + None, # 1591 + None, # 1592 + None, # 1593 + None, # 1594 + None, # 1595 + None, # 1596 + None, # 1597 + None, # 1598 + None, # 1599 + None, # 1600 + None, # 1601 + None, # 1602 + None, # 1603 + None, # 1604 + None, # 1605 + None, # 1606 + None, # 1607 + None, # 1608 + None, # 1609 + None, # 1610 + None, # 1611 + None, # 1612 + None, # 1613 + None, # 1614 + None, # 1615 + None, # 1616 + None, # 1617 + None, # 1618 + None, # 1619 + None, # 1620 + None, # 1621 + None, # 1622 + None, # 1623 + None, # 1624 + None, # 1625 + None, # 1626 + None, # 1627 + None, # 1628 + None, # 1629 + None, # 1630 + None, # 1631 + None, # 1632 + None, # 1633 + None, # 1634 + None, # 1635 + None, # 1636 + None, # 1637 + None, # 1638 + None, # 1639 + None, # 1640 + None, # 1641 + None, # 1642 + None, # 1643 + None, # 1644 + None, # 1645 + None, # 1646 + None, # 1647 + None, # 1648 + None, # 1649 + None, # 1650 + None, # 1651 + None, # 1652 + None, # 1653 + None, # 1654 + None, # 1655 + None, # 1656 + None, # 1657 + None, # 1658 + None, # 1659 + None, # 1660 + None, # 1661 + None, # 1662 + None, # 1663 + None, # 1664 + None, # 1665 + None, # 1666 + None, # 1667 + None, # 1668 + None, # 1669 + None, # 1670 + None, # 1671 + None, # 1672 + None, # 1673 + None, # 1674 + None, # 1675 + None, # 1676 + None, # 1677 + None, # 1678 + None, # 1679 + None, # 1680 + None, # 1681 + None, # 1682 + None, # 1683 + None, # 1684 + None, # 1685 + None, # 1686 + None, # 1687 + None, # 1688 + None, # 1689 + None, # 1690 + None, # 1691 + None, # 1692 + None, # 1693 + None, # 1694 + None, # 1695 + None, # 1696 + None, # 1697 + None, # 1698 + None, # 1699 + None, # 1700 + None, # 1701 + None, # 1702 + None, # 1703 + None, # 1704 + None, # 1705 + None, # 1706 + None, # 1707 + None, # 1708 + None, # 1709 + None, # 1710 + None, # 1711 + None, # 1712 + None, # 1713 + None, # 1714 + None, # 1715 + None, # 1716 + None, # 1717 + None, # 1718 + None, # 1719 + None, # 1720 + None, # 1721 + None, # 1722 + None, # 1723 + None, # 1724 + None, # 1725 + None, # 1726 + None, # 1727 + None, # 1728 + None, # 1729 + None, # 1730 + None, # 1731 + None, # 1732 + None, # 1733 + None, # 1734 + None, # 1735 + None, # 1736 + None, # 1737 + None, # 1738 + None, # 1739 + None, # 1740 + None, # 1741 + None, # 1742 + None, # 1743 + None, # 1744 + None, # 1745 + None, # 1746 + None, # 1747 + None, # 1748 + None, # 1749 + None, # 1750 + None, # 1751 + None, # 1752 + None, # 1753 + None, # 1754 + None, # 1755 + None, # 1756 + None, # 1757 + None, # 1758 + None, # 1759 + None, # 1760 + None, # 1761 + None, # 1762 + None, # 1763 + None, # 1764 + None, # 1765 + None, # 1766 + None, # 1767 + None, # 1768 + None, # 1769 + None, # 1770 + None, # 1771 + None, # 1772 + None, # 1773 + None, # 1774 + None, # 1775 + None, # 1776 + None, # 1777 + None, # 1778 + None, # 1779 + None, # 1780 + None, # 1781 + None, # 1782 + None, # 1783 + None, # 1784 + None, # 1785 + None, # 1786 + None, # 1787 + None, # 1788 + None, # 1789 + None, # 1790 + None, # 1791 + None, # 1792 + None, # 1793 + None, # 1794 + None, # 1795 + None, # 1796 + None, # 1797 + None, # 1798 + None, # 1799 + None, # 1800 + None, # 1801 + None, # 1802 + None, # 1803 + None, # 1804 + None, # 1805 + None, # 1806 + None, # 1807 + None, # 1808 + None, # 1809 + None, # 1810 + None, # 1811 + None, # 1812 + None, # 1813 + None, # 1814 + None, # 1815 + None, # 1816 + None, # 1817 + None, # 1818 + None, # 1819 + None, # 1820 + None, # 1821 + None, # 1822 + None, # 1823 + None, # 1824 + None, # 1825 + None, # 1826 + None, # 1827 + None, # 1828 + None, # 1829 + None, # 1830 + None, # 1831 + None, # 1832 + None, # 1833 + None, # 1834 + None, # 1835 + None, # 1836 + None, # 1837 + None, # 1838 + None, # 1839 + None, # 1840 + None, # 1841 + None, # 1842 + None, # 1843 + None, # 1844 + None, # 1845 + None, # 1846 + None, # 1847 + None, # 1848 + None, # 1849 + None, # 1850 + None, # 1851 + None, # 1852 + None, # 1853 + None, # 1854 + None, # 1855 + None, # 1856 + None, # 1857 + None, # 1858 + None, # 1859 + None, # 1860 + None, # 1861 + None, # 1862 + None, # 1863 + None, # 1864 + None, # 1865 + None, # 1866 + None, # 1867 + None, # 1868 + None, # 1869 + None, # 1870 + None, # 1871 + None, # 1872 + None, # 1873 + None, # 1874 + None, # 1875 + None, # 1876 + None, # 1877 + None, # 1878 + None, # 1879 + None, # 1880 + None, # 1881 + None, # 1882 + None, # 1883 + None, # 1884 + None, # 1885 + None, # 1886 + None, # 1887 + None, # 1888 + None, # 1889 + None, # 1890 + None, # 1891 + None, # 1892 + None, # 1893 + None, # 1894 + None, # 1895 + None, # 1896 + None, # 1897 + None, # 1898 + None, # 1899 + None, # 1900 + None, # 1901 + None, # 1902 + None, # 1903 + None, # 1904 + None, # 1905 + None, # 1906 + None, # 1907 + None, # 1908 + None, # 1909 + None, # 1910 + None, # 1911 + None, # 1912 + None, # 1913 + None, # 1914 + None, # 1915 + None, # 1916 + None, # 1917 + None, # 1918 + None, # 1919 + None, # 1920 + None, # 1921 + None, # 1922 + None, # 1923 + None, # 1924 + None, # 1925 + None, # 1926 + None, # 1927 + None, # 1928 + None, # 1929 + None, # 1930 + None, # 1931 + None, # 1932 + None, # 1933 + None, # 1934 + None, # 1935 + None, # 1936 + None, # 1937 + None, # 1938 + None, # 1939 + None, # 1940 + None, # 1941 + None, # 1942 + None, # 1943 + None, # 1944 + None, # 1945 + None, # 1946 + None, # 1947 + None, # 1948 + None, # 1949 + None, # 1950 + None, # 1951 + None, # 1952 + None, # 1953 + None, # 1954 + None, # 1955 + None, # 1956 + None, # 1957 + None, # 1958 + None, # 1959 + None, # 1960 + None, # 1961 + None, # 1962 + None, # 1963 + None, # 1964 + None, # 1965 + None, # 1966 + None, # 1967 + None, # 1968 + None, # 1969 + None, # 1970 + None, # 1971 + None, # 1972 + None, # 1973 + None, # 1974 + None, # 1975 + None, # 1976 + None, # 1977 + None, # 1978 + None, # 1979 + None, # 1980 + None, # 1981 + None, # 1982 + None, # 1983 + None, # 1984 + None, # 1985 + None, # 1986 + None, # 1987 + None, # 1988 + None, # 1989 + None, # 1990 + None, # 1991 + None, # 1992 + None, # 1993 + None, # 1994 + None, # 1995 + None, # 1996 + None, # 1997 + None, # 1998 + None, # 1999 + None, # 2000 + None, # 2001 + None, # 2002 + None, # 2003 + None, # 2004 + None, # 2005 + None, # 2006 + None, # 2007 + None, # 2008 + None, # 2009 + None, # 2010 + None, # 2011 + None, # 2012 + None, # 2013 + None, # 2014 + None, # 2015 + None, # 2016 + None, # 2017 + None, # 2018 + None, # 2019 + None, # 2020 + None, # 2021 + None, # 2022 + None, # 2023 + None, # 2024 + None, # 2025 + None, # 2026 + None, # 2027 + None, # 2028 + None, # 2029 + None, # 2030 + None, # 2031 + None, # 2032 + None, # 2033 + None, # 2034 + None, # 2035 + None, # 2036 + None, # 2037 + None, # 2038 + None, # 2039 + None, # 2040 + None, # 2041 + None, # 2042 + None, # 2043 + None, # 2044 + None, # 2045 + None, # 2046 + None, # 2047 + None, # 2048 + None, # 2049 + None, # 2050 + None, # 2051 + None, # 2052 + None, # 2053 + None, # 2054 + None, # 2055 + None, # 2056 + None, # 2057 + None, # 2058 + None, # 2059 + None, # 2060 + None, # 2061 + None, # 2062 + None, # 2063 + None, # 2064 + None, # 2065 + None, # 2066 + None, # 2067 + None, # 2068 + None, # 2069 + None, # 2070 + None, # 2071 + None, # 2072 + None, # 2073 + None, # 2074 + None, # 2075 + None, # 2076 + None, # 2077 + None, # 2078 + None, # 2079 + None, # 2080 + None, # 2081 + None, # 2082 + None, # 2083 + None, # 2084 + None, # 2085 + None, # 2086 + None, # 2087 + None, # 2088 + None, # 2089 + None, # 2090 + None, # 2091 + None, # 2092 + None, # 2093 + None, # 2094 + None, # 2095 + None, # 2096 + None, # 2097 + None, # 2098 + None, # 2099 + None, # 2100 + None, # 2101 + None, # 2102 + None, # 2103 + None, # 2104 + None, # 2105 + None, # 2106 + None, # 2107 + None, # 2108 + None, # 2109 + None, # 2110 + None, # 2111 + None, # 2112 + None, # 2113 + None, # 2114 + None, # 2115 + None, # 2116 + None, # 2117 + None, # 2118 + None, # 2119 + None, # 2120 + None, # 2121 + None, # 2122 + None, # 2123 + None, # 2124 + None, # 2125 + None, # 2126 + None, # 2127 + None, # 2128 + None, # 2129 + None, # 2130 + None, # 2131 + None, # 2132 + None, # 2133 + None, # 2134 + None, # 2135 + None, # 2136 + None, # 2137 + None, # 2138 + None, # 2139 + None, # 2140 + None, # 2141 + None, # 2142 + None, # 2143 + None, # 2144 + None, # 2145 + None, # 2146 + None, # 2147 + None, # 2148 + None, # 2149 + None, # 2150 + None, # 2151 + None, # 2152 + None, # 2153 + None, # 2154 + None, # 2155 + None, # 2156 + None, # 2157 + None, # 2158 + None, # 2159 + None, # 2160 + None, # 2161 + None, # 2162 + None, # 2163 + None, # 2164 + None, # 2165 + None, # 2166 + None, # 2167 + None, # 2168 + None, # 2169 + None, # 2170 + None, # 2171 + None, # 2172 + None, # 2173 + None, # 2174 + None, # 2175 + None, # 2176 + None, # 2177 + None, # 2178 + None, # 2179 + None, # 2180 + None, # 2181 + None, # 2182 + None, # 2183 + None, # 2184 + None, # 2185 + None, # 2186 + None, # 2187 + None, # 2188 + None, # 2189 + None, # 2190 + None, # 2191 + None, # 2192 + None, # 2193 + None, # 2194 + None, # 2195 + None, # 2196 + None, # 2197 + None, # 2198 + None, # 2199 + None, # 2200 + None, # 2201 + None, # 2202 + None, # 2203 + None, # 2204 + None, # 2205 + None, # 2206 + None, # 2207 + None, # 2208 + None, # 2209 + None, # 2210 + None, # 2211 + None, # 2212 + None, # 2213 + None, # 2214 + None, # 2215 + None, # 2216 + None, # 2217 + None, # 2218 + None, # 2219 + None, # 2220 + None, # 2221 + None, # 2222 + None, # 2223 + None, # 2224 + None, # 2225 + None, # 2226 + None, # 2227 + None, # 2228 + None, # 2229 + None, # 2230 + None, # 2231 + None, # 2232 + None, # 2233 + None, # 2234 + None, # 2235 + None, # 2236 + None, # 2237 + None, # 2238 + None, # 2239 + None, # 2240 + None, # 2241 + None, # 2242 + None, # 2243 + None, # 2244 + None, # 2245 + None, # 2246 + None, # 2247 + None, # 2248 + None, # 2249 + None, # 2250 + None, # 2251 + None, # 2252 + None, # 2253 + None, # 2254 + None, # 2255 + None, # 2256 + None, # 2257 + None, # 2258 + None, # 2259 + None, # 2260 + None, # 2261 + None, # 2262 + None, # 2263 + None, # 2264 + None, # 2265 + None, # 2266 + None, # 2267 + None, # 2268 + None, # 2269 + None, # 2270 + None, # 2271 + None, # 2272 + None, # 2273 + None, # 2274 + None, # 2275 + None, # 2276 + None, # 2277 + None, # 2278 + None, # 2279 + None, # 2280 + None, # 2281 + None, # 2282 + None, # 2283 + None, # 2284 + None, # 2285 + None, # 2286 + None, # 2287 + None, # 2288 + None, # 2289 + None, # 2290 + None, # 2291 + None, # 2292 + None, # 2293 + None, # 2294 + None, # 2295 + None, # 2296 + None, # 2297 + None, # 2298 + None, # 2299 + None, # 2300 + None, # 2301 + None, # 2302 + None, # 2303 + None, # 2304 + None, # 2305 + None, # 2306 + None, # 2307 + None, # 2308 + None, # 2309 + None, # 2310 + None, # 2311 + None, # 2312 + None, # 2313 + None, # 2314 + None, # 2315 + None, # 2316 + None, # 2317 + None, # 2318 + None, # 2319 + None, # 2320 + None, # 2321 + None, # 2322 + None, # 2323 + None, # 2324 + None, # 2325 + None, # 2326 + None, # 2327 + None, # 2328 + None, # 2329 + None, # 2330 + None, # 2331 + None, # 2332 + None, # 2333 + None, # 2334 + None, # 2335 + None, # 2336 + None, # 2337 + None, # 2338 + None, # 2339 + None, # 2340 + None, # 2341 + None, # 2342 + None, # 2343 + None, # 2344 + None, # 2345 + None, # 2346 + None, # 2347 + None, # 2348 + None, # 2349 + None, # 2350 + None, # 2351 + None, # 2352 + None, # 2353 + None, # 2354 + None, # 2355 + None, # 2356 + None, # 2357 + None, # 2358 + None, # 2359 + None, # 2360 + None, # 2361 + None, # 2362 + None, # 2363 + None, # 2364 + None, # 2365 + None, # 2366 + None, # 2367 + None, # 2368 + None, # 2369 + None, # 2370 + None, # 2371 + None, # 2372 + None, # 2373 + None, # 2374 + None, # 2375 + None, # 2376 + None, # 2377 + None, # 2378 + None, # 2379 + None, # 2380 + None, # 2381 + None, # 2382 + None, # 2383 + None, # 2384 + None, # 2385 + None, # 2386 + None, # 2387 + None, # 2388 + None, # 2389 + None, # 2390 + None, # 2391 + None, # 2392 + None, # 2393 + None, # 2394 + None, # 2395 + None, # 2396 + None, # 2397 + None, # 2398 + None, # 2399 + None, # 2400 + None, # 2401 + None, # 2402 + None, # 2403 + None, # 2404 + None, # 2405 + None, # 2406 + None, # 2407 + None, # 2408 + None, # 2409 + None, # 2410 + None, # 2411 + None, # 2412 + None, # 2413 + None, # 2414 + None, # 2415 + None, # 2416 + None, # 2417 + None, # 2418 + None, # 2419 + None, # 2420 + None, # 2421 + None, # 2422 + None, # 2423 + None, # 2424 + None, # 2425 + None, # 2426 + None, # 2427 + None, # 2428 + None, # 2429 + None, # 2430 + None, # 2431 + None, # 2432 + None, # 2433 + None, # 2434 + None, # 2435 + None, # 2436 + None, # 2437 + None, # 2438 + None, # 2439 + None, # 2440 + None, # 2441 + None, # 2442 + None, # 2443 + None, # 2444 + None, # 2445 + None, # 2446 + None, # 2447 + None, # 2448 + None, # 2449 + None, # 2450 + None, # 2451 + None, # 2452 + None, # 2453 + None, # 2454 + None, # 2455 + None, # 2456 + None, # 2457 + None, # 2458 + None, # 2459 + None, # 2460 + None, # 2461 + None, # 2462 + None, # 2463 + None, # 2464 + None, # 2465 + None, # 2466 + None, # 2467 + None, # 2468 + None, # 2469 + None, # 2470 + None, # 2471 + None, # 2472 + None, # 2473 + None, # 2474 + None, # 2475 + None, # 2476 + None, # 2477 + None, # 2478 + None, # 2479 + None, # 2480 + None, # 2481 + None, # 2482 + None, # 2483 + None, # 2484 + None, # 2485 + None, # 2486 + None, # 2487 + None, # 2488 + None, # 2489 + None, # 2490 + None, # 2491 + None, # 2492 + None, # 2493 + None, # 2494 + None, # 2495 + None, # 2496 + None, # 2497 + None, # 2498 + None, # 2499 + None, # 2500 + None, # 2501 + None, # 2502 + None, # 2503 + None, # 2504 + None, # 2505 + None, # 2506 + None, # 2507 + None, # 2508 + None, # 2509 + None, # 2510 + None, # 2511 + None, # 2512 + None, # 2513 + None, # 2514 + None, # 2515 + None, # 2516 + None, # 2517 + None, # 2518 + None, # 2519 + None, # 2520 + None, # 2521 + None, # 2522 + None, # 2523 + None, # 2524 + None, # 2525 + None, # 2526 + None, # 2527 + None, # 2528 + None, # 2529 + None, # 2530 + None, # 2531 + None, # 2532 + None, # 2533 + None, # 2534 + None, # 2535 + None, # 2536 + None, # 2537 + None, # 2538 + None, # 2539 + None, # 2540 + None, # 2541 + None, # 2542 + None, # 2543 + None, # 2544 + None, # 2545 + None, # 2546 + None, # 2547 + None, # 2548 + None, # 2549 + None, # 2550 + None, # 2551 + None, # 2552 + None, # 2553 + None, # 2554 + None, # 2555 + None, # 2556 + None, # 2557 + None, # 2558 + None, # 2559 + None, # 2560 + None, # 2561 + None, # 2562 + None, # 2563 + None, # 2564 + None, # 2565 + None, # 2566 + None, # 2567 + None, # 2568 + None, # 2569 + None, # 2570 + None, # 2571 + None, # 2572 + None, # 2573 + None, # 2574 + None, # 2575 + None, # 2576 + None, # 2577 + None, # 2578 + None, # 2579 + None, # 2580 + None, # 2581 + None, # 2582 + None, # 2583 + None, # 2584 + None, # 2585 + None, # 2586 + None, # 2587 + None, # 2588 + None, # 2589 + None, # 2590 + None, # 2591 + None, # 2592 + None, # 2593 + None, # 2594 + None, # 2595 + None, # 2596 + None, # 2597 + None, # 2598 + None, # 2599 + None, # 2600 + None, # 2601 + None, # 2602 + None, # 2603 + None, # 2604 + None, # 2605 + None, # 2606 + None, # 2607 + None, # 2608 + None, # 2609 + None, # 2610 + None, # 2611 + None, # 2612 + None, # 2613 + None, # 2614 + None, # 2615 + None, # 2616 + None, # 2617 + None, # 2618 + None, # 2619 + None, # 2620 + None, # 2621 + None, # 2622 + None, # 2623 + None, # 2624 + None, # 2625 + None, # 2626 + None, # 2627 + None, # 2628 + None, # 2629 + None, # 2630 + None, # 2631 + None, # 2632 + None, # 2633 + None, # 2634 + None, # 2635 + None, # 2636 + None, # 2637 + None, # 2638 + None, # 2639 + None, # 2640 + None, # 2641 + None, # 2642 + None, # 2643 + None, # 2644 + None, # 2645 + None, # 2646 + None, # 2647 + None, # 2648 + None, # 2649 + None, # 2650 + None, # 2651 + None, # 2652 + None, # 2653 + None, # 2654 + None, # 2655 + None, # 2656 + None, # 2657 + None, # 2658 + None, # 2659 + None, # 2660 + None, # 2661 + None, # 2662 + None, # 2663 + None, # 2664 + None, # 2665 + None, # 2666 + None, # 2667 + None, # 2668 + None, # 2669 + None, # 2670 + None, # 2671 + None, # 2672 + None, # 2673 + None, # 2674 + None, # 2675 + None, # 2676 + None, # 2677 + None, # 2678 + None, # 2679 + None, # 2680 + None, # 2681 + None, # 2682 + None, # 2683 + None, # 2684 + None, # 2685 + None, # 2686 + None, # 2687 + None, # 2688 + None, # 2689 + None, # 2690 + None, # 2691 + None, # 2692 + None, # 2693 + None, # 2694 + None, # 2695 + None, # 2696 + None, # 2697 + None, # 2698 + None, # 2699 + None, # 2700 + None, # 2701 + None, # 2702 + None, # 2703 + None, # 2704 + None, # 2705 + None, # 2706 + None, # 2707 + None, # 2708 + None, # 2709 + None, # 2710 + None, # 2711 + None, # 2712 + None, # 2713 + None, # 2714 + None, # 2715 + None, # 2716 + None, # 2717 + None, # 2718 + None, # 2719 + None, # 2720 + None, # 2721 + None, # 2722 + None, # 2723 + None, # 2724 + None, # 2725 + None, # 2726 + None, # 2727 + None, # 2728 + None, # 2729 + None, # 2730 + None, # 2731 + None, # 2732 + None, # 2733 + None, # 2734 + None, # 2735 + None, # 2736 + None, # 2737 + None, # 2738 + None, # 2739 + None, # 2740 + None, # 2741 + None, # 2742 + None, # 2743 + None, # 2744 + None, # 2745 + None, # 2746 + None, # 2747 + None, # 2748 + None, # 2749 + None, # 2750 + None, # 2751 + None, # 2752 + None, # 2753 + None, # 2754 + None, # 2755 + None, # 2756 + None, # 2757 + None, # 2758 + None, # 2759 + None, # 2760 + None, # 2761 + None, # 2762 + None, # 2763 + None, # 2764 + None, # 2765 + None, # 2766 + None, # 2767 + None, # 2768 + None, # 2769 + None, # 2770 + None, # 2771 + None, # 2772 + None, # 2773 + None, # 2774 + None, # 2775 + None, # 2776 + None, # 2777 + None, # 2778 + None, # 2779 + None, # 2780 + None, # 2781 + None, # 2782 + None, # 2783 + None, # 2784 + None, # 2785 + None, # 2786 + None, # 2787 + None, # 2788 + None, # 2789 + None, # 2790 + None, # 2791 + None, # 2792 + None, # 2793 + None, # 2794 + None, # 2795 + None, # 2796 + None, # 2797 + None, # 2798 + None, # 2799 + None, # 2800 + None, # 2801 + None, # 2802 + None, # 2803 + None, # 2804 + None, # 2805 + None, # 2806 + None, # 2807 + None, # 2808 + None, # 2809 + None, # 2810 + None, # 2811 + None, # 2812 + None, # 2813 + None, # 2814 + None, # 2815 + None, # 2816 + None, # 2817 + None, # 2818 + None, # 2819 + None, # 2820 + None, # 2821 + None, # 2822 + None, # 2823 + None, # 2824 + None, # 2825 + None, # 2826 + None, # 2827 + None, # 2828 + None, # 2829 + None, # 2830 + None, # 2831 + None, # 2832 + None, # 2833 + None, # 2834 + None, # 2835 + None, # 2836 + None, # 2837 + None, # 2838 + None, # 2839 + None, # 2840 + None, # 2841 + None, # 2842 + None, # 2843 + None, # 2844 + None, # 2845 + None, # 2846 + None, # 2847 + None, # 2848 + None, # 2849 + None, # 2850 + None, # 2851 + None, # 2852 + None, # 2853 + None, # 2854 + None, # 2855 + None, # 2856 + None, # 2857 + None, # 2858 + None, # 2859 + None, # 2860 + None, # 2861 + None, # 2862 + None, # 2863 + None, # 2864 + None, # 2865 + None, # 2866 + None, # 2867 + None, # 2868 + None, # 2869 + None, # 2870 + None, # 2871 + None, # 2872 + None, # 2873 + None, # 2874 + None, # 2875 + None, # 2876 + None, # 2877 + None, # 2878 + None, # 2879 + None, # 2880 + None, # 2881 + None, # 2882 + None, # 2883 + None, # 2884 + None, # 2885 + None, # 2886 + None, # 2887 + None, # 2888 + None, # 2889 + None, # 2890 + None, # 2891 + None, # 2892 + None, # 2893 + None, # 2894 + None, # 2895 + None, # 2896 + None, # 2897 + None, # 2898 + None, # 2899 + None, # 2900 + None, # 2901 + None, # 2902 + None, # 2903 + None, # 2904 + None, # 2905 + None, # 2906 + None, # 2907 + None, # 2908 + None, # 2909 + None, # 2910 + None, # 2911 + None, # 2912 + None, # 2913 + None, # 2914 + None, # 2915 + None, # 2916 + None, # 2917 + None, # 2918 + None, # 2919 + None, # 2920 + None, # 2921 + None, # 2922 + None, # 2923 + None, # 2924 + None, # 2925 + None, # 2926 + None, # 2927 + None, # 2928 + None, # 2929 + None, # 2930 + None, # 2931 + None, # 2932 + None, # 2933 + None, # 2934 + None, # 2935 + None, # 2936 + None, # 2937 + None, # 2938 + None, # 2939 + None, # 2940 + None, # 2941 + None, # 2942 + None, # 2943 + None, # 2944 + None, # 2945 + None, # 2946 + None, # 2947 + None, # 2948 + None, # 2949 + None, # 2950 + None, # 2951 + None, # 2952 + None, # 2953 + None, # 2954 + None, # 2955 + None, # 2956 + None, # 2957 + None, # 2958 + None, # 2959 + None, # 2960 + None, # 2961 + None, # 2962 + None, # 2963 + None, # 2964 + None, # 2965 + None, # 2966 + None, # 2967 + None, # 2968 + None, # 2969 + None, # 2970 + None, # 2971 + None, # 2972 + None, # 2973 + None, # 2974 + None, # 2975 + None, # 2976 + None, # 2977 + None, # 2978 + None, # 2979 + None, # 2980 + None, # 2981 + None, # 2982 + None, # 2983 + None, # 2984 + None, # 2985 + None, # 2986 + None, # 2987 + None, # 2988 + None, # 2989 + None, # 2990 + None, # 2991 + None, # 2992 + None, # 2993 + None, # 2994 + None, # 2995 + None, # 2996 + None, # 2997 + None, # 2998 + None, # 2999 + None, # 3000 + None, # 3001 + None, # 3002 + None, # 3003 + None, # 3004 + None, # 3005 + None, # 3006 + None, # 3007 + None, # 3008 + None, # 3009 + None, # 3010 + None, # 3011 + None, # 3012 + None, # 3013 + None, # 3014 + None, # 3015 + None, # 3016 + None, # 3017 + None, # 3018 + None, # 3019 + None, # 3020 + None, # 3021 + None, # 3022 + None, # 3023 + None, # 3024 + None, # 3025 + None, # 3026 + None, # 3027 + None, # 3028 + None, # 3029 + None, # 3030 + None, # 3031 + None, # 3032 + None, # 3033 + None, # 3034 + None, # 3035 + None, # 3036 + None, # 3037 + None, # 3038 + None, # 3039 + None, # 3040 + None, # 3041 + None, # 3042 + None, # 3043 + None, # 3044 + None, # 3045 + None, # 3046 + None, # 3047 + None, # 3048 + None, # 3049 + None, # 3050 + None, # 3051 + None, # 3052 + None, # 3053 + None, # 3054 + None, # 3055 + None, # 3056 + None, # 3057 + None, # 3058 + None, # 3059 + None, # 3060 + None, # 3061 + None, # 3062 + None, # 3063 + None, # 3064 + None, # 3065 + None, # 3066 + None, # 3067 + None, # 3068 + None, # 3069 + None, # 3070 + None, # 3071 + None, # 3072 + None, # 3073 + None, # 3074 + None, # 3075 + None, # 3076 + None, # 3077 + None, # 3078 + None, # 3079 + None, # 3080 + None, # 3081 + None, # 3082 + None, # 3083 + None, # 3084 + None, # 3085 + None, # 3086 + None, # 3087 + None, # 3088 + None, # 3089 + None, # 3090 + None, # 3091 + None, # 3092 + None, # 3093 + None, # 3094 + None, # 3095 + None, # 3096 + None, # 3097 + None, # 3098 + None, # 3099 + None, # 3100 + None, # 3101 + None, # 3102 + None, # 3103 + None, # 3104 + None, # 3105 + None, # 3106 + None, # 3107 + None, # 3108 + None, # 3109 + None, # 3110 + None, # 3111 + None, # 3112 + None, # 3113 + None, # 3114 + None, # 3115 + None, # 3116 + None, # 3117 + None, # 3118 + None, # 3119 + None, # 3120 + None, # 3121 + None, # 3122 + None, # 3123 + None, # 3124 + None, # 3125 + None, # 3126 + None, # 3127 + None, # 3128 + None, # 3129 + None, # 3130 + None, # 3131 + None, # 3132 + None, # 3133 + None, # 3134 + None, # 3135 + None, # 3136 + None, # 3137 + None, # 3138 + None, # 3139 + None, # 3140 + None, # 3141 + None, # 3142 + None, # 3143 + None, # 3144 + None, # 3145 + None, # 3146 + None, # 3147 + None, # 3148 + None, # 3149 + None, # 3150 + None, # 3151 + None, # 3152 + None, # 3153 + None, # 3154 + None, # 3155 + None, # 3156 + None, # 3157 + None, # 3158 + None, # 3159 + None, # 3160 + None, # 3161 + None, # 3162 + None, # 3163 + None, # 3164 + None, # 3165 + None, # 3166 + None, # 3167 + None, # 3168 + None, # 3169 + None, # 3170 + None, # 3171 + None, # 3172 + None, # 3173 + None, # 3174 + None, # 3175 + None, # 3176 + None, # 3177 + None, # 3178 + None, # 3179 + None, # 3180 + None, # 3181 + None, # 3182 + None, # 3183 + None, # 3184 + None, # 3185 + None, # 3186 + None, # 3187 + None, # 3188 + None, # 3189 + None, # 3190 + None, # 3191 + None, # 3192 + None, # 3193 + None, # 3194 + None, # 3195 + None, # 3196 + None, # 3197 + None, # 3198 + None, # 3199 + None, # 3200 + None, # 3201 + None, # 3202 + None, # 3203 + None, # 3204 + None, # 3205 + None, # 3206 + None, # 3207 + None, # 3208 + None, # 3209 + None, # 3210 + None, # 3211 + None, # 3212 + None, # 3213 + None, # 3214 + None, # 3215 + None, # 3216 + None, # 3217 + None, # 3218 + None, # 3219 + None, # 3220 + None, # 3221 + None, # 3222 + None, # 3223 + None, # 3224 + None, # 3225 + None, # 3226 + None, # 3227 + None, # 3228 + None, # 3229 + None, # 3230 + None, # 3231 + None, # 3232 + None, # 3233 + None, # 3234 + None, # 3235 + None, # 3236 + None, # 3237 + None, # 3238 + None, # 3239 + None, # 3240 + None, # 3241 + None, # 3242 + None, # 3243 + None, # 3244 + None, # 3245 + None, # 3246 + None, # 3247 + None, # 3248 + None, # 3249 + None, # 3250 + None, # 3251 + None, # 3252 + None, # 3253 + None, # 3254 + None, # 3255 + None, # 3256 + None, # 3257 + None, # 3258 + None, # 3259 + None, # 3260 + None, # 3261 + None, # 3262 + None, # 3263 + None, # 3264 + None, # 3265 + None, # 3266 + None, # 3267 + None, # 3268 + None, # 3269 + None, # 3270 + None, # 3271 + None, # 3272 + None, # 3273 + None, # 3274 + None, # 3275 + None, # 3276 + None, # 3277 + None, # 3278 + None, # 3279 + None, # 3280 + None, # 3281 + None, # 3282 + None, # 3283 + None, # 3284 + None, # 3285 + None, # 3286 + None, # 3287 + None, # 3288 + None, # 3289 + None, # 3290 + None, # 3291 + None, # 3292 + None, # 3293 + None, # 3294 + None, # 3295 + None, # 3296 + None, # 3297 + None, # 3298 + None, # 3299 + None, # 3300 + None, # 3301 + None, # 3302 + None, # 3303 + None, # 3304 + None, # 3305 + None, # 3306 + None, # 3307 + None, # 3308 + None, # 3309 + None, # 3310 + None, # 3311 + None, # 3312 + None, # 3313 + None, # 3314 + None, # 3315 + None, # 3316 + None, # 3317 + None, # 3318 + None, # 3319 + None, # 3320 + None, # 3321 + None, # 3322 + None, # 3323 + None, # 3324 + None, # 3325 + None, # 3326 + None, # 3327 + None, # 3328 + (3329, TType.STRUCT, 'operationId', [THandleIdentifier, None], None, ), # 3329 + (3330, TType.STRUCT, 'sessionConf', [TDBSqlSessionConf, None], None, ), # 3330 + (3331, TType.BOOL, 'rejectHighCostQueries', None, None, ), # 3331 + (3332, TType.DOUBLE, 'estimatedCost', None, None, ), # 3332 + (3333, TType.I16, 'executionVersion', None, None, ), # 3333 + (3334, TType.STRING, 'requestValidation', 'BINARY', None, ), # 3334 + (3335, TType.I32, 'resultPersistenceMode', None, None, ), # 3335 + (3336, TType.BOOL, 'trimArrowBatchesToLimit', None, None, ), # 3336 + (3337, TType.I32, 'fetchDisposition', None, None, ), # 3337 + None, # 3338 + None, # 3339 + None, # 3340 + None, # 3341 + None, # 3342 + None, # 3343 + (3344, TType.BOOL, 'enforceResultPersistenceMode', None, None, ), # 3344 + (3345, TType.LIST, 'statementList', (TType.STRUCT, [TDBSqlStatement, None], False), None, ), # 3345 + (3346, TType.BOOL, 'persistResultManifest', None, None, ), # 3346 + (3347, TType.I64, 'resultRetentionSeconds', None, None, ), # 3347 + (3348, TType.I64, 'resultByteLimit', None, None, ), # 3348 + (3349, TType.STRUCT, 'resultDataFormat', [TDBSqlResultFormat, None], None, ), # 3349 + (3350, TType.STRING, 'originatingClientIdentity', 'UTF8', None, ), # 3350 + (3351, TType.BOOL, 'preferSingleFileResult', None, None, ), # 3351 + (3352, TType.BOOL, 'preferDriverOnlyUpload', None, None, ), # 3352 + (3353, TType.BOOL, 'enforceEmbeddedSchemaCorrectness', None, False, ), # 3353 + None, # 3354 + None, # 3355 + None, # 3356 + None, # 3357 + None, # 3358 + None, # 3359 + (3360, TType.STRING, 'idempotencyToken', 'UTF8', None, ), # 3360 + (3361, TType.BOOL, 'throwErrorOnByteLimitTruncation', None, None, ), # 3361 ) all_structs.append(TDBSqlStatement) TDBSqlStatement.thrift_spec = ( - None, # 0 - ( - 1, - TType.STRING, - "statement", - "UTF8", - None, - ), # 1 + None, # 0 + (1, TType.STRING, 'statement', 'UTF8', None, ), # 1 ) all_structs.append(TSparkParameterValue) TSparkParameterValue.thrift_spec = ( - None, # 0 - ( - 1, - TType.STRING, - "stringValue", - "UTF8", - None, - ), # 1 - ( - 2, - TType.DOUBLE, - "doubleValue", - None, - None, - ), # 2 - ( - 3, - TType.BOOL, - "booleanValue", - None, - None, - ), # 3 + None, # 0 + (1, TType.STRING, 'stringValue', 'UTF8', None, ), # 1 + (2, TType.DOUBLE, 'doubleValue', None, None, ), # 2 + (3, TType.BOOL, 'booleanValue', None, None, ), # 3 ) all_structs.append(TSparkParameter) TSparkParameter.thrift_spec = ( - None, # 0 - ( - 1, - TType.I32, - "ordinal", - None, - None, - ), # 1 - ( - 2, - TType.STRING, - "name", - "UTF8", - None, - ), # 2 - ( - 3, - TType.STRING, - "type", - "UTF8", - None, - ), # 3 - ( - 4, - TType.STRUCT, - "value", - [TSparkParameterValue, None], - None, - ), # 4 + None, # 0 + (1, TType.I32, 'ordinal', None, None, ), # 1 + (2, TType.STRING, 'name', 'UTF8', None, ), # 2 + (3, TType.STRING, 'type', 'UTF8', None, ), # 3 + (4, TType.STRUCT, 'value', [TSparkParameterValue, None], None, ), # 4 ) all_structs.append(TStatementConf) TStatementConf.thrift_spec = ( - None, # 0 - ( - 1, - TType.BOOL, - "sessionless", - None, - None, - ), # 1 - ( - 2, - TType.STRUCT, - "initialNamespace", - [TNamespace, None], - None, - ), # 2 - ( - 3, - TType.I32, - "client_protocol", - None, - None, - ), # 3 - ( - 4, - TType.I64, - "client_protocol_i64", - None, - None, - ), # 4 + None, # 0 + (1, TType.BOOL, 'sessionless', None, None, ), # 1 + (2, TType.STRUCT, 'initialNamespace', [TNamespace, None], None, ), # 2 + (3, TType.I32, 'client_protocol', None, None, ), # 3 + (4, TType.I64, 'client_protocol_i64', None, None, ), # 4 ) all_structs.append(TExecuteStatementResp) TExecuteStatementResp.thrift_spec = ( - None, # 0 - ( - 1, - TType.STRUCT, - "status", - [TStatus, None], - None, - ), # 1 - ( - 2, - TType.STRUCT, - "operationHandle", - [TOperationHandle, None], - None, - ), # 2 - None, # 3 - None, # 4 - None, # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - ( - 1281, - TType.STRUCT, - "directResults", - [TSparkDirectResults, None], - None, - ), # 1281 - None, # 1282 - None, # 1283 - None, # 1284 - None, # 1285 - None, # 1286 - None, # 1287 - None, # 1288 - None, # 1289 - None, # 1290 - None, # 1291 - None, # 1292 - None, # 1293 - None, # 1294 - None, # 1295 - None, # 1296 - None, # 1297 - None, # 1298 - None, # 1299 - None, # 1300 - None, # 1301 - None, # 1302 - None, # 1303 - None, # 1304 - None, # 1305 - None, # 1306 - None, # 1307 - None, # 1308 - None, # 1309 - None, # 1310 - None, # 1311 - None, # 1312 - None, # 1313 - None, # 1314 - None, # 1315 - None, # 1316 - None, # 1317 - None, # 1318 - None, # 1319 - None, # 1320 - None, # 1321 - None, # 1322 - None, # 1323 - None, # 1324 - None, # 1325 - None, # 1326 - None, # 1327 - None, # 1328 - None, # 1329 - None, # 1330 - None, # 1331 - None, # 1332 - None, # 1333 - None, # 1334 - None, # 1335 - None, # 1336 - None, # 1337 - None, # 1338 - None, # 1339 - None, # 1340 - None, # 1341 - None, # 1342 - None, # 1343 - None, # 1344 - None, # 1345 - None, # 1346 - None, # 1347 - None, # 1348 - None, # 1349 - None, # 1350 - None, # 1351 - None, # 1352 - None, # 1353 - None, # 1354 - None, # 1355 - None, # 1356 - None, # 1357 - None, # 1358 - None, # 1359 - None, # 1360 - None, # 1361 - None, # 1362 - None, # 1363 - None, # 1364 - None, # 1365 - None, # 1366 - None, # 1367 - None, # 1368 - None, # 1369 - None, # 1370 - None, # 1371 - None, # 1372 - None, # 1373 - None, # 1374 - None, # 1375 - None, # 1376 - None, # 1377 - None, # 1378 - None, # 1379 - None, # 1380 - None, # 1381 - None, # 1382 - None, # 1383 - None, # 1384 - None, # 1385 - None, # 1386 - None, # 1387 - None, # 1388 - None, # 1389 - None, # 1390 - None, # 1391 - None, # 1392 - None, # 1393 - None, # 1394 - None, # 1395 - None, # 1396 - None, # 1397 - None, # 1398 - None, # 1399 - None, # 1400 - None, # 1401 - None, # 1402 - None, # 1403 - None, # 1404 - None, # 1405 - None, # 1406 - None, # 1407 - None, # 1408 - None, # 1409 - None, # 1410 - None, # 1411 - None, # 1412 - None, # 1413 - None, # 1414 - None, # 1415 - None, # 1416 - None, # 1417 - None, # 1418 - None, # 1419 - None, # 1420 - None, # 1421 - None, # 1422 - None, # 1423 - None, # 1424 - None, # 1425 - None, # 1426 - None, # 1427 - None, # 1428 - None, # 1429 - None, # 1430 - None, # 1431 - None, # 1432 - None, # 1433 - None, # 1434 - None, # 1435 - None, # 1436 - None, # 1437 - None, # 1438 - None, # 1439 - None, # 1440 - None, # 1441 - None, # 1442 - None, # 1443 - None, # 1444 - None, # 1445 - None, # 1446 - None, # 1447 - None, # 1448 - None, # 1449 - None, # 1450 - None, # 1451 - None, # 1452 - None, # 1453 - None, # 1454 - None, # 1455 - None, # 1456 - None, # 1457 - None, # 1458 - None, # 1459 - None, # 1460 - None, # 1461 - None, # 1462 - None, # 1463 - None, # 1464 - None, # 1465 - None, # 1466 - None, # 1467 - None, # 1468 - None, # 1469 - None, # 1470 - None, # 1471 - None, # 1472 - None, # 1473 - None, # 1474 - None, # 1475 - None, # 1476 - None, # 1477 - None, # 1478 - None, # 1479 - None, # 1480 - None, # 1481 - None, # 1482 - None, # 1483 - None, # 1484 - None, # 1485 - None, # 1486 - None, # 1487 - None, # 1488 - None, # 1489 - None, # 1490 - None, # 1491 - None, # 1492 - None, # 1493 - None, # 1494 - None, # 1495 - None, # 1496 - None, # 1497 - None, # 1498 - None, # 1499 - None, # 1500 - None, # 1501 - None, # 1502 - None, # 1503 - None, # 1504 - None, # 1505 - None, # 1506 - None, # 1507 - None, # 1508 - None, # 1509 - None, # 1510 - None, # 1511 - None, # 1512 - None, # 1513 - None, # 1514 - None, # 1515 - None, # 1516 - None, # 1517 - None, # 1518 - None, # 1519 - None, # 1520 - None, # 1521 - None, # 1522 - None, # 1523 - None, # 1524 - None, # 1525 - None, # 1526 - None, # 1527 - None, # 1528 - None, # 1529 - None, # 1530 - None, # 1531 - None, # 1532 - None, # 1533 - None, # 1534 - None, # 1535 - None, # 1536 - None, # 1537 - None, # 1538 - None, # 1539 - None, # 1540 - None, # 1541 - None, # 1542 - None, # 1543 - None, # 1544 - None, # 1545 - None, # 1546 - None, # 1547 - None, # 1548 - None, # 1549 - None, # 1550 - None, # 1551 - None, # 1552 - None, # 1553 - None, # 1554 - None, # 1555 - None, # 1556 - None, # 1557 - None, # 1558 - None, # 1559 - None, # 1560 - None, # 1561 - None, # 1562 - None, # 1563 - None, # 1564 - None, # 1565 - None, # 1566 - None, # 1567 - None, # 1568 - None, # 1569 - None, # 1570 - None, # 1571 - None, # 1572 - None, # 1573 - None, # 1574 - None, # 1575 - None, # 1576 - None, # 1577 - None, # 1578 - None, # 1579 - None, # 1580 - None, # 1581 - None, # 1582 - None, # 1583 - None, # 1584 - None, # 1585 - None, # 1586 - None, # 1587 - None, # 1588 - None, # 1589 - None, # 1590 - None, # 1591 - None, # 1592 - None, # 1593 - None, # 1594 - None, # 1595 - None, # 1596 - None, # 1597 - None, # 1598 - None, # 1599 - None, # 1600 - None, # 1601 - None, # 1602 - None, # 1603 - None, # 1604 - None, # 1605 - None, # 1606 - None, # 1607 - None, # 1608 - None, # 1609 - None, # 1610 - None, # 1611 - None, # 1612 - None, # 1613 - None, # 1614 - None, # 1615 - None, # 1616 - None, # 1617 - None, # 1618 - None, # 1619 - None, # 1620 - None, # 1621 - None, # 1622 - None, # 1623 - None, # 1624 - None, # 1625 - None, # 1626 - None, # 1627 - None, # 1628 - None, # 1629 - None, # 1630 - None, # 1631 - None, # 1632 - None, # 1633 - None, # 1634 - None, # 1635 - None, # 1636 - None, # 1637 - None, # 1638 - None, # 1639 - None, # 1640 - None, # 1641 - None, # 1642 - None, # 1643 - None, # 1644 - None, # 1645 - None, # 1646 - None, # 1647 - None, # 1648 - None, # 1649 - None, # 1650 - None, # 1651 - None, # 1652 - None, # 1653 - None, # 1654 - None, # 1655 - None, # 1656 - None, # 1657 - None, # 1658 - None, # 1659 - None, # 1660 - None, # 1661 - None, # 1662 - None, # 1663 - None, # 1664 - None, # 1665 - None, # 1666 - None, # 1667 - None, # 1668 - None, # 1669 - None, # 1670 - None, # 1671 - None, # 1672 - None, # 1673 - None, # 1674 - None, # 1675 - None, # 1676 - None, # 1677 - None, # 1678 - None, # 1679 - None, # 1680 - None, # 1681 - None, # 1682 - None, # 1683 - None, # 1684 - None, # 1685 - None, # 1686 - None, # 1687 - None, # 1688 - None, # 1689 - None, # 1690 - None, # 1691 - None, # 1692 - None, # 1693 - None, # 1694 - None, # 1695 - None, # 1696 - None, # 1697 - None, # 1698 - None, # 1699 - None, # 1700 - None, # 1701 - None, # 1702 - None, # 1703 - None, # 1704 - None, # 1705 - None, # 1706 - None, # 1707 - None, # 1708 - None, # 1709 - None, # 1710 - None, # 1711 - None, # 1712 - None, # 1713 - None, # 1714 - None, # 1715 - None, # 1716 - None, # 1717 - None, # 1718 - None, # 1719 - None, # 1720 - None, # 1721 - None, # 1722 - None, # 1723 - None, # 1724 - None, # 1725 - None, # 1726 - None, # 1727 - None, # 1728 - None, # 1729 - None, # 1730 - None, # 1731 - None, # 1732 - None, # 1733 - None, # 1734 - None, # 1735 - None, # 1736 - None, # 1737 - None, # 1738 - None, # 1739 - None, # 1740 - None, # 1741 - None, # 1742 - None, # 1743 - None, # 1744 - None, # 1745 - None, # 1746 - None, # 1747 - None, # 1748 - None, # 1749 - None, # 1750 - None, # 1751 - None, # 1752 - None, # 1753 - None, # 1754 - None, # 1755 - None, # 1756 - None, # 1757 - None, # 1758 - None, # 1759 - None, # 1760 - None, # 1761 - None, # 1762 - None, # 1763 - None, # 1764 - None, # 1765 - None, # 1766 - None, # 1767 - None, # 1768 - None, # 1769 - None, # 1770 - None, # 1771 - None, # 1772 - None, # 1773 - None, # 1774 - None, # 1775 - None, # 1776 - None, # 1777 - None, # 1778 - None, # 1779 - None, # 1780 - None, # 1781 - None, # 1782 - None, # 1783 - None, # 1784 - None, # 1785 - None, # 1786 - None, # 1787 - None, # 1788 - None, # 1789 - None, # 1790 - None, # 1791 - None, # 1792 - None, # 1793 - None, # 1794 - None, # 1795 - None, # 1796 - None, # 1797 - None, # 1798 - None, # 1799 - None, # 1800 - None, # 1801 - None, # 1802 - None, # 1803 - None, # 1804 - None, # 1805 - None, # 1806 - None, # 1807 - None, # 1808 - None, # 1809 - None, # 1810 - None, # 1811 - None, # 1812 - None, # 1813 - None, # 1814 - None, # 1815 - None, # 1816 - None, # 1817 - None, # 1818 - None, # 1819 - None, # 1820 - None, # 1821 - None, # 1822 - None, # 1823 - None, # 1824 - None, # 1825 - None, # 1826 - None, # 1827 - None, # 1828 - None, # 1829 - None, # 1830 - None, # 1831 - None, # 1832 - None, # 1833 - None, # 1834 - None, # 1835 - None, # 1836 - None, # 1837 - None, # 1838 - None, # 1839 - None, # 1840 - None, # 1841 - None, # 1842 - None, # 1843 - None, # 1844 - None, # 1845 - None, # 1846 - None, # 1847 - None, # 1848 - None, # 1849 - None, # 1850 - None, # 1851 - None, # 1852 - None, # 1853 - None, # 1854 - None, # 1855 - None, # 1856 - None, # 1857 - None, # 1858 - None, # 1859 - None, # 1860 - None, # 1861 - None, # 1862 - None, # 1863 - None, # 1864 - None, # 1865 - None, # 1866 - None, # 1867 - None, # 1868 - None, # 1869 - None, # 1870 - None, # 1871 - None, # 1872 - None, # 1873 - None, # 1874 - None, # 1875 - None, # 1876 - None, # 1877 - None, # 1878 - None, # 1879 - None, # 1880 - None, # 1881 - None, # 1882 - None, # 1883 - None, # 1884 - None, # 1885 - None, # 1886 - None, # 1887 - None, # 1888 - None, # 1889 - None, # 1890 - None, # 1891 - None, # 1892 - None, # 1893 - None, # 1894 - None, # 1895 - None, # 1896 - None, # 1897 - None, # 1898 - None, # 1899 - None, # 1900 - None, # 1901 - None, # 1902 - None, # 1903 - None, # 1904 - None, # 1905 - None, # 1906 - None, # 1907 - None, # 1908 - None, # 1909 - None, # 1910 - None, # 1911 - None, # 1912 - None, # 1913 - None, # 1914 - None, # 1915 - None, # 1916 - None, # 1917 - None, # 1918 - None, # 1919 - None, # 1920 - None, # 1921 - None, # 1922 - None, # 1923 - None, # 1924 - None, # 1925 - None, # 1926 - None, # 1927 - None, # 1928 - None, # 1929 - None, # 1930 - None, # 1931 - None, # 1932 - None, # 1933 - None, # 1934 - None, # 1935 - None, # 1936 - None, # 1937 - None, # 1938 - None, # 1939 - None, # 1940 - None, # 1941 - None, # 1942 - None, # 1943 - None, # 1944 - None, # 1945 - None, # 1946 - None, # 1947 - None, # 1948 - None, # 1949 - None, # 1950 - None, # 1951 - None, # 1952 - None, # 1953 - None, # 1954 - None, # 1955 - None, # 1956 - None, # 1957 - None, # 1958 - None, # 1959 - None, # 1960 - None, # 1961 - None, # 1962 - None, # 1963 - None, # 1964 - None, # 1965 - None, # 1966 - None, # 1967 - None, # 1968 - None, # 1969 - None, # 1970 - None, # 1971 - None, # 1972 - None, # 1973 - None, # 1974 - None, # 1975 - None, # 1976 - None, # 1977 - None, # 1978 - None, # 1979 - None, # 1980 - None, # 1981 - None, # 1982 - None, # 1983 - None, # 1984 - None, # 1985 - None, # 1986 - None, # 1987 - None, # 1988 - None, # 1989 - None, # 1990 - None, # 1991 - None, # 1992 - None, # 1993 - None, # 1994 - None, # 1995 - None, # 1996 - None, # 1997 - None, # 1998 - None, # 1999 - None, # 2000 - None, # 2001 - None, # 2002 - None, # 2003 - None, # 2004 - None, # 2005 - None, # 2006 - None, # 2007 - None, # 2008 - None, # 2009 - None, # 2010 - None, # 2011 - None, # 2012 - None, # 2013 - None, # 2014 - None, # 2015 - None, # 2016 - None, # 2017 - None, # 2018 - None, # 2019 - None, # 2020 - None, # 2021 - None, # 2022 - None, # 2023 - None, # 2024 - None, # 2025 - None, # 2026 - None, # 2027 - None, # 2028 - None, # 2029 - None, # 2030 - None, # 2031 - None, # 2032 - None, # 2033 - None, # 2034 - None, # 2035 - None, # 2036 - None, # 2037 - None, # 2038 - None, # 2039 - None, # 2040 - None, # 2041 - None, # 2042 - None, # 2043 - None, # 2044 - None, # 2045 - None, # 2046 - None, # 2047 - None, # 2048 - None, # 2049 - None, # 2050 - None, # 2051 - None, # 2052 - None, # 2053 - None, # 2054 - None, # 2055 - None, # 2056 - None, # 2057 - None, # 2058 - None, # 2059 - None, # 2060 - None, # 2061 - None, # 2062 - None, # 2063 - None, # 2064 - None, # 2065 - None, # 2066 - None, # 2067 - None, # 2068 - None, # 2069 - None, # 2070 - None, # 2071 - None, # 2072 - None, # 2073 - None, # 2074 - None, # 2075 - None, # 2076 - None, # 2077 - None, # 2078 - None, # 2079 - None, # 2080 - None, # 2081 - None, # 2082 - None, # 2083 - None, # 2084 - None, # 2085 - None, # 2086 - None, # 2087 - None, # 2088 - None, # 2089 - None, # 2090 - None, # 2091 - None, # 2092 - None, # 2093 - None, # 2094 - None, # 2095 - None, # 2096 - None, # 2097 - None, # 2098 - None, # 2099 - None, # 2100 - None, # 2101 - None, # 2102 - None, # 2103 - None, # 2104 - None, # 2105 - None, # 2106 - None, # 2107 - None, # 2108 - None, # 2109 - None, # 2110 - None, # 2111 - None, # 2112 - None, # 2113 - None, # 2114 - None, # 2115 - None, # 2116 - None, # 2117 - None, # 2118 - None, # 2119 - None, # 2120 - None, # 2121 - None, # 2122 - None, # 2123 - None, # 2124 - None, # 2125 - None, # 2126 - None, # 2127 - None, # 2128 - None, # 2129 - None, # 2130 - None, # 2131 - None, # 2132 - None, # 2133 - None, # 2134 - None, # 2135 - None, # 2136 - None, # 2137 - None, # 2138 - None, # 2139 - None, # 2140 - None, # 2141 - None, # 2142 - None, # 2143 - None, # 2144 - None, # 2145 - None, # 2146 - None, # 2147 - None, # 2148 - None, # 2149 - None, # 2150 - None, # 2151 - None, # 2152 - None, # 2153 - None, # 2154 - None, # 2155 - None, # 2156 - None, # 2157 - None, # 2158 - None, # 2159 - None, # 2160 - None, # 2161 - None, # 2162 - None, # 2163 - None, # 2164 - None, # 2165 - None, # 2166 - None, # 2167 - None, # 2168 - None, # 2169 - None, # 2170 - None, # 2171 - None, # 2172 - None, # 2173 - None, # 2174 - None, # 2175 - None, # 2176 - None, # 2177 - None, # 2178 - None, # 2179 - None, # 2180 - None, # 2181 - None, # 2182 - None, # 2183 - None, # 2184 - None, # 2185 - None, # 2186 - None, # 2187 - None, # 2188 - None, # 2189 - None, # 2190 - None, # 2191 - None, # 2192 - None, # 2193 - None, # 2194 - None, # 2195 - None, # 2196 - None, # 2197 - None, # 2198 - None, # 2199 - None, # 2200 - None, # 2201 - None, # 2202 - None, # 2203 - None, # 2204 - None, # 2205 - None, # 2206 - None, # 2207 - None, # 2208 - None, # 2209 - None, # 2210 - None, # 2211 - None, # 2212 - None, # 2213 - None, # 2214 - None, # 2215 - None, # 2216 - None, # 2217 - None, # 2218 - None, # 2219 - None, # 2220 - None, # 2221 - None, # 2222 - None, # 2223 - None, # 2224 - None, # 2225 - None, # 2226 - None, # 2227 - None, # 2228 - None, # 2229 - None, # 2230 - None, # 2231 - None, # 2232 - None, # 2233 - None, # 2234 - None, # 2235 - None, # 2236 - None, # 2237 - None, # 2238 - None, # 2239 - None, # 2240 - None, # 2241 - None, # 2242 - None, # 2243 - None, # 2244 - None, # 2245 - None, # 2246 - None, # 2247 - None, # 2248 - None, # 2249 - None, # 2250 - None, # 2251 - None, # 2252 - None, # 2253 - None, # 2254 - None, # 2255 - None, # 2256 - None, # 2257 - None, # 2258 - None, # 2259 - None, # 2260 - None, # 2261 - None, # 2262 - None, # 2263 - None, # 2264 - None, # 2265 - None, # 2266 - None, # 2267 - None, # 2268 - None, # 2269 - None, # 2270 - None, # 2271 - None, # 2272 - None, # 2273 - None, # 2274 - None, # 2275 - None, # 2276 - None, # 2277 - None, # 2278 - None, # 2279 - None, # 2280 - None, # 2281 - None, # 2282 - None, # 2283 - None, # 2284 - None, # 2285 - None, # 2286 - None, # 2287 - None, # 2288 - None, # 2289 - None, # 2290 - None, # 2291 - None, # 2292 - None, # 2293 - None, # 2294 - None, # 2295 - None, # 2296 - None, # 2297 - None, # 2298 - None, # 2299 - None, # 2300 - None, # 2301 - None, # 2302 - None, # 2303 - None, # 2304 - None, # 2305 - None, # 2306 - None, # 2307 - None, # 2308 - None, # 2309 - None, # 2310 - None, # 2311 - None, # 2312 - None, # 2313 - None, # 2314 - None, # 2315 - None, # 2316 - None, # 2317 - None, # 2318 - None, # 2319 - None, # 2320 - None, # 2321 - None, # 2322 - None, # 2323 - None, # 2324 - None, # 2325 - None, # 2326 - None, # 2327 - None, # 2328 - None, # 2329 - None, # 2330 - None, # 2331 - None, # 2332 - None, # 2333 - None, # 2334 - None, # 2335 - None, # 2336 - None, # 2337 - None, # 2338 - None, # 2339 - None, # 2340 - None, # 2341 - None, # 2342 - None, # 2343 - None, # 2344 - None, # 2345 - None, # 2346 - None, # 2347 - None, # 2348 - None, # 2349 - None, # 2350 - None, # 2351 - None, # 2352 - None, # 2353 - None, # 2354 - None, # 2355 - None, # 2356 - None, # 2357 - None, # 2358 - None, # 2359 - None, # 2360 - None, # 2361 - None, # 2362 - None, # 2363 - None, # 2364 - None, # 2365 - None, # 2366 - None, # 2367 - None, # 2368 - None, # 2369 - None, # 2370 - None, # 2371 - None, # 2372 - None, # 2373 - None, # 2374 - None, # 2375 - None, # 2376 - None, # 2377 - None, # 2378 - None, # 2379 - None, # 2380 - None, # 2381 - None, # 2382 - None, # 2383 - None, # 2384 - None, # 2385 - None, # 2386 - None, # 2387 - None, # 2388 - None, # 2389 - None, # 2390 - None, # 2391 - None, # 2392 - None, # 2393 - None, # 2394 - None, # 2395 - None, # 2396 - None, # 2397 - None, # 2398 - None, # 2399 - None, # 2400 - None, # 2401 - None, # 2402 - None, # 2403 - None, # 2404 - None, # 2405 - None, # 2406 - None, # 2407 - None, # 2408 - None, # 2409 - None, # 2410 - None, # 2411 - None, # 2412 - None, # 2413 - None, # 2414 - None, # 2415 - None, # 2416 - None, # 2417 - None, # 2418 - None, # 2419 - None, # 2420 - None, # 2421 - None, # 2422 - None, # 2423 - None, # 2424 - None, # 2425 - None, # 2426 - None, # 2427 - None, # 2428 - None, # 2429 - None, # 2430 - None, # 2431 - None, # 2432 - None, # 2433 - None, # 2434 - None, # 2435 - None, # 2436 - None, # 2437 - None, # 2438 - None, # 2439 - None, # 2440 - None, # 2441 - None, # 2442 - None, # 2443 - None, # 2444 - None, # 2445 - None, # 2446 - None, # 2447 - None, # 2448 - None, # 2449 - None, # 2450 - None, # 2451 - None, # 2452 - None, # 2453 - None, # 2454 - None, # 2455 - None, # 2456 - None, # 2457 - None, # 2458 - None, # 2459 - None, # 2460 - None, # 2461 - None, # 2462 - None, # 2463 - None, # 2464 - None, # 2465 - None, # 2466 - None, # 2467 - None, # 2468 - None, # 2469 - None, # 2470 - None, # 2471 - None, # 2472 - None, # 2473 - None, # 2474 - None, # 2475 - None, # 2476 - None, # 2477 - None, # 2478 - None, # 2479 - None, # 2480 - None, # 2481 - None, # 2482 - None, # 2483 - None, # 2484 - None, # 2485 - None, # 2486 - None, # 2487 - None, # 2488 - None, # 2489 - None, # 2490 - None, # 2491 - None, # 2492 - None, # 2493 - None, # 2494 - None, # 2495 - None, # 2496 - None, # 2497 - None, # 2498 - None, # 2499 - None, # 2500 - None, # 2501 - None, # 2502 - None, # 2503 - None, # 2504 - None, # 2505 - None, # 2506 - None, # 2507 - None, # 2508 - None, # 2509 - None, # 2510 - None, # 2511 - None, # 2512 - None, # 2513 - None, # 2514 - None, # 2515 - None, # 2516 - None, # 2517 - None, # 2518 - None, # 2519 - None, # 2520 - None, # 2521 - None, # 2522 - None, # 2523 - None, # 2524 - None, # 2525 - None, # 2526 - None, # 2527 - None, # 2528 - None, # 2529 - None, # 2530 - None, # 2531 - None, # 2532 - None, # 2533 - None, # 2534 - None, # 2535 - None, # 2536 - None, # 2537 - None, # 2538 - None, # 2539 - None, # 2540 - None, # 2541 - None, # 2542 - None, # 2543 - None, # 2544 - None, # 2545 - None, # 2546 - None, # 2547 - None, # 2548 - None, # 2549 - None, # 2550 - None, # 2551 - None, # 2552 - None, # 2553 - None, # 2554 - None, # 2555 - None, # 2556 - None, # 2557 - None, # 2558 - None, # 2559 - None, # 2560 - None, # 2561 - None, # 2562 - None, # 2563 - None, # 2564 - None, # 2565 - None, # 2566 - None, # 2567 - None, # 2568 - None, # 2569 - None, # 2570 - None, # 2571 - None, # 2572 - None, # 2573 - None, # 2574 - None, # 2575 - None, # 2576 - None, # 2577 - None, # 2578 - None, # 2579 - None, # 2580 - None, # 2581 - None, # 2582 - None, # 2583 - None, # 2584 - None, # 2585 - None, # 2586 - None, # 2587 - None, # 2588 - None, # 2589 - None, # 2590 - None, # 2591 - None, # 2592 - None, # 2593 - None, # 2594 - None, # 2595 - None, # 2596 - None, # 2597 - None, # 2598 - None, # 2599 - None, # 2600 - None, # 2601 - None, # 2602 - None, # 2603 - None, # 2604 - None, # 2605 - None, # 2606 - None, # 2607 - None, # 2608 - None, # 2609 - None, # 2610 - None, # 2611 - None, # 2612 - None, # 2613 - None, # 2614 - None, # 2615 - None, # 2616 - None, # 2617 - None, # 2618 - None, # 2619 - None, # 2620 - None, # 2621 - None, # 2622 - None, # 2623 - None, # 2624 - None, # 2625 - None, # 2626 - None, # 2627 - None, # 2628 - None, # 2629 - None, # 2630 - None, # 2631 - None, # 2632 - None, # 2633 - None, # 2634 - None, # 2635 - None, # 2636 - None, # 2637 - None, # 2638 - None, # 2639 - None, # 2640 - None, # 2641 - None, # 2642 - None, # 2643 - None, # 2644 - None, # 2645 - None, # 2646 - None, # 2647 - None, # 2648 - None, # 2649 - None, # 2650 - None, # 2651 - None, # 2652 - None, # 2653 - None, # 2654 - None, # 2655 - None, # 2656 - None, # 2657 - None, # 2658 - None, # 2659 - None, # 2660 - None, # 2661 - None, # 2662 - None, # 2663 - None, # 2664 - None, # 2665 - None, # 2666 - None, # 2667 - None, # 2668 - None, # 2669 - None, # 2670 - None, # 2671 - None, # 2672 - None, # 2673 - None, # 2674 - None, # 2675 - None, # 2676 - None, # 2677 - None, # 2678 - None, # 2679 - None, # 2680 - None, # 2681 - None, # 2682 - None, # 2683 - None, # 2684 - None, # 2685 - None, # 2686 - None, # 2687 - None, # 2688 - None, # 2689 - None, # 2690 - None, # 2691 - None, # 2692 - None, # 2693 - None, # 2694 - None, # 2695 - None, # 2696 - None, # 2697 - None, # 2698 - None, # 2699 - None, # 2700 - None, # 2701 - None, # 2702 - None, # 2703 - None, # 2704 - None, # 2705 - None, # 2706 - None, # 2707 - None, # 2708 - None, # 2709 - None, # 2710 - None, # 2711 - None, # 2712 - None, # 2713 - None, # 2714 - None, # 2715 - None, # 2716 - None, # 2717 - None, # 2718 - None, # 2719 - None, # 2720 - None, # 2721 - None, # 2722 - None, # 2723 - None, # 2724 - None, # 2725 - None, # 2726 - None, # 2727 - None, # 2728 - None, # 2729 - None, # 2730 - None, # 2731 - None, # 2732 - None, # 2733 - None, # 2734 - None, # 2735 - None, # 2736 - None, # 2737 - None, # 2738 - None, # 2739 - None, # 2740 - None, # 2741 - None, # 2742 - None, # 2743 - None, # 2744 - None, # 2745 - None, # 2746 - None, # 2747 - None, # 2748 - None, # 2749 - None, # 2750 - None, # 2751 - None, # 2752 - None, # 2753 - None, # 2754 - None, # 2755 - None, # 2756 - None, # 2757 - None, # 2758 - None, # 2759 - None, # 2760 - None, # 2761 - None, # 2762 - None, # 2763 - None, # 2764 - None, # 2765 - None, # 2766 - None, # 2767 - None, # 2768 - None, # 2769 - None, # 2770 - None, # 2771 - None, # 2772 - None, # 2773 - None, # 2774 - None, # 2775 - None, # 2776 - None, # 2777 - None, # 2778 - None, # 2779 - None, # 2780 - None, # 2781 - None, # 2782 - None, # 2783 - None, # 2784 - None, # 2785 - None, # 2786 - None, # 2787 - None, # 2788 - None, # 2789 - None, # 2790 - None, # 2791 - None, # 2792 - None, # 2793 - None, # 2794 - None, # 2795 - None, # 2796 - None, # 2797 - None, # 2798 - None, # 2799 - None, # 2800 - None, # 2801 - None, # 2802 - None, # 2803 - None, # 2804 - None, # 2805 - None, # 2806 - None, # 2807 - None, # 2808 - None, # 2809 - None, # 2810 - None, # 2811 - None, # 2812 - None, # 2813 - None, # 2814 - None, # 2815 - None, # 2816 - None, # 2817 - None, # 2818 - None, # 2819 - None, # 2820 - None, # 2821 - None, # 2822 - None, # 2823 - None, # 2824 - None, # 2825 - None, # 2826 - None, # 2827 - None, # 2828 - None, # 2829 - None, # 2830 - None, # 2831 - None, # 2832 - None, # 2833 - None, # 2834 - None, # 2835 - None, # 2836 - None, # 2837 - None, # 2838 - None, # 2839 - None, # 2840 - None, # 2841 - None, # 2842 - None, # 2843 - None, # 2844 - None, # 2845 - None, # 2846 - None, # 2847 - None, # 2848 - None, # 2849 - None, # 2850 - None, # 2851 - None, # 2852 - None, # 2853 - None, # 2854 - None, # 2855 - None, # 2856 - None, # 2857 - None, # 2858 - None, # 2859 - None, # 2860 - None, # 2861 - None, # 2862 - None, # 2863 - None, # 2864 - None, # 2865 - None, # 2866 - None, # 2867 - None, # 2868 - None, # 2869 - None, # 2870 - None, # 2871 - None, # 2872 - None, # 2873 - None, # 2874 - None, # 2875 - None, # 2876 - None, # 2877 - None, # 2878 - None, # 2879 - None, # 2880 - None, # 2881 - None, # 2882 - None, # 2883 - None, # 2884 - None, # 2885 - None, # 2886 - None, # 2887 - None, # 2888 - None, # 2889 - None, # 2890 - None, # 2891 - None, # 2892 - None, # 2893 - None, # 2894 - None, # 2895 - None, # 2896 - None, # 2897 - None, # 2898 - None, # 2899 - None, # 2900 - None, # 2901 - None, # 2902 - None, # 2903 - None, # 2904 - None, # 2905 - None, # 2906 - None, # 2907 - None, # 2908 - None, # 2909 - None, # 2910 - None, # 2911 - None, # 2912 - None, # 2913 - None, # 2914 - None, # 2915 - None, # 2916 - None, # 2917 - None, # 2918 - None, # 2919 - None, # 2920 - None, # 2921 - None, # 2922 - None, # 2923 - None, # 2924 - None, # 2925 - None, # 2926 - None, # 2927 - None, # 2928 - None, # 2929 - None, # 2930 - None, # 2931 - None, # 2932 - None, # 2933 - None, # 2934 - None, # 2935 - None, # 2936 - None, # 2937 - None, # 2938 - None, # 2939 - None, # 2940 - None, # 2941 - None, # 2942 - None, # 2943 - None, # 2944 - None, # 2945 - None, # 2946 - None, # 2947 - None, # 2948 - None, # 2949 - None, # 2950 - None, # 2951 - None, # 2952 - None, # 2953 - None, # 2954 - None, # 2955 - None, # 2956 - None, # 2957 - None, # 2958 - None, # 2959 - None, # 2960 - None, # 2961 - None, # 2962 - None, # 2963 - None, # 2964 - None, # 2965 - None, # 2966 - None, # 2967 - None, # 2968 - None, # 2969 - None, # 2970 - None, # 2971 - None, # 2972 - None, # 2973 - None, # 2974 - None, # 2975 - None, # 2976 - None, # 2977 - None, # 2978 - None, # 2979 - None, # 2980 - None, # 2981 - None, # 2982 - None, # 2983 - None, # 2984 - None, # 2985 - None, # 2986 - None, # 2987 - None, # 2988 - None, # 2989 - None, # 2990 - None, # 2991 - None, # 2992 - None, # 2993 - None, # 2994 - None, # 2995 - None, # 2996 - None, # 2997 - None, # 2998 - None, # 2999 - None, # 3000 - None, # 3001 - None, # 3002 - None, # 3003 - None, # 3004 - None, # 3005 - None, # 3006 - None, # 3007 - None, # 3008 - None, # 3009 - None, # 3010 - None, # 3011 - None, # 3012 - None, # 3013 - None, # 3014 - None, # 3015 - None, # 3016 - None, # 3017 - None, # 3018 - None, # 3019 - None, # 3020 - None, # 3021 - None, # 3022 - None, # 3023 - None, # 3024 - None, # 3025 - None, # 3026 - None, # 3027 - None, # 3028 - None, # 3029 - None, # 3030 - None, # 3031 - None, # 3032 - None, # 3033 - None, # 3034 - None, # 3035 - None, # 3036 - None, # 3037 - None, # 3038 - None, # 3039 - None, # 3040 - None, # 3041 - None, # 3042 - None, # 3043 - None, # 3044 - None, # 3045 - None, # 3046 - None, # 3047 - None, # 3048 - None, # 3049 - None, # 3050 - None, # 3051 - None, # 3052 - None, # 3053 - None, # 3054 - None, # 3055 - None, # 3056 - None, # 3057 - None, # 3058 - None, # 3059 - None, # 3060 - None, # 3061 - None, # 3062 - None, # 3063 - None, # 3064 - None, # 3065 - None, # 3066 - None, # 3067 - None, # 3068 - None, # 3069 - None, # 3070 - None, # 3071 - None, # 3072 - None, # 3073 - None, # 3074 - None, # 3075 - None, # 3076 - None, # 3077 - None, # 3078 - None, # 3079 - None, # 3080 - None, # 3081 - None, # 3082 - None, # 3083 - None, # 3084 - None, # 3085 - None, # 3086 - None, # 3087 - None, # 3088 - None, # 3089 - None, # 3090 - None, # 3091 - None, # 3092 - None, # 3093 - None, # 3094 - None, # 3095 - None, # 3096 - None, # 3097 - None, # 3098 - None, # 3099 - None, # 3100 - None, # 3101 - None, # 3102 - None, # 3103 - None, # 3104 - None, # 3105 - None, # 3106 - None, # 3107 - None, # 3108 - None, # 3109 - None, # 3110 - None, # 3111 - None, # 3112 - None, # 3113 - None, # 3114 - None, # 3115 - None, # 3116 - None, # 3117 - None, # 3118 - None, # 3119 - None, # 3120 - None, # 3121 - None, # 3122 - None, # 3123 - None, # 3124 - None, # 3125 - None, # 3126 - None, # 3127 - None, # 3128 - None, # 3129 - None, # 3130 - None, # 3131 - None, # 3132 - None, # 3133 - None, # 3134 - None, # 3135 - None, # 3136 - None, # 3137 - None, # 3138 - None, # 3139 - None, # 3140 - None, # 3141 - None, # 3142 - None, # 3143 - None, # 3144 - None, # 3145 - None, # 3146 - None, # 3147 - None, # 3148 - None, # 3149 - None, # 3150 - None, # 3151 - None, # 3152 - None, # 3153 - None, # 3154 - None, # 3155 - None, # 3156 - None, # 3157 - None, # 3158 - None, # 3159 - None, # 3160 - None, # 3161 - None, # 3162 - None, # 3163 - None, # 3164 - None, # 3165 - None, # 3166 - None, # 3167 - None, # 3168 - None, # 3169 - None, # 3170 - None, # 3171 - None, # 3172 - None, # 3173 - None, # 3174 - None, # 3175 - None, # 3176 - None, # 3177 - None, # 3178 - None, # 3179 - None, # 3180 - None, # 3181 - None, # 3182 - None, # 3183 - None, # 3184 - None, # 3185 - None, # 3186 - None, # 3187 - None, # 3188 - None, # 3189 - None, # 3190 - None, # 3191 - None, # 3192 - None, # 3193 - None, # 3194 - None, # 3195 - None, # 3196 - None, # 3197 - None, # 3198 - None, # 3199 - None, # 3200 - None, # 3201 - None, # 3202 - None, # 3203 - None, # 3204 - None, # 3205 - None, # 3206 - None, # 3207 - None, # 3208 - None, # 3209 - None, # 3210 - None, # 3211 - None, # 3212 - None, # 3213 - None, # 3214 - None, # 3215 - None, # 3216 - None, # 3217 - None, # 3218 - None, # 3219 - None, # 3220 - None, # 3221 - None, # 3222 - None, # 3223 - None, # 3224 - None, # 3225 - None, # 3226 - None, # 3227 - None, # 3228 - None, # 3229 - None, # 3230 - None, # 3231 - None, # 3232 - None, # 3233 - None, # 3234 - None, # 3235 - None, # 3236 - None, # 3237 - None, # 3238 - None, # 3239 - None, # 3240 - None, # 3241 - None, # 3242 - None, # 3243 - None, # 3244 - None, # 3245 - None, # 3246 - None, # 3247 - None, # 3248 - None, # 3249 - None, # 3250 - None, # 3251 - None, # 3252 - None, # 3253 - None, # 3254 - None, # 3255 - None, # 3256 - None, # 3257 - None, # 3258 - None, # 3259 - None, # 3260 - None, # 3261 - None, # 3262 - None, # 3263 - None, # 3264 - None, # 3265 - None, # 3266 - None, # 3267 - None, # 3268 - None, # 3269 - None, # 3270 - None, # 3271 - None, # 3272 - None, # 3273 - None, # 3274 - None, # 3275 - None, # 3276 - None, # 3277 - None, # 3278 - None, # 3279 - None, # 3280 - None, # 3281 - None, # 3282 - None, # 3283 - None, # 3284 - None, # 3285 - None, # 3286 - None, # 3287 - None, # 3288 - None, # 3289 - None, # 3290 - None, # 3291 - None, # 3292 - None, # 3293 - None, # 3294 - None, # 3295 - None, # 3296 - None, # 3297 - None, # 3298 - None, # 3299 - None, # 3300 - None, # 3301 - None, # 3302 - None, # 3303 - None, # 3304 - None, # 3305 - None, # 3306 - None, # 3307 - None, # 3308 - None, # 3309 - None, # 3310 - None, # 3311 - None, # 3312 - None, # 3313 - None, # 3314 - None, # 3315 - None, # 3316 - None, # 3317 - None, # 3318 - None, # 3319 - None, # 3320 - None, # 3321 - None, # 3322 - None, # 3323 - None, # 3324 - None, # 3325 - None, # 3326 - None, # 3327 - None, # 3328 - ( - 3329, - TType.BOOL, - "executionRejected", - None, - None, - ), # 3329 - ( - 3330, - TType.DOUBLE, - "maxClusterCapacity", - None, - None, - ), # 3330 - ( - 3331, - TType.DOUBLE, - "queryCost", - None, - None, - ), # 3331 - ( - 3332, - TType.STRUCT, - "sessionConf", - [TDBSqlSessionConf, None], - None, - ), # 3332 - ( - 3333, - TType.DOUBLE, - "currentClusterLoad", - None, - None, - ), # 3333 - ( - 3334, - TType.I32, - "idempotencyType", - None, - None, - ), # 3334 - ( - 3335, - TType.BOOL, - "remoteResultCacheEnabled", - None, - None, - ), # 3335 - ( - 3336, - TType.BOOL, - "isServerless", - None, - None, - ), # 3336 - ( - 3337, - TType.LIST, - "operationHandles", - (TType.STRUCT, [TOperationHandle, None], False), - None, - ), # 3337 + None, # 0 + (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 + (2, TType.STRUCT, 'operationHandle', [TOperationHandle, None], None, ), # 2 + None, # 3 + None, # 4 + None, # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + (1281, TType.STRUCT, 'directResults', [TSparkDirectResults, None], None, ), # 1281 + None, # 1282 + None, # 1283 + None, # 1284 + None, # 1285 + None, # 1286 + None, # 1287 + None, # 1288 + None, # 1289 + None, # 1290 + None, # 1291 + None, # 1292 + None, # 1293 + None, # 1294 + None, # 1295 + None, # 1296 + None, # 1297 + None, # 1298 + None, # 1299 + None, # 1300 + None, # 1301 + None, # 1302 + None, # 1303 + None, # 1304 + None, # 1305 + None, # 1306 + None, # 1307 + None, # 1308 + None, # 1309 + None, # 1310 + None, # 1311 + None, # 1312 + None, # 1313 + None, # 1314 + None, # 1315 + None, # 1316 + None, # 1317 + None, # 1318 + None, # 1319 + None, # 1320 + None, # 1321 + None, # 1322 + None, # 1323 + None, # 1324 + None, # 1325 + None, # 1326 + None, # 1327 + None, # 1328 + None, # 1329 + None, # 1330 + None, # 1331 + None, # 1332 + None, # 1333 + None, # 1334 + None, # 1335 + None, # 1336 + None, # 1337 + None, # 1338 + None, # 1339 + None, # 1340 + None, # 1341 + None, # 1342 + None, # 1343 + None, # 1344 + None, # 1345 + None, # 1346 + None, # 1347 + None, # 1348 + None, # 1349 + None, # 1350 + None, # 1351 + None, # 1352 + None, # 1353 + None, # 1354 + None, # 1355 + None, # 1356 + None, # 1357 + None, # 1358 + None, # 1359 + None, # 1360 + None, # 1361 + None, # 1362 + None, # 1363 + None, # 1364 + None, # 1365 + None, # 1366 + None, # 1367 + None, # 1368 + None, # 1369 + None, # 1370 + None, # 1371 + None, # 1372 + None, # 1373 + None, # 1374 + None, # 1375 + None, # 1376 + None, # 1377 + None, # 1378 + None, # 1379 + None, # 1380 + None, # 1381 + None, # 1382 + None, # 1383 + None, # 1384 + None, # 1385 + None, # 1386 + None, # 1387 + None, # 1388 + None, # 1389 + None, # 1390 + None, # 1391 + None, # 1392 + None, # 1393 + None, # 1394 + None, # 1395 + None, # 1396 + None, # 1397 + None, # 1398 + None, # 1399 + None, # 1400 + None, # 1401 + None, # 1402 + None, # 1403 + None, # 1404 + None, # 1405 + None, # 1406 + None, # 1407 + None, # 1408 + None, # 1409 + None, # 1410 + None, # 1411 + None, # 1412 + None, # 1413 + None, # 1414 + None, # 1415 + None, # 1416 + None, # 1417 + None, # 1418 + None, # 1419 + None, # 1420 + None, # 1421 + None, # 1422 + None, # 1423 + None, # 1424 + None, # 1425 + None, # 1426 + None, # 1427 + None, # 1428 + None, # 1429 + None, # 1430 + None, # 1431 + None, # 1432 + None, # 1433 + None, # 1434 + None, # 1435 + None, # 1436 + None, # 1437 + None, # 1438 + None, # 1439 + None, # 1440 + None, # 1441 + None, # 1442 + None, # 1443 + None, # 1444 + None, # 1445 + None, # 1446 + None, # 1447 + None, # 1448 + None, # 1449 + None, # 1450 + None, # 1451 + None, # 1452 + None, # 1453 + None, # 1454 + None, # 1455 + None, # 1456 + None, # 1457 + None, # 1458 + None, # 1459 + None, # 1460 + None, # 1461 + None, # 1462 + None, # 1463 + None, # 1464 + None, # 1465 + None, # 1466 + None, # 1467 + None, # 1468 + None, # 1469 + None, # 1470 + None, # 1471 + None, # 1472 + None, # 1473 + None, # 1474 + None, # 1475 + None, # 1476 + None, # 1477 + None, # 1478 + None, # 1479 + None, # 1480 + None, # 1481 + None, # 1482 + None, # 1483 + None, # 1484 + None, # 1485 + None, # 1486 + None, # 1487 + None, # 1488 + None, # 1489 + None, # 1490 + None, # 1491 + None, # 1492 + None, # 1493 + None, # 1494 + None, # 1495 + None, # 1496 + None, # 1497 + None, # 1498 + None, # 1499 + None, # 1500 + None, # 1501 + None, # 1502 + None, # 1503 + None, # 1504 + None, # 1505 + None, # 1506 + None, # 1507 + None, # 1508 + None, # 1509 + None, # 1510 + None, # 1511 + None, # 1512 + None, # 1513 + None, # 1514 + None, # 1515 + None, # 1516 + None, # 1517 + None, # 1518 + None, # 1519 + None, # 1520 + None, # 1521 + None, # 1522 + None, # 1523 + None, # 1524 + None, # 1525 + None, # 1526 + None, # 1527 + None, # 1528 + None, # 1529 + None, # 1530 + None, # 1531 + None, # 1532 + None, # 1533 + None, # 1534 + None, # 1535 + None, # 1536 + None, # 1537 + None, # 1538 + None, # 1539 + None, # 1540 + None, # 1541 + None, # 1542 + None, # 1543 + None, # 1544 + None, # 1545 + None, # 1546 + None, # 1547 + None, # 1548 + None, # 1549 + None, # 1550 + None, # 1551 + None, # 1552 + None, # 1553 + None, # 1554 + None, # 1555 + None, # 1556 + None, # 1557 + None, # 1558 + None, # 1559 + None, # 1560 + None, # 1561 + None, # 1562 + None, # 1563 + None, # 1564 + None, # 1565 + None, # 1566 + None, # 1567 + None, # 1568 + None, # 1569 + None, # 1570 + None, # 1571 + None, # 1572 + None, # 1573 + None, # 1574 + None, # 1575 + None, # 1576 + None, # 1577 + None, # 1578 + None, # 1579 + None, # 1580 + None, # 1581 + None, # 1582 + None, # 1583 + None, # 1584 + None, # 1585 + None, # 1586 + None, # 1587 + None, # 1588 + None, # 1589 + None, # 1590 + None, # 1591 + None, # 1592 + None, # 1593 + None, # 1594 + None, # 1595 + None, # 1596 + None, # 1597 + None, # 1598 + None, # 1599 + None, # 1600 + None, # 1601 + None, # 1602 + None, # 1603 + None, # 1604 + None, # 1605 + None, # 1606 + None, # 1607 + None, # 1608 + None, # 1609 + None, # 1610 + None, # 1611 + None, # 1612 + None, # 1613 + None, # 1614 + None, # 1615 + None, # 1616 + None, # 1617 + None, # 1618 + None, # 1619 + None, # 1620 + None, # 1621 + None, # 1622 + None, # 1623 + None, # 1624 + None, # 1625 + None, # 1626 + None, # 1627 + None, # 1628 + None, # 1629 + None, # 1630 + None, # 1631 + None, # 1632 + None, # 1633 + None, # 1634 + None, # 1635 + None, # 1636 + None, # 1637 + None, # 1638 + None, # 1639 + None, # 1640 + None, # 1641 + None, # 1642 + None, # 1643 + None, # 1644 + None, # 1645 + None, # 1646 + None, # 1647 + None, # 1648 + None, # 1649 + None, # 1650 + None, # 1651 + None, # 1652 + None, # 1653 + None, # 1654 + None, # 1655 + None, # 1656 + None, # 1657 + None, # 1658 + None, # 1659 + None, # 1660 + None, # 1661 + None, # 1662 + None, # 1663 + None, # 1664 + None, # 1665 + None, # 1666 + None, # 1667 + None, # 1668 + None, # 1669 + None, # 1670 + None, # 1671 + None, # 1672 + None, # 1673 + None, # 1674 + None, # 1675 + None, # 1676 + None, # 1677 + None, # 1678 + None, # 1679 + None, # 1680 + None, # 1681 + None, # 1682 + None, # 1683 + None, # 1684 + None, # 1685 + None, # 1686 + None, # 1687 + None, # 1688 + None, # 1689 + None, # 1690 + None, # 1691 + None, # 1692 + None, # 1693 + None, # 1694 + None, # 1695 + None, # 1696 + None, # 1697 + None, # 1698 + None, # 1699 + None, # 1700 + None, # 1701 + None, # 1702 + None, # 1703 + None, # 1704 + None, # 1705 + None, # 1706 + None, # 1707 + None, # 1708 + None, # 1709 + None, # 1710 + None, # 1711 + None, # 1712 + None, # 1713 + None, # 1714 + None, # 1715 + None, # 1716 + None, # 1717 + None, # 1718 + None, # 1719 + None, # 1720 + None, # 1721 + None, # 1722 + None, # 1723 + None, # 1724 + None, # 1725 + None, # 1726 + None, # 1727 + None, # 1728 + None, # 1729 + None, # 1730 + None, # 1731 + None, # 1732 + None, # 1733 + None, # 1734 + None, # 1735 + None, # 1736 + None, # 1737 + None, # 1738 + None, # 1739 + None, # 1740 + None, # 1741 + None, # 1742 + None, # 1743 + None, # 1744 + None, # 1745 + None, # 1746 + None, # 1747 + None, # 1748 + None, # 1749 + None, # 1750 + None, # 1751 + None, # 1752 + None, # 1753 + None, # 1754 + None, # 1755 + None, # 1756 + None, # 1757 + None, # 1758 + None, # 1759 + None, # 1760 + None, # 1761 + None, # 1762 + None, # 1763 + None, # 1764 + None, # 1765 + None, # 1766 + None, # 1767 + None, # 1768 + None, # 1769 + None, # 1770 + None, # 1771 + None, # 1772 + None, # 1773 + None, # 1774 + None, # 1775 + None, # 1776 + None, # 1777 + None, # 1778 + None, # 1779 + None, # 1780 + None, # 1781 + None, # 1782 + None, # 1783 + None, # 1784 + None, # 1785 + None, # 1786 + None, # 1787 + None, # 1788 + None, # 1789 + None, # 1790 + None, # 1791 + None, # 1792 + None, # 1793 + None, # 1794 + None, # 1795 + None, # 1796 + None, # 1797 + None, # 1798 + None, # 1799 + None, # 1800 + None, # 1801 + None, # 1802 + None, # 1803 + None, # 1804 + None, # 1805 + None, # 1806 + None, # 1807 + None, # 1808 + None, # 1809 + None, # 1810 + None, # 1811 + None, # 1812 + None, # 1813 + None, # 1814 + None, # 1815 + None, # 1816 + None, # 1817 + None, # 1818 + None, # 1819 + None, # 1820 + None, # 1821 + None, # 1822 + None, # 1823 + None, # 1824 + None, # 1825 + None, # 1826 + None, # 1827 + None, # 1828 + None, # 1829 + None, # 1830 + None, # 1831 + None, # 1832 + None, # 1833 + None, # 1834 + None, # 1835 + None, # 1836 + None, # 1837 + None, # 1838 + None, # 1839 + None, # 1840 + None, # 1841 + None, # 1842 + None, # 1843 + None, # 1844 + None, # 1845 + None, # 1846 + None, # 1847 + None, # 1848 + None, # 1849 + None, # 1850 + None, # 1851 + None, # 1852 + None, # 1853 + None, # 1854 + None, # 1855 + None, # 1856 + None, # 1857 + None, # 1858 + None, # 1859 + None, # 1860 + None, # 1861 + None, # 1862 + None, # 1863 + None, # 1864 + None, # 1865 + None, # 1866 + None, # 1867 + None, # 1868 + None, # 1869 + None, # 1870 + None, # 1871 + None, # 1872 + None, # 1873 + None, # 1874 + None, # 1875 + None, # 1876 + None, # 1877 + None, # 1878 + None, # 1879 + None, # 1880 + None, # 1881 + None, # 1882 + None, # 1883 + None, # 1884 + None, # 1885 + None, # 1886 + None, # 1887 + None, # 1888 + None, # 1889 + None, # 1890 + None, # 1891 + None, # 1892 + None, # 1893 + None, # 1894 + None, # 1895 + None, # 1896 + None, # 1897 + None, # 1898 + None, # 1899 + None, # 1900 + None, # 1901 + None, # 1902 + None, # 1903 + None, # 1904 + None, # 1905 + None, # 1906 + None, # 1907 + None, # 1908 + None, # 1909 + None, # 1910 + None, # 1911 + None, # 1912 + None, # 1913 + None, # 1914 + None, # 1915 + None, # 1916 + None, # 1917 + None, # 1918 + None, # 1919 + None, # 1920 + None, # 1921 + None, # 1922 + None, # 1923 + None, # 1924 + None, # 1925 + None, # 1926 + None, # 1927 + None, # 1928 + None, # 1929 + None, # 1930 + None, # 1931 + None, # 1932 + None, # 1933 + None, # 1934 + None, # 1935 + None, # 1936 + None, # 1937 + None, # 1938 + None, # 1939 + None, # 1940 + None, # 1941 + None, # 1942 + None, # 1943 + None, # 1944 + None, # 1945 + None, # 1946 + None, # 1947 + None, # 1948 + None, # 1949 + None, # 1950 + None, # 1951 + None, # 1952 + None, # 1953 + None, # 1954 + None, # 1955 + None, # 1956 + None, # 1957 + None, # 1958 + None, # 1959 + None, # 1960 + None, # 1961 + None, # 1962 + None, # 1963 + None, # 1964 + None, # 1965 + None, # 1966 + None, # 1967 + None, # 1968 + None, # 1969 + None, # 1970 + None, # 1971 + None, # 1972 + None, # 1973 + None, # 1974 + None, # 1975 + None, # 1976 + None, # 1977 + None, # 1978 + None, # 1979 + None, # 1980 + None, # 1981 + None, # 1982 + None, # 1983 + None, # 1984 + None, # 1985 + None, # 1986 + None, # 1987 + None, # 1988 + None, # 1989 + None, # 1990 + None, # 1991 + None, # 1992 + None, # 1993 + None, # 1994 + None, # 1995 + None, # 1996 + None, # 1997 + None, # 1998 + None, # 1999 + None, # 2000 + None, # 2001 + None, # 2002 + None, # 2003 + None, # 2004 + None, # 2005 + None, # 2006 + None, # 2007 + None, # 2008 + None, # 2009 + None, # 2010 + None, # 2011 + None, # 2012 + None, # 2013 + None, # 2014 + None, # 2015 + None, # 2016 + None, # 2017 + None, # 2018 + None, # 2019 + None, # 2020 + None, # 2021 + None, # 2022 + None, # 2023 + None, # 2024 + None, # 2025 + None, # 2026 + None, # 2027 + None, # 2028 + None, # 2029 + None, # 2030 + None, # 2031 + None, # 2032 + None, # 2033 + None, # 2034 + None, # 2035 + None, # 2036 + None, # 2037 + None, # 2038 + None, # 2039 + None, # 2040 + None, # 2041 + None, # 2042 + None, # 2043 + None, # 2044 + None, # 2045 + None, # 2046 + None, # 2047 + None, # 2048 + None, # 2049 + None, # 2050 + None, # 2051 + None, # 2052 + None, # 2053 + None, # 2054 + None, # 2055 + None, # 2056 + None, # 2057 + None, # 2058 + None, # 2059 + None, # 2060 + None, # 2061 + None, # 2062 + None, # 2063 + None, # 2064 + None, # 2065 + None, # 2066 + None, # 2067 + None, # 2068 + None, # 2069 + None, # 2070 + None, # 2071 + None, # 2072 + None, # 2073 + None, # 2074 + None, # 2075 + None, # 2076 + None, # 2077 + None, # 2078 + None, # 2079 + None, # 2080 + None, # 2081 + None, # 2082 + None, # 2083 + None, # 2084 + None, # 2085 + None, # 2086 + None, # 2087 + None, # 2088 + None, # 2089 + None, # 2090 + None, # 2091 + None, # 2092 + None, # 2093 + None, # 2094 + None, # 2095 + None, # 2096 + None, # 2097 + None, # 2098 + None, # 2099 + None, # 2100 + None, # 2101 + None, # 2102 + None, # 2103 + None, # 2104 + None, # 2105 + None, # 2106 + None, # 2107 + None, # 2108 + None, # 2109 + None, # 2110 + None, # 2111 + None, # 2112 + None, # 2113 + None, # 2114 + None, # 2115 + None, # 2116 + None, # 2117 + None, # 2118 + None, # 2119 + None, # 2120 + None, # 2121 + None, # 2122 + None, # 2123 + None, # 2124 + None, # 2125 + None, # 2126 + None, # 2127 + None, # 2128 + None, # 2129 + None, # 2130 + None, # 2131 + None, # 2132 + None, # 2133 + None, # 2134 + None, # 2135 + None, # 2136 + None, # 2137 + None, # 2138 + None, # 2139 + None, # 2140 + None, # 2141 + None, # 2142 + None, # 2143 + None, # 2144 + None, # 2145 + None, # 2146 + None, # 2147 + None, # 2148 + None, # 2149 + None, # 2150 + None, # 2151 + None, # 2152 + None, # 2153 + None, # 2154 + None, # 2155 + None, # 2156 + None, # 2157 + None, # 2158 + None, # 2159 + None, # 2160 + None, # 2161 + None, # 2162 + None, # 2163 + None, # 2164 + None, # 2165 + None, # 2166 + None, # 2167 + None, # 2168 + None, # 2169 + None, # 2170 + None, # 2171 + None, # 2172 + None, # 2173 + None, # 2174 + None, # 2175 + None, # 2176 + None, # 2177 + None, # 2178 + None, # 2179 + None, # 2180 + None, # 2181 + None, # 2182 + None, # 2183 + None, # 2184 + None, # 2185 + None, # 2186 + None, # 2187 + None, # 2188 + None, # 2189 + None, # 2190 + None, # 2191 + None, # 2192 + None, # 2193 + None, # 2194 + None, # 2195 + None, # 2196 + None, # 2197 + None, # 2198 + None, # 2199 + None, # 2200 + None, # 2201 + None, # 2202 + None, # 2203 + None, # 2204 + None, # 2205 + None, # 2206 + None, # 2207 + None, # 2208 + None, # 2209 + None, # 2210 + None, # 2211 + None, # 2212 + None, # 2213 + None, # 2214 + None, # 2215 + None, # 2216 + None, # 2217 + None, # 2218 + None, # 2219 + None, # 2220 + None, # 2221 + None, # 2222 + None, # 2223 + None, # 2224 + None, # 2225 + None, # 2226 + None, # 2227 + None, # 2228 + None, # 2229 + None, # 2230 + None, # 2231 + None, # 2232 + None, # 2233 + None, # 2234 + None, # 2235 + None, # 2236 + None, # 2237 + None, # 2238 + None, # 2239 + None, # 2240 + None, # 2241 + None, # 2242 + None, # 2243 + None, # 2244 + None, # 2245 + None, # 2246 + None, # 2247 + None, # 2248 + None, # 2249 + None, # 2250 + None, # 2251 + None, # 2252 + None, # 2253 + None, # 2254 + None, # 2255 + None, # 2256 + None, # 2257 + None, # 2258 + None, # 2259 + None, # 2260 + None, # 2261 + None, # 2262 + None, # 2263 + None, # 2264 + None, # 2265 + None, # 2266 + None, # 2267 + None, # 2268 + None, # 2269 + None, # 2270 + None, # 2271 + None, # 2272 + None, # 2273 + None, # 2274 + None, # 2275 + None, # 2276 + None, # 2277 + None, # 2278 + None, # 2279 + None, # 2280 + None, # 2281 + None, # 2282 + None, # 2283 + None, # 2284 + None, # 2285 + None, # 2286 + None, # 2287 + None, # 2288 + None, # 2289 + None, # 2290 + None, # 2291 + None, # 2292 + None, # 2293 + None, # 2294 + None, # 2295 + None, # 2296 + None, # 2297 + None, # 2298 + None, # 2299 + None, # 2300 + None, # 2301 + None, # 2302 + None, # 2303 + None, # 2304 + None, # 2305 + None, # 2306 + None, # 2307 + None, # 2308 + None, # 2309 + None, # 2310 + None, # 2311 + None, # 2312 + None, # 2313 + None, # 2314 + None, # 2315 + None, # 2316 + None, # 2317 + None, # 2318 + None, # 2319 + None, # 2320 + None, # 2321 + None, # 2322 + None, # 2323 + None, # 2324 + None, # 2325 + None, # 2326 + None, # 2327 + None, # 2328 + None, # 2329 + None, # 2330 + None, # 2331 + None, # 2332 + None, # 2333 + None, # 2334 + None, # 2335 + None, # 2336 + None, # 2337 + None, # 2338 + None, # 2339 + None, # 2340 + None, # 2341 + None, # 2342 + None, # 2343 + None, # 2344 + None, # 2345 + None, # 2346 + None, # 2347 + None, # 2348 + None, # 2349 + None, # 2350 + None, # 2351 + None, # 2352 + None, # 2353 + None, # 2354 + None, # 2355 + None, # 2356 + None, # 2357 + None, # 2358 + None, # 2359 + None, # 2360 + None, # 2361 + None, # 2362 + None, # 2363 + None, # 2364 + None, # 2365 + None, # 2366 + None, # 2367 + None, # 2368 + None, # 2369 + None, # 2370 + None, # 2371 + None, # 2372 + None, # 2373 + None, # 2374 + None, # 2375 + None, # 2376 + None, # 2377 + None, # 2378 + None, # 2379 + None, # 2380 + None, # 2381 + None, # 2382 + None, # 2383 + None, # 2384 + None, # 2385 + None, # 2386 + None, # 2387 + None, # 2388 + None, # 2389 + None, # 2390 + None, # 2391 + None, # 2392 + None, # 2393 + None, # 2394 + None, # 2395 + None, # 2396 + None, # 2397 + None, # 2398 + None, # 2399 + None, # 2400 + None, # 2401 + None, # 2402 + None, # 2403 + None, # 2404 + None, # 2405 + None, # 2406 + None, # 2407 + None, # 2408 + None, # 2409 + None, # 2410 + None, # 2411 + None, # 2412 + None, # 2413 + None, # 2414 + None, # 2415 + None, # 2416 + None, # 2417 + None, # 2418 + None, # 2419 + None, # 2420 + None, # 2421 + None, # 2422 + None, # 2423 + None, # 2424 + None, # 2425 + None, # 2426 + None, # 2427 + None, # 2428 + None, # 2429 + None, # 2430 + None, # 2431 + None, # 2432 + None, # 2433 + None, # 2434 + None, # 2435 + None, # 2436 + None, # 2437 + None, # 2438 + None, # 2439 + None, # 2440 + None, # 2441 + None, # 2442 + None, # 2443 + None, # 2444 + None, # 2445 + None, # 2446 + None, # 2447 + None, # 2448 + None, # 2449 + None, # 2450 + None, # 2451 + None, # 2452 + None, # 2453 + None, # 2454 + None, # 2455 + None, # 2456 + None, # 2457 + None, # 2458 + None, # 2459 + None, # 2460 + None, # 2461 + None, # 2462 + None, # 2463 + None, # 2464 + None, # 2465 + None, # 2466 + None, # 2467 + None, # 2468 + None, # 2469 + None, # 2470 + None, # 2471 + None, # 2472 + None, # 2473 + None, # 2474 + None, # 2475 + None, # 2476 + None, # 2477 + None, # 2478 + None, # 2479 + None, # 2480 + None, # 2481 + None, # 2482 + None, # 2483 + None, # 2484 + None, # 2485 + None, # 2486 + None, # 2487 + None, # 2488 + None, # 2489 + None, # 2490 + None, # 2491 + None, # 2492 + None, # 2493 + None, # 2494 + None, # 2495 + None, # 2496 + None, # 2497 + None, # 2498 + None, # 2499 + None, # 2500 + None, # 2501 + None, # 2502 + None, # 2503 + None, # 2504 + None, # 2505 + None, # 2506 + None, # 2507 + None, # 2508 + None, # 2509 + None, # 2510 + None, # 2511 + None, # 2512 + None, # 2513 + None, # 2514 + None, # 2515 + None, # 2516 + None, # 2517 + None, # 2518 + None, # 2519 + None, # 2520 + None, # 2521 + None, # 2522 + None, # 2523 + None, # 2524 + None, # 2525 + None, # 2526 + None, # 2527 + None, # 2528 + None, # 2529 + None, # 2530 + None, # 2531 + None, # 2532 + None, # 2533 + None, # 2534 + None, # 2535 + None, # 2536 + None, # 2537 + None, # 2538 + None, # 2539 + None, # 2540 + None, # 2541 + None, # 2542 + None, # 2543 + None, # 2544 + None, # 2545 + None, # 2546 + None, # 2547 + None, # 2548 + None, # 2549 + None, # 2550 + None, # 2551 + None, # 2552 + None, # 2553 + None, # 2554 + None, # 2555 + None, # 2556 + None, # 2557 + None, # 2558 + None, # 2559 + None, # 2560 + None, # 2561 + None, # 2562 + None, # 2563 + None, # 2564 + None, # 2565 + None, # 2566 + None, # 2567 + None, # 2568 + None, # 2569 + None, # 2570 + None, # 2571 + None, # 2572 + None, # 2573 + None, # 2574 + None, # 2575 + None, # 2576 + None, # 2577 + None, # 2578 + None, # 2579 + None, # 2580 + None, # 2581 + None, # 2582 + None, # 2583 + None, # 2584 + None, # 2585 + None, # 2586 + None, # 2587 + None, # 2588 + None, # 2589 + None, # 2590 + None, # 2591 + None, # 2592 + None, # 2593 + None, # 2594 + None, # 2595 + None, # 2596 + None, # 2597 + None, # 2598 + None, # 2599 + None, # 2600 + None, # 2601 + None, # 2602 + None, # 2603 + None, # 2604 + None, # 2605 + None, # 2606 + None, # 2607 + None, # 2608 + None, # 2609 + None, # 2610 + None, # 2611 + None, # 2612 + None, # 2613 + None, # 2614 + None, # 2615 + None, # 2616 + None, # 2617 + None, # 2618 + None, # 2619 + None, # 2620 + None, # 2621 + None, # 2622 + None, # 2623 + None, # 2624 + None, # 2625 + None, # 2626 + None, # 2627 + None, # 2628 + None, # 2629 + None, # 2630 + None, # 2631 + None, # 2632 + None, # 2633 + None, # 2634 + None, # 2635 + None, # 2636 + None, # 2637 + None, # 2638 + None, # 2639 + None, # 2640 + None, # 2641 + None, # 2642 + None, # 2643 + None, # 2644 + None, # 2645 + None, # 2646 + None, # 2647 + None, # 2648 + None, # 2649 + None, # 2650 + None, # 2651 + None, # 2652 + None, # 2653 + None, # 2654 + None, # 2655 + None, # 2656 + None, # 2657 + None, # 2658 + None, # 2659 + None, # 2660 + None, # 2661 + None, # 2662 + None, # 2663 + None, # 2664 + None, # 2665 + None, # 2666 + None, # 2667 + None, # 2668 + None, # 2669 + None, # 2670 + None, # 2671 + None, # 2672 + None, # 2673 + None, # 2674 + None, # 2675 + None, # 2676 + None, # 2677 + None, # 2678 + None, # 2679 + None, # 2680 + None, # 2681 + None, # 2682 + None, # 2683 + None, # 2684 + None, # 2685 + None, # 2686 + None, # 2687 + None, # 2688 + None, # 2689 + None, # 2690 + None, # 2691 + None, # 2692 + None, # 2693 + None, # 2694 + None, # 2695 + None, # 2696 + None, # 2697 + None, # 2698 + None, # 2699 + None, # 2700 + None, # 2701 + None, # 2702 + None, # 2703 + None, # 2704 + None, # 2705 + None, # 2706 + None, # 2707 + None, # 2708 + None, # 2709 + None, # 2710 + None, # 2711 + None, # 2712 + None, # 2713 + None, # 2714 + None, # 2715 + None, # 2716 + None, # 2717 + None, # 2718 + None, # 2719 + None, # 2720 + None, # 2721 + None, # 2722 + None, # 2723 + None, # 2724 + None, # 2725 + None, # 2726 + None, # 2727 + None, # 2728 + None, # 2729 + None, # 2730 + None, # 2731 + None, # 2732 + None, # 2733 + None, # 2734 + None, # 2735 + None, # 2736 + None, # 2737 + None, # 2738 + None, # 2739 + None, # 2740 + None, # 2741 + None, # 2742 + None, # 2743 + None, # 2744 + None, # 2745 + None, # 2746 + None, # 2747 + None, # 2748 + None, # 2749 + None, # 2750 + None, # 2751 + None, # 2752 + None, # 2753 + None, # 2754 + None, # 2755 + None, # 2756 + None, # 2757 + None, # 2758 + None, # 2759 + None, # 2760 + None, # 2761 + None, # 2762 + None, # 2763 + None, # 2764 + None, # 2765 + None, # 2766 + None, # 2767 + None, # 2768 + None, # 2769 + None, # 2770 + None, # 2771 + None, # 2772 + None, # 2773 + None, # 2774 + None, # 2775 + None, # 2776 + None, # 2777 + None, # 2778 + None, # 2779 + None, # 2780 + None, # 2781 + None, # 2782 + None, # 2783 + None, # 2784 + None, # 2785 + None, # 2786 + None, # 2787 + None, # 2788 + None, # 2789 + None, # 2790 + None, # 2791 + None, # 2792 + None, # 2793 + None, # 2794 + None, # 2795 + None, # 2796 + None, # 2797 + None, # 2798 + None, # 2799 + None, # 2800 + None, # 2801 + None, # 2802 + None, # 2803 + None, # 2804 + None, # 2805 + None, # 2806 + None, # 2807 + None, # 2808 + None, # 2809 + None, # 2810 + None, # 2811 + None, # 2812 + None, # 2813 + None, # 2814 + None, # 2815 + None, # 2816 + None, # 2817 + None, # 2818 + None, # 2819 + None, # 2820 + None, # 2821 + None, # 2822 + None, # 2823 + None, # 2824 + None, # 2825 + None, # 2826 + None, # 2827 + None, # 2828 + None, # 2829 + None, # 2830 + None, # 2831 + None, # 2832 + None, # 2833 + None, # 2834 + None, # 2835 + None, # 2836 + None, # 2837 + None, # 2838 + None, # 2839 + None, # 2840 + None, # 2841 + None, # 2842 + None, # 2843 + None, # 2844 + None, # 2845 + None, # 2846 + None, # 2847 + None, # 2848 + None, # 2849 + None, # 2850 + None, # 2851 + None, # 2852 + None, # 2853 + None, # 2854 + None, # 2855 + None, # 2856 + None, # 2857 + None, # 2858 + None, # 2859 + None, # 2860 + None, # 2861 + None, # 2862 + None, # 2863 + None, # 2864 + None, # 2865 + None, # 2866 + None, # 2867 + None, # 2868 + None, # 2869 + None, # 2870 + None, # 2871 + None, # 2872 + None, # 2873 + None, # 2874 + None, # 2875 + None, # 2876 + None, # 2877 + None, # 2878 + None, # 2879 + None, # 2880 + None, # 2881 + None, # 2882 + None, # 2883 + None, # 2884 + None, # 2885 + None, # 2886 + None, # 2887 + None, # 2888 + None, # 2889 + None, # 2890 + None, # 2891 + None, # 2892 + None, # 2893 + None, # 2894 + None, # 2895 + None, # 2896 + None, # 2897 + None, # 2898 + None, # 2899 + None, # 2900 + None, # 2901 + None, # 2902 + None, # 2903 + None, # 2904 + None, # 2905 + None, # 2906 + None, # 2907 + None, # 2908 + None, # 2909 + None, # 2910 + None, # 2911 + None, # 2912 + None, # 2913 + None, # 2914 + None, # 2915 + None, # 2916 + None, # 2917 + None, # 2918 + None, # 2919 + None, # 2920 + None, # 2921 + None, # 2922 + None, # 2923 + None, # 2924 + None, # 2925 + None, # 2926 + None, # 2927 + None, # 2928 + None, # 2929 + None, # 2930 + None, # 2931 + None, # 2932 + None, # 2933 + None, # 2934 + None, # 2935 + None, # 2936 + None, # 2937 + None, # 2938 + None, # 2939 + None, # 2940 + None, # 2941 + None, # 2942 + None, # 2943 + None, # 2944 + None, # 2945 + None, # 2946 + None, # 2947 + None, # 2948 + None, # 2949 + None, # 2950 + None, # 2951 + None, # 2952 + None, # 2953 + None, # 2954 + None, # 2955 + None, # 2956 + None, # 2957 + None, # 2958 + None, # 2959 + None, # 2960 + None, # 2961 + None, # 2962 + None, # 2963 + None, # 2964 + None, # 2965 + None, # 2966 + None, # 2967 + None, # 2968 + None, # 2969 + None, # 2970 + None, # 2971 + None, # 2972 + None, # 2973 + None, # 2974 + None, # 2975 + None, # 2976 + None, # 2977 + None, # 2978 + None, # 2979 + None, # 2980 + None, # 2981 + None, # 2982 + None, # 2983 + None, # 2984 + None, # 2985 + None, # 2986 + None, # 2987 + None, # 2988 + None, # 2989 + None, # 2990 + None, # 2991 + None, # 2992 + None, # 2993 + None, # 2994 + None, # 2995 + None, # 2996 + None, # 2997 + None, # 2998 + None, # 2999 + None, # 3000 + None, # 3001 + None, # 3002 + None, # 3003 + None, # 3004 + None, # 3005 + None, # 3006 + None, # 3007 + None, # 3008 + None, # 3009 + None, # 3010 + None, # 3011 + None, # 3012 + None, # 3013 + None, # 3014 + None, # 3015 + None, # 3016 + None, # 3017 + None, # 3018 + None, # 3019 + None, # 3020 + None, # 3021 + None, # 3022 + None, # 3023 + None, # 3024 + None, # 3025 + None, # 3026 + None, # 3027 + None, # 3028 + None, # 3029 + None, # 3030 + None, # 3031 + None, # 3032 + None, # 3033 + None, # 3034 + None, # 3035 + None, # 3036 + None, # 3037 + None, # 3038 + None, # 3039 + None, # 3040 + None, # 3041 + None, # 3042 + None, # 3043 + None, # 3044 + None, # 3045 + None, # 3046 + None, # 3047 + None, # 3048 + None, # 3049 + None, # 3050 + None, # 3051 + None, # 3052 + None, # 3053 + None, # 3054 + None, # 3055 + None, # 3056 + None, # 3057 + None, # 3058 + None, # 3059 + None, # 3060 + None, # 3061 + None, # 3062 + None, # 3063 + None, # 3064 + None, # 3065 + None, # 3066 + None, # 3067 + None, # 3068 + None, # 3069 + None, # 3070 + None, # 3071 + None, # 3072 + None, # 3073 + None, # 3074 + None, # 3075 + None, # 3076 + None, # 3077 + None, # 3078 + None, # 3079 + None, # 3080 + None, # 3081 + None, # 3082 + None, # 3083 + None, # 3084 + None, # 3085 + None, # 3086 + None, # 3087 + None, # 3088 + None, # 3089 + None, # 3090 + None, # 3091 + None, # 3092 + None, # 3093 + None, # 3094 + None, # 3095 + None, # 3096 + None, # 3097 + None, # 3098 + None, # 3099 + None, # 3100 + None, # 3101 + None, # 3102 + None, # 3103 + None, # 3104 + None, # 3105 + None, # 3106 + None, # 3107 + None, # 3108 + None, # 3109 + None, # 3110 + None, # 3111 + None, # 3112 + None, # 3113 + None, # 3114 + None, # 3115 + None, # 3116 + None, # 3117 + None, # 3118 + None, # 3119 + None, # 3120 + None, # 3121 + None, # 3122 + None, # 3123 + None, # 3124 + None, # 3125 + None, # 3126 + None, # 3127 + None, # 3128 + None, # 3129 + None, # 3130 + None, # 3131 + None, # 3132 + None, # 3133 + None, # 3134 + None, # 3135 + None, # 3136 + None, # 3137 + None, # 3138 + None, # 3139 + None, # 3140 + None, # 3141 + None, # 3142 + None, # 3143 + None, # 3144 + None, # 3145 + None, # 3146 + None, # 3147 + None, # 3148 + None, # 3149 + None, # 3150 + None, # 3151 + None, # 3152 + None, # 3153 + None, # 3154 + None, # 3155 + None, # 3156 + None, # 3157 + None, # 3158 + None, # 3159 + None, # 3160 + None, # 3161 + None, # 3162 + None, # 3163 + None, # 3164 + None, # 3165 + None, # 3166 + None, # 3167 + None, # 3168 + None, # 3169 + None, # 3170 + None, # 3171 + None, # 3172 + None, # 3173 + None, # 3174 + None, # 3175 + None, # 3176 + None, # 3177 + None, # 3178 + None, # 3179 + None, # 3180 + None, # 3181 + None, # 3182 + None, # 3183 + None, # 3184 + None, # 3185 + None, # 3186 + None, # 3187 + None, # 3188 + None, # 3189 + None, # 3190 + None, # 3191 + None, # 3192 + None, # 3193 + None, # 3194 + None, # 3195 + None, # 3196 + None, # 3197 + None, # 3198 + None, # 3199 + None, # 3200 + None, # 3201 + None, # 3202 + None, # 3203 + None, # 3204 + None, # 3205 + None, # 3206 + None, # 3207 + None, # 3208 + None, # 3209 + None, # 3210 + None, # 3211 + None, # 3212 + None, # 3213 + None, # 3214 + None, # 3215 + None, # 3216 + None, # 3217 + None, # 3218 + None, # 3219 + None, # 3220 + None, # 3221 + None, # 3222 + None, # 3223 + None, # 3224 + None, # 3225 + None, # 3226 + None, # 3227 + None, # 3228 + None, # 3229 + None, # 3230 + None, # 3231 + None, # 3232 + None, # 3233 + None, # 3234 + None, # 3235 + None, # 3236 + None, # 3237 + None, # 3238 + None, # 3239 + None, # 3240 + None, # 3241 + None, # 3242 + None, # 3243 + None, # 3244 + None, # 3245 + None, # 3246 + None, # 3247 + None, # 3248 + None, # 3249 + None, # 3250 + None, # 3251 + None, # 3252 + None, # 3253 + None, # 3254 + None, # 3255 + None, # 3256 + None, # 3257 + None, # 3258 + None, # 3259 + None, # 3260 + None, # 3261 + None, # 3262 + None, # 3263 + None, # 3264 + None, # 3265 + None, # 3266 + None, # 3267 + None, # 3268 + None, # 3269 + None, # 3270 + None, # 3271 + None, # 3272 + None, # 3273 + None, # 3274 + None, # 3275 + None, # 3276 + None, # 3277 + None, # 3278 + None, # 3279 + None, # 3280 + None, # 3281 + None, # 3282 + None, # 3283 + None, # 3284 + None, # 3285 + None, # 3286 + None, # 3287 + None, # 3288 + None, # 3289 + None, # 3290 + None, # 3291 + None, # 3292 + None, # 3293 + None, # 3294 + None, # 3295 + None, # 3296 + None, # 3297 + None, # 3298 + None, # 3299 + None, # 3300 + None, # 3301 + None, # 3302 + None, # 3303 + None, # 3304 + None, # 3305 + None, # 3306 + None, # 3307 + None, # 3308 + None, # 3309 + None, # 3310 + None, # 3311 + None, # 3312 + None, # 3313 + None, # 3314 + None, # 3315 + None, # 3316 + None, # 3317 + None, # 3318 + None, # 3319 + None, # 3320 + None, # 3321 + None, # 3322 + None, # 3323 + None, # 3324 + None, # 3325 + None, # 3326 + None, # 3327 + None, # 3328 + (3329, TType.BOOL, 'executionRejected', None, None, ), # 3329 + (3330, TType.DOUBLE, 'maxClusterCapacity', None, None, ), # 3330 + (3331, TType.DOUBLE, 'queryCost', None, None, ), # 3331 + (3332, TType.STRUCT, 'sessionConf', [TDBSqlSessionConf, None], None, ), # 3332 + (3333, TType.DOUBLE, 'currentClusterLoad', None, None, ), # 3333 + (3334, TType.I32, 'idempotencyType', None, None, ), # 3334 + (3335, TType.BOOL, 'remoteResultCacheEnabled', None, None, ), # 3335 + (3336, TType.BOOL, 'isServerless', None, None, ), # 3336 + (3337, TType.LIST, 'operationHandles', (TType.STRUCT, [TOperationHandle, None], False), None, ), # 3337 ) all_structs.append(TGetTypeInfoReq) TGetTypeInfoReq.thrift_spec = ( - None, # 0 - ( - 1, - TType.STRUCT, - "sessionHandle", - [TSessionHandle, None], - None, - ), # 1 - None, # 2 - None, # 3 - None, # 4 - None, # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - ( - 1281, - TType.STRUCT, - "getDirectResults", - [TSparkGetDirectResults, None], - None, - ), # 1281 - ( - 1282, - TType.BOOL, - "runAsync", - None, - False, - ), # 1282 - None, # 1283 - None, # 1284 - None, # 1285 - None, # 1286 - None, # 1287 - None, # 1288 - None, # 1289 - None, # 1290 - None, # 1291 - None, # 1292 - None, # 1293 - None, # 1294 - None, # 1295 - None, # 1296 - None, # 1297 - None, # 1298 - None, # 1299 - None, # 1300 - None, # 1301 - None, # 1302 - None, # 1303 - None, # 1304 - None, # 1305 - None, # 1306 - None, # 1307 - None, # 1308 - None, # 1309 - None, # 1310 - None, # 1311 - None, # 1312 - None, # 1313 - None, # 1314 - None, # 1315 - None, # 1316 - None, # 1317 - None, # 1318 - None, # 1319 - None, # 1320 - None, # 1321 - None, # 1322 - None, # 1323 - None, # 1324 - None, # 1325 - None, # 1326 - None, # 1327 - None, # 1328 - None, # 1329 - None, # 1330 - None, # 1331 - None, # 1332 - None, # 1333 - None, # 1334 - None, # 1335 - None, # 1336 - None, # 1337 - None, # 1338 - None, # 1339 - None, # 1340 - None, # 1341 - None, # 1342 - None, # 1343 - None, # 1344 - None, # 1345 - None, # 1346 - None, # 1347 - None, # 1348 - None, # 1349 - None, # 1350 - None, # 1351 - None, # 1352 - None, # 1353 - None, # 1354 - None, # 1355 - None, # 1356 - None, # 1357 - None, # 1358 - None, # 1359 - None, # 1360 - None, # 1361 - None, # 1362 - None, # 1363 - None, # 1364 - None, # 1365 - None, # 1366 - None, # 1367 - None, # 1368 - None, # 1369 - None, # 1370 - None, # 1371 - None, # 1372 - None, # 1373 - None, # 1374 - None, # 1375 - None, # 1376 - None, # 1377 - None, # 1378 - None, # 1379 - None, # 1380 - None, # 1381 - None, # 1382 - None, # 1383 - None, # 1384 - None, # 1385 - None, # 1386 - None, # 1387 - None, # 1388 - None, # 1389 - None, # 1390 - None, # 1391 - None, # 1392 - None, # 1393 - None, # 1394 - None, # 1395 - None, # 1396 - None, # 1397 - None, # 1398 - None, # 1399 - None, # 1400 - None, # 1401 - None, # 1402 - None, # 1403 - None, # 1404 - None, # 1405 - None, # 1406 - None, # 1407 - None, # 1408 - None, # 1409 - None, # 1410 - None, # 1411 - None, # 1412 - None, # 1413 - None, # 1414 - None, # 1415 - None, # 1416 - None, # 1417 - None, # 1418 - None, # 1419 - None, # 1420 - None, # 1421 - None, # 1422 - None, # 1423 - None, # 1424 - None, # 1425 - None, # 1426 - None, # 1427 - None, # 1428 - None, # 1429 - None, # 1430 - None, # 1431 - None, # 1432 - None, # 1433 - None, # 1434 - None, # 1435 - None, # 1436 - None, # 1437 - None, # 1438 - None, # 1439 - None, # 1440 - None, # 1441 - None, # 1442 - None, # 1443 - None, # 1444 - None, # 1445 - None, # 1446 - None, # 1447 - None, # 1448 - None, # 1449 - None, # 1450 - None, # 1451 - None, # 1452 - None, # 1453 - None, # 1454 - None, # 1455 - None, # 1456 - None, # 1457 - None, # 1458 - None, # 1459 - None, # 1460 - None, # 1461 - None, # 1462 - None, # 1463 - None, # 1464 - None, # 1465 - None, # 1466 - None, # 1467 - None, # 1468 - None, # 1469 - None, # 1470 - None, # 1471 - None, # 1472 - None, # 1473 - None, # 1474 - None, # 1475 - None, # 1476 - None, # 1477 - None, # 1478 - None, # 1479 - None, # 1480 - None, # 1481 - None, # 1482 - None, # 1483 - None, # 1484 - None, # 1485 - None, # 1486 - None, # 1487 - None, # 1488 - None, # 1489 - None, # 1490 - None, # 1491 - None, # 1492 - None, # 1493 - None, # 1494 - None, # 1495 - None, # 1496 - None, # 1497 - None, # 1498 - None, # 1499 - None, # 1500 - None, # 1501 - None, # 1502 - None, # 1503 - None, # 1504 - None, # 1505 - None, # 1506 - None, # 1507 - None, # 1508 - None, # 1509 - None, # 1510 - None, # 1511 - None, # 1512 - None, # 1513 - None, # 1514 - None, # 1515 - None, # 1516 - None, # 1517 - None, # 1518 - None, # 1519 - None, # 1520 - None, # 1521 - None, # 1522 - None, # 1523 - None, # 1524 - None, # 1525 - None, # 1526 - None, # 1527 - None, # 1528 - None, # 1529 - None, # 1530 - None, # 1531 - None, # 1532 - None, # 1533 - None, # 1534 - None, # 1535 - None, # 1536 - None, # 1537 - None, # 1538 - None, # 1539 - None, # 1540 - None, # 1541 - None, # 1542 - None, # 1543 - None, # 1544 - None, # 1545 - None, # 1546 - None, # 1547 - None, # 1548 - None, # 1549 - None, # 1550 - None, # 1551 - None, # 1552 - None, # 1553 - None, # 1554 - None, # 1555 - None, # 1556 - None, # 1557 - None, # 1558 - None, # 1559 - None, # 1560 - None, # 1561 - None, # 1562 - None, # 1563 - None, # 1564 - None, # 1565 - None, # 1566 - None, # 1567 - None, # 1568 - None, # 1569 - None, # 1570 - None, # 1571 - None, # 1572 - None, # 1573 - None, # 1574 - None, # 1575 - None, # 1576 - None, # 1577 - None, # 1578 - None, # 1579 - None, # 1580 - None, # 1581 - None, # 1582 - None, # 1583 - None, # 1584 - None, # 1585 - None, # 1586 - None, # 1587 - None, # 1588 - None, # 1589 - None, # 1590 - None, # 1591 - None, # 1592 - None, # 1593 - None, # 1594 - None, # 1595 - None, # 1596 - None, # 1597 - None, # 1598 - None, # 1599 - None, # 1600 - None, # 1601 - None, # 1602 - None, # 1603 - None, # 1604 - None, # 1605 - None, # 1606 - None, # 1607 - None, # 1608 - None, # 1609 - None, # 1610 - None, # 1611 - None, # 1612 - None, # 1613 - None, # 1614 - None, # 1615 - None, # 1616 - None, # 1617 - None, # 1618 - None, # 1619 - None, # 1620 - None, # 1621 - None, # 1622 - None, # 1623 - None, # 1624 - None, # 1625 - None, # 1626 - None, # 1627 - None, # 1628 - None, # 1629 - None, # 1630 - None, # 1631 - None, # 1632 - None, # 1633 - None, # 1634 - None, # 1635 - None, # 1636 - None, # 1637 - None, # 1638 - None, # 1639 - None, # 1640 - None, # 1641 - None, # 1642 - None, # 1643 - None, # 1644 - None, # 1645 - None, # 1646 - None, # 1647 - None, # 1648 - None, # 1649 - None, # 1650 - None, # 1651 - None, # 1652 - None, # 1653 - None, # 1654 - None, # 1655 - None, # 1656 - None, # 1657 - None, # 1658 - None, # 1659 - None, # 1660 - None, # 1661 - None, # 1662 - None, # 1663 - None, # 1664 - None, # 1665 - None, # 1666 - None, # 1667 - None, # 1668 - None, # 1669 - None, # 1670 - None, # 1671 - None, # 1672 - None, # 1673 - None, # 1674 - None, # 1675 - None, # 1676 - None, # 1677 - None, # 1678 - None, # 1679 - None, # 1680 - None, # 1681 - None, # 1682 - None, # 1683 - None, # 1684 - None, # 1685 - None, # 1686 - None, # 1687 - None, # 1688 - None, # 1689 - None, # 1690 - None, # 1691 - None, # 1692 - None, # 1693 - None, # 1694 - None, # 1695 - None, # 1696 - None, # 1697 - None, # 1698 - None, # 1699 - None, # 1700 - None, # 1701 - None, # 1702 - None, # 1703 - None, # 1704 - None, # 1705 - None, # 1706 - None, # 1707 - None, # 1708 - None, # 1709 - None, # 1710 - None, # 1711 - None, # 1712 - None, # 1713 - None, # 1714 - None, # 1715 - None, # 1716 - None, # 1717 - None, # 1718 - None, # 1719 - None, # 1720 - None, # 1721 - None, # 1722 - None, # 1723 - None, # 1724 - None, # 1725 - None, # 1726 - None, # 1727 - None, # 1728 - None, # 1729 - None, # 1730 - None, # 1731 - None, # 1732 - None, # 1733 - None, # 1734 - None, # 1735 - None, # 1736 - None, # 1737 - None, # 1738 - None, # 1739 - None, # 1740 - None, # 1741 - None, # 1742 - None, # 1743 - None, # 1744 - None, # 1745 - None, # 1746 - None, # 1747 - None, # 1748 - None, # 1749 - None, # 1750 - None, # 1751 - None, # 1752 - None, # 1753 - None, # 1754 - None, # 1755 - None, # 1756 - None, # 1757 - None, # 1758 - None, # 1759 - None, # 1760 - None, # 1761 - None, # 1762 - None, # 1763 - None, # 1764 - None, # 1765 - None, # 1766 - None, # 1767 - None, # 1768 - None, # 1769 - None, # 1770 - None, # 1771 - None, # 1772 - None, # 1773 - None, # 1774 - None, # 1775 - None, # 1776 - None, # 1777 - None, # 1778 - None, # 1779 - None, # 1780 - None, # 1781 - None, # 1782 - None, # 1783 - None, # 1784 - None, # 1785 - None, # 1786 - None, # 1787 - None, # 1788 - None, # 1789 - None, # 1790 - None, # 1791 - None, # 1792 - None, # 1793 - None, # 1794 - None, # 1795 - None, # 1796 - None, # 1797 - None, # 1798 - None, # 1799 - None, # 1800 - None, # 1801 - None, # 1802 - None, # 1803 - None, # 1804 - None, # 1805 - None, # 1806 - None, # 1807 - None, # 1808 - None, # 1809 - None, # 1810 - None, # 1811 - None, # 1812 - None, # 1813 - None, # 1814 - None, # 1815 - None, # 1816 - None, # 1817 - None, # 1818 - None, # 1819 - None, # 1820 - None, # 1821 - None, # 1822 - None, # 1823 - None, # 1824 - None, # 1825 - None, # 1826 - None, # 1827 - None, # 1828 - None, # 1829 - None, # 1830 - None, # 1831 - None, # 1832 - None, # 1833 - None, # 1834 - None, # 1835 - None, # 1836 - None, # 1837 - None, # 1838 - None, # 1839 - None, # 1840 - None, # 1841 - None, # 1842 - None, # 1843 - None, # 1844 - None, # 1845 - None, # 1846 - None, # 1847 - None, # 1848 - None, # 1849 - None, # 1850 - None, # 1851 - None, # 1852 - None, # 1853 - None, # 1854 - None, # 1855 - None, # 1856 - None, # 1857 - None, # 1858 - None, # 1859 - None, # 1860 - None, # 1861 - None, # 1862 - None, # 1863 - None, # 1864 - None, # 1865 - None, # 1866 - None, # 1867 - None, # 1868 - None, # 1869 - None, # 1870 - None, # 1871 - None, # 1872 - None, # 1873 - None, # 1874 - None, # 1875 - None, # 1876 - None, # 1877 - None, # 1878 - None, # 1879 - None, # 1880 - None, # 1881 - None, # 1882 - None, # 1883 - None, # 1884 - None, # 1885 - None, # 1886 - None, # 1887 - None, # 1888 - None, # 1889 - None, # 1890 - None, # 1891 - None, # 1892 - None, # 1893 - None, # 1894 - None, # 1895 - None, # 1896 - None, # 1897 - None, # 1898 - None, # 1899 - None, # 1900 - None, # 1901 - None, # 1902 - None, # 1903 - None, # 1904 - None, # 1905 - None, # 1906 - None, # 1907 - None, # 1908 - None, # 1909 - None, # 1910 - None, # 1911 - None, # 1912 - None, # 1913 - None, # 1914 - None, # 1915 - None, # 1916 - None, # 1917 - None, # 1918 - None, # 1919 - None, # 1920 - None, # 1921 - None, # 1922 - None, # 1923 - None, # 1924 - None, # 1925 - None, # 1926 - None, # 1927 - None, # 1928 - None, # 1929 - None, # 1930 - None, # 1931 - None, # 1932 - None, # 1933 - None, # 1934 - None, # 1935 - None, # 1936 - None, # 1937 - None, # 1938 - None, # 1939 - None, # 1940 - None, # 1941 - None, # 1942 - None, # 1943 - None, # 1944 - None, # 1945 - None, # 1946 - None, # 1947 - None, # 1948 - None, # 1949 - None, # 1950 - None, # 1951 - None, # 1952 - None, # 1953 - None, # 1954 - None, # 1955 - None, # 1956 - None, # 1957 - None, # 1958 - None, # 1959 - None, # 1960 - None, # 1961 - None, # 1962 - None, # 1963 - None, # 1964 - None, # 1965 - None, # 1966 - None, # 1967 - None, # 1968 - None, # 1969 - None, # 1970 - None, # 1971 - None, # 1972 - None, # 1973 - None, # 1974 - None, # 1975 - None, # 1976 - None, # 1977 - None, # 1978 - None, # 1979 - None, # 1980 - None, # 1981 - None, # 1982 - None, # 1983 - None, # 1984 - None, # 1985 - None, # 1986 - None, # 1987 - None, # 1988 - None, # 1989 - None, # 1990 - None, # 1991 - None, # 1992 - None, # 1993 - None, # 1994 - None, # 1995 - None, # 1996 - None, # 1997 - None, # 1998 - None, # 1999 - None, # 2000 - None, # 2001 - None, # 2002 - None, # 2003 - None, # 2004 - None, # 2005 - None, # 2006 - None, # 2007 - None, # 2008 - None, # 2009 - None, # 2010 - None, # 2011 - None, # 2012 - None, # 2013 - None, # 2014 - None, # 2015 - None, # 2016 - None, # 2017 - None, # 2018 - None, # 2019 - None, # 2020 - None, # 2021 - None, # 2022 - None, # 2023 - None, # 2024 - None, # 2025 - None, # 2026 - None, # 2027 - None, # 2028 - None, # 2029 - None, # 2030 - None, # 2031 - None, # 2032 - None, # 2033 - None, # 2034 - None, # 2035 - None, # 2036 - None, # 2037 - None, # 2038 - None, # 2039 - None, # 2040 - None, # 2041 - None, # 2042 - None, # 2043 - None, # 2044 - None, # 2045 - None, # 2046 - None, # 2047 - None, # 2048 - None, # 2049 - None, # 2050 - None, # 2051 - None, # 2052 - None, # 2053 - None, # 2054 - None, # 2055 - None, # 2056 - None, # 2057 - None, # 2058 - None, # 2059 - None, # 2060 - None, # 2061 - None, # 2062 - None, # 2063 - None, # 2064 - None, # 2065 - None, # 2066 - None, # 2067 - None, # 2068 - None, # 2069 - None, # 2070 - None, # 2071 - None, # 2072 - None, # 2073 - None, # 2074 - None, # 2075 - None, # 2076 - None, # 2077 - None, # 2078 - None, # 2079 - None, # 2080 - None, # 2081 - None, # 2082 - None, # 2083 - None, # 2084 - None, # 2085 - None, # 2086 - None, # 2087 - None, # 2088 - None, # 2089 - None, # 2090 - None, # 2091 - None, # 2092 - None, # 2093 - None, # 2094 - None, # 2095 - None, # 2096 - None, # 2097 - None, # 2098 - None, # 2099 - None, # 2100 - None, # 2101 - None, # 2102 - None, # 2103 - None, # 2104 - None, # 2105 - None, # 2106 - None, # 2107 - None, # 2108 - None, # 2109 - None, # 2110 - None, # 2111 - None, # 2112 - None, # 2113 - None, # 2114 - None, # 2115 - None, # 2116 - None, # 2117 - None, # 2118 - None, # 2119 - None, # 2120 - None, # 2121 - None, # 2122 - None, # 2123 - None, # 2124 - None, # 2125 - None, # 2126 - None, # 2127 - None, # 2128 - None, # 2129 - None, # 2130 - None, # 2131 - None, # 2132 - None, # 2133 - None, # 2134 - None, # 2135 - None, # 2136 - None, # 2137 - None, # 2138 - None, # 2139 - None, # 2140 - None, # 2141 - None, # 2142 - None, # 2143 - None, # 2144 - None, # 2145 - None, # 2146 - None, # 2147 - None, # 2148 - None, # 2149 - None, # 2150 - None, # 2151 - None, # 2152 - None, # 2153 - None, # 2154 - None, # 2155 - None, # 2156 - None, # 2157 - None, # 2158 - None, # 2159 - None, # 2160 - None, # 2161 - None, # 2162 - None, # 2163 - None, # 2164 - None, # 2165 - None, # 2166 - None, # 2167 - None, # 2168 - None, # 2169 - None, # 2170 - None, # 2171 - None, # 2172 - None, # 2173 - None, # 2174 - None, # 2175 - None, # 2176 - None, # 2177 - None, # 2178 - None, # 2179 - None, # 2180 - None, # 2181 - None, # 2182 - None, # 2183 - None, # 2184 - None, # 2185 - None, # 2186 - None, # 2187 - None, # 2188 - None, # 2189 - None, # 2190 - None, # 2191 - None, # 2192 - None, # 2193 - None, # 2194 - None, # 2195 - None, # 2196 - None, # 2197 - None, # 2198 - None, # 2199 - None, # 2200 - None, # 2201 - None, # 2202 - None, # 2203 - None, # 2204 - None, # 2205 - None, # 2206 - None, # 2207 - None, # 2208 - None, # 2209 - None, # 2210 - None, # 2211 - None, # 2212 - None, # 2213 - None, # 2214 - None, # 2215 - None, # 2216 - None, # 2217 - None, # 2218 - None, # 2219 - None, # 2220 - None, # 2221 - None, # 2222 - None, # 2223 - None, # 2224 - None, # 2225 - None, # 2226 - None, # 2227 - None, # 2228 - None, # 2229 - None, # 2230 - None, # 2231 - None, # 2232 - None, # 2233 - None, # 2234 - None, # 2235 - None, # 2236 - None, # 2237 - None, # 2238 - None, # 2239 - None, # 2240 - None, # 2241 - None, # 2242 - None, # 2243 - None, # 2244 - None, # 2245 - None, # 2246 - None, # 2247 - None, # 2248 - None, # 2249 - None, # 2250 - None, # 2251 - None, # 2252 - None, # 2253 - None, # 2254 - None, # 2255 - None, # 2256 - None, # 2257 - None, # 2258 - None, # 2259 - None, # 2260 - None, # 2261 - None, # 2262 - None, # 2263 - None, # 2264 - None, # 2265 - None, # 2266 - None, # 2267 - None, # 2268 - None, # 2269 - None, # 2270 - None, # 2271 - None, # 2272 - None, # 2273 - None, # 2274 - None, # 2275 - None, # 2276 - None, # 2277 - None, # 2278 - None, # 2279 - None, # 2280 - None, # 2281 - None, # 2282 - None, # 2283 - None, # 2284 - None, # 2285 - None, # 2286 - None, # 2287 - None, # 2288 - None, # 2289 - None, # 2290 - None, # 2291 - None, # 2292 - None, # 2293 - None, # 2294 - None, # 2295 - None, # 2296 - None, # 2297 - None, # 2298 - None, # 2299 - None, # 2300 - None, # 2301 - None, # 2302 - None, # 2303 - None, # 2304 - None, # 2305 - None, # 2306 - None, # 2307 - None, # 2308 - None, # 2309 - None, # 2310 - None, # 2311 - None, # 2312 - None, # 2313 - None, # 2314 - None, # 2315 - None, # 2316 - None, # 2317 - None, # 2318 - None, # 2319 - None, # 2320 - None, # 2321 - None, # 2322 - None, # 2323 - None, # 2324 - None, # 2325 - None, # 2326 - None, # 2327 - None, # 2328 - None, # 2329 - None, # 2330 - None, # 2331 - None, # 2332 - None, # 2333 - None, # 2334 - None, # 2335 - None, # 2336 - None, # 2337 - None, # 2338 - None, # 2339 - None, # 2340 - None, # 2341 - None, # 2342 - None, # 2343 - None, # 2344 - None, # 2345 - None, # 2346 - None, # 2347 - None, # 2348 - None, # 2349 - None, # 2350 - None, # 2351 - None, # 2352 - None, # 2353 - None, # 2354 - None, # 2355 - None, # 2356 - None, # 2357 - None, # 2358 - None, # 2359 - None, # 2360 - None, # 2361 - None, # 2362 - None, # 2363 - None, # 2364 - None, # 2365 - None, # 2366 - None, # 2367 - None, # 2368 - None, # 2369 - None, # 2370 - None, # 2371 - None, # 2372 - None, # 2373 - None, # 2374 - None, # 2375 - None, # 2376 - None, # 2377 - None, # 2378 - None, # 2379 - None, # 2380 - None, # 2381 - None, # 2382 - None, # 2383 - None, # 2384 - None, # 2385 - None, # 2386 - None, # 2387 - None, # 2388 - None, # 2389 - None, # 2390 - None, # 2391 - None, # 2392 - None, # 2393 - None, # 2394 - None, # 2395 - None, # 2396 - None, # 2397 - None, # 2398 - None, # 2399 - None, # 2400 - None, # 2401 - None, # 2402 - None, # 2403 - None, # 2404 - None, # 2405 - None, # 2406 - None, # 2407 - None, # 2408 - None, # 2409 - None, # 2410 - None, # 2411 - None, # 2412 - None, # 2413 - None, # 2414 - None, # 2415 - None, # 2416 - None, # 2417 - None, # 2418 - None, # 2419 - None, # 2420 - None, # 2421 - None, # 2422 - None, # 2423 - None, # 2424 - None, # 2425 - None, # 2426 - None, # 2427 - None, # 2428 - None, # 2429 - None, # 2430 - None, # 2431 - None, # 2432 - None, # 2433 - None, # 2434 - None, # 2435 - None, # 2436 - None, # 2437 - None, # 2438 - None, # 2439 - None, # 2440 - None, # 2441 - None, # 2442 - None, # 2443 - None, # 2444 - None, # 2445 - None, # 2446 - None, # 2447 - None, # 2448 - None, # 2449 - None, # 2450 - None, # 2451 - None, # 2452 - None, # 2453 - None, # 2454 - None, # 2455 - None, # 2456 - None, # 2457 - None, # 2458 - None, # 2459 - None, # 2460 - None, # 2461 - None, # 2462 - None, # 2463 - None, # 2464 - None, # 2465 - None, # 2466 - None, # 2467 - None, # 2468 - None, # 2469 - None, # 2470 - None, # 2471 - None, # 2472 - None, # 2473 - None, # 2474 - None, # 2475 - None, # 2476 - None, # 2477 - None, # 2478 - None, # 2479 - None, # 2480 - None, # 2481 - None, # 2482 - None, # 2483 - None, # 2484 - None, # 2485 - None, # 2486 - None, # 2487 - None, # 2488 - None, # 2489 - None, # 2490 - None, # 2491 - None, # 2492 - None, # 2493 - None, # 2494 - None, # 2495 - None, # 2496 - None, # 2497 - None, # 2498 - None, # 2499 - None, # 2500 - None, # 2501 - None, # 2502 - None, # 2503 - None, # 2504 - None, # 2505 - None, # 2506 - None, # 2507 - None, # 2508 - None, # 2509 - None, # 2510 - None, # 2511 - None, # 2512 - None, # 2513 - None, # 2514 - None, # 2515 - None, # 2516 - None, # 2517 - None, # 2518 - None, # 2519 - None, # 2520 - None, # 2521 - None, # 2522 - None, # 2523 - None, # 2524 - None, # 2525 - None, # 2526 - None, # 2527 - None, # 2528 - None, # 2529 - None, # 2530 - None, # 2531 - None, # 2532 - None, # 2533 - None, # 2534 - None, # 2535 - None, # 2536 - None, # 2537 - None, # 2538 - None, # 2539 - None, # 2540 - None, # 2541 - None, # 2542 - None, # 2543 - None, # 2544 - None, # 2545 - None, # 2546 - None, # 2547 - None, # 2548 - None, # 2549 - None, # 2550 - None, # 2551 - None, # 2552 - None, # 2553 - None, # 2554 - None, # 2555 - None, # 2556 - None, # 2557 - None, # 2558 - None, # 2559 - None, # 2560 - None, # 2561 - None, # 2562 - None, # 2563 - None, # 2564 - None, # 2565 - None, # 2566 - None, # 2567 - None, # 2568 - None, # 2569 - None, # 2570 - None, # 2571 - None, # 2572 - None, # 2573 - None, # 2574 - None, # 2575 - None, # 2576 - None, # 2577 - None, # 2578 - None, # 2579 - None, # 2580 - None, # 2581 - None, # 2582 - None, # 2583 - None, # 2584 - None, # 2585 - None, # 2586 - None, # 2587 - None, # 2588 - None, # 2589 - None, # 2590 - None, # 2591 - None, # 2592 - None, # 2593 - None, # 2594 - None, # 2595 - None, # 2596 - None, # 2597 - None, # 2598 - None, # 2599 - None, # 2600 - None, # 2601 - None, # 2602 - None, # 2603 - None, # 2604 - None, # 2605 - None, # 2606 - None, # 2607 - None, # 2608 - None, # 2609 - None, # 2610 - None, # 2611 - None, # 2612 - None, # 2613 - None, # 2614 - None, # 2615 - None, # 2616 - None, # 2617 - None, # 2618 - None, # 2619 - None, # 2620 - None, # 2621 - None, # 2622 - None, # 2623 - None, # 2624 - None, # 2625 - None, # 2626 - None, # 2627 - None, # 2628 - None, # 2629 - None, # 2630 - None, # 2631 - None, # 2632 - None, # 2633 - None, # 2634 - None, # 2635 - None, # 2636 - None, # 2637 - None, # 2638 - None, # 2639 - None, # 2640 - None, # 2641 - None, # 2642 - None, # 2643 - None, # 2644 - None, # 2645 - None, # 2646 - None, # 2647 - None, # 2648 - None, # 2649 - None, # 2650 - None, # 2651 - None, # 2652 - None, # 2653 - None, # 2654 - None, # 2655 - None, # 2656 - None, # 2657 - None, # 2658 - None, # 2659 - None, # 2660 - None, # 2661 - None, # 2662 - None, # 2663 - None, # 2664 - None, # 2665 - None, # 2666 - None, # 2667 - None, # 2668 - None, # 2669 - None, # 2670 - None, # 2671 - None, # 2672 - None, # 2673 - None, # 2674 - None, # 2675 - None, # 2676 - None, # 2677 - None, # 2678 - None, # 2679 - None, # 2680 - None, # 2681 - None, # 2682 - None, # 2683 - None, # 2684 - None, # 2685 - None, # 2686 - None, # 2687 - None, # 2688 - None, # 2689 - None, # 2690 - None, # 2691 - None, # 2692 - None, # 2693 - None, # 2694 - None, # 2695 - None, # 2696 - None, # 2697 - None, # 2698 - None, # 2699 - None, # 2700 - None, # 2701 - None, # 2702 - None, # 2703 - None, # 2704 - None, # 2705 - None, # 2706 - None, # 2707 - None, # 2708 - None, # 2709 - None, # 2710 - None, # 2711 - None, # 2712 - None, # 2713 - None, # 2714 - None, # 2715 - None, # 2716 - None, # 2717 - None, # 2718 - None, # 2719 - None, # 2720 - None, # 2721 - None, # 2722 - None, # 2723 - None, # 2724 - None, # 2725 - None, # 2726 - None, # 2727 - None, # 2728 - None, # 2729 - None, # 2730 - None, # 2731 - None, # 2732 - None, # 2733 - None, # 2734 - None, # 2735 - None, # 2736 - None, # 2737 - None, # 2738 - None, # 2739 - None, # 2740 - None, # 2741 - None, # 2742 - None, # 2743 - None, # 2744 - None, # 2745 - None, # 2746 - None, # 2747 - None, # 2748 - None, # 2749 - None, # 2750 - None, # 2751 - None, # 2752 - None, # 2753 - None, # 2754 - None, # 2755 - None, # 2756 - None, # 2757 - None, # 2758 - None, # 2759 - None, # 2760 - None, # 2761 - None, # 2762 - None, # 2763 - None, # 2764 - None, # 2765 - None, # 2766 - None, # 2767 - None, # 2768 - None, # 2769 - None, # 2770 - None, # 2771 - None, # 2772 - None, # 2773 - None, # 2774 - None, # 2775 - None, # 2776 - None, # 2777 - None, # 2778 - None, # 2779 - None, # 2780 - None, # 2781 - None, # 2782 - None, # 2783 - None, # 2784 - None, # 2785 - None, # 2786 - None, # 2787 - None, # 2788 - None, # 2789 - None, # 2790 - None, # 2791 - None, # 2792 - None, # 2793 - None, # 2794 - None, # 2795 - None, # 2796 - None, # 2797 - None, # 2798 - None, # 2799 - None, # 2800 - None, # 2801 - None, # 2802 - None, # 2803 - None, # 2804 - None, # 2805 - None, # 2806 - None, # 2807 - None, # 2808 - None, # 2809 - None, # 2810 - None, # 2811 - None, # 2812 - None, # 2813 - None, # 2814 - None, # 2815 - None, # 2816 - None, # 2817 - None, # 2818 - None, # 2819 - None, # 2820 - None, # 2821 - None, # 2822 - None, # 2823 - None, # 2824 - None, # 2825 - None, # 2826 - None, # 2827 - None, # 2828 - None, # 2829 - None, # 2830 - None, # 2831 - None, # 2832 - None, # 2833 - None, # 2834 - None, # 2835 - None, # 2836 - None, # 2837 - None, # 2838 - None, # 2839 - None, # 2840 - None, # 2841 - None, # 2842 - None, # 2843 - None, # 2844 - None, # 2845 - None, # 2846 - None, # 2847 - None, # 2848 - None, # 2849 - None, # 2850 - None, # 2851 - None, # 2852 - None, # 2853 - None, # 2854 - None, # 2855 - None, # 2856 - None, # 2857 - None, # 2858 - None, # 2859 - None, # 2860 - None, # 2861 - None, # 2862 - None, # 2863 - None, # 2864 - None, # 2865 - None, # 2866 - None, # 2867 - None, # 2868 - None, # 2869 - None, # 2870 - None, # 2871 - None, # 2872 - None, # 2873 - None, # 2874 - None, # 2875 - None, # 2876 - None, # 2877 - None, # 2878 - None, # 2879 - None, # 2880 - None, # 2881 - None, # 2882 - None, # 2883 - None, # 2884 - None, # 2885 - None, # 2886 - None, # 2887 - None, # 2888 - None, # 2889 - None, # 2890 - None, # 2891 - None, # 2892 - None, # 2893 - None, # 2894 - None, # 2895 - None, # 2896 - None, # 2897 - None, # 2898 - None, # 2899 - None, # 2900 - None, # 2901 - None, # 2902 - None, # 2903 - None, # 2904 - None, # 2905 - None, # 2906 - None, # 2907 - None, # 2908 - None, # 2909 - None, # 2910 - None, # 2911 - None, # 2912 - None, # 2913 - None, # 2914 - None, # 2915 - None, # 2916 - None, # 2917 - None, # 2918 - None, # 2919 - None, # 2920 - None, # 2921 - None, # 2922 - None, # 2923 - None, # 2924 - None, # 2925 - None, # 2926 - None, # 2927 - None, # 2928 - None, # 2929 - None, # 2930 - None, # 2931 - None, # 2932 - None, # 2933 - None, # 2934 - None, # 2935 - None, # 2936 - None, # 2937 - None, # 2938 - None, # 2939 - None, # 2940 - None, # 2941 - None, # 2942 - None, # 2943 - None, # 2944 - None, # 2945 - None, # 2946 - None, # 2947 - None, # 2948 - None, # 2949 - None, # 2950 - None, # 2951 - None, # 2952 - None, # 2953 - None, # 2954 - None, # 2955 - None, # 2956 - None, # 2957 - None, # 2958 - None, # 2959 - None, # 2960 - None, # 2961 - None, # 2962 - None, # 2963 - None, # 2964 - None, # 2965 - None, # 2966 - None, # 2967 - None, # 2968 - None, # 2969 - None, # 2970 - None, # 2971 - None, # 2972 - None, # 2973 - None, # 2974 - None, # 2975 - None, # 2976 - None, # 2977 - None, # 2978 - None, # 2979 - None, # 2980 - None, # 2981 - None, # 2982 - None, # 2983 - None, # 2984 - None, # 2985 - None, # 2986 - None, # 2987 - None, # 2988 - None, # 2989 - None, # 2990 - None, # 2991 - None, # 2992 - None, # 2993 - None, # 2994 - None, # 2995 - None, # 2996 - None, # 2997 - None, # 2998 - None, # 2999 - None, # 3000 - None, # 3001 - None, # 3002 - None, # 3003 - None, # 3004 - None, # 3005 - None, # 3006 - None, # 3007 - None, # 3008 - None, # 3009 - None, # 3010 - None, # 3011 - None, # 3012 - None, # 3013 - None, # 3014 - None, # 3015 - None, # 3016 - None, # 3017 - None, # 3018 - None, # 3019 - None, # 3020 - None, # 3021 - None, # 3022 - None, # 3023 - None, # 3024 - None, # 3025 - None, # 3026 - None, # 3027 - None, # 3028 - None, # 3029 - None, # 3030 - None, # 3031 - None, # 3032 - None, # 3033 - None, # 3034 - None, # 3035 - None, # 3036 - None, # 3037 - None, # 3038 - None, # 3039 - None, # 3040 - None, # 3041 - None, # 3042 - None, # 3043 - None, # 3044 - None, # 3045 - None, # 3046 - None, # 3047 - None, # 3048 - None, # 3049 - None, # 3050 - None, # 3051 - None, # 3052 - None, # 3053 - None, # 3054 - None, # 3055 - None, # 3056 - None, # 3057 - None, # 3058 - None, # 3059 - None, # 3060 - None, # 3061 - None, # 3062 - None, # 3063 - None, # 3064 - None, # 3065 - None, # 3066 - None, # 3067 - None, # 3068 - None, # 3069 - None, # 3070 - None, # 3071 - None, # 3072 - None, # 3073 - None, # 3074 - None, # 3075 - None, # 3076 - None, # 3077 - None, # 3078 - None, # 3079 - None, # 3080 - None, # 3081 - None, # 3082 - None, # 3083 - None, # 3084 - None, # 3085 - None, # 3086 - None, # 3087 - None, # 3088 - None, # 3089 - None, # 3090 - None, # 3091 - None, # 3092 - None, # 3093 - None, # 3094 - None, # 3095 - None, # 3096 - None, # 3097 - None, # 3098 - None, # 3099 - None, # 3100 - None, # 3101 - None, # 3102 - None, # 3103 - None, # 3104 - None, # 3105 - None, # 3106 - None, # 3107 - None, # 3108 - None, # 3109 - None, # 3110 - None, # 3111 - None, # 3112 - None, # 3113 - None, # 3114 - None, # 3115 - None, # 3116 - None, # 3117 - None, # 3118 - None, # 3119 - None, # 3120 - None, # 3121 - None, # 3122 - None, # 3123 - None, # 3124 - None, # 3125 - None, # 3126 - None, # 3127 - None, # 3128 - None, # 3129 - None, # 3130 - None, # 3131 - None, # 3132 - None, # 3133 - None, # 3134 - None, # 3135 - None, # 3136 - None, # 3137 - None, # 3138 - None, # 3139 - None, # 3140 - None, # 3141 - None, # 3142 - None, # 3143 - None, # 3144 - None, # 3145 - None, # 3146 - None, # 3147 - None, # 3148 - None, # 3149 - None, # 3150 - None, # 3151 - None, # 3152 - None, # 3153 - None, # 3154 - None, # 3155 - None, # 3156 - None, # 3157 - None, # 3158 - None, # 3159 - None, # 3160 - None, # 3161 - None, # 3162 - None, # 3163 - None, # 3164 - None, # 3165 - None, # 3166 - None, # 3167 - None, # 3168 - None, # 3169 - None, # 3170 - None, # 3171 - None, # 3172 - None, # 3173 - None, # 3174 - None, # 3175 - None, # 3176 - None, # 3177 - None, # 3178 - None, # 3179 - None, # 3180 - None, # 3181 - None, # 3182 - None, # 3183 - None, # 3184 - None, # 3185 - None, # 3186 - None, # 3187 - None, # 3188 - None, # 3189 - None, # 3190 - None, # 3191 - None, # 3192 - None, # 3193 - None, # 3194 - None, # 3195 - None, # 3196 - None, # 3197 - None, # 3198 - None, # 3199 - None, # 3200 - None, # 3201 - None, # 3202 - None, # 3203 - None, # 3204 - None, # 3205 - None, # 3206 - None, # 3207 - None, # 3208 - None, # 3209 - None, # 3210 - None, # 3211 - None, # 3212 - None, # 3213 - None, # 3214 - None, # 3215 - None, # 3216 - None, # 3217 - None, # 3218 - None, # 3219 - None, # 3220 - None, # 3221 - None, # 3222 - None, # 3223 - None, # 3224 - None, # 3225 - None, # 3226 - None, # 3227 - None, # 3228 - None, # 3229 - None, # 3230 - None, # 3231 - None, # 3232 - None, # 3233 - None, # 3234 - None, # 3235 - None, # 3236 - None, # 3237 - None, # 3238 - None, # 3239 - None, # 3240 - None, # 3241 - None, # 3242 - None, # 3243 - None, # 3244 - None, # 3245 - None, # 3246 - None, # 3247 - None, # 3248 - None, # 3249 - None, # 3250 - None, # 3251 - None, # 3252 - None, # 3253 - None, # 3254 - None, # 3255 - None, # 3256 - None, # 3257 - None, # 3258 - None, # 3259 - None, # 3260 - None, # 3261 - None, # 3262 - None, # 3263 - None, # 3264 - None, # 3265 - None, # 3266 - None, # 3267 - None, # 3268 - None, # 3269 - None, # 3270 - None, # 3271 - None, # 3272 - None, # 3273 - None, # 3274 - None, # 3275 - None, # 3276 - None, # 3277 - None, # 3278 - None, # 3279 - None, # 3280 - None, # 3281 - None, # 3282 - None, # 3283 - None, # 3284 - None, # 3285 - None, # 3286 - None, # 3287 - None, # 3288 - None, # 3289 - None, # 3290 - None, # 3291 - None, # 3292 - None, # 3293 - None, # 3294 - None, # 3295 - None, # 3296 - None, # 3297 - None, # 3298 - None, # 3299 - None, # 3300 - None, # 3301 - None, # 3302 - None, # 3303 - None, # 3304 - None, # 3305 - None, # 3306 - None, # 3307 - None, # 3308 - None, # 3309 - None, # 3310 - None, # 3311 - None, # 3312 - None, # 3313 - None, # 3314 - None, # 3315 - None, # 3316 - None, # 3317 - None, # 3318 - None, # 3319 - None, # 3320 - None, # 3321 - None, # 3322 - None, # 3323 - None, # 3324 - None, # 3325 - None, # 3326 - None, # 3327 - None, # 3328 - ( - 3329, - TType.STRUCT, - "operationId", - [THandleIdentifier, None], - None, - ), # 3329 - ( - 3330, - TType.STRUCT, - "sessionConf", - [TDBSqlSessionConf, None], - None, - ), # 3330 + None, # 0 + (1, TType.STRUCT, 'sessionHandle', [TSessionHandle, None], None, ), # 1 + None, # 2 + None, # 3 + None, # 4 + None, # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + (1281, TType.STRUCT, 'getDirectResults', [TSparkGetDirectResults, None], None, ), # 1281 + (1282, TType.BOOL, 'runAsync', None, False, ), # 1282 + None, # 1283 + None, # 1284 + None, # 1285 + None, # 1286 + None, # 1287 + None, # 1288 + None, # 1289 + None, # 1290 + None, # 1291 + None, # 1292 + None, # 1293 + None, # 1294 + None, # 1295 + None, # 1296 + None, # 1297 + None, # 1298 + None, # 1299 + None, # 1300 + None, # 1301 + None, # 1302 + None, # 1303 + None, # 1304 + None, # 1305 + None, # 1306 + None, # 1307 + None, # 1308 + None, # 1309 + None, # 1310 + None, # 1311 + None, # 1312 + None, # 1313 + None, # 1314 + None, # 1315 + None, # 1316 + None, # 1317 + None, # 1318 + None, # 1319 + None, # 1320 + None, # 1321 + None, # 1322 + None, # 1323 + None, # 1324 + None, # 1325 + None, # 1326 + None, # 1327 + None, # 1328 + None, # 1329 + None, # 1330 + None, # 1331 + None, # 1332 + None, # 1333 + None, # 1334 + None, # 1335 + None, # 1336 + None, # 1337 + None, # 1338 + None, # 1339 + None, # 1340 + None, # 1341 + None, # 1342 + None, # 1343 + None, # 1344 + None, # 1345 + None, # 1346 + None, # 1347 + None, # 1348 + None, # 1349 + None, # 1350 + None, # 1351 + None, # 1352 + None, # 1353 + None, # 1354 + None, # 1355 + None, # 1356 + None, # 1357 + None, # 1358 + None, # 1359 + None, # 1360 + None, # 1361 + None, # 1362 + None, # 1363 + None, # 1364 + None, # 1365 + None, # 1366 + None, # 1367 + None, # 1368 + None, # 1369 + None, # 1370 + None, # 1371 + None, # 1372 + None, # 1373 + None, # 1374 + None, # 1375 + None, # 1376 + None, # 1377 + None, # 1378 + None, # 1379 + None, # 1380 + None, # 1381 + None, # 1382 + None, # 1383 + None, # 1384 + None, # 1385 + None, # 1386 + None, # 1387 + None, # 1388 + None, # 1389 + None, # 1390 + None, # 1391 + None, # 1392 + None, # 1393 + None, # 1394 + None, # 1395 + None, # 1396 + None, # 1397 + None, # 1398 + None, # 1399 + None, # 1400 + None, # 1401 + None, # 1402 + None, # 1403 + None, # 1404 + None, # 1405 + None, # 1406 + None, # 1407 + None, # 1408 + None, # 1409 + None, # 1410 + None, # 1411 + None, # 1412 + None, # 1413 + None, # 1414 + None, # 1415 + None, # 1416 + None, # 1417 + None, # 1418 + None, # 1419 + None, # 1420 + None, # 1421 + None, # 1422 + None, # 1423 + None, # 1424 + None, # 1425 + None, # 1426 + None, # 1427 + None, # 1428 + None, # 1429 + None, # 1430 + None, # 1431 + None, # 1432 + None, # 1433 + None, # 1434 + None, # 1435 + None, # 1436 + None, # 1437 + None, # 1438 + None, # 1439 + None, # 1440 + None, # 1441 + None, # 1442 + None, # 1443 + None, # 1444 + None, # 1445 + None, # 1446 + None, # 1447 + None, # 1448 + None, # 1449 + None, # 1450 + None, # 1451 + None, # 1452 + None, # 1453 + None, # 1454 + None, # 1455 + None, # 1456 + None, # 1457 + None, # 1458 + None, # 1459 + None, # 1460 + None, # 1461 + None, # 1462 + None, # 1463 + None, # 1464 + None, # 1465 + None, # 1466 + None, # 1467 + None, # 1468 + None, # 1469 + None, # 1470 + None, # 1471 + None, # 1472 + None, # 1473 + None, # 1474 + None, # 1475 + None, # 1476 + None, # 1477 + None, # 1478 + None, # 1479 + None, # 1480 + None, # 1481 + None, # 1482 + None, # 1483 + None, # 1484 + None, # 1485 + None, # 1486 + None, # 1487 + None, # 1488 + None, # 1489 + None, # 1490 + None, # 1491 + None, # 1492 + None, # 1493 + None, # 1494 + None, # 1495 + None, # 1496 + None, # 1497 + None, # 1498 + None, # 1499 + None, # 1500 + None, # 1501 + None, # 1502 + None, # 1503 + None, # 1504 + None, # 1505 + None, # 1506 + None, # 1507 + None, # 1508 + None, # 1509 + None, # 1510 + None, # 1511 + None, # 1512 + None, # 1513 + None, # 1514 + None, # 1515 + None, # 1516 + None, # 1517 + None, # 1518 + None, # 1519 + None, # 1520 + None, # 1521 + None, # 1522 + None, # 1523 + None, # 1524 + None, # 1525 + None, # 1526 + None, # 1527 + None, # 1528 + None, # 1529 + None, # 1530 + None, # 1531 + None, # 1532 + None, # 1533 + None, # 1534 + None, # 1535 + None, # 1536 + None, # 1537 + None, # 1538 + None, # 1539 + None, # 1540 + None, # 1541 + None, # 1542 + None, # 1543 + None, # 1544 + None, # 1545 + None, # 1546 + None, # 1547 + None, # 1548 + None, # 1549 + None, # 1550 + None, # 1551 + None, # 1552 + None, # 1553 + None, # 1554 + None, # 1555 + None, # 1556 + None, # 1557 + None, # 1558 + None, # 1559 + None, # 1560 + None, # 1561 + None, # 1562 + None, # 1563 + None, # 1564 + None, # 1565 + None, # 1566 + None, # 1567 + None, # 1568 + None, # 1569 + None, # 1570 + None, # 1571 + None, # 1572 + None, # 1573 + None, # 1574 + None, # 1575 + None, # 1576 + None, # 1577 + None, # 1578 + None, # 1579 + None, # 1580 + None, # 1581 + None, # 1582 + None, # 1583 + None, # 1584 + None, # 1585 + None, # 1586 + None, # 1587 + None, # 1588 + None, # 1589 + None, # 1590 + None, # 1591 + None, # 1592 + None, # 1593 + None, # 1594 + None, # 1595 + None, # 1596 + None, # 1597 + None, # 1598 + None, # 1599 + None, # 1600 + None, # 1601 + None, # 1602 + None, # 1603 + None, # 1604 + None, # 1605 + None, # 1606 + None, # 1607 + None, # 1608 + None, # 1609 + None, # 1610 + None, # 1611 + None, # 1612 + None, # 1613 + None, # 1614 + None, # 1615 + None, # 1616 + None, # 1617 + None, # 1618 + None, # 1619 + None, # 1620 + None, # 1621 + None, # 1622 + None, # 1623 + None, # 1624 + None, # 1625 + None, # 1626 + None, # 1627 + None, # 1628 + None, # 1629 + None, # 1630 + None, # 1631 + None, # 1632 + None, # 1633 + None, # 1634 + None, # 1635 + None, # 1636 + None, # 1637 + None, # 1638 + None, # 1639 + None, # 1640 + None, # 1641 + None, # 1642 + None, # 1643 + None, # 1644 + None, # 1645 + None, # 1646 + None, # 1647 + None, # 1648 + None, # 1649 + None, # 1650 + None, # 1651 + None, # 1652 + None, # 1653 + None, # 1654 + None, # 1655 + None, # 1656 + None, # 1657 + None, # 1658 + None, # 1659 + None, # 1660 + None, # 1661 + None, # 1662 + None, # 1663 + None, # 1664 + None, # 1665 + None, # 1666 + None, # 1667 + None, # 1668 + None, # 1669 + None, # 1670 + None, # 1671 + None, # 1672 + None, # 1673 + None, # 1674 + None, # 1675 + None, # 1676 + None, # 1677 + None, # 1678 + None, # 1679 + None, # 1680 + None, # 1681 + None, # 1682 + None, # 1683 + None, # 1684 + None, # 1685 + None, # 1686 + None, # 1687 + None, # 1688 + None, # 1689 + None, # 1690 + None, # 1691 + None, # 1692 + None, # 1693 + None, # 1694 + None, # 1695 + None, # 1696 + None, # 1697 + None, # 1698 + None, # 1699 + None, # 1700 + None, # 1701 + None, # 1702 + None, # 1703 + None, # 1704 + None, # 1705 + None, # 1706 + None, # 1707 + None, # 1708 + None, # 1709 + None, # 1710 + None, # 1711 + None, # 1712 + None, # 1713 + None, # 1714 + None, # 1715 + None, # 1716 + None, # 1717 + None, # 1718 + None, # 1719 + None, # 1720 + None, # 1721 + None, # 1722 + None, # 1723 + None, # 1724 + None, # 1725 + None, # 1726 + None, # 1727 + None, # 1728 + None, # 1729 + None, # 1730 + None, # 1731 + None, # 1732 + None, # 1733 + None, # 1734 + None, # 1735 + None, # 1736 + None, # 1737 + None, # 1738 + None, # 1739 + None, # 1740 + None, # 1741 + None, # 1742 + None, # 1743 + None, # 1744 + None, # 1745 + None, # 1746 + None, # 1747 + None, # 1748 + None, # 1749 + None, # 1750 + None, # 1751 + None, # 1752 + None, # 1753 + None, # 1754 + None, # 1755 + None, # 1756 + None, # 1757 + None, # 1758 + None, # 1759 + None, # 1760 + None, # 1761 + None, # 1762 + None, # 1763 + None, # 1764 + None, # 1765 + None, # 1766 + None, # 1767 + None, # 1768 + None, # 1769 + None, # 1770 + None, # 1771 + None, # 1772 + None, # 1773 + None, # 1774 + None, # 1775 + None, # 1776 + None, # 1777 + None, # 1778 + None, # 1779 + None, # 1780 + None, # 1781 + None, # 1782 + None, # 1783 + None, # 1784 + None, # 1785 + None, # 1786 + None, # 1787 + None, # 1788 + None, # 1789 + None, # 1790 + None, # 1791 + None, # 1792 + None, # 1793 + None, # 1794 + None, # 1795 + None, # 1796 + None, # 1797 + None, # 1798 + None, # 1799 + None, # 1800 + None, # 1801 + None, # 1802 + None, # 1803 + None, # 1804 + None, # 1805 + None, # 1806 + None, # 1807 + None, # 1808 + None, # 1809 + None, # 1810 + None, # 1811 + None, # 1812 + None, # 1813 + None, # 1814 + None, # 1815 + None, # 1816 + None, # 1817 + None, # 1818 + None, # 1819 + None, # 1820 + None, # 1821 + None, # 1822 + None, # 1823 + None, # 1824 + None, # 1825 + None, # 1826 + None, # 1827 + None, # 1828 + None, # 1829 + None, # 1830 + None, # 1831 + None, # 1832 + None, # 1833 + None, # 1834 + None, # 1835 + None, # 1836 + None, # 1837 + None, # 1838 + None, # 1839 + None, # 1840 + None, # 1841 + None, # 1842 + None, # 1843 + None, # 1844 + None, # 1845 + None, # 1846 + None, # 1847 + None, # 1848 + None, # 1849 + None, # 1850 + None, # 1851 + None, # 1852 + None, # 1853 + None, # 1854 + None, # 1855 + None, # 1856 + None, # 1857 + None, # 1858 + None, # 1859 + None, # 1860 + None, # 1861 + None, # 1862 + None, # 1863 + None, # 1864 + None, # 1865 + None, # 1866 + None, # 1867 + None, # 1868 + None, # 1869 + None, # 1870 + None, # 1871 + None, # 1872 + None, # 1873 + None, # 1874 + None, # 1875 + None, # 1876 + None, # 1877 + None, # 1878 + None, # 1879 + None, # 1880 + None, # 1881 + None, # 1882 + None, # 1883 + None, # 1884 + None, # 1885 + None, # 1886 + None, # 1887 + None, # 1888 + None, # 1889 + None, # 1890 + None, # 1891 + None, # 1892 + None, # 1893 + None, # 1894 + None, # 1895 + None, # 1896 + None, # 1897 + None, # 1898 + None, # 1899 + None, # 1900 + None, # 1901 + None, # 1902 + None, # 1903 + None, # 1904 + None, # 1905 + None, # 1906 + None, # 1907 + None, # 1908 + None, # 1909 + None, # 1910 + None, # 1911 + None, # 1912 + None, # 1913 + None, # 1914 + None, # 1915 + None, # 1916 + None, # 1917 + None, # 1918 + None, # 1919 + None, # 1920 + None, # 1921 + None, # 1922 + None, # 1923 + None, # 1924 + None, # 1925 + None, # 1926 + None, # 1927 + None, # 1928 + None, # 1929 + None, # 1930 + None, # 1931 + None, # 1932 + None, # 1933 + None, # 1934 + None, # 1935 + None, # 1936 + None, # 1937 + None, # 1938 + None, # 1939 + None, # 1940 + None, # 1941 + None, # 1942 + None, # 1943 + None, # 1944 + None, # 1945 + None, # 1946 + None, # 1947 + None, # 1948 + None, # 1949 + None, # 1950 + None, # 1951 + None, # 1952 + None, # 1953 + None, # 1954 + None, # 1955 + None, # 1956 + None, # 1957 + None, # 1958 + None, # 1959 + None, # 1960 + None, # 1961 + None, # 1962 + None, # 1963 + None, # 1964 + None, # 1965 + None, # 1966 + None, # 1967 + None, # 1968 + None, # 1969 + None, # 1970 + None, # 1971 + None, # 1972 + None, # 1973 + None, # 1974 + None, # 1975 + None, # 1976 + None, # 1977 + None, # 1978 + None, # 1979 + None, # 1980 + None, # 1981 + None, # 1982 + None, # 1983 + None, # 1984 + None, # 1985 + None, # 1986 + None, # 1987 + None, # 1988 + None, # 1989 + None, # 1990 + None, # 1991 + None, # 1992 + None, # 1993 + None, # 1994 + None, # 1995 + None, # 1996 + None, # 1997 + None, # 1998 + None, # 1999 + None, # 2000 + None, # 2001 + None, # 2002 + None, # 2003 + None, # 2004 + None, # 2005 + None, # 2006 + None, # 2007 + None, # 2008 + None, # 2009 + None, # 2010 + None, # 2011 + None, # 2012 + None, # 2013 + None, # 2014 + None, # 2015 + None, # 2016 + None, # 2017 + None, # 2018 + None, # 2019 + None, # 2020 + None, # 2021 + None, # 2022 + None, # 2023 + None, # 2024 + None, # 2025 + None, # 2026 + None, # 2027 + None, # 2028 + None, # 2029 + None, # 2030 + None, # 2031 + None, # 2032 + None, # 2033 + None, # 2034 + None, # 2035 + None, # 2036 + None, # 2037 + None, # 2038 + None, # 2039 + None, # 2040 + None, # 2041 + None, # 2042 + None, # 2043 + None, # 2044 + None, # 2045 + None, # 2046 + None, # 2047 + None, # 2048 + None, # 2049 + None, # 2050 + None, # 2051 + None, # 2052 + None, # 2053 + None, # 2054 + None, # 2055 + None, # 2056 + None, # 2057 + None, # 2058 + None, # 2059 + None, # 2060 + None, # 2061 + None, # 2062 + None, # 2063 + None, # 2064 + None, # 2065 + None, # 2066 + None, # 2067 + None, # 2068 + None, # 2069 + None, # 2070 + None, # 2071 + None, # 2072 + None, # 2073 + None, # 2074 + None, # 2075 + None, # 2076 + None, # 2077 + None, # 2078 + None, # 2079 + None, # 2080 + None, # 2081 + None, # 2082 + None, # 2083 + None, # 2084 + None, # 2085 + None, # 2086 + None, # 2087 + None, # 2088 + None, # 2089 + None, # 2090 + None, # 2091 + None, # 2092 + None, # 2093 + None, # 2094 + None, # 2095 + None, # 2096 + None, # 2097 + None, # 2098 + None, # 2099 + None, # 2100 + None, # 2101 + None, # 2102 + None, # 2103 + None, # 2104 + None, # 2105 + None, # 2106 + None, # 2107 + None, # 2108 + None, # 2109 + None, # 2110 + None, # 2111 + None, # 2112 + None, # 2113 + None, # 2114 + None, # 2115 + None, # 2116 + None, # 2117 + None, # 2118 + None, # 2119 + None, # 2120 + None, # 2121 + None, # 2122 + None, # 2123 + None, # 2124 + None, # 2125 + None, # 2126 + None, # 2127 + None, # 2128 + None, # 2129 + None, # 2130 + None, # 2131 + None, # 2132 + None, # 2133 + None, # 2134 + None, # 2135 + None, # 2136 + None, # 2137 + None, # 2138 + None, # 2139 + None, # 2140 + None, # 2141 + None, # 2142 + None, # 2143 + None, # 2144 + None, # 2145 + None, # 2146 + None, # 2147 + None, # 2148 + None, # 2149 + None, # 2150 + None, # 2151 + None, # 2152 + None, # 2153 + None, # 2154 + None, # 2155 + None, # 2156 + None, # 2157 + None, # 2158 + None, # 2159 + None, # 2160 + None, # 2161 + None, # 2162 + None, # 2163 + None, # 2164 + None, # 2165 + None, # 2166 + None, # 2167 + None, # 2168 + None, # 2169 + None, # 2170 + None, # 2171 + None, # 2172 + None, # 2173 + None, # 2174 + None, # 2175 + None, # 2176 + None, # 2177 + None, # 2178 + None, # 2179 + None, # 2180 + None, # 2181 + None, # 2182 + None, # 2183 + None, # 2184 + None, # 2185 + None, # 2186 + None, # 2187 + None, # 2188 + None, # 2189 + None, # 2190 + None, # 2191 + None, # 2192 + None, # 2193 + None, # 2194 + None, # 2195 + None, # 2196 + None, # 2197 + None, # 2198 + None, # 2199 + None, # 2200 + None, # 2201 + None, # 2202 + None, # 2203 + None, # 2204 + None, # 2205 + None, # 2206 + None, # 2207 + None, # 2208 + None, # 2209 + None, # 2210 + None, # 2211 + None, # 2212 + None, # 2213 + None, # 2214 + None, # 2215 + None, # 2216 + None, # 2217 + None, # 2218 + None, # 2219 + None, # 2220 + None, # 2221 + None, # 2222 + None, # 2223 + None, # 2224 + None, # 2225 + None, # 2226 + None, # 2227 + None, # 2228 + None, # 2229 + None, # 2230 + None, # 2231 + None, # 2232 + None, # 2233 + None, # 2234 + None, # 2235 + None, # 2236 + None, # 2237 + None, # 2238 + None, # 2239 + None, # 2240 + None, # 2241 + None, # 2242 + None, # 2243 + None, # 2244 + None, # 2245 + None, # 2246 + None, # 2247 + None, # 2248 + None, # 2249 + None, # 2250 + None, # 2251 + None, # 2252 + None, # 2253 + None, # 2254 + None, # 2255 + None, # 2256 + None, # 2257 + None, # 2258 + None, # 2259 + None, # 2260 + None, # 2261 + None, # 2262 + None, # 2263 + None, # 2264 + None, # 2265 + None, # 2266 + None, # 2267 + None, # 2268 + None, # 2269 + None, # 2270 + None, # 2271 + None, # 2272 + None, # 2273 + None, # 2274 + None, # 2275 + None, # 2276 + None, # 2277 + None, # 2278 + None, # 2279 + None, # 2280 + None, # 2281 + None, # 2282 + None, # 2283 + None, # 2284 + None, # 2285 + None, # 2286 + None, # 2287 + None, # 2288 + None, # 2289 + None, # 2290 + None, # 2291 + None, # 2292 + None, # 2293 + None, # 2294 + None, # 2295 + None, # 2296 + None, # 2297 + None, # 2298 + None, # 2299 + None, # 2300 + None, # 2301 + None, # 2302 + None, # 2303 + None, # 2304 + None, # 2305 + None, # 2306 + None, # 2307 + None, # 2308 + None, # 2309 + None, # 2310 + None, # 2311 + None, # 2312 + None, # 2313 + None, # 2314 + None, # 2315 + None, # 2316 + None, # 2317 + None, # 2318 + None, # 2319 + None, # 2320 + None, # 2321 + None, # 2322 + None, # 2323 + None, # 2324 + None, # 2325 + None, # 2326 + None, # 2327 + None, # 2328 + None, # 2329 + None, # 2330 + None, # 2331 + None, # 2332 + None, # 2333 + None, # 2334 + None, # 2335 + None, # 2336 + None, # 2337 + None, # 2338 + None, # 2339 + None, # 2340 + None, # 2341 + None, # 2342 + None, # 2343 + None, # 2344 + None, # 2345 + None, # 2346 + None, # 2347 + None, # 2348 + None, # 2349 + None, # 2350 + None, # 2351 + None, # 2352 + None, # 2353 + None, # 2354 + None, # 2355 + None, # 2356 + None, # 2357 + None, # 2358 + None, # 2359 + None, # 2360 + None, # 2361 + None, # 2362 + None, # 2363 + None, # 2364 + None, # 2365 + None, # 2366 + None, # 2367 + None, # 2368 + None, # 2369 + None, # 2370 + None, # 2371 + None, # 2372 + None, # 2373 + None, # 2374 + None, # 2375 + None, # 2376 + None, # 2377 + None, # 2378 + None, # 2379 + None, # 2380 + None, # 2381 + None, # 2382 + None, # 2383 + None, # 2384 + None, # 2385 + None, # 2386 + None, # 2387 + None, # 2388 + None, # 2389 + None, # 2390 + None, # 2391 + None, # 2392 + None, # 2393 + None, # 2394 + None, # 2395 + None, # 2396 + None, # 2397 + None, # 2398 + None, # 2399 + None, # 2400 + None, # 2401 + None, # 2402 + None, # 2403 + None, # 2404 + None, # 2405 + None, # 2406 + None, # 2407 + None, # 2408 + None, # 2409 + None, # 2410 + None, # 2411 + None, # 2412 + None, # 2413 + None, # 2414 + None, # 2415 + None, # 2416 + None, # 2417 + None, # 2418 + None, # 2419 + None, # 2420 + None, # 2421 + None, # 2422 + None, # 2423 + None, # 2424 + None, # 2425 + None, # 2426 + None, # 2427 + None, # 2428 + None, # 2429 + None, # 2430 + None, # 2431 + None, # 2432 + None, # 2433 + None, # 2434 + None, # 2435 + None, # 2436 + None, # 2437 + None, # 2438 + None, # 2439 + None, # 2440 + None, # 2441 + None, # 2442 + None, # 2443 + None, # 2444 + None, # 2445 + None, # 2446 + None, # 2447 + None, # 2448 + None, # 2449 + None, # 2450 + None, # 2451 + None, # 2452 + None, # 2453 + None, # 2454 + None, # 2455 + None, # 2456 + None, # 2457 + None, # 2458 + None, # 2459 + None, # 2460 + None, # 2461 + None, # 2462 + None, # 2463 + None, # 2464 + None, # 2465 + None, # 2466 + None, # 2467 + None, # 2468 + None, # 2469 + None, # 2470 + None, # 2471 + None, # 2472 + None, # 2473 + None, # 2474 + None, # 2475 + None, # 2476 + None, # 2477 + None, # 2478 + None, # 2479 + None, # 2480 + None, # 2481 + None, # 2482 + None, # 2483 + None, # 2484 + None, # 2485 + None, # 2486 + None, # 2487 + None, # 2488 + None, # 2489 + None, # 2490 + None, # 2491 + None, # 2492 + None, # 2493 + None, # 2494 + None, # 2495 + None, # 2496 + None, # 2497 + None, # 2498 + None, # 2499 + None, # 2500 + None, # 2501 + None, # 2502 + None, # 2503 + None, # 2504 + None, # 2505 + None, # 2506 + None, # 2507 + None, # 2508 + None, # 2509 + None, # 2510 + None, # 2511 + None, # 2512 + None, # 2513 + None, # 2514 + None, # 2515 + None, # 2516 + None, # 2517 + None, # 2518 + None, # 2519 + None, # 2520 + None, # 2521 + None, # 2522 + None, # 2523 + None, # 2524 + None, # 2525 + None, # 2526 + None, # 2527 + None, # 2528 + None, # 2529 + None, # 2530 + None, # 2531 + None, # 2532 + None, # 2533 + None, # 2534 + None, # 2535 + None, # 2536 + None, # 2537 + None, # 2538 + None, # 2539 + None, # 2540 + None, # 2541 + None, # 2542 + None, # 2543 + None, # 2544 + None, # 2545 + None, # 2546 + None, # 2547 + None, # 2548 + None, # 2549 + None, # 2550 + None, # 2551 + None, # 2552 + None, # 2553 + None, # 2554 + None, # 2555 + None, # 2556 + None, # 2557 + None, # 2558 + None, # 2559 + None, # 2560 + None, # 2561 + None, # 2562 + None, # 2563 + None, # 2564 + None, # 2565 + None, # 2566 + None, # 2567 + None, # 2568 + None, # 2569 + None, # 2570 + None, # 2571 + None, # 2572 + None, # 2573 + None, # 2574 + None, # 2575 + None, # 2576 + None, # 2577 + None, # 2578 + None, # 2579 + None, # 2580 + None, # 2581 + None, # 2582 + None, # 2583 + None, # 2584 + None, # 2585 + None, # 2586 + None, # 2587 + None, # 2588 + None, # 2589 + None, # 2590 + None, # 2591 + None, # 2592 + None, # 2593 + None, # 2594 + None, # 2595 + None, # 2596 + None, # 2597 + None, # 2598 + None, # 2599 + None, # 2600 + None, # 2601 + None, # 2602 + None, # 2603 + None, # 2604 + None, # 2605 + None, # 2606 + None, # 2607 + None, # 2608 + None, # 2609 + None, # 2610 + None, # 2611 + None, # 2612 + None, # 2613 + None, # 2614 + None, # 2615 + None, # 2616 + None, # 2617 + None, # 2618 + None, # 2619 + None, # 2620 + None, # 2621 + None, # 2622 + None, # 2623 + None, # 2624 + None, # 2625 + None, # 2626 + None, # 2627 + None, # 2628 + None, # 2629 + None, # 2630 + None, # 2631 + None, # 2632 + None, # 2633 + None, # 2634 + None, # 2635 + None, # 2636 + None, # 2637 + None, # 2638 + None, # 2639 + None, # 2640 + None, # 2641 + None, # 2642 + None, # 2643 + None, # 2644 + None, # 2645 + None, # 2646 + None, # 2647 + None, # 2648 + None, # 2649 + None, # 2650 + None, # 2651 + None, # 2652 + None, # 2653 + None, # 2654 + None, # 2655 + None, # 2656 + None, # 2657 + None, # 2658 + None, # 2659 + None, # 2660 + None, # 2661 + None, # 2662 + None, # 2663 + None, # 2664 + None, # 2665 + None, # 2666 + None, # 2667 + None, # 2668 + None, # 2669 + None, # 2670 + None, # 2671 + None, # 2672 + None, # 2673 + None, # 2674 + None, # 2675 + None, # 2676 + None, # 2677 + None, # 2678 + None, # 2679 + None, # 2680 + None, # 2681 + None, # 2682 + None, # 2683 + None, # 2684 + None, # 2685 + None, # 2686 + None, # 2687 + None, # 2688 + None, # 2689 + None, # 2690 + None, # 2691 + None, # 2692 + None, # 2693 + None, # 2694 + None, # 2695 + None, # 2696 + None, # 2697 + None, # 2698 + None, # 2699 + None, # 2700 + None, # 2701 + None, # 2702 + None, # 2703 + None, # 2704 + None, # 2705 + None, # 2706 + None, # 2707 + None, # 2708 + None, # 2709 + None, # 2710 + None, # 2711 + None, # 2712 + None, # 2713 + None, # 2714 + None, # 2715 + None, # 2716 + None, # 2717 + None, # 2718 + None, # 2719 + None, # 2720 + None, # 2721 + None, # 2722 + None, # 2723 + None, # 2724 + None, # 2725 + None, # 2726 + None, # 2727 + None, # 2728 + None, # 2729 + None, # 2730 + None, # 2731 + None, # 2732 + None, # 2733 + None, # 2734 + None, # 2735 + None, # 2736 + None, # 2737 + None, # 2738 + None, # 2739 + None, # 2740 + None, # 2741 + None, # 2742 + None, # 2743 + None, # 2744 + None, # 2745 + None, # 2746 + None, # 2747 + None, # 2748 + None, # 2749 + None, # 2750 + None, # 2751 + None, # 2752 + None, # 2753 + None, # 2754 + None, # 2755 + None, # 2756 + None, # 2757 + None, # 2758 + None, # 2759 + None, # 2760 + None, # 2761 + None, # 2762 + None, # 2763 + None, # 2764 + None, # 2765 + None, # 2766 + None, # 2767 + None, # 2768 + None, # 2769 + None, # 2770 + None, # 2771 + None, # 2772 + None, # 2773 + None, # 2774 + None, # 2775 + None, # 2776 + None, # 2777 + None, # 2778 + None, # 2779 + None, # 2780 + None, # 2781 + None, # 2782 + None, # 2783 + None, # 2784 + None, # 2785 + None, # 2786 + None, # 2787 + None, # 2788 + None, # 2789 + None, # 2790 + None, # 2791 + None, # 2792 + None, # 2793 + None, # 2794 + None, # 2795 + None, # 2796 + None, # 2797 + None, # 2798 + None, # 2799 + None, # 2800 + None, # 2801 + None, # 2802 + None, # 2803 + None, # 2804 + None, # 2805 + None, # 2806 + None, # 2807 + None, # 2808 + None, # 2809 + None, # 2810 + None, # 2811 + None, # 2812 + None, # 2813 + None, # 2814 + None, # 2815 + None, # 2816 + None, # 2817 + None, # 2818 + None, # 2819 + None, # 2820 + None, # 2821 + None, # 2822 + None, # 2823 + None, # 2824 + None, # 2825 + None, # 2826 + None, # 2827 + None, # 2828 + None, # 2829 + None, # 2830 + None, # 2831 + None, # 2832 + None, # 2833 + None, # 2834 + None, # 2835 + None, # 2836 + None, # 2837 + None, # 2838 + None, # 2839 + None, # 2840 + None, # 2841 + None, # 2842 + None, # 2843 + None, # 2844 + None, # 2845 + None, # 2846 + None, # 2847 + None, # 2848 + None, # 2849 + None, # 2850 + None, # 2851 + None, # 2852 + None, # 2853 + None, # 2854 + None, # 2855 + None, # 2856 + None, # 2857 + None, # 2858 + None, # 2859 + None, # 2860 + None, # 2861 + None, # 2862 + None, # 2863 + None, # 2864 + None, # 2865 + None, # 2866 + None, # 2867 + None, # 2868 + None, # 2869 + None, # 2870 + None, # 2871 + None, # 2872 + None, # 2873 + None, # 2874 + None, # 2875 + None, # 2876 + None, # 2877 + None, # 2878 + None, # 2879 + None, # 2880 + None, # 2881 + None, # 2882 + None, # 2883 + None, # 2884 + None, # 2885 + None, # 2886 + None, # 2887 + None, # 2888 + None, # 2889 + None, # 2890 + None, # 2891 + None, # 2892 + None, # 2893 + None, # 2894 + None, # 2895 + None, # 2896 + None, # 2897 + None, # 2898 + None, # 2899 + None, # 2900 + None, # 2901 + None, # 2902 + None, # 2903 + None, # 2904 + None, # 2905 + None, # 2906 + None, # 2907 + None, # 2908 + None, # 2909 + None, # 2910 + None, # 2911 + None, # 2912 + None, # 2913 + None, # 2914 + None, # 2915 + None, # 2916 + None, # 2917 + None, # 2918 + None, # 2919 + None, # 2920 + None, # 2921 + None, # 2922 + None, # 2923 + None, # 2924 + None, # 2925 + None, # 2926 + None, # 2927 + None, # 2928 + None, # 2929 + None, # 2930 + None, # 2931 + None, # 2932 + None, # 2933 + None, # 2934 + None, # 2935 + None, # 2936 + None, # 2937 + None, # 2938 + None, # 2939 + None, # 2940 + None, # 2941 + None, # 2942 + None, # 2943 + None, # 2944 + None, # 2945 + None, # 2946 + None, # 2947 + None, # 2948 + None, # 2949 + None, # 2950 + None, # 2951 + None, # 2952 + None, # 2953 + None, # 2954 + None, # 2955 + None, # 2956 + None, # 2957 + None, # 2958 + None, # 2959 + None, # 2960 + None, # 2961 + None, # 2962 + None, # 2963 + None, # 2964 + None, # 2965 + None, # 2966 + None, # 2967 + None, # 2968 + None, # 2969 + None, # 2970 + None, # 2971 + None, # 2972 + None, # 2973 + None, # 2974 + None, # 2975 + None, # 2976 + None, # 2977 + None, # 2978 + None, # 2979 + None, # 2980 + None, # 2981 + None, # 2982 + None, # 2983 + None, # 2984 + None, # 2985 + None, # 2986 + None, # 2987 + None, # 2988 + None, # 2989 + None, # 2990 + None, # 2991 + None, # 2992 + None, # 2993 + None, # 2994 + None, # 2995 + None, # 2996 + None, # 2997 + None, # 2998 + None, # 2999 + None, # 3000 + None, # 3001 + None, # 3002 + None, # 3003 + None, # 3004 + None, # 3005 + None, # 3006 + None, # 3007 + None, # 3008 + None, # 3009 + None, # 3010 + None, # 3011 + None, # 3012 + None, # 3013 + None, # 3014 + None, # 3015 + None, # 3016 + None, # 3017 + None, # 3018 + None, # 3019 + None, # 3020 + None, # 3021 + None, # 3022 + None, # 3023 + None, # 3024 + None, # 3025 + None, # 3026 + None, # 3027 + None, # 3028 + None, # 3029 + None, # 3030 + None, # 3031 + None, # 3032 + None, # 3033 + None, # 3034 + None, # 3035 + None, # 3036 + None, # 3037 + None, # 3038 + None, # 3039 + None, # 3040 + None, # 3041 + None, # 3042 + None, # 3043 + None, # 3044 + None, # 3045 + None, # 3046 + None, # 3047 + None, # 3048 + None, # 3049 + None, # 3050 + None, # 3051 + None, # 3052 + None, # 3053 + None, # 3054 + None, # 3055 + None, # 3056 + None, # 3057 + None, # 3058 + None, # 3059 + None, # 3060 + None, # 3061 + None, # 3062 + None, # 3063 + None, # 3064 + None, # 3065 + None, # 3066 + None, # 3067 + None, # 3068 + None, # 3069 + None, # 3070 + None, # 3071 + None, # 3072 + None, # 3073 + None, # 3074 + None, # 3075 + None, # 3076 + None, # 3077 + None, # 3078 + None, # 3079 + None, # 3080 + None, # 3081 + None, # 3082 + None, # 3083 + None, # 3084 + None, # 3085 + None, # 3086 + None, # 3087 + None, # 3088 + None, # 3089 + None, # 3090 + None, # 3091 + None, # 3092 + None, # 3093 + None, # 3094 + None, # 3095 + None, # 3096 + None, # 3097 + None, # 3098 + None, # 3099 + None, # 3100 + None, # 3101 + None, # 3102 + None, # 3103 + None, # 3104 + None, # 3105 + None, # 3106 + None, # 3107 + None, # 3108 + None, # 3109 + None, # 3110 + None, # 3111 + None, # 3112 + None, # 3113 + None, # 3114 + None, # 3115 + None, # 3116 + None, # 3117 + None, # 3118 + None, # 3119 + None, # 3120 + None, # 3121 + None, # 3122 + None, # 3123 + None, # 3124 + None, # 3125 + None, # 3126 + None, # 3127 + None, # 3128 + None, # 3129 + None, # 3130 + None, # 3131 + None, # 3132 + None, # 3133 + None, # 3134 + None, # 3135 + None, # 3136 + None, # 3137 + None, # 3138 + None, # 3139 + None, # 3140 + None, # 3141 + None, # 3142 + None, # 3143 + None, # 3144 + None, # 3145 + None, # 3146 + None, # 3147 + None, # 3148 + None, # 3149 + None, # 3150 + None, # 3151 + None, # 3152 + None, # 3153 + None, # 3154 + None, # 3155 + None, # 3156 + None, # 3157 + None, # 3158 + None, # 3159 + None, # 3160 + None, # 3161 + None, # 3162 + None, # 3163 + None, # 3164 + None, # 3165 + None, # 3166 + None, # 3167 + None, # 3168 + None, # 3169 + None, # 3170 + None, # 3171 + None, # 3172 + None, # 3173 + None, # 3174 + None, # 3175 + None, # 3176 + None, # 3177 + None, # 3178 + None, # 3179 + None, # 3180 + None, # 3181 + None, # 3182 + None, # 3183 + None, # 3184 + None, # 3185 + None, # 3186 + None, # 3187 + None, # 3188 + None, # 3189 + None, # 3190 + None, # 3191 + None, # 3192 + None, # 3193 + None, # 3194 + None, # 3195 + None, # 3196 + None, # 3197 + None, # 3198 + None, # 3199 + None, # 3200 + None, # 3201 + None, # 3202 + None, # 3203 + None, # 3204 + None, # 3205 + None, # 3206 + None, # 3207 + None, # 3208 + None, # 3209 + None, # 3210 + None, # 3211 + None, # 3212 + None, # 3213 + None, # 3214 + None, # 3215 + None, # 3216 + None, # 3217 + None, # 3218 + None, # 3219 + None, # 3220 + None, # 3221 + None, # 3222 + None, # 3223 + None, # 3224 + None, # 3225 + None, # 3226 + None, # 3227 + None, # 3228 + None, # 3229 + None, # 3230 + None, # 3231 + None, # 3232 + None, # 3233 + None, # 3234 + None, # 3235 + None, # 3236 + None, # 3237 + None, # 3238 + None, # 3239 + None, # 3240 + None, # 3241 + None, # 3242 + None, # 3243 + None, # 3244 + None, # 3245 + None, # 3246 + None, # 3247 + None, # 3248 + None, # 3249 + None, # 3250 + None, # 3251 + None, # 3252 + None, # 3253 + None, # 3254 + None, # 3255 + None, # 3256 + None, # 3257 + None, # 3258 + None, # 3259 + None, # 3260 + None, # 3261 + None, # 3262 + None, # 3263 + None, # 3264 + None, # 3265 + None, # 3266 + None, # 3267 + None, # 3268 + None, # 3269 + None, # 3270 + None, # 3271 + None, # 3272 + None, # 3273 + None, # 3274 + None, # 3275 + None, # 3276 + None, # 3277 + None, # 3278 + None, # 3279 + None, # 3280 + None, # 3281 + None, # 3282 + None, # 3283 + None, # 3284 + None, # 3285 + None, # 3286 + None, # 3287 + None, # 3288 + None, # 3289 + None, # 3290 + None, # 3291 + None, # 3292 + None, # 3293 + None, # 3294 + None, # 3295 + None, # 3296 + None, # 3297 + None, # 3298 + None, # 3299 + None, # 3300 + None, # 3301 + None, # 3302 + None, # 3303 + None, # 3304 + None, # 3305 + None, # 3306 + None, # 3307 + None, # 3308 + None, # 3309 + None, # 3310 + None, # 3311 + None, # 3312 + None, # 3313 + None, # 3314 + None, # 3315 + None, # 3316 + None, # 3317 + None, # 3318 + None, # 3319 + None, # 3320 + None, # 3321 + None, # 3322 + None, # 3323 + None, # 3324 + None, # 3325 + None, # 3326 + None, # 3327 + None, # 3328 + (3329, TType.STRUCT, 'operationId', [THandleIdentifier, None], None, ), # 3329 + (3330, TType.STRUCT, 'sessionConf', [TDBSqlSessionConf, None], None, ), # 3330 ) all_structs.append(TGetTypeInfoResp) TGetTypeInfoResp.thrift_spec = ( - None, # 0 - ( - 1, - TType.STRUCT, - "status", - [TStatus, None], - None, - ), # 1 - ( - 2, - TType.STRUCT, - "operationHandle", - [TOperationHandle, None], - None, - ), # 2 - None, # 3 - None, # 4 - None, # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - ( - 1281, - TType.STRUCT, - "directResults", - [TSparkDirectResults, None], - None, - ), # 1281 + None, # 0 + (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 + (2, TType.STRUCT, 'operationHandle', [TOperationHandle, None], None, ), # 2 + None, # 3 + None, # 4 + None, # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + (1281, TType.STRUCT, 'directResults', [TSparkDirectResults, None], None, ), # 1281 ) all_structs.append(TGetCatalogsReq) TGetCatalogsReq.thrift_spec = ( - None, # 0 - ( - 1, - TType.STRUCT, - "sessionHandle", - [TSessionHandle, None], - None, - ), # 1 - None, # 2 - None, # 3 - None, # 4 - None, # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - ( - 1281, - TType.STRUCT, - "getDirectResults", - [TSparkGetDirectResults, None], - None, - ), # 1281 - ( - 1282, - TType.BOOL, - "runAsync", - None, - False, - ), # 1282 - None, # 1283 - None, # 1284 - None, # 1285 - None, # 1286 - None, # 1287 - None, # 1288 - None, # 1289 - None, # 1290 - None, # 1291 - None, # 1292 - None, # 1293 - None, # 1294 - None, # 1295 - None, # 1296 - None, # 1297 - None, # 1298 - None, # 1299 - None, # 1300 - None, # 1301 - None, # 1302 - None, # 1303 - None, # 1304 - None, # 1305 - None, # 1306 - None, # 1307 - None, # 1308 - None, # 1309 - None, # 1310 - None, # 1311 - None, # 1312 - None, # 1313 - None, # 1314 - None, # 1315 - None, # 1316 - None, # 1317 - None, # 1318 - None, # 1319 - None, # 1320 - None, # 1321 - None, # 1322 - None, # 1323 - None, # 1324 - None, # 1325 - None, # 1326 - None, # 1327 - None, # 1328 - None, # 1329 - None, # 1330 - None, # 1331 - None, # 1332 - None, # 1333 - None, # 1334 - None, # 1335 - None, # 1336 - None, # 1337 - None, # 1338 - None, # 1339 - None, # 1340 - None, # 1341 - None, # 1342 - None, # 1343 - None, # 1344 - None, # 1345 - None, # 1346 - None, # 1347 - None, # 1348 - None, # 1349 - None, # 1350 - None, # 1351 - None, # 1352 - None, # 1353 - None, # 1354 - None, # 1355 - None, # 1356 - None, # 1357 - None, # 1358 - None, # 1359 - None, # 1360 - None, # 1361 - None, # 1362 - None, # 1363 - None, # 1364 - None, # 1365 - None, # 1366 - None, # 1367 - None, # 1368 - None, # 1369 - None, # 1370 - None, # 1371 - None, # 1372 - None, # 1373 - None, # 1374 - None, # 1375 - None, # 1376 - None, # 1377 - None, # 1378 - None, # 1379 - None, # 1380 - None, # 1381 - None, # 1382 - None, # 1383 - None, # 1384 - None, # 1385 - None, # 1386 - None, # 1387 - None, # 1388 - None, # 1389 - None, # 1390 - None, # 1391 - None, # 1392 - None, # 1393 - None, # 1394 - None, # 1395 - None, # 1396 - None, # 1397 - None, # 1398 - None, # 1399 - None, # 1400 - None, # 1401 - None, # 1402 - None, # 1403 - None, # 1404 - None, # 1405 - None, # 1406 - None, # 1407 - None, # 1408 - None, # 1409 - None, # 1410 - None, # 1411 - None, # 1412 - None, # 1413 - None, # 1414 - None, # 1415 - None, # 1416 - None, # 1417 - None, # 1418 - None, # 1419 - None, # 1420 - None, # 1421 - None, # 1422 - None, # 1423 - None, # 1424 - None, # 1425 - None, # 1426 - None, # 1427 - None, # 1428 - None, # 1429 - None, # 1430 - None, # 1431 - None, # 1432 - None, # 1433 - None, # 1434 - None, # 1435 - None, # 1436 - None, # 1437 - None, # 1438 - None, # 1439 - None, # 1440 - None, # 1441 - None, # 1442 - None, # 1443 - None, # 1444 - None, # 1445 - None, # 1446 - None, # 1447 - None, # 1448 - None, # 1449 - None, # 1450 - None, # 1451 - None, # 1452 - None, # 1453 - None, # 1454 - None, # 1455 - None, # 1456 - None, # 1457 - None, # 1458 - None, # 1459 - None, # 1460 - None, # 1461 - None, # 1462 - None, # 1463 - None, # 1464 - None, # 1465 - None, # 1466 - None, # 1467 - None, # 1468 - None, # 1469 - None, # 1470 - None, # 1471 - None, # 1472 - None, # 1473 - None, # 1474 - None, # 1475 - None, # 1476 - None, # 1477 - None, # 1478 - None, # 1479 - None, # 1480 - None, # 1481 - None, # 1482 - None, # 1483 - None, # 1484 - None, # 1485 - None, # 1486 - None, # 1487 - None, # 1488 - None, # 1489 - None, # 1490 - None, # 1491 - None, # 1492 - None, # 1493 - None, # 1494 - None, # 1495 - None, # 1496 - None, # 1497 - None, # 1498 - None, # 1499 - None, # 1500 - None, # 1501 - None, # 1502 - None, # 1503 - None, # 1504 - None, # 1505 - None, # 1506 - None, # 1507 - None, # 1508 - None, # 1509 - None, # 1510 - None, # 1511 - None, # 1512 - None, # 1513 - None, # 1514 - None, # 1515 - None, # 1516 - None, # 1517 - None, # 1518 - None, # 1519 - None, # 1520 - None, # 1521 - None, # 1522 - None, # 1523 - None, # 1524 - None, # 1525 - None, # 1526 - None, # 1527 - None, # 1528 - None, # 1529 - None, # 1530 - None, # 1531 - None, # 1532 - None, # 1533 - None, # 1534 - None, # 1535 - None, # 1536 - None, # 1537 - None, # 1538 - None, # 1539 - None, # 1540 - None, # 1541 - None, # 1542 - None, # 1543 - None, # 1544 - None, # 1545 - None, # 1546 - None, # 1547 - None, # 1548 - None, # 1549 - None, # 1550 - None, # 1551 - None, # 1552 - None, # 1553 - None, # 1554 - None, # 1555 - None, # 1556 - None, # 1557 - None, # 1558 - None, # 1559 - None, # 1560 - None, # 1561 - None, # 1562 - None, # 1563 - None, # 1564 - None, # 1565 - None, # 1566 - None, # 1567 - None, # 1568 - None, # 1569 - None, # 1570 - None, # 1571 - None, # 1572 - None, # 1573 - None, # 1574 - None, # 1575 - None, # 1576 - None, # 1577 - None, # 1578 - None, # 1579 - None, # 1580 - None, # 1581 - None, # 1582 - None, # 1583 - None, # 1584 - None, # 1585 - None, # 1586 - None, # 1587 - None, # 1588 - None, # 1589 - None, # 1590 - None, # 1591 - None, # 1592 - None, # 1593 - None, # 1594 - None, # 1595 - None, # 1596 - None, # 1597 - None, # 1598 - None, # 1599 - None, # 1600 - None, # 1601 - None, # 1602 - None, # 1603 - None, # 1604 - None, # 1605 - None, # 1606 - None, # 1607 - None, # 1608 - None, # 1609 - None, # 1610 - None, # 1611 - None, # 1612 - None, # 1613 - None, # 1614 - None, # 1615 - None, # 1616 - None, # 1617 - None, # 1618 - None, # 1619 - None, # 1620 - None, # 1621 - None, # 1622 - None, # 1623 - None, # 1624 - None, # 1625 - None, # 1626 - None, # 1627 - None, # 1628 - None, # 1629 - None, # 1630 - None, # 1631 - None, # 1632 - None, # 1633 - None, # 1634 - None, # 1635 - None, # 1636 - None, # 1637 - None, # 1638 - None, # 1639 - None, # 1640 - None, # 1641 - None, # 1642 - None, # 1643 - None, # 1644 - None, # 1645 - None, # 1646 - None, # 1647 - None, # 1648 - None, # 1649 - None, # 1650 - None, # 1651 - None, # 1652 - None, # 1653 - None, # 1654 - None, # 1655 - None, # 1656 - None, # 1657 - None, # 1658 - None, # 1659 - None, # 1660 - None, # 1661 - None, # 1662 - None, # 1663 - None, # 1664 - None, # 1665 - None, # 1666 - None, # 1667 - None, # 1668 - None, # 1669 - None, # 1670 - None, # 1671 - None, # 1672 - None, # 1673 - None, # 1674 - None, # 1675 - None, # 1676 - None, # 1677 - None, # 1678 - None, # 1679 - None, # 1680 - None, # 1681 - None, # 1682 - None, # 1683 - None, # 1684 - None, # 1685 - None, # 1686 - None, # 1687 - None, # 1688 - None, # 1689 - None, # 1690 - None, # 1691 - None, # 1692 - None, # 1693 - None, # 1694 - None, # 1695 - None, # 1696 - None, # 1697 - None, # 1698 - None, # 1699 - None, # 1700 - None, # 1701 - None, # 1702 - None, # 1703 - None, # 1704 - None, # 1705 - None, # 1706 - None, # 1707 - None, # 1708 - None, # 1709 - None, # 1710 - None, # 1711 - None, # 1712 - None, # 1713 - None, # 1714 - None, # 1715 - None, # 1716 - None, # 1717 - None, # 1718 - None, # 1719 - None, # 1720 - None, # 1721 - None, # 1722 - None, # 1723 - None, # 1724 - None, # 1725 - None, # 1726 - None, # 1727 - None, # 1728 - None, # 1729 - None, # 1730 - None, # 1731 - None, # 1732 - None, # 1733 - None, # 1734 - None, # 1735 - None, # 1736 - None, # 1737 - None, # 1738 - None, # 1739 - None, # 1740 - None, # 1741 - None, # 1742 - None, # 1743 - None, # 1744 - None, # 1745 - None, # 1746 - None, # 1747 - None, # 1748 - None, # 1749 - None, # 1750 - None, # 1751 - None, # 1752 - None, # 1753 - None, # 1754 - None, # 1755 - None, # 1756 - None, # 1757 - None, # 1758 - None, # 1759 - None, # 1760 - None, # 1761 - None, # 1762 - None, # 1763 - None, # 1764 - None, # 1765 - None, # 1766 - None, # 1767 - None, # 1768 - None, # 1769 - None, # 1770 - None, # 1771 - None, # 1772 - None, # 1773 - None, # 1774 - None, # 1775 - None, # 1776 - None, # 1777 - None, # 1778 - None, # 1779 - None, # 1780 - None, # 1781 - None, # 1782 - None, # 1783 - None, # 1784 - None, # 1785 - None, # 1786 - None, # 1787 - None, # 1788 - None, # 1789 - None, # 1790 - None, # 1791 - None, # 1792 - None, # 1793 - None, # 1794 - None, # 1795 - None, # 1796 - None, # 1797 - None, # 1798 - None, # 1799 - None, # 1800 - None, # 1801 - None, # 1802 - None, # 1803 - None, # 1804 - None, # 1805 - None, # 1806 - None, # 1807 - None, # 1808 - None, # 1809 - None, # 1810 - None, # 1811 - None, # 1812 - None, # 1813 - None, # 1814 - None, # 1815 - None, # 1816 - None, # 1817 - None, # 1818 - None, # 1819 - None, # 1820 - None, # 1821 - None, # 1822 - None, # 1823 - None, # 1824 - None, # 1825 - None, # 1826 - None, # 1827 - None, # 1828 - None, # 1829 - None, # 1830 - None, # 1831 - None, # 1832 - None, # 1833 - None, # 1834 - None, # 1835 - None, # 1836 - None, # 1837 - None, # 1838 - None, # 1839 - None, # 1840 - None, # 1841 - None, # 1842 - None, # 1843 - None, # 1844 - None, # 1845 - None, # 1846 - None, # 1847 - None, # 1848 - None, # 1849 - None, # 1850 - None, # 1851 - None, # 1852 - None, # 1853 - None, # 1854 - None, # 1855 - None, # 1856 - None, # 1857 - None, # 1858 - None, # 1859 - None, # 1860 - None, # 1861 - None, # 1862 - None, # 1863 - None, # 1864 - None, # 1865 - None, # 1866 - None, # 1867 - None, # 1868 - None, # 1869 - None, # 1870 - None, # 1871 - None, # 1872 - None, # 1873 - None, # 1874 - None, # 1875 - None, # 1876 - None, # 1877 - None, # 1878 - None, # 1879 - None, # 1880 - None, # 1881 - None, # 1882 - None, # 1883 - None, # 1884 - None, # 1885 - None, # 1886 - None, # 1887 - None, # 1888 - None, # 1889 - None, # 1890 - None, # 1891 - None, # 1892 - None, # 1893 - None, # 1894 - None, # 1895 - None, # 1896 - None, # 1897 - None, # 1898 - None, # 1899 - None, # 1900 - None, # 1901 - None, # 1902 - None, # 1903 - None, # 1904 - None, # 1905 - None, # 1906 - None, # 1907 - None, # 1908 - None, # 1909 - None, # 1910 - None, # 1911 - None, # 1912 - None, # 1913 - None, # 1914 - None, # 1915 - None, # 1916 - None, # 1917 - None, # 1918 - None, # 1919 - None, # 1920 - None, # 1921 - None, # 1922 - None, # 1923 - None, # 1924 - None, # 1925 - None, # 1926 - None, # 1927 - None, # 1928 - None, # 1929 - None, # 1930 - None, # 1931 - None, # 1932 - None, # 1933 - None, # 1934 - None, # 1935 - None, # 1936 - None, # 1937 - None, # 1938 - None, # 1939 - None, # 1940 - None, # 1941 - None, # 1942 - None, # 1943 - None, # 1944 - None, # 1945 - None, # 1946 - None, # 1947 - None, # 1948 - None, # 1949 - None, # 1950 - None, # 1951 - None, # 1952 - None, # 1953 - None, # 1954 - None, # 1955 - None, # 1956 - None, # 1957 - None, # 1958 - None, # 1959 - None, # 1960 - None, # 1961 - None, # 1962 - None, # 1963 - None, # 1964 - None, # 1965 - None, # 1966 - None, # 1967 - None, # 1968 - None, # 1969 - None, # 1970 - None, # 1971 - None, # 1972 - None, # 1973 - None, # 1974 - None, # 1975 - None, # 1976 - None, # 1977 - None, # 1978 - None, # 1979 - None, # 1980 - None, # 1981 - None, # 1982 - None, # 1983 - None, # 1984 - None, # 1985 - None, # 1986 - None, # 1987 - None, # 1988 - None, # 1989 - None, # 1990 - None, # 1991 - None, # 1992 - None, # 1993 - None, # 1994 - None, # 1995 - None, # 1996 - None, # 1997 - None, # 1998 - None, # 1999 - None, # 2000 - None, # 2001 - None, # 2002 - None, # 2003 - None, # 2004 - None, # 2005 - None, # 2006 - None, # 2007 - None, # 2008 - None, # 2009 - None, # 2010 - None, # 2011 - None, # 2012 - None, # 2013 - None, # 2014 - None, # 2015 - None, # 2016 - None, # 2017 - None, # 2018 - None, # 2019 - None, # 2020 - None, # 2021 - None, # 2022 - None, # 2023 - None, # 2024 - None, # 2025 - None, # 2026 - None, # 2027 - None, # 2028 - None, # 2029 - None, # 2030 - None, # 2031 - None, # 2032 - None, # 2033 - None, # 2034 - None, # 2035 - None, # 2036 - None, # 2037 - None, # 2038 - None, # 2039 - None, # 2040 - None, # 2041 - None, # 2042 - None, # 2043 - None, # 2044 - None, # 2045 - None, # 2046 - None, # 2047 - None, # 2048 - None, # 2049 - None, # 2050 - None, # 2051 - None, # 2052 - None, # 2053 - None, # 2054 - None, # 2055 - None, # 2056 - None, # 2057 - None, # 2058 - None, # 2059 - None, # 2060 - None, # 2061 - None, # 2062 - None, # 2063 - None, # 2064 - None, # 2065 - None, # 2066 - None, # 2067 - None, # 2068 - None, # 2069 - None, # 2070 - None, # 2071 - None, # 2072 - None, # 2073 - None, # 2074 - None, # 2075 - None, # 2076 - None, # 2077 - None, # 2078 - None, # 2079 - None, # 2080 - None, # 2081 - None, # 2082 - None, # 2083 - None, # 2084 - None, # 2085 - None, # 2086 - None, # 2087 - None, # 2088 - None, # 2089 - None, # 2090 - None, # 2091 - None, # 2092 - None, # 2093 - None, # 2094 - None, # 2095 - None, # 2096 - None, # 2097 - None, # 2098 - None, # 2099 - None, # 2100 - None, # 2101 - None, # 2102 - None, # 2103 - None, # 2104 - None, # 2105 - None, # 2106 - None, # 2107 - None, # 2108 - None, # 2109 - None, # 2110 - None, # 2111 - None, # 2112 - None, # 2113 - None, # 2114 - None, # 2115 - None, # 2116 - None, # 2117 - None, # 2118 - None, # 2119 - None, # 2120 - None, # 2121 - None, # 2122 - None, # 2123 - None, # 2124 - None, # 2125 - None, # 2126 - None, # 2127 - None, # 2128 - None, # 2129 - None, # 2130 - None, # 2131 - None, # 2132 - None, # 2133 - None, # 2134 - None, # 2135 - None, # 2136 - None, # 2137 - None, # 2138 - None, # 2139 - None, # 2140 - None, # 2141 - None, # 2142 - None, # 2143 - None, # 2144 - None, # 2145 - None, # 2146 - None, # 2147 - None, # 2148 - None, # 2149 - None, # 2150 - None, # 2151 - None, # 2152 - None, # 2153 - None, # 2154 - None, # 2155 - None, # 2156 - None, # 2157 - None, # 2158 - None, # 2159 - None, # 2160 - None, # 2161 - None, # 2162 - None, # 2163 - None, # 2164 - None, # 2165 - None, # 2166 - None, # 2167 - None, # 2168 - None, # 2169 - None, # 2170 - None, # 2171 - None, # 2172 - None, # 2173 - None, # 2174 - None, # 2175 - None, # 2176 - None, # 2177 - None, # 2178 - None, # 2179 - None, # 2180 - None, # 2181 - None, # 2182 - None, # 2183 - None, # 2184 - None, # 2185 - None, # 2186 - None, # 2187 - None, # 2188 - None, # 2189 - None, # 2190 - None, # 2191 - None, # 2192 - None, # 2193 - None, # 2194 - None, # 2195 - None, # 2196 - None, # 2197 - None, # 2198 - None, # 2199 - None, # 2200 - None, # 2201 - None, # 2202 - None, # 2203 - None, # 2204 - None, # 2205 - None, # 2206 - None, # 2207 - None, # 2208 - None, # 2209 - None, # 2210 - None, # 2211 - None, # 2212 - None, # 2213 - None, # 2214 - None, # 2215 - None, # 2216 - None, # 2217 - None, # 2218 - None, # 2219 - None, # 2220 - None, # 2221 - None, # 2222 - None, # 2223 - None, # 2224 - None, # 2225 - None, # 2226 - None, # 2227 - None, # 2228 - None, # 2229 - None, # 2230 - None, # 2231 - None, # 2232 - None, # 2233 - None, # 2234 - None, # 2235 - None, # 2236 - None, # 2237 - None, # 2238 - None, # 2239 - None, # 2240 - None, # 2241 - None, # 2242 - None, # 2243 - None, # 2244 - None, # 2245 - None, # 2246 - None, # 2247 - None, # 2248 - None, # 2249 - None, # 2250 - None, # 2251 - None, # 2252 - None, # 2253 - None, # 2254 - None, # 2255 - None, # 2256 - None, # 2257 - None, # 2258 - None, # 2259 - None, # 2260 - None, # 2261 - None, # 2262 - None, # 2263 - None, # 2264 - None, # 2265 - None, # 2266 - None, # 2267 - None, # 2268 - None, # 2269 - None, # 2270 - None, # 2271 - None, # 2272 - None, # 2273 - None, # 2274 - None, # 2275 - None, # 2276 - None, # 2277 - None, # 2278 - None, # 2279 - None, # 2280 - None, # 2281 - None, # 2282 - None, # 2283 - None, # 2284 - None, # 2285 - None, # 2286 - None, # 2287 - None, # 2288 - None, # 2289 - None, # 2290 - None, # 2291 - None, # 2292 - None, # 2293 - None, # 2294 - None, # 2295 - None, # 2296 - None, # 2297 - None, # 2298 - None, # 2299 - None, # 2300 - None, # 2301 - None, # 2302 - None, # 2303 - None, # 2304 - None, # 2305 - None, # 2306 - None, # 2307 - None, # 2308 - None, # 2309 - None, # 2310 - None, # 2311 - None, # 2312 - None, # 2313 - None, # 2314 - None, # 2315 - None, # 2316 - None, # 2317 - None, # 2318 - None, # 2319 - None, # 2320 - None, # 2321 - None, # 2322 - None, # 2323 - None, # 2324 - None, # 2325 - None, # 2326 - None, # 2327 - None, # 2328 - None, # 2329 - None, # 2330 - None, # 2331 - None, # 2332 - None, # 2333 - None, # 2334 - None, # 2335 - None, # 2336 - None, # 2337 - None, # 2338 - None, # 2339 - None, # 2340 - None, # 2341 - None, # 2342 - None, # 2343 - None, # 2344 - None, # 2345 - None, # 2346 - None, # 2347 - None, # 2348 - None, # 2349 - None, # 2350 - None, # 2351 - None, # 2352 - None, # 2353 - None, # 2354 - None, # 2355 - None, # 2356 - None, # 2357 - None, # 2358 - None, # 2359 - None, # 2360 - None, # 2361 - None, # 2362 - None, # 2363 - None, # 2364 - None, # 2365 - None, # 2366 - None, # 2367 - None, # 2368 - None, # 2369 - None, # 2370 - None, # 2371 - None, # 2372 - None, # 2373 - None, # 2374 - None, # 2375 - None, # 2376 - None, # 2377 - None, # 2378 - None, # 2379 - None, # 2380 - None, # 2381 - None, # 2382 - None, # 2383 - None, # 2384 - None, # 2385 - None, # 2386 - None, # 2387 - None, # 2388 - None, # 2389 - None, # 2390 - None, # 2391 - None, # 2392 - None, # 2393 - None, # 2394 - None, # 2395 - None, # 2396 - None, # 2397 - None, # 2398 - None, # 2399 - None, # 2400 - None, # 2401 - None, # 2402 - None, # 2403 - None, # 2404 - None, # 2405 - None, # 2406 - None, # 2407 - None, # 2408 - None, # 2409 - None, # 2410 - None, # 2411 - None, # 2412 - None, # 2413 - None, # 2414 - None, # 2415 - None, # 2416 - None, # 2417 - None, # 2418 - None, # 2419 - None, # 2420 - None, # 2421 - None, # 2422 - None, # 2423 - None, # 2424 - None, # 2425 - None, # 2426 - None, # 2427 - None, # 2428 - None, # 2429 - None, # 2430 - None, # 2431 - None, # 2432 - None, # 2433 - None, # 2434 - None, # 2435 - None, # 2436 - None, # 2437 - None, # 2438 - None, # 2439 - None, # 2440 - None, # 2441 - None, # 2442 - None, # 2443 - None, # 2444 - None, # 2445 - None, # 2446 - None, # 2447 - None, # 2448 - None, # 2449 - None, # 2450 - None, # 2451 - None, # 2452 - None, # 2453 - None, # 2454 - None, # 2455 - None, # 2456 - None, # 2457 - None, # 2458 - None, # 2459 - None, # 2460 - None, # 2461 - None, # 2462 - None, # 2463 - None, # 2464 - None, # 2465 - None, # 2466 - None, # 2467 - None, # 2468 - None, # 2469 - None, # 2470 - None, # 2471 - None, # 2472 - None, # 2473 - None, # 2474 - None, # 2475 - None, # 2476 - None, # 2477 - None, # 2478 - None, # 2479 - None, # 2480 - None, # 2481 - None, # 2482 - None, # 2483 - None, # 2484 - None, # 2485 - None, # 2486 - None, # 2487 - None, # 2488 - None, # 2489 - None, # 2490 - None, # 2491 - None, # 2492 - None, # 2493 - None, # 2494 - None, # 2495 - None, # 2496 - None, # 2497 - None, # 2498 - None, # 2499 - None, # 2500 - None, # 2501 - None, # 2502 - None, # 2503 - None, # 2504 - None, # 2505 - None, # 2506 - None, # 2507 - None, # 2508 - None, # 2509 - None, # 2510 - None, # 2511 - None, # 2512 - None, # 2513 - None, # 2514 - None, # 2515 - None, # 2516 - None, # 2517 - None, # 2518 - None, # 2519 - None, # 2520 - None, # 2521 - None, # 2522 - None, # 2523 - None, # 2524 - None, # 2525 - None, # 2526 - None, # 2527 - None, # 2528 - None, # 2529 - None, # 2530 - None, # 2531 - None, # 2532 - None, # 2533 - None, # 2534 - None, # 2535 - None, # 2536 - None, # 2537 - None, # 2538 - None, # 2539 - None, # 2540 - None, # 2541 - None, # 2542 - None, # 2543 - None, # 2544 - None, # 2545 - None, # 2546 - None, # 2547 - None, # 2548 - None, # 2549 - None, # 2550 - None, # 2551 - None, # 2552 - None, # 2553 - None, # 2554 - None, # 2555 - None, # 2556 - None, # 2557 - None, # 2558 - None, # 2559 - None, # 2560 - None, # 2561 - None, # 2562 - None, # 2563 - None, # 2564 - None, # 2565 - None, # 2566 - None, # 2567 - None, # 2568 - None, # 2569 - None, # 2570 - None, # 2571 - None, # 2572 - None, # 2573 - None, # 2574 - None, # 2575 - None, # 2576 - None, # 2577 - None, # 2578 - None, # 2579 - None, # 2580 - None, # 2581 - None, # 2582 - None, # 2583 - None, # 2584 - None, # 2585 - None, # 2586 - None, # 2587 - None, # 2588 - None, # 2589 - None, # 2590 - None, # 2591 - None, # 2592 - None, # 2593 - None, # 2594 - None, # 2595 - None, # 2596 - None, # 2597 - None, # 2598 - None, # 2599 - None, # 2600 - None, # 2601 - None, # 2602 - None, # 2603 - None, # 2604 - None, # 2605 - None, # 2606 - None, # 2607 - None, # 2608 - None, # 2609 - None, # 2610 - None, # 2611 - None, # 2612 - None, # 2613 - None, # 2614 - None, # 2615 - None, # 2616 - None, # 2617 - None, # 2618 - None, # 2619 - None, # 2620 - None, # 2621 - None, # 2622 - None, # 2623 - None, # 2624 - None, # 2625 - None, # 2626 - None, # 2627 - None, # 2628 - None, # 2629 - None, # 2630 - None, # 2631 - None, # 2632 - None, # 2633 - None, # 2634 - None, # 2635 - None, # 2636 - None, # 2637 - None, # 2638 - None, # 2639 - None, # 2640 - None, # 2641 - None, # 2642 - None, # 2643 - None, # 2644 - None, # 2645 - None, # 2646 - None, # 2647 - None, # 2648 - None, # 2649 - None, # 2650 - None, # 2651 - None, # 2652 - None, # 2653 - None, # 2654 - None, # 2655 - None, # 2656 - None, # 2657 - None, # 2658 - None, # 2659 - None, # 2660 - None, # 2661 - None, # 2662 - None, # 2663 - None, # 2664 - None, # 2665 - None, # 2666 - None, # 2667 - None, # 2668 - None, # 2669 - None, # 2670 - None, # 2671 - None, # 2672 - None, # 2673 - None, # 2674 - None, # 2675 - None, # 2676 - None, # 2677 - None, # 2678 - None, # 2679 - None, # 2680 - None, # 2681 - None, # 2682 - None, # 2683 - None, # 2684 - None, # 2685 - None, # 2686 - None, # 2687 - None, # 2688 - None, # 2689 - None, # 2690 - None, # 2691 - None, # 2692 - None, # 2693 - None, # 2694 - None, # 2695 - None, # 2696 - None, # 2697 - None, # 2698 - None, # 2699 - None, # 2700 - None, # 2701 - None, # 2702 - None, # 2703 - None, # 2704 - None, # 2705 - None, # 2706 - None, # 2707 - None, # 2708 - None, # 2709 - None, # 2710 - None, # 2711 - None, # 2712 - None, # 2713 - None, # 2714 - None, # 2715 - None, # 2716 - None, # 2717 - None, # 2718 - None, # 2719 - None, # 2720 - None, # 2721 - None, # 2722 - None, # 2723 - None, # 2724 - None, # 2725 - None, # 2726 - None, # 2727 - None, # 2728 - None, # 2729 - None, # 2730 - None, # 2731 - None, # 2732 - None, # 2733 - None, # 2734 - None, # 2735 - None, # 2736 - None, # 2737 - None, # 2738 - None, # 2739 - None, # 2740 - None, # 2741 - None, # 2742 - None, # 2743 - None, # 2744 - None, # 2745 - None, # 2746 - None, # 2747 - None, # 2748 - None, # 2749 - None, # 2750 - None, # 2751 - None, # 2752 - None, # 2753 - None, # 2754 - None, # 2755 - None, # 2756 - None, # 2757 - None, # 2758 - None, # 2759 - None, # 2760 - None, # 2761 - None, # 2762 - None, # 2763 - None, # 2764 - None, # 2765 - None, # 2766 - None, # 2767 - None, # 2768 - None, # 2769 - None, # 2770 - None, # 2771 - None, # 2772 - None, # 2773 - None, # 2774 - None, # 2775 - None, # 2776 - None, # 2777 - None, # 2778 - None, # 2779 - None, # 2780 - None, # 2781 - None, # 2782 - None, # 2783 - None, # 2784 - None, # 2785 - None, # 2786 - None, # 2787 - None, # 2788 - None, # 2789 - None, # 2790 - None, # 2791 - None, # 2792 - None, # 2793 - None, # 2794 - None, # 2795 - None, # 2796 - None, # 2797 - None, # 2798 - None, # 2799 - None, # 2800 - None, # 2801 - None, # 2802 - None, # 2803 - None, # 2804 - None, # 2805 - None, # 2806 - None, # 2807 - None, # 2808 - None, # 2809 - None, # 2810 - None, # 2811 - None, # 2812 - None, # 2813 - None, # 2814 - None, # 2815 - None, # 2816 - None, # 2817 - None, # 2818 - None, # 2819 - None, # 2820 - None, # 2821 - None, # 2822 - None, # 2823 - None, # 2824 - None, # 2825 - None, # 2826 - None, # 2827 - None, # 2828 - None, # 2829 - None, # 2830 - None, # 2831 - None, # 2832 - None, # 2833 - None, # 2834 - None, # 2835 - None, # 2836 - None, # 2837 - None, # 2838 - None, # 2839 - None, # 2840 - None, # 2841 - None, # 2842 - None, # 2843 - None, # 2844 - None, # 2845 - None, # 2846 - None, # 2847 - None, # 2848 - None, # 2849 - None, # 2850 - None, # 2851 - None, # 2852 - None, # 2853 - None, # 2854 - None, # 2855 - None, # 2856 - None, # 2857 - None, # 2858 - None, # 2859 - None, # 2860 - None, # 2861 - None, # 2862 - None, # 2863 - None, # 2864 - None, # 2865 - None, # 2866 - None, # 2867 - None, # 2868 - None, # 2869 - None, # 2870 - None, # 2871 - None, # 2872 - None, # 2873 - None, # 2874 - None, # 2875 - None, # 2876 - None, # 2877 - None, # 2878 - None, # 2879 - None, # 2880 - None, # 2881 - None, # 2882 - None, # 2883 - None, # 2884 - None, # 2885 - None, # 2886 - None, # 2887 - None, # 2888 - None, # 2889 - None, # 2890 - None, # 2891 - None, # 2892 - None, # 2893 - None, # 2894 - None, # 2895 - None, # 2896 - None, # 2897 - None, # 2898 - None, # 2899 - None, # 2900 - None, # 2901 - None, # 2902 - None, # 2903 - None, # 2904 - None, # 2905 - None, # 2906 - None, # 2907 - None, # 2908 - None, # 2909 - None, # 2910 - None, # 2911 - None, # 2912 - None, # 2913 - None, # 2914 - None, # 2915 - None, # 2916 - None, # 2917 - None, # 2918 - None, # 2919 - None, # 2920 - None, # 2921 - None, # 2922 - None, # 2923 - None, # 2924 - None, # 2925 - None, # 2926 - None, # 2927 - None, # 2928 - None, # 2929 - None, # 2930 - None, # 2931 - None, # 2932 - None, # 2933 - None, # 2934 - None, # 2935 - None, # 2936 - None, # 2937 - None, # 2938 - None, # 2939 - None, # 2940 - None, # 2941 - None, # 2942 - None, # 2943 - None, # 2944 - None, # 2945 - None, # 2946 - None, # 2947 - None, # 2948 - None, # 2949 - None, # 2950 - None, # 2951 - None, # 2952 - None, # 2953 - None, # 2954 - None, # 2955 - None, # 2956 - None, # 2957 - None, # 2958 - None, # 2959 - None, # 2960 - None, # 2961 - None, # 2962 - None, # 2963 - None, # 2964 - None, # 2965 - None, # 2966 - None, # 2967 - None, # 2968 - None, # 2969 - None, # 2970 - None, # 2971 - None, # 2972 - None, # 2973 - None, # 2974 - None, # 2975 - None, # 2976 - None, # 2977 - None, # 2978 - None, # 2979 - None, # 2980 - None, # 2981 - None, # 2982 - None, # 2983 - None, # 2984 - None, # 2985 - None, # 2986 - None, # 2987 - None, # 2988 - None, # 2989 - None, # 2990 - None, # 2991 - None, # 2992 - None, # 2993 - None, # 2994 - None, # 2995 - None, # 2996 - None, # 2997 - None, # 2998 - None, # 2999 - None, # 3000 - None, # 3001 - None, # 3002 - None, # 3003 - None, # 3004 - None, # 3005 - None, # 3006 - None, # 3007 - None, # 3008 - None, # 3009 - None, # 3010 - None, # 3011 - None, # 3012 - None, # 3013 - None, # 3014 - None, # 3015 - None, # 3016 - None, # 3017 - None, # 3018 - None, # 3019 - None, # 3020 - None, # 3021 - None, # 3022 - None, # 3023 - None, # 3024 - None, # 3025 - None, # 3026 - None, # 3027 - None, # 3028 - None, # 3029 - None, # 3030 - None, # 3031 - None, # 3032 - None, # 3033 - None, # 3034 - None, # 3035 - None, # 3036 - None, # 3037 - None, # 3038 - None, # 3039 - None, # 3040 - None, # 3041 - None, # 3042 - None, # 3043 - None, # 3044 - None, # 3045 - None, # 3046 - None, # 3047 - None, # 3048 - None, # 3049 - None, # 3050 - None, # 3051 - None, # 3052 - None, # 3053 - None, # 3054 - None, # 3055 - None, # 3056 - None, # 3057 - None, # 3058 - None, # 3059 - None, # 3060 - None, # 3061 - None, # 3062 - None, # 3063 - None, # 3064 - None, # 3065 - None, # 3066 - None, # 3067 - None, # 3068 - None, # 3069 - None, # 3070 - None, # 3071 - None, # 3072 - None, # 3073 - None, # 3074 - None, # 3075 - None, # 3076 - None, # 3077 - None, # 3078 - None, # 3079 - None, # 3080 - None, # 3081 - None, # 3082 - None, # 3083 - None, # 3084 - None, # 3085 - None, # 3086 - None, # 3087 - None, # 3088 - None, # 3089 - None, # 3090 - None, # 3091 - None, # 3092 - None, # 3093 - None, # 3094 - None, # 3095 - None, # 3096 - None, # 3097 - None, # 3098 - None, # 3099 - None, # 3100 - None, # 3101 - None, # 3102 - None, # 3103 - None, # 3104 - None, # 3105 - None, # 3106 - None, # 3107 - None, # 3108 - None, # 3109 - None, # 3110 - None, # 3111 - None, # 3112 - None, # 3113 - None, # 3114 - None, # 3115 - None, # 3116 - None, # 3117 - None, # 3118 - None, # 3119 - None, # 3120 - None, # 3121 - None, # 3122 - None, # 3123 - None, # 3124 - None, # 3125 - None, # 3126 - None, # 3127 - None, # 3128 - None, # 3129 - None, # 3130 - None, # 3131 - None, # 3132 - None, # 3133 - None, # 3134 - None, # 3135 - None, # 3136 - None, # 3137 - None, # 3138 - None, # 3139 - None, # 3140 - None, # 3141 - None, # 3142 - None, # 3143 - None, # 3144 - None, # 3145 - None, # 3146 - None, # 3147 - None, # 3148 - None, # 3149 - None, # 3150 - None, # 3151 - None, # 3152 - None, # 3153 - None, # 3154 - None, # 3155 - None, # 3156 - None, # 3157 - None, # 3158 - None, # 3159 - None, # 3160 - None, # 3161 - None, # 3162 - None, # 3163 - None, # 3164 - None, # 3165 - None, # 3166 - None, # 3167 - None, # 3168 - None, # 3169 - None, # 3170 - None, # 3171 - None, # 3172 - None, # 3173 - None, # 3174 - None, # 3175 - None, # 3176 - None, # 3177 - None, # 3178 - None, # 3179 - None, # 3180 - None, # 3181 - None, # 3182 - None, # 3183 - None, # 3184 - None, # 3185 - None, # 3186 - None, # 3187 - None, # 3188 - None, # 3189 - None, # 3190 - None, # 3191 - None, # 3192 - None, # 3193 - None, # 3194 - None, # 3195 - None, # 3196 - None, # 3197 - None, # 3198 - None, # 3199 - None, # 3200 - None, # 3201 - None, # 3202 - None, # 3203 - None, # 3204 - None, # 3205 - None, # 3206 - None, # 3207 - None, # 3208 - None, # 3209 - None, # 3210 - None, # 3211 - None, # 3212 - None, # 3213 - None, # 3214 - None, # 3215 - None, # 3216 - None, # 3217 - None, # 3218 - None, # 3219 - None, # 3220 - None, # 3221 - None, # 3222 - None, # 3223 - None, # 3224 - None, # 3225 - None, # 3226 - None, # 3227 - None, # 3228 - None, # 3229 - None, # 3230 - None, # 3231 - None, # 3232 - None, # 3233 - None, # 3234 - None, # 3235 - None, # 3236 - None, # 3237 - None, # 3238 - None, # 3239 - None, # 3240 - None, # 3241 - None, # 3242 - None, # 3243 - None, # 3244 - None, # 3245 - None, # 3246 - None, # 3247 - None, # 3248 - None, # 3249 - None, # 3250 - None, # 3251 - None, # 3252 - None, # 3253 - None, # 3254 - None, # 3255 - None, # 3256 - None, # 3257 - None, # 3258 - None, # 3259 - None, # 3260 - None, # 3261 - None, # 3262 - None, # 3263 - None, # 3264 - None, # 3265 - None, # 3266 - None, # 3267 - None, # 3268 - None, # 3269 - None, # 3270 - None, # 3271 - None, # 3272 - None, # 3273 - None, # 3274 - None, # 3275 - None, # 3276 - None, # 3277 - None, # 3278 - None, # 3279 - None, # 3280 - None, # 3281 - None, # 3282 - None, # 3283 - None, # 3284 - None, # 3285 - None, # 3286 - None, # 3287 - None, # 3288 - None, # 3289 - None, # 3290 - None, # 3291 - None, # 3292 - None, # 3293 - None, # 3294 - None, # 3295 - None, # 3296 - None, # 3297 - None, # 3298 - None, # 3299 - None, # 3300 - None, # 3301 - None, # 3302 - None, # 3303 - None, # 3304 - None, # 3305 - None, # 3306 - None, # 3307 - None, # 3308 - None, # 3309 - None, # 3310 - None, # 3311 - None, # 3312 - None, # 3313 - None, # 3314 - None, # 3315 - None, # 3316 - None, # 3317 - None, # 3318 - None, # 3319 - None, # 3320 - None, # 3321 - None, # 3322 - None, # 3323 - None, # 3324 - None, # 3325 - None, # 3326 - None, # 3327 - None, # 3328 - ( - 3329, - TType.STRUCT, - "operationId", - [THandleIdentifier, None], - None, - ), # 3329 - ( - 3330, - TType.STRUCT, - "sessionConf", - [TDBSqlSessionConf, None], - None, - ), # 3330 + None, # 0 + (1, TType.STRUCT, 'sessionHandle', [TSessionHandle, None], None, ), # 1 + None, # 2 + None, # 3 + None, # 4 + None, # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + (1281, TType.STRUCT, 'getDirectResults', [TSparkGetDirectResults, None], None, ), # 1281 + (1282, TType.BOOL, 'runAsync', None, False, ), # 1282 + None, # 1283 + None, # 1284 + None, # 1285 + None, # 1286 + None, # 1287 + None, # 1288 + None, # 1289 + None, # 1290 + None, # 1291 + None, # 1292 + None, # 1293 + None, # 1294 + None, # 1295 + None, # 1296 + None, # 1297 + None, # 1298 + None, # 1299 + None, # 1300 + None, # 1301 + None, # 1302 + None, # 1303 + None, # 1304 + None, # 1305 + None, # 1306 + None, # 1307 + None, # 1308 + None, # 1309 + None, # 1310 + None, # 1311 + None, # 1312 + None, # 1313 + None, # 1314 + None, # 1315 + None, # 1316 + None, # 1317 + None, # 1318 + None, # 1319 + None, # 1320 + None, # 1321 + None, # 1322 + None, # 1323 + None, # 1324 + None, # 1325 + None, # 1326 + None, # 1327 + None, # 1328 + None, # 1329 + None, # 1330 + None, # 1331 + None, # 1332 + None, # 1333 + None, # 1334 + None, # 1335 + None, # 1336 + None, # 1337 + None, # 1338 + None, # 1339 + None, # 1340 + None, # 1341 + None, # 1342 + None, # 1343 + None, # 1344 + None, # 1345 + None, # 1346 + None, # 1347 + None, # 1348 + None, # 1349 + None, # 1350 + None, # 1351 + None, # 1352 + None, # 1353 + None, # 1354 + None, # 1355 + None, # 1356 + None, # 1357 + None, # 1358 + None, # 1359 + None, # 1360 + None, # 1361 + None, # 1362 + None, # 1363 + None, # 1364 + None, # 1365 + None, # 1366 + None, # 1367 + None, # 1368 + None, # 1369 + None, # 1370 + None, # 1371 + None, # 1372 + None, # 1373 + None, # 1374 + None, # 1375 + None, # 1376 + None, # 1377 + None, # 1378 + None, # 1379 + None, # 1380 + None, # 1381 + None, # 1382 + None, # 1383 + None, # 1384 + None, # 1385 + None, # 1386 + None, # 1387 + None, # 1388 + None, # 1389 + None, # 1390 + None, # 1391 + None, # 1392 + None, # 1393 + None, # 1394 + None, # 1395 + None, # 1396 + None, # 1397 + None, # 1398 + None, # 1399 + None, # 1400 + None, # 1401 + None, # 1402 + None, # 1403 + None, # 1404 + None, # 1405 + None, # 1406 + None, # 1407 + None, # 1408 + None, # 1409 + None, # 1410 + None, # 1411 + None, # 1412 + None, # 1413 + None, # 1414 + None, # 1415 + None, # 1416 + None, # 1417 + None, # 1418 + None, # 1419 + None, # 1420 + None, # 1421 + None, # 1422 + None, # 1423 + None, # 1424 + None, # 1425 + None, # 1426 + None, # 1427 + None, # 1428 + None, # 1429 + None, # 1430 + None, # 1431 + None, # 1432 + None, # 1433 + None, # 1434 + None, # 1435 + None, # 1436 + None, # 1437 + None, # 1438 + None, # 1439 + None, # 1440 + None, # 1441 + None, # 1442 + None, # 1443 + None, # 1444 + None, # 1445 + None, # 1446 + None, # 1447 + None, # 1448 + None, # 1449 + None, # 1450 + None, # 1451 + None, # 1452 + None, # 1453 + None, # 1454 + None, # 1455 + None, # 1456 + None, # 1457 + None, # 1458 + None, # 1459 + None, # 1460 + None, # 1461 + None, # 1462 + None, # 1463 + None, # 1464 + None, # 1465 + None, # 1466 + None, # 1467 + None, # 1468 + None, # 1469 + None, # 1470 + None, # 1471 + None, # 1472 + None, # 1473 + None, # 1474 + None, # 1475 + None, # 1476 + None, # 1477 + None, # 1478 + None, # 1479 + None, # 1480 + None, # 1481 + None, # 1482 + None, # 1483 + None, # 1484 + None, # 1485 + None, # 1486 + None, # 1487 + None, # 1488 + None, # 1489 + None, # 1490 + None, # 1491 + None, # 1492 + None, # 1493 + None, # 1494 + None, # 1495 + None, # 1496 + None, # 1497 + None, # 1498 + None, # 1499 + None, # 1500 + None, # 1501 + None, # 1502 + None, # 1503 + None, # 1504 + None, # 1505 + None, # 1506 + None, # 1507 + None, # 1508 + None, # 1509 + None, # 1510 + None, # 1511 + None, # 1512 + None, # 1513 + None, # 1514 + None, # 1515 + None, # 1516 + None, # 1517 + None, # 1518 + None, # 1519 + None, # 1520 + None, # 1521 + None, # 1522 + None, # 1523 + None, # 1524 + None, # 1525 + None, # 1526 + None, # 1527 + None, # 1528 + None, # 1529 + None, # 1530 + None, # 1531 + None, # 1532 + None, # 1533 + None, # 1534 + None, # 1535 + None, # 1536 + None, # 1537 + None, # 1538 + None, # 1539 + None, # 1540 + None, # 1541 + None, # 1542 + None, # 1543 + None, # 1544 + None, # 1545 + None, # 1546 + None, # 1547 + None, # 1548 + None, # 1549 + None, # 1550 + None, # 1551 + None, # 1552 + None, # 1553 + None, # 1554 + None, # 1555 + None, # 1556 + None, # 1557 + None, # 1558 + None, # 1559 + None, # 1560 + None, # 1561 + None, # 1562 + None, # 1563 + None, # 1564 + None, # 1565 + None, # 1566 + None, # 1567 + None, # 1568 + None, # 1569 + None, # 1570 + None, # 1571 + None, # 1572 + None, # 1573 + None, # 1574 + None, # 1575 + None, # 1576 + None, # 1577 + None, # 1578 + None, # 1579 + None, # 1580 + None, # 1581 + None, # 1582 + None, # 1583 + None, # 1584 + None, # 1585 + None, # 1586 + None, # 1587 + None, # 1588 + None, # 1589 + None, # 1590 + None, # 1591 + None, # 1592 + None, # 1593 + None, # 1594 + None, # 1595 + None, # 1596 + None, # 1597 + None, # 1598 + None, # 1599 + None, # 1600 + None, # 1601 + None, # 1602 + None, # 1603 + None, # 1604 + None, # 1605 + None, # 1606 + None, # 1607 + None, # 1608 + None, # 1609 + None, # 1610 + None, # 1611 + None, # 1612 + None, # 1613 + None, # 1614 + None, # 1615 + None, # 1616 + None, # 1617 + None, # 1618 + None, # 1619 + None, # 1620 + None, # 1621 + None, # 1622 + None, # 1623 + None, # 1624 + None, # 1625 + None, # 1626 + None, # 1627 + None, # 1628 + None, # 1629 + None, # 1630 + None, # 1631 + None, # 1632 + None, # 1633 + None, # 1634 + None, # 1635 + None, # 1636 + None, # 1637 + None, # 1638 + None, # 1639 + None, # 1640 + None, # 1641 + None, # 1642 + None, # 1643 + None, # 1644 + None, # 1645 + None, # 1646 + None, # 1647 + None, # 1648 + None, # 1649 + None, # 1650 + None, # 1651 + None, # 1652 + None, # 1653 + None, # 1654 + None, # 1655 + None, # 1656 + None, # 1657 + None, # 1658 + None, # 1659 + None, # 1660 + None, # 1661 + None, # 1662 + None, # 1663 + None, # 1664 + None, # 1665 + None, # 1666 + None, # 1667 + None, # 1668 + None, # 1669 + None, # 1670 + None, # 1671 + None, # 1672 + None, # 1673 + None, # 1674 + None, # 1675 + None, # 1676 + None, # 1677 + None, # 1678 + None, # 1679 + None, # 1680 + None, # 1681 + None, # 1682 + None, # 1683 + None, # 1684 + None, # 1685 + None, # 1686 + None, # 1687 + None, # 1688 + None, # 1689 + None, # 1690 + None, # 1691 + None, # 1692 + None, # 1693 + None, # 1694 + None, # 1695 + None, # 1696 + None, # 1697 + None, # 1698 + None, # 1699 + None, # 1700 + None, # 1701 + None, # 1702 + None, # 1703 + None, # 1704 + None, # 1705 + None, # 1706 + None, # 1707 + None, # 1708 + None, # 1709 + None, # 1710 + None, # 1711 + None, # 1712 + None, # 1713 + None, # 1714 + None, # 1715 + None, # 1716 + None, # 1717 + None, # 1718 + None, # 1719 + None, # 1720 + None, # 1721 + None, # 1722 + None, # 1723 + None, # 1724 + None, # 1725 + None, # 1726 + None, # 1727 + None, # 1728 + None, # 1729 + None, # 1730 + None, # 1731 + None, # 1732 + None, # 1733 + None, # 1734 + None, # 1735 + None, # 1736 + None, # 1737 + None, # 1738 + None, # 1739 + None, # 1740 + None, # 1741 + None, # 1742 + None, # 1743 + None, # 1744 + None, # 1745 + None, # 1746 + None, # 1747 + None, # 1748 + None, # 1749 + None, # 1750 + None, # 1751 + None, # 1752 + None, # 1753 + None, # 1754 + None, # 1755 + None, # 1756 + None, # 1757 + None, # 1758 + None, # 1759 + None, # 1760 + None, # 1761 + None, # 1762 + None, # 1763 + None, # 1764 + None, # 1765 + None, # 1766 + None, # 1767 + None, # 1768 + None, # 1769 + None, # 1770 + None, # 1771 + None, # 1772 + None, # 1773 + None, # 1774 + None, # 1775 + None, # 1776 + None, # 1777 + None, # 1778 + None, # 1779 + None, # 1780 + None, # 1781 + None, # 1782 + None, # 1783 + None, # 1784 + None, # 1785 + None, # 1786 + None, # 1787 + None, # 1788 + None, # 1789 + None, # 1790 + None, # 1791 + None, # 1792 + None, # 1793 + None, # 1794 + None, # 1795 + None, # 1796 + None, # 1797 + None, # 1798 + None, # 1799 + None, # 1800 + None, # 1801 + None, # 1802 + None, # 1803 + None, # 1804 + None, # 1805 + None, # 1806 + None, # 1807 + None, # 1808 + None, # 1809 + None, # 1810 + None, # 1811 + None, # 1812 + None, # 1813 + None, # 1814 + None, # 1815 + None, # 1816 + None, # 1817 + None, # 1818 + None, # 1819 + None, # 1820 + None, # 1821 + None, # 1822 + None, # 1823 + None, # 1824 + None, # 1825 + None, # 1826 + None, # 1827 + None, # 1828 + None, # 1829 + None, # 1830 + None, # 1831 + None, # 1832 + None, # 1833 + None, # 1834 + None, # 1835 + None, # 1836 + None, # 1837 + None, # 1838 + None, # 1839 + None, # 1840 + None, # 1841 + None, # 1842 + None, # 1843 + None, # 1844 + None, # 1845 + None, # 1846 + None, # 1847 + None, # 1848 + None, # 1849 + None, # 1850 + None, # 1851 + None, # 1852 + None, # 1853 + None, # 1854 + None, # 1855 + None, # 1856 + None, # 1857 + None, # 1858 + None, # 1859 + None, # 1860 + None, # 1861 + None, # 1862 + None, # 1863 + None, # 1864 + None, # 1865 + None, # 1866 + None, # 1867 + None, # 1868 + None, # 1869 + None, # 1870 + None, # 1871 + None, # 1872 + None, # 1873 + None, # 1874 + None, # 1875 + None, # 1876 + None, # 1877 + None, # 1878 + None, # 1879 + None, # 1880 + None, # 1881 + None, # 1882 + None, # 1883 + None, # 1884 + None, # 1885 + None, # 1886 + None, # 1887 + None, # 1888 + None, # 1889 + None, # 1890 + None, # 1891 + None, # 1892 + None, # 1893 + None, # 1894 + None, # 1895 + None, # 1896 + None, # 1897 + None, # 1898 + None, # 1899 + None, # 1900 + None, # 1901 + None, # 1902 + None, # 1903 + None, # 1904 + None, # 1905 + None, # 1906 + None, # 1907 + None, # 1908 + None, # 1909 + None, # 1910 + None, # 1911 + None, # 1912 + None, # 1913 + None, # 1914 + None, # 1915 + None, # 1916 + None, # 1917 + None, # 1918 + None, # 1919 + None, # 1920 + None, # 1921 + None, # 1922 + None, # 1923 + None, # 1924 + None, # 1925 + None, # 1926 + None, # 1927 + None, # 1928 + None, # 1929 + None, # 1930 + None, # 1931 + None, # 1932 + None, # 1933 + None, # 1934 + None, # 1935 + None, # 1936 + None, # 1937 + None, # 1938 + None, # 1939 + None, # 1940 + None, # 1941 + None, # 1942 + None, # 1943 + None, # 1944 + None, # 1945 + None, # 1946 + None, # 1947 + None, # 1948 + None, # 1949 + None, # 1950 + None, # 1951 + None, # 1952 + None, # 1953 + None, # 1954 + None, # 1955 + None, # 1956 + None, # 1957 + None, # 1958 + None, # 1959 + None, # 1960 + None, # 1961 + None, # 1962 + None, # 1963 + None, # 1964 + None, # 1965 + None, # 1966 + None, # 1967 + None, # 1968 + None, # 1969 + None, # 1970 + None, # 1971 + None, # 1972 + None, # 1973 + None, # 1974 + None, # 1975 + None, # 1976 + None, # 1977 + None, # 1978 + None, # 1979 + None, # 1980 + None, # 1981 + None, # 1982 + None, # 1983 + None, # 1984 + None, # 1985 + None, # 1986 + None, # 1987 + None, # 1988 + None, # 1989 + None, # 1990 + None, # 1991 + None, # 1992 + None, # 1993 + None, # 1994 + None, # 1995 + None, # 1996 + None, # 1997 + None, # 1998 + None, # 1999 + None, # 2000 + None, # 2001 + None, # 2002 + None, # 2003 + None, # 2004 + None, # 2005 + None, # 2006 + None, # 2007 + None, # 2008 + None, # 2009 + None, # 2010 + None, # 2011 + None, # 2012 + None, # 2013 + None, # 2014 + None, # 2015 + None, # 2016 + None, # 2017 + None, # 2018 + None, # 2019 + None, # 2020 + None, # 2021 + None, # 2022 + None, # 2023 + None, # 2024 + None, # 2025 + None, # 2026 + None, # 2027 + None, # 2028 + None, # 2029 + None, # 2030 + None, # 2031 + None, # 2032 + None, # 2033 + None, # 2034 + None, # 2035 + None, # 2036 + None, # 2037 + None, # 2038 + None, # 2039 + None, # 2040 + None, # 2041 + None, # 2042 + None, # 2043 + None, # 2044 + None, # 2045 + None, # 2046 + None, # 2047 + None, # 2048 + None, # 2049 + None, # 2050 + None, # 2051 + None, # 2052 + None, # 2053 + None, # 2054 + None, # 2055 + None, # 2056 + None, # 2057 + None, # 2058 + None, # 2059 + None, # 2060 + None, # 2061 + None, # 2062 + None, # 2063 + None, # 2064 + None, # 2065 + None, # 2066 + None, # 2067 + None, # 2068 + None, # 2069 + None, # 2070 + None, # 2071 + None, # 2072 + None, # 2073 + None, # 2074 + None, # 2075 + None, # 2076 + None, # 2077 + None, # 2078 + None, # 2079 + None, # 2080 + None, # 2081 + None, # 2082 + None, # 2083 + None, # 2084 + None, # 2085 + None, # 2086 + None, # 2087 + None, # 2088 + None, # 2089 + None, # 2090 + None, # 2091 + None, # 2092 + None, # 2093 + None, # 2094 + None, # 2095 + None, # 2096 + None, # 2097 + None, # 2098 + None, # 2099 + None, # 2100 + None, # 2101 + None, # 2102 + None, # 2103 + None, # 2104 + None, # 2105 + None, # 2106 + None, # 2107 + None, # 2108 + None, # 2109 + None, # 2110 + None, # 2111 + None, # 2112 + None, # 2113 + None, # 2114 + None, # 2115 + None, # 2116 + None, # 2117 + None, # 2118 + None, # 2119 + None, # 2120 + None, # 2121 + None, # 2122 + None, # 2123 + None, # 2124 + None, # 2125 + None, # 2126 + None, # 2127 + None, # 2128 + None, # 2129 + None, # 2130 + None, # 2131 + None, # 2132 + None, # 2133 + None, # 2134 + None, # 2135 + None, # 2136 + None, # 2137 + None, # 2138 + None, # 2139 + None, # 2140 + None, # 2141 + None, # 2142 + None, # 2143 + None, # 2144 + None, # 2145 + None, # 2146 + None, # 2147 + None, # 2148 + None, # 2149 + None, # 2150 + None, # 2151 + None, # 2152 + None, # 2153 + None, # 2154 + None, # 2155 + None, # 2156 + None, # 2157 + None, # 2158 + None, # 2159 + None, # 2160 + None, # 2161 + None, # 2162 + None, # 2163 + None, # 2164 + None, # 2165 + None, # 2166 + None, # 2167 + None, # 2168 + None, # 2169 + None, # 2170 + None, # 2171 + None, # 2172 + None, # 2173 + None, # 2174 + None, # 2175 + None, # 2176 + None, # 2177 + None, # 2178 + None, # 2179 + None, # 2180 + None, # 2181 + None, # 2182 + None, # 2183 + None, # 2184 + None, # 2185 + None, # 2186 + None, # 2187 + None, # 2188 + None, # 2189 + None, # 2190 + None, # 2191 + None, # 2192 + None, # 2193 + None, # 2194 + None, # 2195 + None, # 2196 + None, # 2197 + None, # 2198 + None, # 2199 + None, # 2200 + None, # 2201 + None, # 2202 + None, # 2203 + None, # 2204 + None, # 2205 + None, # 2206 + None, # 2207 + None, # 2208 + None, # 2209 + None, # 2210 + None, # 2211 + None, # 2212 + None, # 2213 + None, # 2214 + None, # 2215 + None, # 2216 + None, # 2217 + None, # 2218 + None, # 2219 + None, # 2220 + None, # 2221 + None, # 2222 + None, # 2223 + None, # 2224 + None, # 2225 + None, # 2226 + None, # 2227 + None, # 2228 + None, # 2229 + None, # 2230 + None, # 2231 + None, # 2232 + None, # 2233 + None, # 2234 + None, # 2235 + None, # 2236 + None, # 2237 + None, # 2238 + None, # 2239 + None, # 2240 + None, # 2241 + None, # 2242 + None, # 2243 + None, # 2244 + None, # 2245 + None, # 2246 + None, # 2247 + None, # 2248 + None, # 2249 + None, # 2250 + None, # 2251 + None, # 2252 + None, # 2253 + None, # 2254 + None, # 2255 + None, # 2256 + None, # 2257 + None, # 2258 + None, # 2259 + None, # 2260 + None, # 2261 + None, # 2262 + None, # 2263 + None, # 2264 + None, # 2265 + None, # 2266 + None, # 2267 + None, # 2268 + None, # 2269 + None, # 2270 + None, # 2271 + None, # 2272 + None, # 2273 + None, # 2274 + None, # 2275 + None, # 2276 + None, # 2277 + None, # 2278 + None, # 2279 + None, # 2280 + None, # 2281 + None, # 2282 + None, # 2283 + None, # 2284 + None, # 2285 + None, # 2286 + None, # 2287 + None, # 2288 + None, # 2289 + None, # 2290 + None, # 2291 + None, # 2292 + None, # 2293 + None, # 2294 + None, # 2295 + None, # 2296 + None, # 2297 + None, # 2298 + None, # 2299 + None, # 2300 + None, # 2301 + None, # 2302 + None, # 2303 + None, # 2304 + None, # 2305 + None, # 2306 + None, # 2307 + None, # 2308 + None, # 2309 + None, # 2310 + None, # 2311 + None, # 2312 + None, # 2313 + None, # 2314 + None, # 2315 + None, # 2316 + None, # 2317 + None, # 2318 + None, # 2319 + None, # 2320 + None, # 2321 + None, # 2322 + None, # 2323 + None, # 2324 + None, # 2325 + None, # 2326 + None, # 2327 + None, # 2328 + None, # 2329 + None, # 2330 + None, # 2331 + None, # 2332 + None, # 2333 + None, # 2334 + None, # 2335 + None, # 2336 + None, # 2337 + None, # 2338 + None, # 2339 + None, # 2340 + None, # 2341 + None, # 2342 + None, # 2343 + None, # 2344 + None, # 2345 + None, # 2346 + None, # 2347 + None, # 2348 + None, # 2349 + None, # 2350 + None, # 2351 + None, # 2352 + None, # 2353 + None, # 2354 + None, # 2355 + None, # 2356 + None, # 2357 + None, # 2358 + None, # 2359 + None, # 2360 + None, # 2361 + None, # 2362 + None, # 2363 + None, # 2364 + None, # 2365 + None, # 2366 + None, # 2367 + None, # 2368 + None, # 2369 + None, # 2370 + None, # 2371 + None, # 2372 + None, # 2373 + None, # 2374 + None, # 2375 + None, # 2376 + None, # 2377 + None, # 2378 + None, # 2379 + None, # 2380 + None, # 2381 + None, # 2382 + None, # 2383 + None, # 2384 + None, # 2385 + None, # 2386 + None, # 2387 + None, # 2388 + None, # 2389 + None, # 2390 + None, # 2391 + None, # 2392 + None, # 2393 + None, # 2394 + None, # 2395 + None, # 2396 + None, # 2397 + None, # 2398 + None, # 2399 + None, # 2400 + None, # 2401 + None, # 2402 + None, # 2403 + None, # 2404 + None, # 2405 + None, # 2406 + None, # 2407 + None, # 2408 + None, # 2409 + None, # 2410 + None, # 2411 + None, # 2412 + None, # 2413 + None, # 2414 + None, # 2415 + None, # 2416 + None, # 2417 + None, # 2418 + None, # 2419 + None, # 2420 + None, # 2421 + None, # 2422 + None, # 2423 + None, # 2424 + None, # 2425 + None, # 2426 + None, # 2427 + None, # 2428 + None, # 2429 + None, # 2430 + None, # 2431 + None, # 2432 + None, # 2433 + None, # 2434 + None, # 2435 + None, # 2436 + None, # 2437 + None, # 2438 + None, # 2439 + None, # 2440 + None, # 2441 + None, # 2442 + None, # 2443 + None, # 2444 + None, # 2445 + None, # 2446 + None, # 2447 + None, # 2448 + None, # 2449 + None, # 2450 + None, # 2451 + None, # 2452 + None, # 2453 + None, # 2454 + None, # 2455 + None, # 2456 + None, # 2457 + None, # 2458 + None, # 2459 + None, # 2460 + None, # 2461 + None, # 2462 + None, # 2463 + None, # 2464 + None, # 2465 + None, # 2466 + None, # 2467 + None, # 2468 + None, # 2469 + None, # 2470 + None, # 2471 + None, # 2472 + None, # 2473 + None, # 2474 + None, # 2475 + None, # 2476 + None, # 2477 + None, # 2478 + None, # 2479 + None, # 2480 + None, # 2481 + None, # 2482 + None, # 2483 + None, # 2484 + None, # 2485 + None, # 2486 + None, # 2487 + None, # 2488 + None, # 2489 + None, # 2490 + None, # 2491 + None, # 2492 + None, # 2493 + None, # 2494 + None, # 2495 + None, # 2496 + None, # 2497 + None, # 2498 + None, # 2499 + None, # 2500 + None, # 2501 + None, # 2502 + None, # 2503 + None, # 2504 + None, # 2505 + None, # 2506 + None, # 2507 + None, # 2508 + None, # 2509 + None, # 2510 + None, # 2511 + None, # 2512 + None, # 2513 + None, # 2514 + None, # 2515 + None, # 2516 + None, # 2517 + None, # 2518 + None, # 2519 + None, # 2520 + None, # 2521 + None, # 2522 + None, # 2523 + None, # 2524 + None, # 2525 + None, # 2526 + None, # 2527 + None, # 2528 + None, # 2529 + None, # 2530 + None, # 2531 + None, # 2532 + None, # 2533 + None, # 2534 + None, # 2535 + None, # 2536 + None, # 2537 + None, # 2538 + None, # 2539 + None, # 2540 + None, # 2541 + None, # 2542 + None, # 2543 + None, # 2544 + None, # 2545 + None, # 2546 + None, # 2547 + None, # 2548 + None, # 2549 + None, # 2550 + None, # 2551 + None, # 2552 + None, # 2553 + None, # 2554 + None, # 2555 + None, # 2556 + None, # 2557 + None, # 2558 + None, # 2559 + None, # 2560 + None, # 2561 + None, # 2562 + None, # 2563 + None, # 2564 + None, # 2565 + None, # 2566 + None, # 2567 + None, # 2568 + None, # 2569 + None, # 2570 + None, # 2571 + None, # 2572 + None, # 2573 + None, # 2574 + None, # 2575 + None, # 2576 + None, # 2577 + None, # 2578 + None, # 2579 + None, # 2580 + None, # 2581 + None, # 2582 + None, # 2583 + None, # 2584 + None, # 2585 + None, # 2586 + None, # 2587 + None, # 2588 + None, # 2589 + None, # 2590 + None, # 2591 + None, # 2592 + None, # 2593 + None, # 2594 + None, # 2595 + None, # 2596 + None, # 2597 + None, # 2598 + None, # 2599 + None, # 2600 + None, # 2601 + None, # 2602 + None, # 2603 + None, # 2604 + None, # 2605 + None, # 2606 + None, # 2607 + None, # 2608 + None, # 2609 + None, # 2610 + None, # 2611 + None, # 2612 + None, # 2613 + None, # 2614 + None, # 2615 + None, # 2616 + None, # 2617 + None, # 2618 + None, # 2619 + None, # 2620 + None, # 2621 + None, # 2622 + None, # 2623 + None, # 2624 + None, # 2625 + None, # 2626 + None, # 2627 + None, # 2628 + None, # 2629 + None, # 2630 + None, # 2631 + None, # 2632 + None, # 2633 + None, # 2634 + None, # 2635 + None, # 2636 + None, # 2637 + None, # 2638 + None, # 2639 + None, # 2640 + None, # 2641 + None, # 2642 + None, # 2643 + None, # 2644 + None, # 2645 + None, # 2646 + None, # 2647 + None, # 2648 + None, # 2649 + None, # 2650 + None, # 2651 + None, # 2652 + None, # 2653 + None, # 2654 + None, # 2655 + None, # 2656 + None, # 2657 + None, # 2658 + None, # 2659 + None, # 2660 + None, # 2661 + None, # 2662 + None, # 2663 + None, # 2664 + None, # 2665 + None, # 2666 + None, # 2667 + None, # 2668 + None, # 2669 + None, # 2670 + None, # 2671 + None, # 2672 + None, # 2673 + None, # 2674 + None, # 2675 + None, # 2676 + None, # 2677 + None, # 2678 + None, # 2679 + None, # 2680 + None, # 2681 + None, # 2682 + None, # 2683 + None, # 2684 + None, # 2685 + None, # 2686 + None, # 2687 + None, # 2688 + None, # 2689 + None, # 2690 + None, # 2691 + None, # 2692 + None, # 2693 + None, # 2694 + None, # 2695 + None, # 2696 + None, # 2697 + None, # 2698 + None, # 2699 + None, # 2700 + None, # 2701 + None, # 2702 + None, # 2703 + None, # 2704 + None, # 2705 + None, # 2706 + None, # 2707 + None, # 2708 + None, # 2709 + None, # 2710 + None, # 2711 + None, # 2712 + None, # 2713 + None, # 2714 + None, # 2715 + None, # 2716 + None, # 2717 + None, # 2718 + None, # 2719 + None, # 2720 + None, # 2721 + None, # 2722 + None, # 2723 + None, # 2724 + None, # 2725 + None, # 2726 + None, # 2727 + None, # 2728 + None, # 2729 + None, # 2730 + None, # 2731 + None, # 2732 + None, # 2733 + None, # 2734 + None, # 2735 + None, # 2736 + None, # 2737 + None, # 2738 + None, # 2739 + None, # 2740 + None, # 2741 + None, # 2742 + None, # 2743 + None, # 2744 + None, # 2745 + None, # 2746 + None, # 2747 + None, # 2748 + None, # 2749 + None, # 2750 + None, # 2751 + None, # 2752 + None, # 2753 + None, # 2754 + None, # 2755 + None, # 2756 + None, # 2757 + None, # 2758 + None, # 2759 + None, # 2760 + None, # 2761 + None, # 2762 + None, # 2763 + None, # 2764 + None, # 2765 + None, # 2766 + None, # 2767 + None, # 2768 + None, # 2769 + None, # 2770 + None, # 2771 + None, # 2772 + None, # 2773 + None, # 2774 + None, # 2775 + None, # 2776 + None, # 2777 + None, # 2778 + None, # 2779 + None, # 2780 + None, # 2781 + None, # 2782 + None, # 2783 + None, # 2784 + None, # 2785 + None, # 2786 + None, # 2787 + None, # 2788 + None, # 2789 + None, # 2790 + None, # 2791 + None, # 2792 + None, # 2793 + None, # 2794 + None, # 2795 + None, # 2796 + None, # 2797 + None, # 2798 + None, # 2799 + None, # 2800 + None, # 2801 + None, # 2802 + None, # 2803 + None, # 2804 + None, # 2805 + None, # 2806 + None, # 2807 + None, # 2808 + None, # 2809 + None, # 2810 + None, # 2811 + None, # 2812 + None, # 2813 + None, # 2814 + None, # 2815 + None, # 2816 + None, # 2817 + None, # 2818 + None, # 2819 + None, # 2820 + None, # 2821 + None, # 2822 + None, # 2823 + None, # 2824 + None, # 2825 + None, # 2826 + None, # 2827 + None, # 2828 + None, # 2829 + None, # 2830 + None, # 2831 + None, # 2832 + None, # 2833 + None, # 2834 + None, # 2835 + None, # 2836 + None, # 2837 + None, # 2838 + None, # 2839 + None, # 2840 + None, # 2841 + None, # 2842 + None, # 2843 + None, # 2844 + None, # 2845 + None, # 2846 + None, # 2847 + None, # 2848 + None, # 2849 + None, # 2850 + None, # 2851 + None, # 2852 + None, # 2853 + None, # 2854 + None, # 2855 + None, # 2856 + None, # 2857 + None, # 2858 + None, # 2859 + None, # 2860 + None, # 2861 + None, # 2862 + None, # 2863 + None, # 2864 + None, # 2865 + None, # 2866 + None, # 2867 + None, # 2868 + None, # 2869 + None, # 2870 + None, # 2871 + None, # 2872 + None, # 2873 + None, # 2874 + None, # 2875 + None, # 2876 + None, # 2877 + None, # 2878 + None, # 2879 + None, # 2880 + None, # 2881 + None, # 2882 + None, # 2883 + None, # 2884 + None, # 2885 + None, # 2886 + None, # 2887 + None, # 2888 + None, # 2889 + None, # 2890 + None, # 2891 + None, # 2892 + None, # 2893 + None, # 2894 + None, # 2895 + None, # 2896 + None, # 2897 + None, # 2898 + None, # 2899 + None, # 2900 + None, # 2901 + None, # 2902 + None, # 2903 + None, # 2904 + None, # 2905 + None, # 2906 + None, # 2907 + None, # 2908 + None, # 2909 + None, # 2910 + None, # 2911 + None, # 2912 + None, # 2913 + None, # 2914 + None, # 2915 + None, # 2916 + None, # 2917 + None, # 2918 + None, # 2919 + None, # 2920 + None, # 2921 + None, # 2922 + None, # 2923 + None, # 2924 + None, # 2925 + None, # 2926 + None, # 2927 + None, # 2928 + None, # 2929 + None, # 2930 + None, # 2931 + None, # 2932 + None, # 2933 + None, # 2934 + None, # 2935 + None, # 2936 + None, # 2937 + None, # 2938 + None, # 2939 + None, # 2940 + None, # 2941 + None, # 2942 + None, # 2943 + None, # 2944 + None, # 2945 + None, # 2946 + None, # 2947 + None, # 2948 + None, # 2949 + None, # 2950 + None, # 2951 + None, # 2952 + None, # 2953 + None, # 2954 + None, # 2955 + None, # 2956 + None, # 2957 + None, # 2958 + None, # 2959 + None, # 2960 + None, # 2961 + None, # 2962 + None, # 2963 + None, # 2964 + None, # 2965 + None, # 2966 + None, # 2967 + None, # 2968 + None, # 2969 + None, # 2970 + None, # 2971 + None, # 2972 + None, # 2973 + None, # 2974 + None, # 2975 + None, # 2976 + None, # 2977 + None, # 2978 + None, # 2979 + None, # 2980 + None, # 2981 + None, # 2982 + None, # 2983 + None, # 2984 + None, # 2985 + None, # 2986 + None, # 2987 + None, # 2988 + None, # 2989 + None, # 2990 + None, # 2991 + None, # 2992 + None, # 2993 + None, # 2994 + None, # 2995 + None, # 2996 + None, # 2997 + None, # 2998 + None, # 2999 + None, # 3000 + None, # 3001 + None, # 3002 + None, # 3003 + None, # 3004 + None, # 3005 + None, # 3006 + None, # 3007 + None, # 3008 + None, # 3009 + None, # 3010 + None, # 3011 + None, # 3012 + None, # 3013 + None, # 3014 + None, # 3015 + None, # 3016 + None, # 3017 + None, # 3018 + None, # 3019 + None, # 3020 + None, # 3021 + None, # 3022 + None, # 3023 + None, # 3024 + None, # 3025 + None, # 3026 + None, # 3027 + None, # 3028 + None, # 3029 + None, # 3030 + None, # 3031 + None, # 3032 + None, # 3033 + None, # 3034 + None, # 3035 + None, # 3036 + None, # 3037 + None, # 3038 + None, # 3039 + None, # 3040 + None, # 3041 + None, # 3042 + None, # 3043 + None, # 3044 + None, # 3045 + None, # 3046 + None, # 3047 + None, # 3048 + None, # 3049 + None, # 3050 + None, # 3051 + None, # 3052 + None, # 3053 + None, # 3054 + None, # 3055 + None, # 3056 + None, # 3057 + None, # 3058 + None, # 3059 + None, # 3060 + None, # 3061 + None, # 3062 + None, # 3063 + None, # 3064 + None, # 3065 + None, # 3066 + None, # 3067 + None, # 3068 + None, # 3069 + None, # 3070 + None, # 3071 + None, # 3072 + None, # 3073 + None, # 3074 + None, # 3075 + None, # 3076 + None, # 3077 + None, # 3078 + None, # 3079 + None, # 3080 + None, # 3081 + None, # 3082 + None, # 3083 + None, # 3084 + None, # 3085 + None, # 3086 + None, # 3087 + None, # 3088 + None, # 3089 + None, # 3090 + None, # 3091 + None, # 3092 + None, # 3093 + None, # 3094 + None, # 3095 + None, # 3096 + None, # 3097 + None, # 3098 + None, # 3099 + None, # 3100 + None, # 3101 + None, # 3102 + None, # 3103 + None, # 3104 + None, # 3105 + None, # 3106 + None, # 3107 + None, # 3108 + None, # 3109 + None, # 3110 + None, # 3111 + None, # 3112 + None, # 3113 + None, # 3114 + None, # 3115 + None, # 3116 + None, # 3117 + None, # 3118 + None, # 3119 + None, # 3120 + None, # 3121 + None, # 3122 + None, # 3123 + None, # 3124 + None, # 3125 + None, # 3126 + None, # 3127 + None, # 3128 + None, # 3129 + None, # 3130 + None, # 3131 + None, # 3132 + None, # 3133 + None, # 3134 + None, # 3135 + None, # 3136 + None, # 3137 + None, # 3138 + None, # 3139 + None, # 3140 + None, # 3141 + None, # 3142 + None, # 3143 + None, # 3144 + None, # 3145 + None, # 3146 + None, # 3147 + None, # 3148 + None, # 3149 + None, # 3150 + None, # 3151 + None, # 3152 + None, # 3153 + None, # 3154 + None, # 3155 + None, # 3156 + None, # 3157 + None, # 3158 + None, # 3159 + None, # 3160 + None, # 3161 + None, # 3162 + None, # 3163 + None, # 3164 + None, # 3165 + None, # 3166 + None, # 3167 + None, # 3168 + None, # 3169 + None, # 3170 + None, # 3171 + None, # 3172 + None, # 3173 + None, # 3174 + None, # 3175 + None, # 3176 + None, # 3177 + None, # 3178 + None, # 3179 + None, # 3180 + None, # 3181 + None, # 3182 + None, # 3183 + None, # 3184 + None, # 3185 + None, # 3186 + None, # 3187 + None, # 3188 + None, # 3189 + None, # 3190 + None, # 3191 + None, # 3192 + None, # 3193 + None, # 3194 + None, # 3195 + None, # 3196 + None, # 3197 + None, # 3198 + None, # 3199 + None, # 3200 + None, # 3201 + None, # 3202 + None, # 3203 + None, # 3204 + None, # 3205 + None, # 3206 + None, # 3207 + None, # 3208 + None, # 3209 + None, # 3210 + None, # 3211 + None, # 3212 + None, # 3213 + None, # 3214 + None, # 3215 + None, # 3216 + None, # 3217 + None, # 3218 + None, # 3219 + None, # 3220 + None, # 3221 + None, # 3222 + None, # 3223 + None, # 3224 + None, # 3225 + None, # 3226 + None, # 3227 + None, # 3228 + None, # 3229 + None, # 3230 + None, # 3231 + None, # 3232 + None, # 3233 + None, # 3234 + None, # 3235 + None, # 3236 + None, # 3237 + None, # 3238 + None, # 3239 + None, # 3240 + None, # 3241 + None, # 3242 + None, # 3243 + None, # 3244 + None, # 3245 + None, # 3246 + None, # 3247 + None, # 3248 + None, # 3249 + None, # 3250 + None, # 3251 + None, # 3252 + None, # 3253 + None, # 3254 + None, # 3255 + None, # 3256 + None, # 3257 + None, # 3258 + None, # 3259 + None, # 3260 + None, # 3261 + None, # 3262 + None, # 3263 + None, # 3264 + None, # 3265 + None, # 3266 + None, # 3267 + None, # 3268 + None, # 3269 + None, # 3270 + None, # 3271 + None, # 3272 + None, # 3273 + None, # 3274 + None, # 3275 + None, # 3276 + None, # 3277 + None, # 3278 + None, # 3279 + None, # 3280 + None, # 3281 + None, # 3282 + None, # 3283 + None, # 3284 + None, # 3285 + None, # 3286 + None, # 3287 + None, # 3288 + None, # 3289 + None, # 3290 + None, # 3291 + None, # 3292 + None, # 3293 + None, # 3294 + None, # 3295 + None, # 3296 + None, # 3297 + None, # 3298 + None, # 3299 + None, # 3300 + None, # 3301 + None, # 3302 + None, # 3303 + None, # 3304 + None, # 3305 + None, # 3306 + None, # 3307 + None, # 3308 + None, # 3309 + None, # 3310 + None, # 3311 + None, # 3312 + None, # 3313 + None, # 3314 + None, # 3315 + None, # 3316 + None, # 3317 + None, # 3318 + None, # 3319 + None, # 3320 + None, # 3321 + None, # 3322 + None, # 3323 + None, # 3324 + None, # 3325 + None, # 3326 + None, # 3327 + None, # 3328 + (3329, TType.STRUCT, 'operationId', [THandleIdentifier, None], None, ), # 3329 + (3330, TType.STRUCT, 'sessionConf', [TDBSqlSessionConf, None], None, ), # 3330 ) all_structs.append(TGetCatalogsResp) TGetCatalogsResp.thrift_spec = ( - None, # 0 - ( - 1, - TType.STRUCT, - "status", - [TStatus, None], - None, - ), # 1 - ( - 2, - TType.STRUCT, - "operationHandle", - [TOperationHandle, None], - None, - ), # 2 - None, # 3 - None, # 4 - None, # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - ( - 1281, - TType.STRUCT, - "directResults", - [TSparkDirectResults, None], - None, - ), # 1281 + None, # 0 + (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 + (2, TType.STRUCT, 'operationHandle', [TOperationHandle, None], None, ), # 2 + None, # 3 + None, # 4 + None, # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + (1281, TType.STRUCT, 'directResults', [TSparkDirectResults, None], None, ), # 1281 ) all_structs.append(TGetSchemasReq) TGetSchemasReq.thrift_spec = ( - None, # 0 - ( - 1, - TType.STRUCT, - "sessionHandle", - [TSessionHandle, None], - None, - ), # 1 - ( - 2, - TType.STRING, - "catalogName", - "UTF8", - None, - ), # 2 - ( - 3, - TType.STRING, - "schemaName", - "UTF8", - None, - ), # 3 - None, # 4 - None, # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - ( - 1281, - TType.STRUCT, - "getDirectResults", - [TSparkGetDirectResults, None], - None, - ), # 1281 - ( - 1282, - TType.BOOL, - "runAsync", - None, - False, - ), # 1282 - None, # 1283 - None, # 1284 - None, # 1285 - None, # 1286 - None, # 1287 - None, # 1288 - None, # 1289 - None, # 1290 - None, # 1291 - None, # 1292 - None, # 1293 - None, # 1294 - None, # 1295 - None, # 1296 - None, # 1297 - None, # 1298 - None, # 1299 - None, # 1300 - None, # 1301 - None, # 1302 - None, # 1303 - None, # 1304 - None, # 1305 - None, # 1306 - None, # 1307 - None, # 1308 - None, # 1309 - None, # 1310 - None, # 1311 - None, # 1312 - None, # 1313 - None, # 1314 - None, # 1315 - None, # 1316 - None, # 1317 - None, # 1318 - None, # 1319 - None, # 1320 - None, # 1321 - None, # 1322 - None, # 1323 - None, # 1324 - None, # 1325 - None, # 1326 - None, # 1327 - None, # 1328 - None, # 1329 - None, # 1330 - None, # 1331 - None, # 1332 - None, # 1333 - None, # 1334 - None, # 1335 - None, # 1336 - None, # 1337 - None, # 1338 - None, # 1339 - None, # 1340 - None, # 1341 - None, # 1342 - None, # 1343 - None, # 1344 - None, # 1345 - None, # 1346 - None, # 1347 - None, # 1348 - None, # 1349 - None, # 1350 - None, # 1351 - None, # 1352 - None, # 1353 - None, # 1354 - None, # 1355 - None, # 1356 - None, # 1357 - None, # 1358 - None, # 1359 - None, # 1360 - None, # 1361 - None, # 1362 - None, # 1363 - None, # 1364 - None, # 1365 - None, # 1366 - None, # 1367 - None, # 1368 - None, # 1369 - None, # 1370 - None, # 1371 - None, # 1372 - None, # 1373 - None, # 1374 - None, # 1375 - None, # 1376 - None, # 1377 - None, # 1378 - None, # 1379 - None, # 1380 - None, # 1381 - None, # 1382 - None, # 1383 - None, # 1384 - None, # 1385 - None, # 1386 - None, # 1387 - None, # 1388 - None, # 1389 - None, # 1390 - None, # 1391 - None, # 1392 - None, # 1393 - None, # 1394 - None, # 1395 - None, # 1396 - None, # 1397 - None, # 1398 - None, # 1399 - None, # 1400 - None, # 1401 - None, # 1402 - None, # 1403 - None, # 1404 - None, # 1405 - None, # 1406 - None, # 1407 - None, # 1408 - None, # 1409 - None, # 1410 - None, # 1411 - None, # 1412 - None, # 1413 - None, # 1414 - None, # 1415 - None, # 1416 - None, # 1417 - None, # 1418 - None, # 1419 - None, # 1420 - None, # 1421 - None, # 1422 - None, # 1423 - None, # 1424 - None, # 1425 - None, # 1426 - None, # 1427 - None, # 1428 - None, # 1429 - None, # 1430 - None, # 1431 - None, # 1432 - None, # 1433 - None, # 1434 - None, # 1435 - None, # 1436 - None, # 1437 - None, # 1438 - None, # 1439 - None, # 1440 - None, # 1441 - None, # 1442 - None, # 1443 - None, # 1444 - None, # 1445 - None, # 1446 - None, # 1447 - None, # 1448 - None, # 1449 - None, # 1450 - None, # 1451 - None, # 1452 - None, # 1453 - None, # 1454 - None, # 1455 - None, # 1456 - None, # 1457 - None, # 1458 - None, # 1459 - None, # 1460 - None, # 1461 - None, # 1462 - None, # 1463 - None, # 1464 - None, # 1465 - None, # 1466 - None, # 1467 - None, # 1468 - None, # 1469 - None, # 1470 - None, # 1471 - None, # 1472 - None, # 1473 - None, # 1474 - None, # 1475 - None, # 1476 - None, # 1477 - None, # 1478 - None, # 1479 - None, # 1480 - None, # 1481 - None, # 1482 - None, # 1483 - None, # 1484 - None, # 1485 - None, # 1486 - None, # 1487 - None, # 1488 - None, # 1489 - None, # 1490 - None, # 1491 - None, # 1492 - None, # 1493 - None, # 1494 - None, # 1495 - None, # 1496 - None, # 1497 - None, # 1498 - None, # 1499 - None, # 1500 - None, # 1501 - None, # 1502 - None, # 1503 - None, # 1504 - None, # 1505 - None, # 1506 - None, # 1507 - None, # 1508 - None, # 1509 - None, # 1510 - None, # 1511 - None, # 1512 - None, # 1513 - None, # 1514 - None, # 1515 - None, # 1516 - None, # 1517 - None, # 1518 - None, # 1519 - None, # 1520 - None, # 1521 - None, # 1522 - None, # 1523 - None, # 1524 - None, # 1525 - None, # 1526 - None, # 1527 - None, # 1528 - None, # 1529 - None, # 1530 - None, # 1531 - None, # 1532 - None, # 1533 - None, # 1534 - None, # 1535 - None, # 1536 - None, # 1537 - None, # 1538 - None, # 1539 - None, # 1540 - None, # 1541 - None, # 1542 - None, # 1543 - None, # 1544 - None, # 1545 - None, # 1546 - None, # 1547 - None, # 1548 - None, # 1549 - None, # 1550 - None, # 1551 - None, # 1552 - None, # 1553 - None, # 1554 - None, # 1555 - None, # 1556 - None, # 1557 - None, # 1558 - None, # 1559 - None, # 1560 - None, # 1561 - None, # 1562 - None, # 1563 - None, # 1564 - None, # 1565 - None, # 1566 - None, # 1567 - None, # 1568 - None, # 1569 - None, # 1570 - None, # 1571 - None, # 1572 - None, # 1573 - None, # 1574 - None, # 1575 - None, # 1576 - None, # 1577 - None, # 1578 - None, # 1579 - None, # 1580 - None, # 1581 - None, # 1582 - None, # 1583 - None, # 1584 - None, # 1585 - None, # 1586 - None, # 1587 - None, # 1588 - None, # 1589 - None, # 1590 - None, # 1591 - None, # 1592 - None, # 1593 - None, # 1594 - None, # 1595 - None, # 1596 - None, # 1597 - None, # 1598 - None, # 1599 - None, # 1600 - None, # 1601 - None, # 1602 - None, # 1603 - None, # 1604 - None, # 1605 - None, # 1606 - None, # 1607 - None, # 1608 - None, # 1609 - None, # 1610 - None, # 1611 - None, # 1612 - None, # 1613 - None, # 1614 - None, # 1615 - None, # 1616 - None, # 1617 - None, # 1618 - None, # 1619 - None, # 1620 - None, # 1621 - None, # 1622 - None, # 1623 - None, # 1624 - None, # 1625 - None, # 1626 - None, # 1627 - None, # 1628 - None, # 1629 - None, # 1630 - None, # 1631 - None, # 1632 - None, # 1633 - None, # 1634 - None, # 1635 - None, # 1636 - None, # 1637 - None, # 1638 - None, # 1639 - None, # 1640 - None, # 1641 - None, # 1642 - None, # 1643 - None, # 1644 - None, # 1645 - None, # 1646 - None, # 1647 - None, # 1648 - None, # 1649 - None, # 1650 - None, # 1651 - None, # 1652 - None, # 1653 - None, # 1654 - None, # 1655 - None, # 1656 - None, # 1657 - None, # 1658 - None, # 1659 - None, # 1660 - None, # 1661 - None, # 1662 - None, # 1663 - None, # 1664 - None, # 1665 - None, # 1666 - None, # 1667 - None, # 1668 - None, # 1669 - None, # 1670 - None, # 1671 - None, # 1672 - None, # 1673 - None, # 1674 - None, # 1675 - None, # 1676 - None, # 1677 - None, # 1678 - None, # 1679 - None, # 1680 - None, # 1681 - None, # 1682 - None, # 1683 - None, # 1684 - None, # 1685 - None, # 1686 - None, # 1687 - None, # 1688 - None, # 1689 - None, # 1690 - None, # 1691 - None, # 1692 - None, # 1693 - None, # 1694 - None, # 1695 - None, # 1696 - None, # 1697 - None, # 1698 - None, # 1699 - None, # 1700 - None, # 1701 - None, # 1702 - None, # 1703 - None, # 1704 - None, # 1705 - None, # 1706 - None, # 1707 - None, # 1708 - None, # 1709 - None, # 1710 - None, # 1711 - None, # 1712 - None, # 1713 - None, # 1714 - None, # 1715 - None, # 1716 - None, # 1717 - None, # 1718 - None, # 1719 - None, # 1720 - None, # 1721 - None, # 1722 - None, # 1723 - None, # 1724 - None, # 1725 - None, # 1726 - None, # 1727 - None, # 1728 - None, # 1729 - None, # 1730 - None, # 1731 - None, # 1732 - None, # 1733 - None, # 1734 - None, # 1735 - None, # 1736 - None, # 1737 - None, # 1738 - None, # 1739 - None, # 1740 - None, # 1741 - None, # 1742 - None, # 1743 - None, # 1744 - None, # 1745 - None, # 1746 - None, # 1747 - None, # 1748 - None, # 1749 - None, # 1750 - None, # 1751 - None, # 1752 - None, # 1753 - None, # 1754 - None, # 1755 - None, # 1756 - None, # 1757 - None, # 1758 - None, # 1759 - None, # 1760 - None, # 1761 - None, # 1762 - None, # 1763 - None, # 1764 - None, # 1765 - None, # 1766 - None, # 1767 - None, # 1768 - None, # 1769 - None, # 1770 - None, # 1771 - None, # 1772 - None, # 1773 - None, # 1774 - None, # 1775 - None, # 1776 - None, # 1777 - None, # 1778 - None, # 1779 - None, # 1780 - None, # 1781 - None, # 1782 - None, # 1783 - None, # 1784 - None, # 1785 - None, # 1786 - None, # 1787 - None, # 1788 - None, # 1789 - None, # 1790 - None, # 1791 - None, # 1792 - None, # 1793 - None, # 1794 - None, # 1795 - None, # 1796 - None, # 1797 - None, # 1798 - None, # 1799 - None, # 1800 - None, # 1801 - None, # 1802 - None, # 1803 - None, # 1804 - None, # 1805 - None, # 1806 - None, # 1807 - None, # 1808 - None, # 1809 - None, # 1810 - None, # 1811 - None, # 1812 - None, # 1813 - None, # 1814 - None, # 1815 - None, # 1816 - None, # 1817 - None, # 1818 - None, # 1819 - None, # 1820 - None, # 1821 - None, # 1822 - None, # 1823 - None, # 1824 - None, # 1825 - None, # 1826 - None, # 1827 - None, # 1828 - None, # 1829 - None, # 1830 - None, # 1831 - None, # 1832 - None, # 1833 - None, # 1834 - None, # 1835 - None, # 1836 - None, # 1837 - None, # 1838 - None, # 1839 - None, # 1840 - None, # 1841 - None, # 1842 - None, # 1843 - None, # 1844 - None, # 1845 - None, # 1846 - None, # 1847 - None, # 1848 - None, # 1849 - None, # 1850 - None, # 1851 - None, # 1852 - None, # 1853 - None, # 1854 - None, # 1855 - None, # 1856 - None, # 1857 - None, # 1858 - None, # 1859 - None, # 1860 - None, # 1861 - None, # 1862 - None, # 1863 - None, # 1864 - None, # 1865 - None, # 1866 - None, # 1867 - None, # 1868 - None, # 1869 - None, # 1870 - None, # 1871 - None, # 1872 - None, # 1873 - None, # 1874 - None, # 1875 - None, # 1876 - None, # 1877 - None, # 1878 - None, # 1879 - None, # 1880 - None, # 1881 - None, # 1882 - None, # 1883 - None, # 1884 - None, # 1885 - None, # 1886 - None, # 1887 - None, # 1888 - None, # 1889 - None, # 1890 - None, # 1891 - None, # 1892 - None, # 1893 - None, # 1894 - None, # 1895 - None, # 1896 - None, # 1897 - None, # 1898 - None, # 1899 - None, # 1900 - None, # 1901 - None, # 1902 - None, # 1903 - None, # 1904 - None, # 1905 - None, # 1906 - None, # 1907 - None, # 1908 - None, # 1909 - None, # 1910 - None, # 1911 - None, # 1912 - None, # 1913 - None, # 1914 - None, # 1915 - None, # 1916 - None, # 1917 - None, # 1918 - None, # 1919 - None, # 1920 - None, # 1921 - None, # 1922 - None, # 1923 - None, # 1924 - None, # 1925 - None, # 1926 - None, # 1927 - None, # 1928 - None, # 1929 - None, # 1930 - None, # 1931 - None, # 1932 - None, # 1933 - None, # 1934 - None, # 1935 - None, # 1936 - None, # 1937 - None, # 1938 - None, # 1939 - None, # 1940 - None, # 1941 - None, # 1942 - None, # 1943 - None, # 1944 - None, # 1945 - None, # 1946 - None, # 1947 - None, # 1948 - None, # 1949 - None, # 1950 - None, # 1951 - None, # 1952 - None, # 1953 - None, # 1954 - None, # 1955 - None, # 1956 - None, # 1957 - None, # 1958 - None, # 1959 - None, # 1960 - None, # 1961 - None, # 1962 - None, # 1963 - None, # 1964 - None, # 1965 - None, # 1966 - None, # 1967 - None, # 1968 - None, # 1969 - None, # 1970 - None, # 1971 - None, # 1972 - None, # 1973 - None, # 1974 - None, # 1975 - None, # 1976 - None, # 1977 - None, # 1978 - None, # 1979 - None, # 1980 - None, # 1981 - None, # 1982 - None, # 1983 - None, # 1984 - None, # 1985 - None, # 1986 - None, # 1987 - None, # 1988 - None, # 1989 - None, # 1990 - None, # 1991 - None, # 1992 - None, # 1993 - None, # 1994 - None, # 1995 - None, # 1996 - None, # 1997 - None, # 1998 - None, # 1999 - None, # 2000 - None, # 2001 - None, # 2002 - None, # 2003 - None, # 2004 - None, # 2005 - None, # 2006 - None, # 2007 - None, # 2008 - None, # 2009 - None, # 2010 - None, # 2011 - None, # 2012 - None, # 2013 - None, # 2014 - None, # 2015 - None, # 2016 - None, # 2017 - None, # 2018 - None, # 2019 - None, # 2020 - None, # 2021 - None, # 2022 - None, # 2023 - None, # 2024 - None, # 2025 - None, # 2026 - None, # 2027 - None, # 2028 - None, # 2029 - None, # 2030 - None, # 2031 - None, # 2032 - None, # 2033 - None, # 2034 - None, # 2035 - None, # 2036 - None, # 2037 - None, # 2038 - None, # 2039 - None, # 2040 - None, # 2041 - None, # 2042 - None, # 2043 - None, # 2044 - None, # 2045 - None, # 2046 - None, # 2047 - None, # 2048 - None, # 2049 - None, # 2050 - None, # 2051 - None, # 2052 - None, # 2053 - None, # 2054 - None, # 2055 - None, # 2056 - None, # 2057 - None, # 2058 - None, # 2059 - None, # 2060 - None, # 2061 - None, # 2062 - None, # 2063 - None, # 2064 - None, # 2065 - None, # 2066 - None, # 2067 - None, # 2068 - None, # 2069 - None, # 2070 - None, # 2071 - None, # 2072 - None, # 2073 - None, # 2074 - None, # 2075 - None, # 2076 - None, # 2077 - None, # 2078 - None, # 2079 - None, # 2080 - None, # 2081 - None, # 2082 - None, # 2083 - None, # 2084 - None, # 2085 - None, # 2086 - None, # 2087 - None, # 2088 - None, # 2089 - None, # 2090 - None, # 2091 - None, # 2092 - None, # 2093 - None, # 2094 - None, # 2095 - None, # 2096 - None, # 2097 - None, # 2098 - None, # 2099 - None, # 2100 - None, # 2101 - None, # 2102 - None, # 2103 - None, # 2104 - None, # 2105 - None, # 2106 - None, # 2107 - None, # 2108 - None, # 2109 - None, # 2110 - None, # 2111 - None, # 2112 - None, # 2113 - None, # 2114 - None, # 2115 - None, # 2116 - None, # 2117 - None, # 2118 - None, # 2119 - None, # 2120 - None, # 2121 - None, # 2122 - None, # 2123 - None, # 2124 - None, # 2125 - None, # 2126 - None, # 2127 - None, # 2128 - None, # 2129 - None, # 2130 - None, # 2131 - None, # 2132 - None, # 2133 - None, # 2134 - None, # 2135 - None, # 2136 - None, # 2137 - None, # 2138 - None, # 2139 - None, # 2140 - None, # 2141 - None, # 2142 - None, # 2143 - None, # 2144 - None, # 2145 - None, # 2146 - None, # 2147 - None, # 2148 - None, # 2149 - None, # 2150 - None, # 2151 - None, # 2152 - None, # 2153 - None, # 2154 - None, # 2155 - None, # 2156 - None, # 2157 - None, # 2158 - None, # 2159 - None, # 2160 - None, # 2161 - None, # 2162 - None, # 2163 - None, # 2164 - None, # 2165 - None, # 2166 - None, # 2167 - None, # 2168 - None, # 2169 - None, # 2170 - None, # 2171 - None, # 2172 - None, # 2173 - None, # 2174 - None, # 2175 - None, # 2176 - None, # 2177 - None, # 2178 - None, # 2179 - None, # 2180 - None, # 2181 - None, # 2182 - None, # 2183 - None, # 2184 - None, # 2185 - None, # 2186 - None, # 2187 - None, # 2188 - None, # 2189 - None, # 2190 - None, # 2191 - None, # 2192 - None, # 2193 - None, # 2194 - None, # 2195 - None, # 2196 - None, # 2197 - None, # 2198 - None, # 2199 - None, # 2200 - None, # 2201 - None, # 2202 - None, # 2203 - None, # 2204 - None, # 2205 - None, # 2206 - None, # 2207 - None, # 2208 - None, # 2209 - None, # 2210 - None, # 2211 - None, # 2212 - None, # 2213 - None, # 2214 - None, # 2215 - None, # 2216 - None, # 2217 - None, # 2218 - None, # 2219 - None, # 2220 - None, # 2221 - None, # 2222 - None, # 2223 - None, # 2224 - None, # 2225 - None, # 2226 - None, # 2227 - None, # 2228 - None, # 2229 - None, # 2230 - None, # 2231 - None, # 2232 - None, # 2233 - None, # 2234 - None, # 2235 - None, # 2236 - None, # 2237 - None, # 2238 - None, # 2239 - None, # 2240 - None, # 2241 - None, # 2242 - None, # 2243 - None, # 2244 - None, # 2245 - None, # 2246 - None, # 2247 - None, # 2248 - None, # 2249 - None, # 2250 - None, # 2251 - None, # 2252 - None, # 2253 - None, # 2254 - None, # 2255 - None, # 2256 - None, # 2257 - None, # 2258 - None, # 2259 - None, # 2260 - None, # 2261 - None, # 2262 - None, # 2263 - None, # 2264 - None, # 2265 - None, # 2266 - None, # 2267 - None, # 2268 - None, # 2269 - None, # 2270 - None, # 2271 - None, # 2272 - None, # 2273 - None, # 2274 - None, # 2275 - None, # 2276 - None, # 2277 - None, # 2278 - None, # 2279 - None, # 2280 - None, # 2281 - None, # 2282 - None, # 2283 - None, # 2284 - None, # 2285 - None, # 2286 - None, # 2287 - None, # 2288 - None, # 2289 - None, # 2290 - None, # 2291 - None, # 2292 - None, # 2293 - None, # 2294 - None, # 2295 - None, # 2296 - None, # 2297 - None, # 2298 - None, # 2299 - None, # 2300 - None, # 2301 - None, # 2302 - None, # 2303 - None, # 2304 - None, # 2305 - None, # 2306 - None, # 2307 - None, # 2308 - None, # 2309 - None, # 2310 - None, # 2311 - None, # 2312 - None, # 2313 - None, # 2314 - None, # 2315 - None, # 2316 - None, # 2317 - None, # 2318 - None, # 2319 - None, # 2320 - None, # 2321 - None, # 2322 - None, # 2323 - None, # 2324 - None, # 2325 - None, # 2326 - None, # 2327 - None, # 2328 - None, # 2329 - None, # 2330 - None, # 2331 - None, # 2332 - None, # 2333 - None, # 2334 - None, # 2335 - None, # 2336 - None, # 2337 - None, # 2338 - None, # 2339 - None, # 2340 - None, # 2341 - None, # 2342 - None, # 2343 - None, # 2344 - None, # 2345 - None, # 2346 - None, # 2347 - None, # 2348 - None, # 2349 - None, # 2350 - None, # 2351 - None, # 2352 - None, # 2353 - None, # 2354 - None, # 2355 - None, # 2356 - None, # 2357 - None, # 2358 - None, # 2359 - None, # 2360 - None, # 2361 - None, # 2362 - None, # 2363 - None, # 2364 - None, # 2365 - None, # 2366 - None, # 2367 - None, # 2368 - None, # 2369 - None, # 2370 - None, # 2371 - None, # 2372 - None, # 2373 - None, # 2374 - None, # 2375 - None, # 2376 - None, # 2377 - None, # 2378 - None, # 2379 - None, # 2380 - None, # 2381 - None, # 2382 - None, # 2383 - None, # 2384 - None, # 2385 - None, # 2386 - None, # 2387 - None, # 2388 - None, # 2389 - None, # 2390 - None, # 2391 - None, # 2392 - None, # 2393 - None, # 2394 - None, # 2395 - None, # 2396 - None, # 2397 - None, # 2398 - None, # 2399 - None, # 2400 - None, # 2401 - None, # 2402 - None, # 2403 - None, # 2404 - None, # 2405 - None, # 2406 - None, # 2407 - None, # 2408 - None, # 2409 - None, # 2410 - None, # 2411 - None, # 2412 - None, # 2413 - None, # 2414 - None, # 2415 - None, # 2416 - None, # 2417 - None, # 2418 - None, # 2419 - None, # 2420 - None, # 2421 - None, # 2422 - None, # 2423 - None, # 2424 - None, # 2425 - None, # 2426 - None, # 2427 - None, # 2428 - None, # 2429 - None, # 2430 - None, # 2431 - None, # 2432 - None, # 2433 - None, # 2434 - None, # 2435 - None, # 2436 - None, # 2437 - None, # 2438 - None, # 2439 - None, # 2440 - None, # 2441 - None, # 2442 - None, # 2443 - None, # 2444 - None, # 2445 - None, # 2446 - None, # 2447 - None, # 2448 - None, # 2449 - None, # 2450 - None, # 2451 - None, # 2452 - None, # 2453 - None, # 2454 - None, # 2455 - None, # 2456 - None, # 2457 - None, # 2458 - None, # 2459 - None, # 2460 - None, # 2461 - None, # 2462 - None, # 2463 - None, # 2464 - None, # 2465 - None, # 2466 - None, # 2467 - None, # 2468 - None, # 2469 - None, # 2470 - None, # 2471 - None, # 2472 - None, # 2473 - None, # 2474 - None, # 2475 - None, # 2476 - None, # 2477 - None, # 2478 - None, # 2479 - None, # 2480 - None, # 2481 - None, # 2482 - None, # 2483 - None, # 2484 - None, # 2485 - None, # 2486 - None, # 2487 - None, # 2488 - None, # 2489 - None, # 2490 - None, # 2491 - None, # 2492 - None, # 2493 - None, # 2494 - None, # 2495 - None, # 2496 - None, # 2497 - None, # 2498 - None, # 2499 - None, # 2500 - None, # 2501 - None, # 2502 - None, # 2503 - None, # 2504 - None, # 2505 - None, # 2506 - None, # 2507 - None, # 2508 - None, # 2509 - None, # 2510 - None, # 2511 - None, # 2512 - None, # 2513 - None, # 2514 - None, # 2515 - None, # 2516 - None, # 2517 - None, # 2518 - None, # 2519 - None, # 2520 - None, # 2521 - None, # 2522 - None, # 2523 - None, # 2524 - None, # 2525 - None, # 2526 - None, # 2527 - None, # 2528 - None, # 2529 - None, # 2530 - None, # 2531 - None, # 2532 - None, # 2533 - None, # 2534 - None, # 2535 - None, # 2536 - None, # 2537 - None, # 2538 - None, # 2539 - None, # 2540 - None, # 2541 - None, # 2542 - None, # 2543 - None, # 2544 - None, # 2545 - None, # 2546 - None, # 2547 - None, # 2548 - None, # 2549 - None, # 2550 - None, # 2551 - None, # 2552 - None, # 2553 - None, # 2554 - None, # 2555 - None, # 2556 - None, # 2557 - None, # 2558 - None, # 2559 - None, # 2560 - None, # 2561 - None, # 2562 - None, # 2563 - None, # 2564 - None, # 2565 - None, # 2566 - None, # 2567 - None, # 2568 - None, # 2569 - None, # 2570 - None, # 2571 - None, # 2572 - None, # 2573 - None, # 2574 - None, # 2575 - None, # 2576 - None, # 2577 - None, # 2578 - None, # 2579 - None, # 2580 - None, # 2581 - None, # 2582 - None, # 2583 - None, # 2584 - None, # 2585 - None, # 2586 - None, # 2587 - None, # 2588 - None, # 2589 - None, # 2590 - None, # 2591 - None, # 2592 - None, # 2593 - None, # 2594 - None, # 2595 - None, # 2596 - None, # 2597 - None, # 2598 - None, # 2599 - None, # 2600 - None, # 2601 - None, # 2602 - None, # 2603 - None, # 2604 - None, # 2605 - None, # 2606 - None, # 2607 - None, # 2608 - None, # 2609 - None, # 2610 - None, # 2611 - None, # 2612 - None, # 2613 - None, # 2614 - None, # 2615 - None, # 2616 - None, # 2617 - None, # 2618 - None, # 2619 - None, # 2620 - None, # 2621 - None, # 2622 - None, # 2623 - None, # 2624 - None, # 2625 - None, # 2626 - None, # 2627 - None, # 2628 - None, # 2629 - None, # 2630 - None, # 2631 - None, # 2632 - None, # 2633 - None, # 2634 - None, # 2635 - None, # 2636 - None, # 2637 - None, # 2638 - None, # 2639 - None, # 2640 - None, # 2641 - None, # 2642 - None, # 2643 - None, # 2644 - None, # 2645 - None, # 2646 - None, # 2647 - None, # 2648 - None, # 2649 - None, # 2650 - None, # 2651 - None, # 2652 - None, # 2653 - None, # 2654 - None, # 2655 - None, # 2656 - None, # 2657 - None, # 2658 - None, # 2659 - None, # 2660 - None, # 2661 - None, # 2662 - None, # 2663 - None, # 2664 - None, # 2665 - None, # 2666 - None, # 2667 - None, # 2668 - None, # 2669 - None, # 2670 - None, # 2671 - None, # 2672 - None, # 2673 - None, # 2674 - None, # 2675 - None, # 2676 - None, # 2677 - None, # 2678 - None, # 2679 - None, # 2680 - None, # 2681 - None, # 2682 - None, # 2683 - None, # 2684 - None, # 2685 - None, # 2686 - None, # 2687 - None, # 2688 - None, # 2689 - None, # 2690 - None, # 2691 - None, # 2692 - None, # 2693 - None, # 2694 - None, # 2695 - None, # 2696 - None, # 2697 - None, # 2698 - None, # 2699 - None, # 2700 - None, # 2701 - None, # 2702 - None, # 2703 - None, # 2704 - None, # 2705 - None, # 2706 - None, # 2707 - None, # 2708 - None, # 2709 - None, # 2710 - None, # 2711 - None, # 2712 - None, # 2713 - None, # 2714 - None, # 2715 - None, # 2716 - None, # 2717 - None, # 2718 - None, # 2719 - None, # 2720 - None, # 2721 - None, # 2722 - None, # 2723 - None, # 2724 - None, # 2725 - None, # 2726 - None, # 2727 - None, # 2728 - None, # 2729 - None, # 2730 - None, # 2731 - None, # 2732 - None, # 2733 - None, # 2734 - None, # 2735 - None, # 2736 - None, # 2737 - None, # 2738 - None, # 2739 - None, # 2740 - None, # 2741 - None, # 2742 - None, # 2743 - None, # 2744 - None, # 2745 - None, # 2746 - None, # 2747 - None, # 2748 - None, # 2749 - None, # 2750 - None, # 2751 - None, # 2752 - None, # 2753 - None, # 2754 - None, # 2755 - None, # 2756 - None, # 2757 - None, # 2758 - None, # 2759 - None, # 2760 - None, # 2761 - None, # 2762 - None, # 2763 - None, # 2764 - None, # 2765 - None, # 2766 - None, # 2767 - None, # 2768 - None, # 2769 - None, # 2770 - None, # 2771 - None, # 2772 - None, # 2773 - None, # 2774 - None, # 2775 - None, # 2776 - None, # 2777 - None, # 2778 - None, # 2779 - None, # 2780 - None, # 2781 - None, # 2782 - None, # 2783 - None, # 2784 - None, # 2785 - None, # 2786 - None, # 2787 - None, # 2788 - None, # 2789 - None, # 2790 - None, # 2791 - None, # 2792 - None, # 2793 - None, # 2794 - None, # 2795 - None, # 2796 - None, # 2797 - None, # 2798 - None, # 2799 - None, # 2800 - None, # 2801 - None, # 2802 - None, # 2803 - None, # 2804 - None, # 2805 - None, # 2806 - None, # 2807 - None, # 2808 - None, # 2809 - None, # 2810 - None, # 2811 - None, # 2812 - None, # 2813 - None, # 2814 - None, # 2815 - None, # 2816 - None, # 2817 - None, # 2818 - None, # 2819 - None, # 2820 - None, # 2821 - None, # 2822 - None, # 2823 - None, # 2824 - None, # 2825 - None, # 2826 - None, # 2827 - None, # 2828 - None, # 2829 - None, # 2830 - None, # 2831 - None, # 2832 - None, # 2833 - None, # 2834 - None, # 2835 - None, # 2836 - None, # 2837 - None, # 2838 - None, # 2839 - None, # 2840 - None, # 2841 - None, # 2842 - None, # 2843 - None, # 2844 - None, # 2845 - None, # 2846 - None, # 2847 - None, # 2848 - None, # 2849 - None, # 2850 - None, # 2851 - None, # 2852 - None, # 2853 - None, # 2854 - None, # 2855 - None, # 2856 - None, # 2857 - None, # 2858 - None, # 2859 - None, # 2860 - None, # 2861 - None, # 2862 - None, # 2863 - None, # 2864 - None, # 2865 - None, # 2866 - None, # 2867 - None, # 2868 - None, # 2869 - None, # 2870 - None, # 2871 - None, # 2872 - None, # 2873 - None, # 2874 - None, # 2875 - None, # 2876 - None, # 2877 - None, # 2878 - None, # 2879 - None, # 2880 - None, # 2881 - None, # 2882 - None, # 2883 - None, # 2884 - None, # 2885 - None, # 2886 - None, # 2887 - None, # 2888 - None, # 2889 - None, # 2890 - None, # 2891 - None, # 2892 - None, # 2893 - None, # 2894 - None, # 2895 - None, # 2896 - None, # 2897 - None, # 2898 - None, # 2899 - None, # 2900 - None, # 2901 - None, # 2902 - None, # 2903 - None, # 2904 - None, # 2905 - None, # 2906 - None, # 2907 - None, # 2908 - None, # 2909 - None, # 2910 - None, # 2911 - None, # 2912 - None, # 2913 - None, # 2914 - None, # 2915 - None, # 2916 - None, # 2917 - None, # 2918 - None, # 2919 - None, # 2920 - None, # 2921 - None, # 2922 - None, # 2923 - None, # 2924 - None, # 2925 - None, # 2926 - None, # 2927 - None, # 2928 - None, # 2929 - None, # 2930 - None, # 2931 - None, # 2932 - None, # 2933 - None, # 2934 - None, # 2935 - None, # 2936 - None, # 2937 - None, # 2938 - None, # 2939 - None, # 2940 - None, # 2941 - None, # 2942 - None, # 2943 - None, # 2944 - None, # 2945 - None, # 2946 - None, # 2947 - None, # 2948 - None, # 2949 - None, # 2950 - None, # 2951 - None, # 2952 - None, # 2953 - None, # 2954 - None, # 2955 - None, # 2956 - None, # 2957 - None, # 2958 - None, # 2959 - None, # 2960 - None, # 2961 - None, # 2962 - None, # 2963 - None, # 2964 - None, # 2965 - None, # 2966 - None, # 2967 - None, # 2968 - None, # 2969 - None, # 2970 - None, # 2971 - None, # 2972 - None, # 2973 - None, # 2974 - None, # 2975 - None, # 2976 - None, # 2977 - None, # 2978 - None, # 2979 - None, # 2980 - None, # 2981 - None, # 2982 - None, # 2983 - None, # 2984 - None, # 2985 - None, # 2986 - None, # 2987 - None, # 2988 - None, # 2989 - None, # 2990 - None, # 2991 - None, # 2992 - None, # 2993 - None, # 2994 - None, # 2995 - None, # 2996 - None, # 2997 - None, # 2998 - None, # 2999 - None, # 3000 - None, # 3001 - None, # 3002 - None, # 3003 - None, # 3004 - None, # 3005 - None, # 3006 - None, # 3007 - None, # 3008 - None, # 3009 - None, # 3010 - None, # 3011 - None, # 3012 - None, # 3013 - None, # 3014 - None, # 3015 - None, # 3016 - None, # 3017 - None, # 3018 - None, # 3019 - None, # 3020 - None, # 3021 - None, # 3022 - None, # 3023 - None, # 3024 - None, # 3025 - None, # 3026 - None, # 3027 - None, # 3028 - None, # 3029 - None, # 3030 - None, # 3031 - None, # 3032 - None, # 3033 - None, # 3034 - None, # 3035 - None, # 3036 - None, # 3037 - None, # 3038 - None, # 3039 - None, # 3040 - None, # 3041 - None, # 3042 - None, # 3043 - None, # 3044 - None, # 3045 - None, # 3046 - None, # 3047 - None, # 3048 - None, # 3049 - None, # 3050 - None, # 3051 - None, # 3052 - None, # 3053 - None, # 3054 - None, # 3055 - None, # 3056 - None, # 3057 - None, # 3058 - None, # 3059 - None, # 3060 - None, # 3061 - None, # 3062 - None, # 3063 - None, # 3064 - None, # 3065 - None, # 3066 - None, # 3067 - None, # 3068 - None, # 3069 - None, # 3070 - None, # 3071 - None, # 3072 - None, # 3073 - None, # 3074 - None, # 3075 - None, # 3076 - None, # 3077 - None, # 3078 - None, # 3079 - None, # 3080 - None, # 3081 - None, # 3082 - None, # 3083 - None, # 3084 - None, # 3085 - None, # 3086 - None, # 3087 - None, # 3088 - None, # 3089 - None, # 3090 - None, # 3091 - None, # 3092 - None, # 3093 - None, # 3094 - None, # 3095 - None, # 3096 - None, # 3097 - None, # 3098 - None, # 3099 - None, # 3100 - None, # 3101 - None, # 3102 - None, # 3103 - None, # 3104 - None, # 3105 - None, # 3106 - None, # 3107 - None, # 3108 - None, # 3109 - None, # 3110 - None, # 3111 - None, # 3112 - None, # 3113 - None, # 3114 - None, # 3115 - None, # 3116 - None, # 3117 - None, # 3118 - None, # 3119 - None, # 3120 - None, # 3121 - None, # 3122 - None, # 3123 - None, # 3124 - None, # 3125 - None, # 3126 - None, # 3127 - None, # 3128 - None, # 3129 - None, # 3130 - None, # 3131 - None, # 3132 - None, # 3133 - None, # 3134 - None, # 3135 - None, # 3136 - None, # 3137 - None, # 3138 - None, # 3139 - None, # 3140 - None, # 3141 - None, # 3142 - None, # 3143 - None, # 3144 - None, # 3145 - None, # 3146 - None, # 3147 - None, # 3148 - None, # 3149 - None, # 3150 - None, # 3151 - None, # 3152 - None, # 3153 - None, # 3154 - None, # 3155 - None, # 3156 - None, # 3157 - None, # 3158 - None, # 3159 - None, # 3160 - None, # 3161 - None, # 3162 - None, # 3163 - None, # 3164 - None, # 3165 - None, # 3166 - None, # 3167 - None, # 3168 - None, # 3169 - None, # 3170 - None, # 3171 - None, # 3172 - None, # 3173 - None, # 3174 - None, # 3175 - None, # 3176 - None, # 3177 - None, # 3178 - None, # 3179 - None, # 3180 - None, # 3181 - None, # 3182 - None, # 3183 - None, # 3184 - None, # 3185 - None, # 3186 - None, # 3187 - None, # 3188 - None, # 3189 - None, # 3190 - None, # 3191 - None, # 3192 - None, # 3193 - None, # 3194 - None, # 3195 - None, # 3196 - None, # 3197 - None, # 3198 - None, # 3199 - None, # 3200 - None, # 3201 - None, # 3202 - None, # 3203 - None, # 3204 - None, # 3205 - None, # 3206 - None, # 3207 - None, # 3208 - None, # 3209 - None, # 3210 - None, # 3211 - None, # 3212 - None, # 3213 - None, # 3214 - None, # 3215 - None, # 3216 - None, # 3217 - None, # 3218 - None, # 3219 - None, # 3220 - None, # 3221 - None, # 3222 - None, # 3223 - None, # 3224 - None, # 3225 - None, # 3226 - None, # 3227 - None, # 3228 - None, # 3229 - None, # 3230 - None, # 3231 - None, # 3232 - None, # 3233 - None, # 3234 - None, # 3235 - None, # 3236 - None, # 3237 - None, # 3238 - None, # 3239 - None, # 3240 - None, # 3241 - None, # 3242 - None, # 3243 - None, # 3244 - None, # 3245 - None, # 3246 - None, # 3247 - None, # 3248 - None, # 3249 - None, # 3250 - None, # 3251 - None, # 3252 - None, # 3253 - None, # 3254 - None, # 3255 - None, # 3256 - None, # 3257 - None, # 3258 - None, # 3259 - None, # 3260 - None, # 3261 - None, # 3262 - None, # 3263 - None, # 3264 - None, # 3265 - None, # 3266 - None, # 3267 - None, # 3268 - None, # 3269 - None, # 3270 - None, # 3271 - None, # 3272 - None, # 3273 - None, # 3274 - None, # 3275 - None, # 3276 - None, # 3277 - None, # 3278 - None, # 3279 - None, # 3280 - None, # 3281 - None, # 3282 - None, # 3283 - None, # 3284 - None, # 3285 - None, # 3286 - None, # 3287 - None, # 3288 - None, # 3289 - None, # 3290 - None, # 3291 - None, # 3292 - None, # 3293 - None, # 3294 - None, # 3295 - None, # 3296 - None, # 3297 - None, # 3298 - None, # 3299 - None, # 3300 - None, # 3301 - None, # 3302 - None, # 3303 - None, # 3304 - None, # 3305 - None, # 3306 - None, # 3307 - None, # 3308 - None, # 3309 - None, # 3310 - None, # 3311 - None, # 3312 - None, # 3313 - None, # 3314 - None, # 3315 - None, # 3316 - None, # 3317 - None, # 3318 - None, # 3319 - None, # 3320 - None, # 3321 - None, # 3322 - None, # 3323 - None, # 3324 - None, # 3325 - None, # 3326 - None, # 3327 - None, # 3328 - ( - 3329, - TType.STRUCT, - "operationId", - [THandleIdentifier, None], - None, - ), # 3329 - ( - 3330, - TType.STRUCT, - "sessionConf", - [TDBSqlSessionConf, None], - None, - ), # 3330 + None, # 0 + (1, TType.STRUCT, 'sessionHandle', [TSessionHandle, None], None, ), # 1 + (2, TType.STRING, 'catalogName', 'UTF8', None, ), # 2 + (3, TType.STRING, 'schemaName', 'UTF8', None, ), # 3 + None, # 4 + None, # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + (1281, TType.STRUCT, 'getDirectResults', [TSparkGetDirectResults, None], None, ), # 1281 + (1282, TType.BOOL, 'runAsync', None, False, ), # 1282 + None, # 1283 + None, # 1284 + None, # 1285 + None, # 1286 + None, # 1287 + None, # 1288 + None, # 1289 + None, # 1290 + None, # 1291 + None, # 1292 + None, # 1293 + None, # 1294 + None, # 1295 + None, # 1296 + None, # 1297 + None, # 1298 + None, # 1299 + None, # 1300 + None, # 1301 + None, # 1302 + None, # 1303 + None, # 1304 + None, # 1305 + None, # 1306 + None, # 1307 + None, # 1308 + None, # 1309 + None, # 1310 + None, # 1311 + None, # 1312 + None, # 1313 + None, # 1314 + None, # 1315 + None, # 1316 + None, # 1317 + None, # 1318 + None, # 1319 + None, # 1320 + None, # 1321 + None, # 1322 + None, # 1323 + None, # 1324 + None, # 1325 + None, # 1326 + None, # 1327 + None, # 1328 + None, # 1329 + None, # 1330 + None, # 1331 + None, # 1332 + None, # 1333 + None, # 1334 + None, # 1335 + None, # 1336 + None, # 1337 + None, # 1338 + None, # 1339 + None, # 1340 + None, # 1341 + None, # 1342 + None, # 1343 + None, # 1344 + None, # 1345 + None, # 1346 + None, # 1347 + None, # 1348 + None, # 1349 + None, # 1350 + None, # 1351 + None, # 1352 + None, # 1353 + None, # 1354 + None, # 1355 + None, # 1356 + None, # 1357 + None, # 1358 + None, # 1359 + None, # 1360 + None, # 1361 + None, # 1362 + None, # 1363 + None, # 1364 + None, # 1365 + None, # 1366 + None, # 1367 + None, # 1368 + None, # 1369 + None, # 1370 + None, # 1371 + None, # 1372 + None, # 1373 + None, # 1374 + None, # 1375 + None, # 1376 + None, # 1377 + None, # 1378 + None, # 1379 + None, # 1380 + None, # 1381 + None, # 1382 + None, # 1383 + None, # 1384 + None, # 1385 + None, # 1386 + None, # 1387 + None, # 1388 + None, # 1389 + None, # 1390 + None, # 1391 + None, # 1392 + None, # 1393 + None, # 1394 + None, # 1395 + None, # 1396 + None, # 1397 + None, # 1398 + None, # 1399 + None, # 1400 + None, # 1401 + None, # 1402 + None, # 1403 + None, # 1404 + None, # 1405 + None, # 1406 + None, # 1407 + None, # 1408 + None, # 1409 + None, # 1410 + None, # 1411 + None, # 1412 + None, # 1413 + None, # 1414 + None, # 1415 + None, # 1416 + None, # 1417 + None, # 1418 + None, # 1419 + None, # 1420 + None, # 1421 + None, # 1422 + None, # 1423 + None, # 1424 + None, # 1425 + None, # 1426 + None, # 1427 + None, # 1428 + None, # 1429 + None, # 1430 + None, # 1431 + None, # 1432 + None, # 1433 + None, # 1434 + None, # 1435 + None, # 1436 + None, # 1437 + None, # 1438 + None, # 1439 + None, # 1440 + None, # 1441 + None, # 1442 + None, # 1443 + None, # 1444 + None, # 1445 + None, # 1446 + None, # 1447 + None, # 1448 + None, # 1449 + None, # 1450 + None, # 1451 + None, # 1452 + None, # 1453 + None, # 1454 + None, # 1455 + None, # 1456 + None, # 1457 + None, # 1458 + None, # 1459 + None, # 1460 + None, # 1461 + None, # 1462 + None, # 1463 + None, # 1464 + None, # 1465 + None, # 1466 + None, # 1467 + None, # 1468 + None, # 1469 + None, # 1470 + None, # 1471 + None, # 1472 + None, # 1473 + None, # 1474 + None, # 1475 + None, # 1476 + None, # 1477 + None, # 1478 + None, # 1479 + None, # 1480 + None, # 1481 + None, # 1482 + None, # 1483 + None, # 1484 + None, # 1485 + None, # 1486 + None, # 1487 + None, # 1488 + None, # 1489 + None, # 1490 + None, # 1491 + None, # 1492 + None, # 1493 + None, # 1494 + None, # 1495 + None, # 1496 + None, # 1497 + None, # 1498 + None, # 1499 + None, # 1500 + None, # 1501 + None, # 1502 + None, # 1503 + None, # 1504 + None, # 1505 + None, # 1506 + None, # 1507 + None, # 1508 + None, # 1509 + None, # 1510 + None, # 1511 + None, # 1512 + None, # 1513 + None, # 1514 + None, # 1515 + None, # 1516 + None, # 1517 + None, # 1518 + None, # 1519 + None, # 1520 + None, # 1521 + None, # 1522 + None, # 1523 + None, # 1524 + None, # 1525 + None, # 1526 + None, # 1527 + None, # 1528 + None, # 1529 + None, # 1530 + None, # 1531 + None, # 1532 + None, # 1533 + None, # 1534 + None, # 1535 + None, # 1536 + None, # 1537 + None, # 1538 + None, # 1539 + None, # 1540 + None, # 1541 + None, # 1542 + None, # 1543 + None, # 1544 + None, # 1545 + None, # 1546 + None, # 1547 + None, # 1548 + None, # 1549 + None, # 1550 + None, # 1551 + None, # 1552 + None, # 1553 + None, # 1554 + None, # 1555 + None, # 1556 + None, # 1557 + None, # 1558 + None, # 1559 + None, # 1560 + None, # 1561 + None, # 1562 + None, # 1563 + None, # 1564 + None, # 1565 + None, # 1566 + None, # 1567 + None, # 1568 + None, # 1569 + None, # 1570 + None, # 1571 + None, # 1572 + None, # 1573 + None, # 1574 + None, # 1575 + None, # 1576 + None, # 1577 + None, # 1578 + None, # 1579 + None, # 1580 + None, # 1581 + None, # 1582 + None, # 1583 + None, # 1584 + None, # 1585 + None, # 1586 + None, # 1587 + None, # 1588 + None, # 1589 + None, # 1590 + None, # 1591 + None, # 1592 + None, # 1593 + None, # 1594 + None, # 1595 + None, # 1596 + None, # 1597 + None, # 1598 + None, # 1599 + None, # 1600 + None, # 1601 + None, # 1602 + None, # 1603 + None, # 1604 + None, # 1605 + None, # 1606 + None, # 1607 + None, # 1608 + None, # 1609 + None, # 1610 + None, # 1611 + None, # 1612 + None, # 1613 + None, # 1614 + None, # 1615 + None, # 1616 + None, # 1617 + None, # 1618 + None, # 1619 + None, # 1620 + None, # 1621 + None, # 1622 + None, # 1623 + None, # 1624 + None, # 1625 + None, # 1626 + None, # 1627 + None, # 1628 + None, # 1629 + None, # 1630 + None, # 1631 + None, # 1632 + None, # 1633 + None, # 1634 + None, # 1635 + None, # 1636 + None, # 1637 + None, # 1638 + None, # 1639 + None, # 1640 + None, # 1641 + None, # 1642 + None, # 1643 + None, # 1644 + None, # 1645 + None, # 1646 + None, # 1647 + None, # 1648 + None, # 1649 + None, # 1650 + None, # 1651 + None, # 1652 + None, # 1653 + None, # 1654 + None, # 1655 + None, # 1656 + None, # 1657 + None, # 1658 + None, # 1659 + None, # 1660 + None, # 1661 + None, # 1662 + None, # 1663 + None, # 1664 + None, # 1665 + None, # 1666 + None, # 1667 + None, # 1668 + None, # 1669 + None, # 1670 + None, # 1671 + None, # 1672 + None, # 1673 + None, # 1674 + None, # 1675 + None, # 1676 + None, # 1677 + None, # 1678 + None, # 1679 + None, # 1680 + None, # 1681 + None, # 1682 + None, # 1683 + None, # 1684 + None, # 1685 + None, # 1686 + None, # 1687 + None, # 1688 + None, # 1689 + None, # 1690 + None, # 1691 + None, # 1692 + None, # 1693 + None, # 1694 + None, # 1695 + None, # 1696 + None, # 1697 + None, # 1698 + None, # 1699 + None, # 1700 + None, # 1701 + None, # 1702 + None, # 1703 + None, # 1704 + None, # 1705 + None, # 1706 + None, # 1707 + None, # 1708 + None, # 1709 + None, # 1710 + None, # 1711 + None, # 1712 + None, # 1713 + None, # 1714 + None, # 1715 + None, # 1716 + None, # 1717 + None, # 1718 + None, # 1719 + None, # 1720 + None, # 1721 + None, # 1722 + None, # 1723 + None, # 1724 + None, # 1725 + None, # 1726 + None, # 1727 + None, # 1728 + None, # 1729 + None, # 1730 + None, # 1731 + None, # 1732 + None, # 1733 + None, # 1734 + None, # 1735 + None, # 1736 + None, # 1737 + None, # 1738 + None, # 1739 + None, # 1740 + None, # 1741 + None, # 1742 + None, # 1743 + None, # 1744 + None, # 1745 + None, # 1746 + None, # 1747 + None, # 1748 + None, # 1749 + None, # 1750 + None, # 1751 + None, # 1752 + None, # 1753 + None, # 1754 + None, # 1755 + None, # 1756 + None, # 1757 + None, # 1758 + None, # 1759 + None, # 1760 + None, # 1761 + None, # 1762 + None, # 1763 + None, # 1764 + None, # 1765 + None, # 1766 + None, # 1767 + None, # 1768 + None, # 1769 + None, # 1770 + None, # 1771 + None, # 1772 + None, # 1773 + None, # 1774 + None, # 1775 + None, # 1776 + None, # 1777 + None, # 1778 + None, # 1779 + None, # 1780 + None, # 1781 + None, # 1782 + None, # 1783 + None, # 1784 + None, # 1785 + None, # 1786 + None, # 1787 + None, # 1788 + None, # 1789 + None, # 1790 + None, # 1791 + None, # 1792 + None, # 1793 + None, # 1794 + None, # 1795 + None, # 1796 + None, # 1797 + None, # 1798 + None, # 1799 + None, # 1800 + None, # 1801 + None, # 1802 + None, # 1803 + None, # 1804 + None, # 1805 + None, # 1806 + None, # 1807 + None, # 1808 + None, # 1809 + None, # 1810 + None, # 1811 + None, # 1812 + None, # 1813 + None, # 1814 + None, # 1815 + None, # 1816 + None, # 1817 + None, # 1818 + None, # 1819 + None, # 1820 + None, # 1821 + None, # 1822 + None, # 1823 + None, # 1824 + None, # 1825 + None, # 1826 + None, # 1827 + None, # 1828 + None, # 1829 + None, # 1830 + None, # 1831 + None, # 1832 + None, # 1833 + None, # 1834 + None, # 1835 + None, # 1836 + None, # 1837 + None, # 1838 + None, # 1839 + None, # 1840 + None, # 1841 + None, # 1842 + None, # 1843 + None, # 1844 + None, # 1845 + None, # 1846 + None, # 1847 + None, # 1848 + None, # 1849 + None, # 1850 + None, # 1851 + None, # 1852 + None, # 1853 + None, # 1854 + None, # 1855 + None, # 1856 + None, # 1857 + None, # 1858 + None, # 1859 + None, # 1860 + None, # 1861 + None, # 1862 + None, # 1863 + None, # 1864 + None, # 1865 + None, # 1866 + None, # 1867 + None, # 1868 + None, # 1869 + None, # 1870 + None, # 1871 + None, # 1872 + None, # 1873 + None, # 1874 + None, # 1875 + None, # 1876 + None, # 1877 + None, # 1878 + None, # 1879 + None, # 1880 + None, # 1881 + None, # 1882 + None, # 1883 + None, # 1884 + None, # 1885 + None, # 1886 + None, # 1887 + None, # 1888 + None, # 1889 + None, # 1890 + None, # 1891 + None, # 1892 + None, # 1893 + None, # 1894 + None, # 1895 + None, # 1896 + None, # 1897 + None, # 1898 + None, # 1899 + None, # 1900 + None, # 1901 + None, # 1902 + None, # 1903 + None, # 1904 + None, # 1905 + None, # 1906 + None, # 1907 + None, # 1908 + None, # 1909 + None, # 1910 + None, # 1911 + None, # 1912 + None, # 1913 + None, # 1914 + None, # 1915 + None, # 1916 + None, # 1917 + None, # 1918 + None, # 1919 + None, # 1920 + None, # 1921 + None, # 1922 + None, # 1923 + None, # 1924 + None, # 1925 + None, # 1926 + None, # 1927 + None, # 1928 + None, # 1929 + None, # 1930 + None, # 1931 + None, # 1932 + None, # 1933 + None, # 1934 + None, # 1935 + None, # 1936 + None, # 1937 + None, # 1938 + None, # 1939 + None, # 1940 + None, # 1941 + None, # 1942 + None, # 1943 + None, # 1944 + None, # 1945 + None, # 1946 + None, # 1947 + None, # 1948 + None, # 1949 + None, # 1950 + None, # 1951 + None, # 1952 + None, # 1953 + None, # 1954 + None, # 1955 + None, # 1956 + None, # 1957 + None, # 1958 + None, # 1959 + None, # 1960 + None, # 1961 + None, # 1962 + None, # 1963 + None, # 1964 + None, # 1965 + None, # 1966 + None, # 1967 + None, # 1968 + None, # 1969 + None, # 1970 + None, # 1971 + None, # 1972 + None, # 1973 + None, # 1974 + None, # 1975 + None, # 1976 + None, # 1977 + None, # 1978 + None, # 1979 + None, # 1980 + None, # 1981 + None, # 1982 + None, # 1983 + None, # 1984 + None, # 1985 + None, # 1986 + None, # 1987 + None, # 1988 + None, # 1989 + None, # 1990 + None, # 1991 + None, # 1992 + None, # 1993 + None, # 1994 + None, # 1995 + None, # 1996 + None, # 1997 + None, # 1998 + None, # 1999 + None, # 2000 + None, # 2001 + None, # 2002 + None, # 2003 + None, # 2004 + None, # 2005 + None, # 2006 + None, # 2007 + None, # 2008 + None, # 2009 + None, # 2010 + None, # 2011 + None, # 2012 + None, # 2013 + None, # 2014 + None, # 2015 + None, # 2016 + None, # 2017 + None, # 2018 + None, # 2019 + None, # 2020 + None, # 2021 + None, # 2022 + None, # 2023 + None, # 2024 + None, # 2025 + None, # 2026 + None, # 2027 + None, # 2028 + None, # 2029 + None, # 2030 + None, # 2031 + None, # 2032 + None, # 2033 + None, # 2034 + None, # 2035 + None, # 2036 + None, # 2037 + None, # 2038 + None, # 2039 + None, # 2040 + None, # 2041 + None, # 2042 + None, # 2043 + None, # 2044 + None, # 2045 + None, # 2046 + None, # 2047 + None, # 2048 + None, # 2049 + None, # 2050 + None, # 2051 + None, # 2052 + None, # 2053 + None, # 2054 + None, # 2055 + None, # 2056 + None, # 2057 + None, # 2058 + None, # 2059 + None, # 2060 + None, # 2061 + None, # 2062 + None, # 2063 + None, # 2064 + None, # 2065 + None, # 2066 + None, # 2067 + None, # 2068 + None, # 2069 + None, # 2070 + None, # 2071 + None, # 2072 + None, # 2073 + None, # 2074 + None, # 2075 + None, # 2076 + None, # 2077 + None, # 2078 + None, # 2079 + None, # 2080 + None, # 2081 + None, # 2082 + None, # 2083 + None, # 2084 + None, # 2085 + None, # 2086 + None, # 2087 + None, # 2088 + None, # 2089 + None, # 2090 + None, # 2091 + None, # 2092 + None, # 2093 + None, # 2094 + None, # 2095 + None, # 2096 + None, # 2097 + None, # 2098 + None, # 2099 + None, # 2100 + None, # 2101 + None, # 2102 + None, # 2103 + None, # 2104 + None, # 2105 + None, # 2106 + None, # 2107 + None, # 2108 + None, # 2109 + None, # 2110 + None, # 2111 + None, # 2112 + None, # 2113 + None, # 2114 + None, # 2115 + None, # 2116 + None, # 2117 + None, # 2118 + None, # 2119 + None, # 2120 + None, # 2121 + None, # 2122 + None, # 2123 + None, # 2124 + None, # 2125 + None, # 2126 + None, # 2127 + None, # 2128 + None, # 2129 + None, # 2130 + None, # 2131 + None, # 2132 + None, # 2133 + None, # 2134 + None, # 2135 + None, # 2136 + None, # 2137 + None, # 2138 + None, # 2139 + None, # 2140 + None, # 2141 + None, # 2142 + None, # 2143 + None, # 2144 + None, # 2145 + None, # 2146 + None, # 2147 + None, # 2148 + None, # 2149 + None, # 2150 + None, # 2151 + None, # 2152 + None, # 2153 + None, # 2154 + None, # 2155 + None, # 2156 + None, # 2157 + None, # 2158 + None, # 2159 + None, # 2160 + None, # 2161 + None, # 2162 + None, # 2163 + None, # 2164 + None, # 2165 + None, # 2166 + None, # 2167 + None, # 2168 + None, # 2169 + None, # 2170 + None, # 2171 + None, # 2172 + None, # 2173 + None, # 2174 + None, # 2175 + None, # 2176 + None, # 2177 + None, # 2178 + None, # 2179 + None, # 2180 + None, # 2181 + None, # 2182 + None, # 2183 + None, # 2184 + None, # 2185 + None, # 2186 + None, # 2187 + None, # 2188 + None, # 2189 + None, # 2190 + None, # 2191 + None, # 2192 + None, # 2193 + None, # 2194 + None, # 2195 + None, # 2196 + None, # 2197 + None, # 2198 + None, # 2199 + None, # 2200 + None, # 2201 + None, # 2202 + None, # 2203 + None, # 2204 + None, # 2205 + None, # 2206 + None, # 2207 + None, # 2208 + None, # 2209 + None, # 2210 + None, # 2211 + None, # 2212 + None, # 2213 + None, # 2214 + None, # 2215 + None, # 2216 + None, # 2217 + None, # 2218 + None, # 2219 + None, # 2220 + None, # 2221 + None, # 2222 + None, # 2223 + None, # 2224 + None, # 2225 + None, # 2226 + None, # 2227 + None, # 2228 + None, # 2229 + None, # 2230 + None, # 2231 + None, # 2232 + None, # 2233 + None, # 2234 + None, # 2235 + None, # 2236 + None, # 2237 + None, # 2238 + None, # 2239 + None, # 2240 + None, # 2241 + None, # 2242 + None, # 2243 + None, # 2244 + None, # 2245 + None, # 2246 + None, # 2247 + None, # 2248 + None, # 2249 + None, # 2250 + None, # 2251 + None, # 2252 + None, # 2253 + None, # 2254 + None, # 2255 + None, # 2256 + None, # 2257 + None, # 2258 + None, # 2259 + None, # 2260 + None, # 2261 + None, # 2262 + None, # 2263 + None, # 2264 + None, # 2265 + None, # 2266 + None, # 2267 + None, # 2268 + None, # 2269 + None, # 2270 + None, # 2271 + None, # 2272 + None, # 2273 + None, # 2274 + None, # 2275 + None, # 2276 + None, # 2277 + None, # 2278 + None, # 2279 + None, # 2280 + None, # 2281 + None, # 2282 + None, # 2283 + None, # 2284 + None, # 2285 + None, # 2286 + None, # 2287 + None, # 2288 + None, # 2289 + None, # 2290 + None, # 2291 + None, # 2292 + None, # 2293 + None, # 2294 + None, # 2295 + None, # 2296 + None, # 2297 + None, # 2298 + None, # 2299 + None, # 2300 + None, # 2301 + None, # 2302 + None, # 2303 + None, # 2304 + None, # 2305 + None, # 2306 + None, # 2307 + None, # 2308 + None, # 2309 + None, # 2310 + None, # 2311 + None, # 2312 + None, # 2313 + None, # 2314 + None, # 2315 + None, # 2316 + None, # 2317 + None, # 2318 + None, # 2319 + None, # 2320 + None, # 2321 + None, # 2322 + None, # 2323 + None, # 2324 + None, # 2325 + None, # 2326 + None, # 2327 + None, # 2328 + None, # 2329 + None, # 2330 + None, # 2331 + None, # 2332 + None, # 2333 + None, # 2334 + None, # 2335 + None, # 2336 + None, # 2337 + None, # 2338 + None, # 2339 + None, # 2340 + None, # 2341 + None, # 2342 + None, # 2343 + None, # 2344 + None, # 2345 + None, # 2346 + None, # 2347 + None, # 2348 + None, # 2349 + None, # 2350 + None, # 2351 + None, # 2352 + None, # 2353 + None, # 2354 + None, # 2355 + None, # 2356 + None, # 2357 + None, # 2358 + None, # 2359 + None, # 2360 + None, # 2361 + None, # 2362 + None, # 2363 + None, # 2364 + None, # 2365 + None, # 2366 + None, # 2367 + None, # 2368 + None, # 2369 + None, # 2370 + None, # 2371 + None, # 2372 + None, # 2373 + None, # 2374 + None, # 2375 + None, # 2376 + None, # 2377 + None, # 2378 + None, # 2379 + None, # 2380 + None, # 2381 + None, # 2382 + None, # 2383 + None, # 2384 + None, # 2385 + None, # 2386 + None, # 2387 + None, # 2388 + None, # 2389 + None, # 2390 + None, # 2391 + None, # 2392 + None, # 2393 + None, # 2394 + None, # 2395 + None, # 2396 + None, # 2397 + None, # 2398 + None, # 2399 + None, # 2400 + None, # 2401 + None, # 2402 + None, # 2403 + None, # 2404 + None, # 2405 + None, # 2406 + None, # 2407 + None, # 2408 + None, # 2409 + None, # 2410 + None, # 2411 + None, # 2412 + None, # 2413 + None, # 2414 + None, # 2415 + None, # 2416 + None, # 2417 + None, # 2418 + None, # 2419 + None, # 2420 + None, # 2421 + None, # 2422 + None, # 2423 + None, # 2424 + None, # 2425 + None, # 2426 + None, # 2427 + None, # 2428 + None, # 2429 + None, # 2430 + None, # 2431 + None, # 2432 + None, # 2433 + None, # 2434 + None, # 2435 + None, # 2436 + None, # 2437 + None, # 2438 + None, # 2439 + None, # 2440 + None, # 2441 + None, # 2442 + None, # 2443 + None, # 2444 + None, # 2445 + None, # 2446 + None, # 2447 + None, # 2448 + None, # 2449 + None, # 2450 + None, # 2451 + None, # 2452 + None, # 2453 + None, # 2454 + None, # 2455 + None, # 2456 + None, # 2457 + None, # 2458 + None, # 2459 + None, # 2460 + None, # 2461 + None, # 2462 + None, # 2463 + None, # 2464 + None, # 2465 + None, # 2466 + None, # 2467 + None, # 2468 + None, # 2469 + None, # 2470 + None, # 2471 + None, # 2472 + None, # 2473 + None, # 2474 + None, # 2475 + None, # 2476 + None, # 2477 + None, # 2478 + None, # 2479 + None, # 2480 + None, # 2481 + None, # 2482 + None, # 2483 + None, # 2484 + None, # 2485 + None, # 2486 + None, # 2487 + None, # 2488 + None, # 2489 + None, # 2490 + None, # 2491 + None, # 2492 + None, # 2493 + None, # 2494 + None, # 2495 + None, # 2496 + None, # 2497 + None, # 2498 + None, # 2499 + None, # 2500 + None, # 2501 + None, # 2502 + None, # 2503 + None, # 2504 + None, # 2505 + None, # 2506 + None, # 2507 + None, # 2508 + None, # 2509 + None, # 2510 + None, # 2511 + None, # 2512 + None, # 2513 + None, # 2514 + None, # 2515 + None, # 2516 + None, # 2517 + None, # 2518 + None, # 2519 + None, # 2520 + None, # 2521 + None, # 2522 + None, # 2523 + None, # 2524 + None, # 2525 + None, # 2526 + None, # 2527 + None, # 2528 + None, # 2529 + None, # 2530 + None, # 2531 + None, # 2532 + None, # 2533 + None, # 2534 + None, # 2535 + None, # 2536 + None, # 2537 + None, # 2538 + None, # 2539 + None, # 2540 + None, # 2541 + None, # 2542 + None, # 2543 + None, # 2544 + None, # 2545 + None, # 2546 + None, # 2547 + None, # 2548 + None, # 2549 + None, # 2550 + None, # 2551 + None, # 2552 + None, # 2553 + None, # 2554 + None, # 2555 + None, # 2556 + None, # 2557 + None, # 2558 + None, # 2559 + None, # 2560 + None, # 2561 + None, # 2562 + None, # 2563 + None, # 2564 + None, # 2565 + None, # 2566 + None, # 2567 + None, # 2568 + None, # 2569 + None, # 2570 + None, # 2571 + None, # 2572 + None, # 2573 + None, # 2574 + None, # 2575 + None, # 2576 + None, # 2577 + None, # 2578 + None, # 2579 + None, # 2580 + None, # 2581 + None, # 2582 + None, # 2583 + None, # 2584 + None, # 2585 + None, # 2586 + None, # 2587 + None, # 2588 + None, # 2589 + None, # 2590 + None, # 2591 + None, # 2592 + None, # 2593 + None, # 2594 + None, # 2595 + None, # 2596 + None, # 2597 + None, # 2598 + None, # 2599 + None, # 2600 + None, # 2601 + None, # 2602 + None, # 2603 + None, # 2604 + None, # 2605 + None, # 2606 + None, # 2607 + None, # 2608 + None, # 2609 + None, # 2610 + None, # 2611 + None, # 2612 + None, # 2613 + None, # 2614 + None, # 2615 + None, # 2616 + None, # 2617 + None, # 2618 + None, # 2619 + None, # 2620 + None, # 2621 + None, # 2622 + None, # 2623 + None, # 2624 + None, # 2625 + None, # 2626 + None, # 2627 + None, # 2628 + None, # 2629 + None, # 2630 + None, # 2631 + None, # 2632 + None, # 2633 + None, # 2634 + None, # 2635 + None, # 2636 + None, # 2637 + None, # 2638 + None, # 2639 + None, # 2640 + None, # 2641 + None, # 2642 + None, # 2643 + None, # 2644 + None, # 2645 + None, # 2646 + None, # 2647 + None, # 2648 + None, # 2649 + None, # 2650 + None, # 2651 + None, # 2652 + None, # 2653 + None, # 2654 + None, # 2655 + None, # 2656 + None, # 2657 + None, # 2658 + None, # 2659 + None, # 2660 + None, # 2661 + None, # 2662 + None, # 2663 + None, # 2664 + None, # 2665 + None, # 2666 + None, # 2667 + None, # 2668 + None, # 2669 + None, # 2670 + None, # 2671 + None, # 2672 + None, # 2673 + None, # 2674 + None, # 2675 + None, # 2676 + None, # 2677 + None, # 2678 + None, # 2679 + None, # 2680 + None, # 2681 + None, # 2682 + None, # 2683 + None, # 2684 + None, # 2685 + None, # 2686 + None, # 2687 + None, # 2688 + None, # 2689 + None, # 2690 + None, # 2691 + None, # 2692 + None, # 2693 + None, # 2694 + None, # 2695 + None, # 2696 + None, # 2697 + None, # 2698 + None, # 2699 + None, # 2700 + None, # 2701 + None, # 2702 + None, # 2703 + None, # 2704 + None, # 2705 + None, # 2706 + None, # 2707 + None, # 2708 + None, # 2709 + None, # 2710 + None, # 2711 + None, # 2712 + None, # 2713 + None, # 2714 + None, # 2715 + None, # 2716 + None, # 2717 + None, # 2718 + None, # 2719 + None, # 2720 + None, # 2721 + None, # 2722 + None, # 2723 + None, # 2724 + None, # 2725 + None, # 2726 + None, # 2727 + None, # 2728 + None, # 2729 + None, # 2730 + None, # 2731 + None, # 2732 + None, # 2733 + None, # 2734 + None, # 2735 + None, # 2736 + None, # 2737 + None, # 2738 + None, # 2739 + None, # 2740 + None, # 2741 + None, # 2742 + None, # 2743 + None, # 2744 + None, # 2745 + None, # 2746 + None, # 2747 + None, # 2748 + None, # 2749 + None, # 2750 + None, # 2751 + None, # 2752 + None, # 2753 + None, # 2754 + None, # 2755 + None, # 2756 + None, # 2757 + None, # 2758 + None, # 2759 + None, # 2760 + None, # 2761 + None, # 2762 + None, # 2763 + None, # 2764 + None, # 2765 + None, # 2766 + None, # 2767 + None, # 2768 + None, # 2769 + None, # 2770 + None, # 2771 + None, # 2772 + None, # 2773 + None, # 2774 + None, # 2775 + None, # 2776 + None, # 2777 + None, # 2778 + None, # 2779 + None, # 2780 + None, # 2781 + None, # 2782 + None, # 2783 + None, # 2784 + None, # 2785 + None, # 2786 + None, # 2787 + None, # 2788 + None, # 2789 + None, # 2790 + None, # 2791 + None, # 2792 + None, # 2793 + None, # 2794 + None, # 2795 + None, # 2796 + None, # 2797 + None, # 2798 + None, # 2799 + None, # 2800 + None, # 2801 + None, # 2802 + None, # 2803 + None, # 2804 + None, # 2805 + None, # 2806 + None, # 2807 + None, # 2808 + None, # 2809 + None, # 2810 + None, # 2811 + None, # 2812 + None, # 2813 + None, # 2814 + None, # 2815 + None, # 2816 + None, # 2817 + None, # 2818 + None, # 2819 + None, # 2820 + None, # 2821 + None, # 2822 + None, # 2823 + None, # 2824 + None, # 2825 + None, # 2826 + None, # 2827 + None, # 2828 + None, # 2829 + None, # 2830 + None, # 2831 + None, # 2832 + None, # 2833 + None, # 2834 + None, # 2835 + None, # 2836 + None, # 2837 + None, # 2838 + None, # 2839 + None, # 2840 + None, # 2841 + None, # 2842 + None, # 2843 + None, # 2844 + None, # 2845 + None, # 2846 + None, # 2847 + None, # 2848 + None, # 2849 + None, # 2850 + None, # 2851 + None, # 2852 + None, # 2853 + None, # 2854 + None, # 2855 + None, # 2856 + None, # 2857 + None, # 2858 + None, # 2859 + None, # 2860 + None, # 2861 + None, # 2862 + None, # 2863 + None, # 2864 + None, # 2865 + None, # 2866 + None, # 2867 + None, # 2868 + None, # 2869 + None, # 2870 + None, # 2871 + None, # 2872 + None, # 2873 + None, # 2874 + None, # 2875 + None, # 2876 + None, # 2877 + None, # 2878 + None, # 2879 + None, # 2880 + None, # 2881 + None, # 2882 + None, # 2883 + None, # 2884 + None, # 2885 + None, # 2886 + None, # 2887 + None, # 2888 + None, # 2889 + None, # 2890 + None, # 2891 + None, # 2892 + None, # 2893 + None, # 2894 + None, # 2895 + None, # 2896 + None, # 2897 + None, # 2898 + None, # 2899 + None, # 2900 + None, # 2901 + None, # 2902 + None, # 2903 + None, # 2904 + None, # 2905 + None, # 2906 + None, # 2907 + None, # 2908 + None, # 2909 + None, # 2910 + None, # 2911 + None, # 2912 + None, # 2913 + None, # 2914 + None, # 2915 + None, # 2916 + None, # 2917 + None, # 2918 + None, # 2919 + None, # 2920 + None, # 2921 + None, # 2922 + None, # 2923 + None, # 2924 + None, # 2925 + None, # 2926 + None, # 2927 + None, # 2928 + None, # 2929 + None, # 2930 + None, # 2931 + None, # 2932 + None, # 2933 + None, # 2934 + None, # 2935 + None, # 2936 + None, # 2937 + None, # 2938 + None, # 2939 + None, # 2940 + None, # 2941 + None, # 2942 + None, # 2943 + None, # 2944 + None, # 2945 + None, # 2946 + None, # 2947 + None, # 2948 + None, # 2949 + None, # 2950 + None, # 2951 + None, # 2952 + None, # 2953 + None, # 2954 + None, # 2955 + None, # 2956 + None, # 2957 + None, # 2958 + None, # 2959 + None, # 2960 + None, # 2961 + None, # 2962 + None, # 2963 + None, # 2964 + None, # 2965 + None, # 2966 + None, # 2967 + None, # 2968 + None, # 2969 + None, # 2970 + None, # 2971 + None, # 2972 + None, # 2973 + None, # 2974 + None, # 2975 + None, # 2976 + None, # 2977 + None, # 2978 + None, # 2979 + None, # 2980 + None, # 2981 + None, # 2982 + None, # 2983 + None, # 2984 + None, # 2985 + None, # 2986 + None, # 2987 + None, # 2988 + None, # 2989 + None, # 2990 + None, # 2991 + None, # 2992 + None, # 2993 + None, # 2994 + None, # 2995 + None, # 2996 + None, # 2997 + None, # 2998 + None, # 2999 + None, # 3000 + None, # 3001 + None, # 3002 + None, # 3003 + None, # 3004 + None, # 3005 + None, # 3006 + None, # 3007 + None, # 3008 + None, # 3009 + None, # 3010 + None, # 3011 + None, # 3012 + None, # 3013 + None, # 3014 + None, # 3015 + None, # 3016 + None, # 3017 + None, # 3018 + None, # 3019 + None, # 3020 + None, # 3021 + None, # 3022 + None, # 3023 + None, # 3024 + None, # 3025 + None, # 3026 + None, # 3027 + None, # 3028 + None, # 3029 + None, # 3030 + None, # 3031 + None, # 3032 + None, # 3033 + None, # 3034 + None, # 3035 + None, # 3036 + None, # 3037 + None, # 3038 + None, # 3039 + None, # 3040 + None, # 3041 + None, # 3042 + None, # 3043 + None, # 3044 + None, # 3045 + None, # 3046 + None, # 3047 + None, # 3048 + None, # 3049 + None, # 3050 + None, # 3051 + None, # 3052 + None, # 3053 + None, # 3054 + None, # 3055 + None, # 3056 + None, # 3057 + None, # 3058 + None, # 3059 + None, # 3060 + None, # 3061 + None, # 3062 + None, # 3063 + None, # 3064 + None, # 3065 + None, # 3066 + None, # 3067 + None, # 3068 + None, # 3069 + None, # 3070 + None, # 3071 + None, # 3072 + None, # 3073 + None, # 3074 + None, # 3075 + None, # 3076 + None, # 3077 + None, # 3078 + None, # 3079 + None, # 3080 + None, # 3081 + None, # 3082 + None, # 3083 + None, # 3084 + None, # 3085 + None, # 3086 + None, # 3087 + None, # 3088 + None, # 3089 + None, # 3090 + None, # 3091 + None, # 3092 + None, # 3093 + None, # 3094 + None, # 3095 + None, # 3096 + None, # 3097 + None, # 3098 + None, # 3099 + None, # 3100 + None, # 3101 + None, # 3102 + None, # 3103 + None, # 3104 + None, # 3105 + None, # 3106 + None, # 3107 + None, # 3108 + None, # 3109 + None, # 3110 + None, # 3111 + None, # 3112 + None, # 3113 + None, # 3114 + None, # 3115 + None, # 3116 + None, # 3117 + None, # 3118 + None, # 3119 + None, # 3120 + None, # 3121 + None, # 3122 + None, # 3123 + None, # 3124 + None, # 3125 + None, # 3126 + None, # 3127 + None, # 3128 + None, # 3129 + None, # 3130 + None, # 3131 + None, # 3132 + None, # 3133 + None, # 3134 + None, # 3135 + None, # 3136 + None, # 3137 + None, # 3138 + None, # 3139 + None, # 3140 + None, # 3141 + None, # 3142 + None, # 3143 + None, # 3144 + None, # 3145 + None, # 3146 + None, # 3147 + None, # 3148 + None, # 3149 + None, # 3150 + None, # 3151 + None, # 3152 + None, # 3153 + None, # 3154 + None, # 3155 + None, # 3156 + None, # 3157 + None, # 3158 + None, # 3159 + None, # 3160 + None, # 3161 + None, # 3162 + None, # 3163 + None, # 3164 + None, # 3165 + None, # 3166 + None, # 3167 + None, # 3168 + None, # 3169 + None, # 3170 + None, # 3171 + None, # 3172 + None, # 3173 + None, # 3174 + None, # 3175 + None, # 3176 + None, # 3177 + None, # 3178 + None, # 3179 + None, # 3180 + None, # 3181 + None, # 3182 + None, # 3183 + None, # 3184 + None, # 3185 + None, # 3186 + None, # 3187 + None, # 3188 + None, # 3189 + None, # 3190 + None, # 3191 + None, # 3192 + None, # 3193 + None, # 3194 + None, # 3195 + None, # 3196 + None, # 3197 + None, # 3198 + None, # 3199 + None, # 3200 + None, # 3201 + None, # 3202 + None, # 3203 + None, # 3204 + None, # 3205 + None, # 3206 + None, # 3207 + None, # 3208 + None, # 3209 + None, # 3210 + None, # 3211 + None, # 3212 + None, # 3213 + None, # 3214 + None, # 3215 + None, # 3216 + None, # 3217 + None, # 3218 + None, # 3219 + None, # 3220 + None, # 3221 + None, # 3222 + None, # 3223 + None, # 3224 + None, # 3225 + None, # 3226 + None, # 3227 + None, # 3228 + None, # 3229 + None, # 3230 + None, # 3231 + None, # 3232 + None, # 3233 + None, # 3234 + None, # 3235 + None, # 3236 + None, # 3237 + None, # 3238 + None, # 3239 + None, # 3240 + None, # 3241 + None, # 3242 + None, # 3243 + None, # 3244 + None, # 3245 + None, # 3246 + None, # 3247 + None, # 3248 + None, # 3249 + None, # 3250 + None, # 3251 + None, # 3252 + None, # 3253 + None, # 3254 + None, # 3255 + None, # 3256 + None, # 3257 + None, # 3258 + None, # 3259 + None, # 3260 + None, # 3261 + None, # 3262 + None, # 3263 + None, # 3264 + None, # 3265 + None, # 3266 + None, # 3267 + None, # 3268 + None, # 3269 + None, # 3270 + None, # 3271 + None, # 3272 + None, # 3273 + None, # 3274 + None, # 3275 + None, # 3276 + None, # 3277 + None, # 3278 + None, # 3279 + None, # 3280 + None, # 3281 + None, # 3282 + None, # 3283 + None, # 3284 + None, # 3285 + None, # 3286 + None, # 3287 + None, # 3288 + None, # 3289 + None, # 3290 + None, # 3291 + None, # 3292 + None, # 3293 + None, # 3294 + None, # 3295 + None, # 3296 + None, # 3297 + None, # 3298 + None, # 3299 + None, # 3300 + None, # 3301 + None, # 3302 + None, # 3303 + None, # 3304 + None, # 3305 + None, # 3306 + None, # 3307 + None, # 3308 + None, # 3309 + None, # 3310 + None, # 3311 + None, # 3312 + None, # 3313 + None, # 3314 + None, # 3315 + None, # 3316 + None, # 3317 + None, # 3318 + None, # 3319 + None, # 3320 + None, # 3321 + None, # 3322 + None, # 3323 + None, # 3324 + None, # 3325 + None, # 3326 + None, # 3327 + None, # 3328 + (3329, TType.STRUCT, 'operationId', [THandleIdentifier, None], None, ), # 3329 + (3330, TType.STRUCT, 'sessionConf', [TDBSqlSessionConf, None], None, ), # 3330 ) all_structs.append(TGetSchemasResp) TGetSchemasResp.thrift_spec = ( - None, # 0 - ( - 1, - TType.STRUCT, - "status", - [TStatus, None], - None, - ), # 1 - ( - 2, - TType.STRUCT, - "operationHandle", - [TOperationHandle, None], - None, - ), # 2 - None, # 3 - None, # 4 - None, # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - ( - 1281, - TType.STRUCT, - "directResults", - [TSparkDirectResults, None], - None, - ), # 1281 + None, # 0 + (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 + (2, TType.STRUCT, 'operationHandle', [TOperationHandle, None], None, ), # 2 + None, # 3 + None, # 4 + None, # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + (1281, TType.STRUCT, 'directResults', [TSparkDirectResults, None], None, ), # 1281 ) all_structs.append(TGetTablesReq) TGetTablesReq.thrift_spec = ( - None, # 0 - ( - 1, - TType.STRUCT, - "sessionHandle", - [TSessionHandle, None], - None, - ), # 1 - ( - 2, - TType.STRING, - "catalogName", - "UTF8", - None, - ), # 2 - ( - 3, - TType.STRING, - "schemaName", - "UTF8", - None, - ), # 3 - ( - 4, - TType.STRING, - "tableName", - "UTF8", - None, - ), # 4 - ( - 5, - TType.LIST, - "tableTypes", - (TType.STRING, "UTF8", False), - None, - ), # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - ( - 1281, - TType.STRUCT, - "getDirectResults", - [TSparkGetDirectResults, None], - None, - ), # 1281 - ( - 1282, - TType.BOOL, - "runAsync", - None, - False, - ), # 1282 - None, # 1283 - None, # 1284 - None, # 1285 - None, # 1286 - None, # 1287 - None, # 1288 - None, # 1289 - None, # 1290 - None, # 1291 - None, # 1292 - None, # 1293 - None, # 1294 - None, # 1295 - None, # 1296 - None, # 1297 - None, # 1298 - None, # 1299 - None, # 1300 - None, # 1301 - None, # 1302 - None, # 1303 - None, # 1304 - None, # 1305 - None, # 1306 - None, # 1307 - None, # 1308 - None, # 1309 - None, # 1310 - None, # 1311 - None, # 1312 - None, # 1313 - None, # 1314 - None, # 1315 - None, # 1316 - None, # 1317 - None, # 1318 - None, # 1319 - None, # 1320 - None, # 1321 - None, # 1322 - None, # 1323 - None, # 1324 - None, # 1325 - None, # 1326 - None, # 1327 - None, # 1328 - None, # 1329 - None, # 1330 - None, # 1331 - None, # 1332 - None, # 1333 - None, # 1334 - None, # 1335 - None, # 1336 - None, # 1337 - None, # 1338 - None, # 1339 - None, # 1340 - None, # 1341 - None, # 1342 - None, # 1343 - None, # 1344 - None, # 1345 - None, # 1346 - None, # 1347 - None, # 1348 - None, # 1349 - None, # 1350 - None, # 1351 - None, # 1352 - None, # 1353 - None, # 1354 - None, # 1355 - None, # 1356 - None, # 1357 - None, # 1358 - None, # 1359 - None, # 1360 - None, # 1361 - None, # 1362 - None, # 1363 - None, # 1364 - None, # 1365 - None, # 1366 - None, # 1367 - None, # 1368 - None, # 1369 - None, # 1370 - None, # 1371 - None, # 1372 - None, # 1373 - None, # 1374 - None, # 1375 - None, # 1376 - None, # 1377 - None, # 1378 - None, # 1379 - None, # 1380 - None, # 1381 - None, # 1382 - None, # 1383 - None, # 1384 - None, # 1385 - None, # 1386 - None, # 1387 - None, # 1388 - None, # 1389 - None, # 1390 - None, # 1391 - None, # 1392 - None, # 1393 - None, # 1394 - None, # 1395 - None, # 1396 - None, # 1397 - None, # 1398 - None, # 1399 - None, # 1400 - None, # 1401 - None, # 1402 - None, # 1403 - None, # 1404 - None, # 1405 - None, # 1406 - None, # 1407 - None, # 1408 - None, # 1409 - None, # 1410 - None, # 1411 - None, # 1412 - None, # 1413 - None, # 1414 - None, # 1415 - None, # 1416 - None, # 1417 - None, # 1418 - None, # 1419 - None, # 1420 - None, # 1421 - None, # 1422 - None, # 1423 - None, # 1424 - None, # 1425 - None, # 1426 - None, # 1427 - None, # 1428 - None, # 1429 - None, # 1430 - None, # 1431 - None, # 1432 - None, # 1433 - None, # 1434 - None, # 1435 - None, # 1436 - None, # 1437 - None, # 1438 - None, # 1439 - None, # 1440 - None, # 1441 - None, # 1442 - None, # 1443 - None, # 1444 - None, # 1445 - None, # 1446 - None, # 1447 - None, # 1448 - None, # 1449 - None, # 1450 - None, # 1451 - None, # 1452 - None, # 1453 - None, # 1454 - None, # 1455 - None, # 1456 - None, # 1457 - None, # 1458 - None, # 1459 - None, # 1460 - None, # 1461 - None, # 1462 - None, # 1463 - None, # 1464 - None, # 1465 - None, # 1466 - None, # 1467 - None, # 1468 - None, # 1469 - None, # 1470 - None, # 1471 - None, # 1472 - None, # 1473 - None, # 1474 - None, # 1475 - None, # 1476 - None, # 1477 - None, # 1478 - None, # 1479 - None, # 1480 - None, # 1481 - None, # 1482 - None, # 1483 - None, # 1484 - None, # 1485 - None, # 1486 - None, # 1487 - None, # 1488 - None, # 1489 - None, # 1490 - None, # 1491 - None, # 1492 - None, # 1493 - None, # 1494 - None, # 1495 - None, # 1496 - None, # 1497 - None, # 1498 - None, # 1499 - None, # 1500 - None, # 1501 - None, # 1502 - None, # 1503 - None, # 1504 - None, # 1505 - None, # 1506 - None, # 1507 - None, # 1508 - None, # 1509 - None, # 1510 - None, # 1511 - None, # 1512 - None, # 1513 - None, # 1514 - None, # 1515 - None, # 1516 - None, # 1517 - None, # 1518 - None, # 1519 - None, # 1520 - None, # 1521 - None, # 1522 - None, # 1523 - None, # 1524 - None, # 1525 - None, # 1526 - None, # 1527 - None, # 1528 - None, # 1529 - None, # 1530 - None, # 1531 - None, # 1532 - None, # 1533 - None, # 1534 - None, # 1535 - None, # 1536 - None, # 1537 - None, # 1538 - None, # 1539 - None, # 1540 - None, # 1541 - None, # 1542 - None, # 1543 - None, # 1544 - None, # 1545 - None, # 1546 - None, # 1547 - None, # 1548 - None, # 1549 - None, # 1550 - None, # 1551 - None, # 1552 - None, # 1553 - None, # 1554 - None, # 1555 - None, # 1556 - None, # 1557 - None, # 1558 - None, # 1559 - None, # 1560 - None, # 1561 - None, # 1562 - None, # 1563 - None, # 1564 - None, # 1565 - None, # 1566 - None, # 1567 - None, # 1568 - None, # 1569 - None, # 1570 - None, # 1571 - None, # 1572 - None, # 1573 - None, # 1574 - None, # 1575 - None, # 1576 - None, # 1577 - None, # 1578 - None, # 1579 - None, # 1580 - None, # 1581 - None, # 1582 - None, # 1583 - None, # 1584 - None, # 1585 - None, # 1586 - None, # 1587 - None, # 1588 - None, # 1589 - None, # 1590 - None, # 1591 - None, # 1592 - None, # 1593 - None, # 1594 - None, # 1595 - None, # 1596 - None, # 1597 - None, # 1598 - None, # 1599 - None, # 1600 - None, # 1601 - None, # 1602 - None, # 1603 - None, # 1604 - None, # 1605 - None, # 1606 - None, # 1607 - None, # 1608 - None, # 1609 - None, # 1610 - None, # 1611 - None, # 1612 - None, # 1613 - None, # 1614 - None, # 1615 - None, # 1616 - None, # 1617 - None, # 1618 - None, # 1619 - None, # 1620 - None, # 1621 - None, # 1622 - None, # 1623 - None, # 1624 - None, # 1625 - None, # 1626 - None, # 1627 - None, # 1628 - None, # 1629 - None, # 1630 - None, # 1631 - None, # 1632 - None, # 1633 - None, # 1634 - None, # 1635 - None, # 1636 - None, # 1637 - None, # 1638 - None, # 1639 - None, # 1640 - None, # 1641 - None, # 1642 - None, # 1643 - None, # 1644 - None, # 1645 - None, # 1646 - None, # 1647 - None, # 1648 - None, # 1649 - None, # 1650 - None, # 1651 - None, # 1652 - None, # 1653 - None, # 1654 - None, # 1655 - None, # 1656 - None, # 1657 - None, # 1658 - None, # 1659 - None, # 1660 - None, # 1661 - None, # 1662 - None, # 1663 - None, # 1664 - None, # 1665 - None, # 1666 - None, # 1667 - None, # 1668 - None, # 1669 - None, # 1670 - None, # 1671 - None, # 1672 - None, # 1673 - None, # 1674 - None, # 1675 - None, # 1676 - None, # 1677 - None, # 1678 - None, # 1679 - None, # 1680 - None, # 1681 - None, # 1682 - None, # 1683 - None, # 1684 - None, # 1685 - None, # 1686 - None, # 1687 - None, # 1688 - None, # 1689 - None, # 1690 - None, # 1691 - None, # 1692 - None, # 1693 - None, # 1694 - None, # 1695 - None, # 1696 - None, # 1697 - None, # 1698 - None, # 1699 - None, # 1700 - None, # 1701 - None, # 1702 - None, # 1703 - None, # 1704 - None, # 1705 - None, # 1706 - None, # 1707 - None, # 1708 - None, # 1709 - None, # 1710 - None, # 1711 - None, # 1712 - None, # 1713 - None, # 1714 - None, # 1715 - None, # 1716 - None, # 1717 - None, # 1718 - None, # 1719 - None, # 1720 - None, # 1721 - None, # 1722 - None, # 1723 - None, # 1724 - None, # 1725 - None, # 1726 - None, # 1727 - None, # 1728 - None, # 1729 - None, # 1730 - None, # 1731 - None, # 1732 - None, # 1733 - None, # 1734 - None, # 1735 - None, # 1736 - None, # 1737 - None, # 1738 - None, # 1739 - None, # 1740 - None, # 1741 - None, # 1742 - None, # 1743 - None, # 1744 - None, # 1745 - None, # 1746 - None, # 1747 - None, # 1748 - None, # 1749 - None, # 1750 - None, # 1751 - None, # 1752 - None, # 1753 - None, # 1754 - None, # 1755 - None, # 1756 - None, # 1757 - None, # 1758 - None, # 1759 - None, # 1760 - None, # 1761 - None, # 1762 - None, # 1763 - None, # 1764 - None, # 1765 - None, # 1766 - None, # 1767 - None, # 1768 - None, # 1769 - None, # 1770 - None, # 1771 - None, # 1772 - None, # 1773 - None, # 1774 - None, # 1775 - None, # 1776 - None, # 1777 - None, # 1778 - None, # 1779 - None, # 1780 - None, # 1781 - None, # 1782 - None, # 1783 - None, # 1784 - None, # 1785 - None, # 1786 - None, # 1787 - None, # 1788 - None, # 1789 - None, # 1790 - None, # 1791 - None, # 1792 - None, # 1793 - None, # 1794 - None, # 1795 - None, # 1796 - None, # 1797 - None, # 1798 - None, # 1799 - None, # 1800 - None, # 1801 - None, # 1802 - None, # 1803 - None, # 1804 - None, # 1805 - None, # 1806 - None, # 1807 - None, # 1808 - None, # 1809 - None, # 1810 - None, # 1811 - None, # 1812 - None, # 1813 - None, # 1814 - None, # 1815 - None, # 1816 - None, # 1817 - None, # 1818 - None, # 1819 - None, # 1820 - None, # 1821 - None, # 1822 - None, # 1823 - None, # 1824 - None, # 1825 - None, # 1826 - None, # 1827 - None, # 1828 - None, # 1829 - None, # 1830 - None, # 1831 - None, # 1832 - None, # 1833 - None, # 1834 - None, # 1835 - None, # 1836 - None, # 1837 - None, # 1838 - None, # 1839 - None, # 1840 - None, # 1841 - None, # 1842 - None, # 1843 - None, # 1844 - None, # 1845 - None, # 1846 - None, # 1847 - None, # 1848 - None, # 1849 - None, # 1850 - None, # 1851 - None, # 1852 - None, # 1853 - None, # 1854 - None, # 1855 - None, # 1856 - None, # 1857 - None, # 1858 - None, # 1859 - None, # 1860 - None, # 1861 - None, # 1862 - None, # 1863 - None, # 1864 - None, # 1865 - None, # 1866 - None, # 1867 - None, # 1868 - None, # 1869 - None, # 1870 - None, # 1871 - None, # 1872 - None, # 1873 - None, # 1874 - None, # 1875 - None, # 1876 - None, # 1877 - None, # 1878 - None, # 1879 - None, # 1880 - None, # 1881 - None, # 1882 - None, # 1883 - None, # 1884 - None, # 1885 - None, # 1886 - None, # 1887 - None, # 1888 - None, # 1889 - None, # 1890 - None, # 1891 - None, # 1892 - None, # 1893 - None, # 1894 - None, # 1895 - None, # 1896 - None, # 1897 - None, # 1898 - None, # 1899 - None, # 1900 - None, # 1901 - None, # 1902 - None, # 1903 - None, # 1904 - None, # 1905 - None, # 1906 - None, # 1907 - None, # 1908 - None, # 1909 - None, # 1910 - None, # 1911 - None, # 1912 - None, # 1913 - None, # 1914 - None, # 1915 - None, # 1916 - None, # 1917 - None, # 1918 - None, # 1919 - None, # 1920 - None, # 1921 - None, # 1922 - None, # 1923 - None, # 1924 - None, # 1925 - None, # 1926 - None, # 1927 - None, # 1928 - None, # 1929 - None, # 1930 - None, # 1931 - None, # 1932 - None, # 1933 - None, # 1934 - None, # 1935 - None, # 1936 - None, # 1937 - None, # 1938 - None, # 1939 - None, # 1940 - None, # 1941 - None, # 1942 - None, # 1943 - None, # 1944 - None, # 1945 - None, # 1946 - None, # 1947 - None, # 1948 - None, # 1949 - None, # 1950 - None, # 1951 - None, # 1952 - None, # 1953 - None, # 1954 - None, # 1955 - None, # 1956 - None, # 1957 - None, # 1958 - None, # 1959 - None, # 1960 - None, # 1961 - None, # 1962 - None, # 1963 - None, # 1964 - None, # 1965 - None, # 1966 - None, # 1967 - None, # 1968 - None, # 1969 - None, # 1970 - None, # 1971 - None, # 1972 - None, # 1973 - None, # 1974 - None, # 1975 - None, # 1976 - None, # 1977 - None, # 1978 - None, # 1979 - None, # 1980 - None, # 1981 - None, # 1982 - None, # 1983 - None, # 1984 - None, # 1985 - None, # 1986 - None, # 1987 - None, # 1988 - None, # 1989 - None, # 1990 - None, # 1991 - None, # 1992 - None, # 1993 - None, # 1994 - None, # 1995 - None, # 1996 - None, # 1997 - None, # 1998 - None, # 1999 - None, # 2000 - None, # 2001 - None, # 2002 - None, # 2003 - None, # 2004 - None, # 2005 - None, # 2006 - None, # 2007 - None, # 2008 - None, # 2009 - None, # 2010 - None, # 2011 - None, # 2012 - None, # 2013 - None, # 2014 - None, # 2015 - None, # 2016 - None, # 2017 - None, # 2018 - None, # 2019 - None, # 2020 - None, # 2021 - None, # 2022 - None, # 2023 - None, # 2024 - None, # 2025 - None, # 2026 - None, # 2027 - None, # 2028 - None, # 2029 - None, # 2030 - None, # 2031 - None, # 2032 - None, # 2033 - None, # 2034 - None, # 2035 - None, # 2036 - None, # 2037 - None, # 2038 - None, # 2039 - None, # 2040 - None, # 2041 - None, # 2042 - None, # 2043 - None, # 2044 - None, # 2045 - None, # 2046 - None, # 2047 - None, # 2048 - None, # 2049 - None, # 2050 - None, # 2051 - None, # 2052 - None, # 2053 - None, # 2054 - None, # 2055 - None, # 2056 - None, # 2057 - None, # 2058 - None, # 2059 - None, # 2060 - None, # 2061 - None, # 2062 - None, # 2063 - None, # 2064 - None, # 2065 - None, # 2066 - None, # 2067 - None, # 2068 - None, # 2069 - None, # 2070 - None, # 2071 - None, # 2072 - None, # 2073 - None, # 2074 - None, # 2075 - None, # 2076 - None, # 2077 - None, # 2078 - None, # 2079 - None, # 2080 - None, # 2081 - None, # 2082 - None, # 2083 - None, # 2084 - None, # 2085 - None, # 2086 - None, # 2087 - None, # 2088 - None, # 2089 - None, # 2090 - None, # 2091 - None, # 2092 - None, # 2093 - None, # 2094 - None, # 2095 - None, # 2096 - None, # 2097 - None, # 2098 - None, # 2099 - None, # 2100 - None, # 2101 - None, # 2102 - None, # 2103 - None, # 2104 - None, # 2105 - None, # 2106 - None, # 2107 - None, # 2108 - None, # 2109 - None, # 2110 - None, # 2111 - None, # 2112 - None, # 2113 - None, # 2114 - None, # 2115 - None, # 2116 - None, # 2117 - None, # 2118 - None, # 2119 - None, # 2120 - None, # 2121 - None, # 2122 - None, # 2123 - None, # 2124 - None, # 2125 - None, # 2126 - None, # 2127 - None, # 2128 - None, # 2129 - None, # 2130 - None, # 2131 - None, # 2132 - None, # 2133 - None, # 2134 - None, # 2135 - None, # 2136 - None, # 2137 - None, # 2138 - None, # 2139 - None, # 2140 - None, # 2141 - None, # 2142 - None, # 2143 - None, # 2144 - None, # 2145 - None, # 2146 - None, # 2147 - None, # 2148 - None, # 2149 - None, # 2150 - None, # 2151 - None, # 2152 - None, # 2153 - None, # 2154 - None, # 2155 - None, # 2156 - None, # 2157 - None, # 2158 - None, # 2159 - None, # 2160 - None, # 2161 - None, # 2162 - None, # 2163 - None, # 2164 - None, # 2165 - None, # 2166 - None, # 2167 - None, # 2168 - None, # 2169 - None, # 2170 - None, # 2171 - None, # 2172 - None, # 2173 - None, # 2174 - None, # 2175 - None, # 2176 - None, # 2177 - None, # 2178 - None, # 2179 - None, # 2180 - None, # 2181 - None, # 2182 - None, # 2183 - None, # 2184 - None, # 2185 - None, # 2186 - None, # 2187 - None, # 2188 - None, # 2189 - None, # 2190 - None, # 2191 - None, # 2192 - None, # 2193 - None, # 2194 - None, # 2195 - None, # 2196 - None, # 2197 - None, # 2198 - None, # 2199 - None, # 2200 - None, # 2201 - None, # 2202 - None, # 2203 - None, # 2204 - None, # 2205 - None, # 2206 - None, # 2207 - None, # 2208 - None, # 2209 - None, # 2210 - None, # 2211 - None, # 2212 - None, # 2213 - None, # 2214 - None, # 2215 - None, # 2216 - None, # 2217 - None, # 2218 - None, # 2219 - None, # 2220 - None, # 2221 - None, # 2222 - None, # 2223 - None, # 2224 - None, # 2225 - None, # 2226 - None, # 2227 - None, # 2228 - None, # 2229 - None, # 2230 - None, # 2231 - None, # 2232 - None, # 2233 - None, # 2234 - None, # 2235 - None, # 2236 - None, # 2237 - None, # 2238 - None, # 2239 - None, # 2240 - None, # 2241 - None, # 2242 - None, # 2243 - None, # 2244 - None, # 2245 - None, # 2246 - None, # 2247 - None, # 2248 - None, # 2249 - None, # 2250 - None, # 2251 - None, # 2252 - None, # 2253 - None, # 2254 - None, # 2255 - None, # 2256 - None, # 2257 - None, # 2258 - None, # 2259 - None, # 2260 - None, # 2261 - None, # 2262 - None, # 2263 - None, # 2264 - None, # 2265 - None, # 2266 - None, # 2267 - None, # 2268 - None, # 2269 - None, # 2270 - None, # 2271 - None, # 2272 - None, # 2273 - None, # 2274 - None, # 2275 - None, # 2276 - None, # 2277 - None, # 2278 - None, # 2279 - None, # 2280 - None, # 2281 - None, # 2282 - None, # 2283 - None, # 2284 - None, # 2285 - None, # 2286 - None, # 2287 - None, # 2288 - None, # 2289 - None, # 2290 - None, # 2291 - None, # 2292 - None, # 2293 - None, # 2294 - None, # 2295 - None, # 2296 - None, # 2297 - None, # 2298 - None, # 2299 - None, # 2300 - None, # 2301 - None, # 2302 - None, # 2303 - None, # 2304 - None, # 2305 - None, # 2306 - None, # 2307 - None, # 2308 - None, # 2309 - None, # 2310 - None, # 2311 - None, # 2312 - None, # 2313 - None, # 2314 - None, # 2315 - None, # 2316 - None, # 2317 - None, # 2318 - None, # 2319 - None, # 2320 - None, # 2321 - None, # 2322 - None, # 2323 - None, # 2324 - None, # 2325 - None, # 2326 - None, # 2327 - None, # 2328 - None, # 2329 - None, # 2330 - None, # 2331 - None, # 2332 - None, # 2333 - None, # 2334 - None, # 2335 - None, # 2336 - None, # 2337 - None, # 2338 - None, # 2339 - None, # 2340 - None, # 2341 - None, # 2342 - None, # 2343 - None, # 2344 - None, # 2345 - None, # 2346 - None, # 2347 - None, # 2348 - None, # 2349 - None, # 2350 - None, # 2351 - None, # 2352 - None, # 2353 - None, # 2354 - None, # 2355 - None, # 2356 - None, # 2357 - None, # 2358 - None, # 2359 - None, # 2360 - None, # 2361 - None, # 2362 - None, # 2363 - None, # 2364 - None, # 2365 - None, # 2366 - None, # 2367 - None, # 2368 - None, # 2369 - None, # 2370 - None, # 2371 - None, # 2372 - None, # 2373 - None, # 2374 - None, # 2375 - None, # 2376 - None, # 2377 - None, # 2378 - None, # 2379 - None, # 2380 - None, # 2381 - None, # 2382 - None, # 2383 - None, # 2384 - None, # 2385 - None, # 2386 - None, # 2387 - None, # 2388 - None, # 2389 - None, # 2390 - None, # 2391 - None, # 2392 - None, # 2393 - None, # 2394 - None, # 2395 - None, # 2396 - None, # 2397 - None, # 2398 - None, # 2399 - None, # 2400 - None, # 2401 - None, # 2402 - None, # 2403 - None, # 2404 - None, # 2405 - None, # 2406 - None, # 2407 - None, # 2408 - None, # 2409 - None, # 2410 - None, # 2411 - None, # 2412 - None, # 2413 - None, # 2414 - None, # 2415 - None, # 2416 - None, # 2417 - None, # 2418 - None, # 2419 - None, # 2420 - None, # 2421 - None, # 2422 - None, # 2423 - None, # 2424 - None, # 2425 - None, # 2426 - None, # 2427 - None, # 2428 - None, # 2429 - None, # 2430 - None, # 2431 - None, # 2432 - None, # 2433 - None, # 2434 - None, # 2435 - None, # 2436 - None, # 2437 - None, # 2438 - None, # 2439 - None, # 2440 - None, # 2441 - None, # 2442 - None, # 2443 - None, # 2444 - None, # 2445 - None, # 2446 - None, # 2447 - None, # 2448 - None, # 2449 - None, # 2450 - None, # 2451 - None, # 2452 - None, # 2453 - None, # 2454 - None, # 2455 - None, # 2456 - None, # 2457 - None, # 2458 - None, # 2459 - None, # 2460 - None, # 2461 - None, # 2462 - None, # 2463 - None, # 2464 - None, # 2465 - None, # 2466 - None, # 2467 - None, # 2468 - None, # 2469 - None, # 2470 - None, # 2471 - None, # 2472 - None, # 2473 - None, # 2474 - None, # 2475 - None, # 2476 - None, # 2477 - None, # 2478 - None, # 2479 - None, # 2480 - None, # 2481 - None, # 2482 - None, # 2483 - None, # 2484 - None, # 2485 - None, # 2486 - None, # 2487 - None, # 2488 - None, # 2489 - None, # 2490 - None, # 2491 - None, # 2492 - None, # 2493 - None, # 2494 - None, # 2495 - None, # 2496 - None, # 2497 - None, # 2498 - None, # 2499 - None, # 2500 - None, # 2501 - None, # 2502 - None, # 2503 - None, # 2504 - None, # 2505 - None, # 2506 - None, # 2507 - None, # 2508 - None, # 2509 - None, # 2510 - None, # 2511 - None, # 2512 - None, # 2513 - None, # 2514 - None, # 2515 - None, # 2516 - None, # 2517 - None, # 2518 - None, # 2519 - None, # 2520 - None, # 2521 - None, # 2522 - None, # 2523 - None, # 2524 - None, # 2525 - None, # 2526 - None, # 2527 - None, # 2528 - None, # 2529 - None, # 2530 - None, # 2531 - None, # 2532 - None, # 2533 - None, # 2534 - None, # 2535 - None, # 2536 - None, # 2537 - None, # 2538 - None, # 2539 - None, # 2540 - None, # 2541 - None, # 2542 - None, # 2543 - None, # 2544 - None, # 2545 - None, # 2546 - None, # 2547 - None, # 2548 - None, # 2549 - None, # 2550 - None, # 2551 - None, # 2552 - None, # 2553 - None, # 2554 - None, # 2555 - None, # 2556 - None, # 2557 - None, # 2558 - None, # 2559 - None, # 2560 - None, # 2561 - None, # 2562 - None, # 2563 - None, # 2564 - None, # 2565 - None, # 2566 - None, # 2567 - None, # 2568 - None, # 2569 - None, # 2570 - None, # 2571 - None, # 2572 - None, # 2573 - None, # 2574 - None, # 2575 - None, # 2576 - None, # 2577 - None, # 2578 - None, # 2579 - None, # 2580 - None, # 2581 - None, # 2582 - None, # 2583 - None, # 2584 - None, # 2585 - None, # 2586 - None, # 2587 - None, # 2588 - None, # 2589 - None, # 2590 - None, # 2591 - None, # 2592 - None, # 2593 - None, # 2594 - None, # 2595 - None, # 2596 - None, # 2597 - None, # 2598 - None, # 2599 - None, # 2600 - None, # 2601 - None, # 2602 - None, # 2603 - None, # 2604 - None, # 2605 - None, # 2606 - None, # 2607 - None, # 2608 - None, # 2609 - None, # 2610 - None, # 2611 - None, # 2612 - None, # 2613 - None, # 2614 - None, # 2615 - None, # 2616 - None, # 2617 - None, # 2618 - None, # 2619 - None, # 2620 - None, # 2621 - None, # 2622 - None, # 2623 - None, # 2624 - None, # 2625 - None, # 2626 - None, # 2627 - None, # 2628 - None, # 2629 - None, # 2630 - None, # 2631 - None, # 2632 - None, # 2633 - None, # 2634 - None, # 2635 - None, # 2636 - None, # 2637 - None, # 2638 - None, # 2639 - None, # 2640 - None, # 2641 - None, # 2642 - None, # 2643 - None, # 2644 - None, # 2645 - None, # 2646 - None, # 2647 - None, # 2648 - None, # 2649 - None, # 2650 - None, # 2651 - None, # 2652 - None, # 2653 - None, # 2654 - None, # 2655 - None, # 2656 - None, # 2657 - None, # 2658 - None, # 2659 - None, # 2660 - None, # 2661 - None, # 2662 - None, # 2663 - None, # 2664 - None, # 2665 - None, # 2666 - None, # 2667 - None, # 2668 - None, # 2669 - None, # 2670 - None, # 2671 - None, # 2672 - None, # 2673 - None, # 2674 - None, # 2675 - None, # 2676 - None, # 2677 - None, # 2678 - None, # 2679 - None, # 2680 - None, # 2681 - None, # 2682 - None, # 2683 - None, # 2684 - None, # 2685 - None, # 2686 - None, # 2687 - None, # 2688 - None, # 2689 - None, # 2690 - None, # 2691 - None, # 2692 - None, # 2693 - None, # 2694 - None, # 2695 - None, # 2696 - None, # 2697 - None, # 2698 - None, # 2699 - None, # 2700 - None, # 2701 - None, # 2702 - None, # 2703 - None, # 2704 - None, # 2705 - None, # 2706 - None, # 2707 - None, # 2708 - None, # 2709 - None, # 2710 - None, # 2711 - None, # 2712 - None, # 2713 - None, # 2714 - None, # 2715 - None, # 2716 - None, # 2717 - None, # 2718 - None, # 2719 - None, # 2720 - None, # 2721 - None, # 2722 - None, # 2723 - None, # 2724 - None, # 2725 - None, # 2726 - None, # 2727 - None, # 2728 - None, # 2729 - None, # 2730 - None, # 2731 - None, # 2732 - None, # 2733 - None, # 2734 - None, # 2735 - None, # 2736 - None, # 2737 - None, # 2738 - None, # 2739 - None, # 2740 - None, # 2741 - None, # 2742 - None, # 2743 - None, # 2744 - None, # 2745 - None, # 2746 - None, # 2747 - None, # 2748 - None, # 2749 - None, # 2750 - None, # 2751 - None, # 2752 - None, # 2753 - None, # 2754 - None, # 2755 - None, # 2756 - None, # 2757 - None, # 2758 - None, # 2759 - None, # 2760 - None, # 2761 - None, # 2762 - None, # 2763 - None, # 2764 - None, # 2765 - None, # 2766 - None, # 2767 - None, # 2768 - None, # 2769 - None, # 2770 - None, # 2771 - None, # 2772 - None, # 2773 - None, # 2774 - None, # 2775 - None, # 2776 - None, # 2777 - None, # 2778 - None, # 2779 - None, # 2780 - None, # 2781 - None, # 2782 - None, # 2783 - None, # 2784 - None, # 2785 - None, # 2786 - None, # 2787 - None, # 2788 - None, # 2789 - None, # 2790 - None, # 2791 - None, # 2792 - None, # 2793 - None, # 2794 - None, # 2795 - None, # 2796 - None, # 2797 - None, # 2798 - None, # 2799 - None, # 2800 - None, # 2801 - None, # 2802 - None, # 2803 - None, # 2804 - None, # 2805 - None, # 2806 - None, # 2807 - None, # 2808 - None, # 2809 - None, # 2810 - None, # 2811 - None, # 2812 - None, # 2813 - None, # 2814 - None, # 2815 - None, # 2816 - None, # 2817 - None, # 2818 - None, # 2819 - None, # 2820 - None, # 2821 - None, # 2822 - None, # 2823 - None, # 2824 - None, # 2825 - None, # 2826 - None, # 2827 - None, # 2828 - None, # 2829 - None, # 2830 - None, # 2831 - None, # 2832 - None, # 2833 - None, # 2834 - None, # 2835 - None, # 2836 - None, # 2837 - None, # 2838 - None, # 2839 - None, # 2840 - None, # 2841 - None, # 2842 - None, # 2843 - None, # 2844 - None, # 2845 - None, # 2846 - None, # 2847 - None, # 2848 - None, # 2849 - None, # 2850 - None, # 2851 - None, # 2852 - None, # 2853 - None, # 2854 - None, # 2855 - None, # 2856 - None, # 2857 - None, # 2858 - None, # 2859 - None, # 2860 - None, # 2861 - None, # 2862 - None, # 2863 - None, # 2864 - None, # 2865 - None, # 2866 - None, # 2867 - None, # 2868 - None, # 2869 - None, # 2870 - None, # 2871 - None, # 2872 - None, # 2873 - None, # 2874 - None, # 2875 - None, # 2876 - None, # 2877 - None, # 2878 - None, # 2879 - None, # 2880 - None, # 2881 - None, # 2882 - None, # 2883 - None, # 2884 - None, # 2885 - None, # 2886 - None, # 2887 - None, # 2888 - None, # 2889 - None, # 2890 - None, # 2891 - None, # 2892 - None, # 2893 - None, # 2894 - None, # 2895 - None, # 2896 - None, # 2897 - None, # 2898 - None, # 2899 - None, # 2900 - None, # 2901 - None, # 2902 - None, # 2903 - None, # 2904 - None, # 2905 - None, # 2906 - None, # 2907 - None, # 2908 - None, # 2909 - None, # 2910 - None, # 2911 - None, # 2912 - None, # 2913 - None, # 2914 - None, # 2915 - None, # 2916 - None, # 2917 - None, # 2918 - None, # 2919 - None, # 2920 - None, # 2921 - None, # 2922 - None, # 2923 - None, # 2924 - None, # 2925 - None, # 2926 - None, # 2927 - None, # 2928 - None, # 2929 - None, # 2930 - None, # 2931 - None, # 2932 - None, # 2933 - None, # 2934 - None, # 2935 - None, # 2936 - None, # 2937 - None, # 2938 - None, # 2939 - None, # 2940 - None, # 2941 - None, # 2942 - None, # 2943 - None, # 2944 - None, # 2945 - None, # 2946 - None, # 2947 - None, # 2948 - None, # 2949 - None, # 2950 - None, # 2951 - None, # 2952 - None, # 2953 - None, # 2954 - None, # 2955 - None, # 2956 - None, # 2957 - None, # 2958 - None, # 2959 - None, # 2960 - None, # 2961 - None, # 2962 - None, # 2963 - None, # 2964 - None, # 2965 - None, # 2966 - None, # 2967 - None, # 2968 - None, # 2969 - None, # 2970 - None, # 2971 - None, # 2972 - None, # 2973 - None, # 2974 - None, # 2975 - None, # 2976 - None, # 2977 - None, # 2978 - None, # 2979 - None, # 2980 - None, # 2981 - None, # 2982 - None, # 2983 - None, # 2984 - None, # 2985 - None, # 2986 - None, # 2987 - None, # 2988 - None, # 2989 - None, # 2990 - None, # 2991 - None, # 2992 - None, # 2993 - None, # 2994 - None, # 2995 - None, # 2996 - None, # 2997 - None, # 2998 - None, # 2999 - None, # 3000 - None, # 3001 - None, # 3002 - None, # 3003 - None, # 3004 - None, # 3005 - None, # 3006 - None, # 3007 - None, # 3008 - None, # 3009 - None, # 3010 - None, # 3011 - None, # 3012 - None, # 3013 - None, # 3014 - None, # 3015 - None, # 3016 - None, # 3017 - None, # 3018 - None, # 3019 - None, # 3020 - None, # 3021 - None, # 3022 - None, # 3023 - None, # 3024 - None, # 3025 - None, # 3026 - None, # 3027 - None, # 3028 - None, # 3029 - None, # 3030 - None, # 3031 - None, # 3032 - None, # 3033 - None, # 3034 - None, # 3035 - None, # 3036 - None, # 3037 - None, # 3038 - None, # 3039 - None, # 3040 - None, # 3041 - None, # 3042 - None, # 3043 - None, # 3044 - None, # 3045 - None, # 3046 - None, # 3047 - None, # 3048 - None, # 3049 - None, # 3050 - None, # 3051 - None, # 3052 - None, # 3053 - None, # 3054 - None, # 3055 - None, # 3056 - None, # 3057 - None, # 3058 - None, # 3059 - None, # 3060 - None, # 3061 - None, # 3062 - None, # 3063 - None, # 3064 - None, # 3065 - None, # 3066 - None, # 3067 - None, # 3068 - None, # 3069 - None, # 3070 - None, # 3071 - None, # 3072 - None, # 3073 - None, # 3074 - None, # 3075 - None, # 3076 - None, # 3077 - None, # 3078 - None, # 3079 - None, # 3080 - None, # 3081 - None, # 3082 - None, # 3083 - None, # 3084 - None, # 3085 - None, # 3086 - None, # 3087 - None, # 3088 - None, # 3089 - None, # 3090 - None, # 3091 - None, # 3092 - None, # 3093 - None, # 3094 - None, # 3095 - None, # 3096 - None, # 3097 - None, # 3098 - None, # 3099 - None, # 3100 - None, # 3101 - None, # 3102 - None, # 3103 - None, # 3104 - None, # 3105 - None, # 3106 - None, # 3107 - None, # 3108 - None, # 3109 - None, # 3110 - None, # 3111 - None, # 3112 - None, # 3113 - None, # 3114 - None, # 3115 - None, # 3116 - None, # 3117 - None, # 3118 - None, # 3119 - None, # 3120 - None, # 3121 - None, # 3122 - None, # 3123 - None, # 3124 - None, # 3125 - None, # 3126 - None, # 3127 - None, # 3128 - None, # 3129 - None, # 3130 - None, # 3131 - None, # 3132 - None, # 3133 - None, # 3134 - None, # 3135 - None, # 3136 - None, # 3137 - None, # 3138 - None, # 3139 - None, # 3140 - None, # 3141 - None, # 3142 - None, # 3143 - None, # 3144 - None, # 3145 - None, # 3146 - None, # 3147 - None, # 3148 - None, # 3149 - None, # 3150 - None, # 3151 - None, # 3152 - None, # 3153 - None, # 3154 - None, # 3155 - None, # 3156 - None, # 3157 - None, # 3158 - None, # 3159 - None, # 3160 - None, # 3161 - None, # 3162 - None, # 3163 - None, # 3164 - None, # 3165 - None, # 3166 - None, # 3167 - None, # 3168 - None, # 3169 - None, # 3170 - None, # 3171 - None, # 3172 - None, # 3173 - None, # 3174 - None, # 3175 - None, # 3176 - None, # 3177 - None, # 3178 - None, # 3179 - None, # 3180 - None, # 3181 - None, # 3182 - None, # 3183 - None, # 3184 - None, # 3185 - None, # 3186 - None, # 3187 - None, # 3188 - None, # 3189 - None, # 3190 - None, # 3191 - None, # 3192 - None, # 3193 - None, # 3194 - None, # 3195 - None, # 3196 - None, # 3197 - None, # 3198 - None, # 3199 - None, # 3200 - None, # 3201 - None, # 3202 - None, # 3203 - None, # 3204 - None, # 3205 - None, # 3206 - None, # 3207 - None, # 3208 - None, # 3209 - None, # 3210 - None, # 3211 - None, # 3212 - None, # 3213 - None, # 3214 - None, # 3215 - None, # 3216 - None, # 3217 - None, # 3218 - None, # 3219 - None, # 3220 - None, # 3221 - None, # 3222 - None, # 3223 - None, # 3224 - None, # 3225 - None, # 3226 - None, # 3227 - None, # 3228 - None, # 3229 - None, # 3230 - None, # 3231 - None, # 3232 - None, # 3233 - None, # 3234 - None, # 3235 - None, # 3236 - None, # 3237 - None, # 3238 - None, # 3239 - None, # 3240 - None, # 3241 - None, # 3242 - None, # 3243 - None, # 3244 - None, # 3245 - None, # 3246 - None, # 3247 - None, # 3248 - None, # 3249 - None, # 3250 - None, # 3251 - None, # 3252 - None, # 3253 - None, # 3254 - None, # 3255 - None, # 3256 - None, # 3257 - None, # 3258 - None, # 3259 - None, # 3260 - None, # 3261 - None, # 3262 - None, # 3263 - None, # 3264 - None, # 3265 - None, # 3266 - None, # 3267 - None, # 3268 - None, # 3269 - None, # 3270 - None, # 3271 - None, # 3272 - None, # 3273 - None, # 3274 - None, # 3275 - None, # 3276 - None, # 3277 - None, # 3278 - None, # 3279 - None, # 3280 - None, # 3281 - None, # 3282 - None, # 3283 - None, # 3284 - None, # 3285 - None, # 3286 - None, # 3287 - None, # 3288 - None, # 3289 - None, # 3290 - None, # 3291 - None, # 3292 - None, # 3293 - None, # 3294 - None, # 3295 - None, # 3296 - None, # 3297 - None, # 3298 - None, # 3299 - None, # 3300 - None, # 3301 - None, # 3302 - None, # 3303 - None, # 3304 - None, # 3305 - None, # 3306 - None, # 3307 - None, # 3308 - None, # 3309 - None, # 3310 - None, # 3311 - None, # 3312 - None, # 3313 - None, # 3314 - None, # 3315 - None, # 3316 - None, # 3317 - None, # 3318 - None, # 3319 - None, # 3320 - None, # 3321 - None, # 3322 - None, # 3323 - None, # 3324 - None, # 3325 - None, # 3326 - None, # 3327 - None, # 3328 - ( - 3329, - TType.STRUCT, - "operationId", - [THandleIdentifier, None], - None, - ), # 3329 - ( - 3330, - TType.STRUCT, - "sessionConf", - [TDBSqlSessionConf, None], - None, - ), # 3330 + None, # 0 + (1, TType.STRUCT, 'sessionHandle', [TSessionHandle, None], None, ), # 1 + (2, TType.STRING, 'catalogName', 'UTF8', None, ), # 2 + (3, TType.STRING, 'schemaName', 'UTF8', None, ), # 3 + (4, TType.STRING, 'tableName', 'UTF8', None, ), # 4 + (5, TType.LIST, 'tableTypes', (TType.STRING, 'UTF8', False), None, ), # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + (1281, TType.STRUCT, 'getDirectResults', [TSparkGetDirectResults, None], None, ), # 1281 + (1282, TType.BOOL, 'runAsync', None, False, ), # 1282 + None, # 1283 + None, # 1284 + None, # 1285 + None, # 1286 + None, # 1287 + None, # 1288 + None, # 1289 + None, # 1290 + None, # 1291 + None, # 1292 + None, # 1293 + None, # 1294 + None, # 1295 + None, # 1296 + None, # 1297 + None, # 1298 + None, # 1299 + None, # 1300 + None, # 1301 + None, # 1302 + None, # 1303 + None, # 1304 + None, # 1305 + None, # 1306 + None, # 1307 + None, # 1308 + None, # 1309 + None, # 1310 + None, # 1311 + None, # 1312 + None, # 1313 + None, # 1314 + None, # 1315 + None, # 1316 + None, # 1317 + None, # 1318 + None, # 1319 + None, # 1320 + None, # 1321 + None, # 1322 + None, # 1323 + None, # 1324 + None, # 1325 + None, # 1326 + None, # 1327 + None, # 1328 + None, # 1329 + None, # 1330 + None, # 1331 + None, # 1332 + None, # 1333 + None, # 1334 + None, # 1335 + None, # 1336 + None, # 1337 + None, # 1338 + None, # 1339 + None, # 1340 + None, # 1341 + None, # 1342 + None, # 1343 + None, # 1344 + None, # 1345 + None, # 1346 + None, # 1347 + None, # 1348 + None, # 1349 + None, # 1350 + None, # 1351 + None, # 1352 + None, # 1353 + None, # 1354 + None, # 1355 + None, # 1356 + None, # 1357 + None, # 1358 + None, # 1359 + None, # 1360 + None, # 1361 + None, # 1362 + None, # 1363 + None, # 1364 + None, # 1365 + None, # 1366 + None, # 1367 + None, # 1368 + None, # 1369 + None, # 1370 + None, # 1371 + None, # 1372 + None, # 1373 + None, # 1374 + None, # 1375 + None, # 1376 + None, # 1377 + None, # 1378 + None, # 1379 + None, # 1380 + None, # 1381 + None, # 1382 + None, # 1383 + None, # 1384 + None, # 1385 + None, # 1386 + None, # 1387 + None, # 1388 + None, # 1389 + None, # 1390 + None, # 1391 + None, # 1392 + None, # 1393 + None, # 1394 + None, # 1395 + None, # 1396 + None, # 1397 + None, # 1398 + None, # 1399 + None, # 1400 + None, # 1401 + None, # 1402 + None, # 1403 + None, # 1404 + None, # 1405 + None, # 1406 + None, # 1407 + None, # 1408 + None, # 1409 + None, # 1410 + None, # 1411 + None, # 1412 + None, # 1413 + None, # 1414 + None, # 1415 + None, # 1416 + None, # 1417 + None, # 1418 + None, # 1419 + None, # 1420 + None, # 1421 + None, # 1422 + None, # 1423 + None, # 1424 + None, # 1425 + None, # 1426 + None, # 1427 + None, # 1428 + None, # 1429 + None, # 1430 + None, # 1431 + None, # 1432 + None, # 1433 + None, # 1434 + None, # 1435 + None, # 1436 + None, # 1437 + None, # 1438 + None, # 1439 + None, # 1440 + None, # 1441 + None, # 1442 + None, # 1443 + None, # 1444 + None, # 1445 + None, # 1446 + None, # 1447 + None, # 1448 + None, # 1449 + None, # 1450 + None, # 1451 + None, # 1452 + None, # 1453 + None, # 1454 + None, # 1455 + None, # 1456 + None, # 1457 + None, # 1458 + None, # 1459 + None, # 1460 + None, # 1461 + None, # 1462 + None, # 1463 + None, # 1464 + None, # 1465 + None, # 1466 + None, # 1467 + None, # 1468 + None, # 1469 + None, # 1470 + None, # 1471 + None, # 1472 + None, # 1473 + None, # 1474 + None, # 1475 + None, # 1476 + None, # 1477 + None, # 1478 + None, # 1479 + None, # 1480 + None, # 1481 + None, # 1482 + None, # 1483 + None, # 1484 + None, # 1485 + None, # 1486 + None, # 1487 + None, # 1488 + None, # 1489 + None, # 1490 + None, # 1491 + None, # 1492 + None, # 1493 + None, # 1494 + None, # 1495 + None, # 1496 + None, # 1497 + None, # 1498 + None, # 1499 + None, # 1500 + None, # 1501 + None, # 1502 + None, # 1503 + None, # 1504 + None, # 1505 + None, # 1506 + None, # 1507 + None, # 1508 + None, # 1509 + None, # 1510 + None, # 1511 + None, # 1512 + None, # 1513 + None, # 1514 + None, # 1515 + None, # 1516 + None, # 1517 + None, # 1518 + None, # 1519 + None, # 1520 + None, # 1521 + None, # 1522 + None, # 1523 + None, # 1524 + None, # 1525 + None, # 1526 + None, # 1527 + None, # 1528 + None, # 1529 + None, # 1530 + None, # 1531 + None, # 1532 + None, # 1533 + None, # 1534 + None, # 1535 + None, # 1536 + None, # 1537 + None, # 1538 + None, # 1539 + None, # 1540 + None, # 1541 + None, # 1542 + None, # 1543 + None, # 1544 + None, # 1545 + None, # 1546 + None, # 1547 + None, # 1548 + None, # 1549 + None, # 1550 + None, # 1551 + None, # 1552 + None, # 1553 + None, # 1554 + None, # 1555 + None, # 1556 + None, # 1557 + None, # 1558 + None, # 1559 + None, # 1560 + None, # 1561 + None, # 1562 + None, # 1563 + None, # 1564 + None, # 1565 + None, # 1566 + None, # 1567 + None, # 1568 + None, # 1569 + None, # 1570 + None, # 1571 + None, # 1572 + None, # 1573 + None, # 1574 + None, # 1575 + None, # 1576 + None, # 1577 + None, # 1578 + None, # 1579 + None, # 1580 + None, # 1581 + None, # 1582 + None, # 1583 + None, # 1584 + None, # 1585 + None, # 1586 + None, # 1587 + None, # 1588 + None, # 1589 + None, # 1590 + None, # 1591 + None, # 1592 + None, # 1593 + None, # 1594 + None, # 1595 + None, # 1596 + None, # 1597 + None, # 1598 + None, # 1599 + None, # 1600 + None, # 1601 + None, # 1602 + None, # 1603 + None, # 1604 + None, # 1605 + None, # 1606 + None, # 1607 + None, # 1608 + None, # 1609 + None, # 1610 + None, # 1611 + None, # 1612 + None, # 1613 + None, # 1614 + None, # 1615 + None, # 1616 + None, # 1617 + None, # 1618 + None, # 1619 + None, # 1620 + None, # 1621 + None, # 1622 + None, # 1623 + None, # 1624 + None, # 1625 + None, # 1626 + None, # 1627 + None, # 1628 + None, # 1629 + None, # 1630 + None, # 1631 + None, # 1632 + None, # 1633 + None, # 1634 + None, # 1635 + None, # 1636 + None, # 1637 + None, # 1638 + None, # 1639 + None, # 1640 + None, # 1641 + None, # 1642 + None, # 1643 + None, # 1644 + None, # 1645 + None, # 1646 + None, # 1647 + None, # 1648 + None, # 1649 + None, # 1650 + None, # 1651 + None, # 1652 + None, # 1653 + None, # 1654 + None, # 1655 + None, # 1656 + None, # 1657 + None, # 1658 + None, # 1659 + None, # 1660 + None, # 1661 + None, # 1662 + None, # 1663 + None, # 1664 + None, # 1665 + None, # 1666 + None, # 1667 + None, # 1668 + None, # 1669 + None, # 1670 + None, # 1671 + None, # 1672 + None, # 1673 + None, # 1674 + None, # 1675 + None, # 1676 + None, # 1677 + None, # 1678 + None, # 1679 + None, # 1680 + None, # 1681 + None, # 1682 + None, # 1683 + None, # 1684 + None, # 1685 + None, # 1686 + None, # 1687 + None, # 1688 + None, # 1689 + None, # 1690 + None, # 1691 + None, # 1692 + None, # 1693 + None, # 1694 + None, # 1695 + None, # 1696 + None, # 1697 + None, # 1698 + None, # 1699 + None, # 1700 + None, # 1701 + None, # 1702 + None, # 1703 + None, # 1704 + None, # 1705 + None, # 1706 + None, # 1707 + None, # 1708 + None, # 1709 + None, # 1710 + None, # 1711 + None, # 1712 + None, # 1713 + None, # 1714 + None, # 1715 + None, # 1716 + None, # 1717 + None, # 1718 + None, # 1719 + None, # 1720 + None, # 1721 + None, # 1722 + None, # 1723 + None, # 1724 + None, # 1725 + None, # 1726 + None, # 1727 + None, # 1728 + None, # 1729 + None, # 1730 + None, # 1731 + None, # 1732 + None, # 1733 + None, # 1734 + None, # 1735 + None, # 1736 + None, # 1737 + None, # 1738 + None, # 1739 + None, # 1740 + None, # 1741 + None, # 1742 + None, # 1743 + None, # 1744 + None, # 1745 + None, # 1746 + None, # 1747 + None, # 1748 + None, # 1749 + None, # 1750 + None, # 1751 + None, # 1752 + None, # 1753 + None, # 1754 + None, # 1755 + None, # 1756 + None, # 1757 + None, # 1758 + None, # 1759 + None, # 1760 + None, # 1761 + None, # 1762 + None, # 1763 + None, # 1764 + None, # 1765 + None, # 1766 + None, # 1767 + None, # 1768 + None, # 1769 + None, # 1770 + None, # 1771 + None, # 1772 + None, # 1773 + None, # 1774 + None, # 1775 + None, # 1776 + None, # 1777 + None, # 1778 + None, # 1779 + None, # 1780 + None, # 1781 + None, # 1782 + None, # 1783 + None, # 1784 + None, # 1785 + None, # 1786 + None, # 1787 + None, # 1788 + None, # 1789 + None, # 1790 + None, # 1791 + None, # 1792 + None, # 1793 + None, # 1794 + None, # 1795 + None, # 1796 + None, # 1797 + None, # 1798 + None, # 1799 + None, # 1800 + None, # 1801 + None, # 1802 + None, # 1803 + None, # 1804 + None, # 1805 + None, # 1806 + None, # 1807 + None, # 1808 + None, # 1809 + None, # 1810 + None, # 1811 + None, # 1812 + None, # 1813 + None, # 1814 + None, # 1815 + None, # 1816 + None, # 1817 + None, # 1818 + None, # 1819 + None, # 1820 + None, # 1821 + None, # 1822 + None, # 1823 + None, # 1824 + None, # 1825 + None, # 1826 + None, # 1827 + None, # 1828 + None, # 1829 + None, # 1830 + None, # 1831 + None, # 1832 + None, # 1833 + None, # 1834 + None, # 1835 + None, # 1836 + None, # 1837 + None, # 1838 + None, # 1839 + None, # 1840 + None, # 1841 + None, # 1842 + None, # 1843 + None, # 1844 + None, # 1845 + None, # 1846 + None, # 1847 + None, # 1848 + None, # 1849 + None, # 1850 + None, # 1851 + None, # 1852 + None, # 1853 + None, # 1854 + None, # 1855 + None, # 1856 + None, # 1857 + None, # 1858 + None, # 1859 + None, # 1860 + None, # 1861 + None, # 1862 + None, # 1863 + None, # 1864 + None, # 1865 + None, # 1866 + None, # 1867 + None, # 1868 + None, # 1869 + None, # 1870 + None, # 1871 + None, # 1872 + None, # 1873 + None, # 1874 + None, # 1875 + None, # 1876 + None, # 1877 + None, # 1878 + None, # 1879 + None, # 1880 + None, # 1881 + None, # 1882 + None, # 1883 + None, # 1884 + None, # 1885 + None, # 1886 + None, # 1887 + None, # 1888 + None, # 1889 + None, # 1890 + None, # 1891 + None, # 1892 + None, # 1893 + None, # 1894 + None, # 1895 + None, # 1896 + None, # 1897 + None, # 1898 + None, # 1899 + None, # 1900 + None, # 1901 + None, # 1902 + None, # 1903 + None, # 1904 + None, # 1905 + None, # 1906 + None, # 1907 + None, # 1908 + None, # 1909 + None, # 1910 + None, # 1911 + None, # 1912 + None, # 1913 + None, # 1914 + None, # 1915 + None, # 1916 + None, # 1917 + None, # 1918 + None, # 1919 + None, # 1920 + None, # 1921 + None, # 1922 + None, # 1923 + None, # 1924 + None, # 1925 + None, # 1926 + None, # 1927 + None, # 1928 + None, # 1929 + None, # 1930 + None, # 1931 + None, # 1932 + None, # 1933 + None, # 1934 + None, # 1935 + None, # 1936 + None, # 1937 + None, # 1938 + None, # 1939 + None, # 1940 + None, # 1941 + None, # 1942 + None, # 1943 + None, # 1944 + None, # 1945 + None, # 1946 + None, # 1947 + None, # 1948 + None, # 1949 + None, # 1950 + None, # 1951 + None, # 1952 + None, # 1953 + None, # 1954 + None, # 1955 + None, # 1956 + None, # 1957 + None, # 1958 + None, # 1959 + None, # 1960 + None, # 1961 + None, # 1962 + None, # 1963 + None, # 1964 + None, # 1965 + None, # 1966 + None, # 1967 + None, # 1968 + None, # 1969 + None, # 1970 + None, # 1971 + None, # 1972 + None, # 1973 + None, # 1974 + None, # 1975 + None, # 1976 + None, # 1977 + None, # 1978 + None, # 1979 + None, # 1980 + None, # 1981 + None, # 1982 + None, # 1983 + None, # 1984 + None, # 1985 + None, # 1986 + None, # 1987 + None, # 1988 + None, # 1989 + None, # 1990 + None, # 1991 + None, # 1992 + None, # 1993 + None, # 1994 + None, # 1995 + None, # 1996 + None, # 1997 + None, # 1998 + None, # 1999 + None, # 2000 + None, # 2001 + None, # 2002 + None, # 2003 + None, # 2004 + None, # 2005 + None, # 2006 + None, # 2007 + None, # 2008 + None, # 2009 + None, # 2010 + None, # 2011 + None, # 2012 + None, # 2013 + None, # 2014 + None, # 2015 + None, # 2016 + None, # 2017 + None, # 2018 + None, # 2019 + None, # 2020 + None, # 2021 + None, # 2022 + None, # 2023 + None, # 2024 + None, # 2025 + None, # 2026 + None, # 2027 + None, # 2028 + None, # 2029 + None, # 2030 + None, # 2031 + None, # 2032 + None, # 2033 + None, # 2034 + None, # 2035 + None, # 2036 + None, # 2037 + None, # 2038 + None, # 2039 + None, # 2040 + None, # 2041 + None, # 2042 + None, # 2043 + None, # 2044 + None, # 2045 + None, # 2046 + None, # 2047 + None, # 2048 + None, # 2049 + None, # 2050 + None, # 2051 + None, # 2052 + None, # 2053 + None, # 2054 + None, # 2055 + None, # 2056 + None, # 2057 + None, # 2058 + None, # 2059 + None, # 2060 + None, # 2061 + None, # 2062 + None, # 2063 + None, # 2064 + None, # 2065 + None, # 2066 + None, # 2067 + None, # 2068 + None, # 2069 + None, # 2070 + None, # 2071 + None, # 2072 + None, # 2073 + None, # 2074 + None, # 2075 + None, # 2076 + None, # 2077 + None, # 2078 + None, # 2079 + None, # 2080 + None, # 2081 + None, # 2082 + None, # 2083 + None, # 2084 + None, # 2085 + None, # 2086 + None, # 2087 + None, # 2088 + None, # 2089 + None, # 2090 + None, # 2091 + None, # 2092 + None, # 2093 + None, # 2094 + None, # 2095 + None, # 2096 + None, # 2097 + None, # 2098 + None, # 2099 + None, # 2100 + None, # 2101 + None, # 2102 + None, # 2103 + None, # 2104 + None, # 2105 + None, # 2106 + None, # 2107 + None, # 2108 + None, # 2109 + None, # 2110 + None, # 2111 + None, # 2112 + None, # 2113 + None, # 2114 + None, # 2115 + None, # 2116 + None, # 2117 + None, # 2118 + None, # 2119 + None, # 2120 + None, # 2121 + None, # 2122 + None, # 2123 + None, # 2124 + None, # 2125 + None, # 2126 + None, # 2127 + None, # 2128 + None, # 2129 + None, # 2130 + None, # 2131 + None, # 2132 + None, # 2133 + None, # 2134 + None, # 2135 + None, # 2136 + None, # 2137 + None, # 2138 + None, # 2139 + None, # 2140 + None, # 2141 + None, # 2142 + None, # 2143 + None, # 2144 + None, # 2145 + None, # 2146 + None, # 2147 + None, # 2148 + None, # 2149 + None, # 2150 + None, # 2151 + None, # 2152 + None, # 2153 + None, # 2154 + None, # 2155 + None, # 2156 + None, # 2157 + None, # 2158 + None, # 2159 + None, # 2160 + None, # 2161 + None, # 2162 + None, # 2163 + None, # 2164 + None, # 2165 + None, # 2166 + None, # 2167 + None, # 2168 + None, # 2169 + None, # 2170 + None, # 2171 + None, # 2172 + None, # 2173 + None, # 2174 + None, # 2175 + None, # 2176 + None, # 2177 + None, # 2178 + None, # 2179 + None, # 2180 + None, # 2181 + None, # 2182 + None, # 2183 + None, # 2184 + None, # 2185 + None, # 2186 + None, # 2187 + None, # 2188 + None, # 2189 + None, # 2190 + None, # 2191 + None, # 2192 + None, # 2193 + None, # 2194 + None, # 2195 + None, # 2196 + None, # 2197 + None, # 2198 + None, # 2199 + None, # 2200 + None, # 2201 + None, # 2202 + None, # 2203 + None, # 2204 + None, # 2205 + None, # 2206 + None, # 2207 + None, # 2208 + None, # 2209 + None, # 2210 + None, # 2211 + None, # 2212 + None, # 2213 + None, # 2214 + None, # 2215 + None, # 2216 + None, # 2217 + None, # 2218 + None, # 2219 + None, # 2220 + None, # 2221 + None, # 2222 + None, # 2223 + None, # 2224 + None, # 2225 + None, # 2226 + None, # 2227 + None, # 2228 + None, # 2229 + None, # 2230 + None, # 2231 + None, # 2232 + None, # 2233 + None, # 2234 + None, # 2235 + None, # 2236 + None, # 2237 + None, # 2238 + None, # 2239 + None, # 2240 + None, # 2241 + None, # 2242 + None, # 2243 + None, # 2244 + None, # 2245 + None, # 2246 + None, # 2247 + None, # 2248 + None, # 2249 + None, # 2250 + None, # 2251 + None, # 2252 + None, # 2253 + None, # 2254 + None, # 2255 + None, # 2256 + None, # 2257 + None, # 2258 + None, # 2259 + None, # 2260 + None, # 2261 + None, # 2262 + None, # 2263 + None, # 2264 + None, # 2265 + None, # 2266 + None, # 2267 + None, # 2268 + None, # 2269 + None, # 2270 + None, # 2271 + None, # 2272 + None, # 2273 + None, # 2274 + None, # 2275 + None, # 2276 + None, # 2277 + None, # 2278 + None, # 2279 + None, # 2280 + None, # 2281 + None, # 2282 + None, # 2283 + None, # 2284 + None, # 2285 + None, # 2286 + None, # 2287 + None, # 2288 + None, # 2289 + None, # 2290 + None, # 2291 + None, # 2292 + None, # 2293 + None, # 2294 + None, # 2295 + None, # 2296 + None, # 2297 + None, # 2298 + None, # 2299 + None, # 2300 + None, # 2301 + None, # 2302 + None, # 2303 + None, # 2304 + None, # 2305 + None, # 2306 + None, # 2307 + None, # 2308 + None, # 2309 + None, # 2310 + None, # 2311 + None, # 2312 + None, # 2313 + None, # 2314 + None, # 2315 + None, # 2316 + None, # 2317 + None, # 2318 + None, # 2319 + None, # 2320 + None, # 2321 + None, # 2322 + None, # 2323 + None, # 2324 + None, # 2325 + None, # 2326 + None, # 2327 + None, # 2328 + None, # 2329 + None, # 2330 + None, # 2331 + None, # 2332 + None, # 2333 + None, # 2334 + None, # 2335 + None, # 2336 + None, # 2337 + None, # 2338 + None, # 2339 + None, # 2340 + None, # 2341 + None, # 2342 + None, # 2343 + None, # 2344 + None, # 2345 + None, # 2346 + None, # 2347 + None, # 2348 + None, # 2349 + None, # 2350 + None, # 2351 + None, # 2352 + None, # 2353 + None, # 2354 + None, # 2355 + None, # 2356 + None, # 2357 + None, # 2358 + None, # 2359 + None, # 2360 + None, # 2361 + None, # 2362 + None, # 2363 + None, # 2364 + None, # 2365 + None, # 2366 + None, # 2367 + None, # 2368 + None, # 2369 + None, # 2370 + None, # 2371 + None, # 2372 + None, # 2373 + None, # 2374 + None, # 2375 + None, # 2376 + None, # 2377 + None, # 2378 + None, # 2379 + None, # 2380 + None, # 2381 + None, # 2382 + None, # 2383 + None, # 2384 + None, # 2385 + None, # 2386 + None, # 2387 + None, # 2388 + None, # 2389 + None, # 2390 + None, # 2391 + None, # 2392 + None, # 2393 + None, # 2394 + None, # 2395 + None, # 2396 + None, # 2397 + None, # 2398 + None, # 2399 + None, # 2400 + None, # 2401 + None, # 2402 + None, # 2403 + None, # 2404 + None, # 2405 + None, # 2406 + None, # 2407 + None, # 2408 + None, # 2409 + None, # 2410 + None, # 2411 + None, # 2412 + None, # 2413 + None, # 2414 + None, # 2415 + None, # 2416 + None, # 2417 + None, # 2418 + None, # 2419 + None, # 2420 + None, # 2421 + None, # 2422 + None, # 2423 + None, # 2424 + None, # 2425 + None, # 2426 + None, # 2427 + None, # 2428 + None, # 2429 + None, # 2430 + None, # 2431 + None, # 2432 + None, # 2433 + None, # 2434 + None, # 2435 + None, # 2436 + None, # 2437 + None, # 2438 + None, # 2439 + None, # 2440 + None, # 2441 + None, # 2442 + None, # 2443 + None, # 2444 + None, # 2445 + None, # 2446 + None, # 2447 + None, # 2448 + None, # 2449 + None, # 2450 + None, # 2451 + None, # 2452 + None, # 2453 + None, # 2454 + None, # 2455 + None, # 2456 + None, # 2457 + None, # 2458 + None, # 2459 + None, # 2460 + None, # 2461 + None, # 2462 + None, # 2463 + None, # 2464 + None, # 2465 + None, # 2466 + None, # 2467 + None, # 2468 + None, # 2469 + None, # 2470 + None, # 2471 + None, # 2472 + None, # 2473 + None, # 2474 + None, # 2475 + None, # 2476 + None, # 2477 + None, # 2478 + None, # 2479 + None, # 2480 + None, # 2481 + None, # 2482 + None, # 2483 + None, # 2484 + None, # 2485 + None, # 2486 + None, # 2487 + None, # 2488 + None, # 2489 + None, # 2490 + None, # 2491 + None, # 2492 + None, # 2493 + None, # 2494 + None, # 2495 + None, # 2496 + None, # 2497 + None, # 2498 + None, # 2499 + None, # 2500 + None, # 2501 + None, # 2502 + None, # 2503 + None, # 2504 + None, # 2505 + None, # 2506 + None, # 2507 + None, # 2508 + None, # 2509 + None, # 2510 + None, # 2511 + None, # 2512 + None, # 2513 + None, # 2514 + None, # 2515 + None, # 2516 + None, # 2517 + None, # 2518 + None, # 2519 + None, # 2520 + None, # 2521 + None, # 2522 + None, # 2523 + None, # 2524 + None, # 2525 + None, # 2526 + None, # 2527 + None, # 2528 + None, # 2529 + None, # 2530 + None, # 2531 + None, # 2532 + None, # 2533 + None, # 2534 + None, # 2535 + None, # 2536 + None, # 2537 + None, # 2538 + None, # 2539 + None, # 2540 + None, # 2541 + None, # 2542 + None, # 2543 + None, # 2544 + None, # 2545 + None, # 2546 + None, # 2547 + None, # 2548 + None, # 2549 + None, # 2550 + None, # 2551 + None, # 2552 + None, # 2553 + None, # 2554 + None, # 2555 + None, # 2556 + None, # 2557 + None, # 2558 + None, # 2559 + None, # 2560 + None, # 2561 + None, # 2562 + None, # 2563 + None, # 2564 + None, # 2565 + None, # 2566 + None, # 2567 + None, # 2568 + None, # 2569 + None, # 2570 + None, # 2571 + None, # 2572 + None, # 2573 + None, # 2574 + None, # 2575 + None, # 2576 + None, # 2577 + None, # 2578 + None, # 2579 + None, # 2580 + None, # 2581 + None, # 2582 + None, # 2583 + None, # 2584 + None, # 2585 + None, # 2586 + None, # 2587 + None, # 2588 + None, # 2589 + None, # 2590 + None, # 2591 + None, # 2592 + None, # 2593 + None, # 2594 + None, # 2595 + None, # 2596 + None, # 2597 + None, # 2598 + None, # 2599 + None, # 2600 + None, # 2601 + None, # 2602 + None, # 2603 + None, # 2604 + None, # 2605 + None, # 2606 + None, # 2607 + None, # 2608 + None, # 2609 + None, # 2610 + None, # 2611 + None, # 2612 + None, # 2613 + None, # 2614 + None, # 2615 + None, # 2616 + None, # 2617 + None, # 2618 + None, # 2619 + None, # 2620 + None, # 2621 + None, # 2622 + None, # 2623 + None, # 2624 + None, # 2625 + None, # 2626 + None, # 2627 + None, # 2628 + None, # 2629 + None, # 2630 + None, # 2631 + None, # 2632 + None, # 2633 + None, # 2634 + None, # 2635 + None, # 2636 + None, # 2637 + None, # 2638 + None, # 2639 + None, # 2640 + None, # 2641 + None, # 2642 + None, # 2643 + None, # 2644 + None, # 2645 + None, # 2646 + None, # 2647 + None, # 2648 + None, # 2649 + None, # 2650 + None, # 2651 + None, # 2652 + None, # 2653 + None, # 2654 + None, # 2655 + None, # 2656 + None, # 2657 + None, # 2658 + None, # 2659 + None, # 2660 + None, # 2661 + None, # 2662 + None, # 2663 + None, # 2664 + None, # 2665 + None, # 2666 + None, # 2667 + None, # 2668 + None, # 2669 + None, # 2670 + None, # 2671 + None, # 2672 + None, # 2673 + None, # 2674 + None, # 2675 + None, # 2676 + None, # 2677 + None, # 2678 + None, # 2679 + None, # 2680 + None, # 2681 + None, # 2682 + None, # 2683 + None, # 2684 + None, # 2685 + None, # 2686 + None, # 2687 + None, # 2688 + None, # 2689 + None, # 2690 + None, # 2691 + None, # 2692 + None, # 2693 + None, # 2694 + None, # 2695 + None, # 2696 + None, # 2697 + None, # 2698 + None, # 2699 + None, # 2700 + None, # 2701 + None, # 2702 + None, # 2703 + None, # 2704 + None, # 2705 + None, # 2706 + None, # 2707 + None, # 2708 + None, # 2709 + None, # 2710 + None, # 2711 + None, # 2712 + None, # 2713 + None, # 2714 + None, # 2715 + None, # 2716 + None, # 2717 + None, # 2718 + None, # 2719 + None, # 2720 + None, # 2721 + None, # 2722 + None, # 2723 + None, # 2724 + None, # 2725 + None, # 2726 + None, # 2727 + None, # 2728 + None, # 2729 + None, # 2730 + None, # 2731 + None, # 2732 + None, # 2733 + None, # 2734 + None, # 2735 + None, # 2736 + None, # 2737 + None, # 2738 + None, # 2739 + None, # 2740 + None, # 2741 + None, # 2742 + None, # 2743 + None, # 2744 + None, # 2745 + None, # 2746 + None, # 2747 + None, # 2748 + None, # 2749 + None, # 2750 + None, # 2751 + None, # 2752 + None, # 2753 + None, # 2754 + None, # 2755 + None, # 2756 + None, # 2757 + None, # 2758 + None, # 2759 + None, # 2760 + None, # 2761 + None, # 2762 + None, # 2763 + None, # 2764 + None, # 2765 + None, # 2766 + None, # 2767 + None, # 2768 + None, # 2769 + None, # 2770 + None, # 2771 + None, # 2772 + None, # 2773 + None, # 2774 + None, # 2775 + None, # 2776 + None, # 2777 + None, # 2778 + None, # 2779 + None, # 2780 + None, # 2781 + None, # 2782 + None, # 2783 + None, # 2784 + None, # 2785 + None, # 2786 + None, # 2787 + None, # 2788 + None, # 2789 + None, # 2790 + None, # 2791 + None, # 2792 + None, # 2793 + None, # 2794 + None, # 2795 + None, # 2796 + None, # 2797 + None, # 2798 + None, # 2799 + None, # 2800 + None, # 2801 + None, # 2802 + None, # 2803 + None, # 2804 + None, # 2805 + None, # 2806 + None, # 2807 + None, # 2808 + None, # 2809 + None, # 2810 + None, # 2811 + None, # 2812 + None, # 2813 + None, # 2814 + None, # 2815 + None, # 2816 + None, # 2817 + None, # 2818 + None, # 2819 + None, # 2820 + None, # 2821 + None, # 2822 + None, # 2823 + None, # 2824 + None, # 2825 + None, # 2826 + None, # 2827 + None, # 2828 + None, # 2829 + None, # 2830 + None, # 2831 + None, # 2832 + None, # 2833 + None, # 2834 + None, # 2835 + None, # 2836 + None, # 2837 + None, # 2838 + None, # 2839 + None, # 2840 + None, # 2841 + None, # 2842 + None, # 2843 + None, # 2844 + None, # 2845 + None, # 2846 + None, # 2847 + None, # 2848 + None, # 2849 + None, # 2850 + None, # 2851 + None, # 2852 + None, # 2853 + None, # 2854 + None, # 2855 + None, # 2856 + None, # 2857 + None, # 2858 + None, # 2859 + None, # 2860 + None, # 2861 + None, # 2862 + None, # 2863 + None, # 2864 + None, # 2865 + None, # 2866 + None, # 2867 + None, # 2868 + None, # 2869 + None, # 2870 + None, # 2871 + None, # 2872 + None, # 2873 + None, # 2874 + None, # 2875 + None, # 2876 + None, # 2877 + None, # 2878 + None, # 2879 + None, # 2880 + None, # 2881 + None, # 2882 + None, # 2883 + None, # 2884 + None, # 2885 + None, # 2886 + None, # 2887 + None, # 2888 + None, # 2889 + None, # 2890 + None, # 2891 + None, # 2892 + None, # 2893 + None, # 2894 + None, # 2895 + None, # 2896 + None, # 2897 + None, # 2898 + None, # 2899 + None, # 2900 + None, # 2901 + None, # 2902 + None, # 2903 + None, # 2904 + None, # 2905 + None, # 2906 + None, # 2907 + None, # 2908 + None, # 2909 + None, # 2910 + None, # 2911 + None, # 2912 + None, # 2913 + None, # 2914 + None, # 2915 + None, # 2916 + None, # 2917 + None, # 2918 + None, # 2919 + None, # 2920 + None, # 2921 + None, # 2922 + None, # 2923 + None, # 2924 + None, # 2925 + None, # 2926 + None, # 2927 + None, # 2928 + None, # 2929 + None, # 2930 + None, # 2931 + None, # 2932 + None, # 2933 + None, # 2934 + None, # 2935 + None, # 2936 + None, # 2937 + None, # 2938 + None, # 2939 + None, # 2940 + None, # 2941 + None, # 2942 + None, # 2943 + None, # 2944 + None, # 2945 + None, # 2946 + None, # 2947 + None, # 2948 + None, # 2949 + None, # 2950 + None, # 2951 + None, # 2952 + None, # 2953 + None, # 2954 + None, # 2955 + None, # 2956 + None, # 2957 + None, # 2958 + None, # 2959 + None, # 2960 + None, # 2961 + None, # 2962 + None, # 2963 + None, # 2964 + None, # 2965 + None, # 2966 + None, # 2967 + None, # 2968 + None, # 2969 + None, # 2970 + None, # 2971 + None, # 2972 + None, # 2973 + None, # 2974 + None, # 2975 + None, # 2976 + None, # 2977 + None, # 2978 + None, # 2979 + None, # 2980 + None, # 2981 + None, # 2982 + None, # 2983 + None, # 2984 + None, # 2985 + None, # 2986 + None, # 2987 + None, # 2988 + None, # 2989 + None, # 2990 + None, # 2991 + None, # 2992 + None, # 2993 + None, # 2994 + None, # 2995 + None, # 2996 + None, # 2997 + None, # 2998 + None, # 2999 + None, # 3000 + None, # 3001 + None, # 3002 + None, # 3003 + None, # 3004 + None, # 3005 + None, # 3006 + None, # 3007 + None, # 3008 + None, # 3009 + None, # 3010 + None, # 3011 + None, # 3012 + None, # 3013 + None, # 3014 + None, # 3015 + None, # 3016 + None, # 3017 + None, # 3018 + None, # 3019 + None, # 3020 + None, # 3021 + None, # 3022 + None, # 3023 + None, # 3024 + None, # 3025 + None, # 3026 + None, # 3027 + None, # 3028 + None, # 3029 + None, # 3030 + None, # 3031 + None, # 3032 + None, # 3033 + None, # 3034 + None, # 3035 + None, # 3036 + None, # 3037 + None, # 3038 + None, # 3039 + None, # 3040 + None, # 3041 + None, # 3042 + None, # 3043 + None, # 3044 + None, # 3045 + None, # 3046 + None, # 3047 + None, # 3048 + None, # 3049 + None, # 3050 + None, # 3051 + None, # 3052 + None, # 3053 + None, # 3054 + None, # 3055 + None, # 3056 + None, # 3057 + None, # 3058 + None, # 3059 + None, # 3060 + None, # 3061 + None, # 3062 + None, # 3063 + None, # 3064 + None, # 3065 + None, # 3066 + None, # 3067 + None, # 3068 + None, # 3069 + None, # 3070 + None, # 3071 + None, # 3072 + None, # 3073 + None, # 3074 + None, # 3075 + None, # 3076 + None, # 3077 + None, # 3078 + None, # 3079 + None, # 3080 + None, # 3081 + None, # 3082 + None, # 3083 + None, # 3084 + None, # 3085 + None, # 3086 + None, # 3087 + None, # 3088 + None, # 3089 + None, # 3090 + None, # 3091 + None, # 3092 + None, # 3093 + None, # 3094 + None, # 3095 + None, # 3096 + None, # 3097 + None, # 3098 + None, # 3099 + None, # 3100 + None, # 3101 + None, # 3102 + None, # 3103 + None, # 3104 + None, # 3105 + None, # 3106 + None, # 3107 + None, # 3108 + None, # 3109 + None, # 3110 + None, # 3111 + None, # 3112 + None, # 3113 + None, # 3114 + None, # 3115 + None, # 3116 + None, # 3117 + None, # 3118 + None, # 3119 + None, # 3120 + None, # 3121 + None, # 3122 + None, # 3123 + None, # 3124 + None, # 3125 + None, # 3126 + None, # 3127 + None, # 3128 + None, # 3129 + None, # 3130 + None, # 3131 + None, # 3132 + None, # 3133 + None, # 3134 + None, # 3135 + None, # 3136 + None, # 3137 + None, # 3138 + None, # 3139 + None, # 3140 + None, # 3141 + None, # 3142 + None, # 3143 + None, # 3144 + None, # 3145 + None, # 3146 + None, # 3147 + None, # 3148 + None, # 3149 + None, # 3150 + None, # 3151 + None, # 3152 + None, # 3153 + None, # 3154 + None, # 3155 + None, # 3156 + None, # 3157 + None, # 3158 + None, # 3159 + None, # 3160 + None, # 3161 + None, # 3162 + None, # 3163 + None, # 3164 + None, # 3165 + None, # 3166 + None, # 3167 + None, # 3168 + None, # 3169 + None, # 3170 + None, # 3171 + None, # 3172 + None, # 3173 + None, # 3174 + None, # 3175 + None, # 3176 + None, # 3177 + None, # 3178 + None, # 3179 + None, # 3180 + None, # 3181 + None, # 3182 + None, # 3183 + None, # 3184 + None, # 3185 + None, # 3186 + None, # 3187 + None, # 3188 + None, # 3189 + None, # 3190 + None, # 3191 + None, # 3192 + None, # 3193 + None, # 3194 + None, # 3195 + None, # 3196 + None, # 3197 + None, # 3198 + None, # 3199 + None, # 3200 + None, # 3201 + None, # 3202 + None, # 3203 + None, # 3204 + None, # 3205 + None, # 3206 + None, # 3207 + None, # 3208 + None, # 3209 + None, # 3210 + None, # 3211 + None, # 3212 + None, # 3213 + None, # 3214 + None, # 3215 + None, # 3216 + None, # 3217 + None, # 3218 + None, # 3219 + None, # 3220 + None, # 3221 + None, # 3222 + None, # 3223 + None, # 3224 + None, # 3225 + None, # 3226 + None, # 3227 + None, # 3228 + None, # 3229 + None, # 3230 + None, # 3231 + None, # 3232 + None, # 3233 + None, # 3234 + None, # 3235 + None, # 3236 + None, # 3237 + None, # 3238 + None, # 3239 + None, # 3240 + None, # 3241 + None, # 3242 + None, # 3243 + None, # 3244 + None, # 3245 + None, # 3246 + None, # 3247 + None, # 3248 + None, # 3249 + None, # 3250 + None, # 3251 + None, # 3252 + None, # 3253 + None, # 3254 + None, # 3255 + None, # 3256 + None, # 3257 + None, # 3258 + None, # 3259 + None, # 3260 + None, # 3261 + None, # 3262 + None, # 3263 + None, # 3264 + None, # 3265 + None, # 3266 + None, # 3267 + None, # 3268 + None, # 3269 + None, # 3270 + None, # 3271 + None, # 3272 + None, # 3273 + None, # 3274 + None, # 3275 + None, # 3276 + None, # 3277 + None, # 3278 + None, # 3279 + None, # 3280 + None, # 3281 + None, # 3282 + None, # 3283 + None, # 3284 + None, # 3285 + None, # 3286 + None, # 3287 + None, # 3288 + None, # 3289 + None, # 3290 + None, # 3291 + None, # 3292 + None, # 3293 + None, # 3294 + None, # 3295 + None, # 3296 + None, # 3297 + None, # 3298 + None, # 3299 + None, # 3300 + None, # 3301 + None, # 3302 + None, # 3303 + None, # 3304 + None, # 3305 + None, # 3306 + None, # 3307 + None, # 3308 + None, # 3309 + None, # 3310 + None, # 3311 + None, # 3312 + None, # 3313 + None, # 3314 + None, # 3315 + None, # 3316 + None, # 3317 + None, # 3318 + None, # 3319 + None, # 3320 + None, # 3321 + None, # 3322 + None, # 3323 + None, # 3324 + None, # 3325 + None, # 3326 + None, # 3327 + None, # 3328 + (3329, TType.STRUCT, 'operationId', [THandleIdentifier, None], None, ), # 3329 + (3330, TType.STRUCT, 'sessionConf', [TDBSqlSessionConf, None], None, ), # 3330 ) all_structs.append(TGetTablesResp) TGetTablesResp.thrift_spec = ( - None, # 0 - ( - 1, - TType.STRUCT, - "status", - [TStatus, None], - None, - ), # 1 - ( - 2, - TType.STRUCT, - "operationHandle", - [TOperationHandle, None], - None, - ), # 2 - None, # 3 - None, # 4 - None, # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - ( - 1281, - TType.STRUCT, - "directResults", - [TSparkDirectResults, None], - None, - ), # 1281 + None, # 0 + (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 + (2, TType.STRUCT, 'operationHandle', [TOperationHandle, None], None, ), # 2 + None, # 3 + None, # 4 + None, # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + (1281, TType.STRUCT, 'directResults', [TSparkDirectResults, None], None, ), # 1281 ) all_structs.append(TGetTableTypesReq) TGetTableTypesReq.thrift_spec = ( - None, # 0 - ( - 1, - TType.STRUCT, - "sessionHandle", - [TSessionHandle, None], - None, - ), # 1 - None, # 2 - None, # 3 - None, # 4 - None, # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - ( - 1281, - TType.STRUCT, - "getDirectResults", - [TSparkGetDirectResults, None], - None, - ), # 1281 - ( - 1282, - TType.BOOL, - "runAsync", - None, - False, - ), # 1282 - None, # 1283 - None, # 1284 - None, # 1285 - None, # 1286 - None, # 1287 - None, # 1288 - None, # 1289 - None, # 1290 - None, # 1291 - None, # 1292 - None, # 1293 - None, # 1294 - None, # 1295 - None, # 1296 - None, # 1297 - None, # 1298 - None, # 1299 - None, # 1300 - None, # 1301 - None, # 1302 - None, # 1303 - None, # 1304 - None, # 1305 - None, # 1306 - None, # 1307 - None, # 1308 - None, # 1309 - None, # 1310 - None, # 1311 - None, # 1312 - None, # 1313 - None, # 1314 - None, # 1315 - None, # 1316 - None, # 1317 - None, # 1318 - None, # 1319 - None, # 1320 - None, # 1321 - None, # 1322 - None, # 1323 - None, # 1324 - None, # 1325 - None, # 1326 - None, # 1327 - None, # 1328 - None, # 1329 - None, # 1330 - None, # 1331 - None, # 1332 - None, # 1333 - None, # 1334 - None, # 1335 - None, # 1336 - None, # 1337 - None, # 1338 - None, # 1339 - None, # 1340 - None, # 1341 - None, # 1342 - None, # 1343 - None, # 1344 - None, # 1345 - None, # 1346 - None, # 1347 - None, # 1348 - None, # 1349 - None, # 1350 - None, # 1351 - None, # 1352 - None, # 1353 - None, # 1354 - None, # 1355 - None, # 1356 - None, # 1357 - None, # 1358 - None, # 1359 - None, # 1360 - None, # 1361 - None, # 1362 - None, # 1363 - None, # 1364 - None, # 1365 - None, # 1366 - None, # 1367 - None, # 1368 - None, # 1369 - None, # 1370 - None, # 1371 - None, # 1372 - None, # 1373 - None, # 1374 - None, # 1375 - None, # 1376 - None, # 1377 - None, # 1378 - None, # 1379 - None, # 1380 - None, # 1381 - None, # 1382 - None, # 1383 - None, # 1384 - None, # 1385 - None, # 1386 - None, # 1387 - None, # 1388 - None, # 1389 - None, # 1390 - None, # 1391 - None, # 1392 - None, # 1393 - None, # 1394 - None, # 1395 - None, # 1396 - None, # 1397 - None, # 1398 - None, # 1399 - None, # 1400 - None, # 1401 - None, # 1402 - None, # 1403 - None, # 1404 - None, # 1405 - None, # 1406 - None, # 1407 - None, # 1408 - None, # 1409 - None, # 1410 - None, # 1411 - None, # 1412 - None, # 1413 - None, # 1414 - None, # 1415 - None, # 1416 - None, # 1417 - None, # 1418 - None, # 1419 - None, # 1420 - None, # 1421 - None, # 1422 - None, # 1423 - None, # 1424 - None, # 1425 - None, # 1426 - None, # 1427 - None, # 1428 - None, # 1429 - None, # 1430 - None, # 1431 - None, # 1432 - None, # 1433 - None, # 1434 - None, # 1435 - None, # 1436 - None, # 1437 - None, # 1438 - None, # 1439 - None, # 1440 - None, # 1441 - None, # 1442 - None, # 1443 - None, # 1444 - None, # 1445 - None, # 1446 - None, # 1447 - None, # 1448 - None, # 1449 - None, # 1450 - None, # 1451 - None, # 1452 - None, # 1453 - None, # 1454 - None, # 1455 - None, # 1456 - None, # 1457 - None, # 1458 - None, # 1459 - None, # 1460 - None, # 1461 - None, # 1462 - None, # 1463 - None, # 1464 - None, # 1465 - None, # 1466 - None, # 1467 - None, # 1468 - None, # 1469 - None, # 1470 - None, # 1471 - None, # 1472 - None, # 1473 - None, # 1474 - None, # 1475 - None, # 1476 - None, # 1477 - None, # 1478 - None, # 1479 - None, # 1480 - None, # 1481 - None, # 1482 - None, # 1483 - None, # 1484 - None, # 1485 - None, # 1486 - None, # 1487 - None, # 1488 - None, # 1489 - None, # 1490 - None, # 1491 - None, # 1492 - None, # 1493 - None, # 1494 - None, # 1495 - None, # 1496 - None, # 1497 - None, # 1498 - None, # 1499 - None, # 1500 - None, # 1501 - None, # 1502 - None, # 1503 - None, # 1504 - None, # 1505 - None, # 1506 - None, # 1507 - None, # 1508 - None, # 1509 - None, # 1510 - None, # 1511 - None, # 1512 - None, # 1513 - None, # 1514 - None, # 1515 - None, # 1516 - None, # 1517 - None, # 1518 - None, # 1519 - None, # 1520 - None, # 1521 - None, # 1522 - None, # 1523 - None, # 1524 - None, # 1525 - None, # 1526 - None, # 1527 - None, # 1528 - None, # 1529 - None, # 1530 - None, # 1531 - None, # 1532 - None, # 1533 - None, # 1534 - None, # 1535 - None, # 1536 - None, # 1537 - None, # 1538 - None, # 1539 - None, # 1540 - None, # 1541 - None, # 1542 - None, # 1543 - None, # 1544 - None, # 1545 - None, # 1546 - None, # 1547 - None, # 1548 - None, # 1549 - None, # 1550 - None, # 1551 - None, # 1552 - None, # 1553 - None, # 1554 - None, # 1555 - None, # 1556 - None, # 1557 - None, # 1558 - None, # 1559 - None, # 1560 - None, # 1561 - None, # 1562 - None, # 1563 - None, # 1564 - None, # 1565 - None, # 1566 - None, # 1567 - None, # 1568 - None, # 1569 - None, # 1570 - None, # 1571 - None, # 1572 - None, # 1573 - None, # 1574 - None, # 1575 - None, # 1576 - None, # 1577 - None, # 1578 - None, # 1579 - None, # 1580 - None, # 1581 - None, # 1582 - None, # 1583 - None, # 1584 - None, # 1585 - None, # 1586 - None, # 1587 - None, # 1588 - None, # 1589 - None, # 1590 - None, # 1591 - None, # 1592 - None, # 1593 - None, # 1594 - None, # 1595 - None, # 1596 - None, # 1597 - None, # 1598 - None, # 1599 - None, # 1600 - None, # 1601 - None, # 1602 - None, # 1603 - None, # 1604 - None, # 1605 - None, # 1606 - None, # 1607 - None, # 1608 - None, # 1609 - None, # 1610 - None, # 1611 - None, # 1612 - None, # 1613 - None, # 1614 - None, # 1615 - None, # 1616 - None, # 1617 - None, # 1618 - None, # 1619 - None, # 1620 - None, # 1621 - None, # 1622 - None, # 1623 - None, # 1624 - None, # 1625 - None, # 1626 - None, # 1627 - None, # 1628 - None, # 1629 - None, # 1630 - None, # 1631 - None, # 1632 - None, # 1633 - None, # 1634 - None, # 1635 - None, # 1636 - None, # 1637 - None, # 1638 - None, # 1639 - None, # 1640 - None, # 1641 - None, # 1642 - None, # 1643 - None, # 1644 - None, # 1645 - None, # 1646 - None, # 1647 - None, # 1648 - None, # 1649 - None, # 1650 - None, # 1651 - None, # 1652 - None, # 1653 - None, # 1654 - None, # 1655 - None, # 1656 - None, # 1657 - None, # 1658 - None, # 1659 - None, # 1660 - None, # 1661 - None, # 1662 - None, # 1663 - None, # 1664 - None, # 1665 - None, # 1666 - None, # 1667 - None, # 1668 - None, # 1669 - None, # 1670 - None, # 1671 - None, # 1672 - None, # 1673 - None, # 1674 - None, # 1675 - None, # 1676 - None, # 1677 - None, # 1678 - None, # 1679 - None, # 1680 - None, # 1681 - None, # 1682 - None, # 1683 - None, # 1684 - None, # 1685 - None, # 1686 - None, # 1687 - None, # 1688 - None, # 1689 - None, # 1690 - None, # 1691 - None, # 1692 - None, # 1693 - None, # 1694 - None, # 1695 - None, # 1696 - None, # 1697 - None, # 1698 - None, # 1699 - None, # 1700 - None, # 1701 - None, # 1702 - None, # 1703 - None, # 1704 - None, # 1705 - None, # 1706 - None, # 1707 - None, # 1708 - None, # 1709 - None, # 1710 - None, # 1711 - None, # 1712 - None, # 1713 - None, # 1714 - None, # 1715 - None, # 1716 - None, # 1717 - None, # 1718 - None, # 1719 - None, # 1720 - None, # 1721 - None, # 1722 - None, # 1723 - None, # 1724 - None, # 1725 - None, # 1726 - None, # 1727 - None, # 1728 - None, # 1729 - None, # 1730 - None, # 1731 - None, # 1732 - None, # 1733 - None, # 1734 - None, # 1735 - None, # 1736 - None, # 1737 - None, # 1738 - None, # 1739 - None, # 1740 - None, # 1741 - None, # 1742 - None, # 1743 - None, # 1744 - None, # 1745 - None, # 1746 - None, # 1747 - None, # 1748 - None, # 1749 - None, # 1750 - None, # 1751 - None, # 1752 - None, # 1753 - None, # 1754 - None, # 1755 - None, # 1756 - None, # 1757 - None, # 1758 - None, # 1759 - None, # 1760 - None, # 1761 - None, # 1762 - None, # 1763 - None, # 1764 - None, # 1765 - None, # 1766 - None, # 1767 - None, # 1768 - None, # 1769 - None, # 1770 - None, # 1771 - None, # 1772 - None, # 1773 - None, # 1774 - None, # 1775 - None, # 1776 - None, # 1777 - None, # 1778 - None, # 1779 - None, # 1780 - None, # 1781 - None, # 1782 - None, # 1783 - None, # 1784 - None, # 1785 - None, # 1786 - None, # 1787 - None, # 1788 - None, # 1789 - None, # 1790 - None, # 1791 - None, # 1792 - None, # 1793 - None, # 1794 - None, # 1795 - None, # 1796 - None, # 1797 - None, # 1798 - None, # 1799 - None, # 1800 - None, # 1801 - None, # 1802 - None, # 1803 - None, # 1804 - None, # 1805 - None, # 1806 - None, # 1807 - None, # 1808 - None, # 1809 - None, # 1810 - None, # 1811 - None, # 1812 - None, # 1813 - None, # 1814 - None, # 1815 - None, # 1816 - None, # 1817 - None, # 1818 - None, # 1819 - None, # 1820 - None, # 1821 - None, # 1822 - None, # 1823 - None, # 1824 - None, # 1825 - None, # 1826 - None, # 1827 - None, # 1828 - None, # 1829 - None, # 1830 - None, # 1831 - None, # 1832 - None, # 1833 - None, # 1834 - None, # 1835 - None, # 1836 - None, # 1837 - None, # 1838 - None, # 1839 - None, # 1840 - None, # 1841 - None, # 1842 - None, # 1843 - None, # 1844 - None, # 1845 - None, # 1846 - None, # 1847 - None, # 1848 - None, # 1849 - None, # 1850 - None, # 1851 - None, # 1852 - None, # 1853 - None, # 1854 - None, # 1855 - None, # 1856 - None, # 1857 - None, # 1858 - None, # 1859 - None, # 1860 - None, # 1861 - None, # 1862 - None, # 1863 - None, # 1864 - None, # 1865 - None, # 1866 - None, # 1867 - None, # 1868 - None, # 1869 - None, # 1870 - None, # 1871 - None, # 1872 - None, # 1873 - None, # 1874 - None, # 1875 - None, # 1876 - None, # 1877 - None, # 1878 - None, # 1879 - None, # 1880 - None, # 1881 - None, # 1882 - None, # 1883 - None, # 1884 - None, # 1885 - None, # 1886 - None, # 1887 - None, # 1888 - None, # 1889 - None, # 1890 - None, # 1891 - None, # 1892 - None, # 1893 - None, # 1894 - None, # 1895 - None, # 1896 - None, # 1897 - None, # 1898 - None, # 1899 - None, # 1900 - None, # 1901 - None, # 1902 - None, # 1903 - None, # 1904 - None, # 1905 - None, # 1906 - None, # 1907 - None, # 1908 - None, # 1909 - None, # 1910 - None, # 1911 - None, # 1912 - None, # 1913 - None, # 1914 - None, # 1915 - None, # 1916 - None, # 1917 - None, # 1918 - None, # 1919 - None, # 1920 - None, # 1921 - None, # 1922 - None, # 1923 - None, # 1924 - None, # 1925 - None, # 1926 - None, # 1927 - None, # 1928 - None, # 1929 - None, # 1930 - None, # 1931 - None, # 1932 - None, # 1933 - None, # 1934 - None, # 1935 - None, # 1936 - None, # 1937 - None, # 1938 - None, # 1939 - None, # 1940 - None, # 1941 - None, # 1942 - None, # 1943 - None, # 1944 - None, # 1945 - None, # 1946 - None, # 1947 - None, # 1948 - None, # 1949 - None, # 1950 - None, # 1951 - None, # 1952 - None, # 1953 - None, # 1954 - None, # 1955 - None, # 1956 - None, # 1957 - None, # 1958 - None, # 1959 - None, # 1960 - None, # 1961 - None, # 1962 - None, # 1963 - None, # 1964 - None, # 1965 - None, # 1966 - None, # 1967 - None, # 1968 - None, # 1969 - None, # 1970 - None, # 1971 - None, # 1972 - None, # 1973 - None, # 1974 - None, # 1975 - None, # 1976 - None, # 1977 - None, # 1978 - None, # 1979 - None, # 1980 - None, # 1981 - None, # 1982 - None, # 1983 - None, # 1984 - None, # 1985 - None, # 1986 - None, # 1987 - None, # 1988 - None, # 1989 - None, # 1990 - None, # 1991 - None, # 1992 - None, # 1993 - None, # 1994 - None, # 1995 - None, # 1996 - None, # 1997 - None, # 1998 - None, # 1999 - None, # 2000 - None, # 2001 - None, # 2002 - None, # 2003 - None, # 2004 - None, # 2005 - None, # 2006 - None, # 2007 - None, # 2008 - None, # 2009 - None, # 2010 - None, # 2011 - None, # 2012 - None, # 2013 - None, # 2014 - None, # 2015 - None, # 2016 - None, # 2017 - None, # 2018 - None, # 2019 - None, # 2020 - None, # 2021 - None, # 2022 - None, # 2023 - None, # 2024 - None, # 2025 - None, # 2026 - None, # 2027 - None, # 2028 - None, # 2029 - None, # 2030 - None, # 2031 - None, # 2032 - None, # 2033 - None, # 2034 - None, # 2035 - None, # 2036 - None, # 2037 - None, # 2038 - None, # 2039 - None, # 2040 - None, # 2041 - None, # 2042 - None, # 2043 - None, # 2044 - None, # 2045 - None, # 2046 - None, # 2047 - None, # 2048 - None, # 2049 - None, # 2050 - None, # 2051 - None, # 2052 - None, # 2053 - None, # 2054 - None, # 2055 - None, # 2056 - None, # 2057 - None, # 2058 - None, # 2059 - None, # 2060 - None, # 2061 - None, # 2062 - None, # 2063 - None, # 2064 - None, # 2065 - None, # 2066 - None, # 2067 - None, # 2068 - None, # 2069 - None, # 2070 - None, # 2071 - None, # 2072 - None, # 2073 - None, # 2074 - None, # 2075 - None, # 2076 - None, # 2077 - None, # 2078 - None, # 2079 - None, # 2080 - None, # 2081 - None, # 2082 - None, # 2083 - None, # 2084 - None, # 2085 - None, # 2086 - None, # 2087 - None, # 2088 - None, # 2089 - None, # 2090 - None, # 2091 - None, # 2092 - None, # 2093 - None, # 2094 - None, # 2095 - None, # 2096 - None, # 2097 - None, # 2098 - None, # 2099 - None, # 2100 - None, # 2101 - None, # 2102 - None, # 2103 - None, # 2104 - None, # 2105 - None, # 2106 - None, # 2107 - None, # 2108 - None, # 2109 - None, # 2110 - None, # 2111 - None, # 2112 - None, # 2113 - None, # 2114 - None, # 2115 - None, # 2116 - None, # 2117 - None, # 2118 - None, # 2119 - None, # 2120 - None, # 2121 - None, # 2122 - None, # 2123 - None, # 2124 - None, # 2125 - None, # 2126 - None, # 2127 - None, # 2128 - None, # 2129 - None, # 2130 - None, # 2131 - None, # 2132 - None, # 2133 - None, # 2134 - None, # 2135 - None, # 2136 - None, # 2137 - None, # 2138 - None, # 2139 - None, # 2140 - None, # 2141 - None, # 2142 - None, # 2143 - None, # 2144 - None, # 2145 - None, # 2146 - None, # 2147 - None, # 2148 - None, # 2149 - None, # 2150 - None, # 2151 - None, # 2152 - None, # 2153 - None, # 2154 - None, # 2155 - None, # 2156 - None, # 2157 - None, # 2158 - None, # 2159 - None, # 2160 - None, # 2161 - None, # 2162 - None, # 2163 - None, # 2164 - None, # 2165 - None, # 2166 - None, # 2167 - None, # 2168 - None, # 2169 - None, # 2170 - None, # 2171 - None, # 2172 - None, # 2173 - None, # 2174 - None, # 2175 - None, # 2176 - None, # 2177 - None, # 2178 - None, # 2179 - None, # 2180 - None, # 2181 - None, # 2182 - None, # 2183 - None, # 2184 - None, # 2185 - None, # 2186 - None, # 2187 - None, # 2188 - None, # 2189 - None, # 2190 - None, # 2191 - None, # 2192 - None, # 2193 - None, # 2194 - None, # 2195 - None, # 2196 - None, # 2197 - None, # 2198 - None, # 2199 - None, # 2200 - None, # 2201 - None, # 2202 - None, # 2203 - None, # 2204 - None, # 2205 - None, # 2206 - None, # 2207 - None, # 2208 - None, # 2209 - None, # 2210 - None, # 2211 - None, # 2212 - None, # 2213 - None, # 2214 - None, # 2215 - None, # 2216 - None, # 2217 - None, # 2218 - None, # 2219 - None, # 2220 - None, # 2221 - None, # 2222 - None, # 2223 - None, # 2224 - None, # 2225 - None, # 2226 - None, # 2227 - None, # 2228 - None, # 2229 - None, # 2230 - None, # 2231 - None, # 2232 - None, # 2233 - None, # 2234 - None, # 2235 - None, # 2236 - None, # 2237 - None, # 2238 - None, # 2239 - None, # 2240 - None, # 2241 - None, # 2242 - None, # 2243 - None, # 2244 - None, # 2245 - None, # 2246 - None, # 2247 - None, # 2248 - None, # 2249 - None, # 2250 - None, # 2251 - None, # 2252 - None, # 2253 - None, # 2254 - None, # 2255 - None, # 2256 - None, # 2257 - None, # 2258 - None, # 2259 - None, # 2260 - None, # 2261 - None, # 2262 - None, # 2263 - None, # 2264 - None, # 2265 - None, # 2266 - None, # 2267 - None, # 2268 - None, # 2269 - None, # 2270 - None, # 2271 - None, # 2272 - None, # 2273 - None, # 2274 - None, # 2275 - None, # 2276 - None, # 2277 - None, # 2278 - None, # 2279 - None, # 2280 - None, # 2281 - None, # 2282 - None, # 2283 - None, # 2284 - None, # 2285 - None, # 2286 - None, # 2287 - None, # 2288 - None, # 2289 - None, # 2290 - None, # 2291 - None, # 2292 - None, # 2293 - None, # 2294 - None, # 2295 - None, # 2296 - None, # 2297 - None, # 2298 - None, # 2299 - None, # 2300 - None, # 2301 - None, # 2302 - None, # 2303 - None, # 2304 - None, # 2305 - None, # 2306 - None, # 2307 - None, # 2308 - None, # 2309 - None, # 2310 - None, # 2311 - None, # 2312 - None, # 2313 - None, # 2314 - None, # 2315 - None, # 2316 - None, # 2317 - None, # 2318 - None, # 2319 - None, # 2320 - None, # 2321 - None, # 2322 - None, # 2323 - None, # 2324 - None, # 2325 - None, # 2326 - None, # 2327 - None, # 2328 - None, # 2329 - None, # 2330 - None, # 2331 - None, # 2332 - None, # 2333 - None, # 2334 - None, # 2335 - None, # 2336 - None, # 2337 - None, # 2338 - None, # 2339 - None, # 2340 - None, # 2341 - None, # 2342 - None, # 2343 - None, # 2344 - None, # 2345 - None, # 2346 - None, # 2347 - None, # 2348 - None, # 2349 - None, # 2350 - None, # 2351 - None, # 2352 - None, # 2353 - None, # 2354 - None, # 2355 - None, # 2356 - None, # 2357 - None, # 2358 - None, # 2359 - None, # 2360 - None, # 2361 - None, # 2362 - None, # 2363 - None, # 2364 - None, # 2365 - None, # 2366 - None, # 2367 - None, # 2368 - None, # 2369 - None, # 2370 - None, # 2371 - None, # 2372 - None, # 2373 - None, # 2374 - None, # 2375 - None, # 2376 - None, # 2377 - None, # 2378 - None, # 2379 - None, # 2380 - None, # 2381 - None, # 2382 - None, # 2383 - None, # 2384 - None, # 2385 - None, # 2386 - None, # 2387 - None, # 2388 - None, # 2389 - None, # 2390 - None, # 2391 - None, # 2392 - None, # 2393 - None, # 2394 - None, # 2395 - None, # 2396 - None, # 2397 - None, # 2398 - None, # 2399 - None, # 2400 - None, # 2401 - None, # 2402 - None, # 2403 - None, # 2404 - None, # 2405 - None, # 2406 - None, # 2407 - None, # 2408 - None, # 2409 - None, # 2410 - None, # 2411 - None, # 2412 - None, # 2413 - None, # 2414 - None, # 2415 - None, # 2416 - None, # 2417 - None, # 2418 - None, # 2419 - None, # 2420 - None, # 2421 - None, # 2422 - None, # 2423 - None, # 2424 - None, # 2425 - None, # 2426 - None, # 2427 - None, # 2428 - None, # 2429 - None, # 2430 - None, # 2431 - None, # 2432 - None, # 2433 - None, # 2434 - None, # 2435 - None, # 2436 - None, # 2437 - None, # 2438 - None, # 2439 - None, # 2440 - None, # 2441 - None, # 2442 - None, # 2443 - None, # 2444 - None, # 2445 - None, # 2446 - None, # 2447 - None, # 2448 - None, # 2449 - None, # 2450 - None, # 2451 - None, # 2452 - None, # 2453 - None, # 2454 - None, # 2455 - None, # 2456 - None, # 2457 - None, # 2458 - None, # 2459 - None, # 2460 - None, # 2461 - None, # 2462 - None, # 2463 - None, # 2464 - None, # 2465 - None, # 2466 - None, # 2467 - None, # 2468 - None, # 2469 - None, # 2470 - None, # 2471 - None, # 2472 - None, # 2473 - None, # 2474 - None, # 2475 - None, # 2476 - None, # 2477 - None, # 2478 - None, # 2479 - None, # 2480 - None, # 2481 - None, # 2482 - None, # 2483 - None, # 2484 - None, # 2485 - None, # 2486 - None, # 2487 - None, # 2488 - None, # 2489 - None, # 2490 - None, # 2491 - None, # 2492 - None, # 2493 - None, # 2494 - None, # 2495 - None, # 2496 - None, # 2497 - None, # 2498 - None, # 2499 - None, # 2500 - None, # 2501 - None, # 2502 - None, # 2503 - None, # 2504 - None, # 2505 - None, # 2506 - None, # 2507 - None, # 2508 - None, # 2509 - None, # 2510 - None, # 2511 - None, # 2512 - None, # 2513 - None, # 2514 - None, # 2515 - None, # 2516 - None, # 2517 - None, # 2518 - None, # 2519 - None, # 2520 - None, # 2521 - None, # 2522 - None, # 2523 - None, # 2524 - None, # 2525 - None, # 2526 - None, # 2527 - None, # 2528 - None, # 2529 - None, # 2530 - None, # 2531 - None, # 2532 - None, # 2533 - None, # 2534 - None, # 2535 - None, # 2536 - None, # 2537 - None, # 2538 - None, # 2539 - None, # 2540 - None, # 2541 - None, # 2542 - None, # 2543 - None, # 2544 - None, # 2545 - None, # 2546 - None, # 2547 - None, # 2548 - None, # 2549 - None, # 2550 - None, # 2551 - None, # 2552 - None, # 2553 - None, # 2554 - None, # 2555 - None, # 2556 - None, # 2557 - None, # 2558 - None, # 2559 - None, # 2560 - None, # 2561 - None, # 2562 - None, # 2563 - None, # 2564 - None, # 2565 - None, # 2566 - None, # 2567 - None, # 2568 - None, # 2569 - None, # 2570 - None, # 2571 - None, # 2572 - None, # 2573 - None, # 2574 - None, # 2575 - None, # 2576 - None, # 2577 - None, # 2578 - None, # 2579 - None, # 2580 - None, # 2581 - None, # 2582 - None, # 2583 - None, # 2584 - None, # 2585 - None, # 2586 - None, # 2587 - None, # 2588 - None, # 2589 - None, # 2590 - None, # 2591 - None, # 2592 - None, # 2593 - None, # 2594 - None, # 2595 - None, # 2596 - None, # 2597 - None, # 2598 - None, # 2599 - None, # 2600 - None, # 2601 - None, # 2602 - None, # 2603 - None, # 2604 - None, # 2605 - None, # 2606 - None, # 2607 - None, # 2608 - None, # 2609 - None, # 2610 - None, # 2611 - None, # 2612 - None, # 2613 - None, # 2614 - None, # 2615 - None, # 2616 - None, # 2617 - None, # 2618 - None, # 2619 - None, # 2620 - None, # 2621 - None, # 2622 - None, # 2623 - None, # 2624 - None, # 2625 - None, # 2626 - None, # 2627 - None, # 2628 - None, # 2629 - None, # 2630 - None, # 2631 - None, # 2632 - None, # 2633 - None, # 2634 - None, # 2635 - None, # 2636 - None, # 2637 - None, # 2638 - None, # 2639 - None, # 2640 - None, # 2641 - None, # 2642 - None, # 2643 - None, # 2644 - None, # 2645 - None, # 2646 - None, # 2647 - None, # 2648 - None, # 2649 - None, # 2650 - None, # 2651 - None, # 2652 - None, # 2653 - None, # 2654 - None, # 2655 - None, # 2656 - None, # 2657 - None, # 2658 - None, # 2659 - None, # 2660 - None, # 2661 - None, # 2662 - None, # 2663 - None, # 2664 - None, # 2665 - None, # 2666 - None, # 2667 - None, # 2668 - None, # 2669 - None, # 2670 - None, # 2671 - None, # 2672 - None, # 2673 - None, # 2674 - None, # 2675 - None, # 2676 - None, # 2677 - None, # 2678 - None, # 2679 - None, # 2680 - None, # 2681 - None, # 2682 - None, # 2683 - None, # 2684 - None, # 2685 - None, # 2686 - None, # 2687 - None, # 2688 - None, # 2689 - None, # 2690 - None, # 2691 - None, # 2692 - None, # 2693 - None, # 2694 - None, # 2695 - None, # 2696 - None, # 2697 - None, # 2698 - None, # 2699 - None, # 2700 - None, # 2701 - None, # 2702 - None, # 2703 - None, # 2704 - None, # 2705 - None, # 2706 - None, # 2707 - None, # 2708 - None, # 2709 - None, # 2710 - None, # 2711 - None, # 2712 - None, # 2713 - None, # 2714 - None, # 2715 - None, # 2716 - None, # 2717 - None, # 2718 - None, # 2719 - None, # 2720 - None, # 2721 - None, # 2722 - None, # 2723 - None, # 2724 - None, # 2725 - None, # 2726 - None, # 2727 - None, # 2728 - None, # 2729 - None, # 2730 - None, # 2731 - None, # 2732 - None, # 2733 - None, # 2734 - None, # 2735 - None, # 2736 - None, # 2737 - None, # 2738 - None, # 2739 - None, # 2740 - None, # 2741 - None, # 2742 - None, # 2743 - None, # 2744 - None, # 2745 - None, # 2746 - None, # 2747 - None, # 2748 - None, # 2749 - None, # 2750 - None, # 2751 - None, # 2752 - None, # 2753 - None, # 2754 - None, # 2755 - None, # 2756 - None, # 2757 - None, # 2758 - None, # 2759 - None, # 2760 - None, # 2761 - None, # 2762 - None, # 2763 - None, # 2764 - None, # 2765 - None, # 2766 - None, # 2767 - None, # 2768 - None, # 2769 - None, # 2770 - None, # 2771 - None, # 2772 - None, # 2773 - None, # 2774 - None, # 2775 - None, # 2776 - None, # 2777 - None, # 2778 - None, # 2779 - None, # 2780 - None, # 2781 - None, # 2782 - None, # 2783 - None, # 2784 - None, # 2785 - None, # 2786 - None, # 2787 - None, # 2788 - None, # 2789 - None, # 2790 - None, # 2791 - None, # 2792 - None, # 2793 - None, # 2794 - None, # 2795 - None, # 2796 - None, # 2797 - None, # 2798 - None, # 2799 - None, # 2800 - None, # 2801 - None, # 2802 - None, # 2803 - None, # 2804 - None, # 2805 - None, # 2806 - None, # 2807 - None, # 2808 - None, # 2809 - None, # 2810 - None, # 2811 - None, # 2812 - None, # 2813 - None, # 2814 - None, # 2815 - None, # 2816 - None, # 2817 - None, # 2818 - None, # 2819 - None, # 2820 - None, # 2821 - None, # 2822 - None, # 2823 - None, # 2824 - None, # 2825 - None, # 2826 - None, # 2827 - None, # 2828 - None, # 2829 - None, # 2830 - None, # 2831 - None, # 2832 - None, # 2833 - None, # 2834 - None, # 2835 - None, # 2836 - None, # 2837 - None, # 2838 - None, # 2839 - None, # 2840 - None, # 2841 - None, # 2842 - None, # 2843 - None, # 2844 - None, # 2845 - None, # 2846 - None, # 2847 - None, # 2848 - None, # 2849 - None, # 2850 - None, # 2851 - None, # 2852 - None, # 2853 - None, # 2854 - None, # 2855 - None, # 2856 - None, # 2857 - None, # 2858 - None, # 2859 - None, # 2860 - None, # 2861 - None, # 2862 - None, # 2863 - None, # 2864 - None, # 2865 - None, # 2866 - None, # 2867 - None, # 2868 - None, # 2869 - None, # 2870 - None, # 2871 - None, # 2872 - None, # 2873 - None, # 2874 - None, # 2875 - None, # 2876 - None, # 2877 - None, # 2878 - None, # 2879 - None, # 2880 - None, # 2881 - None, # 2882 - None, # 2883 - None, # 2884 - None, # 2885 - None, # 2886 - None, # 2887 - None, # 2888 - None, # 2889 - None, # 2890 - None, # 2891 - None, # 2892 - None, # 2893 - None, # 2894 - None, # 2895 - None, # 2896 - None, # 2897 - None, # 2898 - None, # 2899 - None, # 2900 - None, # 2901 - None, # 2902 - None, # 2903 - None, # 2904 - None, # 2905 - None, # 2906 - None, # 2907 - None, # 2908 - None, # 2909 - None, # 2910 - None, # 2911 - None, # 2912 - None, # 2913 - None, # 2914 - None, # 2915 - None, # 2916 - None, # 2917 - None, # 2918 - None, # 2919 - None, # 2920 - None, # 2921 - None, # 2922 - None, # 2923 - None, # 2924 - None, # 2925 - None, # 2926 - None, # 2927 - None, # 2928 - None, # 2929 - None, # 2930 - None, # 2931 - None, # 2932 - None, # 2933 - None, # 2934 - None, # 2935 - None, # 2936 - None, # 2937 - None, # 2938 - None, # 2939 - None, # 2940 - None, # 2941 - None, # 2942 - None, # 2943 - None, # 2944 - None, # 2945 - None, # 2946 - None, # 2947 - None, # 2948 - None, # 2949 - None, # 2950 - None, # 2951 - None, # 2952 - None, # 2953 - None, # 2954 - None, # 2955 - None, # 2956 - None, # 2957 - None, # 2958 - None, # 2959 - None, # 2960 - None, # 2961 - None, # 2962 - None, # 2963 - None, # 2964 - None, # 2965 - None, # 2966 - None, # 2967 - None, # 2968 - None, # 2969 - None, # 2970 - None, # 2971 - None, # 2972 - None, # 2973 - None, # 2974 - None, # 2975 - None, # 2976 - None, # 2977 - None, # 2978 - None, # 2979 - None, # 2980 - None, # 2981 - None, # 2982 - None, # 2983 - None, # 2984 - None, # 2985 - None, # 2986 - None, # 2987 - None, # 2988 - None, # 2989 - None, # 2990 - None, # 2991 - None, # 2992 - None, # 2993 - None, # 2994 - None, # 2995 - None, # 2996 - None, # 2997 - None, # 2998 - None, # 2999 - None, # 3000 - None, # 3001 - None, # 3002 - None, # 3003 - None, # 3004 - None, # 3005 - None, # 3006 - None, # 3007 - None, # 3008 - None, # 3009 - None, # 3010 - None, # 3011 - None, # 3012 - None, # 3013 - None, # 3014 - None, # 3015 - None, # 3016 - None, # 3017 - None, # 3018 - None, # 3019 - None, # 3020 - None, # 3021 - None, # 3022 - None, # 3023 - None, # 3024 - None, # 3025 - None, # 3026 - None, # 3027 - None, # 3028 - None, # 3029 - None, # 3030 - None, # 3031 - None, # 3032 - None, # 3033 - None, # 3034 - None, # 3035 - None, # 3036 - None, # 3037 - None, # 3038 - None, # 3039 - None, # 3040 - None, # 3041 - None, # 3042 - None, # 3043 - None, # 3044 - None, # 3045 - None, # 3046 - None, # 3047 - None, # 3048 - None, # 3049 - None, # 3050 - None, # 3051 - None, # 3052 - None, # 3053 - None, # 3054 - None, # 3055 - None, # 3056 - None, # 3057 - None, # 3058 - None, # 3059 - None, # 3060 - None, # 3061 - None, # 3062 - None, # 3063 - None, # 3064 - None, # 3065 - None, # 3066 - None, # 3067 - None, # 3068 - None, # 3069 - None, # 3070 - None, # 3071 - None, # 3072 - None, # 3073 - None, # 3074 - None, # 3075 - None, # 3076 - None, # 3077 - None, # 3078 - None, # 3079 - None, # 3080 - None, # 3081 - None, # 3082 - None, # 3083 - None, # 3084 - None, # 3085 - None, # 3086 - None, # 3087 - None, # 3088 - None, # 3089 - None, # 3090 - None, # 3091 - None, # 3092 - None, # 3093 - None, # 3094 - None, # 3095 - None, # 3096 - None, # 3097 - None, # 3098 - None, # 3099 - None, # 3100 - None, # 3101 - None, # 3102 - None, # 3103 - None, # 3104 - None, # 3105 - None, # 3106 - None, # 3107 - None, # 3108 - None, # 3109 - None, # 3110 - None, # 3111 - None, # 3112 - None, # 3113 - None, # 3114 - None, # 3115 - None, # 3116 - None, # 3117 - None, # 3118 - None, # 3119 - None, # 3120 - None, # 3121 - None, # 3122 - None, # 3123 - None, # 3124 - None, # 3125 - None, # 3126 - None, # 3127 - None, # 3128 - None, # 3129 - None, # 3130 - None, # 3131 - None, # 3132 - None, # 3133 - None, # 3134 - None, # 3135 - None, # 3136 - None, # 3137 - None, # 3138 - None, # 3139 - None, # 3140 - None, # 3141 - None, # 3142 - None, # 3143 - None, # 3144 - None, # 3145 - None, # 3146 - None, # 3147 - None, # 3148 - None, # 3149 - None, # 3150 - None, # 3151 - None, # 3152 - None, # 3153 - None, # 3154 - None, # 3155 - None, # 3156 - None, # 3157 - None, # 3158 - None, # 3159 - None, # 3160 - None, # 3161 - None, # 3162 - None, # 3163 - None, # 3164 - None, # 3165 - None, # 3166 - None, # 3167 - None, # 3168 - None, # 3169 - None, # 3170 - None, # 3171 - None, # 3172 - None, # 3173 - None, # 3174 - None, # 3175 - None, # 3176 - None, # 3177 - None, # 3178 - None, # 3179 - None, # 3180 - None, # 3181 - None, # 3182 - None, # 3183 - None, # 3184 - None, # 3185 - None, # 3186 - None, # 3187 - None, # 3188 - None, # 3189 - None, # 3190 - None, # 3191 - None, # 3192 - None, # 3193 - None, # 3194 - None, # 3195 - None, # 3196 - None, # 3197 - None, # 3198 - None, # 3199 - None, # 3200 - None, # 3201 - None, # 3202 - None, # 3203 - None, # 3204 - None, # 3205 - None, # 3206 - None, # 3207 - None, # 3208 - None, # 3209 - None, # 3210 - None, # 3211 - None, # 3212 - None, # 3213 - None, # 3214 - None, # 3215 - None, # 3216 - None, # 3217 - None, # 3218 - None, # 3219 - None, # 3220 - None, # 3221 - None, # 3222 - None, # 3223 - None, # 3224 - None, # 3225 - None, # 3226 - None, # 3227 - None, # 3228 - None, # 3229 - None, # 3230 - None, # 3231 - None, # 3232 - None, # 3233 - None, # 3234 - None, # 3235 - None, # 3236 - None, # 3237 - None, # 3238 - None, # 3239 - None, # 3240 - None, # 3241 - None, # 3242 - None, # 3243 - None, # 3244 - None, # 3245 - None, # 3246 - None, # 3247 - None, # 3248 - None, # 3249 - None, # 3250 - None, # 3251 - None, # 3252 - None, # 3253 - None, # 3254 - None, # 3255 - None, # 3256 - None, # 3257 - None, # 3258 - None, # 3259 - None, # 3260 - None, # 3261 - None, # 3262 - None, # 3263 - None, # 3264 - None, # 3265 - None, # 3266 - None, # 3267 - None, # 3268 - None, # 3269 - None, # 3270 - None, # 3271 - None, # 3272 - None, # 3273 - None, # 3274 - None, # 3275 - None, # 3276 - None, # 3277 - None, # 3278 - None, # 3279 - None, # 3280 - None, # 3281 - None, # 3282 - None, # 3283 - None, # 3284 - None, # 3285 - None, # 3286 - None, # 3287 - None, # 3288 - None, # 3289 - None, # 3290 - None, # 3291 - None, # 3292 - None, # 3293 - None, # 3294 - None, # 3295 - None, # 3296 - None, # 3297 - None, # 3298 - None, # 3299 - None, # 3300 - None, # 3301 - None, # 3302 - None, # 3303 - None, # 3304 - None, # 3305 - None, # 3306 - None, # 3307 - None, # 3308 - None, # 3309 - None, # 3310 - None, # 3311 - None, # 3312 - None, # 3313 - None, # 3314 - None, # 3315 - None, # 3316 - None, # 3317 - None, # 3318 - None, # 3319 - None, # 3320 - None, # 3321 - None, # 3322 - None, # 3323 - None, # 3324 - None, # 3325 - None, # 3326 - None, # 3327 - None, # 3328 - ( - 3329, - TType.STRUCT, - "operationId", - [THandleIdentifier, None], - None, - ), # 3329 - ( - 3330, - TType.STRUCT, - "sessionConf", - [TDBSqlSessionConf, None], - None, - ), # 3330 + None, # 0 + (1, TType.STRUCT, 'sessionHandle', [TSessionHandle, None], None, ), # 1 + None, # 2 + None, # 3 + None, # 4 + None, # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + (1281, TType.STRUCT, 'getDirectResults', [TSparkGetDirectResults, None], None, ), # 1281 + (1282, TType.BOOL, 'runAsync', None, False, ), # 1282 + None, # 1283 + None, # 1284 + None, # 1285 + None, # 1286 + None, # 1287 + None, # 1288 + None, # 1289 + None, # 1290 + None, # 1291 + None, # 1292 + None, # 1293 + None, # 1294 + None, # 1295 + None, # 1296 + None, # 1297 + None, # 1298 + None, # 1299 + None, # 1300 + None, # 1301 + None, # 1302 + None, # 1303 + None, # 1304 + None, # 1305 + None, # 1306 + None, # 1307 + None, # 1308 + None, # 1309 + None, # 1310 + None, # 1311 + None, # 1312 + None, # 1313 + None, # 1314 + None, # 1315 + None, # 1316 + None, # 1317 + None, # 1318 + None, # 1319 + None, # 1320 + None, # 1321 + None, # 1322 + None, # 1323 + None, # 1324 + None, # 1325 + None, # 1326 + None, # 1327 + None, # 1328 + None, # 1329 + None, # 1330 + None, # 1331 + None, # 1332 + None, # 1333 + None, # 1334 + None, # 1335 + None, # 1336 + None, # 1337 + None, # 1338 + None, # 1339 + None, # 1340 + None, # 1341 + None, # 1342 + None, # 1343 + None, # 1344 + None, # 1345 + None, # 1346 + None, # 1347 + None, # 1348 + None, # 1349 + None, # 1350 + None, # 1351 + None, # 1352 + None, # 1353 + None, # 1354 + None, # 1355 + None, # 1356 + None, # 1357 + None, # 1358 + None, # 1359 + None, # 1360 + None, # 1361 + None, # 1362 + None, # 1363 + None, # 1364 + None, # 1365 + None, # 1366 + None, # 1367 + None, # 1368 + None, # 1369 + None, # 1370 + None, # 1371 + None, # 1372 + None, # 1373 + None, # 1374 + None, # 1375 + None, # 1376 + None, # 1377 + None, # 1378 + None, # 1379 + None, # 1380 + None, # 1381 + None, # 1382 + None, # 1383 + None, # 1384 + None, # 1385 + None, # 1386 + None, # 1387 + None, # 1388 + None, # 1389 + None, # 1390 + None, # 1391 + None, # 1392 + None, # 1393 + None, # 1394 + None, # 1395 + None, # 1396 + None, # 1397 + None, # 1398 + None, # 1399 + None, # 1400 + None, # 1401 + None, # 1402 + None, # 1403 + None, # 1404 + None, # 1405 + None, # 1406 + None, # 1407 + None, # 1408 + None, # 1409 + None, # 1410 + None, # 1411 + None, # 1412 + None, # 1413 + None, # 1414 + None, # 1415 + None, # 1416 + None, # 1417 + None, # 1418 + None, # 1419 + None, # 1420 + None, # 1421 + None, # 1422 + None, # 1423 + None, # 1424 + None, # 1425 + None, # 1426 + None, # 1427 + None, # 1428 + None, # 1429 + None, # 1430 + None, # 1431 + None, # 1432 + None, # 1433 + None, # 1434 + None, # 1435 + None, # 1436 + None, # 1437 + None, # 1438 + None, # 1439 + None, # 1440 + None, # 1441 + None, # 1442 + None, # 1443 + None, # 1444 + None, # 1445 + None, # 1446 + None, # 1447 + None, # 1448 + None, # 1449 + None, # 1450 + None, # 1451 + None, # 1452 + None, # 1453 + None, # 1454 + None, # 1455 + None, # 1456 + None, # 1457 + None, # 1458 + None, # 1459 + None, # 1460 + None, # 1461 + None, # 1462 + None, # 1463 + None, # 1464 + None, # 1465 + None, # 1466 + None, # 1467 + None, # 1468 + None, # 1469 + None, # 1470 + None, # 1471 + None, # 1472 + None, # 1473 + None, # 1474 + None, # 1475 + None, # 1476 + None, # 1477 + None, # 1478 + None, # 1479 + None, # 1480 + None, # 1481 + None, # 1482 + None, # 1483 + None, # 1484 + None, # 1485 + None, # 1486 + None, # 1487 + None, # 1488 + None, # 1489 + None, # 1490 + None, # 1491 + None, # 1492 + None, # 1493 + None, # 1494 + None, # 1495 + None, # 1496 + None, # 1497 + None, # 1498 + None, # 1499 + None, # 1500 + None, # 1501 + None, # 1502 + None, # 1503 + None, # 1504 + None, # 1505 + None, # 1506 + None, # 1507 + None, # 1508 + None, # 1509 + None, # 1510 + None, # 1511 + None, # 1512 + None, # 1513 + None, # 1514 + None, # 1515 + None, # 1516 + None, # 1517 + None, # 1518 + None, # 1519 + None, # 1520 + None, # 1521 + None, # 1522 + None, # 1523 + None, # 1524 + None, # 1525 + None, # 1526 + None, # 1527 + None, # 1528 + None, # 1529 + None, # 1530 + None, # 1531 + None, # 1532 + None, # 1533 + None, # 1534 + None, # 1535 + None, # 1536 + None, # 1537 + None, # 1538 + None, # 1539 + None, # 1540 + None, # 1541 + None, # 1542 + None, # 1543 + None, # 1544 + None, # 1545 + None, # 1546 + None, # 1547 + None, # 1548 + None, # 1549 + None, # 1550 + None, # 1551 + None, # 1552 + None, # 1553 + None, # 1554 + None, # 1555 + None, # 1556 + None, # 1557 + None, # 1558 + None, # 1559 + None, # 1560 + None, # 1561 + None, # 1562 + None, # 1563 + None, # 1564 + None, # 1565 + None, # 1566 + None, # 1567 + None, # 1568 + None, # 1569 + None, # 1570 + None, # 1571 + None, # 1572 + None, # 1573 + None, # 1574 + None, # 1575 + None, # 1576 + None, # 1577 + None, # 1578 + None, # 1579 + None, # 1580 + None, # 1581 + None, # 1582 + None, # 1583 + None, # 1584 + None, # 1585 + None, # 1586 + None, # 1587 + None, # 1588 + None, # 1589 + None, # 1590 + None, # 1591 + None, # 1592 + None, # 1593 + None, # 1594 + None, # 1595 + None, # 1596 + None, # 1597 + None, # 1598 + None, # 1599 + None, # 1600 + None, # 1601 + None, # 1602 + None, # 1603 + None, # 1604 + None, # 1605 + None, # 1606 + None, # 1607 + None, # 1608 + None, # 1609 + None, # 1610 + None, # 1611 + None, # 1612 + None, # 1613 + None, # 1614 + None, # 1615 + None, # 1616 + None, # 1617 + None, # 1618 + None, # 1619 + None, # 1620 + None, # 1621 + None, # 1622 + None, # 1623 + None, # 1624 + None, # 1625 + None, # 1626 + None, # 1627 + None, # 1628 + None, # 1629 + None, # 1630 + None, # 1631 + None, # 1632 + None, # 1633 + None, # 1634 + None, # 1635 + None, # 1636 + None, # 1637 + None, # 1638 + None, # 1639 + None, # 1640 + None, # 1641 + None, # 1642 + None, # 1643 + None, # 1644 + None, # 1645 + None, # 1646 + None, # 1647 + None, # 1648 + None, # 1649 + None, # 1650 + None, # 1651 + None, # 1652 + None, # 1653 + None, # 1654 + None, # 1655 + None, # 1656 + None, # 1657 + None, # 1658 + None, # 1659 + None, # 1660 + None, # 1661 + None, # 1662 + None, # 1663 + None, # 1664 + None, # 1665 + None, # 1666 + None, # 1667 + None, # 1668 + None, # 1669 + None, # 1670 + None, # 1671 + None, # 1672 + None, # 1673 + None, # 1674 + None, # 1675 + None, # 1676 + None, # 1677 + None, # 1678 + None, # 1679 + None, # 1680 + None, # 1681 + None, # 1682 + None, # 1683 + None, # 1684 + None, # 1685 + None, # 1686 + None, # 1687 + None, # 1688 + None, # 1689 + None, # 1690 + None, # 1691 + None, # 1692 + None, # 1693 + None, # 1694 + None, # 1695 + None, # 1696 + None, # 1697 + None, # 1698 + None, # 1699 + None, # 1700 + None, # 1701 + None, # 1702 + None, # 1703 + None, # 1704 + None, # 1705 + None, # 1706 + None, # 1707 + None, # 1708 + None, # 1709 + None, # 1710 + None, # 1711 + None, # 1712 + None, # 1713 + None, # 1714 + None, # 1715 + None, # 1716 + None, # 1717 + None, # 1718 + None, # 1719 + None, # 1720 + None, # 1721 + None, # 1722 + None, # 1723 + None, # 1724 + None, # 1725 + None, # 1726 + None, # 1727 + None, # 1728 + None, # 1729 + None, # 1730 + None, # 1731 + None, # 1732 + None, # 1733 + None, # 1734 + None, # 1735 + None, # 1736 + None, # 1737 + None, # 1738 + None, # 1739 + None, # 1740 + None, # 1741 + None, # 1742 + None, # 1743 + None, # 1744 + None, # 1745 + None, # 1746 + None, # 1747 + None, # 1748 + None, # 1749 + None, # 1750 + None, # 1751 + None, # 1752 + None, # 1753 + None, # 1754 + None, # 1755 + None, # 1756 + None, # 1757 + None, # 1758 + None, # 1759 + None, # 1760 + None, # 1761 + None, # 1762 + None, # 1763 + None, # 1764 + None, # 1765 + None, # 1766 + None, # 1767 + None, # 1768 + None, # 1769 + None, # 1770 + None, # 1771 + None, # 1772 + None, # 1773 + None, # 1774 + None, # 1775 + None, # 1776 + None, # 1777 + None, # 1778 + None, # 1779 + None, # 1780 + None, # 1781 + None, # 1782 + None, # 1783 + None, # 1784 + None, # 1785 + None, # 1786 + None, # 1787 + None, # 1788 + None, # 1789 + None, # 1790 + None, # 1791 + None, # 1792 + None, # 1793 + None, # 1794 + None, # 1795 + None, # 1796 + None, # 1797 + None, # 1798 + None, # 1799 + None, # 1800 + None, # 1801 + None, # 1802 + None, # 1803 + None, # 1804 + None, # 1805 + None, # 1806 + None, # 1807 + None, # 1808 + None, # 1809 + None, # 1810 + None, # 1811 + None, # 1812 + None, # 1813 + None, # 1814 + None, # 1815 + None, # 1816 + None, # 1817 + None, # 1818 + None, # 1819 + None, # 1820 + None, # 1821 + None, # 1822 + None, # 1823 + None, # 1824 + None, # 1825 + None, # 1826 + None, # 1827 + None, # 1828 + None, # 1829 + None, # 1830 + None, # 1831 + None, # 1832 + None, # 1833 + None, # 1834 + None, # 1835 + None, # 1836 + None, # 1837 + None, # 1838 + None, # 1839 + None, # 1840 + None, # 1841 + None, # 1842 + None, # 1843 + None, # 1844 + None, # 1845 + None, # 1846 + None, # 1847 + None, # 1848 + None, # 1849 + None, # 1850 + None, # 1851 + None, # 1852 + None, # 1853 + None, # 1854 + None, # 1855 + None, # 1856 + None, # 1857 + None, # 1858 + None, # 1859 + None, # 1860 + None, # 1861 + None, # 1862 + None, # 1863 + None, # 1864 + None, # 1865 + None, # 1866 + None, # 1867 + None, # 1868 + None, # 1869 + None, # 1870 + None, # 1871 + None, # 1872 + None, # 1873 + None, # 1874 + None, # 1875 + None, # 1876 + None, # 1877 + None, # 1878 + None, # 1879 + None, # 1880 + None, # 1881 + None, # 1882 + None, # 1883 + None, # 1884 + None, # 1885 + None, # 1886 + None, # 1887 + None, # 1888 + None, # 1889 + None, # 1890 + None, # 1891 + None, # 1892 + None, # 1893 + None, # 1894 + None, # 1895 + None, # 1896 + None, # 1897 + None, # 1898 + None, # 1899 + None, # 1900 + None, # 1901 + None, # 1902 + None, # 1903 + None, # 1904 + None, # 1905 + None, # 1906 + None, # 1907 + None, # 1908 + None, # 1909 + None, # 1910 + None, # 1911 + None, # 1912 + None, # 1913 + None, # 1914 + None, # 1915 + None, # 1916 + None, # 1917 + None, # 1918 + None, # 1919 + None, # 1920 + None, # 1921 + None, # 1922 + None, # 1923 + None, # 1924 + None, # 1925 + None, # 1926 + None, # 1927 + None, # 1928 + None, # 1929 + None, # 1930 + None, # 1931 + None, # 1932 + None, # 1933 + None, # 1934 + None, # 1935 + None, # 1936 + None, # 1937 + None, # 1938 + None, # 1939 + None, # 1940 + None, # 1941 + None, # 1942 + None, # 1943 + None, # 1944 + None, # 1945 + None, # 1946 + None, # 1947 + None, # 1948 + None, # 1949 + None, # 1950 + None, # 1951 + None, # 1952 + None, # 1953 + None, # 1954 + None, # 1955 + None, # 1956 + None, # 1957 + None, # 1958 + None, # 1959 + None, # 1960 + None, # 1961 + None, # 1962 + None, # 1963 + None, # 1964 + None, # 1965 + None, # 1966 + None, # 1967 + None, # 1968 + None, # 1969 + None, # 1970 + None, # 1971 + None, # 1972 + None, # 1973 + None, # 1974 + None, # 1975 + None, # 1976 + None, # 1977 + None, # 1978 + None, # 1979 + None, # 1980 + None, # 1981 + None, # 1982 + None, # 1983 + None, # 1984 + None, # 1985 + None, # 1986 + None, # 1987 + None, # 1988 + None, # 1989 + None, # 1990 + None, # 1991 + None, # 1992 + None, # 1993 + None, # 1994 + None, # 1995 + None, # 1996 + None, # 1997 + None, # 1998 + None, # 1999 + None, # 2000 + None, # 2001 + None, # 2002 + None, # 2003 + None, # 2004 + None, # 2005 + None, # 2006 + None, # 2007 + None, # 2008 + None, # 2009 + None, # 2010 + None, # 2011 + None, # 2012 + None, # 2013 + None, # 2014 + None, # 2015 + None, # 2016 + None, # 2017 + None, # 2018 + None, # 2019 + None, # 2020 + None, # 2021 + None, # 2022 + None, # 2023 + None, # 2024 + None, # 2025 + None, # 2026 + None, # 2027 + None, # 2028 + None, # 2029 + None, # 2030 + None, # 2031 + None, # 2032 + None, # 2033 + None, # 2034 + None, # 2035 + None, # 2036 + None, # 2037 + None, # 2038 + None, # 2039 + None, # 2040 + None, # 2041 + None, # 2042 + None, # 2043 + None, # 2044 + None, # 2045 + None, # 2046 + None, # 2047 + None, # 2048 + None, # 2049 + None, # 2050 + None, # 2051 + None, # 2052 + None, # 2053 + None, # 2054 + None, # 2055 + None, # 2056 + None, # 2057 + None, # 2058 + None, # 2059 + None, # 2060 + None, # 2061 + None, # 2062 + None, # 2063 + None, # 2064 + None, # 2065 + None, # 2066 + None, # 2067 + None, # 2068 + None, # 2069 + None, # 2070 + None, # 2071 + None, # 2072 + None, # 2073 + None, # 2074 + None, # 2075 + None, # 2076 + None, # 2077 + None, # 2078 + None, # 2079 + None, # 2080 + None, # 2081 + None, # 2082 + None, # 2083 + None, # 2084 + None, # 2085 + None, # 2086 + None, # 2087 + None, # 2088 + None, # 2089 + None, # 2090 + None, # 2091 + None, # 2092 + None, # 2093 + None, # 2094 + None, # 2095 + None, # 2096 + None, # 2097 + None, # 2098 + None, # 2099 + None, # 2100 + None, # 2101 + None, # 2102 + None, # 2103 + None, # 2104 + None, # 2105 + None, # 2106 + None, # 2107 + None, # 2108 + None, # 2109 + None, # 2110 + None, # 2111 + None, # 2112 + None, # 2113 + None, # 2114 + None, # 2115 + None, # 2116 + None, # 2117 + None, # 2118 + None, # 2119 + None, # 2120 + None, # 2121 + None, # 2122 + None, # 2123 + None, # 2124 + None, # 2125 + None, # 2126 + None, # 2127 + None, # 2128 + None, # 2129 + None, # 2130 + None, # 2131 + None, # 2132 + None, # 2133 + None, # 2134 + None, # 2135 + None, # 2136 + None, # 2137 + None, # 2138 + None, # 2139 + None, # 2140 + None, # 2141 + None, # 2142 + None, # 2143 + None, # 2144 + None, # 2145 + None, # 2146 + None, # 2147 + None, # 2148 + None, # 2149 + None, # 2150 + None, # 2151 + None, # 2152 + None, # 2153 + None, # 2154 + None, # 2155 + None, # 2156 + None, # 2157 + None, # 2158 + None, # 2159 + None, # 2160 + None, # 2161 + None, # 2162 + None, # 2163 + None, # 2164 + None, # 2165 + None, # 2166 + None, # 2167 + None, # 2168 + None, # 2169 + None, # 2170 + None, # 2171 + None, # 2172 + None, # 2173 + None, # 2174 + None, # 2175 + None, # 2176 + None, # 2177 + None, # 2178 + None, # 2179 + None, # 2180 + None, # 2181 + None, # 2182 + None, # 2183 + None, # 2184 + None, # 2185 + None, # 2186 + None, # 2187 + None, # 2188 + None, # 2189 + None, # 2190 + None, # 2191 + None, # 2192 + None, # 2193 + None, # 2194 + None, # 2195 + None, # 2196 + None, # 2197 + None, # 2198 + None, # 2199 + None, # 2200 + None, # 2201 + None, # 2202 + None, # 2203 + None, # 2204 + None, # 2205 + None, # 2206 + None, # 2207 + None, # 2208 + None, # 2209 + None, # 2210 + None, # 2211 + None, # 2212 + None, # 2213 + None, # 2214 + None, # 2215 + None, # 2216 + None, # 2217 + None, # 2218 + None, # 2219 + None, # 2220 + None, # 2221 + None, # 2222 + None, # 2223 + None, # 2224 + None, # 2225 + None, # 2226 + None, # 2227 + None, # 2228 + None, # 2229 + None, # 2230 + None, # 2231 + None, # 2232 + None, # 2233 + None, # 2234 + None, # 2235 + None, # 2236 + None, # 2237 + None, # 2238 + None, # 2239 + None, # 2240 + None, # 2241 + None, # 2242 + None, # 2243 + None, # 2244 + None, # 2245 + None, # 2246 + None, # 2247 + None, # 2248 + None, # 2249 + None, # 2250 + None, # 2251 + None, # 2252 + None, # 2253 + None, # 2254 + None, # 2255 + None, # 2256 + None, # 2257 + None, # 2258 + None, # 2259 + None, # 2260 + None, # 2261 + None, # 2262 + None, # 2263 + None, # 2264 + None, # 2265 + None, # 2266 + None, # 2267 + None, # 2268 + None, # 2269 + None, # 2270 + None, # 2271 + None, # 2272 + None, # 2273 + None, # 2274 + None, # 2275 + None, # 2276 + None, # 2277 + None, # 2278 + None, # 2279 + None, # 2280 + None, # 2281 + None, # 2282 + None, # 2283 + None, # 2284 + None, # 2285 + None, # 2286 + None, # 2287 + None, # 2288 + None, # 2289 + None, # 2290 + None, # 2291 + None, # 2292 + None, # 2293 + None, # 2294 + None, # 2295 + None, # 2296 + None, # 2297 + None, # 2298 + None, # 2299 + None, # 2300 + None, # 2301 + None, # 2302 + None, # 2303 + None, # 2304 + None, # 2305 + None, # 2306 + None, # 2307 + None, # 2308 + None, # 2309 + None, # 2310 + None, # 2311 + None, # 2312 + None, # 2313 + None, # 2314 + None, # 2315 + None, # 2316 + None, # 2317 + None, # 2318 + None, # 2319 + None, # 2320 + None, # 2321 + None, # 2322 + None, # 2323 + None, # 2324 + None, # 2325 + None, # 2326 + None, # 2327 + None, # 2328 + None, # 2329 + None, # 2330 + None, # 2331 + None, # 2332 + None, # 2333 + None, # 2334 + None, # 2335 + None, # 2336 + None, # 2337 + None, # 2338 + None, # 2339 + None, # 2340 + None, # 2341 + None, # 2342 + None, # 2343 + None, # 2344 + None, # 2345 + None, # 2346 + None, # 2347 + None, # 2348 + None, # 2349 + None, # 2350 + None, # 2351 + None, # 2352 + None, # 2353 + None, # 2354 + None, # 2355 + None, # 2356 + None, # 2357 + None, # 2358 + None, # 2359 + None, # 2360 + None, # 2361 + None, # 2362 + None, # 2363 + None, # 2364 + None, # 2365 + None, # 2366 + None, # 2367 + None, # 2368 + None, # 2369 + None, # 2370 + None, # 2371 + None, # 2372 + None, # 2373 + None, # 2374 + None, # 2375 + None, # 2376 + None, # 2377 + None, # 2378 + None, # 2379 + None, # 2380 + None, # 2381 + None, # 2382 + None, # 2383 + None, # 2384 + None, # 2385 + None, # 2386 + None, # 2387 + None, # 2388 + None, # 2389 + None, # 2390 + None, # 2391 + None, # 2392 + None, # 2393 + None, # 2394 + None, # 2395 + None, # 2396 + None, # 2397 + None, # 2398 + None, # 2399 + None, # 2400 + None, # 2401 + None, # 2402 + None, # 2403 + None, # 2404 + None, # 2405 + None, # 2406 + None, # 2407 + None, # 2408 + None, # 2409 + None, # 2410 + None, # 2411 + None, # 2412 + None, # 2413 + None, # 2414 + None, # 2415 + None, # 2416 + None, # 2417 + None, # 2418 + None, # 2419 + None, # 2420 + None, # 2421 + None, # 2422 + None, # 2423 + None, # 2424 + None, # 2425 + None, # 2426 + None, # 2427 + None, # 2428 + None, # 2429 + None, # 2430 + None, # 2431 + None, # 2432 + None, # 2433 + None, # 2434 + None, # 2435 + None, # 2436 + None, # 2437 + None, # 2438 + None, # 2439 + None, # 2440 + None, # 2441 + None, # 2442 + None, # 2443 + None, # 2444 + None, # 2445 + None, # 2446 + None, # 2447 + None, # 2448 + None, # 2449 + None, # 2450 + None, # 2451 + None, # 2452 + None, # 2453 + None, # 2454 + None, # 2455 + None, # 2456 + None, # 2457 + None, # 2458 + None, # 2459 + None, # 2460 + None, # 2461 + None, # 2462 + None, # 2463 + None, # 2464 + None, # 2465 + None, # 2466 + None, # 2467 + None, # 2468 + None, # 2469 + None, # 2470 + None, # 2471 + None, # 2472 + None, # 2473 + None, # 2474 + None, # 2475 + None, # 2476 + None, # 2477 + None, # 2478 + None, # 2479 + None, # 2480 + None, # 2481 + None, # 2482 + None, # 2483 + None, # 2484 + None, # 2485 + None, # 2486 + None, # 2487 + None, # 2488 + None, # 2489 + None, # 2490 + None, # 2491 + None, # 2492 + None, # 2493 + None, # 2494 + None, # 2495 + None, # 2496 + None, # 2497 + None, # 2498 + None, # 2499 + None, # 2500 + None, # 2501 + None, # 2502 + None, # 2503 + None, # 2504 + None, # 2505 + None, # 2506 + None, # 2507 + None, # 2508 + None, # 2509 + None, # 2510 + None, # 2511 + None, # 2512 + None, # 2513 + None, # 2514 + None, # 2515 + None, # 2516 + None, # 2517 + None, # 2518 + None, # 2519 + None, # 2520 + None, # 2521 + None, # 2522 + None, # 2523 + None, # 2524 + None, # 2525 + None, # 2526 + None, # 2527 + None, # 2528 + None, # 2529 + None, # 2530 + None, # 2531 + None, # 2532 + None, # 2533 + None, # 2534 + None, # 2535 + None, # 2536 + None, # 2537 + None, # 2538 + None, # 2539 + None, # 2540 + None, # 2541 + None, # 2542 + None, # 2543 + None, # 2544 + None, # 2545 + None, # 2546 + None, # 2547 + None, # 2548 + None, # 2549 + None, # 2550 + None, # 2551 + None, # 2552 + None, # 2553 + None, # 2554 + None, # 2555 + None, # 2556 + None, # 2557 + None, # 2558 + None, # 2559 + None, # 2560 + None, # 2561 + None, # 2562 + None, # 2563 + None, # 2564 + None, # 2565 + None, # 2566 + None, # 2567 + None, # 2568 + None, # 2569 + None, # 2570 + None, # 2571 + None, # 2572 + None, # 2573 + None, # 2574 + None, # 2575 + None, # 2576 + None, # 2577 + None, # 2578 + None, # 2579 + None, # 2580 + None, # 2581 + None, # 2582 + None, # 2583 + None, # 2584 + None, # 2585 + None, # 2586 + None, # 2587 + None, # 2588 + None, # 2589 + None, # 2590 + None, # 2591 + None, # 2592 + None, # 2593 + None, # 2594 + None, # 2595 + None, # 2596 + None, # 2597 + None, # 2598 + None, # 2599 + None, # 2600 + None, # 2601 + None, # 2602 + None, # 2603 + None, # 2604 + None, # 2605 + None, # 2606 + None, # 2607 + None, # 2608 + None, # 2609 + None, # 2610 + None, # 2611 + None, # 2612 + None, # 2613 + None, # 2614 + None, # 2615 + None, # 2616 + None, # 2617 + None, # 2618 + None, # 2619 + None, # 2620 + None, # 2621 + None, # 2622 + None, # 2623 + None, # 2624 + None, # 2625 + None, # 2626 + None, # 2627 + None, # 2628 + None, # 2629 + None, # 2630 + None, # 2631 + None, # 2632 + None, # 2633 + None, # 2634 + None, # 2635 + None, # 2636 + None, # 2637 + None, # 2638 + None, # 2639 + None, # 2640 + None, # 2641 + None, # 2642 + None, # 2643 + None, # 2644 + None, # 2645 + None, # 2646 + None, # 2647 + None, # 2648 + None, # 2649 + None, # 2650 + None, # 2651 + None, # 2652 + None, # 2653 + None, # 2654 + None, # 2655 + None, # 2656 + None, # 2657 + None, # 2658 + None, # 2659 + None, # 2660 + None, # 2661 + None, # 2662 + None, # 2663 + None, # 2664 + None, # 2665 + None, # 2666 + None, # 2667 + None, # 2668 + None, # 2669 + None, # 2670 + None, # 2671 + None, # 2672 + None, # 2673 + None, # 2674 + None, # 2675 + None, # 2676 + None, # 2677 + None, # 2678 + None, # 2679 + None, # 2680 + None, # 2681 + None, # 2682 + None, # 2683 + None, # 2684 + None, # 2685 + None, # 2686 + None, # 2687 + None, # 2688 + None, # 2689 + None, # 2690 + None, # 2691 + None, # 2692 + None, # 2693 + None, # 2694 + None, # 2695 + None, # 2696 + None, # 2697 + None, # 2698 + None, # 2699 + None, # 2700 + None, # 2701 + None, # 2702 + None, # 2703 + None, # 2704 + None, # 2705 + None, # 2706 + None, # 2707 + None, # 2708 + None, # 2709 + None, # 2710 + None, # 2711 + None, # 2712 + None, # 2713 + None, # 2714 + None, # 2715 + None, # 2716 + None, # 2717 + None, # 2718 + None, # 2719 + None, # 2720 + None, # 2721 + None, # 2722 + None, # 2723 + None, # 2724 + None, # 2725 + None, # 2726 + None, # 2727 + None, # 2728 + None, # 2729 + None, # 2730 + None, # 2731 + None, # 2732 + None, # 2733 + None, # 2734 + None, # 2735 + None, # 2736 + None, # 2737 + None, # 2738 + None, # 2739 + None, # 2740 + None, # 2741 + None, # 2742 + None, # 2743 + None, # 2744 + None, # 2745 + None, # 2746 + None, # 2747 + None, # 2748 + None, # 2749 + None, # 2750 + None, # 2751 + None, # 2752 + None, # 2753 + None, # 2754 + None, # 2755 + None, # 2756 + None, # 2757 + None, # 2758 + None, # 2759 + None, # 2760 + None, # 2761 + None, # 2762 + None, # 2763 + None, # 2764 + None, # 2765 + None, # 2766 + None, # 2767 + None, # 2768 + None, # 2769 + None, # 2770 + None, # 2771 + None, # 2772 + None, # 2773 + None, # 2774 + None, # 2775 + None, # 2776 + None, # 2777 + None, # 2778 + None, # 2779 + None, # 2780 + None, # 2781 + None, # 2782 + None, # 2783 + None, # 2784 + None, # 2785 + None, # 2786 + None, # 2787 + None, # 2788 + None, # 2789 + None, # 2790 + None, # 2791 + None, # 2792 + None, # 2793 + None, # 2794 + None, # 2795 + None, # 2796 + None, # 2797 + None, # 2798 + None, # 2799 + None, # 2800 + None, # 2801 + None, # 2802 + None, # 2803 + None, # 2804 + None, # 2805 + None, # 2806 + None, # 2807 + None, # 2808 + None, # 2809 + None, # 2810 + None, # 2811 + None, # 2812 + None, # 2813 + None, # 2814 + None, # 2815 + None, # 2816 + None, # 2817 + None, # 2818 + None, # 2819 + None, # 2820 + None, # 2821 + None, # 2822 + None, # 2823 + None, # 2824 + None, # 2825 + None, # 2826 + None, # 2827 + None, # 2828 + None, # 2829 + None, # 2830 + None, # 2831 + None, # 2832 + None, # 2833 + None, # 2834 + None, # 2835 + None, # 2836 + None, # 2837 + None, # 2838 + None, # 2839 + None, # 2840 + None, # 2841 + None, # 2842 + None, # 2843 + None, # 2844 + None, # 2845 + None, # 2846 + None, # 2847 + None, # 2848 + None, # 2849 + None, # 2850 + None, # 2851 + None, # 2852 + None, # 2853 + None, # 2854 + None, # 2855 + None, # 2856 + None, # 2857 + None, # 2858 + None, # 2859 + None, # 2860 + None, # 2861 + None, # 2862 + None, # 2863 + None, # 2864 + None, # 2865 + None, # 2866 + None, # 2867 + None, # 2868 + None, # 2869 + None, # 2870 + None, # 2871 + None, # 2872 + None, # 2873 + None, # 2874 + None, # 2875 + None, # 2876 + None, # 2877 + None, # 2878 + None, # 2879 + None, # 2880 + None, # 2881 + None, # 2882 + None, # 2883 + None, # 2884 + None, # 2885 + None, # 2886 + None, # 2887 + None, # 2888 + None, # 2889 + None, # 2890 + None, # 2891 + None, # 2892 + None, # 2893 + None, # 2894 + None, # 2895 + None, # 2896 + None, # 2897 + None, # 2898 + None, # 2899 + None, # 2900 + None, # 2901 + None, # 2902 + None, # 2903 + None, # 2904 + None, # 2905 + None, # 2906 + None, # 2907 + None, # 2908 + None, # 2909 + None, # 2910 + None, # 2911 + None, # 2912 + None, # 2913 + None, # 2914 + None, # 2915 + None, # 2916 + None, # 2917 + None, # 2918 + None, # 2919 + None, # 2920 + None, # 2921 + None, # 2922 + None, # 2923 + None, # 2924 + None, # 2925 + None, # 2926 + None, # 2927 + None, # 2928 + None, # 2929 + None, # 2930 + None, # 2931 + None, # 2932 + None, # 2933 + None, # 2934 + None, # 2935 + None, # 2936 + None, # 2937 + None, # 2938 + None, # 2939 + None, # 2940 + None, # 2941 + None, # 2942 + None, # 2943 + None, # 2944 + None, # 2945 + None, # 2946 + None, # 2947 + None, # 2948 + None, # 2949 + None, # 2950 + None, # 2951 + None, # 2952 + None, # 2953 + None, # 2954 + None, # 2955 + None, # 2956 + None, # 2957 + None, # 2958 + None, # 2959 + None, # 2960 + None, # 2961 + None, # 2962 + None, # 2963 + None, # 2964 + None, # 2965 + None, # 2966 + None, # 2967 + None, # 2968 + None, # 2969 + None, # 2970 + None, # 2971 + None, # 2972 + None, # 2973 + None, # 2974 + None, # 2975 + None, # 2976 + None, # 2977 + None, # 2978 + None, # 2979 + None, # 2980 + None, # 2981 + None, # 2982 + None, # 2983 + None, # 2984 + None, # 2985 + None, # 2986 + None, # 2987 + None, # 2988 + None, # 2989 + None, # 2990 + None, # 2991 + None, # 2992 + None, # 2993 + None, # 2994 + None, # 2995 + None, # 2996 + None, # 2997 + None, # 2998 + None, # 2999 + None, # 3000 + None, # 3001 + None, # 3002 + None, # 3003 + None, # 3004 + None, # 3005 + None, # 3006 + None, # 3007 + None, # 3008 + None, # 3009 + None, # 3010 + None, # 3011 + None, # 3012 + None, # 3013 + None, # 3014 + None, # 3015 + None, # 3016 + None, # 3017 + None, # 3018 + None, # 3019 + None, # 3020 + None, # 3021 + None, # 3022 + None, # 3023 + None, # 3024 + None, # 3025 + None, # 3026 + None, # 3027 + None, # 3028 + None, # 3029 + None, # 3030 + None, # 3031 + None, # 3032 + None, # 3033 + None, # 3034 + None, # 3035 + None, # 3036 + None, # 3037 + None, # 3038 + None, # 3039 + None, # 3040 + None, # 3041 + None, # 3042 + None, # 3043 + None, # 3044 + None, # 3045 + None, # 3046 + None, # 3047 + None, # 3048 + None, # 3049 + None, # 3050 + None, # 3051 + None, # 3052 + None, # 3053 + None, # 3054 + None, # 3055 + None, # 3056 + None, # 3057 + None, # 3058 + None, # 3059 + None, # 3060 + None, # 3061 + None, # 3062 + None, # 3063 + None, # 3064 + None, # 3065 + None, # 3066 + None, # 3067 + None, # 3068 + None, # 3069 + None, # 3070 + None, # 3071 + None, # 3072 + None, # 3073 + None, # 3074 + None, # 3075 + None, # 3076 + None, # 3077 + None, # 3078 + None, # 3079 + None, # 3080 + None, # 3081 + None, # 3082 + None, # 3083 + None, # 3084 + None, # 3085 + None, # 3086 + None, # 3087 + None, # 3088 + None, # 3089 + None, # 3090 + None, # 3091 + None, # 3092 + None, # 3093 + None, # 3094 + None, # 3095 + None, # 3096 + None, # 3097 + None, # 3098 + None, # 3099 + None, # 3100 + None, # 3101 + None, # 3102 + None, # 3103 + None, # 3104 + None, # 3105 + None, # 3106 + None, # 3107 + None, # 3108 + None, # 3109 + None, # 3110 + None, # 3111 + None, # 3112 + None, # 3113 + None, # 3114 + None, # 3115 + None, # 3116 + None, # 3117 + None, # 3118 + None, # 3119 + None, # 3120 + None, # 3121 + None, # 3122 + None, # 3123 + None, # 3124 + None, # 3125 + None, # 3126 + None, # 3127 + None, # 3128 + None, # 3129 + None, # 3130 + None, # 3131 + None, # 3132 + None, # 3133 + None, # 3134 + None, # 3135 + None, # 3136 + None, # 3137 + None, # 3138 + None, # 3139 + None, # 3140 + None, # 3141 + None, # 3142 + None, # 3143 + None, # 3144 + None, # 3145 + None, # 3146 + None, # 3147 + None, # 3148 + None, # 3149 + None, # 3150 + None, # 3151 + None, # 3152 + None, # 3153 + None, # 3154 + None, # 3155 + None, # 3156 + None, # 3157 + None, # 3158 + None, # 3159 + None, # 3160 + None, # 3161 + None, # 3162 + None, # 3163 + None, # 3164 + None, # 3165 + None, # 3166 + None, # 3167 + None, # 3168 + None, # 3169 + None, # 3170 + None, # 3171 + None, # 3172 + None, # 3173 + None, # 3174 + None, # 3175 + None, # 3176 + None, # 3177 + None, # 3178 + None, # 3179 + None, # 3180 + None, # 3181 + None, # 3182 + None, # 3183 + None, # 3184 + None, # 3185 + None, # 3186 + None, # 3187 + None, # 3188 + None, # 3189 + None, # 3190 + None, # 3191 + None, # 3192 + None, # 3193 + None, # 3194 + None, # 3195 + None, # 3196 + None, # 3197 + None, # 3198 + None, # 3199 + None, # 3200 + None, # 3201 + None, # 3202 + None, # 3203 + None, # 3204 + None, # 3205 + None, # 3206 + None, # 3207 + None, # 3208 + None, # 3209 + None, # 3210 + None, # 3211 + None, # 3212 + None, # 3213 + None, # 3214 + None, # 3215 + None, # 3216 + None, # 3217 + None, # 3218 + None, # 3219 + None, # 3220 + None, # 3221 + None, # 3222 + None, # 3223 + None, # 3224 + None, # 3225 + None, # 3226 + None, # 3227 + None, # 3228 + None, # 3229 + None, # 3230 + None, # 3231 + None, # 3232 + None, # 3233 + None, # 3234 + None, # 3235 + None, # 3236 + None, # 3237 + None, # 3238 + None, # 3239 + None, # 3240 + None, # 3241 + None, # 3242 + None, # 3243 + None, # 3244 + None, # 3245 + None, # 3246 + None, # 3247 + None, # 3248 + None, # 3249 + None, # 3250 + None, # 3251 + None, # 3252 + None, # 3253 + None, # 3254 + None, # 3255 + None, # 3256 + None, # 3257 + None, # 3258 + None, # 3259 + None, # 3260 + None, # 3261 + None, # 3262 + None, # 3263 + None, # 3264 + None, # 3265 + None, # 3266 + None, # 3267 + None, # 3268 + None, # 3269 + None, # 3270 + None, # 3271 + None, # 3272 + None, # 3273 + None, # 3274 + None, # 3275 + None, # 3276 + None, # 3277 + None, # 3278 + None, # 3279 + None, # 3280 + None, # 3281 + None, # 3282 + None, # 3283 + None, # 3284 + None, # 3285 + None, # 3286 + None, # 3287 + None, # 3288 + None, # 3289 + None, # 3290 + None, # 3291 + None, # 3292 + None, # 3293 + None, # 3294 + None, # 3295 + None, # 3296 + None, # 3297 + None, # 3298 + None, # 3299 + None, # 3300 + None, # 3301 + None, # 3302 + None, # 3303 + None, # 3304 + None, # 3305 + None, # 3306 + None, # 3307 + None, # 3308 + None, # 3309 + None, # 3310 + None, # 3311 + None, # 3312 + None, # 3313 + None, # 3314 + None, # 3315 + None, # 3316 + None, # 3317 + None, # 3318 + None, # 3319 + None, # 3320 + None, # 3321 + None, # 3322 + None, # 3323 + None, # 3324 + None, # 3325 + None, # 3326 + None, # 3327 + None, # 3328 + (3329, TType.STRUCT, 'operationId', [THandleIdentifier, None], None, ), # 3329 + (3330, TType.STRUCT, 'sessionConf', [TDBSqlSessionConf, None], None, ), # 3330 ) all_structs.append(TGetTableTypesResp) TGetTableTypesResp.thrift_spec = ( - None, # 0 - ( - 1, - TType.STRUCT, - "status", - [TStatus, None], - None, - ), # 1 - ( - 2, - TType.STRUCT, - "operationHandle", - [TOperationHandle, None], - None, - ), # 2 - None, # 3 - None, # 4 - None, # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - ( - 1281, - TType.STRUCT, - "directResults", - [TSparkDirectResults, None], - None, - ), # 1281 + None, # 0 + (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 + (2, TType.STRUCT, 'operationHandle', [TOperationHandle, None], None, ), # 2 + None, # 3 + None, # 4 + None, # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + (1281, TType.STRUCT, 'directResults', [TSparkDirectResults, None], None, ), # 1281 ) all_structs.append(TGetColumnsReq) TGetColumnsReq.thrift_spec = ( - None, # 0 - ( - 1, - TType.STRUCT, - "sessionHandle", - [TSessionHandle, None], - None, - ), # 1 - ( - 2, - TType.STRING, - "catalogName", - "UTF8", - None, - ), # 2 - ( - 3, - TType.STRING, - "schemaName", - "UTF8", - None, - ), # 3 - ( - 4, - TType.STRING, - "tableName", - "UTF8", - None, - ), # 4 - ( - 5, - TType.STRING, - "columnName", - "UTF8", - None, - ), # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - ( - 1281, - TType.STRUCT, - "getDirectResults", - [TSparkGetDirectResults, None], - None, - ), # 1281 - ( - 1282, - TType.BOOL, - "runAsync", - None, - False, - ), # 1282 - None, # 1283 - None, # 1284 - None, # 1285 - None, # 1286 - None, # 1287 - None, # 1288 - None, # 1289 - None, # 1290 - None, # 1291 - None, # 1292 - None, # 1293 - None, # 1294 - None, # 1295 - None, # 1296 - None, # 1297 - None, # 1298 - None, # 1299 - None, # 1300 - None, # 1301 - None, # 1302 - None, # 1303 - None, # 1304 - None, # 1305 - None, # 1306 - None, # 1307 - None, # 1308 - None, # 1309 - None, # 1310 - None, # 1311 - None, # 1312 - None, # 1313 - None, # 1314 - None, # 1315 - None, # 1316 - None, # 1317 - None, # 1318 - None, # 1319 - None, # 1320 - None, # 1321 - None, # 1322 - None, # 1323 - None, # 1324 - None, # 1325 - None, # 1326 - None, # 1327 - None, # 1328 - None, # 1329 - None, # 1330 - None, # 1331 - None, # 1332 - None, # 1333 - None, # 1334 - None, # 1335 - None, # 1336 - None, # 1337 - None, # 1338 - None, # 1339 - None, # 1340 - None, # 1341 - None, # 1342 - None, # 1343 - None, # 1344 - None, # 1345 - None, # 1346 - None, # 1347 - None, # 1348 - None, # 1349 - None, # 1350 - None, # 1351 - None, # 1352 - None, # 1353 - None, # 1354 - None, # 1355 - None, # 1356 - None, # 1357 - None, # 1358 - None, # 1359 - None, # 1360 - None, # 1361 - None, # 1362 - None, # 1363 - None, # 1364 - None, # 1365 - None, # 1366 - None, # 1367 - None, # 1368 - None, # 1369 - None, # 1370 - None, # 1371 - None, # 1372 - None, # 1373 - None, # 1374 - None, # 1375 - None, # 1376 - None, # 1377 - None, # 1378 - None, # 1379 - None, # 1380 - None, # 1381 - None, # 1382 - None, # 1383 - None, # 1384 - None, # 1385 - None, # 1386 - None, # 1387 - None, # 1388 - None, # 1389 - None, # 1390 - None, # 1391 - None, # 1392 - None, # 1393 - None, # 1394 - None, # 1395 - None, # 1396 - None, # 1397 - None, # 1398 - None, # 1399 - None, # 1400 - None, # 1401 - None, # 1402 - None, # 1403 - None, # 1404 - None, # 1405 - None, # 1406 - None, # 1407 - None, # 1408 - None, # 1409 - None, # 1410 - None, # 1411 - None, # 1412 - None, # 1413 - None, # 1414 - None, # 1415 - None, # 1416 - None, # 1417 - None, # 1418 - None, # 1419 - None, # 1420 - None, # 1421 - None, # 1422 - None, # 1423 - None, # 1424 - None, # 1425 - None, # 1426 - None, # 1427 - None, # 1428 - None, # 1429 - None, # 1430 - None, # 1431 - None, # 1432 - None, # 1433 - None, # 1434 - None, # 1435 - None, # 1436 - None, # 1437 - None, # 1438 - None, # 1439 - None, # 1440 - None, # 1441 - None, # 1442 - None, # 1443 - None, # 1444 - None, # 1445 - None, # 1446 - None, # 1447 - None, # 1448 - None, # 1449 - None, # 1450 - None, # 1451 - None, # 1452 - None, # 1453 - None, # 1454 - None, # 1455 - None, # 1456 - None, # 1457 - None, # 1458 - None, # 1459 - None, # 1460 - None, # 1461 - None, # 1462 - None, # 1463 - None, # 1464 - None, # 1465 - None, # 1466 - None, # 1467 - None, # 1468 - None, # 1469 - None, # 1470 - None, # 1471 - None, # 1472 - None, # 1473 - None, # 1474 - None, # 1475 - None, # 1476 - None, # 1477 - None, # 1478 - None, # 1479 - None, # 1480 - None, # 1481 - None, # 1482 - None, # 1483 - None, # 1484 - None, # 1485 - None, # 1486 - None, # 1487 - None, # 1488 - None, # 1489 - None, # 1490 - None, # 1491 - None, # 1492 - None, # 1493 - None, # 1494 - None, # 1495 - None, # 1496 - None, # 1497 - None, # 1498 - None, # 1499 - None, # 1500 - None, # 1501 - None, # 1502 - None, # 1503 - None, # 1504 - None, # 1505 - None, # 1506 - None, # 1507 - None, # 1508 - None, # 1509 - None, # 1510 - None, # 1511 - None, # 1512 - None, # 1513 - None, # 1514 - None, # 1515 - None, # 1516 - None, # 1517 - None, # 1518 - None, # 1519 - None, # 1520 - None, # 1521 - None, # 1522 - None, # 1523 - None, # 1524 - None, # 1525 - None, # 1526 - None, # 1527 - None, # 1528 - None, # 1529 - None, # 1530 - None, # 1531 - None, # 1532 - None, # 1533 - None, # 1534 - None, # 1535 - None, # 1536 - None, # 1537 - None, # 1538 - None, # 1539 - None, # 1540 - None, # 1541 - None, # 1542 - None, # 1543 - None, # 1544 - None, # 1545 - None, # 1546 - None, # 1547 - None, # 1548 - None, # 1549 - None, # 1550 - None, # 1551 - None, # 1552 - None, # 1553 - None, # 1554 - None, # 1555 - None, # 1556 - None, # 1557 - None, # 1558 - None, # 1559 - None, # 1560 - None, # 1561 - None, # 1562 - None, # 1563 - None, # 1564 - None, # 1565 - None, # 1566 - None, # 1567 - None, # 1568 - None, # 1569 - None, # 1570 - None, # 1571 - None, # 1572 - None, # 1573 - None, # 1574 - None, # 1575 - None, # 1576 - None, # 1577 - None, # 1578 - None, # 1579 - None, # 1580 - None, # 1581 - None, # 1582 - None, # 1583 - None, # 1584 - None, # 1585 - None, # 1586 - None, # 1587 - None, # 1588 - None, # 1589 - None, # 1590 - None, # 1591 - None, # 1592 - None, # 1593 - None, # 1594 - None, # 1595 - None, # 1596 - None, # 1597 - None, # 1598 - None, # 1599 - None, # 1600 - None, # 1601 - None, # 1602 - None, # 1603 - None, # 1604 - None, # 1605 - None, # 1606 - None, # 1607 - None, # 1608 - None, # 1609 - None, # 1610 - None, # 1611 - None, # 1612 - None, # 1613 - None, # 1614 - None, # 1615 - None, # 1616 - None, # 1617 - None, # 1618 - None, # 1619 - None, # 1620 - None, # 1621 - None, # 1622 - None, # 1623 - None, # 1624 - None, # 1625 - None, # 1626 - None, # 1627 - None, # 1628 - None, # 1629 - None, # 1630 - None, # 1631 - None, # 1632 - None, # 1633 - None, # 1634 - None, # 1635 - None, # 1636 - None, # 1637 - None, # 1638 - None, # 1639 - None, # 1640 - None, # 1641 - None, # 1642 - None, # 1643 - None, # 1644 - None, # 1645 - None, # 1646 - None, # 1647 - None, # 1648 - None, # 1649 - None, # 1650 - None, # 1651 - None, # 1652 - None, # 1653 - None, # 1654 - None, # 1655 - None, # 1656 - None, # 1657 - None, # 1658 - None, # 1659 - None, # 1660 - None, # 1661 - None, # 1662 - None, # 1663 - None, # 1664 - None, # 1665 - None, # 1666 - None, # 1667 - None, # 1668 - None, # 1669 - None, # 1670 - None, # 1671 - None, # 1672 - None, # 1673 - None, # 1674 - None, # 1675 - None, # 1676 - None, # 1677 - None, # 1678 - None, # 1679 - None, # 1680 - None, # 1681 - None, # 1682 - None, # 1683 - None, # 1684 - None, # 1685 - None, # 1686 - None, # 1687 - None, # 1688 - None, # 1689 - None, # 1690 - None, # 1691 - None, # 1692 - None, # 1693 - None, # 1694 - None, # 1695 - None, # 1696 - None, # 1697 - None, # 1698 - None, # 1699 - None, # 1700 - None, # 1701 - None, # 1702 - None, # 1703 - None, # 1704 - None, # 1705 - None, # 1706 - None, # 1707 - None, # 1708 - None, # 1709 - None, # 1710 - None, # 1711 - None, # 1712 - None, # 1713 - None, # 1714 - None, # 1715 - None, # 1716 - None, # 1717 - None, # 1718 - None, # 1719 - None, # 1720 - None, # 1721 - None, # 1722 - None, # 1723 - None, # 1724 - None, # 1725 - None, # 1726 - None, # 1727 - None, # 1728 - None, # 1729 - None, # 1730 - None, # 1731 - None, # 1732 - None, # 1733 - None, # 1734 - None, # 1735 - None, # 1736 - None, # 1737 - None, # 1738 - None, # 1739 - None, # 1740 - None, # 1741 - None, # 1742 - None, # 1743 - None, # 1744 - None, # 1745 - None, # 1746 - None, # 1747 - None, # 1748 - None, # 1749 - None, # 1750 - None, # 1751 - None, # 1752 - None, # 1753 - None, # 1754 - None, # 1755 - None, # 1756 - None, # 1757 - None, # 1758 - None, # 1759 - None, # 1760 - None, # 1761 - None, # 1762 - None, # 1763 - None, # 1764 - None, # 1765 - None, # 1766 - None, # 1767 - None, # 1768 - None, # 1769 - None, # 1770 - None, # 1771 - None, # 1772 - None, # 1773 - None, # 1774 - None, # 1775 - None, # 1776 - None, # 1777 - None, # 1778 - None, # 1779 - None, # 1780 - None, # 1781 - None, # 1782 - None, # 1783 - None, # 1784 - None, # 1785 - None, # 1786 - None, # 1787 - None, # 1788 - None, # 1789 - None, # 1790 - None, # 1791 - None, # 1792 - None, # 1793 - None, # 1794 - None, # 1795 - None, # 1796 - None, # 1797 - None, # 1798 - None, # 1799 - None, # 1800 - None, # 1801 - None, # 1802 - None, # 1803 - None, # 1804 - None, # 1805 - None, # 1806 - None, # 1807 - None, # 1808 - None, # 1809 - None, # 1810 - None, # 1811 - None, # 1812 - None, # 1813 - None, # 1814 - None, # 1815 - None, # 1816 - None, # 1817 - None, # 1818 - None, # 1819 - None, # 1820 - None, # 1821 - None, # 1822 - None, # 1823 - None, # 1824 - None, # 1825 - None, # 1826 - None, # 1827 - None, # 1828 - None, # 1829 - None, # 1830 - None, # 1831 - None, # 1832 - None, # 1833 - None, # 1834 - None, # 1835 - None, # 1836 - None, # 1837 - None, # 1838 - None, # 1839 - None, # 1840 - None, # 1841 - None, # 1842 - None, # 1843 - None, # 1844 - None, # 1845 - None, # 1846 - None, # 1847 - None, # 1848 - None, # 1849 - None, # 1850 - None, # 1851 - None, # 1852 - None, # 1853 - None, # 1854 - None, # 1855 - None, # 1856 - None, # 1857 - None, # 1858 - None, # 1859 - None, # 1860 - None, # 1861 - None, # 1862 - None, # 1863 - None, # 1864 - None, # 1865 - None, # 1866 - None, # 1867 - None, # 1868 - None, # 1869 - None, # 1870 - None, # 1871 - None, # 1872 - None, # 1873 - None, # 1874 - None, # 1875 - None, # 1876 - None, # 1877 - None, # 1878 - None, # 1879 - None, # 1880 - None, # 1881 - None, # 1882 - None, # 1883 - None, # 1884 - None, # 1885 - None, # 1886 - None, # 1887 - None, # 1888 - None, # 1889 - None, # 1890 - None, # 1891 - None, # 1892 - None, # 1893 - None, # 1894 - None, # 1895 - None, # 1896 - None, # 1897 - None, # 1898 - None, # 1899 - None, # 1900 - None, # 1901 - None, # 1902 - None, # 1903 - None, # 1904 - None, # 1905 - None, # 1906 - None, # 1907 - None, # 1908 - None, # 1909 - None, # 1910 - None, # 1911 - None, # 1912 - None, # 1913 - None, # 1914 - None, # 1915 - None, # 1916 - None, # 1917 - None, # 1918 - None, # 1919 - None, # 1920 - None, # 1921 - None, # 1922 - None, # 1923 - None, # 1924 - None, # 1925 - None, # 1926 - None, # 1927 - None, # 1928 - None, # 1929 - None, # 1930 - None, # 1931 - None, # 1932 - None, # 1933 - None, # 1934 - None, # 1935 - None, # 1936 - None, # 1937 - None, # 1938 - None, # 1939 - None, # 1940 - None, # 1941 - None, # 1942 - None, # 1943 - None, # 1944 - None, # 1945 - None, # 1946 - None, # 1947 - None, # 1948 - None, # 1949 - None, # 1950 - None, # 1951 - None, # 1952 - None, # 1953 - None, # 1954 - None, # 1955 - None, # 1956 - None, # 1957 - None, # 1958 - None, # 1959 - None, # 1960 - None, # 1961 - None, # 1962 - None, # 1963 - None, # 1964 - None, # 1965 - None, # 1966 - None, # 1967 - None, # 1968 - None, # 1969 - None, # 1970 - None, # 1971 - None, # 1972 - None, # 1973 - None, # 1974 - None, # 1975 - None, # 1976 - None, # 1977 - None, # 1978 - None, # 1979 - None, # 1980 - None, # 1981 - None, # 1982 - None, # 1983 - None, # 1984 - None, # 1985 - None, # 1986 - None, # 1987 - None, # 1988 - None, # 1989 - None, # 1990 - None, # 1991 - None, # 1992 - None, # 1993 - None, # 1994 - None, # 1995 - None, # 1996 - None, # 1997 - None, # 1998 - None, # 1999 - None, # 2000 - None, # 2001 - None, # 2002 - None, # 2003 - None, # 2004 - None, # 2005 - None, # 2006 - None, # 2007 - None, # 2008 - None, # 2009 - None, # 2010 - None, # 2011 - None, # 2012 - None, # 2013 - None, # 2014 - None, # 2015 - None, # 2016 - None, # 2017 - None, # 2018 - None, # 2019 - None, # 2020 - None, # 2021 - None, # 2022 - None, # 2023 - None, # 2024 - None, # 2025 - None, # 2026 - None, # 2027 - None, # 2028 - None, # 2029 - None, # 2030 - None, # 2031 - None, # 2032 - None, # 2033 - None, # 2034 - None, # 2035 - None, # 2036 - None, # 2037 - None, # 2038 - None, # 2039 - None, # 2040 - None, # 2041 - None, # 2042 - None, # 2043 - None, # 2044 - None, # 2045 - None, # 2046 - None, # 2047 - None, # 2048 - None, # 2049 - None, # 2050 - None, # 2051 - None, # 2052 - None, # 2053 - None, # 2054 - None, # 2055 - None, # 2056 - None, # 2057 - None, # 2058 - None, # 2059 - None, # 2060 - None, # 2061 - None, # 2062 - None, # 2063 - None, # 2064 - None, # 2065 - None, # 2066 - None, # 2067 - None, # 2068 - None, # 2069 - None, # 2070 - None, # 2071 - None, # 2072 - None, # 2073 - None, # 2074 - None, # 2075 - None, # 2076 - None, # 2077 - None, # 2078 - None, # 2079 - None, # 2080 - None, # 2081 - None, # 2082 - None, # 2083 - None, # 2084 - None, # 2085 - None, # 2086 - None, # 2087 - None, # 2088 - None, # 2089 - None, # 2090 - None, # 2091 - None, # 2092 - None, # 2093 - None, # 2094 - None, # 2095 - None, # 2096 - None, # 2097 - None, # 2098 - None, # 2099 - None, # 2100 - None, # 2101 - None, # 2102 - None, # 2103 - None, # 2104 - None, # 2105 - None, # 2106 - None, # 2107 - None, # 2108 - None, # 2109 - None, # 2110 - None, # 2111 - None, # 2112 - None, # 2113 - None, # 2114 - None, # 2115 - None, # 2116 - None, # 2117 - None, # 2118 - None, # 2119 - None, # 2120 - None, # 2121 - None, # 2122 - None, # 2123 - None, # 2124 - None, # 2125 - None, # 2126 - None, # 2127 - None, # 2128 - None, # 2129 - None, # 2130 - None, # 2131 - None, # 2132 - None, # 2133 - None, # 2134 - None, # 2135 - None, # 2136 - None, # 2137 - None, # 2138 - None, # 2139 - None, # 2140 - None, # 2141 - None, # 2142 - None, # 2143 - None, # 2144 - None, # 2145 - None, # 2146 - None, # 2147 - None, # 2148 - None, # 2149 - None, # 2150 - None, # 2151 - None, # 2152 - None, # 2153 - None, # 2154 - None, # 2155 - None, # 2156 - None, # 2157 - None, # 2158 - None, # 2159 - None, # 2160 - None, # 2161 - None, # 2162 - None, # 2163 - None, # 2164 - None, # 2165 - None, # 2166 - None, # 2167 - None, # 2168 - None, # 2169 - None, # 2170 - None, # 2171 - None, # 2172 - None, # 2173 - None, # 2174 - None, # 2175 - None, # 2176 - None, # 2177 - None, # 2178 - None, # 2179 - None, # 2180 - None, # 2181 - None, # 2182 - None, # 2183 - None, # 2184 - None, # 2185 - None, # 2186 - None, # 2187 - None, # 2188 - None, # 2189 - None, # 2190 - None, # 2191 - None, # 2192 - None, # 2193 - None, # 2194 - None, # 2195 - None, # 2196 - None, # 2197 - None, # 2198 - None, # 2199 - None, # 2200 - None, # 2201 - None, # 2202 - None, # 2203 - None, # 2204 - None, # 2205 - None, # 2206 - None, # 2207 - None, # 2208 - None, # 2209 - None, # 2210 - None, # 2211 - None, # 2212 - None, # 2213 - None, # 2214 - None, # 2215 - None, # 2216 - None, # 2217 - None, # 2218 - None, # 2219 - None, # 2220 - None, # 2221 - None, # 2222 - None, # 2223 - None, # 2224 - None, # 2225 - None, # 2226 - None, # 2227 - None, # 2228 - None, # 2229 - None, # 2230 - None, # 2231 - None, # 2232 - None, # 2233 - None, # 2234 - None, # 2235 - None, # 2236 - None, # 2237 - None, # 2238 - None, # 2239 - None, # 2240 - None, # 2241 - None, # 2242 - None, # 2243 - None, # 2244 - None, # 2245 - None, # 2246 - None, # 2247 - None, # 2248 - None, # 2249 - None, # 2250 - None, # 2251 - None, # 2252 - None, # 2253 - None, # 2254 - None, # 2255 - None, # 2256 - None, # 2257 - None, # 2258 - None, # 2259 - None, # 2260 - None, # 2261 - None, # 2262 - None, # 2263 - None, # 2264 - None, # 2265 - None, # 2266 - None, # 2267 - None, # 2268 - None, # 2269 - None, # 2270 - None, # 2271 - None, # 2272 - None, # 2273 - None, # 2274 - None, # 2275 - None, # 2276 - None, # 2277 - None, # 2278 - None, # 2279 - None, # 2280 - None, # 2281 - None, # 2282 - None, # 2283 - None, # 2284 - None, # 2285 - None, # 2286 - None, # 2287 - None, # 2288 - None, # 2289 - None, # 2290 - None, # 2291 - None, # 2292 - None, # 2293 - None, # 2294 - None, # 2295 - None, # 2296 - None, # 2297 - None, # 2298 - None, # 2299 - None, # 2300 - None, # 2301 - None, # 2302 - None, # 2303 - None, # 2304 - None, # 2305 - None, # 2306 - None, # 2307 - None, # 2308 - None, # 2309 - None, # 2310 - None, # 2311 - None, # 2312 - None, # 2313 - None, # 2314 - None, # 2315 - None, # 2316 - None, # 2317 - None, # 2318 - None, # 2319 - None, # 2320 - None, # 2321 - None, # 2322 - None, # 2323 - None, # 2324 - None, # 2325 - None, # 2326 - None, # 2327 - None, # 2328 - None, # 2329 - None, # 2330 - None, # 2331 - None, # 2332 - None, # 2333 - None, # 2334 - None, # 2335 - None, # 2336 - None, # 2337 - None, # 2338 - None, # 2339 - None, # 2340 - None, # 2341 - None, # 2342 - None, # 2343 - None, # 2344 - None, # 2345 - None, # 2346 - None, # 2347 - None, # 2348 - None, # 2349 - None, # 2350 - None, # 2351 - None, # 2352 - None, # 2353 - None, # 2354 - None, # 2355 - None, # 2356 - None, # 2357 - None, # 2358 - None, # 2359 - None, # 2360 - None, # 2361 - None, # 2362 - None, # 2363 - None, # 2364 - None, # 2365 - None, # 2366 - None, # 2367 - None, # 2368 - None, # 2369 - None, # 2370 - None, # 2371 - None, # 2372 - None, # 2373 - None, # 2374 - None, # 2375 - None, # 2376 - None, # 2377 - None, # 2378 - None, # 2379 - None, # 2380 - None, # 2381 - None, # 2382 - None, # 2383 - None, # 2384 - None, # 2385 - None, # 2386 - None, # 2387 - None, # 2388 - None, # 2389 - None, # 2390 - None, # 2391 - None, # 2392 - None, # 2393 - None, # 2394 - None, # 2395 - None, # 2396 - None, # 2397 - None, # 2398 - None, # 2399 - None, # 2400 - None, # 2401 - None, # 2402 - None, # 2403 - None, # 2404 - None, # 2405 - None, # 2406 - None, # 2407 - None, # 2408 - None, # 2409 - None, # 2410 - None, # 2411 - None, # 2412 - None, # 2413 - None, # 2414 - None, # 2415 - None, # 2416 - None, # 2417 - None, # 2418 - None, # 2419 - None, # 2420 - None, # 2421 - None, # 2422 - None, # 2423 - None, # 2424 - None, # 2425 - None, # 2426 - None, # 2427 - None, # 2428 - None, # 2429 - None, # 2430 - None, # 2431 - None, # 2432 - None, # 2433 - None, # 2434 - None, # 2435 - None, # 2436 - None, # 2437 - None, # 2438 - None, # 2439 - None, # 2440 - None, # 2441 - None, # 2442 - None, # 2443 - None, # 2444 - None, # 2445 - None, # 2446 - None, # 2447 - None, # 2448 - None, # 2449 - None, # 2450 - None, # 2451 - None, # 2452 - None, # 2453 - None, # 2454 - None, # 2455 - None, # 2456 - None, # 2457 - None, # 2458 - None, # 2459 - None, # 2460 - None, # 2461 - None, # 2462 - None, # 2463 - None, # 2464 - None, # 2465 - None, # 2466 - None, # 2467 - None, # 2468 - None, # 2469 - None, # 2470 - None, # 2471 - None, # 2472 - None, # 2473 - None, # 2474 - None, # 2475 - None, # 2476 - None, # 2477 - None, # 2478 - None, # 2479 - None, # 2480 - None, # 2481 - None, # 2482 - None, # 2483 - None, # 2484 - None, # 2485 - None, # 2486 - None, # 2487 - None, # 2488 - None, # 2489 - None, # 2490 - None, # 2491 - None, # 2492 - None, # 2493 - None, # 2494 - None, # 2495 - None, # 2496 - None, # 2497 - None, # 2498 - None, # 2499 - None, # 2500 - None, # 2501 - None, # 2502 - None, # 2503 - None, # 2504 - None, # 2505 - None, # 2506 - None, # 2507 - None, # 2508 - None, # 2509 - None, # 2510 - None, # 2511 - None, # 2512 - None, # 2513 - None, # 2514 - None, # 2515 - None, # 2516 - None, # 2517 - None, # 2518 - None, # 2519 - None, # 2520 - None, # 2521 - None, # 2522 - None, # 2523 - None, # 2524 - None, # 2525 - None, # 2526 - None, # 2527 - None, # 2528 - None, # 2529 - None, # 2530 - None, # 2531 - None, # 2532 - None, # 2533 - None, # 2534 - None, # 2535 - None, # 2536 - None, # 2537 - None, # 2538 - None, # 2539 - None, # 2540 - None, # 2541 - None, # 2542 - None, # 2543 - None, # 2544 - None, # 2545 - None, # 2546 - None, # 2547 - None, # 2548 - None, # 2549 - None, # 2550 - None, # 2551 - None, # 2552 - None, # 2553 - None, # 2554 - None, # 2555 - None, # 2556 - None, # 2557 - None, # 2558 - None, # 2559 - None, # 2560 - None, # 2561 - None, # 2562 - None, # 2563 - None, # 2564 - None, # 2565 - None, # 2566 - None, # 2567 - None, # 2568 - None, # 2569 - None, # 2570 - None, # 2571 - None, # 2572 - None, # 2573 - None, # 2574 - None, # 2575 - None, # 2576 - None, # 2577 - None, # 2578 - None, # 2579 - None, # 2580 - None, # 2581 - None, # 2582 - None, # 2583 - None, # 2584 - None, # 2585 - None, # 2586 - None, # 2587 - None, # 2588 - None, # 2589 - None, # 2590 - None, # 2591 - None, # 2592 - None, # 2593 - None, # 2594 - None, # 2595 - None, # 2596 - None, # 2597 - None, # 2598 - None, # 2599 - None, # 2600 - None, # 2601 - None, # 2602 - None, # 2603 - None, # 2604 - None, # 2605 - None, # 2606 - None, # 2607 - None, # 2608 - None, # 2609 - None, # 2610 - None, # 2611 - None, # 2612 - None, # 2613 - None, # 2614 - None, # 2615 - None, # 2616 - None, # 2617 - None, # 2618 - None, # 2619 - None, # 2620 - None, # 2621 - None, # 2622 - None, # 2623 - None, # 2624 - None, # 2625 - None, # 2626 - None, # 2627 - None, # 2628 - None, # 2629 - None, # 2630 - None, # 2631 - None, # 2632 - None, # 2633 - None, # 2634 - None, # 2635 - None, # 2636 - None, # 2637 - None, # 2638 - None, # 2639 - None, # 2640 - None, # 2641 - None, # 2642 - None, # 2643 - None, # 2644 - None, # 2645 - None, # 2646 - None, # 2647 - None, # 2648 - None, # 2649 - None, # 2650 - None, # 2651 - None, # 2652 - None, # 2653 - None, # 2654 - None, # 2655 - None, # 2656 - None, # 2657 - None, # 2658 - None, # 2659 - None, # 2660 - None, # 2661 - None, # 2662 - None, # 2663 - None, # 2664 - None, # 2665 - None, # 2666 - None, # 2667 - None, # 2668 - None, # 2669 - None, # 2670 - None, # 2671 - None, # 2672 - None, # 2673 - None, # 2674 - None, # 2675 - None, # 2676 - None, # 2677 - None, # 2678 - None, # 2679 - None, # 2680 - None, # 2681 - None, # 2682 - None, # 2683 - None, # 2684 - None, # 2685 - None, # 2686 - None, # 2687 - None, # 2688 - None, # 2689 - None, # 2690 - None, # 2691 - None, # 2692 - None, # 2693 - None, # 2694 - None, # 2695 - None, # 2696 - None, # 2697 - None, # 2698 - None, # 2699 - None, # 2700 - None, # 2701 - None, # 2702 - None, # 2703 - None, # 2704 - None, # 2705 - None, # 2706 - None, # 2707 - None, # 2708 - None, # 2709 - None, # 2710 - None, # 2711 - None, # 2712 - None, # 2713 - None, # 2714 - None, # 2715 - None, # 2716 - None, # 2717 - None, # 2718 - None, # 2719 - None, # 2720 - None, # 2721 - None, # 2722 - None, # 2723 - None, # 2724 - None, # 2725 - None, # 2726 - None, # 2727 - None, # 2728 - None, # 2729 - None, # 2730 - None, # 2731 - None, # 2732 - None, # 2733 - None, # 2734 - None, # 2735 - None, # 2736 - None, # 2737 - None, # 2738 - None, # 2739 - None, # 2740 - None, # 2741 - None, # 2742 - None, # 2743 - None, # 2744 - None, # 2745 - None, # 2746 - None, # 2747 - None, # 2748 - None, # 2749 - None, # 2750 - None, # 2751 - None, # 2752 - None, # 2753 - None, # 2754 - None, # 2755 - None, # 2756 - None, # 2757 - None, # 2758 - None, # 2759 - None, # 2760 - None, # 2761 - None, # 2762 - None, # 2763 - None, # 2764 - None, # 2765 - None, # 2766 - None, # 2767 - None, # 2768 - None, # 2769 - None, # 2770 - None, # 2771 - None, # 2772 - None, # 2773 - None, # 2774 - None, # 2775 - None, # 2776 - None, # 2777 - None, # 2778 - None, # 2779 - None, # 2780 - None, # 2781 - None, # 2782 - None, # 2783 - None, # 2784 - None, # 2785 - None, # 2786 - None, # 2787 - None, # 2788 - None, # 2789 - None, # 2790 - None, # 2791 - None, # 2792 - None, # 2793 - None, # 2794 - None, # 2795 - None, # 2796 - None, # 2797 - None, # 2798 - None, # 2799 - None, # 2800 - None, # 2801 - None, # 2802 - None, # 2803 - None, # 2804 - None, # 2805 - None, # 2806 - None, # 2807 - None, # 2808 - None, # 2809 - None, # 2810 - None, # 2811 - None, # 2812 - None, # 2813 - None, # 2814 - None, # 2815 - None, # 2816 - None, # 2817 - None, # 2818 - None, # 2819 - None, # 2820 - None, # 2821 - None, # 2822 - None, # 2823 - None, # 2824 - None, # 2825 - None, # 2826 - None, # 2827 - None, # 2828 - None, # 2829 - None, # 2830 - None, # 2831 - None, # 2832 - None, # 2833 - None, # 2834 - None, # 2835 - None, # 2836 - None, # 2837 - None, # 2838 - None, # 2839 - None, # 2840 - None, # 2841 - None, # 2842 - None, # 2843 - None, # 2844 - None, # 2845 - None, # 2846 - None, # 2847 - None, # 2848 - None, # 2849 - None, # 2850 - None, # 2851 - None, # 2852 - None, # 2853 - None, # 2854 - None, # 2855 - None, # 2856 - None, # 2857 - None, # 2858 - None, # 2859 - None, # 2860 - None, # 2861 - None, # 2862 - None, # 2863 - None, # 2864 - None, # 2865 - None, # 2866 - None, # 2867 - None, # 2868 - None, # 2869 - None, # 2870 - None, # 2871 - None, # 2872 - None, # 2873 - None, # 2874 - None, # 2875 - None, # 2876 - None, # 2877 - None, # 2878 - None, # 2879 - None, # 2880 - None, # 2881 - None, # 2882 - None, # 2883 - None, # 2884 - None, # 2885 - None, # 2886 - None, # 2887 - None, # 2888 - None, # 2889 - None, # 2890 - None, # 2891 - None, # 2892 - None, # 2893 - None, # 2894 - None, # 2895 - None, # 2896 - None, # 2897 - None, # 2898 - None, # 2899 - None, # 2900 - None, # 2901 - None, # 2902 - None, # 2903 - None, # 2904 - None, # 2905 - None, # 2906 - None, # 2907 - None, # 2908 - None, # 2909 - None, # 2910 - None, # 2911 - None, # 2912 - None, # 2913 - None, # 2914 - None, # 2915 - None, # 2916 - None, # 2917 - None, # 2918 - None, # 2919 - None, # 2920 - None, # 2921 - None, # 2922 - None, # 2923 - None, # 2924 - None, # 2925 - None, # 2926 - None, # 2927 - None, # 2928 - None, # 2929 - None, # 2930 - None, # 2931 - None, # 2932 - None, # 2933 - None, # 2934 - None, # 2935 - None, # 2936 - None, # 2937 - None, # 2938 - None, # 2939 - None, # 2940 - None, # 2941 - None, # 2942 - None, # 2943 - None, # 2944 - None, # 2945 - None, # 2946 - None, # 2947 - None, # 2948 - None, # 2949 - None, # 2950 - None, # 2951 - None, # 2952 - None, # 2953 - None, # 2954 - None, # 2955 - None, # 2956 - None, # 2957 - None, # 2958 - None, # 2959 - None, # 2960 - None, # 2961 - None, # 2962 - None, # 2963 - None, # 2964 - None, # 2965 - None, # 2966 - None, # 2967 - None, # 2968 - None, # 2969 - None, # 2970 - None, # 2971 - None, # 2972 - None, # 2973 - None, # 2974 - None, # 2975 - None, # 2976 - None, # 2977 - None, # 2978 - None, # 2979 - None, # 2980 - None, # 2981 - None, # 2982 - None, # 2983 - None, # 2984 - None, # 2985 - None, # 2986 - None, # 2987 - None, # 2988 - None, # 2989 - None, # 2990 - None, # 2991 - None, # 2992 - None, # 2993 - None, # 2994 - None, # 2995 - None, # 2996 - None, # 2997 - None, # 2998 - None, # 2999 - None, # 3000 - None, # 3001 - None, # 3002 - None, # 3003 - None, # 3004 - None, # 3005 - None, # 3006 - None, # 3007 - None, # 3008 - None, # 3009 - None, # 3010 - None, # 3011 - None, # 3012 - None, # 3013 - None, # 3014 - None, # 3015 - None, # 3016 - None, # 3017 - None, # 3018 - None, # 3019 - None, # 3020 - None, # 3021 - None, # 3022 - None, # 3023 - None, # 3024 - None, # 3025 - None, # 3026 - None, # 3027 - None, # 3028 - None, # 3029 - None, # 3030 - None, # 3031 - None, # 3032 - None, # 3033 - None, # 3034 - None, # 3035 - None, # 3036 - None, # 3037 - None, # 3038 - None, # 3039 - None, # 3040 - None, # 3041 - None, # 3042 - None, # 3043 - None, # 3044 - None, # 3045 - None, # 3046 - None, # 3047 - None, # 3048 - None, # 3049 - None, # 3050 - None, # 3051 - None, # 3052 - None, # 3053 - None, # 3054 - None, # 3055 - None, # 3056 - None, # 3057 - None, # 3058 - None, # 3059 - None, # 3060 - None, # 3061 - None, # 3062 - None, # 3063 - None, # 3064 - None, # 3065 - None, # 3066 - None, # 3067 - None, # 3068 - None, # 3069 - None, # 3070 - None, # 3071 - None, # 3072 - None, # 3073 - None, # 3074 - None, # 3075 - None, # 3076 - None, # 3077 - None, # 3078 - None, # 3079 - None, # 3080 - None, # 3081 - None, # 3082 - None, # 3083 - None, # 3084 - None, # 3085 - None, # 3086 - None, # 3087 - None, # 3088 - None, # 3089 - None, # 3090 - None, # 3091 - None, # 3092 - None, # 3093 - None, # 3094 - None, # 3095 - None, # 3096 - None, # 3097 - None, # 3098 - None, # 3099 - None, # 3100 - None, # 3101 - None, # 3102 - None, # 3103 - None, # 3104 - None, # 3105 - None, # 3106 - None, # 3107 - None, # 3108 - None, # 3109 - None, # 3110 - None, # 3111 - None, # 3112 - None, # 3113 - None, # 3114 - None, # 3115 - None, # 3116 - None, # 3117 - None, # 3118 - None, # 3119 - None, # 3120 - None, # 3121 - None, # 3122 - None, # 3123 - None, # 3124 - None, # 3125 - None, # 3126 - None, # 3127 - None, # 3128 - None, # 3129 - None, # 3130 - None, # 3131 - None, # 3132 - None, # 3133 - None, # 3134 - None, # 3135 - None, # 3136 - None, # 3137 - None, # 3138 - None, # 3139 - None, # 3140 - None, # 3141 - None, # 3142 - None, # 3143 - None, # 3144 - None, # 3145 - None, # 3146 - None, # 3147 - None, # 3148 - None, # 3149 - None, # 3150 - None, # 3151 - None, # 3152 - None, # 3153 - None, # 3154 - None, # 3155 - None, # 3156 - None, # 3157 - None, # 3158 - None, # 3159 - None, # 3160 - None, # 3161 - None, # 3162 - None, # 3163 - None, # 3164 - None, # 3165 - None, # 3166 - None, # 3167 - None, # 3168 - None, # 3169 - None, # 3170 - None, # 3171 - None, # 3172 - None, # 3173 - None, # 3174 - None, # 3175 - None, # 3176 - None, # 3177 - None, # 3178 - None, # 3179 - None, # 3180 - None, # 3181 - None, # 3182 - None, # 3183 - None, # 3184 - None, # 3185 - None, # 3186 - None, # 3187 - None, # 3188 - None, # 3189 - None, # 3190 - None, # 3191 - None, # 3192 - None, # 3193 - None, # 3194 - None, # 3195 - None, # 3196 - None, # 3197 - None, # 3198 - None, # 3199 - None, # 3200 - None, # 3201 - None, # 3202 - None, # 3203 - None, # 3204 - None, # 3205 - None, # 3206 - None, # 3207 - None, # 3208 - None, # 3209 - None, # 3210 - None, # 3211 - None, # 3212 - None, # 3213 - None, # 3214 - None, # 3215 - None, # 3216 - None, # 3217 - None, # 3218 - None, # 3219 - None, # 3220 - None, # 3221 - None, # 3222 - None, # 3223 - None, # 3224 - None, # 3225 - None, # 3226 - None, # 3227 - None, # 3228 - None, # 3229 - None, # 3230 - None, # 3231 - None, # 3232 - None, # 3233 - None, # 3234 - None, # 3235 - None, # 3236 - None, # 3237 - None, # 3238 - None, # 3239 - None, # 3240 - None, # 3241 - None, # 3242 - None, # 3243 - None, # 3244 - None, # 3245 - None, # 3246 - None, # 3247 - None, # 3248 - None, # 3249 - None, # 3250 - None, # 3251 - None, # 3252 - None, # 3253 - None, # 3254 - None, # 3255 - None, # 3256 - None, # 3257 - None, # 3258 - None, # 3259 - None, # 3260 - None, # 3261 - None, # 3262 - None, # 3263 - None, # 3264 - None, # 3265 - None, # 3266 - None, # 3267 - None, # 3268 - None, # 3269 - None, # 3270 - None, # 3271 - None, # 3272 - None, # 3273 - None, # 3274 - None, # 3275 - None, # 3276 - None, # 3277 - None, # 3278 - None, # 3279 - None, # 3280 - None, # 3281 - None, # 3282 - None, # 3283 - None, # 3284 - None, # 3285 - None, # 3286 - None, # 3287 - None, # 3288 - None, # 3289 - None, # 3290 - None, # 3291 - None, # 3292 - None, # 3293 - None, # 3294 - None, # 3295 - None, # 3296 - None, # 3297 - None, # 3298 - None, # 3299 - None, # 3300 - None, # 3301 - None, # 3302 - None, # 3303 - None, # 3304 - None, # 3305 - None, # 3306 - None, # 3307 - None, # 3308 - None, # 3309 - None, # 3310 - None, # 3311 - None, # 3312 - None, # 3313 - None, # 3314 - None, # 3315 - None, # 3316 - None, # 3317 - None, # 3318 - None, # 3319 - None, # 3320 - None, # 3321 - None, # 3322 - None, # 3323 - None, # 3324 - None, # 3325 - None, # 3326 - None, # 3327 - None, # 3328 - ( - 3329, - TType.STRUCT, - "operationId", - [THandleIdentifier, None], - None, - ), # 3329 - ( - 3330, - TType.STRUCT, - "sessionConf", - [TDBSqlSessionConf, None], - None, - ), # 3330 + None, # 0 + (1, TType.STRUCT, 'sessionHandle', [TSessionHandle, None], None, ), # 1 + (2, TType.STRING, 'catalogName', 'UTF8', None, ), # 2 + (3, TType.STRING, 'schemaName', 'UTF8', None, ), # 3 + (4, TType.STRING, 'tableName', 'UTF8', None, ), # 4 + (5, TType.STRING, 'columnName', 'UTF8', None, ), # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + (1281, TType.STRUCT, 'getDirectResults', [TSparkGetDirectResults, None], None, ), # 1281 + (1282, TType.BOOL, 'runAsync', None, False, ), # 1282 + None, # 1283 + None, # 1284 + None, # 1285 + None, # 1286 + None, # 1287 + None, # 1288 + None, # 1289 + None, # 1290 + None, # 1291 + None, # 1292 + None, # 1293 + None, # 1294 + None, # 1295 + None, # 1296 + None, # 1297 + None, # 1298 + None, # 1299 + None, # 1300 + None, # 1301 + None, # 1302 + None, # 1303 + None, # 1304 + None, # 1305 + None, # 1306 + None, # 1307 + None, # 1308 + None, # 1309 + None, # 1310 + None, # 1311 + None, # 1312 + None, # 1313 + None, # 1314 + None, # 1315 + None, # 1316 + None, # 1317 + None, # 1318 + None, # 1319 + None, # 1320 + None, # 1321 + None, # 1322 + None, # 1323 + None, # 1324 + None, # 1325 + None, # 1326 + None, # 1327 + None, # 1328 + None, # 1329 + None, # 1330 + None, # 1331 + None, # 1332 + None, # 1333 + None, # 1334 + None, # 1335 + None, # 1336 + None, # 1337 + None, # 1338 + None, # 1339 + None, # 1340 + None, # 1341 + None, # 1342 + None, # 1343 + None, # 1344 + None, # 1345 + None, # 1346 + None, # 1347 + None, # 1348 + None, # 1349 + None, # 1350 + None, # 1351 + None, # 1352 + None, # 1353 + None, # 1354 + None, # 1355 + None, # 1356 + None, # 1357 + None, # 1358 + None, # 1359 + None, # 1360 + None, # 1361 + None, # 1362 + None, # 1363 + None, # 1364 + None, # 1365 + None, # 1366 + None, # 1367 + None, # 1368 + None, # 1369 + None, # 1370 + None, # 1371 + None, # 1372 + None, # 1373 + None, # 1374 + None, # 1375 + None, # 1376 + None, # 1377 + None, # 1378 + None, # 1379 + None, # 1380 + None, # 1381 + None, # 1382 + None, # 1383 + None, # 1384 + None, # 1385 + None, # 1386 + None, # 1387 + None, # 1388 + None, # 1389 + None, # 1390 + None, # 1391 + None, # 1392 + None, # 1393 + None, # 1394 + None, # 1395 + None, # 1396 + None, # 1397 + None, # 1398 + None, # 1399 + None, # 1400 + None, # 1401 + None, # 1402 + None, # 1403 + None, # 1404 + None, # 1405 + None, # 1406 + None, # 1407 + None, # 1408 + None, # 1409 + None, # 1410 + None, # 1411 + None, # 1412 + None, # 1413 + None, # 1414 + None, # 1415 + None, # 1416 + None, # 1417 + None, # 1418 + None, # 1419 + None, # 1420 + None, # 1421 + None, # 1422 + None, # 1423 + None, # 1424 + None, # 1425 + None, # 1426 + None, # 1427 + None, # 1428 + None, # 1429 + None, # 1430 + None, # 1431 + None, # 1432 + None, # 1433 + None, # 1434 + None, # 1435 + None, # 1436 + None, # 1437 + None, # 1438 + None, # 1439 + None, # 1440 + None, # 1441 + None, # 1442 + None, # 1443 + None, # 1444 + None, # 1445 + None, # 1446 + None, # 1447 + None, # 1448 + None, # 1449 + None, # 1450 + None, # 1451 + None, # 1452 + None, # 1453 + None, # 1454 + None, # 1455 + None, # 1456 + None, # 1457 + None, # 1458 + None, # 1459 + None, # 1460 + None, # 1461 + None, # 1462 + None, # 1463 + None, # 1464 + None, # 1465 + None, # 1466 + None, # 1467 + None, # 1468 + None, # 1469 + None, # 1470 + None, # 1471 + None, # 1472 + None, # 1473 + None, # 1474 + None, # 1475 + None, # 1476 + None, # 1477 + None, # 1478 + None, # 1479 + None, # 1480 + None, # 1481 + None, # 1482 + None, # 1483 + None, # 1484 + None, # 1485 + None, # 1486 + None, # 1487 + None, # 1488 + None, # 1489 + None, # 1490 + None, # 1491 + None, # 1492 + None, # 1493 + None, # 1494 + None, # 1495 + None, # 1496 + None, # 1497 + None, # 1498 + None, # 1499 + None, # 1500 + None, # 1501 + None, # 1502 + None, # 1503 + None, # 1504 + None, # 1505 + None, # 1506 + None, # 1507 + None, # 1508 + None, # 1509 + None, # 1510 + None, # 1511 + None, # 1512 + None, # 1513 + None, # 1514 + None, # 1515 + None, # 1516 + None, # 1517 + None, # 1518 + None, # 1519 + None, # 1520 + None, # 1521 + None, # 1522 + None, # 1523 + None, # 1524 + None, # 1525 + None, # 1526 + None, # 1527 + None, # 1528 + None, # 1529 + None, # 1530 + None, # 1531 + None, # 1532 + None, # 1533 + None, # 1534 + None, # 1535 + None, # 1536 + None, # 1537 + None, # 1538 + None, # 1539 + None, # 1540 + None, # 1541 + None, # 1542 + None, # 1543 + None, # 1544 + None, # 1545 + None, # 1546 + None, # 1547 + None, # 1548 + None, # 1549 + None, # 1550 + None, # 1551 + None, # 1552 + None, # 1553 + None, # 1554 + None, # 1555 + None, # 1556 + None, # 1557 + None, # 1558 + None, # 1559 + None, # 1560 + None, # 1561 + None, # 1562 + None, # 1563 + None, # 1564 + None, # 1565 + None, # 1566 + None, # 1567 + None, # 1568 + None, # 1569 + None, # 1570 + None, # 1571 + None, # 1572 + None, # 1573 + None, # 1574 + None, # 1575 + None, # 1576 + None, # 1577 + None, # 1578 + None, # 1579 + None, # 1580 + None, # 1581 + None, # 1582 + None, # 1583 + None, # 1584 + None, # 1585 + None, # 1586 + None, # 1587 + None, # 1588 + None, # 1589 + None, # 1590 + None, # 1591 + None, # 1592 + None, # 1593 + None, # 1594 + None, # 1595 + None, # 1596 + None, # 1597 + None, # 1598 + None, # 1599 + None, # 1600 + None, # 1601 + None, # 1602 + None, # 1603 + None, # 1604 + None, # 1605 + None, # 1606 + None, # 1607 + None, # 1608 + None, # 1609 + None, # 1610 + None, # 1611 + None, # 1612 + None, # 1613 + None, # 1614 + None, # 1615 + None, # 1616 + None, # 1617 + None, # 1618 + None, # 1619 + None, # 1620 + None, # 1621 + None, # 1622 + None, # 1623 + None, # 1624 + None, # 1625 + None, # 1626 + None, # 1627 + None, # 1628 + None, # 1629 + None, # 1630 + None, # 1631 + None, # 1632 + None, # 1633 + None, # 1634 + None, # 1635 + None, # 1636 + None, # 1637 + None, # 1638 + None, # 1639 + None, # 1640 + None, # 1641 + None, # 1642 + None, # 1643 + None, # 1644 + None, # 1645 + None, # 1646 + None, # 1647 + None, # 1648 + None, # 1649 + None, # 1650 + None, # 1651 + None, # 1652 + None, # 1653 + None, # 1654 + None, # 1655 + None, # 1656 + None, # 1657 + None, # 1658 + None, # 1659 + None, # 1660 + None, # 1661 + None, # 1662 + None, # 1663 + None, # 1664 + None, # 1665 + None, # 1666 + None, # 1667 + None, # 1668 + None, # 1669 + None, # 1670 + None, # 1671 + None, # 1672 + None, # 1673 + None, # 1674 + None, # 1675 + None, # 1676 + None, # 1677 + None, # 1678 + None, # 1679 + None, # 1680 + None, # 1681 + None, # 1682 + None, # 1683 + None, # 1684 + None, # 1685 + None, # 1686 + None, # 1687 + None, # 1688 + None, # 1689 + None, # 1690 + None, # 1691 + None, # 1692 + None, # 1693 + None, # 1694 + None, # 1695 + None, # 1696 + None, # 1697 + None, # 1698 + None, # 1699 + None, # 1700 + None, # 1701 + None, # 1702 + None, # 1703 + None, # 1704 + None, # 1705 + None, # 1706 + None, # 1707 + None, # 1708 + None, # 1709 + None, # 1710 + None, # 1711 + None, # 1712 + None, # 1713 + None, # 1714 + None, # 1715 + None, # 1716 + None, # 1717 + None, # 1718 + None, # 1719 + None, # 1720 + None, # 1721 + None, # 1722 + None, # 1723 + None, # 1724 + None, # 1725 + None, # 1726 + None, # 1727 + None, # 1728 + None, # 1729 + None, # 1730 + None, # 1731 + None, # 1732 + None, # 1733 + None, # 1734 + None, # 1735 + None, # 1736 + None, # 1737 + None, # 1738 + None, # 1739 + None, # 1740 + None, # 1741 + None, # 1742 + None, # 1743 + None, # 1744 + None, # 1745 + None, # 1746 + None, # 1747 + None, # 1748 + None, # 1749 + None, # 1750 + None, # 1751 + None, # 1752 + None, # 1753 + None, # 1754 + None, # 1755 + None, # 1756 + None, # 1757 + None, # 1758 + None, # 1759 + None, # 1760 + None, # 1761 + None, # 1762 + None, # 1763 + None, # 1764 + None, # 1765 + None, # 1766 + None, # 1767 + None, # 1768 + None, # 1769 + None, # 1770 + None, # 1771 + None, # 1772 + None, # 1773 + None, # 1774 + None, # 1775 + None, # 1776 + None, # 1777 + None, # 1778 + None, # 1779 + None, # 1780 + None, # 1781 + None, # 1782 + None, # 1783 + None, # 1784 + None, # 1785 + None, # 1786 + None, # 1787 + None, # 1788 + None, # 1789 + None, # 1790 + None, # 1791 + None, # 1792 + None, # 1793 + None, # 1794 + None, # 1795 + None, # 1796 + None, # 1797 + None, # 1798 + None, # 1799 + None, # 1800 + None, # 1801 + None, # 1802 + None, # 1803 + None, # 1804 + None, # 1805 + None, # 1806 + None, # 1807 + None, # 1808 + None, # 1809 + None, # 1810 + None, # 1811 + None, # 1812 + None, # 1813 + None, # 1814 + None, # 1815 + None, # 1816 + None, # 1817 + None, # 1818 + None, # 1819 + None, # 1820 + None, # 1821 + None, # 1822 + None, # 1823 + None, # 1824 + None, # 1825 + None, # 1826 + None, # 1827 + None, # 1828 + None, # 1829 + None, # 1830 + None, # 1831 + None, # 1832 + None, # 1833 + None, # 1834 + None, # 1835 + None, # 1836 + None, # 1837 + None, # 1838 + None, # 1839 + None, # 1840 + None, # 1841 + None, # 1842 + None, # 1843 + None, # 1844 + None, # 1845 + None, # 1846 + None, # 1847 + None, # 1848 + None, # 1849 + None, # 1850 + None, # 1851 + None, # 1852 + None, # 1853 + None, # 1854 + None, # 1855 + None, # 1856 + None, # 1857 + None, # 1858 + None, # 1859 + None, # 1860 + None, # 1861 + None, # 1862 + None, # 1863 + None, # 1864 + None, # 1865 + None, # 1866 + None, # 1867 + None, # 1868 + None, # 1869 + None, # 1870 + None, # 1871 + None, # 1872 + None, # 1873 + None, # 1874 + None, # 1875 + None, # 1876 + None, # 1877 + None, # 1878 + None, # 1879 + None, # 1880 + None, # 1881 + None, # 1882 + None, # 1883 + None, # 1884 + None, # 1885 + None, # 1886 + None, # 1887 + None, # 1888 + None, # 1889 + None, # 1890 + None, # 1891 + None, # 1892 + None, # 1893 + None, # 1894 + None, # 1895 + None, # 1896 + None, # 1897 + None, # 1898 + None, # 1899 + None, # 1900 + None, # 1901 + None, # 1902 + None, # 1903 + None, # 1904 + None, # 1905 + None, # 1906 + None, # 1907 + None, # 1908 + None, # 1909 + None, # 1910 + None, # 1911 + None, # 1912 + None, # 1913 + None, # 1914 + None, # 1915 + None, # 1916 + None, # 1917 + None, # 1918 + None, # 1919 + None, # 1920 + None, # 1921 + None, # 1922 + None, # 1923 + None, # 1924 + None, # 1925 + None, # 1926 + None, # 1927 + None, # 1928 + None, # 1929 + None, # 1930 + None, # 1931 + None, # 1932 + None, # 1933 + None, # 1934 + None, # 1935 + None, # 1936 + None, # 1937 + None, # 1938 + None, # 1939 + None, # 1940 + None, # 1941 + None, # 1942 + None, # 1943 + None, # 1944 + None, # 1945 + None, # 1946 + None, # 1947 + None, # 1948 + None, # 1949 + None, # 1950 + None, # 1951 + None, # 1952 + None, # 1953 + None, # 1954 + None, # 1955 + None, # 1956 + None, # 1957 + None, # 1958 + None, # 1959 + None, # 1960 + None, # 1961 + None, # 1962 + None, # 1963 + None, # 1964 + None, # 1965 + None, # 1966 + None, # 1967 + None, # 1968 + None, # 1969 + None, # 1970 + None, # 1971 + None, # 1972 + None, # 1973 + None, # 1974 + None, # 1975 + None, # 1976 + None, # 1977 + None, # 1978 + None, # 1979 + None, # 1980 + None, # 1981 + None, # 1982 + None, # 1983 + None, # 1984 + None, # 1985 + None, # 1986 + None, # 1987 + None, # 1988 + None, # 1989 + None, # 1990 + None, # 1991 + None, # 1992 + None, # 1993 + None, # 1994 + None, # 1995 + None, # 1996 + None, # 1997 + None, # 1998 + None, # 1999 + None, # 2000 + None, # 2001 + None, # 2002 + None, # 2003 + None, # 2004 + None, # 2005 + None, # 2006 + None, # 2007 + None, # 2008 + None, # 2009 + None, # 2010 + None, # 2011 + None, # 2012 + None, # 2013 + None, # 2014 + None, # 2015 + None, # 2016 + None, # 2017 + None, # 2018 + None, # 2019 + None, # 2020 + None, # 2021 + None, # 2022 + None, # 2023 + None, # 2024 + None, # 2025 + None, # 2026 + None, # 2027 + None, # 2028 + None, # 2029 + None, # 2030 + None, # 2031 + None, # 2032 + None, # 2033 + None, # 2034 + None, # 2035 + None, # 2036 + None, # 2037 + None, # 2038 + None, # 2039 + None, # 2040 + None, # 2041 + None, # 2042 + None, # 2043 + None, # 2044 + None, # 2045 + None, # 2046 + None, # 2047 + None, # 2048 + None, # 2049 + None, # 2050 + None, # 2051 + None, # 2052 + None, # 2053 + None, # 2054 + None, # 2055 + None, # 2056 + None, # 2057 + None, # 2058 + None, # 2059 + None, # 2060 + None, # 2061 + None, # 2062 + None, # 2063 + None, # 2064 + None, # 2065 + None, # 2066 + None, # 2067 + None, # 2068 + None, # 2069 + None, # 2070 + None, # 2071 + None, # 2072 + None, # 2073 + None, # 2074 + None, # 2075 + None, # 2076 + None, # 2077 + None, # 2078 + None, # 2079 + None, # 2080 + None, # 2081 + None, # 2082 + None, # 2083 + None, # 2084 + None, # 2085 + None, # 2086 + None, # 2087 + None, # 2088 + None, # 2089 + None, # 2090 + None, # 2091 + None, # 2092 + None, # 2093 + None, # 2094 + None, # 2095 + None, # 2096 + None, # 2097 + None, # 2098 + None, # 2099 + None, # 2100 + None, # 2101 + None, # 2102 + None, # 2103 + None, # 2104 + None, # 2105 + None, # 2106 + None, # 2107 + None, # 2108 + None, # 2109 + None, # 2110 + None, # 2111 + None, # 2112 + None, # 2113 + None, # 2114 + None, # 2115 + None, # 2116 + None, # 2117 + None, # 2118 + None, # 2119 + None, # 2120 + None, # 2121 + None, # 2122 + None, # 2123 + None, # 2124 + None, # 2125 + None, # 2126 + None, # 2127 + None, # 2128 + None, # 2129 + None, # 2130 + None, # 2131 + None, # 2132 + None, # 2133 + None, # 2134 + None, # 2135 + None, # 2136 + None, # 2137 + None, # 2138 + None, # 2139 + None, # 2140 + None, # 2141 + None, # 2142 + None, # 2143 + None, # 2144 + None, # 2145 + None, # 2146 + None, # 2147 + None, # 2148 + None, # 2149 + None, # 2150 + None, # 2151 + None, # 2152 + None, # 2153 + None, # 2154 + None, # 2155 + None, # 2156 + None, # 2157 + None, # 2158 + None, # 2159 + None, # 2160 + None, # 2161 + None, # 2162 + None, # 2163 + None, # 2164 + None, # 2165 + None, # 2166 + None, # 2167 + None, # 2168 + None, # 2169 + None, # 2170 + None, # 2171 + None, # 2172 + None, # 2173 + None, # 2174 + None, # 2175 + None, # 2176 + None, # 2177 + None, # 2178 + None, # 2179 + None, # 2180 + None, # 2181 + None, # 2182 + None, # 2183 + None, # 2184 + None, # 2185 + None, # 2186 + None, # 2187 + None, # 2188 + None, # 2189 + None, # 2190 + None, # 2191 + None, # 2192 + None, # 2193 + None, # 2194 + None, # 2195 + None, # 2196 + None, # 2197 + None, # 2198 + None, # 2199 + None, # 2200 + None, # 2201 + None, # 2202 + None, # 2203 + None, # 2204 + None, # 2205 + None, # 2206 + None, # 2207 + None, # 2208 + None, # 2209 + None, # 2210 + None, # 2211 + None, # 2212 + None, # 2213 + None, # 2214 + None, # 2215 + None, # 2216 + None, # 2217 + None, # 2218 + None, # 2219 + None, # 2220 + None, # 2221 + None, # 2222 + None, # 2223 + None, # 2224 + None, # 2225 + None, # 2226 + None, # 2227 + None, # 2228 + None, # 2229 + None, # 2230 + None, # 2231 + None, # 2232 + None, # 2233 + None, # 2234 + None, # 2235 + None, # 2236 + None, # 2237 + None, # 2238 + None, # 2239 + None, # 2240 + None, # 2241 + None, # 2242 + None, # 2243 + None, # 2244 + None, # 2245 + None, # 2246 + None, # 2247 + None, # 2248 + None, # 2249 + None, # 2250 + None, # 2251 + None, # 2252 + None, # 2253 + None, # 2254 + None, # 2255 + None, # 2256 + None, # 2257 + None, # 2258 + None, # 2259 + None, # 2260 + None, # 2261 + None, # 2262 + None, # 2263 + None, # 2264 + None, # 2265 + None, # 2266 + None, # 2267 + None, # 2268 + None, # 2269 + None, # 2270 + None, # 2271 + None, # 2272 + None, # 2273 + None, # 2274 + None, # 2275 + None, # 2276 + None, # 2277 + None, # 2278 + None, # 2279 + None, # 2280 + None, # 2281 + None, # 2282 + None, # 2283 + None, # 2284 + None, # 2285 + None, # 2286 + None, # 2287 + None, # 2288 + None, # 2289 + None, # 2290 + None, # 2291 + None, # 2292 + None, # 2293 + None, # 2294 + None, # 2295 + None, # 2296 + None, # 2297 + None, # 2298 + None, # 2299 + None, # 2300 + None, # 2301 + None, # 2302 + None, # 2303 + None, # 2304 + None, # 2305 + None, # 2306 + None, # 2307 + None, # 2308 + None, # 2309 + None, # 2310 + None, # 2311 + None, # 2312 + None, # 2313 + None, # 2314 + None, # 2315 + None, # 2316 + None, # 2317 + None, # 2318 + None, # 2319 + None, # 2320 + None, # 2321 + None, # 2322 + None, # 2323 + None, # 2324 + None, # 2325 + None, # 2326 + None, # 2327 + None, # 2328 + None, # 2329 + None, # 2330 + None, # 2331 + None, # 2332 + None, # 2333 + None, # 2334 + None, # 2335 + None, # 2336 + None, # 2337 + None, # 2338 + None, # 2339 + None, # 2340 + None, # 2341 + None, # 2342 + None, # 2343 + None, # 2344 + None, # 2345 + None, # 2346 + None, # 2347 + None, # 2348 + None, # 2349 + None, # 2350 + None, # 2351 + None, # 2352 + None, # 2353 + None, # 2354 + None, # 2355 + None, # 2356 + None, # 2357 + None, # 2358 + None, # 2359 + None, # 2360 + None, # 2361 + None, # 2362 + None, # 2363 + None, # 2364 + None, # 2365 + None, # 2366 + None, # 2367 + None, # 2368 + None, # 2369 + None, # 2370 + None, # 2371 + None, # 2372 + None, # 2373 + None, # 2374 + None, # 2375 + None, # 2376 + None, # 2377 + None, # 2378 + None, # 2379 + None, # 2380 + None, # 2381 + None, # 2382 + None, # 2383 + None, # 2384 + None, # 2385 + None, # 2386 + None, # 2387 + None, # 2388 + None, # 2389 + None, # 2390 + None, # 2391 + None, # 2392 + None, # 2393 + None, # 2394 + None, # 2395 + None, # 2396 + None, # 2397 + None, # 2398 + None, # 2399 + None, # 2400 + None, # 2401 + None, # 2402 + None, # 2403 + None, # 2404 + None, # 2405 + None, # 2406 + None, # 2407 + None, # 2408 + None, # 2409 + None, # 2410 + None, # 2411 + None, # 2412 + None, # 2413 + None, # 2414 + None, # 2415 + None, # 2416 + None, # 2417 + None, # 2418 + None, # 2419 + None, # 2420 + None, # 2421 + None, # 2422 + None, # 2423 + None, # 2424 + None, # 2425 + None, # 2426 + None, # 2427 + None, # 2428 + None, # 2429 + None, # 2430 + None, # 2431 + None, # 2432 + None, # 2433 + None, # 2434 + None, # 2435 + None, # 2436 + None, # 2437 + None, # 2438 + None, # 2439 + None, # 2440 + None, # 2441 + None, # 2442 + None, # 2443 + None, # 2444 + None, # 2445 + None, # 2446 + None, # 2447 + None, # 2448 + None, # 2449 + None, # 2450 + None, # 2451 + None, # 2452 + None, # 2453 + None, # 2454 + None, # 2455 + None, # 2456 + None, # 2457 + None, # 2458 + None, # 2459 + None, # 2460 + None, # 2461 + None, # 2462 + None, # 2463 + None, # 2464 + None, # 2465 + None, # 2466 + None, # 2467 + None, # 2468 + None, # 2469 + None, # 2470 + None, # 2471 + None, # 2472 + None, # 2473 + None, # 2474 + None, # 2475 + None, # 2476 + None, # 2477 + None, # 2478 + None, # 2479 + None, # 2480 + None, # 2481 + None, # 2482 + None, # 2483 + None, # 2484 + None, # 2485 + None, # 2486 + None, # 2487 + None, # 2488 + None, # 2489 + None, # 2490 + None, # 2491 + None, # 2492 + None, # 2493 + None, # 2494 + None, # 2495 + None, # 2496 + None, # 2497 + None, # 2498 + None, # 2499 + None, # 2500 + None, # 2501 + None, # 2502 + None, # 2503 + None, # 2504 + None, # 2505 + None, # 2506 + None, # 2507 + None, # 2508 + None, # 2509 + None, # 2510 + None, # 2511 + None, # 2512 + None, # 2513 + None, # 2514 + None, # 2515 + None, # 2516 + None, # 2517 + None, # 2518 + None, # 2519 + None, # 2520 + None, # 2521 + None, # 2522 + None, # 2523 + None, # 2524 + None, # 2525 + None, # 2526 + None, # 2527 + None, # 2528 + None, # 2529 + None, # 2530 + None, # 2531 + None, # 2532 + None, # 2533 + None, # 2534 + None, # 2535 + None, # 2536 + None, # 2537 + None, # 2538 + None, # 2539 + None, # 2540 + None, # 2541 + None, # 2542 + None, # 2543 + None, # 2544 + None, # 2545 + None, # 2546 + None, # 2547 + None, # 2548 + None, # 2549 + None, # 2550 + None, # 2551 + None, # 2552 + None, # 2553 + None, # 2554 + None, # 2555 + None, # 2556 + None, # 2557 + None, # 2558 + None, # 2559 + None, # 2560 + None, # 2561 + None, # 2562 + None, # 2563 + None, # 2564 + None, # 2565 + None, # 2566 + None, # 2567 + None, # 2568 + None, # 2569 + None, # 2570 + None, # 2571 + None, # 2572 + None, # 2573 + None, # 2574 + None, # 2575 + None, # 2576 + None, # 2577 + None, # 2578 + None, # 2579 + None, # 2580 + None, # 2581 + None, # 2582 + None, # 2583 + None, # 2584 + None, # 2585 + None, # 2586 + None, # 2587 + None, # 2588 + None, # 2589 + None, # 2590 + None, # 2591 + None, # 2592 + None, # 2593 + None, # 2594 + None, # 2595 + None, # 2596 + None, # 2597 + None, # 2598 + None, # 2599 + None, # 2600 + None, # 2601 + None, # 2602 + None, # 2603 + None, # 2604 + None, # 2605 + None, # 2606 + None, # 2607 + None, # 2608 + None, # 2609 + None, # 2610 + None, # 2611 + None, # 2612 + None, # 2613 + None, # 2614 + None, # 2615 + None, # 2616 + None, # 2617 + None, # 2618 + None, # 2619 + None, # 2620 + None, # 2621 + None, # 2622 + None, # 2623 + None, # 2624 + None, # 2625 + None, # 2626 + None, # 2627 + None, # 2628 + None, # 2629 + None, # 2630 + None, # 2631 + None, # 2632 + None, # 2633 + None, # 2634 + None, # 2635 + None, # 2636 + None, # 2637 + None, # 2638 + None, # 2639 + None, # 2640 + None, # 2641 + None, # 2642 + None, # 2643 + None, # 2644 + None, # 2645 + None, # 2646 + None, # 2647 + None, # 2648 + None, # 2649 + None, # 2650 + None, # 2651 + None, # 2652 + None, # 2653 + None, # 2654 + None, # 2655 + None, # 2656 + None, # 2657 + None, # 2658 + None, # 2659 + None, # 2660 + None, # 2661 + None, # 2662 + None, # 2663 + None, # 2664 + None, # 2665 + None, # 2666 + None, # 2667 + None, # 2668 + None, # 2669 + None, # 2670 + None, # 2671 + None, # 2672 + None, # 2673 + None, # 2674 + None, # 2675 + None, # 2676 + None, # 2677 + None, # 2678 + None, # 2679 + None, # 2680 + None, # 2681 + None, # 2682 + None, # 2683 + None, # 2684 + None, # 2685 + None, # 2686 + None, # 2687 + None, # 2688 + None, # 2689 + None, # 2690 + None, # 2691 + None, # 2692 + None, # 2693 + None, # 2694 + None, # 2695 + None, # 2696 + None, # 2697 + None, # 2698 + None, # 2699 + None, # 2700 + None, # 2701 + None, # 2702 + None, # 2703 + None, # 2704 + None, # 2705 + None, # 2706 + None, # 2707 + None, # 2708 + None, # 2709 + None, # 2710 + None, # 2711 + None, # 2712 + None, # 2713 + None, # 2714 + None, # 2715 + None, # 2716 + None, # 2717 + None, # 2718 + None, # 2719 + None, # 2720 + None, # 2721 + None, # 2722 + None, # 2723 + None, # 2724 + None, # 2725 + None, # 2726 + None, # 2727 + None, # 2728 + None, # 2729 + None, # 2730 + None, # 2731 + None, # 2732 + None, # 2733 + None, # 2734 + None, # 2735 + None, # 2736 + None, # 2737 + None, # 2738 + None, # 2739 + None, # 2740 + None, # 2741 + None, # 2742 + None, # 2743 + None, # 2744 + None, # 2745 + None, # 2746 + None, # 2747 + None, # 2748 + None, # 2749 + None, # 2750 + None, # 2751 + None, # 2752 + None, # 2753 + None, # 2754 + None, # 2755 + None, # 2756 + None, # 2757 + None, # 2758 + None, # 2759 + None, # 2760 + None, # 2761 + None, # 2762 + None, # 2763 + None, # 2764 + None, # 2765 + None, # 2766 + None, # 2767 + None, # 2768 + None, # 2769 + None, # 2770 + None, # 2771 + None, # 2772 + None, # 2773 + None, # 2774 + None, # 2775 + None, # 2776 + None, # 2777 + None, # 2778 + None, # 2779 + None, # 2780 + None, # 2781 + None, # 2782 + None, # 2783 + None, # 2784 + None, # 2785 + None, # 2786 + None, # 2787 + None, # 2788 + None, # 2789 + None, # 2790 + None, # 2791 + None, # 2792 + None, # 2793 + None, # 2794 + None, # 2795 + None, # 2796 + None, # 2797 + None, # 2798 + None, # 2799 + None, # 2800 + None, # 2801 + None, # 2802 + None, # 2803 + None, # 2804 + None, # 2805 + None, # 2806 + None, # 2807 + None, # 2808 + None, # 2809 + None, # 2810 + None, # 2811 + None, # 2812 + None, # 2813 + None, # 2814 + None, # 2815 + None, # 2816 + None, # 2817 + None, # 2818 + None, # 2819 + None, # 2820 + None, # 2821 + None, # 2822 + None, # 2823 + None, # 2824 + None, # 2825 + None, # 2826 + None, # 2827 + None, # 2828 + None, # 2829 + None, # 2830 + None, # 2831 + None, # 2832 + None, # 2833 + None, # 2834 + None, # 2835 + None, # 2836 + None, # 2837 + None, # 2838 + None, # 2839 + None, # 2840 + None, # 2841 + None, # 2842 + None, # 2843 + None, # 2844 + None, # 2845 + None, # 2846 + None, # 2847 + None, # 2848 + None, # 2849 + None, # 2850 + None, # 2851 + None, # 2852 + None, # 2853 + None, # 2854 + None, # 2855 + None, # 2856 + None, # 2857 + None, # 2858 + None, # 2859 + None, # 2860 + None, # 2861 + None, # 2862 + None, # 2863 + None, # 2864 + None, # 2865 + None, # 2866 + None, # 2867 + None, # 2868 + None, # 2869 + None, # 2870 + None, # 2871 + None, # 2872 + None, # 2873 + None, # 2874 + None, # 2875 + None, # 2876 + None, # 2877 + None, # 2878 + None, # 2879 + None, # 2880 + None, # 2881 + None, # 2882 + None, # 2883 + None, # 2884 + None, # 2885 + None, # 2886 + None, # 2887 + None, # 2888 + None, # 2889 + None, # 2890 + None, # 2891 + None, # 2892 + None, # 2893 + None, # 2894 + None, # 2895 + None, # 2896 + None, # 2897 + None, # 2898 + None, # 2899 + None, # 2900 + None, # 2901 + None, # 2902 + None, # 2903 + None, # 2904 + None, # 2905 + None, # 2906 + None, # 2907 + None, # 2908 + None, # 2909 + None, # 2910 + None, # 2911 + None, # 2912 + None, # 2913 + None, # 2914 + None, # 2915 + None, # 2916 + None, # 2917 + None, # 2918 + None, # 2919 + None, # 2920 + None, # 2921 + None, # 2922 + None, # 2923 + None, # 2924 + None, # 2925 + None, # 2926 + None, # 2927 + None, # 2928 + None, # 2929 + None, # 2930 + None, # 2931 + None, # 2932 + None, # 2933 + None, # 2934 + None, # 2935 + None, # 2936 + None, # 2937 + None, # 2938 + None, # 2939 + None, # 2940 + None, # 2941 + None, # 2942 + None, # 2943 + None, # 2944 + None, # 2945 + None, # 2946 + None, # 2947 + None, # 2948 + None, # 2949 + None, # 2950 + None, # 2951 + None, # 2952 + None, # 2953 + None, # 2954 + None, # 2955 + None, # 2956 + None, # 2957 + None, # 2958 + None, # 2959 + None, # 2960 + None, # 2961 + None, # 2962 + None, # 2963 + None, # 2964 + None, # 2965 + None, # 2966 + None, # 2967 + None, # 2968 + None, # 2969 + None, # 2970 + None, # 2971 + None, # 2972 + None, # 2973 + None, # 2974 + None, # 2975 + None, # 2976 + None, # 2977 + None, # 2978 + None, # 2979 + None, # 2980 + None, # 2981 + None, # 2982 + None, # 2983 + None, # 2984 + None, # 2985 + None, # 2986 + None, # 2987 + None, # 2988 + None, # 2989 + None, # 2990 + None, # 2991 + None, # 2992 + None, # 2993 + None, # 2994 + None, # 2995 + None, # 2996 + None, # 2997 + None, # 2998 + None, # 2999 + None, # 3000 + None, # 3001 + None, # 3002 + None, # 3003 + None, # 3004 + None, # 3005 + None, # 3006 + None, # 3007 + None, # 3008 + None, # 3009 + None, # 3010 + None, # 3011 + None, # 3012 + None, # 3013 + None, # 3014 + None, # 3015 + None, # 3016 + None, # 3017 + None, # 3018 + None, # 3019 + None, # 3020 + None, # 3021 + None, # 3022 + None, # 3023 + None, # 3024 + None, # 3025 + None, # 3026 + None, # 3027 + None, # 3028 + None, # 3029 + None, # 3030 + None, # 3031 + None, # 3032 + None, # 3033 + None, # 3034 + None, # 3035 + None, # 3036 + None, # 3037 + None, # 3038 + None, # 3039 + None, # 3040 + None, # 3041 + None, # 3042 + None, # 3043 + None, # 3044 + None, # 3045 + None, # 3046 + None, # 3047 + None, # 3048 + None, # 3049 + None, # 3050 + None, # 3051 + None, # 3052 + None, # 3053 + None, # 3054 + None, # 3055 + None, # 3056 + None, # 3057 + None, # 3058 + None, # 3059 + None, # 3060 + None, # 3061 + None, # 3062 + None, # 3063 + None, # 3064 + None, # 3065 + None, # 3066 + None, # 3067 + None, # 3068 + None, # 3069 + None, # 3070 + None, # 3071 + None, # 3072 + None, # 3073 + None, # 3074 + None, # 3075 + None, # 3076 + None, # 3077 + None, # 3078 + None, # 3079 + None, # 3080 + None, # 3081 + None, # 3082 + None, # 3083 + None, # 3084 + None, # 3085 + None, # 3086 + None, # 3087 + None, # 3088 + None, # 3089 + None, # 3090 + None, # 3091 + None, # 3092 + None, # 3093 + None, # 3094 + None, # 3095 + None, # 3096 + None, # 3097 + None, # 3098 + None, # 3099 + None, # 3100 + None, # 3101 + None, # 3102 + None, # 3103 + None, # 3104 + None, # 3105 + None, # 3106 + None, # 3107 + None, # 3108 + None, # 3109 + None, # 3110 + None, # 3111 + None, # 3112 + None, # 3113 + None, # 3114 + None, # 3115 + None, # 3116 + None, # 3117 + None, # 3118 + None, # 3119 + None, # 3120 + None, # 3121 + None, # 3122 + None, # 3123 + None, # 3124 + None, # 3125 + None, # 3126 + None, # 3127 + None, # 3128 + None, # 3129 + None, # 3130 + None, # 3131 + None, # 3132 + None, # 3133 + None, # 3134 + None, # 3135 + None, # 3136 + None, # 3137 + None, # 3138 + None, # 3139 + None, # 3140 + None, # 3141 + None, # 3142 + None, # 3143 + None, # 3144 + None, # 3145 + None, # 3146 + None, # 3147 + None, # 3148 + None, # 3149 + None, # 3150 + None, # 3151 + None, # 3152 + None, # 3153 + None, # 3154 + None, # 3155 + None, # 3156 + None, # 3157 + None, # 3158 + None, # 3159 + None, # 3160 + None, # 3161 + None, # 3162 + None, # 3163 + None, # 3164 + None, # 3165 + None, # 3166 + None, # 3167 + None, # 3168 + None, # 3169 + None, # 3170 + None, # 3171 + None, # 3172 + None, # 3173 + None, # 3174 + None, # 3175 + None, # 3176 + None, # 3177 + None, # 3178 + None, # 3179 + None, # 3180 + None, # 3181 + None, # 3182 + None, # 3183 + None, # 3184 + None, # 3185 + None, # 3186 + None, # 3187 + None, # 3188 + None, # 3189 + None, # 3190 + None, # 3191 + None, # 3192 + None, # 3193 + None, # 3194 + None, # 3195 + None, # 3196 + None, # 3197 + None, # 3198 + None, # 3199 + None, # 3200 + None, # 3201 + None, # 3202 + None, # 3203 + None, # 3204 + None, # 3205 + None, # 3206 + None, # 3207 + None, # 3208 + None, # 3209 + None, # 3210 + None, # 3211 + None, # 3212 + None, # 3213 + None, # 3214 + None, # 3215 + None, # 3216 + None, # 3217 + None, # 3218 + None, # 3219 + None, # 3220 + None, # 3221 + None, # 3222 + None, # 3223 + None, # 3224 + None, # 3225 + None, # 3226 + None, # 3227 + None, # 3228 + None, # 3229 + None, # 3230 + None, # 3231 + None, # 3232 + None, # 3233 + None, # 3234 + None, # 3235 + None, # 3236 + None, # 3237 + None, # 3238 + None, # 3239 + None, # 3240 + None, # 3241 + None, # 3242 + None, # 3243 + None, # 3244 + None, # 3245 + None, # 3246 + None, # 3247 + None, # 3248 + None, # 3249 + None, # 3250 + None, # 3251 + None, # 3252 + None, # 3253 + None, # 3254 + None, # 3255 + None, # 3256 + None, # 3257 + None, # 3258 + None, # 3259 + None, # 3260 + None, # 3261 + None, # 3262 + None, # 3263 + None, # 3264 + None, # 3265 + None, # 3266 + None, # 3267 + None, # 3268 + None, # 3269 + None, # 3270 + None, # 3271 + None, # 3272 + None, # 3273 + None, # 3274 + None, # 3275 + None, # 3276 + None, # 3277 + None, # 3278 + None, # 3279 + None, # 3280 + None, # 3281 + None, # 3282 + None, # 3283 + None, # 3284 + None, # 3285 + None, # 3286 + None, # 3287 + None, # 3288 + None, # 3289 + None, # 3290 + None, # 3291 + None, # 3292 + None, # 3293 + None, # 3294 + None, # 3295 + None, # 3296 + None, # 3297 + None, # 3298 + None, # 3299 + None, # 3300 + None, # 3301 + None, # 3302 + None, # 3303 + None, # 3304 + None, # 3305 + None, # 3306 + None, # 3307 + None, # 3308 + None, # 3309 + None, # 3310 + None, # 3311 + None, # 3312 + None, # 3313 + None, # 3314 + None, # 3315 + None, # 3316 + None, # 3317 + None, # 3318 + None, # 3319 + None, # 3320 + None, # 3321 + None, # 3322 + None, # 3323 + None, # 3324 + None, # 3325 + None, # 3326 + None, # 3327 + None, # 3328 + (3329, TType.STRUCT, 'operationId', [THandleIdentifier, None], None, ), # 3329 + (3330, TType.STRUCT, 'sessionConf', [TDBSqlSessionConf, None], None, ), # 3330 ) all_structs.append(TGetColumnsResp) TGetColumnsResp.thrift_spec = ( - None, # 0 - ( - 1, - TType.STRUCT, - "status", - [TStatus, None], - None, - ), # 1 - ( - 2, - TType.STRUCT, - "operationHandle", - [TOperationHandle, None], - None, - ), # 2 - None, # 3 - None, # 4 - None, # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - ( - 1281, - TType.STRUCT, - "directResults", - [TSparkDirectResults, None], - None, - ), # 1281 + None, # 0 + (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 + (2, TType.STRUCT, 'operationHandle', [TOperationHandle, None], None, ), # 2 + None, # 3 + None, # 4 + None, # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + (1281, TType.STRUCT, 'directResults', [TSparkDirectResults, None], None, ), # 1281 ) all_structs.append(TGetFunctionsReq) TGetFunctionsReq.thrift_spec = ( - None, # 0 - ( - 1, - TType.STRUCT, - "sessionHandle", - [TSessionHandle, None], - None, - ), # 1 - ( - 2, - TType.STRING, - "catalogName", - "UTF8", - None, - ), # 2 - ( - 3, - TType.STRING, - "schemaName", - "UTF8", - None, - ), # 3 - ( - 4, - TType.STRING, - "functionName", - "UTF8", - None, - ), # 4 - None, # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - ( - 1281, - TType.STRUCT, - "getDirectResults", - [TSparkGetDirectResults, None], - None, - ), # 1281 - ( - 1282, - TType.BOOL, - "runAsync", - None, - False, - ), # 1282 - None, # 1283 - None, # 1284 - None, # 1285 - None, # 1286 - None, # 1287 - None, # 1288 - None, # 1289 - None, # 1290 - None, # 1291 - None, # 1292 - None, # 1293 - None, # 1294 - None, # 1295 - None, # 1296 - None, # 1297 - None, # 1298 - None, # 1299 - None, # 1300 - None, # 1301 - None, # 1302 - None, # 1303 - None, # 1304 - None, # 1305 - None, # 1306 - None, # 1307 - None, # 1308 - None, # 1309 - None, # 1310 - None, # 1311 - None, # 1312 - None, # 1313 - None, # 1314 - None, # 1315 - None, # 1316 - None, # 1317 - None, # 1318 - None, # 1319 - None, # 1320 - None, # 1321 - None, # 1322 - None, # 1323 - None, # 1324 - None, # 1325 - None, # 1326 - None, # 1327 - None, # 1328 - None, # 1329 - None, # 1330 - None, # 1331 - None, # 1332 - None, # 1333 - None, # 1334 - None, # 1335 - None, # 1336 - None, # 1337 - None, # 1338 - None, # 1339 - None, # 1340 - None, # 1341 - None, # 1342 - None, # 1343 - None, # 1344 - None, # 1345 - None, # 1346 - None, # 1347 - None, # 1348 - None, # 1349 - None, # 1350 - None, # 1351 - None, # 1352 - None, # 1353 - None, # 1354 - None, # 1355 - None, # 1356 - None, # 1357 - None, # 1358 - None, # 1359 - None, # 1360 - None, # 1361 - None, # 1362 - None, # 1363 - None, # 1364 - None, # 1365 - None, # 1366 - None, # 1367 - None, # 1368 - None, # 1369 - None, # 1370 - None, # 1371 - None, # 1372 - None, # 1373 - None, # 1374 - None, # 1375 - None, # 1376 - None, # 1377 - None, # 1378 - None, # 1379 - None, # 1380 - None, # 1381 - None, # 1382 - None, # 1383 - None, # 1384 - None, # 1385 - None, # 1386 - None, # 1387 - None, # 1388 - None, # 1389 - None, # 1390 - None, # 1391 - None, # 1392 - None, # 1393 - None, # 1394 - None, # 1395 - None, # 1396 - None, # 1397 - None, # 1398 - None, # 1399 - None, # 1400 - None, # 1401 - None, # 1402 - None, # 1403 - None, # 1404 - None, # 1405 - None, # 1406 - None, # 1407 - None, # 1408 - None, # 1409 - None, # 1410 - None, # 1411 - None, # 1412 - None, # 1413 - None, # 1414 - None, # 1415 - None, # 1416 - None, # 1417 - None, # 1418 - None, # 1419 - None, # 1420 - None, # 1421 - None, # 1422 - None, # 1423 - None, # 1424 - None, # 1425 - None, # 1426 - None, # 1427 - None, # 1428 - None, # 1429 - None, # 1430 - None, # 1431 - None, # 1432 - None, # 1433 - None, # 1434 - None, # 1435 - None, # 1436 - None, # 1437 - None, # 1438 - None, # 1439 - None, # 1440 - None, # 1441 - None, # 1442 - None, # 1443 - None, # 1444 - None, # 1445 - None, # 1446 - None, # 1447 - None, # 1448 - None, # 1449 - None, # 1450 - None, # 1451 - None, # 1452 - None, # 1453 - None, # 1454 - None, # 1455 - None, # 1456 - None, # 1457 - None, # 1458 - None, # 1459 - None, # 1460 - None, # 1461 - None, # 1462 - None, # 1463 - None, # 1464 - None, # 1465 - None, # 1466 - None, # 1467 - None, # 1468 - None, # 1469 - None, # 1470 - None, # 1471 - None, # 1472 - None, # 1473 - None, # 1474 - None, # 1475 - None, # 1476 - None, # 1477 - None, # 1478 - None, # 1479 - None, # 1480 - None, # 1481 - None, # 1482 - None, # 1483 - None, # 1484 - None, # 1485 - None, # 1486 - None, # 1487 - None, # 1488 - None, # 1489 - None, # 1490 - None, # 1491 - None, # 1492 - None, # 1493 - None, # 1494 - None, # 1495 - None, # 1496 - None, # 1497 - None, # 1498 - None, # 1499 - None, # 1500 - None, # 1501 - None, # 1502 - None, # 1503 - None, # 1504 - None, # 1505 - None, # 1506 - None, # 1507 - None, # 1508 - None, # 1509 - None, # 1510 - None, # 1511 - None, # 1512 - None, # 1513 - None, # 1514 - None, # 1515 - None, # 1516 - None, # 1517 - None, # 1518 - None, # 1519 - None, # 1520 - None, # 1521 - None, # 1522 - None, # 1523 - None, # 1524 - None, # 1525 - None, # 1526 - None, # 1527 - None, # 1528 - None, # 1529 - None, # 1530 - None, # 1531 - None, # 1532 - None, # 1533 - None, # 1534 - None, # 1535 - None, # 1536 - None, # 1537 - None, # 1538 - None, # 1539 - None, # 1540 - None, # 1541 - None, # 1542 - None, # 1543 - None, # 1544 - None, # 1545 - None, # 1546 - None, # 1547 - None, # 1548 - None, # 1549 - None, # 1550 - None, # 1551 - None, # 1552 - None, # 1553 - None, # 1554 - None, # 1555 - None, # 1556 - None, # 1557 - None, # 1558 - None, # 1559 - None, # 1560 - None, # 1561 - None, # 1562 - None, # 1563 - None, # 1564 - None, # 1565 - None, # 1566 - None, # 1567 - None, # 1568 - None, # 1569 - None, # 1570 - None, # 1571 - None, # 1572 - None, # 1573 - None, # 1574 - None, # 1575 - None, # 1576 - None, # 1577 - None, # 1578 - None, # 1579 - None, # 1580 - None, # 1581 - None, # 1582 - None, # 1583 - None, # 1584 - None, # 1585 - None, # 1586 - None, # 1587 - None, # 1588 - None, # 1589 - None, # 1590 - None, # 1591 - None, # 1592 - None, # 1593 - None, # 1594 - None, # 1595 - None, # 1596 - None, # 1597 - None, # 1598 - None, # 1599 - None, # 1600 - None, # 1601 - None, # 1602 - None, # 1603 - None, # 1604 - None, # 1605 - None, # 1606 - None, # 1607 - None, # 1608 - None, # 1609 - None, # 1610 - None, # 1611 - None, # 1612 - None, # 1613 - None, # 1614 - None, # 1615 - None, # 1616 - None, # 1617 - None, # 1618 - None, # 1619 - None, # 1620 - None, # 1621 - None, # 1622 - None, # 1623 - None, # 1624 - None, # 1625 - None, # 1626 - None, # 1627 - None, # 1628 - None, # 1629 - None, # 1630 - None, # 1631 - None, # 1632 - None, # 1633 - None, # 1634 - None, # 1635 - None, # 1636 - None, # 1637 - None, # 1638 - None, # 1639 - None, # 1640 - None, # 1641 - None, # 1642 - None, # 1643 - None, # 1644 - None, # 1645 - None, # 1646 - None, # 1647 - None, # 1648 - None, # 1649 - None, # 1650 - None, # 1651 - None, # 1652 - None, # 1653 - None, # 1654 - None, # 1655 - None, # 1656 - None, # 1657 - None, # 1658 - None, # 1659 - None, # 1660 - None, # 1661 - None, # 1662 - None, # 1663 - None, # 1664 - None, # 1665 - None, # 1666 - None, # 1667 - None, # 1668 - None, # 1669 - None, # 1670 - None, # 1671 - None, # 1672 - None, # 1673 - None, # 1674 - None, # 1675 - None, # 1676 - None, # 1677 - None, # 1678 - None, # 1679 - None, # 1680 - None, # 1681 - None, # 1682 - None, # 1683 - None, # 1684 - None, # 1685 - None, # 1686 - None, # 1687 - None, # 1688 - None, # 1689 - None, # 1690 - None, # 1691 - None, # 1692 - None, # 1693 - None, # 1694 - None, # 1695 - None, # 1696 - None, # 1697 - None, # 1698 - None, # 1699 - None, # 1700 - None, # 1701 - None, # 1702 - None, # 1703 - None, # 1704 - None, # 1705 - None, # 1706 - None, # 1707 - None, # 1708 - None, # 1709 - None, # 1710 - None, # 1711 - None, # 1712 - None, # 1713 - None, # 1714 - None, # 1715 - None, # 1716 - None, # 1717 - None, # 1718 - None, # 1719 - None, # 1720 - None, # 1721 - None, # 1722 - None, # 1723 - None, # 1724 - None, # 1725 - None, # 1726 - None, # 1727 - None, # 1728 - None, # 1729 - None, # 1730 - None, # 1731 - None, # 1732 - None, # 1733 - None, # 1734 - None, # 1735 - None, # 1736 - None, # 1737 - None, # 1738 - None, # 1739 - None, # 1740 - None, # 1741 - None, # 1742 - None, # 1743 - None, # 1744 - None, # 1745 - None, # 1746 - None, # 1747 - None, # 1748 - None, # 1749 - None, # 1750 - None, # 1751 - None, # 1752 - None, # 1753 - None, # 1754 - None, # 1755 - None, # 1756 - None, # 1757 - None, # 1758 - None, # 1759 - None, # 1760 - None, # 1761 - None, # 1762 - None, # 1763 - None, # 1764 - None, # 1765 - None, # 1766 - None, # 1767 - None, # 1768 - None, # 1769 - None, # 1770 - None, # 1771 - None, # 1772 - None, # 1773 - None, # 1774 - None, # 1775 - None, # 1776 - None, # 1777 - None, # 1778 - None, # 1779 - None, # 1780 - None, # 1781 - None, # 1782 - None, # 1783 - None, # 1784 - None, # 1785 - None, # 1786 - None, # 1787 - None, # 1788 - None, # 1789 - None, # 1790 - None, # 1791 - None, # 1792 - None, # 1793 - None, # 1794 - None, # 1795 - None, # 1796 - None, # 1797 - None, # 1798 - None, # 1799 - None, # 1800 - None, # 1801 - None, # 1802 - None, # 1803 - None, # 1804 - None, # 1805 - None, # 1806 - None, # 1807 - None, # 1808 - None, # 1809 - None, # 1810 - None, # 1811 - None, # 1812 - None, # 1813 - None, # 1814 - None, # 1815 - None, # 1816 - None, # 1817 - None, # 1818 - None, # 1819 - None, # 1820 - None, # 1821 - None, # 1822 - None, # 1823 - None, # 1824 - None, # 1825 - None, # 1826 - None, # 1827 - None, # 1828 - None, # 1829 - None, # 1830 - None, # 1831 - None, # 1832 - None, # 1833 - None, # 1834 - None, # 1835 - None, # 1836 - None, # 1837 - None, # 1838 - None, # 1839 - None, # 1840 - None, # 1841 - None, # 1842 - None, # 1843 - None, # 1844 - None, # 1845 - None, # 1846 - None, # 1847 - None, # 1848 - None, # 1849 - None, # 1850 - None, # 1851 - None, # 1852 - None, # 1853 - None, # 1854 - None, # 1855 - None, # 1856 - None, # 1857 - None, # 1858 - None, # 1859 - None, # 1860 - None, # 1861 - None, # 1862 - None, # 1863 - None, # 1864 - None, # 1865 - None, # 1866 - None, # 1867 - None, # 1868 - None, # 1869 - None, # 1870 - None, # 1871 - None, # 1872 - None, # 1873 - None, # 1874 - None, # 1875 - None, # 1876 - None, # 1877 - None, # 1878 - None, # 1879 - None, # 1880 - None, # 1881 - None, # 1882 - None, # 1883 - None, # 1884 - None, # 1885 - None, # 1886 - None, # 1887 - None, # 1888 - None, # 1889 - None, # 1890 - None, # 1891 - None, # 1892 - None, # 1893 - None, # 1894 - None, # 1895 - None, # 1896 - None, # 1897 - None, # 1898 - None, # 1899 - None, # 1900 - None, # 1901 - None, # 1902 - None, # 1903 - None, # 1904 - None, # 1905 - None, # 1906 - None, # 1907 - None, # 1908 - None, # 1909 - None, # 1910 - None, # 1911 - None, # 1912 - None, # 1913 - None, # 1914 - None, # 1915 - None, # 1916 - None, # 1917 - None, # 1918 - None, # 1919 - None, # 1920 - None, # 1921 - None, # 1922 - None, # 1923 - None, # 1924 - None, # 1925 - None, # 1926 - None, # 1927 - None, # 1928 - None, # 1929 - None, # 1930 - None, # 1931 - None, # 1932 - None, # 1933 - None, # 1934 - None, # 1935 - None, # 1936 - None, # 1937 - None, # 1938 - None, # 1939 - None, # 1940 - None, # 1941 - None, # 1942 - None, # 1943 - None, # 1944 - None, # 1945 - None, # 1946 - None, # 1947 - None, # 1948 - None, # 1949 - None, # 1950 - None, # 1951 - None, # 1952 - None, # 1953 - None, # 1954 - None, # 1955 - None, # 1956 - None, # 1957 - None, # 1958 - None, # 1959 - None, # 1960 - None, # 1961 - None, # 1962 - None, # 1963 - None, # 1964 - None, # 1965 - None, # 1966 - None, # 1967 - None, # 1968 - None, # 1969 - None, # 1970 - None, # 1971 - None, # 1972 - None, # 1973 - None, # 1974 - None, # 1975 - None, # 1976 - None, # 1977 - None, # 1978 - None, # 1979 - None, # 1980 - None, # 1981 - None, # 1982 - None, # 1983 - None, # 1984 - None, # 1985 - None, # 1986 - None, # 1987 - None, # 1988 - None, # 1989 - None, # 1990 - None, # 1991 - None, # 1992 - None, # 1993 - None, # 1994 - None, # 1995 - None, # 1996 - None, # 1997 - None, # 1998 - None, # 1999 - None, # 2000 - None, # 2001 - None, # 2002 - None, # 2003 - None, # 2004 - None, # 2005 - None, # 2006 - None, # 2007 - None, # 2008 - None, # 2009 - None, # 2010 - None, # 2011 - None, # 2012 - None, # 2013 - None, # 2014 - None, # 2015 - None, # 2016 - None, # 2017 - None, # 2018 - None, # 2019 - None, # 2020 - None, # 2021 - None, # 2022 - None, # 2023 - None, # 2024 - None, # 2025 - None, # 2026 - None, # 2027 - None, # 2028 - None, # 2029 - None, # 2030 - None, # 2031 - None, # 2032 - None, # 2033 - None, # 2034 - None, # 2035 - None, # 2036 - None, # 2037 - None, # 2038 - None, # 2039 - None, # 2040 - None, # 2041 - None, # 2042 - None, # 2043 - None, # 2044 - None, # 2045 - None, # 2046 - None, # 2047 - None, # 2048 - None, # 2049 - None, # 2050 - None, # 2051 - None, # 2052 - None, # 2053 - None, # 2054 - None, # 2055 - None, # 2056 - None, # 2057 - None, # 2058 - None, # 2059 - None, # 2060 - None, # 2061 - None, # 2062 - None, # 2063 - None, # 2064 - None, # 2065 - None, # 2066 - None, # 2067 - None, # 2068 - None, # 2069 - None, # 2070 - None, # 2071 - None, # 2072 - None, # 2073 - None, # 2074 - None, # 2075 - None, # 2076 - None, # 2077 - None, # 2078 - None, # 2079 - None, # 2080 - None, # 2081 - None, # 2082 - None, # 2083 - None, # 2084 - None, # 2085 - None, # 2086 - None, # 2087 - None, # 2088 - None, # 2089 - None, # 2090 - None, # 2091 - None, # 2092 - None, # 2093 - None, # 2094 - None, # 2095 - None, # 2096 - None, # 2097 - None, # 2098 - None, # 2099 - None, # 2100 - None, # 2101 - None, # 2102 - None, # 2103 - None, # 2104 - None, # 2105 - None, # 2106 - None, # 2107 - None, # 2108 - None, # 2109 - None, # 2110 - None, # 2111 - None, # 2112 - None, # 2113 - None, # 2114 - None, # 2115 - None, # 2116 - None, # 2117 - None, # 2118 - None, # 2119 - None, # 2120 - None, # 2121 - None, # 2122 - None, # 2123 - None, # 2124 - None, # 2125 - None, # 2126 - None, # 2127 - None, # 2128 - None, # 2129 - None, # 2130 - None, # 2131 - None, # 2132 - None, # 2133 - None, # 2134 - None, # 2135 - None, # 2136 - None, # 2137 - None, # 2138 - None, # 2139 - None, # 2140 - None, # 2141 - None, # 2142 - None, # 2143 - None, # 2144 - None, # 2145 - None, # 2146 - None, # 2147 - None, # 2148 - None, # 2149 - None, # 2150 - None, # 2151 - None, # 2152 - None, # 2153 - None, # 2154 - None, # 2155 - None, # 2156 - None, # 2157 - None, # 2158 - None, # 2159 - None, # 2160 - None, # 2161 - None, # 2162 - None, # 2163 - None, # 2164 - None, # 2165 - None, # 2166 - None, # 2167 - None, # 2168 - None, # 2169 - None, # 2170 - None, # 2171 - None, # 2172 - None, # 2173 - None, # 2174 - None, # 2175 - None, # 2176 - None, # 2177 - None, # 2178 - None, # 2179 - None, # 2180 - None, # 2181 - None, # 2182 - None, # 2183 - None, # 2184 - None, # 2185 - None, # 2186 - None, # 2187 - None, # 2188 - None, # 2189 - None, # 2190 - None, # 2191 - None, # 2192 - None, # 2193 - None, # 2194 - None, # 2195 - None, # 2196 - None, # 2197 - None, # 2198 - None, # 2199 - None, # 2200 - None, # 2201 - None, # 2202 - None, # 2203 - None, # 2204 - None, # 2205 - None, # 2206 - None, # 2207 - None, # 2208 - None, # 2209 - None, # 2210 - None, # 2211 - None, # 2212 - None, # 2213 - None, # 2214 - None, # 2215 - None, # 2216 - None, # 2217 - None, # 2218 - None, # 2219 - None, # 2220 - None, # 2221 - None, # 2222 - None, # 2223 - None, # 2224 - None, # 2225 - None, # 2226 - None, # 2227 - None, # 2228 - None, # 2229 - None, # 2230 - None, # 2231 - None, # 2232 - None, # 2233 - None, # 2234 - None, # 2235 - None, # 2236 - None, # 2237 - None, # 2238 - None, # 2239 - None, # 2240 - None, # 2241 - None, # 2242 - None, # 2243 - None, # 2244 - None, # 2245 - None, # 2246 - None, # 2247 - None, # 2248 - None, # 2249 - None, # 2250 - None, # 2251 - None, # 2252 - None, # 2253 - None, # 2254 - None, # 2255 - None, # 2256 - None, # 2257 - None, # 2258 - None, # 2259 - None, # 2260 - None, # 2261 - None, # 2262 - None, # 2263 - None, # 2264 - None, # 2265 - None, # 2266 - None, # 2267 - None, # 2268 - None, # 2269 - None, # 2270 - None, # 2271 - None, # 2272 - None, # 2273 - None, # 2274 - None, # 2275 - None, # 2276 - None, # 2277 - None, # 2278 - None, # 2279 - None, # 2280 - None, # 2281 - None, # 2282 - None, # 2283 - None, # 2284 - None, # 2285 - None, # 2286 - None, # 2287 - None, # 2288 - None, # 2289 - None, # 2290 - None, # 2291 - None, # 2292 - None, # 2293 - None, # 2294 - None, # 2295 - None, # 2296 - None, # 2297 - None, # 2298 - None, # 2299 - None, # 2300 - None, # 2301 - None, # 2302 - None, # 2303 - None, # 2304 - None, # 2305 - None, # 2306 - None, # 2307 - None, # 2308 - None, # 2309 - None, # 2310 - None, # 2311 - None, # 2312 - None, # 2313 - None, # 2314 - None, # 2315 - None, # 2316 - None, # 2317 - None, # 2318 - None, # 2319 - None, # 2320 - None, # 2321 - None, # 2322 - None, # 2323 - None, # 2324 - None, # 2325 - None, # 2326 - None, # 2327 - None, # 2328 - None, # 2329 - None, # 2330 - None, # 2331 - None, # 2332 - None, # 2333 - None, # 2334 - None, # 2335 - None, # 2336 - None, # 2337 - None, # 2338 - None, # 2339 - None, # 2340 - None, # 2341 - None, # 2342 - None, # 2343 - None, # 2344 - None, # 2345 - None, # 2346 - None, # 2347 - None, # 2348 - None, # 2349 - None, # 2350 - None, # 2351 - None, # 2352 - None, # 2353 - None, # 2354 - None, # 2355 - None, # 2356 - None, # 2357 - None, # 2358 - None, # 2359 - None, # 2360 - None, # 2361 - None, # 2362 - None, # 2363 - None, # 2364 - None, # 2365 - None, # 2366 - None, # 2367 - None, # 2368 - None, # 2369 - None, # 2370 - None, # 2371 - None, # 2372 - None, # 2373 - None, # 2374 - None, # 2375 - None, # 2376 - None, # 2377 - None, # 2378 - None, # 2379 - None, # 2380 - None, # 2381 - None, # 2382 - None, # 2383 - None, # 2384 - None, # 2385 - None, # 2386 - None, # 2387 - None, # 2388 - None, # 2389 - None, # 2390 - None, # 2391 - None, # 2392 - None, # 2393 - None, # 2394 - None, # 2395 - None, # 2396 - None, # 2397 - None, # 2398 - None, # 2399 - None, # 2400 - None, # 2401 - None, # 2402 - None, # 2403 - None, # 2404 - None, # 2405 - None, # 2406 - None, # 2407 - None, # 2408 - None, # 2409 - None, # 2410 - None, # 2411 - None, # 2412 - None, # 2413 - None, # 2414 - None, # 2415 - None, # 2416 - None, # 2417 - None, # 2418 - None, # 2419 - None, # 2420 - None, # 2421 - None, # 2422 - None, # 2423 - None, # 2424 - None, # 2425 - None, # 2426 - None, # 2427 - None, # 2428 - None, # 2429 - None, # 2430 - None, # 2431 - None, # 2432 - None, # 2433 - None, # 2434 - None, # 2435 - None, # 2436 - None, # 2437 - None, # 2438 - None, # 2439 - None, # 2440 - None, # 2441 - None, # 2442 - None, # 2443 - None, # 2444 - None, # 2445 - None, # 2446 - None, # 2447 - None, # 2448 - None, # 2449 - None, # 2450 - None, # 2451 - None, # 2452 - None, # 2453 - None, # 2454 - None, # 2455 - None, # 2456 - None, # 2457 - None, # 2458 - None, # 2459 - None, # 2460 - None, # 2461 - None, # 2462 - None, # 2463 - None, # 2464 - None, # 2465 - None, # 2466 - None, # 2467 - None, # 2468 - None, # 2469 - None, # 2470 - None, # 2471 - None, # 2472 - None, # 2473 - None, # 2474 - None, # 2475 - None, # 2476 - None, # 2477 - None, # 2478 - None, # 2479 - None, # 2480 - None, # 2481 - None, # 2482 - None, # 2483 - None, # 2484 - None, # 2485 - None, # 2486 - None, # 2487 - None, # 2488 - None, # 2489 - None, # 2490 - None, # 2491 - None, # 2492 - None, # 2493 - None, # 2494 - None, # 2495 - None, # 2496 - None, # 2497 - None, # 2498 - None, # 2499 - None, # 2500 - None, # 2501 - None, # 2502 - None, # 2503 - None, # 2504 - None, # 2505 - None, # 2506 - None, # 2507 - None, # 2508 - None, # 2509 - None, # 2510 - None, # 2511 - None, # 2512 - None, # 2513 - None, # 2514 - None, # 2515 - None, # 2516 - None, # 2517 - None, # 2518 - None, # 2519 - None, # 2520 - None, # 2521 - None, # 2522 - None, # 2523 - None, # 2524 - None, # 2525 - None, # 2526 - None, # 2527 - None, # 2528 - None, # 2529 - None, # 2530 - None, # 2531 - None, # 2532 - None, # 2533 - None, # 2534 - None, # 2535 - None, # 2536 - None, # 2537 - None, # 2538 - None, # 2539 - None, # 2540 - None, # 2541 - None, # 2542 - None, # 2543 - None, # 2544 - None, # 2545 - None, # 2546 - None, # 2547 - None, # 2548 - None, # 2549 - None, # 2550 - None, # 2551 - None, # 2552 - None, # 2553 - None, # 2554 - None, # 2555 - None, # 2556 - None, # 2557 - None, # 2558 - None, # 2559 - None, # 2560 - None, # 2561 - None, # 2562 - None, # 2563 - None, # 2564 - None, # 2565 - None, # 2566 - None, # 2567 - None, # 2568 - None, # 2569 - None, # 2570 - None, # 2571 - None, # 2572 - None, # 2573 - None, # 2574 - None, # 2575 - None, # 2576 - None, # 2577 - None, # 2578 - None, # 2579 - None, # 2580 - None, # 2581 - None, # 2582 - None, # 2583 - None, # 2584 - None, # 2585 - None, # 2586 - None, # 2587 - None, # 2588 - None, # 2589 - None, # 2590 - None, # 2591 - None, # 2592 - None, # 2593 - None, # 2594 - None, # 2595 - None, # 2596 - None, # 2597 - None, # 2598 - None, # 2599 - None, # 2600 - None, # 2601 - None, # 2602 - None, # 2603 - None, # 2604 - None, # 2605 - None, # 2606 - None, # 2607 - None, # 2608 - None, # 2609 - None, # 2610 - None, # 2611 - None, # 2612 - None, # 2613 - None, # 2614 - None, # 2615 - None, # 2616 - None, # 2617 - None, # 2618 - None, # 2619 - None, # 2620 - None, # 2621 - None, # 2622 - None, # 2623 - None, # 2624 - None, # 2625 - None, # 2626 - None, # 2627 - None, # 2628 - None, # 2629 - None, # 2630 - None, # 2631 - None, # 2632 - None, # 2633 - None, # 2634 - None, # 2635 - None, # 2636 - None, # 2637 - None, # 2638 - None, # 2639 - None, # 2640 - None, # 2641 - None, # 2642 - None, # 2643 - None, # 2644 - None, # 2645 - None, # 2646 - None, # 2647 - None, # 2648 - None, # 2649 - None, # 2650 - None, # 2651 - None, # 2652 - None, # 2653 - None, # 2654 - None, # 2655 - None, # 2656 - None, # 2657 - None, # 2658 - None, # 2659 - None, # 2660 - None, # 2661 - None, # 2662 - None, # 2663 - None, # 2664 - None, # 2665 - None, # 2666 - None, # 2667 - None, # 2668 - None, # 2669 - None, # 2670 - None, # 2671 - None, # 2672 - None, # 2673 - None, # 2674 - None, # 2675 - None, # 2676 - None, # 2677 - None, # 2678 - None, # 2679 - None, # 2680 - None, # 2681 - None, # 2682 - None, # 2683 - None, # 2684 - None, # 2685 - None, # 2686 - None, # 2687 - None, # 2688 - None, # 2689 - None, # 2690 - None, # 2691 - None, # 2692 - None, # 2693 - None, # 2694 - None, # 2695 - None, # 2696 - None, # 2697 - None, # 2698 - None, # 2699 - None, # 2700 - None, # 2701 - None, # 2702 - None, # 2703 - None, # 2704 - None, # 2705 - None, # 2706 - None, # 2707 - None, # 2708 - None, # 2709 - None, # 2710 - None, # 2711 - None, # 2712 - None, # 2713 - None, # 2714 - None, # 2715 - None, # 2716 - None, # 2717 - None, # 2718 - None, # 2719 - None, # 2720 - None, # 2721 - None, # 2722 - None, # 2723 - None, # 2724 - None, # 2725 - None, # 2726 - None, # 2727 - None, # 2728 - None, # 2729 - None, # 2730 - None, # 2731 - None, # 2732 - None, # 2733 - None, # 2734 - None, # 2735 - None, # 2736 - None, # 2737 - None, # 2738 - None, # 2739 - None, # 2740 - None, # 2741 - None, # 2742 - None, # 2743 - None, # 2744 - None, # 2745 - None, # 2746 - None, # 2747 - None, # 2748 - None, # 2749 - None, # 2750 - None, # 2751 - None, # 2752 - None, # 2753 - None, # 2754 - None, # 2755 - None, # 2756 - None, # 2757 - None, # 2758 - None, # 2759 - None, # 2760 - None, # 2761 - None, # 2762 - None, # 2763 - None, # 2764 - None, # 2765 - None, # 2766 - None, # 2767 - None, # 2768 - None, # 2769 - None, # 2770 - None, # 2771 - None, # 2772 - None, # 2773 - None, # 2774 - None, # 2775 - None, # 2776 - None, # 2777 - None, # 2778 - None, # 2779 - None, # 2780 - None, # 2781 - None, # 2782 - None, # 2783 - None, # 2784 - None, # 2785 - None, # 2786 - None, # 2787 - None, # 2788 - None, # 2789 - None, # 2790 - None, # 2791 - None, # 2792 - None, # 2793 - None, # 2794 - None, # 2795 - None, # 2796 - None, # 2797 - None, # 2798 - None, # 2799 - None, # 2800 - None, # 2801 - None, # 2802 - None, # 2803 - None, # 2804 - None, # 2805 - None, # 2806 - None, # 2807 - None, # 2808 - None, # 2809 - None, # 2810 - None, # 2811 - None, # 2812 - None, # 2813 - None, # 2814 - None, # 2815 - None, # 2816 - None, # 2817 - None, # 2818 - None, # 2819 - None, # 2820 - None, # 2821 - None, # 2822 - None, # 2823 - None, # 2824 - None, # 2825 - None, # 2826 - None, # 2827 - None, # 2828 - None, # 2829 - None, # 2830 - None, # 2831 - None, # 2832 - None, # 2833 - None, # 2834 - None, # 2835 - None, # 2836 - None, # 2837 - None, # 2838 - None, # 2839 - None, # 2840 - None, # 2841 - None, # 2842 - None, # 2843 - None, # 2844 - None, # 2845 - None, # 2846 - None, # 2847 - None, # 2848 - None, # 2849 - None, # 2850 - None, # 2851 - None, # 2852 - None, # 2853 - None, # 2854 - None, # 2855 - None, # 2856 - None, # 2857 - None, # 2858 - None, # 2859 - None, # 2860 - None, # 2861 - None, # 2862 - None, # 2863 - None, # 2864 - None, # 2865 - None, # 2866 - None, # 2867 - None, # 2868 - None, # 2869 - None, # 2870 - None, # 2871 - None, # 2872 - None, # 2873 - None, # 2874 - None, # 2875 - None, # 2876 - None, # 2877 - None, # 2878 - None, # 2879 - None, # 2880 - None, # 2881 - None, # 2882 - None, # 2883 - None, # 2884 - None, # 2885 - None, # 2886 - None, # 2887 - None, # 2888 - None, # 2889 - None, # 2890 - None, # 2891 - None, # 2892 - None, # 2893 - None, # 2894 - None, # 2895 - None, # 2896 - None, # 2897 - None, # 2898 - None, # 2899 - None, # 2900 - None, # 2901 - None, # 2902 - None, # 2903 - None, # 2904 - None, # 2905 - None, # 2906 - None, # 2907 - None, # 2908 - None, # 2909 - None, # 2910 - None, # 2911 - None, # 2912 - None, # 2913 - None, # 2914 - None, # 2915 - None, # 2916 - None, # 2917 - None, # 2918 - None, # 2919 - None, # 2920 - None, # 2921 - None, # 2922 - None, # 2923 - None, # 2924 - None, # 2925 - None, # 2926 - None, # 2927 - None, # 2928 - None, # 2929 - None, # 2930 - None, # 2931 - None, # 2932 - None, # 2933 - None, # 2934 - None, # 2935 - None, # 2936 - None, # 2937 - None, # 2938 - None, # 2939 - None, # 2940 - None, # 2941 - None, # 2942 - None, # 2943 - None, # 2944 - None, # 2945 - None, # 2946 - None, # 2947 - None, # 2948 - None, # 2949 - None, # 2950 - None, # 2951 - None, # 2952 - None, # 2953 - None, # 2954 - None, # 2955 - None, # 2956 - None, # 2957 - None, # 2958 - None, # 2959 - None, # 2960 - None, # 2961 - None, # 2962 - None, # 2963 - None, # 2964 - None, # 2965 - None, # 2966 - None, # 2967 - None, # 2968 - None, # 2969 - None, # 2970 - None, # 2971 - None, # 2972 - None, # 2973 - None, # 2974 - None, # 2975 - None, # 2976 - None, # 2977 - None, # 2978 - None, # 2979 - None, # 2980 - None, # 2981 - None, # 2982 - None, # 2983 - None, # 2984 - None, # 2985 - None, # 2986 - None, # 2987 - None, # 2988 - None, # 2989 - None, # 2990 - None, # 2991 - None, # 2992 - None, # 2993 - None, # 2994 - None, # 2995 - None, # 2996 - None, # 2997 - None, # 2998 - None, # 2999 - None, # 3000 - None, # 3001 - None, # 3002 - None, # 3003 - None, # 3004 - None, # 3005 - None, # 3006 - None, # 3007 - None, # 3008 - None, # 3009 - None, # 3010 - None, # 3011 - None, # 3012 - None, # 3013 - None, # 3014 - None, # 3015 - None, # 3016 - None, # 3017 - None, # 3018 - None, # 3019 - None, # 3020 - None, # 3021 - None, # 3022 - None, # 3023 - None, # 3024 - None, # 3025 - None, # 3026 - None, # 3027 - None, # 3028 - None, # 3029 - None, # 3030 - None, # 3031 - None, # 3032 - None, # 3033 - None, # 3034 - None, # 3035 - None, # 3036 - None, # 3037 - None, # 3038 - None, # 3039 - None, # 3040 - None, # 3041 - None, # 3042 - None, # 3043 - None, # 3044 - None, # 3045 - None, # 3046 - None, # 3047 - None, # 3048 - None, # 3049 - None, # 3050 - None, # 3051 - None, # 3052 - None, # 3053 - None, # 3054 - None, # 3055 - None, # 3056 - None, # 3057 - None, # 3058 - None, # 3059 - None, # 3060 - None, # 3061 - None, # 3062 - None, # 3063 - None, # 3064 - None, # 3065 - None, # 3066 - None, # 3067 - None, # 3068 - None, # 3069 - None, # 3070 - None, # 3071 - None, # 3072 - None, # 3073 - None, # 3074 - None, # 3075 - None, # 3076 - None, # 3077 - None, # 3078 - None, # 3079 - None, # 3080 - None, # 3081 - None, # 3082 - None, # 3083 - None, # 3084 - None, # 3085 - None, # 3086 - None, # 3087 - None, # 3088 - None, # 3089 - None, # 3090 - None, # 3091 - None, # 3092 - None, # 3093 - None, # 3094 - None, # 3095 - None, # 3096 - None, # 3097 - None, # 3098 - None, # 3099 - None, # 3100 - None, # 3101 - None, # 3102 - None, # 3103 - None, # 3104 - None, # 3105 - None, # 3106 - None, # 3107 - None, # 3108 - None, # 3109 - None, # 3110 - None, # 3111 - None, # 3112 - None, # 3113 - None, # 3114 - None, # 3115 - None, # 3116 - None, # 3117 - None, # 3118 - None, # 3119 - None, # 3120 - None, # 3121 - None, # 3122 - None, # 3123 - None, # 3124 - None, # 3125 - None, # 3126 - None, # 3127 - None, # 3128 - None, # 3129 - None, # 3130 - None, # 3131 - None, # 3132 - None, # 3133 - None, # 3134 - None, # 3135 - None, # 3136 - None, # 3137 - None, # 3138 - None, # 3139 - None, # 3140 - None, # 3141 - None, # 3142 - None, # 3143 - None, # 3144 - None, # 3145 - None, # 3146 - None, # 3147 - None, # 3148 - None, # 3149 - None, # 3150 - None, # 3151 - None, # 3152 - None, # 3153 - None, # 3154 - None, # 3155 - None, # 3156 - None, # 3157 - None, # 3158 - None, # 3159 - None, # 3160 - None, # 3161 - None, # 3162 - None, # 3163 - None, # 3164 - None, # 3165 - None, # 3166 - None, # 3167 - None, # 3168 - None, # 3169 - None, # 3170 - None, # 3171 - None, # 3172 - None, # 3173 - None, # 3174 - None, # 3175 - None, # 3176 - None, # 3177 - None, # 3178 - None, # 3179 - None, # 3180 - None, # 3181 - None, # 3182 - None, # 3183 - None, # 3184 - None, # 3185 - None, # 3186 - None, # 3187 - None, # 3188 - None, # 3189 - None, # 3190 - None, # 3191 - None, # 3192 - None, # 3193 - None, # 3194 - None, # 3195 - None, # 3196 - None, # 3197 - None, # 3198 - None, # 3199 - None, # 3200 - None, # 3201 - None, # 3202 - None, # 3203 - None, # 3204 - None, # 3205 - None, # 3206 - None, # 3207 - None, # 3208 - None, # 3209 - None, # 3210 - None, # 3211 - None, # 3212 - None, # 3213 - None, # 3214 - None, # 3215 - None, # 3216 - None, # 3217 - None, # 3218 - None, # 3219 - None, # 3220 - None, # 3221 - None, # 3222 - None, # 3223 - None, # 3224 - None, # 3225 - None, # 3226 - None, # 3227 - None, # 3228 - None, # 3229 - None, # 3230 - None, # 3231 - None, # 3232 - None, # 3233 - None, # 3234 - None, # 3235 - None, # 3236 - None, # 3237 - None, # 3238 - None, # 3239 - None, # 3240 - None, # 3241 - None, # 3242 - None, # 3243 - None, # 3244 - None, # 3245 - None, # 3246 - None, # 3247 - None, # 3248 - None, # 3249 - None, # 3250 - None, # 3251 - None, # 3252 - None, # 3253 - None, # 3254 - None, # 3255 - None, # 3256 - None, # 3257 - None, # 3258 - None, # 3259 - None, # 3260 - None, # 3261 - None, # 3262 - None, # 3263 - None, # 3264 - None, # 3265 - None, # 3266 - None, # 3267 - None, # 3268 - None, # 3269 - None, # 3270 - None, # 3271 - None, # 3272 - None, # 3273 - None, # 3274 - None, # 3275 - None, # 3276 - None, # 3277 - None, # 3278 - None, # 3279 - None, # 3280 - None, # 3281 - None, # 3282 - None, # 3283 - None, # 3284 - None, # 3285 - None, # 3286 - None, # 3287 - None, # 3288 - None, # 3289 - None, # 3290 - None, # 3291 - None, # 3292 - None, # 3293 - None, # 3294 - None, # 3295 - None, # 3296 - None, # 3297 - None, # 3298 - None, # 3299 - None, # 3300 - None, # 3301 - None, # 3302 - None, # 3303 - None, # 3304 - None, # 3305 - None, # 3306 - None, # 3307 - None, # 3308 - None, # 3309 - None, # 3310 - None, # 3311 - None, # 3312 - None, # 3313 - None, # 3314 - None, # 3315 - None, # 3316 - None, # 3317 - None, # 3318 - None, # 3319 - None, # 3320 - None, # 3321 - None, # 3322 - None, # 3323 - None, # 3324 - None, # 3325 - None, # 3326 - None, # 3327 - None, # 3328 - ( - 3329, - TType.STRUCT, - "operationId", - [THandleIdentifier, None], - None, - ), # 3329 - ( - 3330, - TType.STRUCT, - "sessionConf", - [TDBSqlSessionConf, None], - None, - ), # 3330 + None, # 0 + (1, TType.STRUCT, 'sessionHandle', [TSessionHandle, None], None, ), # 1 + (2, TType.STRING, 'catalogName', 'UTF8', None, ), # 2 + (3, TType.STRING, 'schemaName', 'UTF8', None, ), # 3 + (4, TType.STRING, 'functionName', 'UTF8', None, ), # 4 + None, # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + (1281, TType.STRUCT, 'getDirectResults', [TSparkGetDirectResults, None], None, ), # 1281 + (1282, TType.BOOL, 'runAsync', None, False, ), # 1282 + None, # 1283 + None, # 1284 + None, # 1285 + None, # 1286 + None, # 1287 + None, # 1288 + None, # 1289 + None, # 1290 + None, # 1291 + None, # 1292 + None, # 1293 + None, # 1294 + None, # 1295 + None, # 1296 + None, # 1297 + None, # 1298 + None, # 1299 + None, # 1300 + None, # 1301 + None, # 1302 + None, # 1303 + None, # 1304 + None, # 1305 + None, # 1306 + None, # 1307 + None, # 1308 + None, # 1309 + None, # 1310 + None, # 1311 + None, # 1312 + None, # 1313 + None, # 1314 + None, # 1315 + None, # 1316 + None, # 1317 + None, # 1318 + None, # 1319 + None, # 1320 + None, # 1321 + None, # 1322 + None, # 1323 + None, # 1324 + None, # 1325 + None, # 1326 + None, # 1327 + None, # 1328 + None, # 1329 + None, # 1330 + None, # 1331 + None, # 1332 + None, # 1333 + None, # 1334 + None, # 1335 + None, # 1336 + None, # 1337 + None, # 1338 + None, # 1339 + None, # 1340 + None, # 1341 + None, # 1342 + None, # 1343 + None, # 1344 + None, # 1345 + None, # 1346 + None, # 1347 + None, # 1348 + None, # 1349 + None, # 1350 + None, # 1351 + None, # 1352 + None, # 1353 + None, # 1354 + None, # 1355 + None, # 1356 + None, # 1357 + None, # 1358 + None, # 1359 + None, # 1360 + None, # 1361 + None, # 1362 + None, # 1363 + None, # 1364 + None, # 1365 + None, # 1366 + None, # 1367 + None, # 1368 + None, # 1369 + None, # 1370 + None, # 1371 + None, # 1372 + None, # 1373 + None, # 1374 + None, # 1375 + None, # 1376 + None, # 1377 + None, # 1378 + None, # 1379 + None, # 1380 + None, # 1381 + None, # 1382 + None, # 1383 + None, # 1384 + None, # 1385 + None, # 1386 + None, # 1387 + None, # 1388 + None, # 1389 + None, # 1390 + None, # 1391 + None, # 1392 + None, # 1393 + None, # 1394 + None, # 1395 + None, # 1396 + None, # 1397 + None, # 1398 + None, # 1399 + None, # 1400 + None, # 1401 + None, # 1402 + None, # 1403 + None, # 1404 + None, # 1405 + None, # 1406 + None, # 1407 + None, # 1408 + None, # 1409 + None, # 1410 + None, # 1411 + None, # 1412 + None, # 1413 + None, # 1414 + None, # 1415 + None, # 1416 + None, # 1417 + None, # 1418 + None, # 1419 + None, # 1420 + None, # 1421 + None, # 1422 + None, # 1423 + None, # 1424 + None, # 1425 + None, # 1426 + None, # 1427 + None, # 1428 + None, # 1429 + None, # 1430 + None, # 1431 + None, # 1432 + None, # 1433 + None, # 1434 + None, # 1435 + None, # 1436 + None, # 1437 + None, # 1438 + None, # 1439 + None, # 1440 + None, # 1441 + None, # 1442 + None, # 1443 + None, # 1444 + None, # 1445 + None, # 1446 + None, # 1447 + None, # 1448 + None, # 1449 + None, # 1450 + None, # 1451 + None, # 1452 + None, # 1453 + None, # 1454 + None, # 1455 + None, # 1456 + None, # 1457 + None, # 1458 + None, # 1459 + None, # 1460 + None, # 1461 + None, # 1462 + None, # 1463 + None, # 1464 + None, # 1465 + None, # 1466 + None, # 1467 + None, # 1468 + None, # 1469 + None, # 1470 + None, # 1471 + None, # 1472 + None, # 1473 + None, # 1474 + None, # 1475 + None, # 1476 + None, # 1477 + None, # 1478 + None, # 1479 + None, # 1480 + None, # 1481 + None, # 1482 + None, # 1483 + None, # 1484 + None, # 1485 + None, # 1486 + None, # 1487 + None, # 1488 + None, # 1489 + None, # 1490 + None, # 1491 + None, # 1492 + None, # 1493 + None, # 1494 + None, # 1495 + None, # 1496 + None, # 1497 + None, # 1498 + None, # 1499 + None, # 1500 + None, # 1501 + None, # 1502 + None, # 1503 + None, # 1504 + None, # 1505 + None, # 1506 + None, # 1507 + None, # 1508 + None, # 1509 + None, # 1510 + None, # 1511 + None, # 1512 + None, # 1513 + None, # 1514 + None, # 1515 + None, # 1516 + None, # 1517 + None, # 1518 + None, # 1519 + None, # 1520 + None, # 1521 + None, # 1522 + None, # 1523 + None, # 1524 + None, # 1525 + None, # 1526 + None, # 1527 + None, # 1528 + None, # 1529 + None, # 1530 + None, # 1531 + None, # 1532 + None, # 1533 + None, # 1534 + None, # 1535 + None, # 1536 + None, # 1537 + None, # 1538 + None, # 1539 + None, # 1540 + None, # 1541 + None, # 1542 + None, # 1543 + None, # 1544 + None, # 1545 + None, # 1546 + None, # 1547 + None, # 1548 + None, # 1549 + None, # 1550 + None, # 1551 + None, # 1552 + None, # 1553 + None, # 1554 + None, # 1555 + None, # 1556 + None, # 1557 + None, # 1558 + None, # 1559 + None, # 1560 + None, # 1561 + None, # 1562 + None, # 1563 + None, # 1564 + None, # 1565 + None, # 1566 + None, # 1567 + None, # 1568 + None, # 1569 + None, # 1570 + None, # 1571 + None, # 1572 + None, # 1573 + None, # 1574 + None, # 1575 + None, # 1576 + None, # 1577 + None, # 1578 + None, # 1579 + None, # 1580 + None, # 1581 + None, # 1582 + None, # 1583 + None, # 1584 + None, # 1585 + None, # 1586 + None, # 1587 + None, # 1588 + None, # 1589 + None, # 1590 + None, # 1591 + None, # 1592 + None, # 1593 + None, # 1594 + None, # 1595 + None, # 1596 + None, # 1597 + None, # 1598 + None, # 1599 + None, # 1600 + None, # 1601 + None, # 1602 + None, # 1603 + None, # 1604 + None, # 1605 + None, # 1606 + None, # 1607 + None, # 1608 + None, # 1609 + None, # 1610 + None, # 1611 + None, # 1612 + None, # 1613 + None, # 1614 + None, # 1615 + None, # 1616 + None, # 1617 + None, # 1618 + None, # 1619 + None, # 1620 + None, # 1621 + None, # 1622 + None, # 1623 + None, # 1624 + None, # 1625 + None, # 1626 + None, # 1627 + None, # 1628 + None, # 1629 + None, # 1630 + None, # 1631 + None, # 1632 + None, # 1633 + None, # 1634 + None, # 1635 + None, # 1636 + None, # 1637 + None, # 1638 + None, # 1639 + None, # 1640 + None, # 1641 + None, # 1642 + None, # 1643 + None, # 1644 + None, # 1645 + None, # 1646 + None, # 1647 + None, # 1648 + None, # 1649 + None, # 1650 + None, # 1651 + None, # 1652 + None, # 1653 + None, # 1654 + None, # 1655 + None, # 1656 + None, # 1657 + None, # 1658 + None, # 1659 + None, # 1660 + None, # 1661 + None, # 1662 + None, # 1663 + None, # 1664 + None, # 1665 + None, # 1666 + None, # 1667 + None, # 1668 + None, # 1669 + None, # 1670 + None, # 1671 + None, # 1672 + None, # 1673 + None, # 1674 + None, # 1675 + None, # 1676 + None, # 1677 + None, # 1678 + None, # 1679 + None, # 1680 + None, # 1681 + None, # 1682 + None, # 1683 + None, # 1684 + None, # 1685 + None, # 1686 + None, # 1687 + None, # 1688 + None, # 1689 + None, # 1690 + None, # 1691 + None, # 1692 + None, # 1693 + None, # 1694 + None, # 1695 + None, # 1696 + None, # 1697 + None, # 1698 + None, # 1699 + None, # 1700 + None, # 1701 + None, # 1702 + None, # 1703 + None, # 1704 + None, # 1705 + None, # 1706 + None, # 1707 + None, # 1708 + None, # 1709 + None, # 1710 + None, # 1711 + None, # 1712 + None, # 1713 + None, # 1714 + None, # 1715 + None, # 1716 + None, # 1717 + None, # 1718 + None, # 1719 + None, # 1720 + None, # 1721 + None, # 1722 + None, # 1723 + None, # 1724 + None, # 1725 + None, # 1726 + None, # 1727 + None, # 1728 + None, # 1729 + None, # 1730 + None, # 1731 + None, # 1732 + None, # 1733 + None, # 1734 + None, # 1735 + None, # 1736 + None, # 1737 + None, # 1738 + None, # 1739 + None, # 1740 + None, # 1741 + None, # 1742 + None, # 1743 + None, # 1744 + None, # 1745 + None, # 1746 + None, # 1747 + None, # 1748 + None, # 1749 + None, # 1750 + None, # 1751 + None, # 1752 + None, # 1753 + None, # 1754 + None, # 1755 + None, # 1756 + None, # 1757 + None, # 1758 + None, # 1759 + None, # 1760 + None, # 1761 + None, # 1762 + None, # 1763 + None, # 1764 + None, # 1765 + None, # 1766 + None, # 1767 + None, # 1768 + None, # 1769 + None, # 1770 + None, # 1771 + None, # 1772 + None, # 1773 + None, # 1774 + None, # 1775 + None, # 1776 + None, # 1777 + None, # 1778 + None, # 1779 + None, # 1780 + None, # 1781 + None, # 1782 + None, # 1783 + None, # 1784 + None, # 1785 + None, # 1786 + None, # 1787 + None, # 1788 + None, # 1789 + None, # 1790 + None, # 1791 + None, # 1792 + None, # 1793 + None, # 1794 + None, # 1795 + None, # 1796 + None, # 1797 + None, # 1798 + None, # 1799 + None, # 1800 + None, # 1801 + None, # 1802 + None, # 1803 + None, # 1804 + None, # 1805 + None, # 1806 + None, # 1807 + None, # 1808 + None, # 1809 + None, # 1810 + None, # 1811 + None, # 1812 + None, # 1813 + None, # 1814 + None, # 1815 + None, # 1816 + None, # 1817 + None, # 1818 + None, # 1819 + None, # 1820 + None, # 1821 + None, # 1822 + None, # 1823 + None, # 1824 + None, # 1825 + None, # 1826 + None, # 1827 + None, # 1828 + None, # 1829 + None, # 1830 + None, # 1831 + None, # 1832 + None, # 1833 + None, # 1834 + None, # 1835 + None, # 1836 + None, # 1837 + None, # 1838 + None, # 1839 + None, # 1840 + None, # 1841 + None, # 1842 + None, # 1843 + None, # 1844 + None, # 1845 + None, # 1846 + None, # 1847 + None, # 1848 + None, # 1849 + None, # 1850 + None, # 1851 + None, # 1852 + None, # 1853 + None, # 1854 + None, # 1855 + None, # 1856 + None, # 1857 + None, # 1858 + None, # 1859 + None, # 1860 + None, # 1861 + None, # 1862 + None, # 1863 + None, # 1864 + None, # 1865 + None, # 1866 + None, # 1867 + None, # 1868 + None, # 1869 + None, # 1870 + None, # 1871 + None, # 1872 + None, # 1873 + None, # 1874 + None, # 1875 + None, # 1876 + None, # 1877 + None, # 1878 + None, # 1879 + None, # 1880 + None, # 1881 + None, # 1882 + None, # 1883 + None, # 1884 + None, # 1885 + None, # 1886 + None, # 1887 + None, # 1888 + None, # 1889 + None, # 1890 + None, # 1891 + None, # 1892 + None, # 1893 + None, # 1894 + None, # 1895 + None, # 1896 + None, # 1897 + None, # 1898 + None, # 1899 + None, # 1900 + None, # 1901 + None, # 1902 + None, # 1903 + None, # 1904 + None, # 1905 + None, # 1906 + None, # 1907 + None, # 1908 + None, # 1909 + None, # 1910 + None, # 1911 + None, # 1912 + None, # 1913 + None, # 1914 + None, # 1915 + None, # 1916 + None, # 1917 + None, # 1918 + None, # 1919 + None, # 1920 + None, # 1921 + None, # 1922 + None, # 1923 + None, # 1924 + None, # 1925 + None, # 1926 + None, # 1927 + None, # 1928 + None, # 1929 + None, # 1930 + None, # 1931 + None, # 1932 + None, # 1933 + None, # 1934 + None, # 1935 + None, # 1936 + None, # 1937 + None, # 1938 + None, # 1939 + None, # 1940 + None, # 1941 + None, # 1942 + None, # 1943 + None, # 1944 + None, # 1945 + None, # 1946 + None, # 1947 + None, # 1948 + None, # 1949 + None, # 1950 + None, # 1951 + None, # 1952 + None, # 1953 + None, # 1954 + None, # 1955 + None, # 1956 + None, # 1957 + None, # 1958 + None, # 1959 + None, # 1960 + None, # 1961 + None, # 1962 + None, # 1963 + None, # 1964 + None, # 1965 + None, # 1966 + None, # 1967 + None, # 1968 + None, # 1969 + None, # 1970 + None, # 1971 + None, # 1972 + None, # 1973 + None, # 1974 + None, # 1975 + None, # 1976 + None, # 1977 + None, # 1978 + None, # 1979 + None, # 1980 + None, # 1981 + None, # 1982 + None, # 1983 + None, # 1984 + None, # 1985 + None, # 1986 + None, # 1987 + None, # 1988 + None, # 1989 + None, # 1990 + None, # 1991 + None, # 1992 + None, # 1993 + None, # 1994 + None, # 1995 + None, # 1996 + None, # 1997 + None, # 1998 + None, # 1999 + None, # 2000 + None, # 2001 + None, # 2002 + None, # 2003 + None, # 2004 + None, # 2005 + None, # 2006 + None, # 2007 + None, # 2008 + None, # 2009 + None, # 2010 + None, # 2011 + None, # 2012 + None, # 2013 + None, # 2014 + None, # 2015 + None, # 2016 + None, # 2017 + None, # 2018 + None, # 2019 + None, # 2020 + None, # 2021 + None, # 2022 + None, # 2023 + None, # 2024 + None, # 2025 + None, # 2026 + None, # 2027 + None, # 2028 + None, # 2029 + None, # 2030 + None, # 2031 + None, # 2032 + None, # 2033 + None, # 2034 + None, # 2035 + None, # 2036 + None, # 2037 + None, # 2038 + None, # 2039 + None, # 2040 + None, # 2041 + None, # 2042 + None, # 2043 + None, # 2044 + None, # 2045 + None, # 2046 + None, # 2047 + None, # 2048 + None, # 2049 + None, # 2050 + None, # 2051 + None, # 2052 + None, # 2053 + None, # 2054 + None, # 2055 + None, # 2056 + None, # 2057 + None, # 2058 + None, # 2059 + None, # 2060 + None, # 2061 + None, # 2062 + None, # 2063 + None, # 2064 + None, # 2065 + None, # 2066 + None, # 2067 + None, # 2068 + None, # 2069 + None, # 2070 + None, # 2071 + None, # 2072 + None, # 2073 + None, # 2074 + None, # 2075 + None, # 2076 + None, # 2077 + None, # 2078 + None, # 2079 + None, # 2080 + None, # 2081 + None, # 2082 + None, # 2083 + None, # 2084 + None, # 2085 + None, # 2086 + None, # 2087 + None, # 2088 + None, # 2089 + None, # 2090 + None, # 2091 + None, # 2092 + None, # 2093 + None, # 2094 + None, # 2095 + None, # 2096 + None, # 2097 + None, # 2098 + None, # 2099 + None, # 2100 + None, # 2101 + None, # 2102 + None, # 2103 + None, # 2104 + None, # 2105 + None, # 2106 + None, # 2107 + None, # 2108 + None, # 2109 + None, # 2110 + None, # 2111 + None, # 2112 + None, # 2113 + None, # 2114 + None, # 2115 + None, # 2116 + None, # 2117 + None, # 2118 + None, # 2119 + None, # 2120 + None, # 2121 + None, # 2122 + None, # 2123 + None, # 2124 + None, # 2125 + None, # 2126 + None, # 2127 + None, # 2128 + None, # 2129 + None, # 2130 + None, # 2131 + None, # 2132 + None, # 2133 + None, # 2134 + None, # 2135 + None, # 2136 + None, # 2137 + None, # 2138 + None, # 2139 + None, # 2140 + None, # 2141 + None, # 2142 + None, # 2143 + None, # 2144 + None, # 2145 + None, # 2146 + None, # 2147 + None, # 2148 + None, # 2149 + None, # 2150 + None, # 2151 + None, # 2152 + None, # 2153 + None, # 2154 + None, # 2155 + None, # 2156 + None, # 2157 + None, # 2158 + None, # 2159 + None, # 2160 + None, # 2161 + None, # 2162 + None, # 2163 + None, # 2164 + None, # 2165 + None, # 2166 + None, # 2167 + None, # 2168 + None, # 2169 + None, # 2170 + None, # 2171 + None, # 2172 + None, # 2173 + None, # 2174 + None, # 2175 + None, # 2176 + None, # 2177 + None, # 2178 + None, # 2179 + None, # 2180 + None, # 2181 + None, # 2182 + None, # 2183 + None, # 2184 + None, # 2185 + None, # 2186 + None, # 2187 + None, # 2188 + None, # 2189 + None, # 2190 + None, # 2191 + None, # 2192 + None, # 2193 + None, # 2194 + None, # 2195 + None, # 2196 + None, # 2197 + None, # 2198 + None, # 2199 + None, # 2200 + None, # 2201 + None, # 2202 + None, # 2203 + None, # 2204 + None, # 2205 + None, # 2206 + None, # 2207 + None, # 2208 + None, # 2209 + None, # 2210 + None, # 2211 + None, # 2212 + None, # 2213 + None, # 2214 + None, # 2215 + None, # 2216 + None, # 2217 + None, # 2218 + None, # 2219 + None, # 2220 + None, # 2221 + None, # 2222 + None, # 2223 + None, # 2224 + None, # 2225 + None, # 2226 + None, # 2227 + None, # 2228 + None, # 2229 + None, # 2230 + None, # 2231 + None, # 2232 + None, # 2233 + None, # 2234 + None, # 2235 + None, # 2236 + None, # 2237 + None, # 2238 + None, # 2239 + None, # 2240 + None, # 2241 + None, # 2242 + None, # 2243 + None, # 2244 + None, # 2245 + None, # 2246 + None, # 2247 + None, # 2248 + None, # 2249 + None, # 2250 + None, # 2251 + None, # 2252 + None, # 2253 + None, # 2254 + None, # 2255 + None, # 2256 + None, # 2257 + None, # 2258 + None, # 2259 + None, # 2260 + None, # 2261 + None, # 2262 + None, # 2263 + None, # 2264 + None, # 2265 + None, # 2266 + None, # 2267 + None, # 2268 + None, # 2269 + None, # 2270 + None, # 2271 + None, # 2272 + None, # 2273 + None, # 2274 + None, # 2275 + None, # 2276 + None, # 2277 + None, # 2278 + None, # 2279 + None, # 2280 + None, # 2281 + None, # 2282 + None, # 2283 + None, # 2284 + None, # 2285 + None, # 2286 + None, # 2287 + None, # 2288 + None, # 2289 + None, # 2290 + None, # 2291 + None, # 2292 + None, # 2293 + None, # 2294 + None, # 2295 + None, # 2296 + None, # 2297 + None, # 2298 + None, # 2299 + None, # 2300 + None, # 2301 + None, # 2302 + None, # 2303 + None, # 2304 + None, # 2305 + None, # 2306 + None, # 2307 + None, # 2308 + None, # 2309 + None, # 2310 + None, # 2311 + None, # 2312 + None, # 2313 + None, # 2314 + None, # 2315 + None, # 2316 + None, # 2317 + None, # 2318 + None, # 2319 + None, # 2320 + None, # 2321 + None, # 2322 + None, # 2323 + None, # 2324 + None, # 2325 + None, # 2326 + None, # 2327 + None, # 2328 + None, # 2329 + None, # 2330 + None, # 2331 + None, # 2332 + None, # 2333 + None, # 2334 + None, # 2335 + None, # 2336 + None, # 2337 + None, # 2338 + None, # 2339 + None, # 2340 + None, # 2341 + None, # 2342 + None, # 2343 + None, # 2344 + None, # 2345 + None, # 2346 + None, # 2347 + None, # 2348 + None, # 2349 + None, # 2350 + None, # 2351 + None, # 2352 + None, # 2353 + None, # 2354 + None, # 2355 + None, # 2356 + None, # 2357 + None, # 2358 + None, # 2359 + None, # 2360 + None, # 2361 + None, # 2362 + None, # 2363 + None, # 2364 + None, # 2365 + None, # 2366 + None, # 2367 + None, # 2368 + None, # 2369 + None, # 2370 + None, # 2371 + None, # 2372 + None, # 2373 + None, # 2374 + None, # 2375 + None, # 2376 + None, # 2377 + None, # 2378 + None, # 2379 + None, # 2380 + None, # 2381 + None, # 2382 + None, # 2383 + None, # 2384 + None, # 2385 + None, # 2386 + None, # 2387 + None, # 2388 + None, # 2389 + None, # 2390 + None, # 2391 + None, # 2392 + None, # 2393 + None, # 2394 + None, # 2395 + None, # 2396 + None, # 2397 + None, # 2398 + None, # 2399 + None, # 2400 + None, # 2401 + None, # 2402 + None, # 2403 + None, # 2404 + None, # 2405 + None, # 2406 + None, # 2407 + None, # 2408 + None, # 2409 + None, # 2410 + None, # 2411 + None, # 2412 + None, # 2413 + None, # 2414 + None, # 2415 + None, # 2416 + None, # 2417 + None, # 2418 + None, # 2419 + None, # 2420 + None, # 2421 + None, # 2422 + None, # 2423 + None, # 2424 + None, # 2425 + None, # 2426 + None, # 2427 + None, # 2428 + None, # 2429 + None, # 2430 + None, # 2431 + None, # 2432 + None, # 2433 + None, # 2434 + None, # 2435 + None, # 2436 + None, # 2437 + None, # 2438 + None, # 2439 + None, # 2440 + None, # 2441 + None, # 2442 + None, # 2443 + None, # 2444 + None, # 2445 + None, # 2446 + None, # 2447 + None, # 2448 + None, # 2449 + None, # 2450 + None, # 2451 + None, # 2452 + None, # 2453 + None, # 2454 + None, # 2455 + None, # 2456 + None, # 2457 + None, # 2458 + None, # 2459 + None, # 2460 + None, # 2461 + None, # 2462 + None, # 2463 + None, # 2464 + None, # 2465 + None, # 2466 + None, # 2467 + None, # 2468 + None, # 2469 + None, # 2470 + None, # 2471 + None, # 2472 + None, # 2473 + None, # 2474 + None, # 2475 + None, # 2476 + None, # 2477 + None, # 2478 + None, # 2479 + None, # 2480 + None, # 2481 + None, # 2482 + None, # 2483 + None, # 2484 + None, # 2485 + None, # 2486 + None, # 2487 + None, # 2488 + None, # 2489 + None, # 2490 + None, # 2491 + None, # 2492 + None, # 2493 + None, # 2494 + None, # 2495 + None, # 2496 + None, # 2497 + None, # 2498 + None, # 2499 + None, # 2500 + None, # 2501 + None, # 2502 + None, # 2503 + None, # 2504 + None, # 2505 + None, # 2506 + None, # 2507 + None, # 2508 + None, # 2509 + None, # 2510 + None, # 2511 + None, # 2512 + None, # 2513 + None, # 2514 + None, # 2515 + None, # 2516 + None, # 2517 + None, # 2518 + None, # 2519 + None, # 2520 + None, # 2521 + None, # 2522 + None, # 2523 + None, # 2524 + None, # 2525 + None, # 2526 + None, # 2527 + None, # 2528 + None, # 2529 + None, # 2530 + None, # 2531 + None, # 2532 + None, # 2533 + None, # 2534 + None, # 2535 + None, # 2536 + None, # 2537 + None, # 2538 + None, # 2539 + None, # 2540 + None, # 2541 + None, # 2542 + None, # 2543 + None, # 2544 + None, # 2545 + None, # 2546 + None, # 2547 + None, # 2548 + None, # 2549 + None, # 2550 + None, # 2551 + None, # 2552 + None, # 2553 + None, # 2554 + None, # 2555 + None, # 2556 + None, # 2557 + None, # 2558 + None, # 2559 + None, # 2560 + None, # 2561 + None, # 2562 + None, # 2563 + None, # 2564 + None, # 2565 + None, # 2566 + None, # 2567 + None, # 2568 + None, # 2569 + None, # 2570 + None, # 2571 + None, # 2572 + None, # 2573 + None, # 2574 + None, # 2575 + None, # 2576 + None, # 2577 + None, # 2578 + None, # 2579 + None, # 2580 + None, # 2581 + None, # 2582 + None, # 2583 + None, # 2584 + None, # 2585 + None, # 2586 + None, # 2587 + None, # 2588 + None, # 2589 + None, # 2590 + None, # 2591 + None, # 2592 + None, # 2593 + None, # 2594 + None, # 2595 + None, # 2596 + None, # 2597 + None, # 2598 + None, # 2599 + None, # 2600 + None, # 2601 + None, # 2602 + None, # 2603 + None, # 2604 + None, # 2605 + None, # 2606 + None, # 2607 + None, # 2608 + None, # 2609 + None, # 2610 + None, # 2611 + None, # 2612 + None, # 2613 + None, # 2614 + None, # 2615 + None, # 2616 + None, # 2617 + None, # 2618 + None, # 2619 + None, # 2620 + None, # 2621 + None, # 2622 + None, # 2623 + None, # 2624 + None, # 2625 + None, # 2626 + None, # 2627 + None, # 2628 + None, # 2629 + None, # 2630 + None, # 2631 + None, # 2632 + None, # 2633 + None, # 2634 + None, # 2635 + None, # 2636 + None, # 2637 + None, # 2638 + None, # 2639 + None, # 2640 + None, # 2641 + None, # 2642 + None, # 2643 + None, # 2644 + None, # 2645 + None, # 2646 + None, # 2647 + None, # 2648 + None, # 2649 + None, # 2650 + None, # 2651 + None, # 2652 + None, # 2653 + None, # 2654 + None, # 2655 + None, # 2656 + None, # 2657 + None, # 2658 + None, # 2659 + None, # 2660 + None, # 2661 + None, # 2662 + None, # 2663 + None, # 2664 + None, # 2665 + None, # 2666 + None, # 2667 + None, # 2668 + None, # 2669 + None, # 2670 + None, # 2671 + None, # 2672 + None, # 2673 + None, # 2674 + None, # 2675 + None, # 2676 + None, # 2677 + None, # 2678 + None, # 2679 + None, # 2680 + None, # 2681 + None, # 2682 + None, # 2683 + None, # 2684 + None, # 2685 + None, # 2686 + None, # 2687 + None, # 2688 + None, # 2689 + None, # 2690 + None, # 2691 + None, # 2692 + None, # 2693 + None, # 2694 + None, # 2695 + None, # 2696 + None, # 2697 + None, # 2698 + None, # 2699 + None, # 2700 + None, # 2701 + None, # 2702 + None, # 2703 + None, # 2704 + None, # 2705 + None, # 2706 + None, # 2707 + None, # 2708 + None, # 2709 + None, # 2710 + None, # 2711 + None, # 2712 + None, # 2713 + None, # 2714 + None, # 2715 + None, # 2716 + None, # 2717 + None, # 2718 + None, # 2719 + None, # 2720 + None, # 2721 + None, # 2722 + None, # 2723 + None, # 2724 + None, # 2725 + None, # 2726 + None, # 2727 + None, # 2728 + None, # 2729 + None, # 2730 + None, # 2731 + None, # 2732 + None, # 2733 + None, # 2734 + None, # 2735 + None, # 2736 + None, # 2737 + None, # 2738 + None, # 2739 + None, # 2740 + None, # 2741 + None, # 2742 + None, # 2743 + None, # 2744 + None, # 2745 + None, # 2746 + None, # 2747 + None, # 2748 + None, # 2749 + None, # 2750 + None, # 2751 + None, # 2752 + None, # 2753 + None, # 2754 + None, # 2755 + None, # 2756 + None, # 2757 + None, # 2758 + None, # 2759 + None, # 2760 + None, # 2761 + None, # 2762 + None, # 2763 + None, # 2764 + None, # 2765 + None, # 2766 + None, # 2767 + None, # 2768 + None, # 2769 + None, # 2770 + None, # 2771 + None, # 2772 + None, # 2773 + None, # 2774 + None, # 2775 + None, # 2776 + None, # 2777 + None, # 2778 + None, # 2779 + None, # 2780 + None, # 2781 + None, # 2782 + None, # 2783 + None, # 2784 + None, # 2785 + None, # 2786 + None, # 2787 + None, # 2788 + None, # 2789 + None, # 2790 + None, # 2791 + None, # 2792 + None, # 2793 + None, # 2794 + None, # 2795 + None, # 2796 + None, # 2797 + None, # 2798 + None, # 2799 + None, # 2800 + None, # 2801 + None, # 2802 + None, # 2803 + None, # 2804 + None, # 2805 + None, # 2806 + None, # 2807 + None, # 2808 + None, # 2809 + None, # 2810 + None, # 2811 + None, # 2812 + None, # 2813 + None, # 2814 + None, # 2815 + None, # 2816 + None, # 2817 + None, # 2818 + None, # 2819 + None, # 2820 + None, # 2821 + None, # 2822 + None, # 2823 + None, # 2824 + None, # 2825 + None, # 2826 + None, # 2827 + None, # 2828 + None, # 2829 + None, # 2830 + None, # 2831 + None, # 2832 + None, # 2833 + None, # 2834 + None, # 2835 + None, # 2836 + None, # 2837 + None, # 2838 + None, # 2839 + None, # 2840 + None, # 2841 + None, # 2842 + None, # 2843 + None, # 2844 + None, # 2845 + None, # 2846 + None, # 2847 + None, # 2848 + None, # 2849 + None, # 2850 + None, # 2851 + None, # 2852 + None, # 2853 + None, # 2854 + None, # 2855 + None, # 2856 + None, # 2857 + None, # 2858 + None, # 2859 + None, # 2860 + None, # 2861 + None, # 2862 + None, # 2863 + None, # 2864 + None, # 2865 + None, # 2866 + None, # 2867 + None, # 2868 + None, # 2869 + None, # 2870 + None, # 2871 + None, # 2872 + None, # 2873 + None, # 2874 + None, # 2875 + None, # 2876 + None, # 2877 + None, # 2878 + None, # 2879 + None, # 2880 + None, # 2881 + None, # 2882 + None, # 2883 + None, # 2884 + None, # 2885 + None, # 2886 + None, # 2887 + None, # 2888 + None, # 2889 + None, # 2890 + None, # 2891 + None, # 2892 + None, # 2893 + None, # 2894 + None, # 2895 + None, # 2896 + None, # 2897 + None, # 2898 + None, # 2899 + None, # 2900 + None, # 2901 + None, # 2902 + None, # 2903 + None, # 2904 + None, # 2905 + None, # 2906 + None, # 2907 + None, # 2908 + None, # 2909 + None, # 2910 + None, # 2911 + None, # 2912 + None, # 2913 + None, # 2914 + None, # 2915 + None, # 2916 + None, # 2917 + None, # 2918 + None, # 2919 + None, # 2920 + None, # 2921 + None, # 2922 + None, # 2923 + None, # 2924 + None, # 2925 + None, # 2926 + None, # 2927 + None, # 2928 + None, # 2929 + None, # 2930 + None, # 2931 + None, # 2932 + None, # 2933 + None, # 2934 + None, # 2935 + None, # 2936 + None, # 2937 + None, # 2938 + None, # 2939 + None, # 2940 + None, # 2941 + None, # 2942 + None, # 2943 + None, # 2944 + None, # 2945 + None, # 2946 + None, # 2947 + None, # 2948 + None, # 2949 + None, # 2950 + None, # 2951 + None, # 2952 + None, # 2953 + None, # 2954 + None, # 2955 + None, # 2956 + None, # 2957 + None, # 2958 + None, # 2959 + None, # 2960 + None, # 2961 + None, # 2962 + None, # 2963 + None, # 2964 + None, # 2965 + None, # 2966 + None, # 2967 + None, # 2968 + None, # 2969 + None, # 2970 + None, # 2971 + None, # 2972 + None, # 2973 + None, # 2974 + None, # 2975 + None, # 2976 + None, # 2977 + None, # 2978 + None, # 2979 + None, # 2980 + None, # 2981 + None, # 2982 + None, # 2983 + None, # 2984 + None, # 2985 + None, # 2986 + None, # 2987 + None, # 2988 + None, # 2989 + None, # 2990 + None, # 2991 + None, # 2992 + None, # 2993 + None, # 2994 + None, # 2995 + None, # 2996 + None, # 2997 + None, # 2998 + None, # 2999 + None, # 3000 + None, # 3001 + None, # 3002 + None, # 3003 + None, # 3004 + None, # 3005 + None, # 3006 + None, # 3007 + None, # 3008 + None, # 3009 + None, # 3010 + None, # 3011 + None, # 3012 + None, # 3013 + None, # 3014 + None, # 3015 + None, # 3016 + None, # 3017 + None, # 3018 + None, # 3019 + None, # 3020 + None, # 3021 + None, # 3022 + None, # 3023 + None, # 3024 + None, # 3025 + None, # 3026 + None, # 3027 + None, # 3028 + None, # 3029 + None, # 3030 + None, # 3031 + None, # 3032 + None, # 3033 + None, # 3034 + None, # 3035 + None, # 3036 + None, # 3037 + None, # 3038 + None, # 3039 + None, # 3040 + None, # 3041 + None, # 3042 + None, # 3043 + None, # 3044 + None, # 3045 + None, # 3046 + None, # 3047 + None, # 3048 + None, # 3049 + None, # 3050 + None, # 3051 + None, # 3052 + None, # 3053 + None, # 3054 + None, # 3055 + None, # 3056 + None, # 3057 + None, # 3058 + None, # 3059 + None, # 3060 + None, # 3061 + None, # 3062 + None, # 3063 + None, # 3064 + None, # 3065 + None, # 3066 + None, # 3067 + None, # 3068 + None, # 3069 + None, # 3070 + None, # 3071 + None, # 3072 + None, # 3073 + None, # 3074 + None, # 3075 + None, # 3076 + None, # 3077 + None, # 3078 + None, # 3079 + None, # 3080 + None, # 3081 + None, # 3082 + None, # 3083 + None, # 3084 + None, # 3085 + None, # 3086 + None, # 3087 + None, # 3088 + None, # 3089 + None, # 3090 + None, # 3091 + None, # 3092 + None, # 3093 + None, # 3094 + None, # 3095 + None, # 3096 + None, # 3097 + None, # 3098 + None, # 3099 + None, # 3100 + None, # 3101 + None, # 3102 + None, # 3103 + None, # 3104 + None, # 3105 + None, # 3106 + None, # 3107 + None, # 3108 + None, # 3109 + None, # 3110 + None, # 3111 + None, # 3112 + None, # 3113 + None, # 3114 + None, # 3115 + None, # 3116 + None, # 3117 + None, # 3118 + None, # 3119 + None, # 3120 + None, # 3121 + None, # 3122 + None, # 3123 + None, # 3124 + None, # 3125 + None, # 3126 + None, # 3127 + None, # 3128 + None, # 3129 + None, # 3130 + None, # 3131 + None, # 3132 + None, # 3133 + None, # 3134 + None, # 3135 + None, # 3136 + None, # 3137 + None, # 3138 + None, # 3139 + None, # 3140 + None, # 3141 + None, # 3142 + None, # 3143 + None, # 3144 + None, # 3145 + None, # 3146 + None, # 3147 + None, # 3148 + None, # 3149 + None, # 3150 + None, # 3151 + None, # 3152 + None, # 3153 + None, # 3154 + None, # 3155 + None, # 3156 + None, # 3157 + None, # 3158 + None, # 3159 + None, # 3160 + None, # 3161 + None, # 3162 + None, # 3163 + None, # 3164 + None, # 3165 + None, # 3166 + None, # 3167 + None, # 3168 + None, # 3169 + None, # 3170 + None, # 3171 + None, # 3172 + None, # 3173 + None, # 3174 + None, # 3175 + None, # 3176 + None, # 3177 + None, # 3178 + None, # 3179 + None, # 3180 + None, # 3181 + None, # 3182 + None, # 3183 + None, # 3184 + None, # 3185 + None, # 3186 + None, # 3187 + None, # 3188 + None, # 3189 + None, # 3190 + None, # 3191 + None, # 3192 + None, # 3193 + None, # 3194 + None, # 3195 + None, # 3196 + None, # 3197 + None, # 3198 + None, # 3199 + None, # 3200 + None, # 3201 + None, # 3202 + None, # 3203 + None, # 3204 + None, # 3205 + None, # 3206 + None, # 3207 + None, # 3208 + None, # 3209 + None, # 3210 + None, # 3211 + None, # 3212 + None, # 3213 + None, # 3214 + None, # 3215 + None, # 3216 + None, # 3217 + None, # 3218 + None, # 3219 + None, # 3220 + None, # 3221 + None, # 3222 + None, # 3223 + None, # 3224 + None, # 3225 + None, # 3226 + None, # 3227 + None, # 3228 + None, # 3229 + None, # 3230 + None, # 3231 + None, # 3232 + None, # 3233 + None, # 3234 + None, # 3235 + None, # 3236 + None, # 3237 + None, # 3238 + None, # 3239 + None, # 3240 + None, # 3241 + None, # 3242 + None, # 3243 + None, # 3244 + None, # 3245 + None, # 3246 + None, # 3247 + None, # 3248 + None, # 3249 + None, # 3250 + None, # 3251 + None, # 3252 + None, # 3253 + None, # 3254 + None, # 3255 + None, # 3256 + None, # 3257 + None, # 3258 + None, # 3259 + None, # 3260 + None, # 3261 + None, # 3262 + None, # 3263 + None, # 3264 + None, # 3265 + None, # 3266 + None, # 3267 + None, # 3268 + None, # 3269 + None, # 3270 + None, # 3271 + None, # 3272 + None, # 3273 + None, # 3274 + None, # 3275 + None, # 3276 + None, # 3277 + None, # 3278 + None, # 3279 + None, # 3280 + None, # 3281 + None, # 3282 + None, # 3283 + None, # 3284 + None, # 3285 + None, # 3286 + None, # 3287 + None, # 3288 + None, # 3289 + None, # 3290 + None, # 3291 + None, # 3292 + None, # 3293 + None, # 3294 + None, # 3295 + None, # 3296 + None, # 3297 + None, # 3298 + None, # 3299 + None, # 3300 + None, # 3301 + None, # 3302 + None, # 3303 + None, # 3304 + None, # 3305 + None, # 3306 + None, # 3307 + None, # 3308 + None, # 3309 + None, # 3310 + None, # 3311 + None, # 3312 + None, # 3313 + None, # 3314 + None, # 3315 + None, # 3316 + None, # 3317 + None, # 3318 + None, # 3319 + None, # 3320 + None, # 3321 + None, # 3322 + None, # 3323 + None, # 3324 + None, # 3325 + None, # 3326 + None, # 3327 + None, # 3328 + (3329, TType.STRUCT, 'operationId', [THandleIdentifier, None], None, ), # 3329 + (3330, TType.STRUCT, 'sessionConf', [TDBSqlSessionConf, None], None, ), # 3330 ) all_structs.append(TGetFunctionsResp) TGetFunctionsResp.thrift_spec = ( - None, # 0 - ( - 1, - TType.STRUCT, - "status", - [TStatus, None], - None, - ), # 1 - ( - 2, - TType.STRUCT, - "operationHandle", - [TOperationHandle, None], - None, - ), # 2 - None, # 3 - None, # 4 - None, # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - ( - 1281, - TType.STRUCT, - "directResults", - [TSparkDirectResults, None], - None, - ), # 1281 + None, # 0 + (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 + (2, TType.STRUCT, 'operationHandle', [TOperationHandle, None], None, ), # 2 + None, # 3 + None, # 4 + None, # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + (1281, TType.STRUCT, 'directResults', [TSparkDirectResults, None], None, ), # 1281 ) all_structs.append(TGetPrimaryKeysReq) TGetPrimaryKeysReq.thrift_spec = ( - None, # 0 - ( - 1, - TType.STRUCT, - "sessionHandle", - [TSessionHandle, None], - None, - ), # 1 - ( - 2, - TType.STRING, - "catalogName", - "UTF8", - None, - ), # 2 - ( - 3, - TType.STRING, - "schemaName", - "UTF8", - None, - ), # 3 - ( - 4, - TType.STRING, - "tableName", - "UTF8", - None, - ), # 4 - None, # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - ( - 1281, - TType.STRUCT, - "getDirectResults", - [TSparkGetDirectResults, None], - None, - ), # 1281 - ( - 1282, - TType.BOOL, - "runAsync", - None, - False, - ), # 1282 - None, # 1283 - None, # 1284 - None, # 1285 - None, # 1286 - None, # 1287 - None, # 1288 - None, # 1289 - None, # 1290 - None, # 1291 - None, # 1292 - None, # 1293 - None, # 1294 - None, # 1295 - None, # 1296 - None, # 1297 - None, # 1298 - None, # 1299 - None, # 1300 - None, # 1301 - None, # 1302 - None, # 1303 - None, # 1304 - None, # 1305 - None, # 1306 - None, # 1307 - None, # 1308 - None, # 1309 - None, # 1310 - None, # 1311 - None, # 1312 - None, # 1313 - None, # 1314 - None, # 1315 - None, # 1316 - None, # 1317 - None, # 1318 - None, # 1319 - None, # 1320 - None, # 1321 - None, # 1322 - None, # 1323 - None, # 1324 - None, # 1325 - None, # 1326 - None, # 1327 - None, # 1328 - None, # 1329 - None, # 1330 - None, # 1331 - None, # 1332 - None, # 1333 - None, # 1334 - None, # 1335 - None, # 1336 - None, # 1337 - None, # 1338 - None, # 1339 - None, # 1340 - None, # 1341 - None, # 1342 - None, # 1343 - None, # 1344 - None, # 1345 - None, # 1346 - None, # 1347 - None, # 1348 - None, # 1349 - None, # 1350 - None, # 1351 - None, # 1352 - None, # 1353 - None, # 1354 - None, # 1355 - None, # 1356 - None, # 1357 - None, # 1358 - None, # 1359 - None, # 1360 - None, # 1361 - None, # 1362 - None, # 1363 - None, # 1364 - None, # 1365 - None, # 1366 - None, # 1367 - None, # 1368 - None, # 1369 - None, # 1370 - None, # 1371 - None, # 1372 - None, # 1373 - None, # 1374 - None, # 1375 - None, # 1376 - None, # 1377 - None, # 1378 - None, # 1379 - None, # 1380 - None, # 1381 - None, # 1382 - None, # 1383 - None, # 1384 - None, # 1385 - None, # 1386 - None, # 1387 - None, # 1388 - None, # 1389 - None, # 1390 - None, # 1391 - None, # 1392 - None, # 1393 - None, # 1394 - None, # 1395 - None, # 1396 - None, # 1397 - None, # 1398 - None, # 1399 - None, # 1400 - None, # 1401 - None, # 1402 - None, # 1403 - None, # 1404 - None, # 1405 - None, # 1406 - None, # 1407 - None, # 1408 - None, # 1409 - None, # 1410 - None, # 1411 - None, # 1412 - None, # 1413 - None, # 1414 - None, # 1415 - None, # 1416 - None, # 1417 - None, # 1418 - None, # 1419 - None, # 1420 - None, # 1421 - None, # 1422 - None, # 1423 - None, # 1424 - None, # 1425 - None, # 1426 - None, # 1427 - None, # 1428 - None, # 1429 - None, # 1430 - None, # 1431 - None, # 1432 - None, # 1433 - None, # 1434 - None, # 1435 - None, # 1436 - None, # 1437 - None, # 1438 - None, # 1439 - None, # 1440 - None, # 1441 - None, # 1442 - None, # 1443 - None, # 1444 - None, # 1445 - None, # 1446 - None, # 1447 - None, # 1448 - None, # 1449 - None, # 1450 - None, # 1451 - None, # 1452 - None, # 1453 - None, # 1454 - None, # 1455 - None, # 1456 - None, # 1457 - None, # 1458 - None, # 1459 - None, # 1460 - None, # 1461 - None, # 1462 - None, # 1463 - None, # 1464 - None, # 1465 - None, # 1466 - None, # 1467 - None, # 1468 - None, # 1469 - None, # 1470 - None, # 1471 - None, # 1472 - None, # 1473 - None, # 1474 - None, # 1475 - None, # 1476 - None, # 1477 - None, # 1478 - None, # 1479 - None, # 1480 - None, # 1481 - None, # 1482 - None, # 1483 - None, # 1484 - None, # 1485 - None, # 1486 - None, # 1487 - None, # 1488 - None, # 1489 - None, # 1490 - None, # 1491 - None, # 1492 - None, # 1493 - None, # 1494 - None, # 1495 - None, # 1496 - None, # 1497 - None, # 1498 - None, # 1499 - None, # 1500 - None, # 1501 - None, # 1502 - None, # 1503 - None, # 1504 - None, # 1505 - None, # 1506 - None, # 1507 - None, # 1508 - None, # 1509 - None, # 1510 - None, # 1511 - None, # 1512 - None, # 1513 - None, # 1514 - None, # 1515 - None, # 1516 - None, # 1517 - None, # 1518 - None, # 1519 - None, # 1520 - None, # 1521 - None, # 1522 - None, # 1523 - None, # 1524 - None, # 1525 - None, # 1526 - None, # 1527 - None, # 1528 - None, # 1529 - None, # 1530 - None, # 1531 - None, # 1532 - None, # 1533 - None, # 1534 - None, # 1535 - None, # 1536 - None, # 1537 - None, # 1538 - None, # 1539 - None, # 1540 - None, # 1541 - None, # 1542 - None, # 1543 - None, # 1544 - None, # 1545 - None, # 1546 - None, # 1547 - None, # 1548 - None, # 1549 - None, # 1550 - None, # 1551 - None, # 1552 - None, # 1553 - None, # 1554 - None, # 1555 - None, # 1556 - None, # 1557 - None, # 1558 - None, # 1559 - None, # 1560 - None, # 1561 - None, # 1562 - None, # 1563 - None, # 1564 - None, # 1565 - None, # 1566 - None, # 1567 - None, # 1568 - None, # 1569 - None, # 1570 - None, # 1571 - None, # 1572 - None, # 1573 - None, # 1574 - None, # 1575 - None, # 1576 - None, # 1577 - None, # 1578 - None, # 1579 - None, # 1580 - None, # 1581 - None, # 1582 - None, # 1583 - None, # 1584 - None, # 1585 - None, # 1586 - None, # 1587 - None, # 1588 - None, # 1589 - None, # 1590 - None, # 1591 - None, # 1592 - None, # 1593 - None, # 1594 - None, # 1595 - None, # 1596 - None, # 1597 - None, # 1598 - None, # 1599 - None, # 1600 - None, # 1601 - None, # 1602 - None, # 1603 - None, # 1604 - None, # 1605 - None, # 1606 - None, # 1607 - None, # 1608 - None, # 1609 - None, # 1610 - None, # 1611 - None, # 1612 - None, # 1613 - None, # 1614 - None, # 1615 - None, # 1616 - None, # 1617 - None, # 1618 - None, # 1619 - None, # 1620 - None, # 1621 - None, # 1622 - None, # 1623 - None, # 1624 - None, # 1625 - None, # 1626 - None, # 1627 - None, # 1628 - None, # 1629 - None, # 1630 - None, # 1631 - None, # 1632 - None, # 1633 - None, # 1634 - None, # 1635 - None, # 1636 - None, # 1637 - None, # 1638 - None, # 1639 - None, # 1640 - None, # 1641 - None, # 1642 - None, # 1643 - None, # 1644 - None, # 1645 - None, # 1646 - None, # 1647 - None, # 1648 - None, # 1649 - None, # 1650 - None, # 1651 - None, # 1652 - None, # 1653 - None, # 1654 - None, # 1655 - None, # 1656 - None, # 1657 - None, # 1658 - None, # 1659 - None, # 1660 - None, # 1661 - None, # 1662 - None, # 1663 - None, # 1664 - None, # 1665 - None, # 1666 - None, # 1667 - None, # 1668 - None, # 1669 - None, # 1670 - None, # 1671 - None, # 1672 - None, # 1673 - None, # 1674 - None, # 1675 - None, # 1676 - None, # 1677 - None, # 1678 - None, # 1679 - None, # 1680 - None, # 1681 - None, # 1682 - None, # 1683 - None, # 1684 - None, # 1685 - None, # 1686 - None, # 1687 - None, # 1688 - None, # 1689 - None, # 1690 - None, # 1691 - None, # 1692 - None, # 1693 - None, # 1694 - None, # 1695 - None, # 1696 - None, # 1697 - None, # 1698 - None, # 1699 - None, # 1700 - None, # 1701 - None, # 1702 - None, # 1703 - None, # 1704 - None, # 1705 - None, # 1706 - None, # 1707 - None, # 1708 - None, # 1709 - None, # 1710 - None, # 1711 - None, # 1712 - None, # 1713 - None, # 1714 - None, # 1715 - None, # 1716 - None, # 1717 - None, # 1718 - None, # 1719 - None, # 1720 - None, # 1721 - None, # 1722 - None, # 1723 - None, # 1724 - None, # 1725 - None, # 1726 - None, # 1727 - None, # 1728 - None, # 1729 - None, # 1730 - None, # 1731 - None, # 1732 - None, # 1733 - None, # 1734 - None, # 1735 - None, # 1736 - None, # 1737 - None, # 1738 - None, # 1739 - None, # 1740 - None, # 1741 - None, # 1742 - None, # 1743 - None, # 1744 - None, # 1745 - None, # 1746 - None, # 1747 - None, # 1748 - None, # 1749 - None, # 1750 - None, # 1751 - None, # 1752 - None, # 1753 - None, # 1754 - None, # 1755 - None, # 1756 - None, # 1757 - None, # 1758 - None, # 1759 - None, # 1760 - None, # 1761 - None, # 1762 - None, # 1763 - None, # 1764 - None, # 1765 - None, # 1766 - None, # 1767 - None, # 1768 - None, # 1769 - None, # 1770 - None, # 1771 - None, # 1772 - None, # 1773 - None, # 1774 - None, # 1775 - None, # 1776 - None, # 1777 - None, # 1778 - None, # 1779 - None, # 1780 - None, # 1781 - None, # 1782 - None, # 1783 - None, # 1784 - None, # 1785 - None, # 1786 - None, # 1787 - None, # 1788 - None, # 1789 - None, # 1790 - None, # 1791 - None, # 1792 - None, # 1793 - None, # 1794 - None, # 1795 - None, # 1796 - None, # 1797 - None, # 1798 - None, # 1799 - None, # 1800 - None, # 1801 - None, # 1802 - None, # 1803 - None, # 1804 - None, # 1805 - None, # 1806 - None, # 1807 - None, # 1808 - None, # 1809 - None, # 1810 - None, # 1811 - None, # 1812 - None, # 1813 - None, # 1814 - None, # 1815 - None, # 1816 - None, # 1817 - None, # 1818 - None, # 1819 - None, # 1820 - None, # 1821 - None, # 1822 - None, # 1823 - None, # 1824 - None, # 1825 - None, # 1826 - None, # 1827 - None, # 1828 - None, # 1829 - None, # 1830 - None, # 1831 - None, # 1832 - None, # 1833 - None, # 1834 - None, # 1835 - None, # 1836 - None, # 1837 - None, # 1838 - None, # 1839 - None, # 1840 - None, # 1841 - None, # 1842 - None, # 1843 - None, # 1844 - None, # 1845 - None, # 1846 - None, # 1847 - None, # 1848 - None, # 1849 - None, # 1850 - None, # 1851 - None, # 1852 - None, # 1853 - None, # 1854 - None, # 1855 - None, # 1856 - None, # 1857 - None, # 1858 - None, # 1859 - None, # 1860 - None, # 1861 - None, # 1862 - None, # 1863 - None, # 1864 - None, # 1865 - None, # 1866 - None, # 1867 - None, # 1868 - None, # 1869 - None, # 1870 - None, # 1871 - None, # 1872 - None, # 1873 - None, # 1874 - None, # 1875 - None, # 1876 - None, # 1877 - None, # 1878 - None, # 1879 - None, # 1880 - None, # 1881 - None, # 1882 - None, # 1883 - None, # 1884 - None, # 1885 - None, # 1886 - None, # 1887 - None, # 1888 - None, # 1889 - None, # 1890 - None, # 1891 - None, # 1892 - None, # 1893 - None, # 1894 - None, # 1895 - None, # 1896 - None, # 1897 - None, # 1898 - None, # 1899 - None, # 1900 - None, # 1901 - None, # 1902 - None, # 1903 - None, # 1904 - None, # 1905 - None, # 1906 - None, # 1907 - None, # 1908 - None, # 1909 - None, # 1910 - None, # 1911 - None, # 1912 - None, # 1913 - None, # 1914 - None, # 1915 - None, # 1916 - None, # 1917 - None, # 1918 - None, # 1919 - None, # 1920 - None, # 1921 - None, # 1922 - None, # 1923 - None, # 1924 - None, # 1925 - None, # 1926 - None, # 1927 - None, # 1928 - None, # 1929 - None, # 1930 - None, # 1931 - None, # 1932 - None, # 1933 - None, # 1934 - None, # 1935 - None, # 1936 - None, # 1937 - None, # 1938 - None, # 1939 - None, # 1940 - None, # 1941 - None, # 1942 - None, # 1943 - None, # 1944 - None, # 1945 - None, # 1946 - None, # 1947 - None, # 1948 - None, # 1949 - None, # 1950 - None, # 1951 - None, # 1952 - None, # 1953 - None, # 1954 - None, # 1955 - None, # 1956 - None, # 1957 - None, # 1958 - None, # 1959 - None, # 1960 - None, # 1961 - None, # 1962 - None, # 1963 - None, # 1964 - None, # 1965 - None, # 1966 - None, # 1967 - None, # 1968 - None, # 1969 - None, # 1970 - None, # 1971 - None, # 1972 - None, # 1973 - None, # 1974 - None, # 1975 - None, # 1976 - None, # 1977 - None, # 1978 - None, # 1979 - None, # 1980 - None, # 1981 - None, # 1982 - None, # 1983 - None, # 1984 - None, # 1985 - None, # 1986 - None, # 1987 - None, # 1988 - None, # 1989 - None, # 1990 - None, # 1991 - None, # 1992 - None, # 1993 - None, # 1994 - None, # 1995 - None, # 1996 - None, # 1997 - None, # 1998 - None, # 1999 - None, # 2000 - None, # 2001 - None, # 2002 - None, # 2003 - None, # 2004 - None, # 2005 - None, # 2006 - None, # 2007 - None, # 2008 - None, # 2009 - None, # 2010 - None, # 2011 - None, # 2012 - None, # 2013 - None, # 2014 - None, # 2015 - None, # 2016 - None, # 2017 - None, # 2018 - None, # 2019 - None, # 2020 - None, # 2021 - None, # 2022 - None, # 2023 - None, # 2024 - None, # 2025 - None, # 2026 - None, # 2027 - None, # 2028 - None, # 2029 - None, # 2030 - None, # 2031 - None, # 2032 - None, # 2033 - None, # 2034 - None, # 2035 - None, # 2036 - None, # 2037 - None, # 2038 - None, # 2039 - None, # 2040 - None, # 2041 - None, # 2042 - None, # 2043 - None, # 2044 - None, # 2045 - None, # 2046 - None, # 2047 - None, # 2048 - None, # 2049 - None, # 2050 - None, # 2051 - None, # 2052 - None, # 2053 - None, # 2054 - None, # 2055 - None, # 2056 - None, # 2057 - None, # 2058 - None, # 2059 - None, # 2060 - None, # 2061 - None, # 2062 - None, # 2063 - None, # 2064 - None, # 2065 - None, # 2066 - None, # 2067 - None, # 2068 - None, # 2069 - None, # 2070 - None, # 2071 - None, # 2072 - None, # 2073 - None, # 2074 - None, # 2075 - None, # 2076 - None, # 2077 - None, # 2078 - None, # 2079 - None, # 2080 - None, # 2081 - None, # 2082 - None, # 2083 - None, # 2084 - None, # 2085 - None, # 2086 - None, # 2087 - None, # 2088 - None, # 2089 - None, # 2090 - None, # 2091 - None, # 2092 - None, # 2093 - None, # 2094 - None, # 2095 - None, # 2096 - None, # 2097 - None, # 2098 - None, # 2099 - None, # 2100 - None, # 2101 - None, # 2102 - None, # 2103 - None, # 2104 - None, # 2105 - None, # 2106 - None, # 2107 - None, # 2108 - None, # 2109 - None, # 2110 - None, # 2111 - None, # 2112 - None, # 2113 - None, # 2114 - None, # 2115 - None, # 2116 - None, # 2117 - None, # 2118 - None, # 2119 - None, # 2120 - None, # 2121 - None, # 2122 - None, # 2123 - None, # 2124 - None, # 2125 - None, # 2126 - None, # 2127 - None, # 2128 - None, # 2129 - None, # 2130 - None, # 2131 - None, # 2132 - None, # 2133 - None, # 2134 - None, # 2135 - None, # 2136 - None, # 2137 - None, # 2138 - None, # 2139 - None, # 2140 - None, # 2141 - None, # 2142 - None, # 2143 - None, # 2144 - None, # 2145 - None, # 2146 - None, # 2147 - None, # 2148 - None, # 2149 - None, # 2150 - None, # 2151 - None, # 2152 - None, # 2153 - None, # 2154 - None, # 2155 - None, # 2156 - None, # 2157 - None, # 2158 - None, # 2159 - None, # 2160 - None, # 2161 - None, # 2162 - None, # 2163 - None, # 2164 - None, # 2165 - None, # 2166 - None, # 2167 - None, # 2168 - None, # 2169 - None, # 2170 - None, # 2171 - None, # 2172 - None, # 2173 - None, # 2174 - None, # 2175 - None, # 2176 - None, # 2177 - None, # 2178 - None, # 2179 - None, # 2180 - None, # 2181 - None, # 2182 - None, # 2183 - None, # 2184 - None, # 2185 - None, # 2186 - None, # 2187 - None, # 2188 - None, # 2189 - None, # 2190 - None, # 2191 - None, # 2192 - None, # 2193 - None, # 2194 - None, # 2195 - None, # 2196 - None, # 2197 - None, # 2198 - None, # 2199 - None, # 2200 - None, # 2201 - None, # 2202 - None, # 2203 - None, # 2204 - None, # 2205 - None, # 2206 - None, # 2207 - None, # 2208 - None, # 2209 - None, # 2210 - None, # 2211 - None, # 2212 - None, # 2213 - None, # 2214 - None, # 2215 - None, # 2216 - None, # 2217 - None, # 2218 - None, # 2219 - None, # 2220 - None, # 2221 - None, # 2222 - None, # 2223 - None, # 2224 - None, # 2225 - None, # 2226 - None, # 2227 - None, # 2228 - None, # 2229 - None, # 2230 - None, # 2231 - None, # 2232 - None, # 2233 - None, # 2234 - None, # 2235 - None, # 2236 - None, # 2237 - None, # 2238 - None, # 2239 - None, # 2240 - None, # 2241 - None, # 2242 - None, # 2243 - None, # 2244 - None, # 2245 - None, # 2246 - None, # 2247 - None, # 2248 - None, # 2249 - None, # 2250 - None, # 2251 - None, # 2252 - None, # 2253 - None, # 2254 - None, # 2255 - None, # 2256 - None, # 2257 - None, # 2258 - None, # 2259 - None, # 2260 - None, # 2261 - None, # 2262 - None, # 2263 - None, # 2264 - None, # 2265 - None, # 2266 - None, # 2267 - None, # 2268 - None, # 2269 - None, # 2270 - None, # 2271 - None, # 2272 - None, # 2273 - None, # 2274 - None, # 2275 - None, # 2276 - None, # 2277 - None, # 2278 - None, # 2279 - None, # 2280 - None, # 2281 - None, # 2282 - None, # 2283 - None, # 2284 - None, # 2285 - None, # 2286 - None, # 2287 - None, # 2288 - None, # 2289 - None, # 2290 - None, # 2291 - None, # 2292 - None, # 2293 - None, # 2294 - None, # 2295 - None, # 2296 - None, # 2297 - None, # 2298 - None, # 2299 - None, # 2300 - None, # 2301 - None, # 2302 - None, # 2303 - None, # 2304 - None, # 2305 - None, # 2306 - None, # 2307 - None, # 2308 - None, # 2309 - None, # 2310 - None, # 2311 - None, # 2312 - None, # 2313 - None, # 2314 - None, # 2315 - None, # 2316 - None, # 2317 - None, # 2318 - None, # 2319 - None, # 2320 - None, # 2321 - None, # 2322 - None, # 2323 - None, # 2324 - None, # 2325 - None, # 2326 - None, # 2327 - None, # 2328 - None, # 2329 - None, # 2330 - None, # 2331 - None, # 2332 - None, # 2333 - None, # 2334 - None, # 2335 - None, # 2336 - None, # 2337 - None, # 2338 - None, # 2339 - None, # 2340 - None, # 2341 - None, # 2342 - None, # 2343 - None, # 2344 - None, # 2345 - None, # 2346 - None, # 2347 - None, # 2348 - None, # 2349 - None, # 2350 - None, # 2351 - None, # 2352 - None, # 2353 - None, # 2354 - None, # 2355 - None, # 2356 - None, # 2357 - None, # 2358 - None, # 2359 - None, # 2360 - None, # 2361 - None, # 2362 - None, # 2363 - None, # 2364 - None, # 2365 - None, # 2366 - None, # 2367 - None, # 2368 - None, # 2369 - None, # 2370 - None, # 2371 - None, # 2372 - None, # 2373 - None, # 2374 - None, # 2375 - None, # 2376 - None, # 2377 - None, # 2378 - None, # 2379 - None, # 2380 - None, # 2381 - None, # 2382 - None, # 2383 - None, # 2384 - None, # 2385 - None, # 2386 - None, # 2387 - None, # 2388 - None, # 2389 - None, # 2390 - None, # 2391 - None, # 2392 - None, # 2393 - None, # 2394 - None, # 2395 - None, # 2396 - None, # 2397 - None, # 2398 - None, # 2399 - None, # 2400 - None, # 2401 - None, # 2402 - None, # 2403 - None, # 2404 - None, # 2405 - None, # 2406 - None, # 2407 - None, # 2408 - None, # 2409 - None, # 2410 - None, # 2411 - None, # 2412 - None, # 2413 - None, # 2414 - None, # 2415 - None, # 2416 - None, # 2417 - None, # 2418 - None, # 2419 - None, # 2420 - None, # 2421 - None, # 2422 - None, # 2423 - None, # 2424 - None, # 2425 - None, # 2426 - None, # 2427 - None, # 2428 - None, # 2429 - None, # 2430 - None, # 2431 - None, # 2432 - None, # 2433 - None, # 2434 - None, # 2435 - None, # 2436 - None, # 2437 - None, # 2438 - None, # 2439 - None, # 2440 - None, # 2441 - None, # 2442 - None, # 2443 - None, # 2444 - None, # 2445 - None, # 2446 - None, # 2447 - None, # 2448 - None, # 2449 - None, # 2450 - None, # 2451 - None, # 2452 - None, # 2453 - None, # 2454 - None, # 2455 - None, # 2456 - None, # 2457 - None, # 2458 - None, # 2459 - None, # 2460 - None, # 2461 - None, # 2462 - None, # 2463 - None, # 2464 - None, # 2465 - None, # 2466 - None, # 2467 - None, # 2468 - None, # 2469 - None, # 2470 - None, # 2471 - None, # 2472 - None, # 2473 - None, # 2474 - None, # 2475 - None, # 2476 - None, # 2477 - None, # 2478 - None, # 2479 - None, # 2480 - None, # 2481 - None, # 2482 - None, # 2483 - None, # 2484 - None, # 2485 - None, # 2486 - None, # 2487 - None, # 2488 - None, # 2489 - None, # 2490 - None, # 2491 - None, # 2492 - None, # 2493 - None, # 2494 - None, # 2495 - None, # 2496 - None, # 2497 - None, # 2498 - None, # 2499 - None, # 2500 - None, # 2501 - None, # 2502 - None, # 2503 - None, # 2504 - None, # 2505 - None, # 2506 - None, # 2507 - None, # 2508 - None, # 2509 - None, # 2510 - None, # 2511 - None, # 2512 - None, # 2513 - None, # 2514 - None, # 2515 - None, # 2516 - None, # 2517 - None, # 2518 - None, # 2519 - None, # 2520 - None, # 2521 - None, # 2522 - None, # 2523 - None, # 2524 - None, # 2525 - None, # 2526 - None, # 2527 - None, # 2528 - None, # 2529 - None, # 2530 - None, # 2531 - None, # 2532 - None, # 2533 - None, # 2534 - None, # 2535 - None, # 2536 - None, # 2537 - None, # 2538 - None, # 2539 - None, # 2540 - None, # 2541 - None, # 2542 - None, # 2543 - None, # 2544 - None, # 2545 - None, # 2546 - None, # 2547 - None, # 2548 - None, # 2549 - None, # 2550 - None, # 2551 - None, # 2552 - None, # 2553 - None, # 2554 - None, # 2555 - None, # 2556 - None, # 2557 - None, # 2558 - None, # 2559 - None, # 2560 - None, # 2561 - None, # 2562 - None, # 2563 - None, # 2564 - None, # 2565 - None, # 2566 - None, # 2567 - None, # 2568 - None, # 2569 - None, # 2570 - None, # 2571 - None, # 2572 - None, # 2573 - None, # 2574 - None, # 2575 - None, # 2576 - None, # 2577 - None, # 2578 - None, # 2579 - None, # 2580 - None, # 2581 - None, # 2582 - None, # 2583 - None, # 2584 - None, # 2585 - None, # 2586 - None, # 2587 - None, # 2588 - None, # 2589 - None, # 2590 - None, # 2591 - None, # 2592 - None, # 2593 - None, # 2594 - None, # 2595 - None, # 2596 - None, # 2597 - None, # 2598 - None, # 2599 - None, # 2600 - None, # 2601 - None, # 2602 - None, # 2603 - None, # 2604 - None, # 2605 - None, # 2606 - None, # 2607 - None, # 2608 - None, # 2609 - None, # 2610 - None, # 2611 - None, # 2612 - None, # 2613 - None, # 2614 - None, # 2615 - None, # 2616 - None, # 2617 - None, # 2618 - None, # 2619 - None, # 2620 - None, # 2621 - None, # 2622 - None, # 2623 - None, # 2624 - None, # 2625 - None, # 2626 - None, # 2627 - None, # 2628 - None, # 2629 - None, # 2630 - None, # 2631 - None, # 2632 - None, # 2633 - None, # 2634 - None, # 2635 - None, # 2636 - None, # 2637 - None, # 2638 - None, # 2639 - None, # 2640 - None, # 2641 - None, # 2642 - None, # 2643 - None, # 2644 - None, # 2645 - None, # 2646 - None, # 2647 - None, # 2648 - None, # 2649 - None, # 2650 - None, # 2651 - None, # 2652 - None, # 2653 - None, # 2654 - None, # 2655 - None, # 2656 - None, # 2657 - None, # 2658 - None, # 2659 - None, # 2660 - None, # 2661 - None, # 2662 - None, # 2663 - None, # 2664 - None, # 2665 - None, # 2666 - None, # 2667 - None, # 2668 - None, # 2669 - None, # 2670 - None, # 2671 - None, # 2672 - None, # 2673 - None, # 2674 - None, # 2675 - None, # 2676 - None, # 2677 - None, # 2678 - None, # 2679 - None, # 2680 - None, # 2681 - None, # 2682 - None, # 2683 - None, # 2684 - None, # 2685 - None, # 2686 - None, # 2687 - None, # 2688 - None, # 2689 - None, # 2690 - None, # 2691 - None, # 2692 - None, # 2693 - None, # 2694 - None, # 2695 - None, # 2696 - None, # 2697 - None, # 2698 - None, # 2699 - None, # 2700 - None, # 2701 - None, # 2702 - None, # 2703 - None, # 2704 - None, # 2705 - None, # 2706 - None, # 2707 - None, # 2708 - None, # 2709 - None, # 2710 - None, # 2711 - None, # 2712 - None, # 2713 - None, # 2714 - None, # 2715 - None, # 2716 - None, # 2717 - None, # 2718 - None, # 2719 - None, # 2720 - None, # 2721 - None, # 2722 - None, # 2723 - None, # 2724 - None, # 2725 - None, # 2726 - None, # 2727 - None, # 2728 - None, # 2729 - None, # 2730 - None, # 2731 - None, # 2732 - None, # 2733 - None, # 2734 - None, # 2735 - None, # 2736 - None, # 2737 - None, # 2738 - None, # 2739 - None, # 2740 - None, # 2741 - None, # 2742 - None, # 2743 - None, # 2744 - None, # 2745 - None, # 2746 - None, # 2747 - None, # 2748 - None, # 2749 - None, # 2750 - None, # 2751 - None, # 2752 - None, # 2753 - None, # 2754 - None, # 2755 - None, # 2756 - None, # 2757 - None, # 2758 - None, # 2759 - None, # 2760 - None, # 2761 - None, # 2762 - None, # 2763 - None, # 2764 - None, # 2765 - None, # 2766 - None, # 2767 - None, # 2768 - None, # 2769 - None, # 2770 - None, # 2771 - None, # 2772 - None, # 2773 - None, # 2774 - None, # 2775 - None, # 2776 - None, # 2777 - None, # 2778 - None, # 2779 - None, # 2780 - None, # 2781 - None, # 2782 - None, # 2783 - None, # 2784 - None, # 2785 - None, # 2786 - None, # 2787 - None, # 2788 - None, # 2789 - None, # 2790 - None, # 2791 - None, # 2792 - None, # 2793 - None, # 2794 - None, # 2795 - None, # 2796 - None, # 2797 - None, # 2798 - None, # 2799 - None, # 2800 - None, # 2801 - None, # 2802 - None, # 2803 - None, # 2804 - None, # 2805 - None, # 2806 - None, # 2807 - None, # 2808 - None, # 2809 - None, # 2810 - None, # 2811 - None, # 2812 - None, # 2813 - None, # 2814 - None, # 2815 - None, # 2816 - None, # 2817 - None, # 2818 - None, # 2819 - None, # 2820 - None, # 2821 - None, # 2822 - None, # 2823 - None, # 2824 - None, # 2825 - None, # 2826 - None, # 2827 - None, # 2828 - None, # 2829 - None, # 2830 - None, # 2831 - None, # 2832 - None, # 2833 - None, # 2834 - None, # 2835 - None, # 2836 - None, # 2837 - None, # 2838 - None, # 2839 - None, # 2840 - None, # 2841 - None, # 2842 - None, # 2843 - None, # 2844 - None, # 2845 - None, # 2846 - None, # 2847 - None, # 2848 - None, # 2849 - None, # 2850 - None, # 2851 - None, # 2852 - None, # 2853 - None, # 2854 - None, # 2855 - None, # 2856 - None, # 2857 - None, # 2858 - None, # 2859 - None, # 2860 - None, # 2861 - None, # 2862 - None, # 2863 - None, # 2864 - None, # 2865 - None, # 2866 - None, # 2867 - None, # 2868 - None, # 2869 - None, # 2870 - None, # 2871 - None, # 2872 - None, # 2873 - None, # 2874 - None, # 2875 - None, # 2876 - None, # 2877 - None, # 2878 - None, # 2879 - None, # 2880 - None, # 2881 - None, # 2882 - None, # 2883 - None, # 2884 - None, # 2885 - None, # 2886 - None, # 2887 - None, # 2888 - None, # 2889 - None, # 2890 - None, # 2891 - None, # 2892 - None, # 2893 - None, # 2894 - None, # 2895 - None, # 2896 - None, # 2897 - None, # 2898 - None, # 2899 - None, # 2900 - None, # 2901 - None, # 2902 - None, # 2903 - None, # 2904 - None, # 2905 - None, # 2906 - None, # 2907 - None, # 2908 - None, # 2909 - None, # 2910 - None, # 2911 - None, # 2912 - None, # 2913 - None, # 2914 - None, # 2915 - None, # 2916 - None, # 2917 - None, # 2918 - None, # 2919 - None, # 2920 - None, # 2921 - None, # 2922 - None, # 2923 - None, # 2924 - None, # 2925 - None, # 2926 - None, # 2927 - None, # 2928 - None, # 2929 - None, # 2930 - None, # 2931 - None, # 2932 - None, # 2933 - None, # 2934 - None, # 2935 - None, # 2936 - None, # 2937 - None, # 2938 - None, # 2939 - None, # 2940 - None, # 2941 - None, # 2942 - None, # 2943 - None, # 2944 - None, # 2945 - None, # 2946 - None, # 2947 - None, # 2948 - None, # 2949 - None, # 2950 - None, # 2951 - None, # 2952 - None, # 2953 - None, # 2954 - None, # 2955 - None, # 2956 - None, # 2957 - None, # 2958 - None, # 2959 - None, # 2960 - None, # 2961 - None, # 2962 - None, # 2963 - None, # 2964 - None, # 2965 - None, # 2966 - None, # 2967 - None, # 2968 - None, # 2969 - None, # 2970 - None, # 2971 - None, # 2972 - None, # 2973 - None, # 2974 - None, # 2975 - None, # 2976 - None, # 2977 - None, # 2978 - None, # 2979 - None, # 2980 - None, # 2981 - None, # 2982 - None, # 2983 - None, # 2984 - None, # 2985 - None, # 2986 - None, # 2987 - None, # 2988 - None, # 2989 - None, # 2990 - None, # 2991 - None, # 2992 - None, # 2993 - None, # 2994 - None, # 2995 - None, # 2996 - None, # 2997 - None, # 2998 - None, # 2999 - None, # 3000 - None, # 3001 - None, # 3002 - None, # 3003 - None, # 3004 - None, # 3005 - None, # 3006 - None, # 3007 - None, # 3008 - None, # 3009 - None, # 3010 - None, # 3011 - None, # 3012 - None, # 3013 - None, # 3014 - None, # 3015 - None, # 3016 - None, # 3017 - None, # 3018 - None, # 3019 - None, # 3020 - None, # 3021 - None, # 3022 - None, # 3023 - None, # 3024 - None, # 3025 - None, # 3026 - None, # 3027 - None, # 3028 - None, # 3029 - None, # 3030 - None, # 3031 - None, # 3032 - None, # 3033 - None, # 3034 - None, # 3035 - None, # 3036 - None, # 3037 - None, # 3038 - None, # 3039 - None, # 3040 - None, # 3041 - None, # 3042 - None, # 3043 - None, # 3044 - None, # 3045 - None, # 3046 - None, # 3047 - None, # 3048 - None, # 3049 - None, # 3050 - None, # 3051 - None, # 3052 - None, # 3053 - None, # 3054 - None, # 3055 - None, # 3056 - None, # 3057 - None, # 3058 - None, # 3059 - None, # 3060 - None, # 3061 - None, # 3062 - None, # 3063 - None, # 3064 - None, # 3065 - None, # 3066 - None, # 3067 - None, # 3068 - None, # 3069 - None, # 3070 - None, # 3071 - None, # 3072 - None, # 3073 - None, # 3074 - None, # 3075 - None, # 3076 - None, # 3077 - None, # 3078 - None, # 3079 - None, # 3080 - None, # 3081 - None, # 3082 - None, # 3083 - None, # 3084 - None, # 3085 - None, # 3086 - None, # 3087 - None, # 3088 - None, # 3089 - None, # 3090 - None, # 3091 - None, # 3092 - None, # 3093 - None, # 3094 - None, # 3095 - None, # 3096 - None, # 3097 - None, # 3098 - None, # 3099 - None, # 3100 - None, # 3101 - None, # 3102 - None, # 3103 - None, # 3104 - None, # 3105 - None, # 3106 - None, # 3107 - None, # 3108 - None, # 3109 - None, # 3110 - None, # 3111 - None, # 3112 - None, # 3113 - None, # 3114 - None, # 3115 - None, # 3116 - None, # 3117 - None, # 3118 - None, # 3119 - None, # 3120 - None, # 3121 - None, # 3122 - None, # 3123 - None, # 3124 - None, # 3125 - None, # 3126 - None, # 3127 - None, # 3128 - None, # 3129 - None, # 3130 - None, # 3131 - None, # 3132 - None, # 3133 - None, # 3134 - None, # 3135 - None, # 3136 - None, # 3137 - None, # 3138 - None, # 3139 - None, # 3140 - None, # 3141 - None, # 3142 - None, # 3143 - None, # 3144 - None, # 3145 - None, # 3146 - None, # 3147 - None, # 3148 - None, # 3149 - None, # 3150 - None, # 3151 - None, # 3152 - None, # 3153 - None, # 3154 - None, # 3155 - None, # 3156 - None, # 3157 - None, # 3158 - None, # 3159 - None, # 3160 - None, # 3161 - None, # 3162 - None, # 3163 - None, # 3164 - None, # 3165 - None, # 3166 - None, # 3167 - None, # 3168 - None, # 3169 - None, # 3170 - None, # 3171 - None, # 3172 - None, # 3173 - None, # 3174 - None, # 3175 - None, # 3176 - None, # 3177 - None, # 3178 - None, # 3179 - None, # 3180 - None, # 3181 - None, # 3182 - None, # 3183 - None, # 3184 - None, # 3185 - None, # 3186 - None, # 3187 - None, # 3188 - None, # 3189 - None, # 3190 - None, # 3191 - None, # 3192 - None, # 3193 - None, # 3194 - None, # 3195 - None, # 3196 - None, # 3197 - None, # 3198 - None, # 3199 - None, # 3200 - None, # 3201 - None, # 3202 - None, # 3203 - None, # 3204 - None, # 3205 - None, # 3206 - None, # 3207 - None, # 3208 - None, # 3209 - None, # 3210 - None, # 3211 - None, # 3212 - None, # 3213 - None, # 3214 - None, # 3215 - None, # 3216 - None, # 3217 - None, # 3218 - None, # 3219 - None, # 3220 - None, # 3221 - None, # 3222 - None, # 3223 - None, # 3224 - None, # 3225 - None, # 3226 - None, # 3227 - None, # 3228 - None, # 3229 - None, # 3230 - None, # 3231 - None, # 3232 - None, # 3233 - None, # 3234 - None, # 3235 - None, # 3236 - None, # 3237 - None, # 3238 - None, # 3239 - None, # 3240 - None, # 3241 - None, # 3242 - None, # 3243 - None, # 3244 - None, # 3245 - None, # 3246 - None, # 3247 - None, # 3248 - None, # 3249 - None, # 3250 - None, # 3251 - None, # 3252 - None, # 3253 - None, # 3254 - None, # 3255 - None, # 3256 - None, # 3257 - None, # 3258 - None, # 3259 - None, # 3260 - None, # 3261 - None, # 3262 - None, # 3263 - None, # 3264 - None, # 3265 - None, # 3266 - None, # 3267 - None, # 3268 - None, # 3269 - None, # 3270 - None, # 3271 - None, # 3272 - None, # 3273 - None, # 3274 - None, # 3275 - None, # 3276 - None, # 3277 - None, # 3278 - None, # 3279 - None, # 3280 - None, # 3281 - None, # 3282 - None, # 3283 - None, # 3284 - None, # 3285 - None, # 3286 - None, # 3287 - None, # 3288 - None, # 3289 - None, # 3290 - None, # 3291 - None, # 3292 - None, # 3293 - None, # 3294 - None, # 3295 - None, # 3296 - None, # 3297 - None, # 3298 - None, # 3299 - None, # 3300 - None, # 3301 - None, # 3302 - None, # 3303 - None, # 3304 - None, # 3305 - None, # 3306 - None, # 3307 - None, # 3308 - None, # 3309 - None, # 3310 - None, # 3311 - None, # 3312 - None, # 3313 - None, # 3314 - None, # 3315 - None, # 3316 - None, # 3317 - None, # 3318 - None, # 3319 - None, # 3320 - None, # 3321 - None, # 3322 - None, # 3323 - None, # 3324 - None, # 3325 - None, # 3326 - None, # 3327 - None, # 3328 - ( - 3329, - TType.STRUCT, - "operationId", - [THandleIdentifier, None], - None, - ), # 3329 - ( - 3330, - TType.STRUCT, - "sessionConf", - [TDBSqlSessionConf, None], - None, - ), # 3330 + None, # 0 + (1, TType.STRUCT, 'sessionHandle', [TSessionHandle, None], None, ), # 1 + (2, TType.STRING, 'catalogName', 'UTF8', None, ), # 2 + (3, TType.STRING, 'schemaName', 'UTF8', None, ), # 3 + (4, TType.STRING, 'tableName', 'UTF8', None, ), # 4 + None, # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + (1281, TType.STRUCT, 'getDirectResults', [TSparkGetDirectResults, None], None, ), # 1281 + (1282, TType.BOOL, 'runAsync', None, False, ), # 1282 + None, # 1283 + None, # 1284 + None, # 1285 + None, # 1286 + None, # 1287 + None, # 1288 + None, # 1289 + None, # 1290 + None, # 1291 + None, # 1292 + None, # 1293 + None, # 1294 + None, # 1295 + None, # 1296 + None, # 1297 + None, # 1298 + None, # 1299 + None, # 1300 + None, # 1301 + None, # 1302 + None, # 1303 + None, # 1304 + None, # 1305 + None, # 1306 + None, # 1307 + None, # 1308 + None, # 1309 + None, # 1310 + None, # 1311 + None, # 1312 + None, # 1313 + None, # 1314 + None, # 1315 + None, # 1316 + None, # 1317 + None, # 1318 + None, # 1319 + None, # 1320 + None, # 1321 + None, # 1322 + None, # 1323 + None, # 1324 + None, # 1325 + None, # 1326 + None, # 1327 + None, # 1328 + None, # 1329 + None, # 1330 + None, # 1331 + None, # 1332 + None, # 1333 + None, # 1334 + None, # 1335 + None, # 1336 + None, # 1337 + None, # 1338 + None, # 1339 + None, # 1340 + None, # 1341 + None, # 1342 + None, # 1343 + None, # 1344 + None, # 1345 + None, # 1346 + None, # 1347 + None, # 1348 + None, # 1349 + None, # 1350 + None, # 1351 + None, # 1352 + None, # 1353 + None, # 1354 + None, # 1355 + None, # 1356 + None, # 1357 + None, # 1358 + None, # 1359 + None, # 1360 + None, # 1361 + None, # 1362 + None, # 1363 + None, # 1364 + None, # 1365 + None, # 1366 + None, # 1367 + None, # 1368 + None, # 1369 + None, # 1370 + None, # 1371 + None, # 1372 + None, # 1373 + None, # 1374 + None, # 1375 + None, # 1376 + None, # 1377 + None, # 1378 + None, # 1379 + None, # 1380 + None, # 1381 + None, # 1382 + None, # 1383 + None, # 1384 + None, # 1385 + None, # 1386 + None, # 1387 + None, # 1388 + None, # 1389 + None, # 1390 + None, # 1391 + None, # 1392 + None, # 1393 + None, # 1394 + None, # 1395 + None, # 1396 + None, # 1397 + None, # 1398 + None, # 1399 + None, # 1400 + None, # 1401 + None, # 1402 + None, # 1403 + None, # 1404 + None, # 1405 + None, # 1406 + None, # 1407 + None, # 1408 + None, # 1409 + None, # 1410 + None, # 1411 + None, # 1412 + None, # 1413 + None, # 1414 + None, # 1415 + None, # 1416 + None, # 1417 + None, # 1418 + None, # 1419 + None, # 1420 + None, # 1421 + None, # 1422 + None, # 1423 + None, # 1424 + None, # 1425 + None, # 1426 + None, # 1427 + None, # 1428 + None, # 1429 + None, # 1430 + None, # 1431 + None, # 1432 + None, # 1433 + None, # 1434 + None, # 1435 + None, # 1436 + None, # 1437 + None, # 1438 + None, # 1439 + None, # 1440 + None, # 1441 + None, # 1442 + None, # 1443 + None, # 1444 + None, # 1445 + None, # 1446 + None, # 1447 + None, # 1448 + None, # 1449 + None, # 1450 + None, # 1451 + None, # 1452 + None, # 1453 + None, # 1454 + None, # 1455 + None, # 1456 + None, # 1457 + None, # 1458 + None, # 1459 + None, # 1460 + None, # 1461 + None, # 1462 + None, # 1463 + None, # 1464 + None, # 1465 + None, # 1466 + None, # 1467 + None, # 1468 + None, # 1469 + None, # 1470 + None, # 1471 + None, # 1472 + None, # 1473 + None, # 1474 + None, # 1475 + None, # 1476 + None, # 1477 + None, # 1478 + None, # 1479 + None, # 1480 + None, # 1481 + None, # 1482 + None, # 1483 + None, # 1484 + None, # 1485 + None, # 1486 + None, # 1487 + None, # 1488 + None, # 1489 + None, # 1490 + None, # 1491 + None, # 1492 + None, # 1493 + None, # 1494 + None, # 1495 + None, # 1496 + None, # 1497 + None, # 1498 + None, # 1499 + None, # 1500 + None, # 1501 + None, # 1502 + None, # 1503 + None, # 1504 + None, # 1505 + None, # 1506 + None, # 1507 + None, # 1508 + None, # 1509 + None, # 1510 + None, # 1511 + None, # 1512 + None, # 1513 + None, # 1514 + None, # 1515 + None, # 1516 + None, # 1517 + None, # 1518 + None, # 1519 + None, # 1520 + None, # 1521 + None, # 1522 + None, # 1523 + None, # 1524 + None, # 1525 + None, # 1526 + None, # 1527 + None, # 1528 + None, # 1529 + None, # 1530 + None, # 1531 + None, # 1532 + None, # 1533 + None, # 1534 + None, # 1535 + None, # 1536 + None, # 1537 + None, # 1538 + None, # 1539 + None, # 1540 + None, # 1541 + None, # 1542 + None, # 1543 + None, # 1544 + None, # 1545 + None, # 1546 + None, # 1547 + None, # 1548 + None, # 1549 + None, # 1550 + None, # 1551 + None, # 1552 + None, # 1553 + None, # 1554 + None, # 1555 + None, # 1556 + None, # 1557 + None, # 1558 + None, # 1559 + None, # 1560 + None, # 1561 + None, # 1562 + None, # 1563 + None, # 1564 + None, # 1565 + None, # 1566 + None, # 1567 + None, # 1568 + None, # 1569 + None, # 1570 + None, # 1571 + None, # 1572 + None, # 1573 + None, # 1574 + None, # 1575 + None, # 1576 + None, # 1577 + None, # 1578 + None, # 1579 + None, # 1580 + None, # 1581 + None, # 1582 + None, # 1583 + None, # 1584 + None, # 1585 + None, # 1586 + None, # 1587 + None, # 1588 + None, # 1589 + None, # 1590 + None, # 1591 + None, # 1592 + None, # 1593 + None, # 1594 + None, # 1595 + None, # 1596 + None, # 1597 + None, # 1598 + None, # 1599 + None, # 1600 + None, # 1601 + None, # 1602 + None, # 1603 + None, # 1604 + None, # 1605 + None, # 1606 + None, # 1607 + None, # 1608 + None, # 1609 + None, # 1610 + None, # 1611 + None, # 1612 + None, # 1613 + None, # 1614 + None, # 1615 + None, # 1616 + None, # 1617 + None, # 1618 + None, # 1619 + None, # 1620 + None, # 1621 + None, # 1622 + None, # 1623 + None, # 1624 + None, # 1625 + None, # 1626 + None, # 1627 + None, # 1628 + None, # 1629 + None, # 1630 + None, # 1631 + None, # 1632 + None, # 1633 + None, # 1634 + None, # 1635 + None, # 1636 + None, # 1637 + None, # 1638 + None, # 1639 + None, # 1640 + None, # 1641 + None, # 1642 + None, # 1643 + None, # 1644 + None, # 1645 + None, # 1646 + None, # 1647 + None, # 1648 + None, # 1649 + None, # 1650 + None, # 1651 + None, # 1652 + None, # 1653 + None, # 1654 + None, # 1655 + None, # 1656 + None, # 1657 + None, # 1658 + None, # 1659 + None, # 1660 + None, # 1661 + None, # 1662 + None, # 1663 + None, # 1664 + None, # 1665 + None, # 1666 + None, # 1667 + None, # 1668 + None, # 1669 + None, # 1670 + None, # 1671 + None, # 1672 + None, # 1673 + None, # 1674 + None, # 1675 + None, # 1676 + None, # 1677 + None, # 1678 + None, # 1679 + None, # 1680 + None, # 1681 + None, # 1682 + None, # 1683 + None, # 1684 + None, # 1685 + None, # 1686 + None, # 1687 + None, # 1688 + None, # 1689 + None, # 1690 + None, # 1691 + None, # 1692 + None, # 1693 + None, # 1694 + None, # 1695 + None, # 1696 + None, # 1697 + None, # 1698 + None, # 1699 + None, # 1700 + None, # 1701 + None, # 1702 + None, # 1703 + None, # 1704 + None, # 1705 + None, # 1706 + None, # 1707 + None, # 1708 + None, # 1709 + None, # 1710 + None, # 1711 + None, # 1712 + None, # 1713 + None, # 1714 + None, # 1715 + None, # 1716 + None, # 1717 + None, # 1718 + None, # 1719 + None, # 1720 + None, # 1721 + None, # 1722 + None, # 1723 + None, # 1724 + None, # 1725 + None, # 1726 + None, # 1727 + None, # 1728 + None, # 1729 + None, # 1730 + None, # 1731 + None, # 1732 + None, # 1733 + None, # 1734 + None, # 1735 + None, # 1736 + None, # 1737 + None, # 1738 + None, # 1739 + None, # 1740 + None, # 1741 + None, # 1742 + None, # 1743 + None, # 1744 + None, # 1745 + None, # 1746 + None, # 1747 + None, # 1748 + None, # 1749 + None, # 1750 + None, # 1751 + None, # 1752 + None, # 1753 + None, # 1754 + None, # 1755 + None, # 1756 + None, # 1757 + None, # 1758 + None, # 1759 + None, # 1760 + None, # 1761 + None, # 1762 + None, # 1763 + None, # 1764 + None, # 1765 + None, # 1766 + None, # 1767 + None, # 1768 + None, # 1769 + None, # 1770 + None, # 1771 + None, # 1772 + None, # 1773 + None, # 1774 + None, # 1775 + None, # 1776 + None, # 1777 + None, # 1778 + None, # 1779 + None, # 1780 + None, # 1781 + None, # 1782 + None, # 1783 + None, # 1784 + None, # 1785 + None, # 1786 + None, # 1787 + None, # 1788 + None, # 1789 + None, # 1790 + None, # 1791 + None, # 1792 + None, # 1793 + None, # 1794 + None, # 1795 + None, # 1796 + None, # 1797 + None, # 1798 + None, # 1799 + None, # 1800 + None, # 1801 + None, # 1802 + None, # 1803 + None, # 1804 + None, # 1805 + None, # 1806 + None, # 1807 + None, # 1808 + None, # 1809 + None, # 1810 + None, # 1811 + None, # 1812 + None, # 1813 + None, # 1814 + None, # 1815 + None, # 1816 + None, # 1817 + None, # 1818 + None, # 1819 + None, # 1820 + None, # 1821 + None, # 1822 + None, # 1823 + None, # 1824 + None, # 1825 + None, # 1826 + None, # 1827 + None, # 1828 + None, # 1829 + None, # 1830 + None, # 1831 + None, # 1832 + None, # 1833 + None, # 1834 + None, # 1835 + None, # 1836 + None, # 1837 + None, # 1838 + None, # 1839 + None, # 1840 + None, # 1841 + None, # 1842 + None, # 1843 + None, # 1844 + None, # 1845 + None, # 1846 + None, # 1847 + None, # 1848 + None, # 1849 + None, # 1850 + None, # 1851 + None, # 1852 + None, # 1853 + None, # 1854 + None, # 1855 + None, # 1856 + None, # 1857 + None, # 1858 + None, # 1859 + None, # 1860 + None, # 1861 + None, # 1862 + None, # 1863 + None, # 1864 + None, # 1865 + None, # 1866 + None, # 1867 + None, # 1868 + None, # 1869 + None, # 1870 + None, # 1871 + None, # 1872 + None, # 1873 + None, # 1874 + None, # 1875 + None, # 1876 + None, # 1877 + None, # 1878 + None, # 1879 + None, # 1880 + None, # 1881 + None, # 1882 + None, # 1883 + None, # 1884 + None, # 1885 + None, # 1886 + None, # 1887 + None, # 1888 + None, # 1889 + None, # 1890 + None, # 1891 + None, # 1892 + None, # 1893 + None, # 1894 + None, # 1895 + None, # 1896 + None, # 1897 + None, # 1898 + None, # 1899 + None, # 1900 + None, # 1901 + None, # 1902 + None, # 1903 + None, # 1904 + None, # 1905 + None, # 1906 + None, # 1907 + None, # 1908 + None, # 1909 + None, # 1910 + None, # 1911 + None, # 1912 + None, # 1913 + None, # 1914 + None, # 1915 + None, # 1916 + None, # 1917 + None, # 1918 + None, # 1919 + None, # 1920 + None, # 1921 + None, # 1922 + None, # 1923 + None, # 1924 + None, # 1925 + None, # 1926 + None, # 1927 + None, # 1928 + None, # 1929 + None, # 1930 + None, # 1931 + None, # 1932 + None, # 1933 + None, # 1934 + None, # 1935 + None, # 1936 + None, # 1937 + None, # 1938 + None, # 1939 + None, # 1940 + None, # 1941 + None, # 1942 + None, # 1943 + None, # 1944 + None, # 1945 + None, # 1946 + None, # 1947 + None, # 1948 + None, # 1949 + None, # 1950 + None, # 1951 + None, # 1952 + None, # 1953 + None, # 1954 + None, # 1955 + None, # 1956 + None, # 1957 + None, # 1958 + None, # 1959 + None, # 1960 + None, # 1961 + None, # 1962 + None, # 1963 + None, # 1964 + None, # 1965 + None, # 1966 + None, # 1967 + None, # 1968 + None, # 1969 + None, # 1970 + None, # 1971 + None, # 1972 + None, # 1973 + None, # 1974 + None, # 1975 + None, # 1976 + None, # 1977 + None, # 1978 + None, # 1979 + None, # 1980 + None, # 1981 + None, # 1982 + None, # 1983 + None, # 1984 + None, # 1985 + None, # 1986 + None, # 1987 + None, # 1988 + None, # 1989 + None, # 1990 + None, # 1991 + None, # 1992 + None, # 1993 + None, # 1994 + None, # 1995 + None, # 1996 + None, # 1997 + None, # 1998 + None, # 1999 + None, # 2000 + None, # 2001 + None, # 2002 + None, # 2003 + None, # 2004 + None, # 2005 + None, # 2006 + None, # 2007 + None, # 2008 + None, # 2009 + None, # 2010 + None, # 2011 + None, # 2012 + None, # 2013 + None, # 2014 + None, # 2015 + None, # 2016 + None, # 2017 + None, # 2018 + None, # 2019 + None, # 2020 + None, # 2021 + None, # 2022 + None, # 2023 + None, # 2024 + None, # 2025 + None, # 2026 + None, # 2027 + None, # 2028 + None, # 2029 + None, # 2030 + None, # 2031 + None, # 2032 + None, # 2033 + None, # 2034 + None, # 2035 + None, # 2036 + None, # 2037 + None, # 2038 + None, # 2039 + None, # 2040 + None, # 2041 + None, # 2042 + None, # 2043 + None, # 2044 + None, # 2045 + None, # 2046 + None, # 2047 + None, # 2048 + None, # 2049 + None, # 2050 + None, # 2051 + None, # 2052 + None, # 2053 + None, # 2054 + None, # 2055 + None, # 2056 + None, # 2057 + None, # 2058 + None, # 2059 + None, # 2060 + None, # 2061 + None, # 2062 + None, # 2063 + None, # 2064 + None, # 2065 + None, # 2066 + None, # 2067 + None, # 2068 + None, # 2069 + None, # 2070 + None, # 2071 + None, # 2072 + None, # 2073 + None, # 2074 + None, # 2075 + None, # 2076 + None, # 2077 + None, # 2078 + None, # 2079 + None, # 2080 + None, # 2081 + None, # 2082 + None, # 2083 + None, # 2084 + None, # 2085 + None, # 2086 + None, # 2087 + None, # 2088 + None, # 2089 + None, # 2090 + None, # 2091 + None, # 2092 + None, # 2093 + None, # 2094 + None, # 2095 + None, # 2096 + None, # 2097 + None, # 2098 + None, # 2099 + None, # 2100 + None, # 2101 + None, # 2102 + None, # 2103 + None, # 2104 + None, # 2105 + None, # 2106 + None, # 2107 + None, # 2108 + None, # 2109 + None, # 2110 + None, # 2111 + None, # 2112 + None, # 2113 + None, # 2114 + None, # 2115 + None, # 2116 + None, # 2117 + None, # 2118 + None, # 2119 + None, # 2120 + None, # 2121 + None, # 2122 + None, # 2123 + None, # 2124 + None, # 2125 + None, # 2126 + None, # 2127 + None, # 2128 + None, # 2129 + None, # 2130 + None, # 2131 + None, # 2132 + None, # 2133 + None, # 2134 + None, # 2135 + None, # 2136 + None, # 2137 + None, # 2138 + None, # 2139 + None, # 2140 + None, # 2141 + None, # 2142 + None, # 2143 + None, # 2144 + None, # 2145 + None, # 2146 + None, # 2147 + None, # 2148 + None, # 2149 + None, # 2150 + None, # 2151 + None, # 2152 + None, # 2153 + None, # 2154 + None, # 2155 + None, # 2156 + None, # 2157 + None, # 2158 + None, # 2159 + None, # 2160 + None, # 2161 + None, # 2162 + None, # 2163 + None, # 2164 + None, # 2165 + None, # 2166 + None, # 2167 + None, # 2168 + None, # 2169 + None, # 2170 + None, # 2171 + None, # 2172 + None, # 2173 + None, # 2174 + None, # 2175 + None, # 2176 + None, # 2177 + None, # 2178 + None, # 2179 + None, # 2180 + None, # 2181 + None, # 2182 + None, # 2183 + None, # 2184 + None, # 2185 + None, # 2186 + None, # 2187 + None, # 2188 + None, # 2189 + None, # 2190 + None, # 2191 + None, # 2192 + None, # 2193 + None, # 2194 + None, # 2195 + None, # 2196 + None, # 2197 + None, # 2198 + None, # 2199 + None, # 2200 + None, # 2201 + None, # 2202 + None, # 2203 + None, # 2204 + None, # 2205 + None, # 2206 + None, # 2207 + None, # 2208 + None, # 2209 + None, # 2210 + None, # 2211 + None, # 2212 + None, # 2213 + None, # 2214 + None, # 2215 + None, # 2216 + None, # 2217 + None, # 2218 + None, # 2219 + None, # 2220 + None, # 2221 + None, # 2222 + None, # 2223 + None, # 2224 + None, # 2225 + None, # 2226 + None, # 2227 + None, # 2228 + None, # 2229 + None, # 2230 + None, # 2231 + None, # 2232 + None, # 2233 + None, # 2234 + None, # 2235 + None, # 2236 + None, # 2237 + None, # 2238 + None, # 2239 + None, # 2240 + None, # 2241 + None, # 2242 + None, # 2243 + None, # 2244 + None, # 2245 + None, # 2246 + None, # 2247 + None, # 2248 + None, # 2249 + None, # 2250 + None, # 2251 + None, # 2252 + None, # 2253 + None, # 2254 + None, # 2255 + None, # 2256 + None, # 2257 + None, # 2258 + None, # 2259 + None, # 2260 + None, # 2261 + None, # 2262 + None, # 2263 + None, # 2264 + None, # 2265 + None, # 2266 + None, # 2267 + None, # 2268 + None, # 2269 + None, # 2270 + None, # 2271 + None, # 2272 + None, # 2273 + None, # 2274 + None, # 2275 + None, # 2276 + None, # 2277 + None, # 2278 + None, # 2279 + None, # 2280 + None, # 2281 + None, # 2282 + None, # 2283 + None, # 2284 + None, # 2285 + None, # 2286 + None, # 2287 + None, # 2288 + None, # 2289 + None, # 2290 + None, # 2291 + None, # 2292 + None, # 2293 + None, # 2294 + None, # 2295 + None, # 2296 + None, # 2297 + None, # 2298 + None, # 2299 + None, # 2300 + None, # 2301 + None, # 2302 + None, # 2303 + None, # 2304 + None, # 2305 + None, # 2306 + None, # 2307 + None, # 2308 + None, # 2309 + None, # 2310 + None, # 2311 + None, # 2312 + None, # 2313 + None, # 2314 + None, # 2315 + None, # 2316 + None, # 2317 + None, # 2318 + None, # 2319 + None, # 2320 + None, # 2321 + None, # 2322 + None, # 2323 + None, # 2324 + None, # 2325 + None, # 2326 + None, # 2327 + None, # 2328 + None, # 2329 + None, # 2330 + None, # 2331 + None, # 2332 + None, # 2333 + None, # 2334 + None, # 2335 + None, # 2336 + None, # 2337 + None, # 2338 + None, # 2339 + None, # 2340 + None, # 2341 + None, # 2342 + None, # 2343 + None, # 2344 + None, # 2345 + None, # 2346 + None, # 2347 + None, # 2348 + None, # 2349 + None, # 2350 + None, # 2351 + None, # 2352 + None, # 2353 + None, # 2354 + None, # 2355 + None, # 2356 + None, # 2357 + None, # 2358 + None, # 2359 + None, # 2360 + None, # 2361 + None, # 2362 + None, # 2363 + None, # 2364 + None, # 2365 + None, # 2366 + None, # 2367 + None, # 2368 + None, # 2369 + None, # 2370 + None, # 2371 + None, # 2372 + None, # 2373 + None, # 2374 + None, # 2375 + None, # 2376 + None, # 2377 + None, # 2378 + None, # 2379 + None, # 2380 + None, # 2381 + None, # 2382 + None, # 2383 + None, # 2384 + None, # 2385 + None, # 2386 + None, # 2387 + None, # 2388 + None, # 2389 + None, # 2390 + None, # 2391 + None, # 2392 + None, # 2393 + None, # 2394 + None, # 2395 + None, # 2396 + None, # 2397 + None, # 2398 + None, # 2399 + None, # 2400 + None, # 2401 + None, # 2402 + None, # 2403 + None, # 2404 + None, # 2405 + None, # 2406 + None, # 2407 + None, # 2408 + None, # 2409 + None, # 2410 + None, # 2411 + None, # 2412 + None, # 2413 + None, # 2414 + None, # 2415 + None, # 2416 + None, # 2417 + None, # 2418 + None, # 2419 + None, # 2420 + None, # 2421 + None, # 2422 + None, # 2423 + None, # 2424 + None, # 2425 + None, # 2426 + None, # 2427 + None, # 2428 + None, # 2429 + None, # 2430 + None, # 2431 + None, # 2432 + None, # 2433 + None, # 2434 + None, # 2435 + None, # 2436 + None, # 2437 + None, # 2438 + None, # 2439 + None, # 2440 + None, # 2441 + None, # 2442 + None, # 2443 + None, # 2444 + None, # 2445 + None, # 2446 + None, # 2447 + None, # 2448 + None, # 2449 + None, # 2450 + None, # 2451 + None, # 2452 + None, # 2453 + None, # 2454 + None, # 2455 + None, # 2456 + None, # 2457 + None, # 2458 + None, # 2459 + None, # 2460 + None, # 2461 + None, # 2462 + None, # 2463 + None, # 2464 + None, # 2465 + None, # 2466 + None, # 2467 + None, # 2468 + None, # 2469 + None, # 2470 + None, # 2471 + None, # 2472 + None, # 2473 + None, # 2474 + None, # 2475 + None, # 2476 + None, # 2477 + None, # 2478 + None, # 2479 + None, # 2480 + None, # 2481 + None, # 2482 + None, # 2483 + None, # 2484 + None, # 2485 + None, # 2486 + None, # 2487 + None, # 2488 + None, # 2489 + None, # 2490 + None, # 2491 + None, # 2492 + None, # 2493 + None, # 2494 + None, # 2495 + None, # 2496 + None, # 2497 + None, # 2498 + None, # 2499 + None, # 2500 + None, # 2501 + None, # 2502 + None, # 2503 + None, # 2504 + None, # 2505 + None, # 2506 + None, # 2507 + None, # 2508 + None, # 2509 + None, # 2510 + None, # 2511 + None, # 2512 + None, # 2513 + None, # 2514 + None, # 2515 + None, # 2516 + None, # 2517 + None, # 2518 + None, # 2519 + None, # 2520 + None, # 2521 + None, # 2522 + None, # 2523 + None, # 2524 + None, # 2525 + None, # 2526 + None, # 2527 + None, # 2528 + None, # 2529 + None, # 2530 + None, # 2531 + None, # 2532 + None, # 2533 + None, # 2534 + None, # 2535 + None, # 2536 + None, # 2537 + None, # 2538 + None, # 2539 + None, # 2540 + None, # 2541 + None, # 2542 + None, # 2543 + None, # 2544 + None, # 2545 + None, # 2546 + None, # 2547 + None, # 2548 + None, # 2549 + None, # 2550 + None, # 2551 + None, # 2552 + None, # 2553 + None, # 2554 + None, # 2555 + None, # 2556 + None, # 2557 + None, # 2558 + None, # 2559 + None, # 2560 + None, # 2561 + None, # 2562 + None, # 2563 + None, # 2564 + None, # 2565 + None, # 2566 + None, # 2567 + None, # 2568 + None, # 2569 + None, # 2570 + None, # 2571 + None, # 2572 + None, # 2573 + None, # 2574 + None, # 2575 + None, # 2576 + None, # 2577 + None, # 2578 + None, # 2579 + None, # 2580 + None, # 2581 + None, # 2582 + None, # 2583 + None, # 2584 + None, # 2585 + None, # 2586 + None, # 2587 + None, # 2588 + None, # 2589 + None, # 2590 + None, # 2591 + None, # 2592 + None, # 2593 + None, # 2594 + None, # 2595 + None, # 2596 + None, # 2597 + None, # 2598 + None, # 2599 + None, # 2600 + None, # 2601 + None, # 2602 + None, # 2603 + None, # 2604 + None, # 2605 + None, # 2606 + None, # 2607 + None, # 2608 + None, # 2609 + None, # 2610 + None, # 2611 + None, # 2612 + None, # 2613 + None, # 2614 + None, # 2615 + None, # 2616 + None, # 2617 + None, # 2618 + None, # 2619 + None, # 2620 + None, # 2621 + None, # 2622 + None, # 2623 + None, # 2624 + None, # 2625 + None, # 2626 + None, # 2627 + None, # 2628 + None, # 2629 + None, # 2630 + None, # 2631 + None, # 2632 + None, # 2633 + None, # 2634 + None, # 2635 + None, # 2636 + None, # 2637 + None, # 2638 + None, # 2639 + None, # 2640 + None, # 2641 + None, # 2642 + None, # 2643 + None, # 2644 + None, # 2645 + None, # 2646 + None, # 2647 + None, # 2648 + None, # 2649 + None, # 2650 + None, # 2651 + None, # 2652 + None, # 2653 + None, # 2654 + None, # 2655 + None, # 2656 + None, # 2657 + None, # 2658 + None, # 2659 + None, # 2660 + None, # 2661 + None, # 2662 + None, # 2663 + None, # 2664 + None, # 2665 + None, # 2666 + None, # 2667 + None, # 2668 + None, # 2669 + None, # 2670 + None, # 2671 + None, # 2672 + None, # 2673 + None, # 2674 + None, # 2675 + None, # 2676 + None, # 2677 + None, # 2678 + None, # 2679 + None, # 2680 + None, # 2681 + None, # 2682 + None, # 2683 + None, # 2684 + None, # 2685 + None, # 2686 + None, # 2687 + None, # 2688 + None, # 2689 + None, # 2690 + None, # 2691 + None, # 2692 + None, # 2693 + None, # 2694 + None, # 2695 + None, # 2696 + None, # 2697 + None, # 2698 + None, # 2699 + None, # 2700 + None, # 2701 + None, # 2702 + None, # 2703 + None, # 2704 + None, # 2705 + None, # 2706 + None, # 2707 + None, # 2708 + None, # 2709 + None, # 2710 + None, # 2711 + None, # 2712 + None, # 2713 + None, # 2714 + None, # 2715 + None, # 2716 + None, # 2717 + None, # 2718 + None, # 2719 + None, # 2720 + None, # 2721 + None, # 2722 + None, # 2723 + None, # 2724 + None, # 2725 + None, # 2726 + None, # 2727 + None, # 2728 + None, # 2729 + None, # 2730 + None, # 2731 + None, # 2732 + None, # 2733 + None, # 2734 + None, # 2735 + None, # 2736 + None, # 2737 + None, # 2738 + None, # 2739 + None, # 2740 + None, # 2741 + None, # 2742 + None, # 2743 + None, # 2744 + None, # 2745 + None, # 2746 + None, # 2747 + None, # 2748 + None, # 2749 + None, # 2750 + None, # 2751 + None, # 2752 + None, # 2753 + None, # 2754 + None, # 2755 + None, # 2756 + None, # 2757 + None, # 2758 + None, # 2759 + None, # 2760 + None, # 2761 + None, # 2762 + None, # 2763 + None, # 2764 + None, # 2765 + None, # 2766 + None, # 2767 + None, # 2768 + None, # 2769 + None, # 2770 + None, # 2771 + None, # 2772 + None, # 2773 + None, # 2774 + None, # 2775 + None, # 2776 + None, # 2777 + None, # 2778 + None, # 2779 + None, # 2780 + None, # 2781 + None, # 2782 + None, # 2783 + None, # 2784 + None, # 2785 + None, # 2786 + None, # 2787 + None, # 2788 + None, # 2789 + None, # 2790 + None, # 2791 + None, # 2792 + None, # 2793 + None, # 2794 + None, # 2795 + None, # 2796 + None, # 2797 + None, # 2798 + None, # 2799 + None, # 2800 + None, # 2801 + None, # 2802 + None, # 2803 + None, # 2804 + None, # 2805 + None, # 2806 + None, # 2807 + None, # 2808 + None, # 2809 + None, # 2810 + None, # 2811 + None, # 2812 + None, # 2813 + None, # 2814 + None, # 2815 + None, # 2816 + None, # 2817 + None, # 2818 + None, # 2819 + None, # 2820 + None, # 2821 + None, # 2822 + None, # 2823 + None, # 2824 + None, # 2825 + None, # 2826 + None, # 2827 + None, # 2828 + None, # 2829 + None, # 2830 + None, # 2831 + None, # 2832 + None, # 2833 + None, # 2834 + None, # 2835 + None, # 2836 + None, # 2837 + None, # 2838 + None, # 2839 + None, # 2840 + None, # 2841 + None, # 2842 + None, # 2843 + None, # 2844 + None, # 2845 + None, # 2846 + None, # 2847 + None, # 2848 + None, # 2849 + None, # 2850 + None, # 2851 + None, # 2852 + None, # 2853 + None, # 2854 + None, # 2855 + None, # 2856 + None, # 2857 + None, # 2858 + None, # 2859 + None, # 2860 + None, # 2861 + None, # 2862 + None, # 2863 + None, # 2864 + None, # 2865 + None, # 2866 + None, # 2867 + None, # 2868 + None, # 2869 + None, # 2870 + None, # 2871 + None, # 2872 + None, # 2873 + None, # 2874 + None, # 2875 + None, # 2876 + None, # 2877 + None, # 2878 + None, # 2879 + None, # 2880 + None, # 2881 + None, # 2882 + None, # 2883 + None, # 2884 + None, # 2885 + None, # 2886 + None, # 2887 + None, # 2888 + None, # 2889 + None, # 2890 + None, # 2891 + None, # 2892 + None, # 2893 + None, # 2894 + None, # 2895 + None, # 2896 + None, # 2897 + None, # 2898 + None, # 2899 + None, # 2900 + None, # 2901 + None, # 2902 + None, # 2903 + None, # 2904 + None, # 2905 + None, # 2906 + None, # 2907 + None, # 2908 + None, # 2909 + None, # 2910 + None, # 2911 + None, # 2912 + None, # 2913 + None, # 2914 + None, # 2915 + None, # 2916 + None, # 2917 + None, # 2918 + None, # 2919 + None, # 2920 + None, # 2921 + None, # 2922 + None, # 2923 + None, # 2924 + None, # 2925 + None, # 2926 + None, # 2927 + None, # 2928 + None, # 2929 + None, # 2930 + None, # 2931 + None, # 2932 + None, # 2933 + None, # 2934 + None, # 2935 + None, # 2936 + None, # 2937 + None, # 2938 + None, # 2939 + None, # 2940 + None, # 2941 + None, # 2942 + None, # 2943 + None, # 2944 + None, # 2945 + None, # 2946 + None, # 2947 + None, # 2948 + None, # 2949 + None, # 2950 + None, # 2951 + None, # 2952 + None, # 2953 + None, # 2954 + None, # 2955 + None, # 2956 + None, # 2957 + None, # 2958 + None, # 2959 + None, # 2960 + None, # 2961 + None, # 2962 + None, # 2963 + None, # 2964 + None, # 2965 + None, # 2966 + None, # 2967 + None, # 2968 + None, # 2969 + None, # 2970 + None, # 2971 + None, # 2972 + None, # 2973 + None, # 2974 + None, # 2975 + None, # 2976 + None, # 2977 + None, # 2978 + None, # 2979 + None, # 2980 + None, # 2981 + None, # 2982 + None, # 2983 + None, # 2984 + None, # 2985 + None, # 2986 + None, # 2987 + None, # 2988 + None, # 2989 + None, # 2990 + None, # 2991 + None, # 2992 + None, # 2993 + None, # 2994 + None, # 2995 + None, # 2996 + None, # 2997 + None, # 2998 + None, # 2999 + None, # 3000 + None, # 3001 + None, # 3002 + None, # 3003 + None, # 3004 + None, # 3005 + None, # 3006 + None, # 3007 + None, # 3008 + None, # 3009 + None, # 3010 + None, # 3011 + None, # 3012 + None, # 3013 + None, # 3014 + None, # 3015 + None, # 3016 + None, # 3017 + None, # 3018 + None, # 3019 + None, # 3020 + None, # 3021 + None, # 3022 + None, # 3023 + None, # 3024 + None, # 3025 + None, # 3026 + None, # 3027 + None, # 3028 + None, # 3029 + None, # 3030 + None, # 3031 + None, # 3032 + None, # 3033 + None, # 3034 + None, # 3035 + None, # 3036 + None, # 3037 + None, # 3038 + None, # 3039 + None, # 3040 + None, # 3041 + None, # 3042 + None, # 3043 + None, # 3044 + None, # 3045 + None, # 3046 + None, # 3047 + None, # 3048 + None, # 3049 + None, # 3050 + None, # 3051 + None, # 3052 + None, # 3053 + None, # 3054 + None, # 3055 + None, # 3056 + None, # 3057 + None, # 3058 + None, # 3059 + None, # 3060 + None, # 3061 + None, # 3062 + None, # 3063 + None, # 3064 + None, # 3065 + None, # 3066 + None, # 3067 + None, # 3068 + None, # 3069 + None, # 3070 + None, # 3071 + None, # 3072 + None, # 3073 + None, # 3074 + None, # 3075 + None, # 3076 + None, # 3077 + None, # 3078 + None, # 3079 + None, # 3080 + None, # 3081 + None, # 3082 + None, # 3083 + None, # 3084 + None, # 3085 + None, # 3086 + None, # 3087 + None, # 3088 + None, # 3089 + None, # 3090 + None, # 3091 + None, # 3092 + None, # 3093 + None, # 3094 + None, # 3095 + None, # 3096 + None, # 3097 + None, # 3098 + None, # 3099 + None, # 3100 + None, # 3101 + None, # 3102 + None, # 3103 + None, # 3104 + None, # 3105 + None, # 3106 + None, # 3107 + None, # 3108 + None, # 3109 + None, # 3110 + None, # 3111 + None, # 3112 + None, # 3113 + None, # 3114 + None, # 3115 + None, # 3116 + None, # 3117 + None, # 3118 + None, # 3119 + None, # 3120 + None, # 3121 + None, # 3122 + None, # 3123 + None, # 3124 + None, # 3125 + None, # 3126 + None, # 3127 + None, # 3128 + None, # 3129 + None, # 3130 + None, # 3131 + None, # 3132 + None, # 3133 + None, # 3134 + None, # 3135 + None, # 3136 + None, # 3137 + None, # 3138 + None, # 3139 + None, # 3140 + None, # 3141 + None, # 3142 + None, # 3143 + None, # 3144 + None, # 3145 + None, # 3146 + None, # 3147 + None, # 3148 + None, # 3149 + None, # 3150 + None, # 3151 + None, # 3152 + None, # 3153 + None, # 3154 + None, # 3155 + None, # 3156 + None, # 3157 + None, # 3158 + None, # 3159 + None, # 3160 + None, # 3161 + None, # 3162 + None, # 3163 + None, # 3164 + None, # 3165 + None, # 3166 + None, # 3167 + None, # 3168 + None, # 3169 + None, # 3170 + None, # 3171 + None, # 3172 + None, # 3173 + None, # 3174 + None, # 3175 + None, # 3176 + None, # 3177 + None, # 3178 + None, # 3179 + None, # 3180 + None, # 3181 + None, # 3182 + None, # 3183 + None, # 3184 + None, # 3185 + None, # 3186 + None, # 3187 + None, # 3188 + None, # 3189 + None, # 3190 + None, # 3191 + None, # 3192 + None, # 3193 + None, # 3194 + None, # 3195 + None, # 3196 + None, # 3197 + None, # 3198 + None, # 3199 + None, # 3200 + None, # 3201 + None, # 3202 + None, # 3203 + None, # 3204 + None, # 3205 + None, # 3206 + None, # 3207 + None, # 3208 + None, # 3209 + None, # 3210 + None, # 3211 + None, # 3212 + None, # 3213 + None, # 3214 + None, # 3215 + None, # 3216 + None, # 3217 + None, # 3218 + None, # 3219 + None, # 3220 + None, # 3221 + None, # 3222 + None, # 3223 + None, # 3224 + None, # 3225 + None, # 3226 + None, # 3227 + None, # 3228 + None, # 3229 + None, # 3230 + None, # 3231 + None, # 3232 + None, # 3233 + None, # 3234 + None, # 3235 + None, # 3236 + None, # 3237 + None, # 3238 + None, # 3239 + None, # 3240 + None, # 3241 + None, # 3242 + None, # 3243 + None, # 3244 + None, # 3245 + None, # 3246 + None, # 3247 + None, # 3248 + None, # 3249 + None, # 3250 + None, # 3251 + None, # 3252 + None, # 3253 + None, # 3254 + None, # 3255 + None, # 3256 + None, # 3257 + None, # 3258 + None, # 3259 + None, # 3260 + None, # 3261 + None, # 3262 + None, # 3263 + None, # 3264 + None, # 3265 + None, # 3266 + None, # 3267 + None, # 3268 + None, # 3269 + None, # 3270 + None, # 3271 + None, # 3272 + None, # 3273 + None, # 3274 + None, # 3275 + None, # 3276 + None, # 3277 + None, # 3278 + None, # 3279 + None, # 3280 + None, # 3281 + None, # 3282 + None, # 3283 + None, # 3284 + None, # 3285 + None, # 3286 + None, # 3287 + None, # 3288 + None, # 3289 + None, # 3290 + None, # 3291 + None, # 3292 + None, # 3293 + None, # 3294 + None, # 3295 + None, # 3296 + None, # 3297 + None, # 3298 + None, # 3299 + None, # 3300 + None, # 3301 + None, # 3302 + None, # 3303 + None, # 3304 + None, # 3305 + None, # 3306 + None, # 3307 + None, # 3308 + None, # 3309 + None, # 3310 + None, # 3311 + None, # 3312 + None, # 3313 + None, # 3314 + None, # 3315 + None, # 3316 + None, # 3317 + None, # 3318 + None, # 3319 + None, # 3320 + None, # 3321 + None, # 3322 + None, # 3323 + None, # 3324 + None, # 3325 + None, # 3326 + None, # 3327 + None, # 3328 + (3329, TType.STRUCT, 'operationId', [THandleIdentifier, None], None, ), # 3329 + (3330, TType.STRUCT, 'sessionConf', [TDBSqlSessionConf, None], None, ), # 3330 ) all_structs.append(TGetPrimaryKeysResp) TGetPrimaryKeysResp.thrift_spec = ( - None, # 0 - ( - 1, - TType.STRUCT, - "status", - [TStatus, None], - None, - ), # 1 - ( - 2, - TType.STRUCT, - "operationHandle", - [TOperationHandle, None], - None, - ), # 2 - None, # 3 - None, # 4 - None, # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - ( - 1281, - TType.STRUCT, - "directResults", - [TSparkDirectResults, None], - None, - ), # 1281 + None, # 0 + (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 + (2, TType.STRUCT, 'operationHandle', [TOperationHandle, None], None, ), # 2 + None, # 3 + None, # 4 + None, # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + (1281, TType.STRUCT, 'directResults', [TSparkDirectResults, None], None, ), # 1281 ) all_structs.append(TGetCrossReferenceReq) TGetCrossReferenceReq.thrift_spec = ( - None, # 0 - ( - 1, - TType.STRUCT, - "sessionHandle", - [TSessionHandle, None], - None, - ), # 1 - ( - 2, - TType.STRING, - "parentCatalogName", - "UTF8", - None, - ), # 2 - ( - 3, - TType.STRING, - "parentSchemaName", - "UTF8", - None, - ), # 3 - ( - 4, - TType.STRING, - "parentTableName", - "UTF8", - None, - ), # 4 - ( - 5, - TType.STRING, - "foreignCatalogName", - "UTF8", - None, - ), # 5 - ( - 6, - TType.STRING, - "foreignSchemaName", - "UTF8", - None, - ), # 6 - ( - 7, - TType.STRING, - "foreignTableName", - "UTF8", - None, - ), # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - ( - 1281, - TType.STRUCT, - "getDirectResults", - [TSparkGetDirectResults, None], - None, - ), # 1281 - ( - 1282, - TType.BOOL, - "runAsync", - None, - False, - ), # 1282 - None, # 1283 - None, # 1284 - None, # 1285 - None, # 1286 - None, # 1287 - None, # 1288 - None, # 1289 - None, # 1290 - None, # 1291 - None, # 1292 - None, # 1293 - None, # 1294 - None, # 1295 - None, # 1296 - None, # 1297 - None, # 1298 - None, # 1299 - None, # 1300 - None, # 1301 - None, # 1302 - None, # 1303 - None, # 1304 - None, # 1305 - None, # 1306 - None, # 1307 - None, # 1308 - None, # 1309 - None, # 1310 - None, # 1311 - None, # 1312 - None, # 1313 - None, # 1314 - None, # 1315 - None, # 1316 - None, # 1317 - None, # 1318 - None, # 1319 - None, # 1320 - None, # 1321 - None, # 1322 - None, # 1323 - None, # 1324 - None, # 1325 - None, # 1326 - None, # 1327 - None, # 1328 - None, # 1329 - None, # 1330 - None, # 1331 - None, # 1332 - None, # 1333 - None, # 1334 - None, # 1335 - None, # 1336 - None, # 1337 - None, # 1338 - None, # 1339 - None, # 1340 - None, # 1341 - None, # 1342 - None, # 1343 - None, # 1344 - None, # 1345 - None, # 1346 - None, # 1347 - None, # 1348 - None, # 1349 - None, # 1350 - None, # 1351 - None, # 1352 - None, # 1353 - None, # 1354 - None, # 1355 - None, # 1356 - None, # 1357 - None, # 1358 - None, # 1359 - None, # 1360 - None, # 1361 - None, # 1362 - None, # 1363 - None, # 1364 - None, # 1365 - None, # 1366 - None, # 1367 - None, # 1368 - None, # 1369 - None, # 1370 - None, # 1371 - None, # 1372 - None, # 1373 - None, # 1374 - None, # 1375 - None, # 1376 - None, # 1377 - None, # 1378 - None, # 1379 - None, # 1380 - None, # 1381 - None, # 1382 - None, # 1383 - None, # 1384 - None, # 1385 - None, # 1386 - None, # 1387 - None, # 1388 - None, # 1389 - None, # 1390 - None, # 1391 - None, # 1392 - None, # 1393 - None, # 1394 - None, # 1395 - None, # 1396 - None, # 1397 - None, # 1398 - None, # 1399 - None, # 1400 - None, # 1401 - None, # 1402 - None, # 1403 - None, # 1404 - None, # 1405 - None, # 1406 - None, # 1407 - None, # 1408 - None, # 1409 - None, # 1410 - None, # 1411 - None, # 1412 - None, # 1413 - None, # 1414 - None, # 1415 - None, # 1416 - None, # 1417 - None, # 1418 - None, # 1419 - None, # 1420 - None, # 1421 - None, # 1422 - None, # 1423 - None, # 1424 - None, # 1425 - None, # 1426 - None, # 1427 - None, # 1428 - None, # 1429 - None, # 1430 - None, # 1431 - None, # 1432 - None, # 1433 - None, # 1434 - None, # 1435 - None, # 1436 - None, # 1437 - None, # 1438 - None, # 1439 - None, # 1440 - None, # 1441 - None, # 1442 - None, # 1443 - None, # 1444 - None, # 1445 - None, # 1446 - None, # 1447 - None, # 1448 - None, # 1449 - None, # 1450 - None, # 1451 - None, # 1452 - None, # 1453 - None, # 1454 - None, # 1455 - None, # 1456 - None, # 1457 - None, # 1458 - None, # 1459 - None, # 1460 - None, # 1461 - None, # 1462 - None, # 1463 - None, # 1464 - None, # 1465 - None, # 1466 - None, # 1467 - None, # 1468 - None, # 1469 - None, # 1470 - None, # 1471 - None, # 1472 - None, # 1473 - None, # 1474 - None, # 1475 - None, # 1476 - None, # 1477 - None, # 1478 - None, # 1479 - None, # 1480 - None, # 1481 - None, # 1482 - None, # 1483 - None, # 1484 - None, # 1485 - None, # 1486 - None, # 1487 - None, # 1488 - None, # 1489 - None, # 1490 - None, # 1491 - None, # 1492 - None, # 1493 - None, # 1494 - None, # 1495 - None, # 1496 - None, # 1497 - None, # 1498 - None, # 1499 - None, # 1500 - None, # 1501 - None, # 1502 - None, # 1503 - None, # 1504 - None, # 1505 - None, # 1506 - None, # 1507 - None, # 1508 - None, # 1509 - None, # 1510 - None, # 1511 - None, # 1512 - None, # 1513 - None, # 1514 - None, # 1515 - None, # 1516 - None, # 1517 - None, # 1518 - None, # 1519 - None, # 1520 - None, # 1521 - None, # 1522 - None, # 1523 - None, # 1524 - None, # 1525 - None, # 1526 - None, # 1527 - None, # 1528 - None, # 1529 - None, # 1530 - None, # 1531 - None, # 1532 - None, # 1533 - None, # 1534 - None, # 1535 - None, # 1536 - None, # 1537 - None, # 1538 - None, # 1539 - None, # 1540 - None, # 1541 - None, # 1542 - None, # 1543 - None, # 1544 - None, # 1545 - None, # 1546 - None, # 1547 - None, # 1548 - None, # 1549 - None, # 1550 - None, # 1551 - None, # 1552 - None, # 1553 - None, # 1554 - None, # 1555 - None, # 1556 - None, # 1557 - None, # 1558 - None, # 1559 - None, # 1560 - None, # 1561 - None, # 1562 - None, # 1563 - None, # 1564 - None, # 1565 - None, # 1566 - None, # 1567 - None, # 1568 - None, # 1569 - None, # 1570 - None, # 1571 - None, # 1572 - None, # 1573 - None, # 1574 - None, # 1575 - None, # 1576 - None, # 1577 - None, # 1578 - None, # 1579 - None, # 1580 - None, # 1581 - None, # 1582 - None, # 1583 - None, # 1584 - None, # 1585 - None, # 1586 - None, # 1587 - None, # 1588 - None, # 1589 - None, # 1590 - None, # 1591 - None, # 1592 - None, # 1593 - None, # 1594 - None, # 1595 - None, # 1596 - None, # 1597 - None, # 1598 - None, # 1599 - None, # 1600 - None, # 1601 - None, # 1602 - None, # 1603 - None, # 1604 - None, # 1605 - None, # 1606 - None, # 1607 - None, # 1608 - None, # 1609 - None, # 1610 - None, # 1611 - None, # 1612 - None, # 1613 - None, # 1614 - None, # 1615 - None, # 1616 - None, # 1617 - None, # 1618 - None, # 1619 - None, # 1620 - None, # 1621 - None, # 1622 - None, # 1623 - None, # 1624 - None, # 1625 - None, # 1626 - None, # 1627 - None, # 1628 - None, # 1629 - None, # 1630 - None, # 1631 - None, # 1632 - None, # 1633 - None, # 1634 - None, # 1635 - None, # 1636 - None, # 1637 - None, # 1638 - None, # 1639 - None, # 1640 - None, # 1641 - None, # 1642 - None, # 1643 - None, # 1644 - None, # 1645 - None, # 1646 - None, # 1647 - None, # 1648 - None, # 1649 - None, # 1650 - None, # 1651 - None, # 1652 - None, # 1653 - None, # 1654 - None, # 1655 - None, # 1656 - None, # 1657 - None, # 1658 - None, # 1659 - None, # 1660 - None, # 1661 - None, # 1662 - None, # 1663 - None, # 1664 - None, # 1665 - None, # 1666 - None, # 1667 - None, # 1668 - None, # 1669 - None, # 1670 - None, # 1671 - None, # 1672 - None, # 1673 - None, # 1674 - None, # 1675 - None, # 1676 - None, # 1677 - None, # 1678 - None, # 1679 - None, # 1680 - None, # 1681 - None, # 1682 - None, # 1683 - None, # 1684 - None, # 1685 - None, # 1686 - None, # 1687 - None, # 1688 - None, # 1689 - None, # 1690 - None, # 1691 - None, # 1692 - None, # 1693 - None, # 1694 - None, # 1695 - None, # 1696 - None, # 1697 - None, # 1698 - None, # 1699 - None, # 1700 - None, # 1701 - None, # 1702 - None, # 1703 - None, # 1704 - None, # 1705 - None, # 1706 - None, # 1707 - None, # 1708 - None, # 1709 - None, # 1710 - None, # 1711 - None, # 1712 - None, # 1713 - None, # 1714 - None, # 1715 - None, # 1716 - None, # 1717 - None, # 1718 - None, # 1719 - None, # 1720 - None, # 1721 - None, # 1722 - None, # 1723 - None, # 1724 - None, # 1725 - None, # 1726 - None, # 1727 - None, # 1728 - None, # 1729 - None, # 1730 - None, # 1731 - None, # 1732 - None, # 1733 - None, # 1734 - None, # 1735 - None, # 1736 - None, # 1737 - None, # 1738 - None, # 1739 - None, # 1740 - None, # 1741 - None, # 1742 - None, # 1743 - None, # 1744 - None, # 1745 - None, # 1746 - None, # 1747 - None, # 1748 - None, # 1749 - None, # 1750 - None, # 1751 - None, # 1752 - None, # 1753 - None, # 1754 - None, # 1755 - None, # 1756 - None, # 1757 - None, # 1758 - None, # 1759 - None, # 1760 - None, # 1761 - None, # 1762 - None, # 1763 - None, # 1764 - None, # 1765 - None, # 1766 - None, # 1767 - None, # 1768 - None, # 1769 - None, # 1770 - None, # 1771 - None, # 1772 - None, # 1773 - None, # 1774 - None, # 1775 - None, # 1776 - None, # 1777 - None, # 1778 - None, # 1779 - None, # 1780 - None, # 1781 - None, # 1782 - None, # 1783 - None, # 1784 - None, # 1785 - None, # 1786 - None, # 1787 - None, # 1788 - None, # 1789 - None, # 1790 - None, # 1791 - None, # 1792 - None, # 1793 - None, # 1794 - None, # 1795 - None, # 1796 - None, # 1797 - None, # 1798 - None, # 1799 - None, # 1800 - None, # 1801 - None, # 1802 - None, # 1803 - None, # 1804 - None, # 1805 - None, # 1806 - None, # 1807 - None, # 1808 - None, # 1809 - None, # 1810 - None, # 1811 - None, # 1812 - None, # 1813 - None, # 1814 - None, # 1815 - None, # 1816 - None, # 1817 - None, # 1818 - None, # 1819 - None, # 1820 - None, # 1821 - None, # 1822 - None, # 1823 - None, # 1824 - None, # 1825 - None, # 1826 - None, # 1827 - None, # 1828 - None, # 1829 - None, # 1830 - None, # 1831 - None, # 1832 - None, # 1833 - None, # 1834 - None, # 1835 - None, # 1836 - None, # 1837 - None, # 1838 - None, # 1839 - None, # 1840 - None, # 1841 - None, # 1842 - None, # 1843 - None, # 1844 - None, # 1845 - None, # 1846 - None, # 1847 - None, # 1848 - None, # 1849 - None, # 1850 - None, # 1851 - None, # 1852 - None, # 1853 - None, # 1854 - None, # 1855 - None, # 1856 - None, # 1857 - None, # 1858 - None, # 1859 - None, # 1860 - None, # 1861 - None, # 1862 - None, # 1863 - None, # 1864 - None, # 1865 - None, # 1866 - None, # 1867 - None, # 1868 - None, # 1869 - None, # 1870 - None, # 1871 - None, # 1872 - None, # 1873 - None, # 1874 - None, # 1875 - None, # 1876 - None, # 1877 - None, # 1878 - None, # 1879 - None, # 1880 - None, # 1881 - None, # 1882 - None, # 1883 - None, # 1884 - None, # 1885 - None, # 1886 - None, # 1887 - None, # 1888 - None, # 1889 - None, # 1890 - None, # 1891 - None, # 1892 - None, # 1893 - None, # 1894 - None, # 1895 - None, # 1896 - None, # 1897 - None, # 1898 - None, # 1899 - None, # 1900 - None, # 1901 - None, # 1902 - None, # 1903 - None, # 1904 - None, # 1905 - None, # 1906 - None, # 1907 - None, # 1908 - None, # 1909 - None, # 1910 - None, # 1911 - None, # 1912 - None, # 1913 - None, # 1914 - None, # 1915 - None, # 1916 - None, # 1917 - None, # 1918 - None, # 1919 - None, # 1920 - None, # 1921 - None, # 1922 - None, # 1923 - None, # 1924 - None, # 1925 - None, # 1926 - None, # 1927 - None, # 1928 - None, # 1929 - None, # 1930 - None, # 1931 - None, # 1932 - None, # 1933 - None, # 1934 - None, # 1935 - None, # 1936 - None, # 1937 - None, # 1938 - None, # 1939 - None, # 1940 - None, # 1941 - None, # 1942 - None, # 1943 - None, # 1944 - None, # 1945 - None, # 1946 - None, # 1947 - None, # 1948 - None, # 1949 - None, # 1950 - None, # 1951 - None, # 1952 - None, # 1953 - None, # 1954 - None, # 1955 - None, # 1956 - None, # 1957 - None, # 1958 - None, # 1959 - None, # 1960 - None, # 1961 - None, # 1962 - None, # 1963 - None, # 1964 - None, # 1965 - None, # 1966 - None, # 1967 - None, # 1968 - None, # 1969 - None, # 1970 - None, # 1971 - None, # 1972 - None, # 1973 - None, # 1974 - None, # 1975 - None, # 1976 - None, # 1977 - None, # 1978 - None, # 1979 - None, # 1980 - None, # 1981 - None, # 1982 - None, # 1983 - None, # 1984 - None, # 1985 - None, # 1986 - None, # 1987 - None, # 1988 - None, # 1989 - None, # 1990 - None, # 1991 - None, # 1992 - None, # 1993 - None, # 1994 - None, # 1995 - None, # 1996 - None, # 1997 - None, # 1998 - None, # 1999 - None, # 2000 - None, # 2001 - None, # 2002 - None, # 2003 - None, # 2004 - None, # 2005 - None, # 2006 - None, # 2007 - None, # 2008 - None, # 2009 - None, # 2010 - None, # 2011 - None, # 2012 - None, # 2013 - None, # 2014 - None, # 2015 - None, # 2016 - None, # 2017 - None, # 2018 - None, # 2019 - None, # 2020 - None, # 2021 - None, # 2022 - None, # 2023 - None, # 2024 - None, # 2025 - None, # 2026 - None, # 2027 - None, # 2028 - None, # 2029 - None, # 2030 - None, # 2031 - None, # 2032 - None, # 2033 - None, # 2034 - None, # 2035 - None, # 2036 - None, # 2037 - None, # 2038 - None, # 2039 - None, # 2040 - None, # 2041 - None, # 2042 - None, # 2043 - None, # 2044 - None, # 2045 - None, # 2046 - None, # 2047 - None, # 2048 - None, # 2049 - None, # 2050 - None, # 2051 - None, # 2052 - None, # 2053 - None, # 2054 - None, # 2055 - None, # 2056 - None, # 2057 - None, # 2058 - None, # 2059 - None, # 2060 - None, # 2061 - None, # 2062 - None, # 2063 - None, # 2064 - None, # 2065 - None, # 2066 - None, # 2067 - None, # 2068 - None, # 2069 - None, # 2070 - None, # 2071 - None, # 2072 - None, # 2073 - None, # 2074 - None, # 2075 - None, # 2076 - None, # 2077 - None, # 2078 - None, # 2079 - None, # 2080 - None, # 2081 - None, # 2082 - None, # 2083 - None, # 2084 - None, # 2085 - None, # 2086 - None, # 2087 - None, # 2088 - None, # 2089 - None, # 2090 - None, # 2091 - None, # 2092 - None, # 2093 - None, # 2094 - None, # 2095 - None, # 2096 - None, # 2097 - None, # 2098 - None, # 2099 - None, # 2100 - None, # 2101 - None, # 2102 - None, # 2103 - None, # 2104 - None, # 2105 - None, # 2106 - None, # 2107 - None, # 2108 - None, # 2109 - None, # 2110 - None, # 2111 - None, # 2112 - None, # 2113 - None, # 2114 - None, # 2115 - None, # 2116 - None, # 2117 - None, # 2118 - None, # 2119 - None, # 2120 - None, # 2121 - None, # 2122 - None, # 2123 - None, # 2124 - None, # 2125 - None, # 2126 - None, # 2127 - None, # 2128 - None, # 2129 - None, # 2130 - None, # 2131 - None, # 2132 - None, # 2133 - None, # 2134 - None, # 2135 - None, # 2136 - None, # 2137 - None, # 2138 - None, # 2139 - None, # 2140 - None, # 2141 - None, # 2142 - None, # 2143 - None, # 2144 - None, # 2145 - None, # 2146 - None, # 2147 - None, # 2148 - None, # 2149 - None, # 2150 - None, # 2151 - None, # 2152 - None, # 2153 - None, # 2154 - None, # 2155 - None, # 2156 - None, # 2157 - None, # 2158 - None, # 2159 - None, # 2160 - None, # 2161 - None, # 2162 - None, # 2163 - None, # 2164 - None, # 2165 - None, # 2166 - None, # 2167 - None, # 2168 - None, # 2169 - None, # 2170 - None, # 2171 - None, # 2172 - None, # 2173 - None, # 2174 - None, # 2175 - None, # 2176 - None, # 2177 - None, # 2178 - None, # 2179 - None, # 2180 - None, # 2181 - None, # 2182 - None, # 2183 - None, # 2184 - None, # 2185 - None, # 2186 - None, # 2187 - None, # 2188 - None, # 2189 - None, # 2190 - None, # 2191 - None, # 2192 - None, # 2193 - None, # 2194 - None, # 2195 - None, # 2196 - None, # 2197 - None, # 2198 - None, # 2199 - None, # 2200 - None, # 2201 - None, # 2202 - None, # 2203 - None, # 2204 - None, # 2205 - None, # 2206 - None, # 2207 - None, # 2208 - None, # 2209 - None, # 2210 - None, # 2211 - None, # 2212 - None, # 2213 - None, # 2214 - None, # 2215 - None, # 2216 - None, # 2217 - None, # 2218 - None, # 2219 - None, # 2220 - None, # 2221 - None, # 2222 - None, # 2223 - None, # 2224 - None, # 2225 - None, # 2226 - None, # 2227 - None, # 2228 - None, # 2229 - None, # 2230 - None, # 2231 - None, # 2232 - None, # 2233 - None, # 2234 - None, # 2235 - None, # 2236 - None, # 2237 - None, # 2238 - None, # 2239 - None, # 2240 - None, # 2241 - None, # 2242 - None, # 2243 - None, # 2244 - None, # 2245 - None, # 2246 - None, # 2247 - None, # 2248 - None, # 2249 - None, # 2250 - None, # 2251 - None, # 2252 - None, # 2253 - None, # 2254 - None, # 2255 - None, # 2256 - None, # 2257 - None, # 2258 - None, # 2259 - None, # 2260 - None, # 2261 - None, # 2262 - None, # 2263 - None, # 2264 - None, # 2265 - None, # 2266 - None, # 2267 - None, # 2268 - None, # 2269 - None, # 2270 - None, # 2271 - None, # 2272 - None, # 2273 - None, # 2274 - None, # 2275 - None, # 2276 - None, # 2277 - None, # 2278 - None, # 2279 - None, # 2280 - None, # 2281 - None, # 2282 - None, # 2283 - None, # 2284 - None, # 2285 - None, # 2286 - None, # 2287 - None, # 2288 - None, # 2289 - None, # 2290 - None, # 2291 - None, # 2292 - None, # 2293 - None, # 2294 - None, # 2295 - None, # 2296 - None, # 2297 - None, # 2298 - None, # 2299 - None, # 2300 - None, # 2301 - None, # 2302 - None, # 2303 - None, # 2304 - None, # 2305 - None, # 2306 - None, # 2307 - None, # 2308 - None, # 2309 - None, # 2310 - None, # 2311 - None, # 2312 - None, # 2313 - None, # 2314 - None, # 2315 - None, # 2316 - None, # 2317 - None, # 2318 - None, # 2319 - None, # 2320 - None, # 2321 - None, # 2322 - None, # 2323 - None, # 2324 - None, # 2325 - None, # 2326 - None, # 2327 - None, # 2328 - None, # 2329 - None, # 2330 - None, # 2331 - None, # 2332 - None, # 2333 - None, # 2334 - None, # 2335 - None, # 2336 - None, # 2337 - None, # 2338 - None, # 2339 - None, # 2340 - None, # 2341 - None, # 2342 - None, # 2343 - None, # 2344 - None, # 2345 - None, # 2346 - None, # 2347 - None, # 2348 - None, # 2349 - None, # 2350 - None, # 2351 - None, # 2352 - None, # 2353 - None, # 2354 - None, # 2355 - None, # 2356 - None, # 2357 - None, # 2358 - None, # 2359 - None, # 2360 - None, # 2361 - None, # 2362 - None, # 2363 - None, # 2364 - None, # 2365 - None, # 2366 - None, # 2367 - None, # 2368 - None, # 2369 - None, # 2370 - None, # 2371 - None, # 2372 - None, # 2373 - None, # 2374 - None, # 2375 - None, # 2376 - None, # 2377 - None, # 2378 - None, # 2379 - None, # 2380 - None, # 2381 - None, # 2382 - None, # 2383 - None, # 2384 - None, # 2385 - None, # 2386 - None, # 2387 - None, # 2388 - None, # 2389 - None, # 2390 - None, # 2391 - None, # 2392 - None, # 2393 - None, # 2394 - None, # 2395 - None, # 2396 - None, # 2397 - None, # 2398 - None, # 2399 - None, # 2400 - None, # 2401 - None, # 2402 - None, # 2403 - None, # 2404 - None, # 2405 - None, # 2406 - None, # 2407 - None, # 2408 - None, # 2409 - None, # 2410 - None, # 2411 - None, # 2412 - None, # 2413 - None, # 2414 - None, # 2415 - None, # 2416 - None, # 2417 - None, # 2418 - None, # 2419 - None, # 2420 - None, # 2421 - None, # 2422 - None, # 2423 - None, # 2424 - None, # 2425 - None, # 2426 - None, # 2427 - None, # 2428 - None, # 2429 - None, # 2430 - None, # 2431 - None, # 2432 - None, # 2433 - None, # 2434 - None, # 2435 - None, # 2436 - None, # 2437 - None, # 2438 - None, # 2439 - None, # 2440 - None, # 2441 - None, # 2442 - None, # 2443 - None, # 2444 - None, # 2445 - None, # 2446 - None, # 2447 - None, # 2448 - None, # 2449 - None, # 2450 - None, # 2451 - None, # 2452 - None, # 2453 - None, # 2454 - None, # 2455 - None, # 2456 - None, # 2457 - None, # 2458 - None, # 2459 - None, # 2460 - None, # 2461 - None, # 2462 - None, # 2463 - None, # 2464 - None, # 2465 - None, # 2466 - None, # 2467 - None, # 2468 - None, # 2469 - None, # 2470 - None, # 2471 - None, # 2472 - None, # 2473 - None, # 2474 - None, # 2475 - None, # 2476 - None, # 2477 - None, # 2478 - None, # 2479 - None, # 2480 - None, # 2481 - None, # 2482 - None, # 2483 - None, # 2484 - None, # 2485 - None, # 2486 - None, # 2487 - None, # 2488 - None, # 2489 - None, # 2490 - None, # 2491 - None, # 2492 - None, # 2493 - None, # 2494 - None, # 2495 - None, # 2496 - None, # 2497 - None, # 2498 - None, # 2499 - None, # 2500 - None, # 2501 - None, # 2502 - None, # 2503 - None, # 2504 - None, # 2505 - None, # 2506 - None, # 2507 - None, # 2508 - None, # 2509 - None, # 2510 - None, # 2511 - None, # 2512 - None, # 2513 - None, # 2514 - None, # 2515 - None, # 2516 - None, # 2517 - None, # 2518 - None, # 2519 - None, # 2520 - None, # 2521 - None, # 2522 - None, # 2523 - None, # 2524 - None, # 2525 - None, # 2526 - None, # 2527 - None, # 2528 - None, # 2529 - None, # 2530 - None, # 2531 - None, # 2532 - None, # 2533 - None, # 2534 - None, # 2535 - None, # 2536 - None, # 2537 - None, # 2538 - None, # 2539 - None, # 2540 - None, # 2541 - None, # 2542 - None, # 2543 - None, # 2544 - None, # 2545 - None, # 2546 - None, # 2547 - None, # 2548 - None, # 2549 - None, # 2550 - None, # 2551 - None, # 2552 - None, # 2553 - None, # 2554 - None, # 2555 - None, # 2556 - None, # 2557 - None, # 2558 - None, # 2559 - None, # 2560 - None, # 2561 - None, # 2562 - None, # 2563 - None, # 2564 - None, # 2565 - None, # 2566 - None, # 2567 - None, # 2568 - None, # 2569 - None, # 2570 - None, # 2571 - None, # 2572 - None, # 2573 - None, # 2574 - None, # 2575 - None, # 2576 - None, # 2577 - None, # 2578 - None, # 2579 - None, # 2580 - None, # 2581 - None, # 2582 - None, # 2583 - None, # 2584 - None, # 2585 - None, # 2586 - None, # 2587 - None, # 2588 - None, # 2589 - None, # 2590 - None, # 2591 - None, # 2592 - None, # 2593 - None, # 2594 - None, # 2595 - None, # 2596 - None, # 2597 - None, # 2598 - None, # 2599 - None, # 2600 - None, # 2601 - None, # 2602 - None, # 2603 - None, # 2604 - None, # 2605 - None, # 2606 - None, # 2607 - None, # 2608 - None, # 2609 - None, # 2610 - None, # 2611 - None, # 2612 - None, # 2613 - None, # 2614 - None, # 2615 - None, # 2616 - None, # 2617 - None, # 2618 - None, # 2619 - None, # 2620 - None, # 2621 - None, # 2622 - None, # 2623 - None, # 2624 - None, # 2625 - None, # 2626 - None, # 2627 - None, # 2628 - None, # 2629 - None, # 2630 - None, # 2631 - None, # 2632 - None, # 2633 - None, # 2634 - None, # 2635 - None, # 2636 - None, # 2637 - None, # 2638 - None, # 2639 - None, # 2640 - None, # 2641 - None, # 2642 - None, # 2643 - None, # 2644 - None, # 2645 - None, # 2646 - None, # 2647 - None, # 2648 - None, # 2649 - None, # 2650 - None, # 2651 - None, # 2652 - None, # 2653 - None, # 2654 - None, # 2655 - None, # 2656 - None, # 2657 - None, # 2658 - None, # 2659 - None, # 2660 - None, # 2661 - None, # 2662 - None, # 2663 - None, # 2664 - None, # 2665 - None, # 2666 - None, # 2667 - None, # 2668 - None, # 2669 - None, # 2670 - None, # 2671 - None, # 2672 - None, # 2673 - None, # 2674 - None, # 2675 - None, # 2676 - None, # 2677 - None, # 2678 - None, # 2679 - None, # 2680 - None, # 2681 - None, # 2682 - None, # 2683 - None, # 2684 - None, # 2685 - None, # 2686 - None, # 2687 - None, # 2688 - None, # 2689 - None, # 2690 - None, # 2691 - None, # 2692 - None, # 2693 - None, # 2694 - None, # 2695 - None, # 2696 - None, # 2697 - None, # 2698 - None, # 2699 - None, # 2700 - None, # 2701 - None, # 2702 - None, # 2703 - None, # 2704 - None, # 2705 - None, # 2706 - None, # 2707 - None, # 2708 - None, # 2709 - None, # 2710 - None, # 2711 - None, # 2712 - None, # 2713 - None, # 2714 - None, # 2715 - None, # 2716 - None, # 2717 - None, # 2718 - None, # 2719 - None, # 2720 - None, # 2721 - None, # 2722 - None, # 2723 - None, # 2724 - None, # 2725 - None, # 2726 - None, # 2727 - None, # 2728 - None, # 2729 - None, # 2730 - None, # 2731 - None, # 2732 - None, # 2733 - None, # 2734 - None, # 2735 - None, # 2736 - None, # 2737 - None, # 2738 - None, # 2739 - None, # 2740 - None, # 2741 - None, # 2742 - None, # 2743 - None, # 2744 - None, # 2745 - None, # 2746 - None, # 2747 - None, # 2748 - None, # 2749 - None, # 2750 - None, # 2751 - None, # 2752 - None, # 2753 - None, # 2754 - None, # 2755 - None, # 2756 - None, # 2757 - None, # 2758 - None, # 2759 - None, # 2760 - None, # 2761 - None, # 2762 - None, # 2763 - None, # 2764 - None, # 2765 - None, # 2766 - None, # 2767 - None, # 2768 - None, # 2769 - None, # 2770 - None, # 2771 - None, # 2772 - None, # 2773 - None, # 2774 - None, # 2775 - None, # 2776 - None, # 2777 - None, # 2778 - None, # 2779 - None, # 2780 - None, # 2781 - None, # 2782 - None, # 2783 - None, # 2784 - None, # 2785 - None, # 2786 - None, # 2787 - None, # 2788 - None, # 2789 - None, # 2790 - None, # 2791 - None, # 2792 - None, # 2793 - None, # 2794 - None, # 2795 - None, # 2796 - None, # 2797 - None, # 2798 - None, # 2799 - None, # 2800 - None, # 2801 - None, # 2802 - None, # 2803 - None, # 2804 - None, # 2805 - None, # 2806 - None, # 2807 - None, # 2808 - None, # 2809 - None, # 2810 - None, # 2811 - None, # 2812 - None, # 2813 - None, # 2814 - None, # 2815 - None, # 2816 - None, # 2817 - None, # 2818 - None, # 2819 - None, # 2820 - None, # 2821 - None, # 2822 - None, # 2823 - None, # 2824 - None, # 2825 - None, # 2826 - None, # 2827 - None, # 2828 - None, # 2829 - None, # 2830 - None, # 2831 - None, # 2832 - None, # 2833 - None, # 2834 - None, # 2835 - None, # 2836 - None, # 2837 - None, # 2838 - None, # 2839 - None, # 2840 - None, # 2841 - None, # 2842 - None, # 2843 - None, # 2844 - None, # 2845 - None, # 2846 - None, # 2847 - None, # 2848 - None, # 2849 - None, # 2850 - None, # 2851 - None, # 2852 - None, # 2853 - None, # 2854 - None, # 2855 - None, # 2856 - None, # 2857 - None, # 2858 - None, # 2859 - None, # 2860 - None, # 2861 - None, # 2862 - None, # 2863 - None, # 2864 - None, # 2865 - None, # 2866 - None, # 2867 - None, # 2868 - None, # 2869 - None, # 2870 - None, # 2871 - None, # 2872 - None, # 2873 - None, # 2874 - None, # 2875 - None, # 2876 - None, # 2877 - None, # 2878 - None, # 2879 - None, # 2880 - None, # 2881 - None, # 2882 - None, # 2883 - None, # 2884 - None, # 2885 - None, # 2886 - None, # 2887 - None, # 2888 - None, # 2889 - None, # 2890 - None, # 2891 - None, # 2892 - None, # 2893 - None, # 2894 - None, # 2895 - None, # 2896 - None, # 2897 - None, # 2898 - None, # 2899 - None, # 2900 - None, # 2901 - None, # 2902 - None, # 2903 - None, # 2904 - None, # 2905 - None, # 2906 - None, # 2907 - None, # 2908 - None, # 2909 - None, # 2910 - None, # 2911 - None, # 2912 - None, # 2913 - None, # 2914 - None, # 2915 - None, # 2916 - None, # 2917 - None, # 2918 - None, # 2919 - None, # 2920 - None, # 2921 - None, # 2922 - None, # 2923 - None, # 2924 - None, # 2925 - None, # 2926 - None, # 2927 - None, # 2928 - None, # 2929 - None, # 2930 - None, # 2931 - None, # 2932 - None, # 2933 - None, # 2934 - None, # 2935 - None, # 2936 - None, # 2937 - None, # 2938 - None, # 2939 - None, # 2940 - None, # 2941 - None, # 2942 - None, # 2943 - None, # 2944 - None, # 2945 - None, # 2946 - None, # 2947 - None, # 2948 - None, # 2949 - None, # 2950 - None, # 2951 - None, # 2952 - None, # 2953 - None, # 2954 - None, # 2955 - None, # 2956 - None, # 2957 - None, # 2958 - None, # 2959 - None, # 2960 - None, # 2961 - None, # 2962 - None, # 2963 - None, # 2964 - None, # 2965 - None, # 2966 - None, # 2967 - None, # 2968 - None, # 2969 - None, # 2970 - None, # 2971 - None, # 2972 - None, # 2973 - None, # 2974 - None, # 2975 - None, # 2976 - None, # 2977 - None, # 2978 - None, # 2979 - None, # 2980 - None, # 2981 - None, # 2982 - None, # 2983 - None, # 2984 - None, # 2985 - None, # 2986 - None, # 2987 - None, # 2988 - None, # 2989 - None, # 2990 - None, # 2991 - None, # 2992 - None, # 2993 - None, # 2994 - None, # 2995 - None, # 2996 - None, # 2997 - None, # 2998 - None, # 2999 - None, # 3000 - None, # 3001 - None, # 3002 - None, # 3003 - None, # 3004 - None, # 3005 - None, # 3006 - None, # 3007 - None, # 3008 - None, # 3009 - None, # 3010 - None, # 3011 - None, # 3012 - None, # 3013 - None, # 3014 - None, # 3015 - None, # 3016 - None, # 3017 - None, # 3018 - None, # 3019 - None, # 3020 - None, # 3021 - None, # 3022 - None, # 3023 - None, # 3024 - None, # 3025 - None, # 3026 - None, # 3027 - None, # 3028 - None, # 3029 - None, # 3030 - None, # 3031 - None, # 3032 - None, # 3033 - None, # 3034 - None, # 3035 - None, # 3036 - None, # 3037 - None, # 3038 - None, # 3039 - None, # 3040 - None, # 3041 - None, # 3042 - None, # 3043 - None, # 3044 - None, # 3045 - None, # 3046 - None, # 3047 - None, # 3048 - None, # 3049 - None, # 3050 - None, # 3051 - None, # 3052 - None, # 3053 - None, # 3054 - None, # 3055 - None, # 3056 - None, # 3057 - None, # 3058 - None, # 3059 - None, # 3060 - None, # 3061 - None, # 3062 - None, # 3063 - None, # 3064 - None, # 3065 - None, # 3066 - None, # 3067 - None, # 3068 - None, # 3069 - None, # 3070 - None, # 3071 - None, # 3072 - None, # 3073 - None, # 3074 - None, # 3075 - None, # 3076 - None, # 3077 - None, # 3078 - None, # 3079 - None, # 3080 - None, # 3081 - None, # 3082 - None, # 3083 - None, # 3084 - None, # 3085 - None, # 3086 - None, # 3087 - None, # 3088 - None, # 3089 - None, # 3090 - None, # 3091 - None, # 3092 - None, # 3093 - None, # 3094 - None, # 3095 - None, # 3096 - None, # 3097 - None, # 3098 - None, # 3099 - None, # 3100 - None, # 3101 - None, # 3102 - None, # 3103 - None, # 3104 - None, # 3105 - None, # 3106 - None, # 3107 - None, # 3108 - None, # 3109 - None, # 3110 - None, # 3111 - None, # 3112 - None, # 3113 - None, # 3114 - None, # 3115 - None, # 3116 - None, # 3117 - None, # 3118 - None, # 3119 - None, # 3120 - None, # 3121 - None, # 3122 - None, # 3123 - None, # 3124 - None, # 3125 - None, # 3126 - None, # 3127 - None, # 3128 - None, # 3129 - None, # 3130 - None, # 3131 - None, # 3132 - None, # 3133 - None, # 3134 - None, # 3135 - None, # 3136 - None, # 3137 - None, # 3138 - None, # 3139 - None, # 3140 - None, # 3141 - None, # 3142 - None, # 3143 - None, # 3144 - None, # 3145 - None, # 3146 - None, # 3147 - None, # 3148 - None, # 3149 - None, # 3150 - None, # 3151 - None, # 3152 - None, # 3153 - None, # 3154 - None, # 3155 - None, # 3156 - None, # 3157 - None, # 3158 - None, # 3159 - None, # 3160 - None, # 3161 - None, # 3162 - None, # 3163 - None, # 3164 - None, # 3165 - None, # 3166 - None, # 3167 - None, # 3168 - None, # 3169 - None, # 3170 - None, # 3171 - None, # 3172 - None, # 3173 - None, # 3174 - None, # 3175 - None, # 3176 - None, # 3177 - None, # 3178 - None, # 3179 - None, # 3180 - None, # 3181 - None, # 3182 - None, # 3183 - None, # 3184 - None, # 3185 - None, # 3186 - None, # 3187 - None, # 3188 - None, # 3189 - None, # 3190 - None, # 3191 - None, # 3192 - None, # 3193 - None, # 3194 - None, # 3195 - None, # 3196 - None, # 3197 - None, # 3198 - None, # 3199 - None, # 3200 - None, # 3201 - None, # 3202 - None, # 3203 - None, # 3204 - None, # 3205 - None, # 3206 - None, # 3207 - None, # 3208 - None, # 3209 - None, # 3210 - None, # 3211 - None, # 3212 - None, # 3213 - None, # 3214 - None, # 3215 - None, # 3216 - None, # 3217 - None, # 3218 - None, # 3219 - None, # 3220 - None, # 3221 - None, # 3222 - None, # 3223 - None, # 3224 - None, # 3225 - None, # 3226 - None, # 3227 - None, # 3228 - None, # 3229 - None, # 3230 - None, # 3231 - None, # 3232 - None, # 3233 - None, # 3234 - None, # 3235 - None, # 3236 - None, # 3237 - None, # 3238 - None, # 3239 - None, # 3240 - None, # 3241 - None, # 3242 - None, # 3243 - None, # 3244 - None, # 3245 - None, # 3246 - None, # 3247 - None, # 3248 - None, # 3249 - None, # 3250 - None, # 3251 - None, # 3252 - None, # 3253 - None, # 3254 - None, # 3255 - None, # 3256 - None, # 3257 - None, # 3258 - None, # 3259 - None, # 3260 - None, # 3261 - None, # 3262 - None, # 3263 - None, # 3264 - None, # 3265 - None, # 3266 - None, # 3267 - None, # 3268 - None, # 3269 - None, # 3270 - None, # 3271 - None, # 3272 - None, # 3273 - None, # 3274 - None, # 3275 - None, # 3276 - None, # 3277 - None, # 3278 - None, # 3279 - None, # 3280 - None, # 3281 - None, # 3282 - None, # 3283 - None, # 3284 - None, # 3285 - None, # 3286 - None, # 3287 - None, # 3288 - None, # 3289 - None, # 3290 - None, # 3291 - None, # 3292 - None, # 3293 - None, # 3294 - None, # 3295 - None, # 3296 - None, # 3297 - None, # 3298 - None, # 3299 - None, # 3300 - None, # 3301 - None, # 3302 - None, # 3303 - None, # 3304 - None, # 3305 - None, # 3306 - None, # 3307 - None, # 3308 - None, # 3309 - None, # 3310 - None, # 3311 - None, # 3312 - None, # 3313 - None, # 3314 - None, # 3315 - None, # 3316 - None, # 3317 - None, # 3318 - None, # 3319 - None, # 3320 - None, # 3321 - None, # 3322 - None, # 3323 - None, # 3324 - None, # 3325 - None, # 3326 - None, # 3327 - None, # 3328 - ( - 3329, - TType.STRUCT, - "operationId", - [THandleIdentifier, None], - None, - ), # 3329 - ( - 3330, - TType.STRUCT, - "sessionConf", - [TDBSqlSessionConf, None], - None, - ), # 3330 + None, # 0 + (1, TType.STRUCT, 'sessionHandle', [TSessionHandle, None], None, ), # 1 + (2, TType.STRING, 'parentCatalogName', 'UTF8', None, ), # 2 + (3, TType.STRING, 'parentSchemaName', 'UTF8', None, ), # 3 + (4, TType.STRING, 'parentTableName', 'UTF8', None, ), # 4 + (5, TType.STRING, 'foreignCatalogName', 'UTF8', None, ), # 5 + (6, TType.STRING, 'foreignSchemaName', 'UTF8', None, ), # 6 + (7, TType.STRING, 'foreignTableName', 'UTF8', None, ), # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + (1281, TType.STRUCT, 'getDirectResults', [TSparkGetDirectResults, None], None, ), # 1281 + (1282, TType.BOOL, 'runAsync', None, False, ), # 1282 + None, # 1283 + None, # 1284 + None, # 1285 + None, # 1286 + None, # 1287 + None, # 1288 + None, # 1289 + None, # 1290 + None, # 1291 + None, # 1292 + None, # 1293 + None, # 1294 + None, # 1295 + None, # 1296 + None, # 1297 + None, # 1298 + None, # 1299 + None, # 1300 + None, # 1301 + None, # 1302 + None, # 1303 + None, # 1304 + None, # 1305 + None, # 1306 + None, # 1307 + None, # 1308 + None, # 1309 + None, # 1310 + None, # 1311 + None, # 1312 + None, # 1313 + None, # 1314 + None, # 1315 + None, # 1316 + None, # 1317 + None, # 1318 + None, # 1319 + None, # 1320 + None, # 1321 + None, # 1322 + None, # 1323 + None, # 1324 + None, # 1325 + None, # 1326 + None, # 1327 + None, # 1328 + None, # 1329 + None, # 1330 + None, # 1331 + None, # 1332 + None, # 1333 + None, # 1334 + None, # 1335 + None, # 1336 + None, # 1337 + None, # 1338 + None, # 1339 + None, # 1340 + None, # 1341 + None, # 1342 + None, # 1343 + None, # 1344 + None, # 1345 + None, # 1346 + None, # 1347 + None, # 1348 + None, # 1349 + None, # 1350 + None, # 1351 + None, # 1352 + None, # 1353 + None, # 1354 + None, # 1355 + None, # 1356 + None, # 1357 + None, # 1358 + None, # 1359 + None, # 1360 + None, # 1361 + None, # 1362 + None, # 1363 + None, # 1364 + None, # 1365 + None, # 1366 + None, # 1367 + None, # 1368 + None, # 1369 + None, # 1370 + None, # 1371 + None, # 1372 + None, # 1373 + None, # 1374 + None, # 1375 + None, # 1376 + None, # 1377 + None, # 1378 + None, # 1379 + None, # 1380 + None, # 1381 + None, # 1382 + None, # 1383 + None, # 1384 + None, # 1385 + None, # 1386 + None, # 1387 + None, # 1388 + None, # 1389 + None, # 1390 + None, # 1391 + None, # 1392 + None, # 1393 + None, # 1394 + None, # 1395 + None, # 1396 + None, # 1397 + None, # 1398 + None, # 1399 + None, # 1400 + None, # 1401 + None, # 1402 + None, # 1403 + None, # 1404 + None, # 1405 + None, # 1406 + None, # 1407 + None, # 1408 + None, # 1409 + None, # 1410 + None, # 1411 + None, # 1412 + None, # 1413 + None, # 1414 + None, # 1415 + None, # 1416 + None, # 1417 + None, # 1418 + None, # 1419 + None, # 1420 + None, # 1421 + None, # 1422 + None, # 1423 + None, # 1424 + None, # 1425 + None, # 1426 + None, # 1427 + None, # 1428 + None, # 1429 + None, # 1430 + None, # 1431 + None, # 1432 + None, # 1433 + None, # 1434 + None, # 1435 + None, # 1436 + None, # 1437 + None, # 1438 + None, # 1439 + None, # 1440 + None, # 1441 + None, # 1442 + None, # 1443 + None, # 1444 + None, # 1445 + None, # 1446 + None, # 1447 + None, # 1448 + None, # 1449 + None, # 1450 + None, # 1451 + None, # 1452 + None, # 1453 + None, # 1454 + None, # 1455 + None, # 1456 + None, # 1457 + None, # 1458 + None, # 1459 + None, # 1460 + None, # 1461 + None, # 1462 + None, # 1463 + None, # 1464 + None, # 1465 + None, # 1466 + None, # 1467 + None, # 1468 + None, # 1469 + None, # 1470 + None, # 1471 + None, # 1472 + None, # 1473 + None, # 1474 + None, # 1475 + None, # 1476 + None, # 1477 + None, # 1478 + None, # 1479 + None, # 1480 + None, # 1481 + None, # 1482 + None, # 1483 + None, # 1484 + None, # 1485 + None, # 1486 + None, # 1487 + None, # 1488 + None, # 1489 + None, # 1490 + None, # 1491 + None, # 1492 + None, # 1493 + None, # 1494 + None, # 1495 + None, # 1496 + None, # 1497 + None, # 1498 + None, # 1499 + None, # 1500 + None, # 1501 + None, # 1502 + None, # 1503 + None, # 1504 + None, # 1505 + None, # 1506 + None, # 1507 + None, # 1508 + None, # 1509 + None, # 1510 + None, # 1511 + None, # 1512 + None, # 1513 + None, # 1514 + None, # 1515 + None, # 1516 + None, # 1517 + None, # 1518 + None, # 1519 + None, # 1520 + None, # 1521 + None, # 1522 + None, # 1523 + None, # 1524 + None, # 1525 + None, # 1526 + None, # 1527 + None, # 1528 + None, # 1529 + None, # 1530 + None, # 1531 + None, # 1532 + None, # 1533 + None, # 1534 + None, # 1535 + None, # 1536 + None, # 1537 + None, # 1538 + None, # 1539 + None, # 1540 + None, # 1541 + None, # 1542 + None, # 1543 + None, # 1544 + None, # 1545 + None, # 1546 + None, # 1547 + None, # 1548 + None, # 1549 + None, # 1550 + None, # 1551 + None, # 1552 + None, # 1553 + None, # 1554 + None, # 1555 + None, # 1556 + None, # 1557 + None, # 1558 + None, # 1559 + None, # 1560 + None, # 1561 + None, # 1562 + None, # 1563 + None, # 1564 + None, # 1565 + None, # 1566 + None, # 1567 + None, # 1568 + None, # 1569 + None, # 1570 + None, # 1571 + None, # 1572 + None, # 1573 + None, # 1574 + None, # 1575 + None, # 1576 + None, # 1577 + None, # 1578 + None, # 1579 + None, # 1580 + None, # 1581 + None, # 1582 + None, # 1583 + None, # 1584 + None, # 1585 + None, # 1586 + None, # 1587 + None, # 1588 + None, # 1589 + None, # 1590 + None, # 1591 + None, # 1592 + None, # 1593 + None, # 1594 + None, # 1595 + None, # 1596 + None, # 1597 + None, # 1598 + None, # 1599 + None, # 1600 + None, # 1601 + None, # 1602 + None, # 1603 + None, # 1604 + None, # 1605 + None, # 1606 + None, # 1607 + None, # 1608 + None, # 1609 + None, # 1610 + None, # 1611 + None, # 1612 + None, # 1613 + None, # 1614 + None, # 1615 + None, # 1616 + None, # 1617 + None, # 1618 + None, # 1619 + None, # 1620 + None, # 1621 + None, # 1622 + None, # 1623 + None, # 1624 + None, # 1625 + None, # 1626 + None, # 1627 + None, # 1628 + None, # 1629 + None, # 1630 + None, # 1631 + None, # 1632 + None, # 1633 + None, # 1634 + None, # 1635 + None, # 1636 + None, # 1637 + None, # 1638 + None, # 1639 + None, # 1640 + None, # 1641 + None, # 1642 + None, # 1643 + None, # 1644 + None, # 1645 + None, # 1646 + None, # 1647 + None, # 1648 + None, # 1649 + None, # 1650 + None, # 1651 + None, # 1652 + None, # 1653 + None, # 1654 + None, # 1655 + None, # 1656 + None, # 1657 + None, # 1658 + None, # 1659 + None, # 1660 + None, # 1661 + None, # 1662 + None, # 1663 + None, # 1664 + None, # 1665 + None, # 1666 + None, # 1667 + None, # 1668 + None, # 1669 + None, # 1670 + None, # 1671 + None, # 1672 + None, # 1673 + None, # 1674 + None, # 1675 + None, # 1676 + None, # 1677 + None, # 1678 + None, # 1679 + None, # 1680 + None, # 1681 + None, # 1682 + None, # 1683 + None, # 1684 + None, # 1685 + None, # 1686 + None, # 1687 + None, # 1688 + None, # 1689 + None, # 1690 + None, # 1691 + None, # 1692 + None, # 1693 + None, # 1694 + None, # 1695 + None, # 1696 + None, # 1697 + None, # 1698 + None, # 1699 + None, # 1700 + None, # 1701 + None, # 1702 + None, # 1703 + None, # 1704 + None, # 1705 + None, # 1706 + None, # 1707 + None, # 1708 + None, # 1709 + None, # 1710 + None, # 1711 + None, # 1712 + None, # 1713 + None, # 1714 + None, # 1715 + None, # 1716 + None, # 1717 + None, # 1718 + None, # 1719 + None, # 1720 + None, # 1721 + None, # 1722 + None, # 1723 + None, # 1724 + None, # 1725 + None, # 1726 + None, # 1727 + None, # 1728 + None, # 1729 + None, # 1730 + None, # 1731 + None, # 1732 + None, # 1733 + None, # 1734 + None, # 1735 + None, # 1736 + None, # 1737 + None, # 1738 + None, # 1739 + None, # 1740 + None, # 1741 + None, # 1742 + None, # 1743 + None, # 1744 + None, # 1745 + None, # 1746 + None, # 1747 + None, # 1748 + None, # 1749 + None, # 1750 + None, # 1751 + None, # 1752 + None, # 1753 + None, # 1754 + None, # 1755 + None, # 1756 + None, # 1757 + None, # 1758 + None, # 1759 + None, # 1760 + None, # 1761 + None, # 1762 + None, # 1763 + None, # 1764 + None, # 1765 + None, # 1766 + None, # 1767 + None, # 1768 + None, # 1769 + None, # 1770 + None, # 1771 + None, # 1772 + None, # 1773 + None, # 1774 + None, # 1775 + None, # 1776 + None, # 1777 + None, # 1778 + None, # 1779 + None, # 1780 + None, # 1781 + None, # 1782 + None, # 1783 + None, # 1784 + None, # 1785 + None, # 1786 + None, # 1787 + None, # 1788 + None, # 1789 + None, # 1790 + None, # 1791 + None, # 1792 + None, # 1793 + None, # 1794 + None, # 1795 + None, # 1796 + None, # 1797 + None, # 1798 + None, # 1799 + None, # 1800 + None, # 1801 + None, # 1802 + None, # 1803 + None, # 1804 + None, # 1805 + None, # 1806 + None, # 1807 + None, # 1808 + None, # 1809 + None, # 1810 + None, # 1811 + None, # 1812 + None, # 1813 + None, # 1814 + None, # 1815 + None, # 1816 + None, # 1817 + None, # 1818 + None, # 1819 + None, # 1820 + None, # 1821 + None, # 1822 + None, # 1823 + None, # 1824 + None, # 1825 + None, # 1826 + None, # 1827 + None, # 1828 + None, # 1829 + None, # 1830 + None, # 1831 + None, # 1832 + None, # 1833 + None, # 1834 + None, # 1835 + None, # 1836 + None, # 1837 + None, # 1838 + None, # 1839 + None, # 1840 + None, # 1841 + None, # 1842 + None, # 1843 + None, # 1844 + None, # 1845 + None, # 1846 + None, # 1847 + None, # 1848 + None, # 1849 + None, # 1850 + None, # 1851 + None, # 1852 + None, # 1853 + None, # 1854 + None, # 1855 + None, # 1856 + None, # 1857 + None, # 1858 + None, # 1859 + None, # 1860 + None, # 1861 + None, # 1862 + None, # 1863 + None, # 1864 + None, # 1865 + None, # 1866 + None, # 1867 + None, # 1868 + None, # 1869 + None, # 1870 + None, # 1871 + None, # 1872 + None, # 1873 + None, # 1874 + None, # 1875 + None, # 1876 + None, # 1877 + None, # 1878 + None, # 1879 + None, # 1880 + None, # 1881 + None, # 1882 + None, # 1883 + None, # 1884 + None, # 1885 + None, # 1886 + None, # 1887 + None, # 1888 + None, # 1889 + None, # 1890 + None, # 1891 + None, # 1892 + None, # 1893 + None, # 1894 + None, # 1895 + None, # 1896 + None, # 1897 + None, # 1898 + None, # 1899 + None, # 1900 + None, # 1901 + None, # 1902 + None, # 1903 + None, # 1904 + None, # 1905 + None, # 1906 + None, # 1907 + None, # 1908 + None, # 1909 + None, # 1910 + None, # 1911 + None, # 1912 + None, # 1913 + None, # 1914 + None, # 1915 + None, # 1916 + None, # 1917 + None, # 1918 + None, # 1919 + None, # 1920 + None, # 1921 + None, # 1922 + None, # 1923 + None, # 1924 + None, # 1925 + None, # 1926 + None, # 1927 + None, # 1928 + None, # 1929 + None, # 1930 + None, # 1931 + None, # 1932 + None, # 1933 + None, # 1934 + None, # 1935 + None, # 1936 + None, # 1937 + None, # 1938 + None, # 1939 + None, # 1940 + None, # 1941 + None, # 1942 + None, # 1943 + None, # 1944 + None, # 1945 + None, # 1946 + None, # 1947 + None, # 1948 + None, # 1949 + None, # 1950 + None, # 1951 + None, # 1952 + None, # 1953 + None, # 1954 + None, # 1955 + None, # 1956 + None, # 1957 + None, # 1958 + None, # 1959 + None, # 1960 + None, # 1961 + None, # 1962 + None, # 1963 + None, # 1964 + None, # 1965 + None, # 1966 + None, # 1967 + None, # 1968 + None, # 1969 + None, # 1970 + None, # 1971 + None, # 1972 + None, # 1973 + None, # 1974 + None, # 1975 + None, # 1976 + None, # 1977 + None, # 1978 + None, # 1979 + None, # 1980 + None, # 1981 + None, # 1982 + None, # 1983 + None, # 1984 + None, # 1985 + None, # 1986 + None, # 1987 + None, # 1988 + None, # 1989 + None, # 1990 + None, # 1991 + None, # 1992 + None, # 1993 + None, # 1994 + None, # 1995 + None, # 1996 + None, # 1997 + None, # 1998 + None, # 1999 + None, # 2000 + None, # 2001 + None, # 2002 + None, # 2003 + None, # 2004 + None, # 2005 + None, # 2006 + None, # 2007 + None, # 2008 + None, # 2009 + None, # 2010 + None, # 2011 + None, # 2012 + None, # 2013 + None, # 2014 + None, # 2015 + None, # 2016 + None, # 2017 + None, # 2018 + None, # 2019 + None, # 2020 + None, # 2021 + None, # 2022 + None, # 2023 + None, # 2024 + None, # 2025 + None, # 2026 + None, # 2027 + None, # 2028 + None, # 2029 + None, # 2030 + None, # 2031 + None, # 2032 + None, # 2033 + None, # 2034 + None, # 2035 + None, # 2036 + None, # 2037 + None, # 2038 + None, # 2039 + None, # 2040 + None, # 2041 + None, # 2042 + None, # 2043 + None, # 2044 + None, # 2045 + None, # 2046 + None, # 2047 + None, # 2048 + None, # 2049 + None, # 2050 + None, # 2051 + None, # 2052 + None, # 2053 + None, # 2054 + None, # 2055 + None, # 2056 + None, # 2057 + None, # 2058 + None, # 2059 + None, # 2060 + None, # 2061 + None, # 2062 + None, # 2063 + None, # 2064 + None, # 2065 + None, # 2066 + None, # 2067 + None, # 2068 + None, # 2069 + None, # 2070 + None, # 2071 + None, # 2072 + None, # 2073 + None, # 2074 + None, # 2075 + None, # 2076 + None, # 2077 + None, # 2078 + None, # 2079 + None, # 2080 + None, # 2081 + None, # 2082 + None, # 2083 + None, # 2084 + None, # 2085 + None, # 2086 + None, # 2087 + None, # 2088 + None, # 2089 + None, # 2090 + None, # 2091 + None, # 2092 + None, # 2093 + None, # 2094 + None, # 2095 + None, # 2096 + None, # 2097 + None, # 2098 + None, # 2099 + None, # 2100 + None, # 2101 + None, # 2102 + None, # 2103 + None, # 2104 + None, # 2105 + None, # 2106 + None, # 2107 + None, # 2108 + None, # 2109 + None, # 2110 + None, # 2111 + None, # 2112 + None, # 2113 + None, # 2114 + None, # 2115 + None, # 2116 + None, # 2117 + None, # 2118 + None, # 2119 + None, # 2120 + None, # 2121 + None, # 2122 + None, # 2123 + None, # 2124 + None, # 2125 + None, # 2126 + None, # 2127 + None, # 2128 + None, # 2129 + None, # 2130 + None, # 2131 + None, # 2132 + None, # 2133 + None, # 2134 + None, # 2135 + None, # 2136 + None, # 2137 + None, # 2138 + None, # 2139 + None, # 2140 + None, # 2141 + None, # 2142 + None, # 2143 + None, # 2144 + None, # 2145 + None, # 2146 + None, # 2147 + None, # 2148 + None, # 2149 + None, # 2150 + None, # 2151 + None, # 2152 + None, # 2153 + None, # 2154 + None, # 2155 + None, # 2156 + None, # 2157 + None, # 2158 + None, # 2159 + None, # 2160 + None, # 2161 + None, # 2162 + None, # 2163 + None, # 2164 + None, # 2165 + None, # 2166 + None, # 2167 + None, # 2168 + None, # 2169 + None, # 2170 + None, # 2171 + None, # 2172 + None, # 2173 + None, # 2174 + None, # 2175 + None, # 2176 + None, # 2177 + None, # 2178 + None, # 2179 + None, # 2180 + None, # 2181 + None, # 2182 + None, # 2183 + None, # 2184 + None, # 2185 + None, # 2186 + None, # 2187 + None, # 2188 + None, # 2189 + None, # 2190 + None, # 2191 + None, # 2192 + None, # 2193 + None, # 2194 + None, # 2195 + None, # 2196 + None, # 2197 + None, # 2198 + None, # 2199 + None, # 2200 + None, # 2201 + None, # 2202 + None, # 2203 + None, # 2204 + None, # 2205 + None, # 2206 + None, # 2207 + None, # 2208 + None, # 2209 + None, # 2210 + None, # 2211 + None, # 2212 + None, # 2213 + None, # 2214 + None, # 2215 + None, # 2216 + None, # 2217 + None, # 2218 + None, # 2219 + None, # 2220 + None, # 2221 + None, # 2222 + None, # 2223 + None, # 2224 + None, # 2225 + None, # 2226 + None, # 2227 + None, # 2228 + None, # 2229 + None, # 2230 + None, # 2231 + None, # 2232 + None, # 2233 + None, # 2234 + None, # 2235 + None, # 2236 + None, # 2237 + None, # 2238 + None, # 2239 + None, # 2240 + None, # 2241 + None, # 2242 + None, # 2243 + None, # 2244 + None, # 2245 + None, # 2246 + None, # 2247 + None, # 2248 + None, # 2249 + None, # 2250 + None, # 2251 + None, # 2252 + None, # 2253 + None, # 2254 + None, # 2255 + None, # 2256 + None, # 2257 + None, # 2258 + None, # 2259 + None, # 2260 + None, # 2261 + None, # 2262 + None, # 2263 + None, # 2264 + None, # 2265 + None, # 2266 + None, # 2267 + None, # 2268 + None, # 2269 + None, # 2270 + None, # 2271 + None, # 2272 + None, # 2273 + None, # 2274 + None, # 2275 + None, # 2276 + None, # 2277 + None, # 2278 + None, # 2279 + None, # 2280 + None, # 2281 + None, # 2282 + None, # 2283 + None, # 2284 + None, # 2285 + None, # 2286 + None, # 2287 + None, # 2288 + None, # 2289 + None, # 2290 + None, # 2291 + None, # 2292 + None, # 2293 + None, # 2294 + None, # 2295 + None, # 2296 + None, # 2297 + None, # 2298 + None, # 2299 + None, # 2300 + None, # 2301 + None, # 2302 + None, # 2303 + None, # 2304 + None, # 2305 + None, # 2306 + None, # 2307 + None, # 2308 + None, # 2309 + None, # 2310 + None, # 2311 + None, # 2312 + None, # 2313 + None, # 2314 + None, # 2315 + None, # 2316 + None, # 2317 + None, # 2318 + None, # 2319 + None, # 2320 + None, # 2321 + None, # 2322 + None, # 2323 + None, # 2324 + None, # 2325 + None, # 2326 + None, # 2327 + None, # 2328 + None, # 2329 + None, # 2330 + None, # 2331 + None, # 2332 + None, # 2333 + None, # 2334 + None, # 2335 + None, # 2336 + None, # 2337 + None, # 2338 + None, # 2339 + None, # 2340 + None, # 2341 + None, # 2342 + None, # 2343 + None, # 2344 + None, # 2345 + None, # 2346 + None, # 2347 + None, # 2348 + None, # 2349 + None, # 2350 + None, # 2351 + None, # 2352 + None, # 2353 + None, # 2354 + None, # 2355 + None, # 2356 + None, # 2357 + None, # 2358 + None, # 2359 + None, # 2360 + None, # 2361 + None, # 2362 + None, # 2363 + None, # 2364 + None, # 2365 + None, # 2366 + None, # 2367 + None, # 2368 + None, # 2369 + None, # 2370 + None, # 2371 + None, # 2372 + None, # 2373 + None, # 2374 + None, # 2375 + None, # 2376 + None, # 2377 + None, # 2378 + None, # 2379 + None, # 2380 + None, # 2381 + None, # 2382 + None, # 2383 + None, # 2384 + None, # 2385 + None, # 2386 + None, # 2387 + None, # 2388 + None, # 2389 + None, # 2390 + None, # 2391 + None, # 2392 + None, # 2393 + None, # 2394 + None, # 2395 + None, # 2396 + None, # 2397 + None, # 2398 + None, # 2399 + None, # 2400 + None, # 2401 + None, # 2402 + None, # 2403 + None, # 2404 + None, # 2405 + None, # 2406 + None, # 2407 + None, # 2408 + None, # 2409 + None, # 2410 + None, # 2411 + None, # 2412 + None, # 2413 + None, # 2414 + None, # 2415 + None, # 2416 + None, # 2417 + None, # 2418 + None, # 2419 + None, # 2420 + None, # 2421 + None, # 2422 + None, # 2423 + None, # 2424 + None, # 2425 + None, # 2426 + None, # 2427 + None, # 2428 + None, # 2429 + None, # 2430 + None, # 2431 + None, # 2432 + None, # 2433 + None, # 2434 + None, # 2435 + None, # 2436 + None, # 2437 + None, # 2438 + None, # 2439 + None, # 2440 + None, # 2441 + None, # 2442 + None, # 2443 + None, # 2444 + None, # 2445 + None, # 2446 + None, # 2447 + None, # 2448 + None, # 2449 + None, # 2450 + None, # 2451 + None, # 2452 + None, # 2453 + None, # 2454 + None, # 2455 + None, # 2456 + None, # 2457 + None, # 2458 + None, # 2459 + None, # 2460 + None, # 2461 + None, # 2462 + None, # 2463 + None, # 2464 + None, # 2465 + None, # 2466 + None, # 2467 + None, # 2468 + None, # 2469 + None, # 2470 + None, # 2471 + None, # 2472 + None, # 2473 + None, # 2474 + None, # 2475 + None, # 2476 + None, # 2477 + None, # 2478 + None, # 2479 + None, # 2480 + None, # 2481 + None, # 2482 + None, # 2483 + None, # 2484 + None, # 2485 + None, # 2486 + None, # 2487 + None, # 2488 + None, # 2489 + None, # 2490 + None, # 2491 + None, # 2492 + None, # 2493 + None, # 2494 + None, # 2495 + None, # 2496 + None, # 2497 + None, # 2498 + None, # 2499 + None, # 2500 + None, # 2501 + None, # 2502 + None, # 2503 + None, # 2504 + None, # 2505 + None, # 2506 + None, # 2507 + None, # 2508 + None, # 2509 + None, # 2510 + None, # 2511 + None, # 2512 + None, # 2513 + None, # 2514 + None, # 2515 + None, # 2516 + None, # 2517 + None, # 2518 + None, # 2519 + None, # 2520 + None, # 2521 + None, # 2522 + None, # 2523 + None, # 2524 + None, # 2525 + None, # 2526 + None, # 2527 + None, # 2528 + None, # 2529 + None, # 2530 + None, # 2531 + None, # 2532 + None, # 2533 + None, # 2534 + None, # 2535 + None, # 2536 + None, # 2537 + None, # 2538 + None, # 2539 + None, # 2540 + None, # 2541 + None, # 2542 + None, # 2543 + None, # 2544 + None, # 2545 + None, # 2546 + None, # 2547 + None, # 2548 + None, # 2549 + None, # 2550 + None, # 2551 + None, # 2552 + None, # 2553 + None, # 2554 + None, # 2555 + None, # 2556 + None, # 2557 + None, # 2558 + None, # 2559 + None, # 2560 + None, # 2561 + None, # 2562 + None, # 2563 + None, # 2564 + None, # 2565 + None, # 2566 + None, # 2567 + None, # 2568 + None, # 2569 + None, # 2570 + None, # 2571 + None, # 2572 + None, # 2573 + None, # 2574 + None, # 2575 + None, # 2576 + None, # 2577 + None, # 2578 + None, # 2579 + None, # 2580 + None, # 2581 + None, # 2582 + None, # 2583 + None, # 2584 + None, # 2585 + None, # 2586 + None, # 2587 + None, # 2588 + None, # 2589 + None, # 2590 + None, # 2591 + None, # 2592 + None, # 2593 + None, # 2594 + None, # 2595 + None, # 2596 + None, # 2597 + None, # 2598 + None, # 2599 + None, # 2600 + None, # 2601 + None, # 2602 + None, # 2603 + None, # 2604 + None, # 2605 + None, # 2606 + None, # 2607 + None, # 2608 + None, # 2609 + None, # 2610 + None, # 2611 + None, # 2612 + None, # 2613 + None, # 2614 + None, # 2615 + None, # 2616 + None, # 2617 + None, # 2618 + None, # 2619 + None, # 2620 + None, # 2621 + None, # 2622 + None, # 2623 + None, # 2624 + None, # 2625 + None, # 2626 + None, # 2627 + None, # 2628 + None, # 2629 + None, # 2630 + None, # 2631 + None, # 2632 + None, # 2633 + None, # 2634 + None, # 2635 + None, # 2636 + None, # 2637 + None, # 2638 + None, # 2639 + None, # 2640 + None, # 2641 + None, # 2642 + None, # 2643 + None, # 2644 + None, # 2645 + None, # 2646 + None, # 2647 + None, # 2648 + None, # 2649 + None, # 2650 + None, # 2651 + None, # 2652 + None, # 2653 + None, # 2654 + None, # 2655 + None, # 2656 + None, # 2657 + None, # 2658 + None, # 2659 + None, # 2660 + None, # 2661 + None, # 2662 + None, # 2663 + None, # 2664 + None, # 2665 + None, # 2666 + None, # 2667 + None, # 2668 + None, # 2669 + None, # 2670 + None, # 2671 + None, # 2672 + None, # 2673 + None, # 2674 + None, # 2675 + None, # 2676 + None, # 2677 + None, # 2678 + None, # 2679 + None, # 2680 + None, # 2681 + None, # 2682 + None, # 2683 + None, # 2684 + None, # 2685 + None, # 2686 + None, # 2687 + None, # 2688 + None, # 2689 + None, # 2690 + None, # 2691 + None, # 2692 + None, # 2693 + None, # 2694 + None, # 2695 + None, # 2696 + None, # 2697 + None, # 2698 + None, # 2699 + None, # 2700 + None, # 2701 + None, # 2702 + None, # 2703 + None, # 2704 + None, # 2705 + None, # 2706 + None, # 2707 + None, # 2708 + None, # 2709 + None, # 2710 + None, # 2711 + None, # 2712 + None, # 2713 + None, # 2714 + None, # 2715 + None, # 2716 + None, # 2717 + None, # 2718 + None, # 2719 + None, # 2720 + None, # 2721 + None, # 2722 + None, # 2723 + None, # 2724 + None, # 2725 + None, # 2726 + None, # 2727 + None, # 2728 + None, # 2729 + None, # 2730 + None, # 2731 + None, # 2732 + None, # 2733 + None, # 2734 + None, # 2735 + None, # 2736 + None, # 2737 + None, # 2738 + None, # 2739 + None, # 2740 + None, # 2741 + None, # 2742 + None, # 2743 + None, # 2744 + None, # 2745 + None, # 2746 + None, # 2747 + None, # 2748 + None, # 2749 + None, # 2750 + None, # 2751 + None, # 2752 + None, # 2753 + None, # 2754 + None, # 2755 + None, # 2756 + None, # 2757 + None, # 2758 + None, # 2759 + None, # 2760 + None, # 2761 + None, # 2762 + None, # 2763 + None, # 2764 + None, # 2765 + None, # 2766 + None, # 2767 + None, # 2768 + None, # 2769 + None, # 2770 + None, # 2771 + None, # 2772 + None, # 2773 + None, # 2774 + None, # 2775 + None, # 2776 + None, # 2777 + None, # 2778 + None, # 2779 + None, # 2780 + None, # 2781 + None, # 2782 + None, # 2783 + None, # 2784 + None, # 2785 + None, # 2786 + None, # 2787 + None, # 2788 + None, # 2789 + None, # 2790 + None, # 2791 + None, # 2792 + None, # 2793 + None, # 2794 + None, # 2795 + None, # 2796 + None, # 2797 + None, # 2798 + None, # 2799 + None, # 2800 + None, # 2801 + None, # 2802 + None, # 2803 + None, # 2804 + None, # 2805 + None, # 2806 + None, # 2807 + None, # 2808 + None, # 2809 + None, # 2810 + None, # 2811 + None, # 2812 + None, # 2813 + None, # 2814 + None, # 2815 + None, # 2816 + None, # 2817 + None, # 2818 + None, # 2819 + None, # 2820 + None, # 2821 + None, # 2822 + None, # 2823 + None, # 2824 + None, # 2825 + None, # 2826 + None, # 2827 + None, # 2828 + None, # 2829 + None, # 2830 + None, # 2831 + None, # 2832 + None, # 2833 + None, # 2834 + None, # 2835 + None, # 2836 + None, # 2837 + None, # 2838 + None, # 2839 + None, # 2840 + None, # 2841 + None, # 2842 + None, # 2843 + None, # 2844 + None, # 2845 + None, # 2846 + None, # 2847 + None, # 2848 + None, # 2849 + None, # 2850 + None, # 2851 + None, # 2852 + None, # 2853 + None, # 2854 + None, # 2855 + None, # 2856 + None, # 2857 + None, # 2858 + None, # 2859 + None, # 2860 + None, # 2861 + None, # 2862 + None, # 2863 + None, # 2864 + None, # 2865 + None, # 2866 + None, # 2867 + None, # 2868 + None, # 2869 + None, # 2870 + None, # 2871 + None, # 2872 + None, # 2873 + None, # 2874 + None, # 2875 + None, # 2876 + None, # 2877 + None, # 2878 + None, # 2879 + None, # 2880 + None, # 2881 + None, # 2882 + None, # 2883 + None, # 2884 + None, # 2885 + None, # 2886 + None, # 2887 + None, # 2888 + None, # 2889 + None, # 2890 + None, # 2891 + None, # 2892 + None, # 2893 + None, # 2894 + None, # 2895 + None, # 2896 + None, # 2897 + None, # 2898 + None, # 2899 + None, # 2900 + None, # 2901 + None, # 2902 + None, # 2903 + None, # 2904 + None, # 2905 + None, # 2906 + None, # 2907 + None, # 2908 + None, # 2909 + None, # 2910 + None, # 2911 + None, # 2912 + None, # 2913 + None, # 2914 + None, # 2915 + None, # 2916 + None, # 2917 + None, # 2918 + None, # 2919 + None, # 2920 + None, # 2921 + None, # 2922 + None, # 2923 + None, # 2924 + None, # 2925 + None, # 2926 + None, # 2927 + None, # 2928 + None, # 2929 + None, # 2930 + None, # 2931 + None, # 2932 + None, # 2933 + None, # 2934 + None, # 2935 + None, # 2936 + None, # 2937 + None, # 2938 + None, # 2939 + None, # 2940 + None, # 2941 + None, # 2942 + None, # 2943 + None, # 2944 + None, # 2945 + None, # 2946 + None, # 2947 + None, # 2948 + None, # 2949 + None, # 2950 + None, # 2951 + None, # 2952 + None, # 2953 + None, # 2954 + None, # 2955 + None, # 2956 + None, # 2957 + None, # 2958 + None, # 2959 + None, # 2960 + None, # 2961 + None, # 2962 + None, # 2963 + None, # 2964 + None, # 2965 + None, # 2966 + None, # 2967 + None, # 2968 + None, # 2969 + None, # 2970 + None, # 2971 + None, # 2972 + None, # 2973 + None, # 2974 + None, # 2975 + None, # 2976 + None, # 2977 + None, # 2978 + None, # 2979 + None, # 2980 + None, # 2981 + None, # 2982 + None, # 2983 + None, # 2984 + None, # 2985 + None, # 2986 + None, # 2987 + None, # 2988 + None, # 2989 + None, # 2990 + None, # 2991 + None, # 2992 + None, # 2993 + None, # 2994 + None, # 2995 + None, # 2996 + None, # 2997 + None, # 2998 + None, # 2999 + None, # 3000 + None, # 3001 + None, # 3002 + None, # 3003 + None, # 3004 + None, # 3005 + None, # 3006 + None, # 3007 + None, # 3008 + None, # 3009 + None, # 3010 + None, # 3011 + None, # 3012 + None, # 3013 + None, # 3014 + None, # 3015 + None, # 3016 + None, # 3017 + None, # 3018 + None, # 3019 + None, # 3020 + None, # 3021 + None, # 3022 + None, # 3023 + None, # 3024 + None, # 3025 + None, # 3026 + None, # 3027 + None, # 3028 + None, # 3029 + None, # 3030 + None, # 3031 + None, # 3032 + None, # 3033 + None, # 3034 + None, # 3035 + None, # 3036 + None, # 3037 + None, # 3038 + None, # 3039 + None, # 3040 + None, # 3041 + None, # 3042 + None, # 3043 + None, # 3044 + None, # 3045 + None, # 3046 + None, # 3047 + None, # 3048 + None, # 3049 + None, # 3050 + None, # 3051 + None, # 3052 + None, # 3053 + None, # 3054 + None, # 3055 + None, # 3056 + None, # 3057 + None, # 3058 + None, # 3059 + None, # 3060 + None, # 3061 + None, # 3062 + None, # 3063 + None, # 3064 + None, # 3065 + None, # 3066 + None, # 3067 + None, # 3068 + None, # 3069 + None, # 3070 + None, # 3071 + None, # 3072 + None, # 3073 + None, # 3074 + None, # 3075 + None, # 3076 + None, # 3077 + None, # 3078 + None, # 3079 + None, # 3080 + None, # 3081 + None, # 3082 + None, # 3083 + None, # 3084 + None, # 3085 + None, # 3086 + None, # 3087 + None, # 3088 + None, # 3089 + None, # 3090 + None, # 3091 + None, # 3092 + None, # 3093 + None, # 3094 + None, # 3095 + None, # 3096 + None, # 3097 + None, # 3098 + None, # 3099 + None, # 3100 + None, # 3101 + None, # 3102 + None, # 3103 + None, # 3104 + None, # 3105 + None, # 3106 + None, # 3107 + None, # 3108 + None, # 3109 + None, # 3110 + None, # 3111 + None, # 3112 + None, # 3113 + None, # 3114 + None, # 3115 + None, # 3116 + None, # 3117 + None, # 3118 + None, # 3119 + None, # 3120 + None, # 3121 + None, # 3122 + None, # 3123 + None, # 3124 + None, # 3125 + None, # 3126 + None, # 3127 + None, # 3128 + None, # 3129 + None, # 3130 + None, # 3131 + None, # 3132 + None, # 3133 + None, # 3134 + None, # 3135 + None, # 3136 + None, # 3137 + None, # 3138 + None, # 3139 + None, # 3140 + None, # 3141 + None, # 3142 + None, # 3143 + None, # 3144 + None, # 3145 + None, # 3146 + None, # 3147 + None, # 3148 + None, # 3149 + None, # 3150 + None, # 3151 + None, # 3152 + None, # 3153 + None, # 3154 + None, # 3155 + None, # 3156 + None, # 3157 + None, # 3158 + None, # 3159 + None, # 3160 + None, # 3161 + None, # 3162 + None, # 3163 + None, # 3164 + None, # 3165 + None, # 3166 + None, # 3167 + None, # 3168 + None, # 3169 + None, # 3170 + None, # 3171 + None, # 3172 + None, # 3173 + None, # 3174 + None, # 3175 + None, # 3176 + None, # 3177 + None, # 3178 + None, # 3179 + None, # 3180 + None, # 3181 + None, # 3182 + None, # 3183 + None, # 3184 + None, # 3185 + None, # 3186 + None, # 3187 + None, # 3188 + None, # 3189 + None, # 3190 + None, # 3191 + None, # 3192 + None, # 3193 + None, # 3194 + None, # 3195 + None, # 3196 + None, # 3197 + None, # 3198 + None, # 3199 + None, # 3200 + None, # 3201 + None, # 3202 + None, # 3203 + None, # 3204 + None, # 3205 + None, # 3206 + None, # 3207 + None, # 3208 + None, # 3209 + None, # 3210 + None, # 3211 + None, # 3212 + None, # 3213 + None, # 3214 + None, # 3215 + None, # 3216 + None, # 3217 + None, # 3218 + None, # 3219 + None, # 3220 + None, # 3221 + None, # 3222 + None, # 3223 + None, # 3224 + None, # 3225 + None, # 3226 + None, # 3227 + None, # 3228 + None, # 3229 + None, # 3230 + None, # 3231 + None, # 3232 + None, # 3233 + None, # 3234 + None, # 3235 + None, # 3236 + None, # 3237 + None, # 3238 + None, # 3239 + None, # 3240 + None, # 3241 + None, # 3242 + None, # 3243 + None, # 3244 + None, # 3245 + None, # 3246 + None, # 3247 + None, # 3248 + None, # 3249 + None, # 3250 + None, # 3251 + None, # 3252 + None, # 3253 + None, # 3254 + None, # 3255 + None, # 3256 + None, # 3257 + None, # 3258 + None, # 3259 + None, # 3260 + None, # 3261 + None, # 3262 + None, # 3263 + None, # 3264 + None, # 3265 + None, # 3266 + None, # 3267 + None, # 3268 + None, # 3269 + None, # 3270 + None, # 3271 + None, # 3272 + None, # 3273 + None, # 3274 + None, # 3275 + None, # 3276 + None, # 3277 + None, # 3278 + None, # 3279 + None, # 3280 + None, # 3281 + None, # 3282 + None, # 3283 + None, # 3284 + None, # 3285 + None, # 3286 + None, # 3287 + None, # 3288 + None, # 3289 + None, # 3290 + None, # 3291 + None, # 3292 + None, # 3293 + None, # 3294 + None, # 3295 + None, # 3296 + None, # 3297 + None, # 3298 + None, # 3299 + None, # 3300 + None, # 3301 + None, # 3302 + None, # 3303 + None, # 3304 + None, # 3305 + None, # 3306 + None, # 3307 + None, # 3308 + None, # 3309 + None, # 3310 + None, # 3311 + None, # 3312 + None, # 3313 + None, # 3314 + None, # 3315 + None, # 3316 + None, # 3317 + None, # 3318 + None, # 3319 + None, # 3320 + None, # 3321 + None, # 3322 + None, # 3323 + None, # 3324 + None, # 3325 + None, # 3326 + None, # 3327 + None, # 3328 + (3329, TType.STRUCT, 'operationId', [THandleIdentifier, None], None, ), # 3329 + (3330, TType.STRUCT, 'sessionConf', [TDBSqlSessionConf, None], None, ), # 3330 ) all_structs.append(TGetCrossReferenceResp) TGetCrossReferenceResp.thrift_spec = ( - None, # 0 - ( - 1, - TType.STRUCT, - "status", - [TStatus, None], - None, - ), # 1 - ( - 2, - TType.STRUCT, - "operationHandle", - [TOperationHandle, None], - None, - ), # 2 - None, # 3 - None, # 4 - None, # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - ( - 1281, - TType.STRUCT, - "directResults", - [TSparkDirectResults, None], - None, - ), # 1281 + None, # 0 + (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 + (2, TType.STRUCT, 'operationHandle', [TOperationHandle, None], None, ), # 2 + None, # 3 + None, # 4 + None, # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + (1281, TType.STRUCT, 'directResults', [TSparkDirectResults, None], None, ), # 1281 ) all_structs.append(TGetOperationStatusReq) TGetOperationStatusReq.thrift_spec = ( - None, # 0 - ( - 1, - TType.STRUCT, - "operationHandle", - [TOperationHandle, None], - None, - ), # 1 - ( - 2, - TType.BOOL, - "getProgressUpdate", - None, - None, - ), # 2 + None, # 0 + (1, TType.STRUCT, 'operationHandle', [TOperationHandle, None], None, ), # 1 + (2, TType.BOOL, 'getProgressUpdate', None, None, ), # 2 ) all_structs.append(TGetOperationStatusResp) TGetOperationStatusResp.thrift_spec = ( - None, # 0 - ( - 1, - TType.STRUCT, - "status", - [TStatus, None], - None, - ), # 1 - ( - 2, - TType.I32, - "operationState", - None, - None, - ), # 2 - ( - 3, - TType.STRING, - "sqlState", - "UTF8", - None, - ), # 3 - ( - 4, - TType.I32, - "errorCode", - None, - None, - ), # 4 - ( - 5, - TType.STRING, - "errorMessage", - "UTF8", - None, - ), # 5 - ( - 6, - TType.STRING, - "taskStatus", - "UTF8", - None, - ), # 6 - ( - 7, - TType.I64, - "operationStarted", - None, - None, - ), # 7 - ( - 8, - TType.I64, - "operationCompleted", - None, - None, - ), # 8 - ( - 9, - TType.BOOL, - "hasResultSet", - None, - None, - ), # 9 - ( - 10, - TType.STRUCT, - "progressUpdateResponse", - [TProgressUpdateResp, None], - None, - ), # 10 - ( - 11, - TType.I64, - "numModifiedRows", - None, - None, - ), # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - ( - 1281, - TType.STRING, - "displayMessage", - "UTF8", - None, - ), # 1281 - ( - 1282, - TType.STRING, - "diagnosticInfo", - "UTF8", - None, - ), # 1282 - ( - 1283, - TType.STRING, - "errorDetailsJson", - "UTF8", - None, - ), # 1283 - None, # 1284 - None, # 1285 - None, # 1286 - None, # 1287 - None, # 1288 - None, # 1289 - None, # 1290 - None, # 1291 - None, # 1292 - None, # 1293 - None, # 1294 - None, # 1295 - None, # 1296 - None, # 1297 - None, # 1298 - None, # 1299 - None, # 1300 - None, # 1301 - None, # 1302 - None, # 1303 - None, # 1304 - None, # 1305 - None, # 1306 - None, # 1307 - None, # 1308 - None, # 1309 - None, # 1310 - None, # 1311 - None, # 1312 - None, # 1313 - None, # 1314 - None, # 1315 - None, # 1316 - None, # 1317 - None, # 1318 - None, # 1319 - None, # 1320 - None, # 1321 - None, # 1322 - None, # 1323 - None, # 1324 - None, # 1325 - None, # 1326 - None, # 1327 - None, # 1328 - None, # 1329 - None, # 1330 - None, # 1331 - None, # 1332 - None, # 1333 - None, # 1334 - None, # 1335 - None, # 1336 - None, # 1337 - None, # 1338 - None, # 1339 - None, # 1340 - None, # 1341 - None, # 1342 - None, # 1343 - None, # 1344 - None, # 1345 - None, # 1346 - None, # 1347 - None, # 1348 - None, # 1349 - None, # 1350 - None, # 1351 - None, # 1352 - None, # 1353 - None, # 1354 - None, # 1355 - None, # 1356 - None, # 1357 - None, # 1358 - None, # 1359 - None, # 1360 - None, # 1361 - None, # 1362 - None, # 1363 - None, # 1364 - None, # 1365 - None, # 1366 - None, # 1367 - None, # 1368 - None, # 1369 - None, # 1370 - None, # 1371 - None, # 1372 - None, # 1373 - None, # 1374 - None, # 1375 - None, # 1376 - None, # 1377 - None, # 1378 - None, # 1379 - None, # 1380 - None, # 1381 - None, # 1382 - None, # 1383 - None, # 1384 - None, # 1385 - None, # 1386 - None, # 1387 - None, # 1388 - None, # 1389 - None, # 1390 - None, # 1391 - None, # 1392 - None, # 1393 - None, # 1394 - None, # 1395 - None, # 1396 - None, # 1397 - None, # 1398 - None, # 1399 - None, # 1400 - None, # 1401 - None, # 1402 - None, # 1403 - None, # 1404 - None, # 1405 - None, # 1406 - None, # 1407 - None, # 1408 - None, # 1409 - None, # 1410 - None, # 1411 - None, # 1412 - None, # 1413 - None, # 1414 - None, # 1415 - None, # 1416 - None, # 1417 - None, # 1418 - None, # 1419 - None, # 1420 - None, # 1421 - None, # 1422 - None, # 1423 - None, # 1424 - None, # 1425 - None, # 1426 - None, # 1427 - None, # 1428 - None, # 1429 - None, # 1430 - None, # 1431 - None, # 1432 - None, # 1433 - None, # 1434 - None, # 1435 - None, # 1436 - None, # 1437 - None, # 1438 - None, # 1439 - None, # 1440 - None, # 1441 - None, # 1442 - None, # 1443 - None, # 1444 - None, # 1445 - None, # 1446 - None, # 1447 - None, # 1448 - None, # 1449 - None, # 1450 - None, # 1451 - None, # 1452 - None, # 1453 - None, # 1454 - None, # 1455 - None, # 1456 - None, # 1457 - None, # 1458 - None, # 1459 - None, # 1460 - None, # 1461 - None, # 1462 - None, # 1463 - None, # 1464 - None, # 1465 - None, # 1466 - None, # 1467 - None, # 1468 - None, # 1469 - None, # 1470 - None, # 1471 - None, # 1472 - None, # 1473 - None, # 1474 - None, # 1475 - None, # 1476 - None, # 1477 - None, # 1478 - None, # 1479 - None, # 1480 - None, # 1481 - None, # 1482 - None, # 1483 - None, # 1484 - None, # 1485 - None, # 1486 - None, # 1487 - None, # 1488 - None, # 1489 - None, # 1490 - None, # 1491 - None, # 1492 - None, # 1493 - None, # 1494 - None, # 1495 - None, # 1496 - None, # 1497 - None, # 1498 - None, # 1499 - None, # 1500 - None, # 1501 - None, # 1502 - None, # 1503 - None, # 1504 - None, # 1505 - None, # 1506 - None, # 1507 - None, # 1508 - None, # 1509 - None, # 1510 - None, # 1511 - None, # 1512 - None, # 1513 - None, # 1514 - None, # 1515 - None, # 1516 - None, # 1517 - None, # 1518 - None, # 1519 - None, # 1520 - None, # 1521 - None, # 1522 - None, # 1523 - None, # 1524 - None, # 1525 - None, # 1526 - None, # 1527 - None, # 1528 - None, # 1529 - None, # 1530 - None, # 1531 - None, # 1532 - None, # 1533 - None, # 1534 - None, # 1535 - None, # 1536 - None, # 1537 - None, # 1538 - None, # 1539 - None, # 1540 - None, # 1541 - None, # 1542 - None, # 1543 - None, # 1544 - None, # 1545 - None, # 1546 - None, # 1547 - None, # 1548 - None, # 1549 - None, # 1550 - None, # 1551 - None, # 1552 - None, # 1553 - None, # 1554 - None, # 1555 - None, # 1556 - None, # 1557 - None, # 1558 - None, # 1559 - None, # 1560 - None, # 1561 - None, # 1562 - None, # 1563 - None, # 1564 - None, # 1565 - None, # 1566 - None, # 1567 - None, # 1568 - None, # 1569 - None, # 1570 - None, # 1571 - None, # 1572 - None, # 1573 - None, # 1574 - None, # 1575 - None, # 1576 - None, # 1577 - None, # 1578 - None, # 1579 - None, # 1580 - None, # 1581 - None, # 1582 - None, # 1583 - None, # 1584 - None, # 1585 - None, # 1586 - None, # 1587 - None, # 1588 - None, # 1589 - None, # 1590 - None, # 1591 - None, # 1592 - None, # 1593 - None, # 1594 - None, # 1595 - None, # 1596 - None, # 1597 - None, # 1598 - None, # 1599 - None, # 1600 - None, # 1601 - None, # 1602 - None, # 1603 - None, # 1604 - None, # 1605 - None, # 1606 - None, # 1607 - None, # 1608 - None, # 1609 - None, # 1610 - None, # 1611 - None, # 1612 - None, # 1613 - None, # 1614 - None, # 1615 - None, # 1616 - None, # 1617 - None, # 1618 - None, # 1619 - None, # 1620 - None, # 1621 - None, # 1622 - None, # 1623 - None, # 1624 - None, # 1625 - None, # 1626 - None, # 1627 - None, # 1628 - None, # 1629 - None, # 1630 - None, # 1631 - None, # 1632 - None, # 1633 - None, # 1634 - None, # 1635 - None, # 1636 - None, # 1637 - None, # 1638 - None, # 1639 - None, # 1640 - None, # 1641 - None, # 1642 - None, # 1643 - None, # 1644 - None, # 1645 - None, # 1646 - None, # 1647 - None, # 1648 - None, # 1649 - None, # 1650 - None, # 1651 - None, # 1652 - None, # 1653 - None, # 1654 - None, # 1655 - None, # 1656 - None, # 1657 - None, # 1658 - None, # 1659 - None, # 1660 - None, # 1661 - None, # 1662 - None, # 1663 - None, # 1664 - None, # 1665 - None, # 1666 - None, # 1667 - None, # 1668 - None, # 1669 - None, # 1670 - None, # 1671 - None, # 1672 - None, # 1673 - None, # 1674 - None, # 1675 - None, # 1676 - None, # 1677 - None, # 1678 - None, # 1679 - None, # 1680 - None, # 1681 - None, # 1682 - None, # 1683 - None, # 1684 - None, # 1685 - None, # 1686 - None, # 1687 - None, # 1688 - None, # 1689 - None, # 1690 - None, # 1691 - None, # 1692 - None, # 1693 - None, # 1694 - None, # 1695 - None, # 1696 - None, # 1697 - None, # 1698 - None, # 1699 - None, # 1700 - None, # 1701 - None, # 1702 - None, # 1703 - None, # 1704 - None, # 1705 - None, # 1706 - None, # 1707 - None, # 1708 - None, # 1709 - None, # 1710 - None, # 1711 - None, # 1712 - None, # 1713 - None, # 1714 - None, # 1715 - None, # 1716 - None, # 1717 - None, # 1718 - None, # 1719 - None, # 1720 - None, # 1721 - None, # 1722 - None, # 1723 - None, # 1724 - None, # 1725 - None, # 1726 - None, # 1727 - None, # 1728 - None, # 1729 - None, # 1730 - None, # 1731 - None, # 1732 - None, # 1733 - None, # 1734 - None, # 1735 - None, # 1736 - None, # 1737 - None, # 1738 - None, # 1739 - None, # 1740 - None, # 1741 - None, # 1742 - None, # 1743 - None, # 1744 - None, # 1745 - None, # 1746 - None, # 1747 - None, # 1748 - None, # 1749 - None, # 1750 - None, # 1751 - None, # 1752 - None, # 1753 - None, # 1754 - None, # 1755 - None, # 1756 - None, # 1757 - None, # 1758 - None, # 1759 - None, # 1760 - None, # 1761 - None, # 1762 - None, # 1763 - None, # 1764 - None, # 1765 - None, # 1766 - None, # 1767 - None, # 1768 - None, # 1769 - None, # 1770 - None, # 1771 - None, # 1772 - None, # 1773 - None, # 1774 - None, # 1775 - None, # 1776 - None, # 1777 - None, # 1778 - None, # 1779 - None, # 1780 - None, # 1781 - None, # 1782 - None, # 1783 - None, # 1784 - None, # 1785 - None, # 1786 - None, # 1787 - None, # 1788 - None, # 1789 - None, # 1790 - None, # 1791 - None, # 1792 - None, # 1793 - None, # 1794 - None, # 1795 - None, # 1796 - None, # 1797 - None, # 1798 - None, # 1799 - None, # 1800 - None, # 1801 - None, # 1802 - None, # 1803 - None, # 1804 - None, # 1805 - None, # 1806 - None, # 1807 - None, # 1808 - None, # 1809 - None, # 1810 - None, # 1811 - None, # 1812 - None, # 1813 - None, # 1814 - None, # 1815 - None, # 1816 - None, # 1817 - None, # 1818 - None, # 1819 - None, # 1820 - None, # 1821 - None, # 1822 - None, # 1823 - None, # 1824 - None, # 1825 - None, # 1826 - None, # 1827 - None, # 1828 - None, # 1829 - None, # 1830 - None, # 1831 - None, # 1832 - None, # 1833 - None, # 1834 - None, # 1835 - None, # 1836 - None, # 1837 - None, # 1838 - None, # 1839 - None, # 1840 - None, # 1841 - None, # 1842 - None, # 1843 - None, # 1844 - None, # 1845 - None, # 1846 - None, # 1847 - None, # 1848 - None, # 1849 - None, # 1850 - None, # 1851 - None, # 1852 - None, # 1853 - None, # 1854 - None, # 1855 - None, # 1856 - None, # 1857 - None, # 1858 - None, # 1859 - None, # 1860 - None, # 1861 - None, # 1862 - None, # 1863 - None, # 1864 - None, # 1865 - None, # 1866 - None, # 1867 - None, # 1868 - None, # 1869 - None, # 1870 - None, # 1871 - None, # 1872 - None, # 1873 - None, # 1874 - None, # 1875 - None, # 1876 - None, # 1877 - None, # 1878 - None, # 1879 - None, # 1880 - None, # 1881 - None, # 1882 - None, # 1883 - None, # 1884 - None, # 1885 - None, # 1886 - None, # 1887 - None, # 1888 - None, # 1889 - None, # 1890 - None, # 1891 - None, # 1892 - None, # 1893 - None, # 1894 - None, # 1895 - None, # 1896 - None, # 1897 - None, # 1898 - None, # 1899 - None, # 1900 - None, # 1901 - None, # 1902 - None, # 1903 - None, # 1904 - None, # 1905 - None, # 1906 - None, # 1907 - None, # 1908 - None, # 1909 - None, # 1910 - None, # 1911 - None, # 1912 - None, # 1913 - None, # 1914 - None, # 1915 - None, # 1916 - None, # 1917 - None, # 1918 - None, # 1919 - None, # 1920 - None, # 1921 - None, # 1922 - None, # 1923 - None, # 1924 - None, # 1925 - None, # 1926 - None, # 1927 - None, # 1928 - None, # 1929 - None, # 1930 - None, # 1931 - None, # 1932 - None, # 1933 - None, # 1934 - None, # 1935 - None, # 1936 - None, # 1937 - None, # 1938 - None, # 1939 - None, # 1940 - None, # 1941 - None, # 1942 - None, # 1943 - None, # 1944 - None, # 1945 - None, # 1946 - None, # 1947 - None, # 1948 - None, # 1949 - None, # 1950 - None, # 1951 - None, # 1952 - None, # 1953 - None, # 1954 - None, # 1955 - None, # 1956 - None, # 1957 - None, # 1958 - None, # 1959 - None, # 1960 - None, # 1961 - None, # 1962 - None, # 1963 - None, # 1964 - None, # 1965 - None, # 1966 - None, # 1967 - None, # 1968 - None, # 1969 - None, # 1970 - None, # 1971 - None, # 1972 - None, # 1973 - None, # 1974 - None, # 1975 - None, # 1976 - None, # 1977 - None, # 1978 - None, # 1979 - None, # 1980 - None, # 1981 - None, # 1982 - None, # 1983 - None, # 1984 - None, # 1985 - None, # 1986 - None, # 1987 - None, # 1988 - None, # 1989 - None, # 1990 - None, # 1991 - None, # 1992 - None, # 1993 - None, # 1994 - None, # 1995 - None, # 1996 - None, # 1997 - None, # 1998 - None, # 1999 - None, # 2000 - None, # 2001 - None, # 2002 - None, # 2003 - None, # 2004 - None, # 2005 - None, # 2006 - None, # 2007 - None, # 2008 - None, # 2009 - None, # 2010 - None, # 2011 - None, # 2012 - None, # 2013 - None, # 2014 - None, # 2015 - None, # 2016 - None, # 2017 - None, # 2018 - None, # 2019 - None, # 2020 - None, # 2021 - None, # 2022 - None, # 2023 - None, # 2024 - None, # 2025 - None, # 2026 - None, # 2027 - None, # 2028 - None, # 2029 - None, # 2030 - None, # 2031 - None, # 2032 - None, # 2033 - None, # 2034 - None, # 2035 - None, # 2036 - None, # 2037 - None, # 2038 - None, # 2039 - None, # 2040 - None, # 2041 - None, # 2042 - None, # 2043 - None, # 2044 - None, # 2045 - None, # 2046 - None, # 2047 - None, # 2048 - None, # 2049 - None, # 2050 - None, # 2051 - None, # 2052 - None, # 2053 - None, # 2054 - None, # 2055 - None, # 2056 - None, # 2057 - None, # 2058 - None, # 2059 - None, # 2060 - None, # 2061 - None, # 2062 - None, # 2063 - None, # 2064 - None, # 2065 - None, # 2066 - None, # 2067 - None, # 2068 - None, # 2069 - None, # 2070 - None, # 2071 - None, # 2072 - None, # 2073 - None, # 2074 - None, # 2075 - None, # 2076 - None, # 2077 - None, # 2078 - None, # 2079 - None, # 2080 - None, # 2081 - None, # 2082 - None, # 2083 - None, # 2084 - None, # 2085 - None, # 2086 - None, # 2087 - None, # 2088 - None, # 2089 - None, # 2090 - None, # 2091 - None, # 2092 - None, # 2093 - None, # 2094 - None, # 2095 - None, # 2096 - None, # 2097 - None, # 2098 - None, # 2099 - None, # 2100 - None, # 2101 - None, # 2102 - None, # 2103 - None, # 2104 - None, # 2105 - None, # 2106 - None, # 2107 - None, # 2108 - None, # 2109 - None, # 2110 - None, # 2111 - None, # 2112 - None, # 2113 - None, # 2114 - None, # 2115 - None, # 2116 - None, # 2117 - None, # 2118 - None, # 2119 - None, # 2120 - None, # 2121 - None, # 2122 - None, # 2123 - None, # 2124 - None, # 2125 - None, # 2126 - None, # 2127 - None, # 2128 - None, # 2129 - None, # 2130 - None, # 2131 - None, # 2132 - None, # 2133 - None, # 2134 - None, # 2135 - None, # 2136 - None, # 2137 - None, # 2138 - None, # 2139 - None, # 2140 - None, # 2141 - None, # 2142 - None, # 2143 - None, # 2144 - None, # 2145 - None, # 2146 - None, # 2147 - None, # 2148 - None, # 2149 - None, # 2150 - None, # 2151 - None, # 2152 - None, # 2153 - None, # 2154 - None, # 2155 - None, # 2156 - None, # 2157 - None, # 2158 - None, # 2159 - None, # 2160 - None, # 2161 - None, # 2162 - None, # 2163 - None, # 2164 - None, # 2165 - None, # 2166 - None, # 2167 - None, # 2168 - None, # 2169 - None, # 2170 - None, # 2171 - None, # 2172 - None, # 2173 - None, # 2174 - None, # 2175 - None, # 2176 - None, # 2177 - None, # 2178 - None, # 2179 - None, # 2180 - None, # 2181 - None, # 2182 - None, # 2183 - None, # 2184 - None, # 2185 - None, # 2186 - None, # 2187 - None, # 2188 - None, # 2189 - None, # 2190 - None, # 2191 - None, # 2192 - None, # 2193 - None, # 2194 - None, # 2195 - None, # 2196 - None, # 2197 - None, # 2198 - None, # 2199 - None, # 2200 - None, # 2201 - None, # 2202 - None, # 2203 - None, # 2204 - None, # 2205 - None, # 2206 - None, # 2207 - None, # 2208 - None, # 2209 - None, # 2210 - None, # 2211 - None, # 2212 - None, # 2213 - None, # 2214 - None, # 2215 - None, # 2216 - None, # 2217 - None, # 2218 - None, # 2219 - None, # 2220 - None, # 2221 - None, # 2222 - None, # 2223 - None, # 2224 - None, # 2225 - None, # 2226 - None, # 2227 - None, # 2228 - None, # 2229 - None, # 2230 - None, # 2231 - None, # 2232 - None, # 2233 - None, # 2234 - None, # 2235 - None, # 2236 - None, # 2237 - None, # 2238 - None, # 2239 - None, # 2240 - None, # 2241 - None, # 2242 - None, # 2243 - None, # 2244 - None, # 2245 - None, # 2246 - None, # 2247 - None, # 2248 - None, # 2249 - None, # 2250 - None, # 2251 - None, # 2252 - None, # 2253 - None, # 2254 - None, # 2255 - None, # 2256 - None, # 2257 - None, # 2258 - None, # 2259 - None, # 2260 - None, # 2261 - None, # 2262 - None, # 2263 - None, # 2264 - None, # 2265 - None, # 2266 - None, # 2267 - None, # 2268 - None, # 2269 - None, # 2270 - None, # 2271 - None, # 2272 - None, # 2273 - None, # 2274 - None, # 2275 - None, # 2276 - None, # 2277 - None, # 2278 - None, # 2279 - None, # 2280 - None, # 2281 - None, # 2282 - None, # 2283 - None, # 2284 - None, # 2285 - None, # 2286 - None, # 2287 - None, # 2288 - None, # 2289 - None, # 2290 - None, # 2291 - None, # 2292 - None, # 2293 - None, # 2294 - None, # 2295 - None, # 2296 - None, # 2297 - None, # 2298 - None, # 2299 - None, # 2300 - None, # 2301 - None, # 2302 - None, # 2303 - None, # 2304 - None, # 2305 - None, # 2306 - None, # 2307 - None, # 2308 - None, # 2309 - None, # 2310 - None, # 2311 - None, # 2312 - None, # 2313 - None, # 2314 - None, # 2315 - None, # 2316 - None, # 2317 - None, # 2318 - None, # 2319 - None, # 2320 - None, # 2321 - None, # 2322 - None, # 2323 - None, # 2324 - None, # 2325 - None, # 2326 - None, # 2327 - None, # 2328 - None, # 2329 - None, # 2330 - None, # 2331 - None, # 2332 - None, # 2333 - None, # 2334 - None, # 2335 - None, # 2336 - None, # 2337 - None, # 2338 - None, # 2339 - None, # 2340 - None, # 2341 - None, # 2342 - None, # 2343 - None, # 2344 - None, # 2345 - None, # 2346 - None, # 2347 - None, # 2348 - None, # 2349 - None, # 2350 - None, # 2351 - None, # 2352 - None, # 2353 - None, # 2354 - None, # 2355 - None, # 2356 - None, # 2357 - None, # 2358 - None, # 2359 - None, # 2360 - None, # 2361 - None, # 2362 - None, # 2363 - None, # 2364 - None, # 2365 - None, # 2366 - None, # 2367 - None, # 2368 - None, # 2369 - None, # 2370 - None, # 2371 - None, # 2372 - None, # 2373 - None, # 2374 - None, # 2375 - None, # 2376 - None, # 2377 - None, # 2378 - None, # 2379 - None, # 2380 - None, # 2381 - None, # 2382 - None, # 2383 - None, # 2384 - None, # 2385 - None, # 2386 - None, # 2387 - None, # 2388 - None, # 2389 - None, # 2390 - None, # 2391 - None, # 2392 - None, # 2393 - None, # 2394 - None, # 2395 - None, # 2396 - None, # 2397 - None, # 2398 - None, # 2399 - None, # 2400 - None, # 2401 - None, # 2402 - None, # 2403 - None, # 2404 - None, # 2405 - None, # 2406 - None, # 2407 - None, # 2408 - None, # 2409 - None, # 2410 - None, # 2411 - None, # 2412 - None, # 2413 - None, # 2414 - None, # 2415 - None, # 2416 - None, # 2417 - None, # 2418 - None, # 2419 - None, # 2420 - None, # 2421 - None, # 2422 - None, # 2423 - None, # 2424 - None, # 2425 - None, # 2426 - None, # 2427 - None, # 2428 - None, # 2429 - None, # 2430 - None, # 2431 - None, # 2432 - None, # 2433 - None, # 2434 - None, # 2435 - None, # 2436 - None, # 2437 - None, # 2438 - None, # 2439 - None, # 2440 - None, # 2441 - None, # 2442 - None, # 2443 - None, # 2444 - None, # 2445 - None, # 2446 - None, # 2447 - None, # 2448 - None, # 2449 - None, # 2450 - None, # 2451 - None, # 2452 - None, # 2453 - None, # 2454 - None, # 2455 - None, # 2456 - None, # 2457 - None, # 2458 - None, # 2459 - None, # 2460 - None, # 2461 - None, # 2462 - None, # 2463 - None, # 2464 - None, # 2465 - None, # 2466 - None, # 2467 - None, # 2468 - None, # 2469 - None, # 2470 - None, # 2471 - None, # 2472 - None, # 2473 - None, # 2474 - None, # 2475 - None, # 2476 - None, # 2477 - None, # 2478 - None, # 2479 - None, # 2480 - None, # 2481 - None, # 2482 - None, # 2483 - None, # 2484 - None, # 2485 - None, # 2486 - None, # 2487 - None, # 2488 - None, # 2489 - None, # 2490 - None, # 2491 - None, # 2492 - None, # 2493 - None, # 2494 - None, # 2495 - None, # 2496 - None, # 2497 - None, # 2498 - None, # 2499 - None, # 2500 - None, # 2501 - None, # 2502 - None, # 2503 - None, # 2504 - None, # 2505 - None, # 2506 - None, # 2507 - None, # 2508 - None, # 2509 - None, # 2510 - None, # 2511 - None, # 2512 - None, # 2513 - None, # 2514 - None, # 2515 - None, # 2516 - None, # 2517 - None, # 2518 - None, # 2519 - None, # 2520 - None, # 2521 - None, # 2522 - None, # 2523 - None, # 2524 - None, # 2525 - None, # 2526 - None, # 2527 - None, # 2528 - None, # 2529 - None, # 2530 - None, # 2531 - None, # 2532 - None, # 2533 - None, # 2534 - None, # 2535 - None, # 2536 - None, # 2537 - None, # 2538 - None, # 2539 - None, # 2540 - None, # 2541 - None, # 2542 - None, # 2543 - None, # 2544 - None, # 2545 - None, # 2546 - None, # 2547 - None, # 2548 - None, # 2549 - None, # 2550 - None, # 2551 - None, # 2552 - None, # 2553 - None, # 2554 - None, # 2555 - None, # 2556 - None, # 2557 - None, # 2558 - None, # 2559 - None, # 2560 - None, # 2561 - None, # 2562 - None, # 2563 - None, # 2564 - None, # 2565 - None, # 2566 - None, # 2567 - None, # 2568 - None, # 2569 - None, # 2570 - None, # 2571 - None, # 2572 - None, # 2573 - None, # 2574 - None, # 2575 - None, # 2576 - None, # 2577 - None, # 2578 - None, # 2579 - None, # 2580 - None, # 2581 - None, # 2582 - None, # 2583 - None, # 2584 - None, # 2585 - None, # 2586 - None, # 2587 - None, # 2588 - None, # 2589 - None, # 2590 - None, # 2591 - None, # 2592 - None, # 2593 - None, # 2594 - None, # 2595 - None, # 2596 - None, # 2597 - None, # 2598 - None, # 2599 - None, # 2600 - None, # 2601 - None, # 2602 - None, # 2603 - None, # 2604 - None, # 2605 - None, # 2606 - None, # 2607 - None, # 2608 - None, # 2609 - None, # 2610 - None, # 2611 - None, # 2612 - None, # 2613 - None, # 2614 - None, # 2615 - None, # 2616 - None, # 2617 - None, # 2618 - None, # 2619 - None, # 2620 - None, # 2621 - None, # 2622 - None, # 2623 - None, # 2624 - None, # 2625 - None, # 2626 - None, # 2627 - None, # 2628 - None, # 2629 - None, # 2630 - None, # 2631 - None, # 2632 - None, # 2633 - None, # 2634 - None, # 2635 - None, # 2636 - None, # 2637 - None, # 2638 - None, # 2639 - None, # 2640 - None, # 2641 - None, # 2642 - None, # 2643 - None, # 2644 - None, # 2645 - None, # 2646 - None, # 2647 - None, # 2648 - None, # 2649 - None, # 2650 - None, # 2651 - None, # 2652 - None, # 2653 - None, # 2654 - None, # 2655 - None, # 2656 - None, # 2657 - None, # 2658 - None, # 2659 - None, # 2660 - None, # 2661 - None, # 2662 - None, # 2663 - None, # 2664 - None, # 2665 - None, # 2666 - None, # 2667 - None, # 2668 - None, # 2669 - None, # 2670 - None, # 2671 - None, # 2672 - None, # 2673 - None, # 2674 - None, # 2675 - None, # 2676 - None, # 2677 - None, # 2678 - None, # 2679 - None, # 2680 - None, # 2681 - None, # 2682 - None, # 2683 - None, # 2684 - None, # 2685 - None, # 2686 - None, # 2687 - None, # 2688 - None, # 2689 - None, # 2690 - None, # 2691 - None, # 2692 - None, # 2693 - None, # 2694 - None, # 2695 - None, # 2696 - None, # 2697 - None, # 2698 - None, # 2699 - None, # 2700 - None, # 2701 - None, # 2702 - None, # 2703 - None, # 2704 - None, # 2705 - None, # 2706 - None, # 2707 - None, # 2708 - None, # 2709 - None, # 2710 - None, # 2711 - None, # 2712 - None, # 2713 - None, # 2714 - None, # 2715 - None, # 2716 - None, # 2717 - None, # 2718 - None, # 2719 - None, # 2720 - None, # 2721 - None, # 2722 - None, # 2723 - None, # 2724 - None, # 2725 - None, # 2726 - None, # 2727 - None, # 2728 - None, # 2729 - None, # 2730 - None, # 2731 - None, # 2732 - None, # 2733 - None, # 2734 - None, # 2735 - None, # 2736 - None, # 2737 - None, # 2738 - None, # 2739 - None, # 2740 - None, # 2741 - None, # 2742 - None, # 2743 - None, # 2744 - None, # 2745 - None, # 2746 - None, # 2747 - None, # 2748 - None, # 2749 - None, # 2750 - None, # 2751 - None, # 2752 - None, # 2753 - None, # 2754 - None, # 2755 - None, # 2756 - None, # 2757 - None, # 2758 - None, # 2759 - None, # 2760 - None, # 2761 - None, # 2762 - None, # 2763 - None, # 2764 - None, # 2765 - None, # 2766 - None, # 2767 - None, # 2768 - None, # 2769 - None, # 2770 - None, # 2771 - None, # 2772 - None, # 2773 - None, # 2774 - None, # 2775 - None, # 2776 - None, # 2777 - None, # 2778 - None, # 2779 - None, # 2780 - None, # 2781 - None, # 2782 - None, # 2783 - None, # 2784 - None, # 2785 - None, # 2786 - None, # 2787 - None, # 2788 - None, # 2789 - None, # 2790 - None, # 2791 - None, # 2792 - None, # 2793 - None, # 2794 - None, # 2795 - None, # 2796 - None, # 2797 - None, # 2798 - None, # 2799 - None, # 2800 - None, # 2801 - None, # 2802 - None, # 2803 - None, # 2804 - None, # 2805 - None, # 2806 - None, # 2807 - None, # 2808 - None, # 2809 - None, # 2810 - None, # 2811 - None, # 2812 - None, # 2813 - None, # 2814 - None, # 2815 - None, # 2816 - None, # 2817 - None, # 2818 - None, # 2819 - None, # 2820 - None, # 2821 - None, # 2822 - None, # 2823 - None, # 2824 - None, # 2825 - None, # 2826 - None, # 2827 - None, # 2828 - None, # 2829 - None, # 2830 - None, # 2831 - None, # 2832 - None, # 2833 - None, # 2834 - None, # 2835 - None, # 2836 - None, # 2837 - None, # 2838 - None, # 2839 - None, # 2840 - None, # 2841 - None, # 2842 - None, # 2843 - None, # 2844 - None, # 2845 - None, # 2846 - None, # 2847 - None, # 2848 - None, # 2849 - None, # 2850 - None, # 2851 - None, # 2852 - None, # 2853 - None, # 2854 - None, # 2855 - None, # 2856 - None, # 2857 - None, # 2858 - None, # 2859 - None, # 2860 - None, # 2861 - None, # 2862 - None, # 2863 - None, # 2864 - None, # 2865 - None, # 2866 - None, # 2867 - None, # 2868 - None, # 2869 - None, # 2870 - None, # 2871 - None, # 2872 - None, # 2873 - None, # 2874 - None, # 2875 - None, # 2876 - None, # 2877 - None, # 2878 - None, # 2879 - None, # 2880 - None, # 2881 - None, # 2882 - None, # 2883 - None, # 2884 - None, # 2885 - None, # 2886 - None, # 2887 - None, # 2888 - None, # 2889 - None, # 2890 - None, # 2891 - None, # 2892 - None, # 2893 - None, # 2894 - None, # 2895 - None, # 2896 - None, # 2897 - None, # 2898 - None, # 2899 - None, # 2900 - None, # 2901 - None, # 2902 - None, # 2903 - None, # 2904 - None, # 2905 - None, # 2906 - None, # 2907 - None, # 2908 - None, # 2909 - None, # 2910 - None, # 2911 - None, # 2912 - None, # 2913 - None, # 2914 - None, # 2915 - None, # 2916 - None, # 2917 - None, # 2918 - None, # 2919 - None, # 2920 - None, # 2921 - None, # 2922 - None, # 2923 - None, # 2924 - None, # 2925 - None, # 2926 - None, # 2927 - None, # 2928 - None, # 2929 - None, # 2930 - None, # 2931 - None, # 2932 - None, # 2933 - None, # 2934 - None, # 2935 - None, # 2936 - None, # 2937 - None, # 2938 - None, # 2939 - None, # 2940 - None, # 2941 - None, # 2942 - None, # 2943 - None, # 2944 - None, # 2945 - None, # 2946 - None, # 2947 - None, # 2948 - None, # 2949 - None, # 2950 - None, # 2951 - None, # 2952 - None, # 2953 - None, # 2954 - None, # 2955 - None, # 2956 - None, # 2957 - None, # 2958 - None, # 2959 - None, # 2960 - None, # 2961 - None, # 2962 - None, # 2963 - None, # 2964 - None, # 2965 - None, # 2966 - None, # 2967 - None, # 2968 - None, # 2969 - None, # 2970 - None, # 2971 - None, # 2972 - None, # 2973 - None, # 2974 - None, # 2975 - None, # 2976 - None, # 2977 - None, # 2978 - None, # 2979 - None, # 2980 - None, # 2981 - None, # 2982 - None, # 2983 - None, # 2984 - None, # 2985 - None, # 2986 - None, # 2987 - None, # 2988 - None, # 2989 - None, # 2990 - None, # 2991 - None, # 2992 - None, # 2993 - None, # 2994 - None, # 2995 - None, # 2996 - None, # 2997 - None, # 2998 - None, # 2999 - None, # 3000 - None, # 3001 - None, # 3002 - None, # 3003 - None, # 3004 - None, # 3005 - None, # 3006 - None, # 3007 - None, # 3008 - None, # 3009 - None, # 3010 - None, # 3011 - None, # 3012 - None, # 3013 - None, # 3014 - None, # 3015 - None, # 3016 - None, # 3017 - None, # 3018 - None, # 3019 - None, # 3020 - None, # 3021 - None, # 3022 - None, # 3023 - None, # 3024 - None, # 3025 - None, # 3026 - None, # 3027 - None, # 3028 - None, # 3029 - None, # 3030 - None, # 3031 - None, # 3032 - None, # 3033 - None, # 3034 - None, # 3035 - None, # 3036 - None, # 3037 - None, # 3038 - None, # 3039 - None, # 3040 - None, # 3041 - None, # 3042 - None, # 3043 - None, # 3044 - None, # 3045 - None, # 3046 - None, # 3047 - None, # 3048 - None, # 3049 - None, # 3050 - None, # 3051 - None, # 3052 - None, # 3053 - None, # 3054 - None, # 3055 - None, # 3056 - None, # 3057 - None, # 3058 - None, # 3059 - None, # 3060 - None, # 3061 - None, # 3062 - None, # 3063 - None, # 3064 - None, # 3065 - None, # 3066 - None, # 3067 - None, # 3068 - None, # 3069 - None, # 3070 - None, # 3071 - None, # 3072 - None, # 3073 - None, # 3074 - None, # 3075 - None, # 3076 - None, # 3077 - None, # 3078 - None, # 3079 - None, # 3080 - None, # 3081 - None, # 3082 - None, # 3083 - None, # 3084 - None, # 3085 - None, # 3086 - None, # 3087 - None, # 3088 - None, # 3089 - None, # 3090 - None, # 3091 - None, # 3092 - None, # 3093 - None, # 3094 - None, # 3095 - None, # 3096 - None, # 3097 - None, # 3098 - None, # 3099 - None, # 3100 - None, # 3101 - None, # 3102 - None, # 3103 - None, # 3104 - None, # 3105 - None, # 3106 - None, # 3107 - None, # 3108 - None, # 3109 - None, # 3110 - None, # 3111 - None, # 3112 - None, # 3113 - None, # 3114 - None, # 3115 - None, # 3116 - None, # 3117 - None, # 3118 - None, # 3119 - None, # 3120 - None, # 3121 - None, # 3122 - None, # 3123 - None, # 3124 - None, # 3125 - None, # 3126 - None, # 3127 - None, # 3128 - None, # 3129 - None, # 3130 - None, # 3131 - None, # 3132 - None, # 3133 - None, # 3134 - None, # 3135 - None, # 3136 - None, # 3137 - None, # 3138 - None, # 3139 - None, # 3140 - None, # 3141 - None, # 3142 - None, # 3143 - None, # 3144 - None, # 3145 - None, # 3146 - None, # 3147 - None, # 3148 - None, # 3149 - None, # 3150 - None, # 3151 - None, # 3152 - None, # 3153 - None, # 3154 - None, # 3155 - None, # 3156 - None, # 3157 - None, # 3158 - None, # 3159 - None, # 3160 - None, # 3161 - None, # 3162 - None, # 3163 - None, # 3164 - None, # 3165 - None, # 3166 - None, # 3167 - None, # 3168 - None, # 3169 - None, # 3170 - None, # 3171 - None, # 3172 - None, # 3173 - None, # 3174 - None, # 3175 - None, # 3176 - None, # 3177 - None, # 3178 - None, # 3179 - None, # 3180 - None, # 3181 - None, # 3182 - None, # 3183 - None, # 3184 - None, # 3185 - None, # 3186 - None, # 3187 - None, # 3188 - None, # 3189 - None, # 3190 - None, # 3191 - None, # 3192 - None, # 3193 - None, # 3194 - None, # 3195 - None, # 3196 - None, # 3197 - None, # 3198 - None, # 3199 - None, # 3200 - None, # 3201 - None, # 3202 - None, # 3203 - None, # 3204 - None, # 3205 - None, # 3206 - None, # 3207 - None, # 3208 - None, # 3209 - None, # 3210 - None, # 3211 - None, # 3212 - None, # 3213 - None, # 3214 - None, # 3215 - None, # 3216 - None, # 3217 - None, # 3218 - None, # 3219 - None, # 3220 - None, # 3221 - None, # 3222 - None, # 3223 - None, # 3224 - None, # 3225 - None, # 3226 - None, # 3227 - None, # 3228 - None, # 3229 - None, # 3230 - None, # 3231 - None, # 3232 - None, # 3233 - None, # 3234 - None, # 3235 - None, # 3236 - None, # 3237 - None, # 3238 - None, # 3239 - None, # 3240 - None, # 3241 - None, # 3242 - None, # 3243 - None, # 3244 - None, # 3245 - None, # 3246 - None, # 3247 - None, # 3248 - None, # 3249 - None, # 3250 - None, # 3251 - None, # 3252 - None, # 3253 - None, # 3254 - None, # 3255 - None, # 3256 - None, # 3257 - None, # 3258 - None, # 3259 - None, # 3260 - None, # 3261 - None, # 3262 - None, # 3263 - None, # 3264 - None, # 3265 - None, # 3266 - None, # 3267 - None, # 3268 - None, # 3269 - None, # 3270 - None, # 3271 - None, # 3272 - None, # 3273 - None, # 3274 - None, # 3275 - None, # 3276 - None, # 3277 - None, # 3278 - None, # 3279 - None, # 3280 - None, # 3281 - None, # 3282 - None, # 3283 - None, # 3284 - None, # 3285 - None, # 3286 - None, # 3287 - None, # 3288 - None, # 3289 - None, # 3290 - None, # 3291 - None, # 3292 - None, # 3293 - None, # 3294 - None, # 3295 - None, # 3296 - None, # 3297 - None, # 3298 - None, # 3299 - None, # 3300 - None, # 3301 - None, # 3302 - None, # 3303 - None, # 3304 - None, # 3305 - None, # 3306 - None, # 3307 - None, # 3308 - None, # 3309 - None, # 3310 - None, # 3311 - None, # 3312 - None, # 3313 - None, # 3314 - None, # 3315 - None, # 3316 - None, # 3317 - None, # 3318 - None, # 3319 - None, # 3320 - None, # 3321 - None, # 3322 - None, # 3323 - None, # 3324 - None, # 3325 - None, # 3326 - None, # 3327 - None, # 3328 - ( - 3329, - TType.STRING, - "responseValidation", - "BINARY", - None, - ), # 3329 - ( - 3330, - TType.I32, - "idempotencyType", - None, - None, - ), # 3330 - ( - 3331, - TType.I64, - "statementTimeout", - None, - None, - ), # 3331 - ( - 3332, - TType.I32, - "statementTimeoutLevel", - None, - None, - ), # 3332 + None, # 0 + (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 + (2, TType.I32, 'operationState', None, None, ), # 2 + (3, TType.STRING, 'sqlState', 'UTF8', None, ), # 3 + (4, TType.I32, 'errorCode', None, None, ), # 4 + (5, TType.STRING, 'errorMessage', 'UTF8', None, ), # 5 + (6, TType.STRING, 'taskStatus', 'UTF8', None, ), # 6 + (7, TType.I64, 'operationStarted', None, None, ), # 7 + (8, TType.I64, 'operationCompleted', None, None, ), # 8 + (9, TType.BOOL, 'hasResultSet', None, None, ), # 9 + (10, TType.STRUCT, 'progressUpdateResponse', [TProgressUpdateResp, None], None, ), # 10 + (11, TType.I64, 'numModifiedRows', None, None, ), # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + (1281, TType.STRING, 'displayMessage', 'UTF8', None, ), # 1281 + (1282, TType.STRING, 'diagnosticInfo', 'UTF8', None, ), # 1282 + (1283, TType.STRING, 'errorDetailsJson', 'UTF8', None, ), # 1283 + None, # 1284 + None, # 1285 + None, # 1286 + None, # 1287 + None, # 1288 + None, # 1289 + None, # 1290 + None, # 1291 + None, # 1292 + None, # 1293 + None, # 1294 + None, # 1295 + None, # 1296 + None, # 1297 + None, # 1298 + None, # 1299 + None, # 1300 + None, # 1301 + None, # 1302 + None, # 1303 + None, # 1304 + None, # 1305 + None, # 1306 + None, # 1307 + None, # 1308 + None, # 1309 + None, # 1310 + None, # 1311 + None, # 1312 + None, # 1313 + None, # 1314 + None, # 1315 + None, # 1316 + None, # 1317 + None, # 1318 + None, # 1319 + None, # 1320 + None, # 1321 + None, # 1322 + None, # 1323 + None, # 1324 + None, # 1325 + None, # 1326 + None, # 1327 + None, # 1328 + None, # 1329 + None, # 1330 + None, # 1331 + None, # 1332 + None, # 1333 + None, # 1334 + None, # 1335 + None, # 1336 + None, # 1337 + None, # 1338 + None, # 1339 + None, # 1340 + None, # 1341 + None, # 1342 + None, # 1343 + None, # 1344 + None, # 1345 + None, # 1346 + None, # 1347 + None, # 1348 + None, # 1349 + None, # 1350 + None, # 1351 + None, # 1352 + None, # 1353 + None, # 1354 + None, # 1355 + None, # 1356 + None, # 1357 + None, # 1358 + None, # 1359 + None, # 1360 + None, # 1361 + None, # 1362 + None, # 1363 + None, # 1364 + None, # 1365 + None, # 1366 + None, # 1367 + None, # 1368 + None, # 1369 + None, # 1370 + None, # 1371 + None, # 1372 + None, # 1373 + None, # 1374 + None, # 1375 + None, # 1376 + None, # 1377 + None, # 1378 + None, # 1379 + None, # 1380 + None, # 1381 + None, # 1382 + None, # 1383 + None, # 1384 + None, # 1385 + None, # 1386 + None, # 1387 + None, # 1388 + None, # 1389 + None, # 1390 + None, # 1391 + None, # 1392 + None, # 1393 + None, # 1394 + None, # 1395 + None, # 1396 + None, # 1397 + None, # 1398 + None, # 1399 + None, # 1400 + None, # 1401 + None, # 1402 + None, # 1403 + None, # 1404 + None, # 1405 + None, # 1406 + None, # 1407 + None, # 1408 + None, # 1409 + None, # 1410 + None, # 1411 + None, # 1412 + None, # 1413 + None, # 1414 + None, # 1415 + None, # 1416 + None, # 1417 + None, # 1418 + None, # 1419 + None, # 1420 + None, # 1421 + None, # 1422 + None, # 1423 + None, # 1424 + None, # 1425 + None, # 1426 + None, # 1427 + None, # 1428 + None, # 1429 + None, # 1430 + None, # 1431 + None, # 1432 + None, # 1433 + None, # 1434 + None, # 1435 + None, # 1436 + None, # 1437 + None, # 1438 + None, # 1439 + None, # 1440 + None, # 1441 + None, # 1442 + None, # 1443 + None, # 1444 + None, # 1445 + None, # 1446 + None, # 1447 + None, # 1448 + None, # 1449 + None, # 1450 + None, # 1451 + None, # 1452 + None, # 1453 + None, # 1454 + None, # 1455 + None, # 1456 + None, # 1457 + None, # 1458 + None, # 1459 + None, # 1460 + None, # 1461 + None, # 1462 + None, # 1463 + None, # 1464 + None, # 1465 + None, # 1466 + None, # 1467 + None, # 1468 + None, # 1469 + None, # 1470 + None, # 1471 + None, # 1472 + None, # 1473 + None, # 1474 + None, # 1475 + None, # 1476 + None, # 1477 + None, # 1478 + None, # 1479 + None, # 1480 + None, # 1481 + None, # 1482 + None, # 1483 + None, # 1484 + None, # 1485 + None, # 1486 + None, # 1487 + None, # 1488 + None, # 1489 + None, # 1490 + None, # 1491 + None, # 1492 + None, # 1493 + None, # 1494 + None, # 1495 + None, # 1496 + None, # 1497 + None, # 1498 + None, # 1499 + None, # 1500 + None, # 1501 + None, # 1502 + None, # 1503 + None, # 1504 + None, # 1505 + None, # 1506 + None, # 1507 + None, # 1508 + None, # 1509 + None, # 1510 + None, # 1511 + None, # 1512 + None, # 1513 + None, # 1514 + None, # 1515 + None, # 1516 + None, # 1517 + None, # 1518 + None, # 1519 + None, # 1520 + None, # 1521 + None, # 1522 + None, # 1523 + None, # 1524 + None, # 1525 + None, # 1526 + None, # 1527 + None, # 1528 + None, # 1529 + None, # 1530 + None, # 1531 + None, # 1532 + None, # 1533 + None, # 1534 + None, # 1535 + None, # 1536 + None, # 1537 + None, # 1538 + None, # 1539 + None, # 1540 + None, # 1541 + None, # 1542 + None, # 1543 + None, # 1544 + None, # 1545 + None, # 1546 + None, # 1547 + None, # 1548 + None, # 1549 + None, # 1550 + None, # 1551 + None, # 1552 + None, # 1553 + None, # 1554 + None, # 1555 + None, # 1556 + None, # 1557 + None, # 1558 + None, # 1559 + None, # 1560 + None, # 1561 + None, # 1562 + None, # 1563 + None, # 1564 + None, # 1565 + None, # 1566 + None, # 1567 + None, # 1568 + None, # 1569 + None, # 1570 + None, # 1571 + None, # 1572 + None, # 1573 + None, # 1574 + None, # 1575 + None, # 1576 + None, # 1577 + None, # 1578 + None, # 1579 + None, # 1580 + None, # 1581 + None, # 1582 + None, # 1583 + None, # 1584 + None, # 1585 + None, # 1586 + None, # 1587 + None, # 1588 + None, # 1589 + None, # 1590 + None, # 1591 + None, # 1592 + None, # 1593 + None, # 1594 + None, # 1595 + None, # 1596 + None, # 1597 + None, # 1598 + None, # 1599 + None, # 1600 + None, # 1601 + None, # 1602 + None, # 1603 + None, # 1604 + None, # 1605 + None, # 1606 + None, # 1607 + None, # 1608 + None, # 1609 + None, # 1610 + None, # 1611 + None, # 1612 + None, # 1613 + None, # 1614 + None, # 1615 + None, # 1616 + None, # 1617 + None, # 1618 + None, # 1619 + None, # 1620 + None, # 1621 + None, # 1622 + None, # 1623 + None, # 1624 + None, # 1625 + None, # 1626 + None, # 1627 + None, # 1628 + None, # 1629 + None, # 1630 + None, # 1631 + None, # 1632 + None, # 1633 + None, # 1634 + None, # 1635 + None, # 1636 + None, # 1637 + None, # 1638 + None, # 1639 + None, # 1640 + None, # 1641 + None, # 1642 + None, # 1643 + None, # 1644 + None, # 1645 + None, # 1646 + None, # 1647 + None, # 1648 + None, # 1649 + None, # 1650 + None, # 1651 + None, # 1652 + None, # 1653 + None, # 1654 + None, # 1655 + None, # 1656 + None, # 1657 + None, # 1658 + None, # 1659 + None, # 1660 + None, # 1661 + None, # 1662 + None, # 1663 + None, # 1664 + None, # 1665 + None, # 1666 + None, # 1667 + None, # 1668 + None, # 1669 + None, # 1670 + None, # 1671 + None, # 1672 + None, # 1673 + None, # 1674 + None, # 1675 + None, # 1676 + None, # 1677 + None, # 1678 + None, # 1679 + None, # 1680 + None, # 1681 + None, # 1682 + None, # 1683 + None, # 1684 + None, # 1685 + None, # 1686 + None, # 1687 + None, # 1688 + None, # 1689 + None, # 1690 + None, # 1691 + None, # 1692 + None, # 1693 + None, # 1694 + None, # 1695 + None, # 1696 + None, # 1697 + None, # 1698 + None, # 1699 + None, # 1700 + None, # 1701 + None, # 1702 + None, # 1703 + None, # 1704 + None, # 1705 + None, # 1706 + None, # 1707 + None, # 1708 + None, # 1709 + None, # 1710 + None, # 1711 + None, # 1712 + None, # 1713 + None, # 1714 + None, # 1715 + None, # 1716 + None, # 1717 + None, # 1718 + None, # 1719 + None, # 1720 + None, # 1721 + None, # 1722 + None, # 1723 + None, # 1724 + None, # 1725 + None, # 1726 + None, # 1727 + None, # 1728 + None, # 1729 + None, # 1730 + None, # 1731 + None, # 1732 + None, # 1733 + None, # 1734 + None, # 1735 + None, # 1736 + None, # 1737 + None, # 1738 + None, # 1739 + None, # 1740 + None, # 1741 + None, # 1742 + None, # 1743 + None, # 1744 + None, # 1745 + None, # 1746 + None, # 1747 + None, # 1748 + None, # 1749 + None, # 1750 + None, # 1751 + None, # 1752 + None, # 1753 + None, # 1754 + None, # 1755 + None, # 1756 + None, # 1757 + None, # 1758 + None, # 1759 + None, # 1760 + None, # 1761 + None, # 1762 + None, # 1763 + None, # 1764 + None, # 1765 + None, # 1766 + None, # 1767 + None, # 1768 + None, # 1769 + None, # 1770 + None, # 1771 + None, # 1772 + None, # 1773 + None, # 1774 + None, # 1775 + None, # 1776 + None, # 1777 + None, # 1778 + None, # 1779 + None, # 1780 + None, # 1781 + None, # 1782 + None, # 1783 + None, # 1784 + None, # 1785 + None, # 1786 + None, # 1787 + None, # 1788 + None, # 1789 + None, # 1790 + None, # 1791 + None, # 1792 + None, # 1793 + None, # 1794 + None, # 1795 + None, # 1796 + None, # 1797 + None, # 1798 + None, # 1799 + None, # 1800 + None, # 1801 + None, # 1802 + None, # 1803 + None, # 1804 + None, # 1805 + None, # 1806 + None, # 1807 + None, # 1808 + None, # 1809 + None, # 1810 + None, # 1811 + None, # 1812 + None, # 1813 + None, # 1814 + None, # 1815 + None, # 1816 + None, # 1817 + None, # 1818 + None, # 1819 + None, # 1820 + None, # 1821 + None, # 1822 + None, # 1823 + None, # 1824 + None, # 1825 + None, # 1826 + None, # 1827 + None, # 1828 + None, # 1829 + None, # 1830 + None, # 1831 + None, # 1832 + None, # 1833 + None, # 1834 + None, # 1835 + None, # 1836 + None, # 1837 + None, # 1838 + None, # 1839 + None, # 1840 + None, # 1841 + None, # 1842 + None, # 1843 + None, # 1844 + None, # 1845 + None, # 1846 + None, # 1847 + None, # 1848 + None, # 1849 + None, # 1850 + None, # 1851 + None, # 1852 + None, # 1853 + None, # 1854 + None, # 1855 + None, # 1856 + None, # 1857 + None, # 1858 + None, # 1859 + None, # 1860 + None, # 1861 + None, # 1862 + None, # 1863 + None, # 1864 + None, # 1865 + None, # 1866 + None, # 1867 + None, # 1868 + None, # 1869 + None, # 1870 + None, # 1871 + None, # 1872 + None, # 1873 + None, # 1874 + None, # 1875 + None, # 1876 + None, # 1877 + None, # 1878 + None, # 1879 + None, # 1880 + None, # 1881 + None, # 1882 + None, # 1883 + None, # 1884 + None, # 1885 + None, # 1886 + None, # 1887 + None, # 1888 + None, # 1889 + None, # 1890 + None, # 1891 + None, # 1892 + None, # 1893 + None, # 1894 + None, # 1895 + None, # 1896 + None, # 1897 + None, # 1898 + None, # 1899 + None, # 1900 + None, # 1901 + None, # 1902 + None, # 1903 + None, # 1904 + None, # 1905 + None, # 1906 + None, # 1907 + None, # 1908 + None, # 1909 + None, # 1910 + None, # 1911 + None, # 1912 + None, # 1913 + None, # 1914 + None, # 1915 + None, # 1916 + None, # 1917 + None, # 1918 + None, # 1919 + None, # 1920 + None, # 1921 + None, # 1922 + None, # 1923 + None, # 1924 + None, # 1925 + None, # 1926 + None, # 1927 + None, # 1928 + None, # 1929 + None, # 1930 + None, # 1931 + None, # 1932 + None, # 1933 + None, # 1934 + None, # 1935 + None, # 1936 + None, # 1937 + None, # 1938 + None, # 1939 + None, # 1940 + None, # 1941 + None, # 1942 + None, # 1943 + None, # 1944 + None, # 1945 + None, # 1946 + None, # 1947 + None, # 1948 + None, # 1949 + None, # 1950 + None, # 1951 + None, # 1952 + None, # 1953 + None, # 1954 + None, # 1955 + None, # 1956 + None, # 1957 + None, # 1958 + None, # 1959 + None, # 1960 + None, # 1961 + None, # 1962 + None, # 1963 + None, # 1964 + None, # 1965 + None, # 1966 + None, # 1967 + None, # 1968 + None, # 1969 + None, # 1970 + None, # 1971 + None, # 1972 + None, # 1973 + None, # 1974 + None, # 1975 + None, # 1976 + None, # 1977 + None, # 1978 + None, # 1979 + None, # 1980 + None, # 1981 + None, # 1982 + None, # 1983 + None, # 1984 + None, # 1985 + None, # 1986 + None, # 1987 + None, # 1988 + None, # 1989 + None, # 1990 + None, # 1991 + None, # 1992 + None, # 1993 + None, # 1994 + None, # 1995 + None, # 1996 + None, # 1997 + None, # 1998 + None, # 1999 + None, # 2000 + None, # 2001 + None, # 2002 + None, # 2003 + None, # 2004 + None, # 2005 + None, # 2006 + None, # 2007 + None, # 2008 + None, # 2009 + None, # 2010 + None, # 2011 + None, # 2012 + None, # 2013 + None, # 2014 + None, # 2015 + None, # 2016 + None, # 2017 + None, # 2018 + None, # 2019 + None, # 2020 + None, # 2021 + None, # 2022 + None, # 2023 + None, # 2024 + None, # 2025 + None, # 2026 + None, # 2027 + None, # 2028 + None, # 2029 + None, # 2030 + None, # 2031 + None, # 2032 + None, # 2033 + None, # 2034 + None, # 2035 + None, # 2036 + None, # 2037 + None, # 2038 + None, # 2039 + None, # 2040 + None, # 2041 + None, # 2042 + None, # 2043 + None, # 2044 + None, # 2045 + None, # 2046 + None, # 2047 + None, # 2048 + None, # 2049 + None, # 2050 + None, # 2051 + None, # 2052 + None, # 2053 + None, # 2054 + None, # 2055 + None, # 2056 + None, # 2057 + None, # 2058 + None, # 2059 + None, # 2060 + None, # 2061 + None, # 2062 + None, # 2063 + None, # 2064 + None, # 2065 + None, # 2066 + None, # 2067 + None, # 2068 + None, # 2069 + None, # 2070 + None, # 2071 + None, # 2072 + None, # 2073 + None, # 2074 + None, # 2075 + None, # 2076 + None, # 2077 + None, # 2078 + None, # 2079 + None, # 2080 + None, # 2081 + None, # 2082 + None, # 2083 + None, # 2084 + None, # 2085 + None, # 2086 + None, # 2087 + None, # 2088 + None, # 2089 + None, # 2090 + None, # 2091 + None, # 2092 + None, # 2093 + None, # 2094 + None, # 2095 + None, # 2096 + None, # 2097 + None, # 2098 + None, # 2099 + None, # 2100 + None, # 2101 + None, # 2102 + None, # 2103 + None, # 2104 + None, # 2105 + None, # 2106 + None, # 2107 + None, # 2108 + None, # 2109 + None, # 2110 + None, # 2111 + None, # 2112 + None, # 2113 + None, # 2114 + None, # 2115 + None, # 2116 + None, # 2117 + None, # 2118 + None, # 2119 + None, # 2120 + None, # 2121 + None, # 2122 + None, # 2123 + None, # 2124 + None, # 2125 + None, # 2126 + None, # 2127 + None, # 2128 + None, # 2129 + None, # 2130 + None, # 2131 + None, # 2132 + None, # 2133 + None, # 2134 + None, # 2135 + None, # 2136 + None, # 2137 + None, # 2138 + None, # 2139 + None, # 2140 + None, # 2141 + None, # 2142 + None, # 2143 + None, # 2144 + None, # 2145 + None, # 2146 + None, # 2147 + None, # 2148 + None, # 2149 + None, # 2150 + None, # 2151 + None, # 2152 + None, # 2153 + None, # 2154 + None, # 2155 + None, # 2156 + None, # 2157 + None, # 2158 + None, # 2159 + None, # 2160 + None, # 2161 + None, # 2162 + None, # 2163 + None, # 2164 + None, # 2165 + None, # 2166 + None, # 2167 + None, # 2168 + None, # 2169 + None, # 2170 + None, # 2171 + None, # 2172 + None, # 2173 + None, # 2174 + None, # 2175 + None, # 2176 + None, # 2177 + None, # 2178 + None, # 2179 + None, # 2180 + None, # 2181 + None, # 2182 + None, # 2183 + None, # 2184 + None, # 2185 + None, # 2186 + None, # 2187 + None, # 2188 + None, # 2189 + None, # 2190 + None, # 2191 + None, # 2192 + None, # 2193 + None, # 2194 + None, # 2195 + None, # 2196 + None, # 2197 + None, # 2198 + None, # 2199 + None, # 2200 + None, # 2201 + None, # 2202 + None, # 2203 + None, # 2204 + None, # 2205 + None, # 2206 + None, # 2207 + None, # 2208 + None, # 2209 + None, # 2210 + None, # 2211 + None, # 2212 + None, # 2213 + None, # 2214 + None, # 2215 + None, # 2216 + None, # 2217 + None, # 2218 + None, # 2219 + None, # 2220 + None, # 2221 + None, # 2222 + None, # 2223 + None, # 2224 + None, # 2225 + None, # 2226 + None, # 2227 + None, # 2228 + None, # 2229 + None, # 2230 + None, # 2231 + None, # 2232 + None, # 2233 + None, # 2234 + None, # 2235 + None, # 2236 + None, # 2237 + None, # 2238 + None, # 2239 + None, # 2240 + None, # 2241 + None, # 2242 + None, # 2243 + None, # 2244 + None, # 2245 + None, # 2246 + None, # 2247 + None, # 2248 + None, # 2249 + None, # 2250 + None, # 2251 + None, # 2252 + None, # 2253 + None, # 2254 + None, # 2255 + None, # 2256 + None, # 2257 + None, # 2258 + None, # 2259 + None, # 2260 + None, # 2261 + None, # 2262 + None, # 2263 + None, # 2264 + None, # 2265 + None, # 2266 + None, # 2267 + None, # 2268 + None, # 2269 + None, # 2270 + None, # 2271 + None, # 2272 + None, # 2273 + None, # 2274 + None, # 2275 + None, # 2276 + None, # 2277 + None, # 2278 + None, # 2279 + None, # 2280 + None, # 2281 + None, # 2282 + None, # 2283 + None, # 2284 + None, # 2285 + None, # 2286 + None, # 2287 + None, # 2288 + None, # 2289 + None, # 2290 + None, # 2291 + None, # 2292 + None, # 2293 + None, # 2294 + None, # 2295 + None, # 2296 + None, # 2297 + None, # 2298 + None, # 2299 + None, # 2300 + None, # 2301 + None, # 2302 + None, # 2303 + None, # 2304 + None, # 2305 + None, # 2306 + None, # 2307 + None, # 2308 + None, # 2309 + None, # 2310 + None, # 2311 + None, # 2312 + None, # 2313 + None, # 2314 + None, # 2315 + None, # 2316 + None, # 2317 + None, # 2318 + None, # 2319 + None, # 2320 + None, # 2321 + None, # 2322 + None, # 2323 + None, # 2324 + None, # 2325 + None, # 2326 + None, # 2327 + None, # 2328 + None, # 2329 + None, # 2330 + None, # 2331 + None, # 2332 + None, # 2333 + None, # 2334 + None, # 2335 + None, # 2336 + None, # 2337 + None, # 2338 + None, # 2339 + None, # 2340 + None, # 2341 + None, # 2342 + None, # 2343 + None, # 2344 + None, # 2345 + None, # 2346 + None, # 2347 + None, # 2348 + None, # 2349 + None, # 2350 + None, # 2351 + None, # 2352 + None, # 2353 + None, # 2354 + None, # 2355 + None, # 2356 + None, # 2357 + None, # 2358 + None, # 2359 + None, # 2360 + None, # 2361 + None, # 2362 + None, # 2363 + None, # 2364 + None, # 2365 + None, # 2366 + None, # 2367 + None, # 2368 + None, # 2369 + None, # 2370 + None, # 2371 + None, # 2372 + None, # 2373 + None, # 2374 + None, # 2375 + None, # 2376 + None, # 2377 + None, # 2378 + None, # 2379 + None, # 2380 + None, # 2381 + None, # 2382 + None, # 2383 + None, # 2384 + None, # 2385 + None, # 2386 + None, # 2387 + None, # 2388 + None, # 2389 + None, # 2390 + None, # 2391 + None, # 2392 + None, # 2393 + None, # 2394 + None, # 2395 + None, # 2396 + None, # 2397 + None, # 2398 + None, # 2399 + None, # 2400 + None, # 2401 + None, # 2402 + None, # 2403 + None, # 2404 + None, # 2405 + None, # 2406 + None, # 2407 + None, # 2408 + None, # 2409 + None, # 2410 + None, # 2411 + None, # 2412 + None, # 2413 + None, # 2414 + None, # 2415 + None, # 2416 + None, # 2417 + None, # 2418 + None, # 2419 + None, # 2420 + None, # 2421 + None, # 2422 + None, # 2423 + None, # 2424 + None, # 2425 + None, # 2426 + None, # 2427 + None, # 2428 + None, # 2429 + None, # 2430 + None, # 2431 + None, # 2432 + None, # 2433 + None, # 2434 + None, # 2435 + None, # 2436 + None, # 2437 + None, # 2438 + None, # 2439 + None, # 2440 + None, # 2441 + None, # 2442 + None, # 2443 + None, # 2444 + None, # 2445 + None, # 2446 + None, # 2447 + None, # 2448 + None, # 2449 + None, # 2450 + None, # 2451 + None, # 2452 + None, # 2453 + None, # 2454 + None, # 2455 + None, # 2456 + None, # 2457 + None, # 2458 + None, # 2459 + None, # 2460 + None, # 2461 + None, # 2462 + None, # 2463 + None, # 2464 + None, # 2465 + None, # 2466 + None, # 2467 + None, # 2468 + None, # 2469 + None, # 2470 + None, # 2471 + None, # 2472 + None, # 2473 + None, # 2474 + None, # 2475 + None, # 2476 + None, # 2477 + None, # 2478 + None, # 2479 + None, # 2480 + None, # 2481 + None, # 2482 + None, # 2483 + None, # 2484 + None, # 2485 + None, # 2486 + None, # 2487 + None, # 2488 + None, # 2489 + None, # 2490 + None, # 2491 + None, # 2492 + None, # 2493 + None, # 2494 + None, # 2495 + None, # 2496 + None, # 2497 + None, # 2498 + None, # 2499 + None, # 2500 + None, # 2501 + None, # 2502 + None, # 2503 + None, # 2504 + None, # 2505 + None, # 2506 + None, # 2507 + None, # 2508 + None, # 2509 + None, # 2510 + None, # 2511 + None, # 2512 + None, # 2513 + None, # 2514 + None, # 2515 + None, # 2516 + None, # 2517 + None, # 2518 + None, # 2519 + None, # 2520 + None, # 2521 + None, # 2522 + None, # 2523 + None, # 2524 + None, # 2525 + None, # 2526 + None, # 2527 + None, # 2528 + None, # 2529 + None, # 2530 + None, # 2531 + None, # 2532 + None, # 2533 + None, # 2534 + None, # 2535 + None, # 2536 + None, # 2537 + None, # 2538 + None, # 2539 + None, # 2540 + None, # 2541 + None, # 2542 + None, # 2543 + None, # 2544 + None, # 2545 + None, # 2546 + None, # 2547 + None, # 2548 + None, # 2549 + None, # 2550 + None, # 2551 + None, # 2552 + None, # 2553 + None, # 2554 + None, # 2555 + None, # 2556 + None, # 2557 + None, # 2558 + None, # 2559 + None, # 2560 + None, # 2561 + None, # 2562 + None, # 2563 + None, # 2564 + None, # 2565 + None, # 2566 + None, # 2567 + None, # 2568 + None, # 2569 + None, # 2570 + None, # 2571 + None, # 2572 + None, # 2573 + None, # 2574 + None, # 2575 + None, # 2576 + None, # 2577 + None, # 2578 + None, # 2579 + None, # 2580 + None, # 2581 + None, # 2582 + None, # 2583 + None, # 2584 + None, # 2585 + None, # 2586 + None, # 2587 + None, # 2588 + None, # 2589 + None, # 2590 + None, # 2591 + None, # 2592 + None, # 2593 + None, # 2594 + None, # 2595 + None, # 2596 + None, # 2597 + None, # 2598 + None, # 2599 + None, # 2600 + None, # 2601 + None, # 2602 + None, # 2603 + None, # 2604 + None, # 2605 + None, # 2606 + None, # 2607 + None, # 2608 + None, # 2609 + None, # 2610 + None, # 2611 + None, # 2612 + None, # 2613 + None, # 2614 + None, # 2615 + None, # 2616 + None, # 2617 + None, # 2618 + None, # 2619 + None, # 2620 + None, # 2621 + None, # 2622 + None, # 2623 + None, # 2624 + None, # 2625 + None, # 2626 + None, # 2627 + None, # 2628 + None, # 2629 + None, # 2630 + None, # 2631 + None, # 2632 + None, # 2633 + None, # 2634 + None, # 2635 + None, # 2636 + None, # 2637 + None, # 2638 + None, # 2639 + None, # 2640 + None, # 2641 + None, # 2642 + None, # 2643 + None, # 2644 + None, # 2645 + None, # 2646 + None, # 2647 + None, # 2648 + None, # 2649 + None, # 2650 + None, # 2651 + None, # 2652 + None, # 2653 + None, # 2654 + None, # 2655 + None, # 2656 + None, # 2657 + None, # 2658 + None, # 2659 + None, # 2660 + None, # 2661 + None, # 2662 + None, # 2663 + None, # 2664 + None, # 2665 + None, # 2666 + None, # 2667 + None, # 2668 + None, # 2669 + None, # 2670 + None, # 2671 + None, # 2672 + None, # 2673 + None, # 2674 + None, # 2675 + None, # 2676 + None, # 2677 + None, # 2678 + None, # 2679 + None, # 2680 + None, # 2681 + None, # 2682 + None, # 2683 + None, # 2684 + None, # 2685 + None, # 2686 + None, # 2687 + None, # 2688 + None, # 2689 + None, # 2690 + None, # 2691 + None, # 2692 + None, # 2693 + None, # 2694 + None, # 2695 + None, # 2696 + None, # 2697 + None, # 2698 + None, # 2699 + None, # 2700 + None, # 2701 + None, # 2702 + None, # 2703 + None, # 2704 + None, # 2705 + None, # 2706 + None, # 2707 + None, # 2708 + None, # 2709 + None, # 2710 + None, # 2711 + None, # 2712 + None, # 2713 + None, # 2714 + None, # 2715 + None, # 2716 + None, # 2717 + None, # 2718 + None, # 2719 + None, # 2720 + None, # 2721 + None, # 2722 + None, # 2723 + None, # 2724 + None, # 2725 + None, # 2726 + None, # 2727 + None, # 2728 + None, # 2729 + None, # 2730 + None, # 2731 + None, # 2732 + None, # 2733 + None, # 2734 + None, # 2735 + None, # 2736 + None, # 2737 + None, # 2738 + None, # 2739 + None, # 2740 + None, # 2741 + None, # 2742 + None, # 2743 + None, # 2744 + None, # 2745 + None, # 2746 + None, # 2747 + None, # 2748 + None, # 2749 + None, # 2750 + None, # 2751 + None, # 2752 + None, # 2753 + None, # 2754 + None, # 2755 + None, # 2756 + None, # 2757 + None, # 2758 + None, # 2759 + None, # 2760 + None, # 2761 + None, # 2762 + None, # 2763 + None, # 2764 + None, # 2765 + None, # 2766 + None, # 2767 + None, # 2768 + None, # 2769 + None, # 2770 + None, # 2771 + None, # 2772 + None, # 2773 + None, # 2774 + None, # 2775 + None, # 2776 + None, # 2777 + None, # 2778 + None, # 2779 + None, # 2780 + None, # 2781 + None, # 2782 + None, # 2783 + None, # 2784 + None, # 2785 + None, # 2786 + None, # 2787 + None, # 2788 + None, # 2789 + None, # 2790 + None, # 2791 + None, # 2792 + None, # 2793 + None, # 2794 + None, # 2795 + None, # 2796 + None, # 2797 + None, # 2798 + None, # 2799 + None, # 2800 + None, # 2801 + None, # 2802 + None, # 2803 + None, # 2804 + None, # 2805 + None, # 2806 + None, # 2807 + None, # 2808 + None, # 2809 + None, # 2810 + None, # 2811 + None, # 2812 + None, # 2813 + None, # 2814 + None, # 2815 + None, # 2816 + None, # 2817 + None, # 2818 + None, # 2819 + None, # 2820 + None, # 2821 + None, # 2822 + None, # 2823 + None, # 2824 + None, # 2825 + None, # 2826 + None, # 2827 + None, # 2828 + None, # 2829 + None, # 2830 + None, # 2831 + None, # 2832 + None, # 2833 + None, # 2834 + None, # 2835 + None, # 2836 + None, # 2837 + None, # 2838 + None, # 2839 + None, # 2840 + None, # 2841 + None, # 2842 + None, # 2843 + None, # 2844 + None, # 2845 + None, # 2846 + None, # 2847 + None, # 2848 + None, # 2849 + None, # 2850 + None, # 2851 + None, # 2852 + None, # 2853 + None, # 2854 + None, # 2855 + None, # 2856 + None, # 2857 + None, # 2858 + None, # 2859 + None, # 2860 + None, # 2861 + None, # 2862 + None, # 2863 + None, # 2864 + None, # 2865 + None, # 2866 + None, # 2867 + None, # 2868 + None, # 2869 + None, # 2870 + None, # 2871 + None, # 2872 + None, # 2873 + None, # 2874 + None, # 2875 + None, # 2876 + None, # 2877 + None, # 2878 + None, # 2879 + None, # 2880 + None, # 2881 + None, # 2882 + None, # 2883 + None, # 2884 + None, # 2885 + None, # 2886 + None, # 2887 + None, # 2888 + None, # 2889 + None, # 2890 + None, # 2891 + None, # 2892 + None, # 2893 + None, # 2894 + None, # 2895 + None, # 2896 + None, # 2897 + None, # 2898 + None, # 2899 + None, # 2900 + None, # 2901 + None, # 2902 + None, # 2903 + None, # 2904 + None, # 2905 + None, # 2906 + None, # 2907 + None, # 2908 + None, # 2909 + None, # 2910 + None, # 2911 + None, # 2912 + None, # 2913 + None, # 2914 + None, # 2915 + None, # 2916 + None, # 2917 + None, # 2918 + None, # 2919 + None, # 2920 + None, # 2921 + None, # 2922 + None, # 2923 + None, # 2924 + None, # 2925 + None, # 2926 + None, # 2927 + None, # 2928 + None, # 2929 + None, # 2930 + None, # 2931 + None, # 2932 + None, # 2933 + None, # 2934 + None, # 2935 + None, # 2936 + None, # 2937 + None, # 2938 + None, # 2939 + None, # 2940 + None, # 2941 + None, # 2942 + None, # 2943 + None, # 2944 + None, # 2945 + None, # 2946 + None, # 2947 + None, # 2948 + None, # 2949 + None, # 2950 + None, # 2951 + None, # 2952 + None, # 2953 + None, # 2954 + None, # 2955 + None, # 2956 + None, # 2957 + None, # 2958 + None, # 2959 + None, # 2960 + None, # 2961 + None, # 2962 + None, # 2963 + None, # 2964 + None, # 2965 + None, # 2966 + None, # 2967 + None, # 2968 + None, # 2969 + None, # 2970 + None, # 2971 + None, # 2972 + None, # 2973 + None, # 2974 + None, # 2975 + None, # 2976 + None, # 2977 + None, # 2978 + None, # 2979 + None, # 2980 + None, # 2981 + None, # 2982 + None, # 2983 + None, # 2984 + None, # 2985 + None, # 2986 + None, # 2987 + None, # 2988 + None, # 2989 + None, # 2990 + None, # 2991 + None, # 2992 + None, # 2993 + None, # 2994 + None, # 2995 + None, # 2996 + None, # 2997 + None, # 2998 + None, # 2999 + None, # 3000 + None, # 3001 + None, # 3002 + None, # 3003 + None, # 3004 + None, # 3005 + None, # 3006 + None, # 3007 + None, # 3008 + None, # 3009 + None, # 3010 + None, # 3011 + None, # 3012 + None, # 3013 + None, # 3014 + None, # 3015 + None, # 3016 + None, # 3017 + None, # 3018 + None, # 3019 + None, # 3020 + None, # 3021 + None, # 3022 + None, # 3023 + None, # 3024 + None, # 3025 + None, # 3026 + None, # 3027 + None, # 3028 + None, # 3029 + None, # 3030 + None, # 3031 + None, # 3032 + None, # 3033 + None, # 3034 + None, # 3035 + None, # 3036 + None, # 3037 + None, # 3038 + None, # 3039 + None, # 3040 + None, # 3041 + None, # 3042 + None, # 3043 + None, # 3044 + None, # 3045 + None, # 3046 + None, # 3047 + None, # 3048 + None, # 3049 + None, # 3050 + None, # 3051 + None, # 3052 + None, # 3053 + None, # 3054 + None, # 3055 + None, # 3056 + None, # 3057 + None, # 3058 + None, # 3059 + None, # 3060 + None, # 3061 + None, # 3062 + None, # 3063 + None, # 3064 + None, # 3065 + None, # 3066 + None, # 3067 + None, # 3068 + None, # 3069 + None, # 3070 + None, # 3071 + None, # 3072 + None, # 3073 + None, # 3074 + None, # 3075 + None, # 3076 + None, # 3077 + None, # 3078 + None, # 3079 + None, # 3080 + None, # 3081 + None, # 3082 + None, # 3083 + None, # 3084 + None, # 3085 + None, # 3086 + None, # 3087 + None, # 3088 + None, # 3089 + None, # 3090 + None, # 3091 + None, # 3092 + None, # 3093 + None, # 3094 + None, # 3095 + None, # 3096 + None, # 3097 + None, # 3098 + None, # 3099 + None, # 3100 + None, # 3101 + None, # 3102 + None, # 3103 + None, # 3104 + None, # 3105 + None, # 3106 + None, # 3107 + None, # 3108 + None, # 3109 + None, # 3110 + None, # 3111 + None, # 3112 + None, # 3113 + None, # 3114 + None, # 3115 + None, # 3116 + None, # 3117 + None, # 3118 + None, # 3119 + None, # 3120 + None, # 3121 + None, # 3122 + None, # 3123 + None, # 3124 + None, # 3125 + None, # 3126 + None, # 3127 + None, # 3128 + None, # 3129 + None, # 3130 + None, # 3131 + None, # 3132 + None, # 3133 + None, # 3134 + None, # 3135 + None, # 3136 + None, # 3137 + None, # 3138 + None, # 3139 + None, # 3140 + None, # 3141 + None, # 3142 + None, # 3143 + None, # 3144 + None, # 3145 + None, # 3146 + None, # 3147 + None, # 3148 + None, # 3149 + None, # 3150 + None, # 3151 + None, # 3152 + None, # 3153 + None, # 3154 + None, # 3155 + None, # 3156 + None, # 3157 + None, # 3158 + None, # 3159 + None, # 3160 + None, # 3161 + None, # 3162 + None, # 3163 + None, # 3164 + None, # 3165 + None, # 3166 + None, # 3167 + None, # 3168 + None, # 3169 + None, # 3170 + None, # 3171 + None, # 3172 + None, # 3173 + None, # 3174 + None, # 3175 + None, # 3176 + None, # 3177 + None, # 3178 + None, # 3179 + None, # 3180 + None, # 3181 + None, # 3182 + None, # 3183 + None, # 3184 + None, # 3185 + None, # 3186 + None, # 3187 + None, # 3188 + None, # 3189 + None, # 3190 + None, # 3191 + None, # 3192 + None, # 3193 + None, # 3194 + None, # 3195 + None, # 3196 + None, # 3197 + None, # 3198 + None, # 3199 + None, # 3200 + None, # 3201 + None, # 3202 + None, # 3203 + None, # 3204 + None, # 3205 + None, # 3206 + None, # 3207 + None, # 3208 + None, # 3209 + None, # 3210 + None, # 3211 + None, # 3212 + None, # 3213 + None, # 3214 + None, # 3215 + None, # 3216 + None, # 3217 + None, # 3218 + None, # 3219 + None, # 3220 + None, # 3221 + None, # 3222 + None, # 3223 + None, # 3224 + None, # 3225 + None, # 3226 + None, # 3227 + None, # 3228 + None, # 3229 + None, # 3230 + None, # 3231 + None, # 3232 + None, # 3233 + None, # 3234 + None, # 3235 + None, # 3236 + None, # 3237 + None, # 3238 + None, # 3239 + None, # 3240 + None, # 3241 + None, # 3242 + None, # 3243 + None, # 3244 + None, # 3245 + None, # 3246 + None, # 3247 + None, # 3248 + None, # 3249 + None, # 3250 + None, # 3251 + None, # 3252 + None, # 3253 + None, # 3254 + None, # 3255 + None, # 3256 + None, # 3257 + None, # 3258 + None, # 3259 + None, # 3260 + None, # 3261 + None, # 3262 + None, # 3263 + None, # 3264 + None, # 3265 + None, # 3266 + None, # 3267 + None, # 3268 + None, # 3269 + None, # 3270 + None, # 3271 + None, # 3272 + None, # 3273 + None, # 3274 + None, # 3275 + None, # 3276 + None, # 3277 + None, # 3278 + None, # 3279 + None, # 3280 + None, # 3281 + None, # 3282 + None, # 3283 + None, # 3284 + None, # 3285 + None, # 3286 + None, # 3287 + None, # 3288 + None, # 3289 + None, # 3290 + None, # 3291 + None, # 3292 + None, # 3293 + None, # 3294 + None, # 3295 + None, # 3296 + None, # 3297 + None, # 3298 + None, # 3299 + None, # 3300 + None, # 3301 + None, # 3302 + None, # 3303 + None, # 3304 + None, # 3305 + None, # 3306 + None, # 3307 + None, # 3308 + None, # 3309 + None, # 3310 + None, # 3311 + None, # 3312 + None, # 3313 + None, # 3314 + None, # 3315 + None, # 3316 + None, # 3317 + None, # 3318 + None, # 3319 + None, # 3320 + None, # 3321 + None, # 3322 + None, # 3323 + None, # 3324 + None, # 3325 + None, # 3326 + None, # 3327 + None, # 3328 + (3329, TType.STRING, 'responseValidation', 'BINARY', None, ), # 3329 + (3330, TType.I32, 'idempotencyType', None, None, ), # 3330 + (3331, TType.I64, 'statementTimeout', None, None, ), # 3331 + (3332, TType.I32, 'statementTimeoutLevel', None, None, ), # 3332 ) all_structs.append(TCancelOperationReq) TCancelOperationReq.thrift_spec = ( - None, # 0 - ( - 1, - TType.STRUCT, - "operationHandle", - [TOperationHandle, None], - None, - ), # 1 - None, # 2 - None, # 3 - None, # 4 - None, # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - None, # 1281 - None, # 1282 - None, # 1283 - None, # 1284 - None, # 1285 - None, # 1286 - None, # 1287 - None, # 1288 - None, # 1289 - None, # 1290 - None, # 1291 - None, # 1292 - None, # 1293 - None, # 1294 - None, # 1295 - None, # 1296 - None, # 1297 - None, # 1298 - None, # 1299 - None, # 1300 - None, # 1301 - None, # 1302 - None, # 1303 - None, # 1304 - None, # 1305 - None, # 1306 - None, # 1307 - None, # 1308 - None, # 1309 - None, # 1310 - None, # 1311 - None, # 1312 - None, # 1313 - None, # 1314 - None, # 1315 - None, # 1316 - None, # 1317 - None, # 1318 - None, # 1319 - None, # 1320 - None, # 1321 - None, # 1322 - None, # 1323 - None, # 1324 - None, # 1325 - None, # 1326 - None, # 1327 - None, # 1328 - None, # 1329 - None, # 1330 - None, # 1331 - None, # 1332 - None, # 1333 - None, # 1334 - None, # 1335 - None, # 1336 - None, # 1337 - None, # 1338 - None, # 1339 - None, # 1340 - None, # 1341 - None, # 1342 - None, # 1343 - None, # 1344 - None, # 1345 - None, # 1346 - None, # 1347 - None, # 1348 - None, # 1349 - None, # 1350 - None, # 1351 - None, # 1352 - None, # 1353 - None, # 1354 - None, # 1355 - None, # 1356 - None, # 1357 - None, # 1358 - None, # 1359 - None, # 1360 - None, # 1361 - None, # 1362 - None, # 1363 - None, # 1364 - None, # 1365 - None, # 1366 - None, # 1367 - None, # 1368 - None, # 1369 - None, # 1370 - None, # 1371 - None, # 1372 - None, # 1373 - None, # 1374 - None, # 1375 - None, # 1376 - None, # 1377 - None, # 1378 - None, # 1379 - None, # 1380 - None, # 1381 - None, # 1382 - None, # 1383 - None, # 1384 - None, # 1385 - None, # 1386 - None, # 1387 - None, # 1388 - None, # 1389 - None, # 1390 - None, # 1391 - None, # 1392 - None, # 1393 - None, # 1394 - None, # 1395 - None, # 1396 - None, # 1397 - None, # 1398 - None, # 1399 - None, # 1400 - None, # 1401 - None, # 1402 - None, # 1403 - None, # 1404 - None, # 1405 - None, # 1406 - None, # 1407 - None, # 1408 - None, # 1409 - None, # 1410 - None, # 1411 - None, # 1412 - None, # 1413 - None, # 1414 - None, # 1415 - None, # 1416 - None, # 1417 - None, # 1418 - None, # 1419 - None, # 1420 - None, # 1421 - None, # 1422 - None, # 1423 - None, # 1424 - None, # 1425 - None, # 1426 - None, # 1427 - None, # 1428 - None, # 1429 - None, # 1430 - None, # 1431 - None, # 1432 - None, # 1433 - None, # 1434 - None, # 1435 - None, # 1436 - None, # 1437 - None, # 1438 - None, # 1439 - None, # 1440 - None, # 1441 - None, # 1442 - None, # 1443 - None, # 1444 - None, # 1445 - None, # 1446 - None, # 1447 - None, # 1448 - None, # 1449 - None, # 1450 - None, # 1451 - None, # 1452 - None, # 1453 - None, # 1454 - None, # 1455 - None, # 1456 - None, # 1457 - None, # 1458 - None, # 1459 - None, # 1460 - None, # 1461 - None, # 1462 - None, # 1463 - None, # 1464 - None, # 1465 - None, # 1466 - None, # 1467 - None, # 1468 - None, # 1469 - None, # 1470 - None, # 1471 - None, # 1472 - None, # 1473 - None, # 1474 - None, # 1475 - None, # 1476 - None, # 1477 - None, # 1478 - None, # 1479 - None, # 1480 - None, # 1481 - None, # 1482 - None, # 1483 - None, # 1484 - None, # 1485 - None, # 1486 - None, # 1487 - None, # 1488 - None, # 1489 - None, # 1490 - None, # 1491 - None, # 1492 - None, # 1493 - None, # 1494 - None, # 1495 - None, # 1496 - None, # 1497 - None, # 1498 - None, # 1499 - None, # 1500 - None, # 1501 - None, # 1502 - None, # 1503 - None, # 1504 - None, # 1505 - None, # 1506 - None, # 1507 - None, # 1508 - None, # 1509 - None, # 1510 - None, # 1511 - None, # 1512 - None, # 1513 - None, # 1514 - None, # 1515 - None, # 1516 - None, # 1517 - None, # 1518 - None, # 1519 - None, # 1520 - None, # 1521 - None, # 1522 - None, # 1523 - None, # 1524 - None, # 1525 - None, # 1526 - None, # 1527 - None, # 1528 - None, # 1529 - None, # 1530 - None, # 1531 - None, # 1532 - None, # 1533 - None, # 1534 - None, # 1535 - None, # 1536 - None, # 1537 - None, # 1538 - None, # 1539 - None, # 1540 - None, # 1541 - None, # 1542 - None, # 1543 - None, # 1544 - None, # 1545 - None, # 1546 - None, # 1547 - None, # 1548 - None, # 1549 - None, # 1550 - None, # 1551 - None, # 1552 - None, # 1553 - None, # 1554 - None, # 1555 - None, # 1556 - None, # 1557 - None, # 1558 - None, # 1559 - None, # 1560 - None, # 1561 - None, # 1562 - None, # 1563 - None, # 1564 - None, # 1565 - None, # 1566 - None, # 1567 - None, # 1568 - None, # 1569 - None, # 1570 - None, # 1571 - None, # 1572 - None, # 1573 - None, # 1574 - None, # 1575 - None, # 1576 - None, # 1577 - None, # 1578 - None, # 1579 - None, # 1580 - None, # 1581 - None, # 1582 - None, # 1583 - None, # 1584 - None, # 1585 - None, # 1586 - None, # 1587 - None, # 1588 - None, # 1589 - None, # 1590 - None, # 1591 - None, # 1592 - None, # 1593 - None, # 1594 - None, # 1595 - None, # 1596 - None, # 1597 - None, # 1598 - None, # 1599 - None, # 1600 - None, # 1601 - None, # 1602 - None, # 1603 - None, # 1604 - None, # 1605 - None, # 1606 - None, # 1607 - None, # 1608 - None, # 1609 - None, # 1610 - None, # 1611 - None, # 1612 - None, # 1613 - None, # 1614 - None, # 1615 - None, # 1616 - None, # 1617 - None, # 1618 - None, # 1619 - None, # 1620 - None, # 1621 - None, # 1622 - None, # 1623 - None, # 1624 - None, # 1625 - None, # 1626 - None, # 1627 - None, # 1628 - None, # 1629 - None, # 1630 - None, # 1631 - None, # 1632 - None, # 1633 - None, # 1634 - None, # 1635 - None, # 1636 - None, # 1637 - None, # 1638 - None, # 1639 - None, # 1640 - None, # 1641 - None, # 1642 - None, # 1643 - None, # 1644 - None, # 1645 - None, # 1646 - None, # 1647 - None, # 1648 - None, # 1649 - None, # 1650 - None, # 1651 - None, # 1652 - None, # 1653 - None, # 1654 - None, # 1655 - None, # 1656 - None, # 1657 - None, # 1658 - None, # 1659 - None, # 1660 - None, # 1661 - None, # 1662 - None, # 1663 - None, # 1664 - None, # 1665 - None, # 1666 - None, # 1667 - None, # 1668 - None, # 1669 - None, # 1670 - None, # 1671 - None, # 1672 - None, # 1673 - None, # 1674 - None, # 1675 - None, # 1676 - None, # 1677 - None, # 1678 - None, # 1679 - None, # 1680 - None, # 1681 - None, # 1682 - None, # 1683 - None, # 1684 - None, # 1685 - None, # 1686 - None, # 1687 - None, # 1688 - None, # 1689 - None, # 1690 - None, # 1691 - None, # 1692 - None, # 1693 - None, # 1694 - None, # 1695 - None, # 1696 - None, # 1697 - None, # 1698 - None, # 1699 - None, # 1700 - None, # 1701 - None, # 1702 - None, # 1703 - None, # 1704 - None, # 1705 - None, # 1706 - None, # 1707 - None, # 1708 - None, # 1709 - None, # 1710 - None, # 1711 - None, # 1712 - None, # 1713 - None, # 1714 - None, # 1715 - None, # 1716 - None, # 1717 - None, # 1718 - None, # 1719 - None, # 1720 - None, # 1721 - None, # 1722 - None, # 1723 - None, # 1724 - None, # 1725 - None, # 1726 - None, # 1727 - None, # 1728 - None, # 1729 - None, # 1730 - None, # 1731 - None, # 1732 - None, # 1733 - None, # 1734 - None, # 1735 - None, # 1736 - None, # 1737 - None, # 1738 - None, # 1739 - None, # 1740 - None, # 1741 - None, # 1742 - None, # 1743 - None, # 1744 - None, # 1745 - None, # 1746 - None, # 1747 - None, # 1748 - None, # 1749 - None, # 1750 - None, # 1751 - None, # 1752 - None, # 1753 - None, # 1754 - None, # 1755 - None, # 1756 - None, # 1757 - None, # 1758 - None, # 1759 - None, # 1760 - None, # 1761 - None, # 1762 - None, # 1763 - None, # 1764 - None, # 1765 - None, # 1766 - None, # 1767 - None, # 1768 - None, # 1769 - None, # 1770 - None, # 1771 - None, # 1772 - None, # 1773 - None, # 1774 - None, # 1775 - None, # 1776 - None, # 1777 - None, # 1778 - None, # 1779 - None, # 1780 - None, # 1781 - None, # 1782 - None, # 1783 - None, # 1784 - None, # 1785 - None, # 1786 - None, # 1787 - None, # 1788 - None, # 1789 - None, # 1790 - None, # 1791 - None, # 1792 - None, # 1793 - None, # 1794 - None, # 1795 - None, # 1796 - None, # 1797 - None, # 1798 - None, # 1799 - None, # 1800 - None, # 1801 - None, # 1802 - None, # 1803 - None, # 1804 - None, # 1805 - None, # 1806 - None, # 1807 - None, # 1808 - None, # 1809 - None, # 1810 - None, # 1811 - None, # 1812 - None, # 1813 - None, # 1814 - None, # 1815 - None, # 1816 - None, # 1817 - None, # 1818 - None, # 1819 - None, # 1820 - None, # 1821 - None, # 1822 - None, # 1823 - None, # 1824 - None, # 1825 - None, # 1826 - None, # 1827 - None, # 1828 - None, # 1829 - None, # 1830 - None, # 1831 - None, # 1832 - None, # 1833 - None, # 1834 - None, # 1835 - None, # 1836 - None, # 1837 - None, # 1838 - None, # 1839 - None, # 1840 - None, # 1841 - None, # 1842 - None, # 1843 - None, # 1844 - None, # 1845 - None, # 1846 - None, # 1847 - None, # 1848 - None, # 1849 - None, # 1850 - None, # 1851 - None, # 1852 - None, # 1853 - None, # 1854 - None, # 1855 - None, # 1856 - None, # 1857 - None, # 1858 - None, # 1859 - None, # 1860 - None, # 1861 - None, # 1862 - None, # 1863 - None, # 1864 - None, # 1865 - None, # 1866 - None, # 1867 - None, # 1868 - None, # 1869 - None, # 1870 - None, # 1871 - None, # 1872 - None, # 1873 - None, # 1874 - None, # 1875 - None, # 1876 - None, # 1877 - None, # 1878 - None, # 1879 - None, # 1880 - None, # 1881 - None, # 1882 - None, # 1883 - None, # 1884 - None, # 1885 - None, # 1886 - None, # 1887 - None, # 1888 - None, # 1889 - None, # 1890 - None, # 1891 - None, # 1892 - None, # 1893 - None, # 1894 - None, # 1895 - None, # 1896 - None, # 1897 - None, # 1898 - None, # 1899 - None, # 1900 - None, # 1901 - None, # 1902 - None, # 1903 - None, # 1904 - None, # 1905 - None, # 1906 - None, # 1907 - None, # 1908 - None, # 1909 - None, # 1910 - None, # 1911 - None, # 1912 - None, # 1913 - None, # 1914 - None, # 1915 - None, # 1916 - None, # 1917 - None, # 1918 - None, # 1919 - None, # 1920 - None, # 1921 - None, # 1922 - None, # 1923 - None, # 1924 - None, # 1925 - None, # 1926 - None, # 1927 - None, # 1928 - None, # 1929 - None, # 1930 - None, # 1931 - None, # 1932 - None, # 1933 - None, # 1934 - None, # 1935 - None, # 1936 - None, # 1937 - None, # 1938 - None, # 1939 - None, # 1940 - None, # 1941 - None, # 1942 - None, # 1943 - None, # 1944 - None, # 1945 - None, # 1946 - None, # 1947 - None, # 1948 - None, # 1949 - None, # 1950 - None, # 1951 - None, # 1952 - None, # 1953 - None, # 1954 - None, # 1955 - None, # 1956 - None, # 1957 - None, # 1958 - None, # 1959 - None, # 1960 - None, # 1961 - None, # 1962 - None, # 1963 - None, # 1964 - None, # 1965 - None, # 1966 - None, # 1967 - None, # 1968 - None, # 1969 - None, # 1970 - None, # 1971 - None, # 1972 - None, # 1973 - None, # 1974 - None, # 1975 - None, # 1976 - None, # 1977 - None, # 1978 - None, # 1979 - None, # 1980 - None, # 1981 - None, # 1982 - None, # 1983 - None, # 1984 - None, # 1985 - None, # 1986 - None, # 1987 - None, # 1988 - None, # 1989 - None, # 1990 - None, # 1991 - None, # 1992 - None, # 1993 - None, # 1994 - None, # 1995 - None, # 1996 - None, # 1997 - None, # 1998 - None, # 1999 - None, # 2000 - None, # 2001 - None, # 2002 - None, # 2003 - None, # 2004 - None, # 2005 - None, # 2006 - None, # 2007 - None, # 2008 - None, # 2009 - None, # 2010 - None, # 2011 - None, # 2012 - None, # 2013 - None, # 2014 - None, # 2015 - None, # 2016 - None, # 2017 - None, # 2018 - None, # 2019 - None, # 2020 - None, # 2021 - None, # 2022 - None, # 2023 - None, # 2024 - None, # 2025 - None, # 2026 - None, # 2027 - None, # 2028 - None, # 2029 - None, # 2030 - None, # 2031 - None, # 2032 - None, # 2033 - None, # 2034 - None, # 2035 - None, # 2036 - None, # 2037 - None, # 2038 - None, # 2039 - None, # 2040 - None, # 2041 - None, # 2042 - None, # 2043 - None, # 2044 - None, # 2045 - None, # 2046 - None, # 2047 - None, # 2048 - None, # 2049 - None, # 2050 - None, # 2051 - None, # 2052 - None, # 2053 - None, # 2054 - None, # 2055 - None, # 2056 - None, # 2057 - None, # 2058 - None, # 2059 - None, # 2060 - None, # 2061 - None, # 2062 - None, # 2063 - None, # 2064 - None, # 2065 - None, # 2066 - None, # 2067 - None, # 2068 - None, # 2069 - None, # 2070 - None, # 2071 - None, # 2072 - None, # 2073 - None, # 2074 - None, # 2075 - None, # 2076 - None, # 2077 - None, # 2078 - None, # 2079 - None, # 2080 - None, # 2081 - None, # 2082 - None, # 2083 - None, # 2084 - None, # 2085 - None, # 2086 - None, # 2087 - None, # 2088 - None, # 2089 - None, # 2090 - None, # 2091 - None, # 2092 - None, # 2093 - None, # 2094 - None, # 2095 - None, # 2096 - None, # 2097 - None, # 2098 - None, # 2099 - None, # 2100 - None, # 2101 - None, # 2102 - None, # 2103 - None, # 2104 - None, # 2105 - None, # 2106 - None, # 2107 - None, # 2108 - None, # 2109 - None, # 2110 - None, # 2111 - None, # 2112 - None, # 2113 - None, # 2114 - None, # 2115 - None, # 2116 - None, # 2117 - None, # 2118 - None, # 2119 - None, # 2120 - None, # 2121 - None, # 2122 - None, # 2123 - None, # 2124 - None, # 2125 - None, # 2126 - None, # 2127 - None, # 2128 - None, # 2129 - None, # 2130 - None, # 2131 - None, # 2132 - None, # 2133 - None, # 2134 - None, # 2135 - None, # 2136 - None, # 2137 - None, # 2138 - None, # 2139 - None, # 2140 - None, # 2141 - None, # 2142 - None, # 2143 - None, # 2144 - None, # 2145 - None, # 2146 - None, # 2147 - None, # 2148 - None, # 2149 - None, # 2150 - None, # 2151 - None, # 2152 - None, # 2153 - None, # 2154 - None, # 2155 - None, # 2156 - None, # 2157 - None, # 2158 - None, # 2159 - None, # 2160 - None, # 2161 - None, # 2162 - None, # 2163 - None, # 2164 - None, # 2165 - None, # 2166 - None, # 2167 - None, # 2168 - None, # 2169 - None, # 2170 - None, # 2171 - None, # 2172 - None, # 2173 - None, # 2174 - None, # 2175 - None, # 2176 - None, # 2177 - None, # 2178 - None, # 2179 - None, # 2180 - None, # 2181 - None, # 2182 - None, # 2183 - None, # 2184 - None, # 2185 - None, # 2186 - None, # 2187 - None, # 2188 - None, # 2189 - None, # 2190 - None, # 2191 - None, # 2192 - None, # 2193 - None, # 2194 - None, # 2195 - None, # 2196 - None, # 2197 - None, # 2198 - None, # 2199 - None, # 2200 - None, # 2201 - None, # 2202 - None, # 2203 - None, # 2204 - None, # 2205 - None, # 2206 - None, # 2207 - None, # 2208 - None, # 2209 - None, # 2210 - None, # 2211 - None, # 2212 - None, # 2213 - None, # 2214 - None, # 2215 - None, # 2216 - None, # 2217 - None, # 2218 - None, # 2219 - None, # 2220 - None, # 2221 - None, # 2222 - None, # 2223 - None, # 2224 - None, # 2225 - None, # 2226 - None, # 2227 - None, # 2228 - None, # 2229 - None, # 2230 - None, # 2231 - None, # 2232 - None, # 2233 - None, # 2234 - None, # 2235 - None, # 2236 - None, # 2237 - None, # 2238 - None, # 2239 - None, # 2240 - None, # 2241 - None, # 2242 - None, # 2243 - None, # 2244 - None, # 2245 - None, # 2246 - None, # 2247 - None, # 2248 - None, # 2249 - None, # 2250 - None, # 2251 - None, # 2252 - None, # 2253 - None, # 2254 - None, # 2255 - None, # 2256 - None, # 2257 - None, # 2258 - None, # 2259 - None, # 2260 - None, # 2261 - None, # 2262 - None, # 2263 - None, # 2264 - None, # 2265 - None, # 2266 - None, # 2267 - None, # 2268 - None, # 2269 - None, # 2270 - None, # 2271 - None, # 2272 - None, # 2273 - None, # 2274 - None, # 2275 - None, # 2276 - None, # 2277 - None, # 2278 - None, # 2279 - None, # 2280 - None, # 2281 - None, # 2282 - None, # 2283 - None, # 2284 - None, # 2285 - None, # 2286 - None, # 2287 - None, # 2288 - None, # 2289 - None, # 2290 - None, # 2291 - None, # 2292 - None, # 2293 - None, # 2294 - None, # 2295 - None, # 2296 - None, # 2297 - None, # 2298 - None, # 2299 - None, # 2300 - None, # 2301 - None, # 2302 - None, # 2303 - None, # 2304 - None, # 2305 - None, # 2306 - None, # 2307 - None, # 2308 - None, # 2309 - None, # 2310 - None, # 2311 - None, # 2312 - None, # 2313 - None, # 2314 - None, # 2315 - None, # 2316 - None, # 2317 - None, # 2318 - None, # 2319 - None, # 2320 - None, # 2321 - None, # 2322 - None, # 2323 - None, # 2324 - None, # 2325 - None, # 2326 - None, # 2327 - None, # 2328 - None, # 2329 - None, # 2330 - None, # 2331 - None, # 2332 - None, # 2333 - None, # 2334 - None, # 2335 - None, # 2336 - None, # 2337 - None, # 2338 - None, # 2339 - None, # 2340 - None, # 2341 - None, # 2342 - None, # 2343 - None, # 2344 - None, # 2345 - None, # 2346 - None, # 2347 - None, # 2348 - None, # 2349 - None, # 2350 - None, # 2351 - None, # 2352 - None, # 2353 - None, # 2354 - None, # 2355 - None, # 2356 - None, # 2357 - None, # 2358 - None, # 2359 - None, # 2360 - None, # 2361 - None, # 2362 - None, # 2363 - None, # 2364 - None, # 2365 - None, # 2366 - None, # 2367 - None, # 2368 - None, # 2369 - None, # 2370 - None, # 2371 - None, # 2372 - None, # 2373 - None, # 2374 - None, # 2375 - None, # 2376 - None, # 2377 - None, # 2378 - None, # 2379 - None, # 2380 - None, # 2381 - None, # 2382 - None, # 2383 - None, # 2384 - None, # 2385 - None, # 2386 - None, # 2387 - None, # 2388 - None, # 2389 - None, # 2390 - None, # 2391 - None, # 2392 - None, # 2393 - None, # 2394 - None, # 2395 - None, # 2396 - None, # 2397 - None, # 2398 - None, # 2399 - None, # 2400 - None, # 2401 - None, # 2402 - None, # 2403 - None, # 2404 - None, # 2405 - None, # 2406 - None, # 2407 - None, # 2408 - None, # 2409 - None, # 2410 - None, # 2411 - None, # 2412 - None, # 2413 - None, # 2414 - None, # 2415 - None, # 2416 - None, # 2417 - None, # 2418 - None, # 2419 - None, # 2420 - None, # 2421 - None, # 2422 - None, # 2423 - None, # 2424 - None, # 2425 - None, # 2426 - None, # 2427 - None, # 2428 - None, # 2429 - None, # 2430 - None, # 2431 - None, # 2432 - None, # 2433 - None, # 2434 - None, # 2435 - None, # 2436 - None, # 2437 - None, # 2438 - None, # 2439 - None, # 2440 - None, # 2441 - None, # 2442 - None, # 2443 - None, # 2444 - None, # 2445 - None, # 2446 - None, # 2447 - None, # 2448 - None, # 2449 - None, # 2450 - None, # 2451 - None, # 2452 - None, # 2453 - None, # 2454 - None, # 2455 - None, # 2456 - None, # 2457 - None, # 2458 - None, # 2459 - None, # 2460 - None, # 2461 - None, # 2462 - None, # 2463 - None, # 2464 - None, # 2465 - None, # 2466 - None, # 2467 - None, # 2468 - None, # 2469 - None, # 2470 - None, # 2471 - None, # 2472 - None, # 2473 - None, # 2474 - None, # 2475 - None, # 2476 - None, # 2477 - None, # 2478 - None, # 2479 - None, # 2480 - None, # 2481 - None, # 2482 - None, # 2483 - None, # 2484 - None, # 2485 - None, # 2486 - None, # 2487 - None, # 2488 - None, # 2489 - None, # 2490 - None, # 2491 - None, # 2492 - None, # 2493 - None, # 2494 - None, # 2495 - None, # 2496 - None, # 2497 - None, # 2498 - None, # 2499 - None, # 2500 - None, # 2501 - None, # 2502 - None, # 2503 - None, # 2504 - None, # 2505 - None, # 2506 - None, # 2507 - None, # 2508 - None, # 2509 - None, # 2510 - None, # 2511 - None, # 2512 - None, # 2513 - None, # 2514 - None, # 2515 - None, # 2516 - None, # 2517 - None, # 2518 - None, # 2519 - None, # 2520 - None, # 2521 - None, # 2522 - None, # 2523 - None, # 2524 - None, # 2525 - None, # 2526 - None, # 2527 - None, # 2528 - None, # 2529 - None, # 2530 - None, # 2531 - None, # 2532 - None, # 2533 - None, # 2534 - None, # 2535 - None, # 2536 - None, # 2537 - None, # 2538 - None, # 2539 - None, # 2540 - None, # 2541 - None, # 2542 - None, # 2543 - None, # 2544 - None, # 2545 - None, # 2546 - None, # 2547 - None, # 2548 - None, # 2549 - None, # 2550 - None, # 2551 - None, # 2552 - None, # 2553 - None, # 2554 - None, # 2555 - None, # 2556 - None, # 2557 - None, # 2558 - None, # 2559 - None, # 2560 - None, # 2561 - None, # 2562 - None, # 2563 - None, # 2564 - None, # 2565 - None, # 2566 - None, # 2567 - None, # 2568 - None, # 2569 - None, # 2570 - None, # 2571 - None, # 2572 - None, # 2573 - None, # 2574 - None, # 2575 - None, # 2576 - None, # 2577 - None, # 2578 - None, # 2579 - None, # 2580 - None, # 2581 - None, # 2582 - None, # 2583 - None, # 2584 - None, # 2585 - None, # 2586 - None, # 2587 - None, # 2588 - None, # 2589 - None, # 2590 - None, # 2591 - None, # 2592 - None, # 2593 - None, # 2594 - None, # 2595 - None, # 2596 - None, # 2597 - None, # 2598 - None, # 2599 - None, # 2600 - None, # 2601 - None, # 2602 - None, # 2603 - None, # 2604 - None, # 2605 - None, # 2606 - None, # 2607 - None, # 2608 - None, # 2609 - None, # 2610 - None, # 2611 - None, # 2612 - None, # 2613 - None, # 2614 - None, # 2615 - None, # 2616 - None, # 2617 - None, # 2618 - None, # 2619 - None, # 2620 - None, # 2621 - None, # 2622 - None, # 2623 - None, # 2624 - None, # 2625 - None, # 2626 - None, # 2627 - None, # 2628 - None, # 2629 - None, # 2630 - None, # 2631 - None, # 2632 - None, # 2633 - None, # 2634 - None, # 2635 - None, # 2636 - None, # 2637 - None, # 2638 - None, # 2639 - None, # 2640 - None, # 2641 - None, # 2642 - None, # 2643 - None, # 2644 - None, # 2645 - None, # 2646 - None, # 2647 - None, # 2648 - None, # 2649 - None, # 2650 - None, # 2651 - None, # 2652 - None, # 2653 - None, # 2654 - None, # 2655 - None, # 2656 - None, # 2657 - None, # 2658 - None, # 2659 - None, # 2660 - None, # 2661 - None, # 2662 - None, # 2663 - None, # 2664 - None, # 2665 - None, # 2666 - None, # 2667 - None, # 2668 - None, # 2669 - None, # 2670 - None, # 2671 - None, # 2672 - None, # 2673 - None, # 2674 - None, # 2675 - None, # 2676 - None, # 2677 - None, # 2678 - None, # 2679 - None, # 2680 - None, # 2681 - None, # 2682 - None, # 2683 - None, # 2684 - None, # 2685 - None, # 2686 - None, # 2687 - None, # 2688 - None, # 2689 - None, # 2690 - None, # 2691 - None, # 2692 - None, # 2693 - None, # 2694 - None, # 2695 - None, # 2696 - None, # 2697 - None, # 2698 - None, # 2699 - None, # 2700 - None, # 2701 - None, # 2702 - None, # 2703 - None, # 2704 - None, # 2705 - None, # 2706 - None, # 2707 - None, # 2708 - None, # 2709 - None, # 2710 - None, # 2711 - None, # 2712 - None, # 2713 - None, # 2714 - None, # 2715 - None, # 2716 - None, # 2717 - None, # 2718 - None, # 2719 - None, # 2720 - None, # 2721 - None, # 2722 - None, # 2723 - None, # 2724 - None, # 2725 - None, # 2726 - None, # 2727 - None, # 2728 - None, # 2729 - None, # 2730 - None, # 2731 - None, # 2732 - None, # 2733 - None, # 2734 - None, # 2735 - None, # 2736 - None, # 2737 - None, # 2738 - None, # 2739 - None, # 2740 - None, # 2741 - None, # 2742 - None, # 2743 - None, # 2744 - None, # 2745 - None, # 2746 - None, # 2747 - None, # 2748 - None, # 2749 - None, # 2750 - None, # 2751 - None, # 2752 - None, # 2753 - None, # 2754 - None, # 2755 - None, # 2756 - None, # 2757 - None, # 2758 - None, # 2759 - None, # 2760 - None, # 2761 - None, # 2762 - None, # 2763 - None, # 2764 - None, # 2765 - None, # 2766 - None, # 2767 - None, # 2768 - None, # 2769 - None, # 2770 - None, # 2771 - None, # 2772 - None, # 2773 - None, # 2774 - None, # 2775 - None, # 2776 - None, # 2777 - None, # 2778 - None, # 2779 - None, # 2780 - None, # 2781 - None, # 2782 - None, # 2783 - None, # 2784 - None, # 2785 - None, # 2786 - None, # 2787 - None, # 2788 - None, # 2789 - None, # 2790 - None, # 2791 - None, # 2792 - None, # 2793 - None, # 2794 - None, # 2795 - None, # 2796 - None, # 2797 - None, # 2798 - None, # 2799 - None, # 2800 - None, # 2801 - None, # 2802 - None, # 2803 - None, # 2804 - None, # 2805 - None, # 2806 - None, # 2807 - None, # 2808 - None, # 2809 - None, # 2810 - None, # 2811 - None, # 2812 - None, # 2813 - None, # 2814 - None, # 2815 - None, # 2816 - None, # 2817 - None, # 2818 - None, # 2819 - None, # 2820 - None, # 2821 - None, # 2822 - None, # 2823 - None, # 2824 - None, # 2825 - None, # 2826 - None, # 2827 - None, # 2828 - None, # 2829 - None, # 2830 - None, # 2831 - None, # 2832 - None, # 2833 - None, # 2834 - None, # 2835 - None, # 2836 - None, # 2837 - None, # 2838 - None, # 2839 - None, # 2840 - None, # 2841 - None, # 2842 - None, # 2843 - None, # 2844 - None, # 2845 - None, # 2846 - None, # 2847 - None, # 2848 - None, # 2849 - None, # 2850 - None, # 2851 - None, # 2852 - None, # 2853 - None, # 2854 - None, # 2855 - None, # 2856 - None, # 2857 - None, # 2858 - None, # 2859 - None, # 2860 - None, # 2861 - None, # 2862 - None, # 2863 - None, # 2864 - None, # 2865 - None, # 2866 - None, # 2867 - None, # 2868 - None, # 2869 - None, # 2870 - None, # 2871 - None, # 2872 - None, # 2873 - None, # 2874 - None, # 2875 - None, # 2876 - None, # 2877 - None, # 2878 - None, # 2879 - None, # 2880 - None, # 2881 - None, # 2882 - None, # 2883 - None, # 2884 - None, # 2885 - None, # 2886 - None, # 2887 - None, # 2888 - None, # 2889 - None, # 2890 - None, # 2891 - None, # 2892 - None, # 2893 - None, # 2894 - None, # 2895 - None, # 2896 - None, # 2897 - None, # 2898 - None, # 2899 - None, # 2900 - None, # 2901 - None, # 2902 - None, # 2903 - None, # 2904 - None, # 2905 - None, # 2906 - None, # 2907 - None, # 2908 - None, # 2909 - None, # 2910 - None, # 2911 - None, # 2912 - None, # 2913 - None, # 2914 - None, # 2915 - None, # 2916 - None, # 2917 - None, # 2918 - None, # 2919 - None, # 2920 - None, # 2921 - None, # 2922 - None, # 2923 - None, # 2924 - None, # 2925 - None, # 2926 - None, # 2927 - None, # 2928 - None, # 2929 - None, # 2930 - None, # 2931 - None, # 2932 - None, # 2933 - None, # 2934 - None, # 2935 - None, # 2936 - None, # 2937 - None, # 2938 - None, # 2939 - None, # 2940 - None, # 2941 - None, # 2942 - None, # 2943 - None, # 2944 - None, # 2945 - None, # 2946 - None, # 2947 - None, # 2948 - None, # 2949 - None, # 2950 - None, # 2951 - None, # 2952 - None, # 2953 - None, # 2954 - None, # 2955 - None, # 2956 - None, # 2957 - None, # 2958 - None, # 2959 - None, # 2960 - None, # 2961 - None, # 2962 - None, # 2963 - None, # 2964 - None, # 2965 - None, # 2966 - None, # 2967 - None, # 2968 - None, # 2969 - None, # 2970 - None, # 2971 - None, # 2972 - None, # 2973 - None, # 2974 - None, # 2975 - None, # 2976 - None, # 2977 - None, # 2978 - None, # 2979 - None, # 2980 - None, # 2981 - None, # 2982 - None, # 2983 - None, # 2984 - None, # 2985 - None, # 2986 - None, # 2987 - None, # 2988 - None, # 2989 - None, # 2990 - None, # 2991 - None, # 2992 - None, # 2993 - None, # 2994 - None, # 2995 - None, # 2996 - None, # 2997 - None, # 2998 - None, # 2999 - None, # 3000 - None, # 3001 - None, # 3002 - None, # 3003 - None, # 3004 - None, # 3005 - None, # 3006 - None, # 3007 - None, # 3008 - None, # 3009 - None, # 3010 - None, # 3011 - None, # 3012 - None, # 3013 - None, # 3014 - None, # 3015 - None, # 3016 - None, # 3017 - None, # 3018 - None, # 3019 - None, # 3020 - None, # 3021 - None, # 3022 - None, # 3023 - None, # 3024 - None, # 3025 - None, # 3026 - None, # 3027 - None, # 3028 - None, # 3029 - None, # 3030 - None, # 3031 - None, # 3032 - None, # 3033 - None, # 3034 - None, # 3035 - None, # 3036 - None, # 3037 - None, # 3038 - None, # 3039 - None, # 3040 - None, # 3041 - None, # 3042 - None, # 3043 - None, # 3044 - None, # 3045 - None, # 3046 - None, # 3047 - None, # 3048 - None, # 3049 - None, # 3050 - None, # 3051 - None, # 3052 - None, # 3053 - None, # 3054 - None, # 3055 - None, # 3056 - None, # 3057 - None, # 3058 - None, # 3059 - None, # 3060 - None, # 3061 - None, # 3062 - None, # 3063 - None, # 3064 - None, # 3065 - None, # 3066 - None, # 3067 - None, # 3068 - None, # 3069 - None, # 3070 - None, # 3071 - None, # 3072 - None, # 3073 - None, # 3074 - None, # 3075 - None, # 3076 - None, # 3077 - None, # 3078 - None, # 3079 - None, # 3080 - None, # 3081 - None, # 3082 - None, # 3083 - None, # 3084 - None, # 3085 - None, # 3086 - None, # 3087 - None, # 3088 - None, # 3089 - None, # 3090 - None, # 3091 - None, # 3092 - None, # 3093 - None, # 3094 - None, # 3095 - None, # 3096 - None, # 3097 - None, # 3098 - None, # 3099 - None, # 3100 - None, # 3101 - None, # 3102 - None, # 3103 - None, # 3104 - None, # 3105 - None, # 3106 - None, # 3107 - None, # 3108 - None, # 3109 - None, # 3110 - None, # 3111 - None, # 3112 - None, # 3113 - None, # 3114 - None, # 3115 - None, # 3116 - None, # 3117 - None, # 3118 - None, # 3119 - None, # 3120 - None, # 3121 - None, # 3122 - None, # 3123 - None, # 3124 - None, # 3125 - None, # 3126 - None, # 3127 - None, # 3128 - None, # 3129 - None, # 3130 - None, # 3131 - None, # 3132 - None, # 3133 - None, # 3134 - None, # 3135 - None, # 3136 - None, # 3137 - None, # 3138 - None, # 3139 - None, # 3140 - None, # 3141 - None, # 3142 - None, # 3143 - None, # 3144 - None, # 3145 - None, # 3146 - None, # 3147 - None, # 3148 - None, # 3149 - None, # 3150 - None, # 3151 - None, # 3152 - None, # 3153 - None, # 3154 - None, # 3155 - None, # 3156 - None, # 3157 - None, # 3158 - None, # 3159 - None, # 3160 - None, # 3161 - None, # 3162 - None, # 3163 - None, # 3164 - None, # 3165 - None, # 3166 - None, # 3167 - None, # 3168 - None, # 3169 - None, # 3170 - None, # 3171 - None, # 3172 - None, # 3173 - None, # 3174 - None, # 3175 - None, # 3176 - None, # 3177 - None, # 3178 - None, # 3179 - None, # 3180 - None, # 3181 - None, # 3182 - None, # 3183 - None, # 3184 - None, # 3185 - None, # 3186 - None, # 3187 - None, # 3188 - None, # 3189 - None, # 3190 - None, # 3191 - None, # 3192 - None, # 3193 - None, # 3194 - None, # 3195 - None, # 3196 - None, # 3197 - None, # 3198 - None, # 3199 - None, # 3200 - None, # 3201 - None, # 3202 - None, # 3203 - None, # 3204 - None, # 3205 - None, # 3206 - None, # 3207 - None, # 3208 - None, # 3209 - None, # 3210 - None, # 3211 - None, # 3212 - None, # 3213 - None, # 3214 - None, # 3215 - None, # 3216 - None, # 3217 - None, # 3218 - None, # 3219 - None, # 3220 - None, # 3221 - None, # 3222 - None, # 3223 - None, # 3224 - None, # 3225 - None, # 3226 - None, # 3227 - None, # 3228 - None, # 3229 - None, # 3230 - None, # 3231 - None, # 3232 - None, # 3233 - None, # 3234 - None, # 3235 - None, # 3236 - None, # 3237 - None, # 3238 - None, # 3239 - None, # 3240 - None, # 3241 - None, # 3242 - None, # 3243 - None, # 3244 - None, # 3245 - None, # 3246 - None, # 3247 - None, # 3248 - None, # 3249 - None, # 3250 - None, # 3251 - None, # 3252 - None, # 3253 - None, # 3254 - None, # 3255 - None, # 3256 - None, # 3257 - None, # 3258 - None, # 3259 - None, # 3260 - None, # 3261 - None, # 3262 - None, # 3263 - None, # 3264 - None, # 3265 - None, # 3266 - None, # 3267 - None, # 3268 - None, # 3269 - None, # 3270 - None, # 3271 - None, # 3272 - None, # 3273 - None, # 3274 - None, # 3275 - None, # 3276 - None, # 3277 - None, # 3278 - None, # 3279 - None, # 3280 - None, # 3281 - None, # 3282 - None, # 3283 - None, # 3284 - None, # 3285 - None, # 3286 - None, # 3287 - None, # 3288 - None, # 3289 - None, # 3290 - None, # 3291 - None, # 3292 - None, # 3293 - None, # 3294 - None, # 3295 - None, # 3296 - None, # 3297 - None, # 3298 - None, # 3299 - None, # 3300 - None, # 3301 - None, # 3302 - None, # 3303 - None, # 3304 - None, # 3305 - None, # 3306 - None, # 3307 - None, # 3308 - None, # 3309 - None, # 3310 - None, # 3311 - None, # 3312 - None, # 3313 - None, # 3314 - None, # 3315 - None, # 3316 - None, # 3317 - None, # 3318 - None, # 3319 - None, # 3320 - None, # 3321 - None, # 3322 - None, # 3323 - None, # 3324 - None, # 3325 - None, # 3326 - None, # 3327 - None, # 3328 - ( - 3329, - TType.I16, - "executionVersion", - None, - None, - ), # 3329 - ( - 3330, - TType.BOOL, - "replacedByNextAttempt", - None, - None, - ), # 3330 + None, # 0 + (1, TType.STRUCT, 'operationHandle', [TOperationHandle, None], None, ), # 1 + None, # 2 + None, # 3 + None, # 4 + None, # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + None, # 1281 + None, # 1282 + None, # 1283 + None, # 1284 + None, # 1285 + None, # 1286 + None, # 1287 + None, # 1288 + None, # 1289 + None, # 1290 + None, # 1291 + None, # 1292 + None, # 1293 + None, # 1294 + None, # 1295 + None, # 1296 + None, # 1297 + None, # 1298 + None, # 1299 + None, # 1300 + None, # 1301 + None, # 1302 + None, # 1303 + None, # 1304 + None, # 1305 + None, # 1306 + None, # 1307 + None, # 1308 + None, # 1309 + None, # 1310 + None, # 1311 + None, # 1312 + None, # 1313 + None, # 1314 + None, # 1315 + None, # 1316 + None, # 1317 + None, # 1318 + None, # 1319 + None, # 1320 + None, # 1321 + None, # 1322 + None, # 1323 + None, # 1324 + None, # 1325 + None, # 1326 + None, # 1327 + None, # 1328 + None, # 1329 + None, # 1330 + None, # 1331 + None, # 1332 + None, # 1333 + None, # 1334 + None, # 1335 + None, # 1336 + None, # 1337 + None, # 1338 + None, # 1339 + None, # 1340 + None, # 1341 + None, # 1342 + None, # 1343 + None, # 1344 + None, # 1345 + None, # 1346 + None, # 1347 + None, # 1348 + None, # 1349 + None, # 1350 + None, # 1351 + None, # 1352 + None, # 1353 + None, # 1354 + None, # 1355 + None, # 1356 + None, # 1357 + None, # 1358 + None, # 1359 + None, # 1360 + None, # 1361 + None, # 1362 + None, # 1363 + None, # 1364 + None, # 1365 + None, # 1366 + None, # 1367 + None, # 1368 + None, # 1369 + None, # 1370 + None, # 1371 + None, # 1372 + None, # 1373 + None, # 1374 + None, # 1375 + None, # 1376 + None, # 1377 + None, # 1378 + None, # 1379 + None, # 1380 + None, # 1381 + None, # 1382 + None, # 1383 + None, # 1384 + None, # 1385 + None, # 1386 + None, # 1387 + None, # 1388 + None, # 1389 + None, # 1390 + None, # 1391 + None, # 1392 + None, # 1393 + None, # 1394 + None, # 1395 + None, # 1396 + None, # 1397 + None, # 1398 + None, # 1399 + None, # 1400 + None, # 1401 + None, # 1402 + None, # 1403 + None, # 1404 + None, # 1405 + None, # 1406 + None, # 1407 + None, # 1408 + None, # 1409 + None, # 1410 + None, # 1411 + None, # 1412 + None, # 1413 + None, # 1414 + None, # 1415 + None, # 1416 + None, # 1417 + None, # 1418 + None, # 1419 + None, # 1420 + None, # 1421 + None, # 1422 + None, # 1423 + None, # 1424 + None, # 1425 + None, # 1426 + None, # 1427 + None, # 1428 + None, # 1429 + None, # 1430 + None, # 1431 + None, # 1432 + None, # 1433 + None, # 1434 + None, # 1435 + None, # 1436 + None, # 1437 + None, # 1438 + None, # 1439 + None, # 1440 + None, # 1441 + None, # 1442 + None, # 1443 + None, # 1444 + None, # 1445 + None, # 1446 + None, # 1447 + None, # 1448 + None, # 1449 + None, # 1450 + None, # 1451 + None, # 1452 + None, # 1453 + None, # 1454 + None, # 1455 + None, # 1456 + None, # 1457 + None, # 1458 + None, # 1459 + None, # 1460 + None, # 1461 + None, # 1462 + None, # 1463 + None, # 1464 + None, # 1465 + None, # 1466 + None, # 1467 + None, # 1468 + None, # 1469 + None, # 1470 + None, # 1471 + None, # 1472 + None, # 1473 + None, # 1474 + None, # 1475 + None, # 1476 + None, # 1477 + None, # 1478 + None, # 1479 + None, # 1480 + None, # 1481 + None, # 1482 + None, # 1483 + None, # 1484 + None, # 1485 + None, # 1486 + None, # 1487 + None, # 1488 + None, # 1489 + None, # 1490 + None, # 1491 + None, # 1492 + None, # 1493 + None, # 1494 + None, # 1495 + None, # 1496 + None, # 1497 + None, # 1498 + None, # 1499 + None, # 1500 + None, # 1501 + None, # 1502 + None, # 1503 + None, # 1504 + None, # 1505 + None, # 1506 + None, # 1507 + None, # 1508 + None, # 1509 + None, # 1510 + None, # 1511 + None, # 1512 + None, # 1513 + None, # 1514 + None, # 1515 + None, # 1516 + None, # 1517 + None, # 1518 + None, # 1519 + None, # 1520 + None, # 1521 + None, # 1522 + None, # 1523 + None, # 1524 + None, # 1525 + None, # 1526 + None, # 1527 + None, # 1528 + None, # 1529 + None, # 1530 + None, # 1531 + None, # 1532 + None, # 1533 + None, # 1534 + None, # 1535 + None, # 1536 + None, # 1537 + None, # 1538 + None, # 1539 + None, # 1540 + None, # 1541 + None, # 1542 + None, # 1543 + None, # 1544 + None, # 1545 + None, # 1546 + None, # 1547 + None, # 1548 + None, # 1549 + None, # 1550 + None, # 1551 + None, # 1552 + None, # 1553 + None, # 1554 + None, # 1555 + None, # 1556 + None, # 1557 + None, # 1558 + None, # 1559 + None, # 1560 + None, # 1561 + None, # 1562 + None, # 1563 + None, # 1564 + None, # 1565 + None, # 1566 + None, # 1567 + None, # 1568 + None, # 1569 + None, # 1570 + None, # 1571 + None, # 1572 + None, # 1573 + None, # 1574 + None, # 1575 + None, # 1576 + None, # 1577 + None, # 1578 + None, # 1579 + None, # 1580 + None, # 1581 + None, # 1582 + None, # 1583 + None, # 1584 + None, # 1585 + None, # 1586 + None, # 1587 + None, # 1588 + None, # 1589 + None, # 1590 + None, # 1591 + None, # 1592 + None, # 1593 + None, # 1594 + None, # 1595 + None, # 1596 + None, # 1597 + None, # 1598 + None, # 1599 + None, # 1600 + None, # 1601 + None, # 1602 + None, # 1603 + None, # 1604 + None, # 1605 + None, # 1606 + None, # 1607 + None, # 1608 + None, # 1609 + None, # 1610 + None, # 1611 + None, # 1612 + None, # 1613 + None, # 1614 + None, # 1615 + None, # 1616 + None, # 1617 + None, # 1618 + None, # 1619 + None, # 1620 + None, # 1621 + None, # 1622 + None, # 1623 + None, # 1624 + None, # 1625 + None, # 1626 + None, # 1627 + None, # 1628 + None, # 1629 + None, # 1630 + None, # 1631 + None, # 1632 + None, # 1633 + None, # 1634 + None, # 1635 + None, # 1636 + None, # 1637 + None, # 1638 + None, # 1639 + None, # 1640 + None, # 1641 + None, # 1642 + None, # 1643 + None, # 1644 + None, # 1645 + None, # 1646 + None, # 1647 + None, # 1648 + None, # 1649 + None, # 1650 + None, # 1651 + None, # 1652 + None, # 1653 + None, # 1654 + None, # 1655 + None, # 1656 + None, # 1657 + None, # 1658 + None, # 1659 + None, # 1660 + None, # 1661 + None, # 1662 + None, # 1663 + None, # 1664 + None, # 1665 + None, # 1666 + None, # 1667 + None, # 1668 + None, # 1669 + None, # 1670 + None, # 1671 + None, # 1672 + None, # 1673 + None, # 1674 + None, # 1675 + None, # 1676 + None, # 1677 + None, # 1678 + None, # 1679 + None, # 1680 + None, # 1681 + None, # 1682 + None, # 1683 + None, # 1684 + None, # 1685 + None, # 1686 + None, # 1687 + None, # 1688 + None, # 1689 + None, # 1690 + None, # 1691 + None, # 1692 + None, # 1693 + None, # 1694 + None, # 1695 + None, # 1696 + None, # 1697 + None, # 1698 + None, # 1699 + None, # 1700 + None, # 1701 + None, # 1702 + None, # 1703 + None, # 1704 + None, # 1705 + None, # 1706 + None, # 1707 + None, # 1708 + None, # 1709 + None, # 1710 + None, # 1711 + None, # 1712 + None, # 1713 + None, # 1714 + None, # 1715 + None, # 1716 + None, # 1717 + None, # 1718 + None, # 1719 + None, # 1720 + None, # 1721 + None, # 1722 + None, # 1723 + None, # 1724 + None, # 1725 + None, # 1726 + None, # 1727 + None, # 1728 + None, # 1729 + None, # 1730 + None, # 1731 + None, # 1732 + None, # 1733 + None, # 1734 + None, # 1735 + None, # 1736 + None, # 1737 + None, # 1738 + None, # 1739 + None, # 1740 + None, # 1741 + None, # 1742 + None, # 1743 + None, # 1744 + None, # 1745 + None, # 1746 + None, # 1747 + None, # 1748 + None, # 1749 + None, # 1750 + None, # 1751 + None, # 1752 + None, # 1753 + None, # 1754 + None, # 1755 + None, # 1756 + None, # 1757 + None, # 1758 + None, # 1759 + None, # 1760 + None, # 1761 + None, # 1762 + None, # 1763 + None, # 1764 + None, # 1765 + None, # 1766 + None, # 1767 + None, # 1768 + None, # 1769 + None, # 1770 + None, # 1771 + None, # 1772 + None, # 1773 + None, # 1774 + None, # 1775 + None, # 1776 + None, # 1777 + None, # 1778 + None, # 1779 + None, # 1780 + None, # 1781 + None, # 1782 + None, # 1783 + None, # 1784 + None, # 1785 + None, # 1786 + None, # 1787 + None, # 1788 + None, # 1789 + None, # 1790 + None, # 1791 + None, # 1792 + None, # 1793 + None, # 1794 + None, # 1795 + None, # 1796 + None, # 1797 + None, # 1798 + None, # 1799 + None, # 1800 + None, # 1801 + None, # 1802 + None, # 1803 + None, # 1804 + None, # 1805 + None, # 1806 + None, # 1807 + None, # 1808 + None, # 1809 + None, # 1810 + None, # 1811 + None, # 1812 + None, # 1813 + None, # 1814 + None, # 1815 + None, # 1816 + None, # 1817 + None, # 1818 + None, # 1819 + None, # 1820 + None, # 1821 + None, # 1822 + None, # 1823 + None, # 1824 + None, # 1825 + None, # 1826 + None, # 1827 + None, # 1828 + None, # 1829 + None, # 1830 + None, # 1831 + None, # 1832 + None, # 1833 + None, # 1834 + None, # 1835 + None, # 1836 + None, # 1837 + None, # 1838 + None, # 1839 + None, # 1840 + None, # 1841 + None, # 1842 + None, # 1843 + None, # 1844 + None, # 1845 + None, # 1846 + None, # 1847 + None, # 1848 + None, # 1849 + None, # 1850 + None, # 1851 + None, # 1852 + None, # 1853 + None, # 1854 + None, # 1855 + None, # 1856 + None, # 1857 + None, # 1858 + None, # 1859 + None, # 1860 + None, # 1861 + None, # 1862 + None, # 1863 + None, # 1864 + None, # 1865 + None, # 1866 + None, # 1867 + None, # 1868 + None, # 1869 + None, # 1870 + None, # 1871 + None, # 1872 + None, # 1873 + None, # 1874 + None, # 1875 + None, # 1876 + None, # 1877 + None, # 1878 + None, # 1879 + None, # 1880 + None, # 1881 + None, # 1882 + None, # 1883 + None, # 1884 + None, # 1885 + None, # 1886 + None, # 1887 + None, # 1888 + None, # 1889 + None, # 1890 + None, # 1891 + None, # 1892 + None, # 1893 + None, # 1894 + None, # 1895 + None, # 1896 + None, # 1897 + None, # 1898 + None, # 1899 + None, # 1900 + None, # 1901 + None, # 1902 + None, # 1903 + None, # 1904 + None, # 1905 + None, # 1906 + None, # 1907 + None, # 1908 + None, # 1909 + None, # 1910 + None, # 1911 + None, # 1912 + None, # 1913 + None, # 1914 + None, # 1915 + None, # 1916 + None, # 1917 + None, # 1918 + None, # 1919 + None, # 1920 + None, # 1921 + None, # 1922 + None, # 1923 + None, # 1924 + None, # 1925 + None, # 1926 + None, # 1927 + None, # 1928 + None, # 1929 + None, # 1930 + None, # 1931 + None, # 1932 + None, # 1933 + None, # 1934 + None, # 1935 + None, # 1936 + None, # 1937 + None, # 1938 + None, # 1939 + None, # 1940 + None, # 1941 + None, # 1942 + None, # 1943 + None, # 1944 + None, # 1945 + None, # 1946 + None, # 1947 + None, # 1948 + None, # 1949 + None, # 1950 + None, # 1951 + None, # 1952 + None, # 1953 + None, # 1954 + None, # 1955 + None, # 1956 + None, # 1957 + None, # 1958 + None, # 1959 + None, # 1960 + None, # 1961 + None, # 1962 + None, # 1963 + None, # 1964 + None, # 1965 + None, # 1966 + None, # 1967 + None, # 1968 + None, # 1969 + None, # 1970 + None, # 1971 + None, # 1972 + None, # 1973 + None, # 1974 + None, # 1975 + None, # 1976 + None, # 1977 + None, # 1978 + None, # 1979 + None, # 1980 + None, # 1981 + None, # 1982 + None, # 1983 + None, # 1984 + None, # 1985 + None, # 1986 + None, # 1987 + None, # 1988 + None, # 1989 + None, # 1990 + None, # 1991 + None, # 1992 + None, # 1993 + None, # 1994 + None, # 1995 + None, # 1996 + None, # 1997 + None, # 1998 + None, # 1999 + None, # 2000 + None, # 2001 + None, # 2002 + None, # 2003 + None, # 2004 + None, # 2005 + None, # 2006 + None, # 2007 + None, # 2008 + None, # 2009 + None, # 2010 + None, # 2011 + None, # 2012 + None, # 2013 + None, # 2014 + None, # 2015 + None, # 2016 + None, # 2017 + None, # 2018 + None, # 2019 + None, # 2020 + None, # 2021 + None, # 2022 + None, # 2023 + None, # 2024 + None, # 2025 + None, # 2026 + None, # 2027 + None, # 2028 + None, # 2029 + None, # 2030 + None, # 2031 + None, # 2032 + None, # 2033 + None, # 2034 + None, # 2035 + None, # 2036 + None, # 2037 + None, # 2038 + None, # 2039 + None, # 2040 + None, # 2041 + None, # 2042 + None, # 2043 + None, # 2044 + None, # 2045 + None, # 2046 + None, # 2047 + None, # 2048 + None, # 2049 + None, # 2050 + None, # 2051 + None, # 2052 + None, # 2053 + None, # 2054 + None, # 2055 + None, # 2056 + None, # 2057 + None, # 2058 + None, # 2059 + None, # 2060 + None, # 2061 + None, # 2062 + None, # 2063 + None, # 2064 + None, # 2065 + None, # 2066 + None, # 2067 + None, # 2068 + None, # 2069 + None, # 2070 + None, # 2071 + None, # 2072 + None, # 2073 + None, # 2074 + None, # 2075 + None, # 2076 + None, # 2077 + None, # 2078 + None, # 2079 + None, # 2080 + None, # 2081 + None, # 2082 + None, # 2083 + None, # 2084 + None, # 2085 + None, # 2086 + None, # 2087 + None, # 2088 + None, # 2089 + None, # 2090 + None, # 2091 + None, # 2092 + None, # 2093 + None, # 2094 + None, # 2095 + None, # 2096 + None, # 2097 + None, # 2098 + None, # 2099 + None, # 2100 + None, # 2101 + None, # 2102 + None, # 2103 + None, # 2104 + None, # 2105 + None, # 2106 + None, # 2107 + None, # 2108 + None, # 2109 + None, # 2110 + None, # 2111 + None, # 2112 + None, # 2113 + None, # 2114 + None, # 2115 + None, # 2116 + None, # 2117 + None, # 2118 + None, # 2119 + None, # 2120 + None, # 2121 + None, # 2122 + None, # 2123 + None, # 2124 + None, # 2125 + None, # 2126 + None, # 2127 + None, # 2128 + None, # 2129 + None, # 2130 + None, # 2131 + None, # 2132 + None, # 2133 + None, # 2134 + None, # 2135 + None, # 2136 + None, # 2137 + None, # 2138 + None, # 2139 + None, # 2140 + None, # 2141 + None, # 2142 + None, # 2143 + None, # 2144 + None, # 2145 + None, # 2146 + None, # 2147 + None, # 2148 + None, # 2149 + None, # 2150 + None, # 2151 + None, # 2152 + None, # 2153 + None, # 2154 + None, # 2155 + None, # 2156 + None, # 2157 + None, # 2158 + None, # 2159 + None, # 2160 + None, # 2161 + None, # 2162 + None, # 2163 + None, # 2164 + None, # 2165 + None, # 2166 + None, # 2167 + None, # 2168 + None, # 2169 + None, # 2170 + None, # 2171 + None, # 2172 + None, # 2173 + None, # 2174 + None, # 2175 + None, # 2176 + None, # 2177 + None, # 2178 + None, # 2179 + None, # 2180 + None, # 2181 + None, # 2182 + None, # 2183 + None, # 2184 + None, # 2185 + None, # 2186 + None, # 2187 + None, # 2188 + None, # 2189 + None, # 2190 + None, # 2191 + None, # 2192 + None, # 2193 + None, # 2194 + None, # 2195 + None, # 2196 + None, # 2197 + None, # 2198 + None, # 2199 + None, # 2200 + None, # 2201 + None, # 2202 + None, # 2203 + None, # 2204 + None, # 2205 + None, # 2206 + None, # 2207 + None, # 2208 + None, # 2209 + None, # 2210 + None, # 2211 + None, # 2212 + None, # 2213 + None, # 2214 + None, # 2215 + None, # 2216 + None, # 2217 + None, # 2218 + None, # 2219 + None, # 2220 + None, # 2221 + None, # 2222 + None, # 2223 + None, # 2224 + None, # 2225 + None, # 2226 + None, # 2227 + None, # 2228 + None, # 2229 + None, # 2230 + None, # 2231 + None, # 2232 + None, # 2233 + None, # 2234 + None, # 2235 + None, # 2236 + None, # 2237 + None, # 2238 + None, # 2239 + None, # 2240 + None, # 2241 + None, # 2242 + None, # 2243 + None, # 2244 + None, # 2245 + None, # 2246 + None, # 2247 + None, # 2248 + None, # 2249 + None, # 2250 + None, # 2251 + None, # 2252 + None, # 2253 + None, # 2254 + None, # 2255 + None, # 2256 + None, # 2257 + None, # 2258 + None, # 2259 + None, # 2260 + None, # 2261 + None, # 2262 + None, # 2263 + None, # 2264 + None, # 2265 + None, # 2266 + None, # 2267 + None, # 2268 + None, # 2269 + None, # 2270 + None, # 2271 + None, # 2272 + None, # 2273 + None, # 2274 + None, # 2275 + None, # 2276 + None, # 2277 + None, # 2278 + None, # 2279 + None, # 2280 + None, # 2281 + None, # 2282 + None, # 2283 + None, # 2284 + None, # 2285 + None, # 2286 + None, # 2287 + None, # 2288 + None, # 2289 + None, # 2290 + None, # 2291 + None, # 2292 + None, # 2293 + None, # 2294 + None, # 2295 + None, # 2296 + None, # 2297 + None, # 2298 + None, # 2299 + None, # 2300 + None, # 2301 + None, # 2302 + None, # 2303 + None, # 2304 + None, # 2305 + None, # 2306 + None, # 2307 + None, # 2308 + None, # 2309 + None, # 2310 + None, # 2311 + None, # 2312 + None, # 2313 + None, # 2314 + None, # 2315 + None, # 2316 + None, # 2317 + None, # 2318 + None, # 2319 + None, # 2320 + None, # 2321 + None, # 2322 + None, # 2323 + None, # 2324 + None, # 2325 + None, # 2326 + None, # 2327 + None, # 2328 + None, # 2329 + None, # 2330 + None, # 2331 + None, # 2332 + None, # 2333 + None, # 2334 + None, # 2335 + None, # 2336 + None, # 2337 + None, # 2338 + None, # 2339 + None, # 2340 + None, # 2341 + None, # 2342 + None, # 2343 + None, # 2344 + None, # 2345 + None, # 2346 + None, # 2347 + None, # 2348 + None, # 2349 + None, # 2350 + None, # 2351 + None, # 2352 + None, # 2353 + None, # 2354 + None, # 2355 + None, # 2356 + None, # 2357 + None, # 2358 + None, # 2359 + None, # 2360 + None, # 2361 + None, # 2362 + None, # 2363 + None, # 2364 + None, # 2365 + None, # 2366 + None, # 2367 + None, # 2368 + None, # 2369 + None, # 2370 + None, # 2371 + None, # 2372 + None, # 2373 + None, # 2374 + None, # 2375 + None, # 2376 + None, # 2377 + None, # 2378 + None, # 2379 + None, # 2380 + None, # 2381 + None, # 2382 + None, # 2383 + None, # 2384 + None, # 2385 + None, # 2386 + None, # 2387 + None, # 2388 + None, # 2389 + None, # 2390 + None, # 2391 + None, # 2392 + None, # 2393 + None, # 2394 + None, # 2395 + None, # 2396 + None, # 2397 + None, # 2398 + None, # 2399 + None, # 2400 + None, # 2401 + None, # 2402 + None, # 2403 + None, # 2404 + None, # 2405 + None, # 2406 + None, # 2407 + None, # 2408 + None, # 2409 + None, # 2410 + None, # 2411 + None, # 2412 + None, # 2413 + None, # 2414 + None, # 2415 + None, # 2416 + None, # 2417 + None, # 2418 + None, # 2419 + None, # 2420 + None, # 2421 + None, # 2422 + None, # 2423 + None, # 2424 + None, # 2425 + None, # 2426 + None, # 2427 + None, # 2428 + None, # 2429 + None, # 2430 + None, # 2431 + None, # 2432 + None, # 2433 + None, # 2434 + None, # 2435 + None, # 2436 + None, # 2437 + None, # 2438 + None, # 2439 + None, # 2440 + None, # 2441 + None, # 2442 + None, # 2443 + None, # 2444 + None, # 2445 + None, # 2446 + None, # 2447 + None, # 2448 + None, # 2449 + None, # 2450 + None, # 2451 + None, # 2452 + None, # 2453 + None, # 2454 + None, # 2455 + None, # 2456 + None, # 2457 + None, # 2458 + None, # 2459 + None, # 2460 + None, # 2461 + None, # 2462 + None, # 2463 + None, # 2464 + None, # 2465 + None, # 2466 + None, # 2467 + None, # 2468 + None, # 2469 + None, # 2470 + None, # 2471 + None, # 2472 + None, # 2473 + None, # 2474 + None, # 2475 + None, # 2476 + None, # 2477 + None, # 2478 + None, # 2479 + None, # 2480 + None, # 2481 + None, # 2482 + None, # 2483 + None, # 2484 + None, # 2485 + None, # 2486 + None, # 2487 + None, # 2488 + None, # 2489 + None, # 2490 + None, # 2491 + None, # 2492 + None, # 2493 + None, # 2494 + None, # 2495 + None, # 2496 + None, # 2497 + None, # 2498 + None, # 2499 + None, # 2500 + None, # 2501 + None, # 2502 + None, # 2503 + None, # 2504 + None, # 2505 + None, # 2506 + None, # 2507 + None, # 2508 + None, # 2509 + None, # 2510 + None, # 2511 + None, # 2512 + None, # 2513 + None, # 2514 + None, # 2515 + None, # 2516 + None, # 2517 + None, # 2518 + None, # 2519 + None, # 2520 + None, # 2521 + None, # 2522 + None, # 2523 + None, # 2524 + None, # 2525 + None, # 2526 + None, # 2527 + None, # 2528 + None, # 2529 + None, # 2530 + None, # 2531 + None, # 2532 + None, # 2533 + None, # 2534 + None, # 2535 + None, # 2536 + None, # 2537 + None, # 2538 + None, # 2539 + None, # 2540 + None, # 2541 + None, # 2542 + None, # 2543 + None, # 2544 + None, # 2545 + None, # 2546 + None, # 2547 + None, # 2548 + None, # 2549 + None, # 2550 + None, # 2551 + None, # 2552 + None, # 2553 + None, # 2554 + None, # 2555 + None, # 2556 + None, # 2557 + None, # 2558 + None, # 2559 + None, # 2560 + None, # 2561 + None, # 2562 + None, # 2563 + None, # 2564 + None, # 2565 + None, # 2566 + None, # 2567 + None, # 2568 + None, # 2569 + None, # 2570 + None, # 2571 + None, # 2572 + None, # 2573 + None, # 2574 + None, # 2575 + None, # 2576 + None, # 2577 + None, # 2578 + None, # 2579 + None, # 2580 + None, # 2581 + None, # 2582 + None, # 2583 + None, # 2584 + None, # 2585 + None, # 2586 + None, # 2587 + None, # 2588 + None, # 2589 + None, # 2590 + None, # 2591 + None, # 2592 + None, # 2593 + None, # 2594 + None, # 2595 + None, # 2596 + None, # 2597 + None, # 2598 + None, # 2599 + None, # 2600 + None, # 2601 + None, # 2602 + None, # 2603 + None, # 2604 + None, # 2605 + None, # 2606 + None, # 2607 + None, # 2608 + None, # 2609 + None, # 2610 + None, # 2611 + None, # 2612 + None, # 2613 + None, # 2614 + None, # 2615 + None, # 2616 + None, # 2617 + None, # 2618 + None, # 2619 + None, # 2620 + None, # 2621 + None, # 2622 + None, # 2623 + None, # 2624 + None, # 2625 + None, # 2626 + None, # 2627 + None, # 2628 + None, # 2629 + None, # 2630 + None, # 2631 + None, # 2632 + None, # 2633 + None, # 2634 + None, # 2635 + None, # 2636 + None, # 2637 + None, # 2638 + None, # 2639 + None, # 2640 + None, # 2641 + None, # 2642 + None, # 2643 + None, # 2644 + None, # 2645 + None, # 2646 + None, # 2647 + None, # 2648 + None, # 2649 + None, # 2650 + None, # 2651 + None, # 2652 + None, # 2653 + None, # 2654 + None, # 2655 + None, # 2656 + None, # 2657 + None, # 2658 + None, # 2659 + None, # 2660 + None, # 2661 + None, # 2662 + None, # 2663 + None, # 2664 + None, # 2665 + None, # 2666 + None, # 2667 + None, # 2668 + None, # 2669 + None, # 2670 + None, # 2671 + None, # 2672 + None, # 2673 + None, # 2674 + None, # 2675 + None, # 2676 + None, # 2677 + None, # 2678 + None, # 2679 + None, # 2680 + None, # 2681 + None, # 2682 + None, # 2683 + None, # 2684 + None, # 2685 + None, # 2686 + None, # 2687 + None, # 2688 + None, # 2689 + None, # 2690 + None, # 2691 + None, # 2692 + None, # 2693 + None, # 2694 + None, # 2695 + None, # 2696 + None, # 2697 + None, # 2698 + None, # 2699 + None, # 2700 + None, # 2701 + None, # 2702 + None, # 2703 + None, # 2704 + None, # 2705 + None, # 2706 + None, # 2707 + None, # 2708 + None, # 2709 + None, # 2710 + None, # 2711 + None, # 2712 + None, # 2713 + None, # 2714 + None, # 2715 + None, # 2716 + None, # 2717 + None, # 2718 + None, # 2719 + None, # 2720 + None, # 2721 + None, # 2722 + None, # 2723 + None, # 2724 + None, # 2725 + None, # 2726 + None, # 2727 + None, # 2728 + None, # 2729 + None, # 2730 + None, # 2731 + None, # 2732 + None, # 2733 + None, # 2734 + None, # 2735 + None, # 2736 + None, # 2737 + None, # 2738 + None, # 2739 + None, # 2740 + None, # 2741 + None, # 2742 + None, # 2743 + None, # 2744 + None, # 2745 + None, # 2746 + None, # 2747 + None, # 2748 + None, # 2749 + None, # 2750 + None, # 2751 + None, # 2752 + None, # 2753 + None, # 2754 + None, # 2755 + None, # 2756 + None, # 2757 + None, # 2758 + None, # 2759 + None, # 2760 + None, # 2761 + None, # 2762 + None, # 2763 + None, # 2764 + None, # 2765 + None, # 2766 + None, # 2767 + None, # 2768 + None, # 2769 + None, # 2770 + None, # 2771 + None, # 2772 + None, # 2773 + None, # 2774 + None, # 2775 + None, # 2776 + None, # 2777 + None, # 2778 + None, # 2779 + None, # 2780 + None, # 2781 + None, # 2782 + None, # 2783 + None, # 2784 + None, # 2785 + None, # 2786 + None, # 2787 + None, # 2788 + None, # 2789 + None, # 2790 + None, # 2791 + None, # 2792 + None, # 2793 + None, # 2794 + None, # 2795 + None, # 2796 + None, # 2797 + None, # 2798 + None, # 2799 + None, # 2800 + None, # 2801 + None, # 2802 + None, # 2803 + None, # 2804 + None, # 2805 + None, # 2806 + None, # 2807 + None, # 2808 + None, # 2809 + None, # 2810 + None, # 2811 + None, # 2812 + None, # 2813 + None, # 2814 + None, # 2815 + None, # 2816 + None, # 2817 + None, # 2818 + None, # 2819 + None, # 2820 + None, # 2821 + None, # 2822 + None, # 2823 + None, # 2824 + None, # 2825 + None, # 2826 + None, # 2827 + None, # 2828 + None, # 2829 + None, # 2830 + None, # 2831 + None, # 2832 + None, # 2833 + None, # 2834 + None, # 2835 + None, # 2836 + None, # 2837 + None, # 2838 + None, # 2839 + None, # 2840 + None, # 2841 + None, # 2842 + None, # 2843 + None, # 2844 + None, # 2845 + None, # 2846 + None, # 2847 + None, # 2848 + None, # 2849 + None, # 2850 + None, # 2851 + None, # 2852 + None, # 2853 + None, # 2854 + None, # 2855 + None, # 2856 + None, # 2857 + None, # 2858 + None, # 2859 + None, # 2860 + None, # 2861 + None, # 2862 + None, # 2863 + None, # 2864 + None, # 2865 + None, # 2866 + None, # 2867 + None, # 2868 + None, # 2869 + None, # 2870 + None, # 2871 + None, # 2872 + None, # 2873 + None, # 2874 + None, # 2875 + None, # 2876 + None, # 2877 + None, # 2878 + None, # 2879 + None, # 2880 + None, # 2881 + None, # 2882 + None, # 2883 + None, # 2884 + None, # 2885 + None, # 2886 + None, # 2887 + None, # 2888 + None, # 2889 + None, # 2890 + None, # 2891 + None, # 2892 + None, # 2893 + None, # 2894 + None, # 2895 + None, # 2896 + None, # 2897 + None, # 2898 + None, # 2899 + None, # 2900 + None, # 2901 + None, # 2902 + None, # 2903 + None, # 2904 + None, # 2905 + None, # 2906 + None, # 2907 + None, # 2908 + None, # 2909 + None, # 2910 + None, # 2911 + None, # 2912 + None, # 2913 + None, # 2914 + None, # 2915 + None, # 2916 + None, # 2917 + None, # 2918 + None, # 2919 + None, # 2920 + None, # 2921 + None, # 2922 + None, # 2923 + None, # 2924 + None, # 2925 + None, # 2926 + None, # 2927 + None, # 2928 + None, # 2929 + None, # 2930 + None, # 2931 + None, # 2932 + None, # 2933 + None, # 2934 + None, # 2935 + None, # 2936 + None, # 2937 + None, # 2938 + None, # 2939 + None, # 2940 + None, # 2941 + None, # 2942 + None, # 2943 + None, # 2944 + None, # 2945 + None, # 2946 + None, # 2947 + None, # 2948 + None, # 2949 + None, # 2950 + None, # 2951 + None, # 2952 + None, # 2953 + None, # 2954 + None, # 2955 + None, # 2956 + None, # 2957 + None, # 2958 + None, # 2959 + None, # 2960 + None, # 2961 + None, # 2962 + None, # 2963 + None, # 2964 + None, # 2965 + None, # 2966 + None, # 2967 + None, # 2968 + None, # 2969 + None, # 2970 + None, # 2971 + None, # 2972 + None, # 2973 + None, # 2974 + None, # 2975 + None, # 2976 + None, # 2977 + None, # 2978 + None, # 2979 + None, # 2980 + None, # 2981 + None, # 2982 + None, # 2983 + None, # 2984 + None, # 2985 + None, # 2986 + None, # 2987 + None, # 2988 + None, # 2989 + None, # 2990 + None, # 2991 + None, # 2992 + None, # 2993 + None, # 2994 + None, # 2995 + None, # 2996 + None, # 2997 + None, # 2998 + None, # 2999 + None, # 3000 + None, # 3001 + None, # 3002 + None, # 3003 + None, # 3004 + None, # 3005 + None, # 3006 + None, # 3007 + None, # 3008 + None, # 3009 + None, # 3010 + None, # 3011 + None, # 3012 + None, # 3013 + None, # 3014 + None, # 3015 + None, # 3016 + None, # 3017 + None, # 3018 + None, # 3019 + None, # 3020 + None, # 3021 + None, # 3022 + None, # 3023 + None, # 3024 + None, # 3025 + None, # 3026 + None, # 3027 + None, # 3028 + None, # 3029 + None, # 3030 + None, # 3031 + None, # 3032 + None, # 3033 + None, # 3034 + None, # 3035 + None, # 3036 + None, # 3037 + None, # 3038 + None, # 3039 + None, # 3040 + None, # 3041 + None, # 3042 + None, # 3043 + None, # 3044 + None, # 3045 + None, # 3046 + None, # 3047 + None, # 3048 + None, # 3049 + None, # 3050 + None, # 3051 + None, # 3052 + None, # 3053 + None, # 3054 + None, # 3055 + None, # 3056 + None, # 3057 + None, # 3058 + None, # 3059 + None, # 3060 + None, # 3061 + None, # 3062 + None, # 3063 + None, # 3064 + None, # 3065 + None, # 3066 + None, # 3067 + None, # 3068 + None, # 3069 + None, # 3070 + None, # 3071 + None, # 3072 + None, # 3073 + None, # 3074 + None, # 3075 + None, # 3076 + None, # 3077 + None, # 3078 + None, # 3079 + None, # 3080 + None, # 3081 + None, # 3082 + None, # 3083 + None, # 3084 + None, # 3085 + None, # 3086 + None, # 3087 + None, # 3088 + None, # 3089 + None, # 3090 + None, # 3091 + None, # 3092 + None, # 3093 + None, # 3094 + None, # 3095 + None, # 3096 + None, # 3097 + None, # 3098 + None, # 3099 + None, # 3100 + None, # 3101 + None, # 3102 + None, # 3103 + None, # 3104 + None, # 3105 + None, # 3106 + None, # 3107 + None, # 3108 + None, # 3109 + None, # 3110 + None, # 3111 + None, # 3112 + None, # 3113 + None, # 3114 + None, # 3115 + None, # 3116 + None, # 3117 + None, # 3118 + None, # 3119 + None, # 3120 + None, # 3121 + None, # 3122 + None, # 3123 + None, # 3124 + None, # 3125 + None, # 3126 + None, # 3127 + None, # 3128 + None, # 3129 + None, # 3130 + None, # 3131 + None, # 3132 + None, # 3133 + None, # 3134 + None, # 3135 + None, # 3136 + None, # 3137 + None, # 3138 + None, # 3139 + None, # 3140 + None, # 3141 + None, # 3142 + None, # 3143 + None, # 3144 + None, # 3145 + None, # 3146 + None, # 3147 + None, # 3148 + None, # 3149 + None, # 3150 + None, # 3151 + None, # 3152 + None, # 3153 + None, # 3154 + None, # 3155 + None, # 3156 + None, # 3157 + None, # 3158 + None, # 3159 + None, # 3160 + None, # 3161 + None, # 3162 + None, # 3163 + None, # 3164 + None, # 3165 + None, # 3166 + None, # 3167 + None, # 3168 + None, # 3169 + None, # 3170 + None, # 3171 + None, # 3172 + None, # 3173 + None, # 3174 + None, # 3175 + None, # 3176 + None, # 3177 + None, # 3178 + None, # 3179 + None, # 3180 + None, # 3181 + None, # 3182 + None, # 3183 + None, # 3184 + None, # 3185 + None, # 3186 + None, # 3187 + None, # 3188 + None, # 3189 + None, # 3190 + None, # 3191 + None, # 3192 + None, # 3193 + None, # 3194 + None, # 3195 + None, # 3196 + None, # 3197 + None, # 3198 + None, # 3199 + None, # 3200 + None, # 3201 + None, # 3202 + None, # 3203 + None, # 3204 + None, # 3205 + None, # 3206 + None, # 3207 + None, # 3208 + None, # 3209 + None, # 3210 + None, # 3211 + None, # 3212 + None, # 3213 + None, # 3214 + None, # 3215 + None, # 3216 + None, # 3217 + None, # 3218 + None, # 3219 + None, # 3220 + None, # 3221 + None, # 3222 + None, # 3223 + None, # 3224 + None, # 3225 + None, # 3226 + None, # 3227 + None, # 3228 + None, # 3229 + None, # 3230 + None, # 3231 + None, # 3232 + None, # 3233 + None, # 3234 + None, # 3235 + None, # 3236 + None, # 3237 + None, # 3238 + None, # 3239 + None, # 3240 + None, # 3241 + None, # 3242 + None, # 3243 + None, # 3244 + None, # 3245 + None, # 3246 + None, # 3247 + None, # 3248 + None, # 3249 + None, # 3250 + None, # 3251 + None, # 3252 + None, # 3253 + None, # 3254 + None, # 3255 + None, # 3256 + None, # 3257 + None, # 3258 + None, # 3259 + None, # 3260 + None, # 3261 + None, # 3262 + None, # 3263 + None, # 3264 + None, # 3265 + None, # 3266 + None, # 3267 + None, # 3268 + None, # 3269 + None, # 3270 + None, # 3271 + None, # 3272 + None, # 3273 + None, # 3274 + None, # 3275 + None, # 3276 + None, # 3277 + None, # 3278 + None, # 3279 + None, # 3280 + None, # 3281 + None, # 3282 + None, # 3283 + None, # 3284 + None, # 3285 + None, # 3286 + None, # 3287 + None, # 3288 + None, # 3289 + None, # 3290 + None, # 3291 + None, # 3292 + None, # 3293 + None, # 3294 + None, # 3295 + None, # 3296 + None, # 3297 + None, # 3298 + None, # 3299 + None, # 3300 + None, # 3301 + None, # 3302 + None, # 3303 + None, # 3304 + None, # 3305 + None, # 3306 + None, # 3307 + None, # 3308 + None, # 3309 + None, # 3310 + None, # 3311 + None, # 3312 + None, # 3313 + None, # 3314 + None, # 3315 + None, # 3316 + None, # 3317 + None, # 3318 + None, # 3319 + None, # 3320 + None, # 3321 + None, # 3322 + None, # 3323 + None, # 3324 + None, # 3325 + None, # 3326 + None, # 3327 + None, # 3328 + (3329, TType.I16, 'executionVersion', None, None, ), # 3329 + (3330, TType.BOOL, 'replacedByNextAttempt', None, None, ), # 3330 ) all_structs.append(TCancelOperationResp) TCancelOperationResp.thrift_spec = ( - None, # 0 - ( - 1, - TType.STRUCT, - "status", - [TStatus, None], - None, - ), # 1 + None, # 0 + (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 ) all_structs.append(TCloseOperationReq) TCloseOperationReq.thrift_spec = ( - None, # 0 - ( - 1, - TType.STRUCT, - "operationHandle", - [TOperationHandle, None], - None, - ), # 1 - None, # 2 - None, # 3 - None, # 4 - None, # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - None, # 1281 - None, # 1282 - None, # 1283 - None, # 1284 - None, # 1285 - None, # 1286 - None, # 1287 - None, # 1288 - None, # 1289 - None, # 1290 - None, # 1291 - None, # 1292 - None, # 1293 - None, # 1294 - None, # 1295 - None, # 1296 - None, # 1297 - None, # 1298 - None, # 1299 - None, # 1300 - None, # 1301 - None, # 1302 - None, # 1303 - None, # 1304 - None, # 1305 - None, # 1306 - None, # 1307 - None, # 1308 - None, # 1309 - None, # 1310 - None, # 1311 - None, # 1312 - None, # 1313 - None, # 1314 - None, # 1315 - None, # 1316 - None, # 1317 - None, # 1318 - None, # 1319 - None, # 1320 - None, # 1321 - None, # 1322 - None, # 1323 - None, # 1324 - None, # 1325 - None, # 1326 - None, # 1327 - None, # 1328 - None, # 1329 - None, # 1330 - None, # 1331 - None, # 1332 - None, # 1333 - None, # 1334 - None, # 1335 - None, # 1336 - None, # 1337 - None, # 1338 - None, # 1339 - None, # 1340 - None, # 1341 - None, # 1342 - None, # 1343 - None, # 1344 - None, # 1345 - None, # 1346 - None, # 1347 - None, # 1348 - None, # 1349 - None, # 1350 - None, # 1351 - None, # 1352 - None, # 1353 - None, # 1354 - None, # 1355 - None, # 1356 - None, # 1357 - None, # 1358 - None, # 1359 - None, # 1360 - None, # 1361 - None, # 1362 - None, # 1363 - None, # 1364 - None, # 1365 - None, # 1366 - None, # 1367 - None, # 1368 - None, # 1369 - None, # 1370 - None, # 1371 - None, # 1372 - None, # 1373 - None, # 1374 - None, # 1375 - None, # 1376 - None, # 1377 - None, # 1378 - None, # 1379 - None, # 1380 - None, # 1381 - None, # 1382 - None, # 1383 - None, # 1384 - None, # 1385 - None, # 1386 - None, # 1387 - None, # 1388 - None, # 1389 - None, # 1390 - None, # 1391 - None, # 1392 - None, # 1393 - None, # 1394 - None, # 1395 - None, # 1396 - None, # 1397 - None, # 1398 - None, # 1399 - None, # 1400 - None, # 1401 - None, # 1402 - None, # 1403 - None, # 1404 - None, # 1405 - None, # 1406 - None, # 1407 - None, # 1408 - None, # 1409 - None, # 1410 - None, # 1411 - None, # 1412 - None, # 1413 - None, # 1414 - None, # 1415 - None, # 1416 - None, # 1417 - None, # 1418 - None, # 1419 - None, # 1420 - None, # 1421 - None, # 1422 - None, # 1423 - None, # 1424 - None, # 1425 - None, # 1426 - None, # 1427 - None, # 1428 - None, # 1429 - None, # 1430 - None, # 1431 - None, # 1432 - None, # 1433 - None, # 1434 - None, # 1435 - None, # 1436 - None, # 1437 - None, # 1438 - None, # 1439 - None, # 1440 - None, # 1441 - None, # 1442 - None, # 1443 - None, # 1444 - None, # 1445 - None, # 1446 - None, # 1447 - None, # 1448 - None, # 1449 - None, # 1450 - None, # 1451 - None, # 1452 - None, # 1453 - None, # 1454 - None, # 1455 - None, # 1456 - None, # 1457 - None, # 1458 - None, # 1459 - None, # 1460 - None, # 1461 - None, # 1462 - None, # 1463 - None, # 1464 - None, # 1465 - None, # 1466 - None, # 1467 - None, # 1468 - None, # 1469 - None, # 1470 - None, # 1471 - None, # 1472 - None, # 1473 - None, # 1474 - None, # 1475 - None, # 1476 - None, # 1477 - None, # 1478 - None, # 1479 - None, # 1480 - None, # 1481 - None, # 1482 - None, # 1483 - None, # 1484 - None, # 1485 - None, # 1486 - None, # 1487 - None, # 1488 - None, # 1489 - None, # 1490 - None, # 1491 - None, # 1492 - None, # 1493 - None, # 1494 - None, # 1495 - None, # 1496 - None, # 1497 - None, # 1498 - None, # 1499 - None, # 1500 - None, # 1501 - None, # 1502 - None, # 1503 - None, # 1504 - None, # 1505 - None, # 1506 - None, # 1507 - None, # 1508 - None, # 1509 - None, # 1510 - None, # 1511 - None, # 1512 - None, # 1513 - None, # 1514 - None, # 1515 - None, # 1516 - None, # 1517 - None, # 1518 - None, # 1519 - None, # 1520 - None, # 1521 - None, # 1522 - None, # 1523 - None, # 1524 - None, # 1525 - None, # 1526 - None, # 1527 - None, # 1528 - None, # 1529 - None, # 1530 - None, # 1531 - None, # 1532 - None, # 1533 - None, # 1534 - None, # 1535 - None, # 1536 - None, # 1537 - None, # 1538 - None, # 1539 - None, # 1540 - None, # 1541 - None, # 1542 - None, # 1543 - None, # 1544 - None, # 1545 - None, # 1546 - None, # 1547 - None, # 1548 - None, # 1549 - None, # 1550 - None, # 1551 - None, # 1552 - None, # 1553 - None, # 1554 - None, # 1555 - None, # 1556 - None, # 1557 - None, # 1558 - None, # 1559 - None, # 1560 - None, # 1561 - None, # 1562 - None, # 1563 - None, # 1564 - None, # 1565 - None, # 1566 - None, # 1567 - None, # 1568 - None, # 1569 - None, # 1570 - None, # 1571 - None, # 1572 - None, # 1573 - None, # 1574 - None, # 1575 - None, # 1576 - None, # 1577 - None, # 1578 - None, # 1579 - None, # 1580 - None, # 1581 - None, # 1582 - None, # 1583 - None, # 1584 - None, # 1585 - None, # 1586 - None, # 1587 - None, # 1588 - None, # 1589 - None, # 1590 - None, # 1591 - None, # 1592 - None, # 1593 - None, # 1594 - None, # 1595 - None, # 1596 - None, # 1597 - None, # 1598 - None, # 1599 - None, # 1600 - None, # 1601 - None, # 1602 - None, # 1603 - None, # 1604 - None, # 1605 - None, # 1606 - None, # 1607 - None, # 1608 - None, # 1609 - None, # 1610 - None, # 1611 - None, # 1612 - None, # 1613 - None, # 1614 - None, # 1615 - None, # 1616 - None, # 1617 - None, # 1618 - None, # 1619 - None, # 1620 - None, # 1621 - None, # 1622 - None, # 1623 - None, # 1624 - None, # 1625 - None, # 1626 - None, # 1627 - None, # 1628 - None, # 1629 - None, # 1630 - None, # 1631 - None, # 1632 - None, # 1633 - None, # 1634 - None, # 1635 - None, # 1636 - None, # 1637 - None, # 1638 - None, # 1639 - None, # 1640 - None, # 1641 - None, # 1642 - None, # 1643 - None, # 1644 - None, # 1645 - None, # 1646 - None, # 1647 - None, # 1648 - None, # 1649 - None, # 1650 - None, # 1651 - None, # 1652 - None, # 1653 - None, # 1654 - None, # 1655 - None, # 1656 - None, # 1657 - None, # 1658 - None, # 1659 - None, # 1660 - None, # 1661 - None, # 1662 - None, # 1663 - None, # 1664 - None, # 1665 - None, # 1666 - None, # 1667 - None, # 1668 - None, # 1669 - None, # 1670 - None, # 1671 - None, # 1672 - None, # 1673 - None, # 1674 - None, # 1675 - None, # 1676 - None, # 1677 - None, # 1678 - None, # 1679 - None, # 1680 - None, # 1681 - None, # 1682 - None, # 1683 - None, # 1684 - None, # 1685 - None, # 1686 - None, # 1687 - None, # 1688 - None, # 1689 - None, # 1690 - None, # 1691 - None, # 1692 - None, # 1693 - None, # 1694 - None, # 1695 - None, # 1696 - None, # 1697 - None, # 1698 - None, # 1699 - None, # 1700 - None, # 1701 - None, # 1702 - None, # 1703 - None, # 1704 - None, # 1705 - None, # 1706 - None, # 1707 - None, # 1708 - None, # 1709 - None, # 1710 - None, # 1711 - None, # 1712 - None, # 1713 - None, # 1714 - None, # 1715 - None, # 1716 - None, # 1717 - None, # 1718 - None, # 1719 - None, # 1720 - None, # 1721 - None, # 1722 - None, # 1723 - None, # 1724 - None, # 1725 - None, # 1726 - None, # 1727 - None, # 1728 - None, # 1729 - None, # 1730 - None, # 1731 - None, # 1732 - None, # 1733 - None, # 1734 - None, # 1735 - None, # 1736 - None, # 1737 - None, # 1738 - None, # 1739 - None, # 1740 - None, # 1741 - None, # 1742 - None, # 1743 - None, # 1744 - None, # 1745 - None, # 1746 - None, # 1747 - None, # 1748 - None, # 1749 - None, # 1750 - None, # 1751 - None, # 1752 - None, # 1753 - None, # 1754 - None, # 1755 - None, # 1756 - None, # 1757 - None, # 1758 - None, # 1759 - None, # 1760 - None, # 1761 - None, # 1762 - None, # 1763 - None, # 1764 - None, # 1765 - None, # 1766 - None, # 1767 - None, # 1768 - None, # 1769 - None, # 1770 - None, # 1771 - None, # 1772 - None, # 1773 - None, # 1774 - None, # 1775 - None, # 1776 - None, # 1777 - None, # 1778 - None, # 1779 - None, # 1780 - None, # 1781 - None, # 1782 - None, # 1783 - None, # 1784 - None, # 1785 - None, # 1786 - None, # 1787 - None, # 1788 - None, # 1789 - None, # 1790 - None, # 1791 - None, # 1792 - None, # 1793 - None, # 1794 - None, # 1795 - None, # 1796 - None, # 1797 - None, # 1798 - None, # 1799 - None, # 1800 - None, # 1801 - None, # 1802 - None, # 1803 - None, # 1804 - None, # 1805 - None, # 1806 - None, # 1807 - None, # 1808 - None, # 1809 - None, # 1810 - None, # 1811 - None, # 1812 - None, # 1813 - None, # 1814 - None, # 1815 - None, # 1816 - None, # 1817 - None, # 1818 - None, # 1819 - None, # 1820 - None, # 1821 - None, # 1822 - None, # 1823 - None, # 1824 - None, # 1825 - None, # 1826 - None, # 1827 - None, # 1828 - None, # 1829 - None, # 1830 - None, # 1831 - None, # 1832 - None, # 1833 - None, # 1834 - None, # 1835 - None, # 1836 - None, # 1837 - None, # 1838 - None, # 1839 - None, # 1840 - None, # 1841 - None, # 1842 - None, # 1843 - None, # 1844 - None, # 1845 - None, # 1846 - None, # 1847 - None, # 1848 - None, # 1849 - None, # 1850 - None, # 1851 - None, # 1852 - None, # 1853 - None, # 1854 - None, # 1855 - None, # 1856 - None, # 1857 - None, # 1858 - None, # 1859 - None, # 1860 - None, # 1861 - None, # 1862 - None, # 1863 - None, # 1864 - None, # 1865 - None, # 1866 - None, # 1867 - None, # 1868 - None, # 1869 - None, # 1870 - None, # 1871 - None, # 1872 - None, # 1873 - None, # 1874 - None, # 1875 - None, # 1876 - None, # 1877 - None, # 1878 - None, # 1879 - None, # 1880 - None, # 1881 - None, # 1882 - None, # 1883 - None, # 1884 - None, # 1885 - None, # 1886 - None, # 1887 - None, # 1888 - None, # 1889 - None, # 1890 - None, # 1891 - None, # 1892 - None, # 1893 - None, # 1894 - None, # 1895 - None, # 1896 - None, # 1897 - None, # 1898 - None, # 1899 - None, # 1900 - None, # 1901 - None, # 1902 - None, # 1903 - None, # 1904 - None, # 1905 - None, # 1906 - None, # 1907 - None, # 1908 - None, # 1909 - None, # 1910 - None, # 1911 - None, # 1912 - None, # 1913 - None, # 1914 - None, # 1915 - None, # 1916 - None, # 1917 - None, # 1918 - None, # 1919 - None, # 1920 - None, # 1921 - None, # 1922 - None, # 1923 - None, # 1924 - None, # 1925 - None, # 1926 - None, # 1927 - None, # 1928 - None, # 1929 - None, # 1930 - None, # 1931 - None, # 1932 - None, # 1933 - None, # 1934 - None, # 1935 - None, # 1936 - None, # 1937 - None, # 1938 - None, # 1939 - None, # 1940 - None, # 1941 - None, # 1942 - None, # 1943 - None, # 1944 - None, # 1945 - None, # 1946 - None, # 1947 - None, # 1948 - None, # 1949 - None, # 1950 - None, # 1951 - None, # 1952 - None, # 1953 - None, # 1954 - None, # 1955 - None, # 1956 - None, # 1957 - None, # 1958 - None, # 1959 - None, # 1960 - None, # 1961 - None, # 1962 - None, # 1963 - None, # 1964 - None, # 1965 - None, # 1966 - None, # 1967 - None, # 1968 - None, # 1969 - None, # 1970 - None, # 1971 - None, # 1972 - None, # 1973 - None, # 1974 - None, # 1975 - None, # 1976 - None, # 1977 - None, # 1978 - None, # 1979 - None, # 1980 - None, # 1981 - None, # 1982 - None, # 1983 - None, # 1984 - None, # 1985 - None, # 1986 - None, # 1987 - None, # 1988 - None, # 1989 - None, # 1990 - None, # 1991 - None, # 1992 - None, # 1993 - None, # 1994 - None, # 1995 - None, # 1996 - None, # 1997 - None, # 1998 - None, # 1999 - None, # 2000 - None, # 2001 - None, # 2002 - None, # 2003 - None, # 2004 - None, # 2005 - None, # 2006 - None, # 2007 - None, # 2008 - None, # 2009 - None, # 2010 - None, # 2011 - None, # 2012 - None, # 2013 - None, # 2014 - None, # 2015 - None, # 2016 - None, # 2017 - None, # 2018 - None, # 2019 - None, # 2020 - None, # 2021 - None, # 2022 - None, # 2023 - None, # 2024 - None, # 2025 - None, # 2026 - None, # 2027 - None, # 2028 - None, # 2029 - None, # 2030 - None, # 2031 - None, # 2032 - None, # 2033 - None, # 2034 - None, # 2035 - None, # 2036 - None, # 2037 - None, # 2038 - None, # 2039 - None, # 2040 - None, # 2041 - None, # 2042 - None, # 2043 - None, # 2044 - None, # 2045 - None, # 2046 - None, # 2047 - None, # 2048 - None, # 2049 - None, # 2050 - None, # 2051 - None, # 2052 - None, # 2053 - None, # 2054 - None, # 2055 - None, # 2056 - None, # 2057 - None, # 2058 - None, # 2059 - None, # 2060 - None, # 2061 - None, # 2062 - None, # 2063 - None, # 2064 - None, # 2065 - None, # 2066 - None, # 2067 - None, # 2068 - None, # 2069 - None, # 2070 - None, # 2071 - None, # 2072 - None, # 2073 - None, # 2074 - None, # 2075 - None, # 2076 - None, # 2077 - None, # 2078 - None, # 2079 - None, # 2080 - None, # 2081 - None, # 2082 - None, # 2083 - None, # 2084 - None, # 2085 - None, # 2086 - None, # 2087 - None, # 2088 - None, # 2089 - None, # 2090 - None, # 2091 - None, # 2092 - None, # 2093 - None, # 2094 - None, # 2095 - None, # 2096 - None, # 2097 - None, # 2098 - None, # 2099 - None, # 2100 - None, # 2101 - None, # 2102 - None, # 2103 - None, # 2104 - None, # 2105 - None, # 2106 - None, # 2107 - None, # 2108 - None, # 2109 - None, # 2110 - None, # 2111 - None, # 2112 - None, # 2113 - None, # 2114 - None, # 2115 - None, # 2116 - None, # 2117 - None, # 2118 - None, # 2119 - None, # 2120 - None, # 2121 - None, # 2122 - None, # 2123 - None, # 2124 - None, # 2125 - None, # 2126 - None, # 2127 - None, # 2128 - None, # 2129 - None, # 2130 - None, # 2131 - None, # 2132 - None, # 2133 - None, # 2134 - None, # 2135 - None, # 2136 - None, # 2137 - None, # 2138 - None, # 2139 - None, # 2140 - None, # 2141 - None, # 2142 - None, # 2143 - None, # 2144 - None, # 2145 - None, # 2146 - None, # 2147 - None, # 2148 - None, # 2149 - None, # 2150 - None, # 2151 - None, # 2152 - None, # 2153 - None, # 2154 - None, # 2155 - None, # 2156 - None, # 2157 - None, # 2158 - None, # 2159 - None, # 2160 - None, # 2161 - None, # 2162 - None, # 2163 - None, # 2164 - None, # 2165 - None, # 2166 - None, # 2167 - None, # 2168 - None, # 2169 - None, # 2170 - None, # 2171 - None, # 2172 - None, # 2173 - None, # 2174 - None, # 2175 - None, # 2176 - None, # 2177 - None, # 2178 - None, # 2179 - None, # 2180 - None, # 2181 - None, # 2182 - None, # 2183 - None, # 2184 - None, # 2185 - None, # 2186 - None, # 2187 - None, # 2188 - None, # 2189 - None, # 2190 - None, # 2191 - None, # 2192 - None, # 2193 - None, # 2194 - None, # 2195 - None, # 2196 - None, # 2197 - None, # 2198 - None, # 2199 - None, # 2200 - None, # 2201 - None, # 2202 - None, # 2203 - None, # 2204 - None, # 2205 - None, # 2206 - None, # 2207 - None, # 2208 - None, # 2209 - None, # 2210 - None, # 2211 - None, # 2212 - None, # 2213 - None, # 2214 - None, # 2215 - None, # 2216 - None, # 2217 - None, # 2218 - None, # 2219 - None, # 2220 - None, # 2221 - None, # 2222 - None, # 2223 - None, # 2224 - None, # 2225 - None, # 2226 - None, # 2227 - None, # 2228 - None, # 2229 - None, # 2230 - None, # 2231 - None, # 2232 - None, # 2233 - None, # 2234 - None, # 2235 - None, # 2236 - None, # 2237 - None, # 2238 - None, # 2239 - None, # 2240 - None, # 2241 - None, # 2242 - None, # 2243 - None, # 2244 - None, # 2245 - None, # 2246 - None, # 2247 - None, # 2248 - None, # 2249 - None, # 2250 - None, # 2251 - None, # 2252 - None, # 2253 - None, # 2254 - None, # 2255 - None, # 2256 - None, # 2257 - None, # 2258 - None, # 2259 - None, # 2260 - None, # 2261 - None, # 2262 - None, # 2263 - None, # 2264 - None, # 2265 - None, # 2266 - None, # 2267 - None, # 2268 - None, # 2269 - None, # 2270 - None, # 2271 - None, # 2272 - None, # 2273 - None, # 2274 - None, # 2275 - None, # 2276 - None, # 2277 - None, # 2278 - None, # 2279 - None, # 2280 - None, # 2281 - None, # 2282 - None, # 2283 - None, # 2284 - None, # 2285 - None, # 2286 - None, # 2287 - None, # 2288 - None, # 2289 - None, # 2290 - None, # 2291 - None, # 2292 - None, # 2293 - None, # 2294 - None, # 2295 - None, # 2296 - None, # 2297 - None, # 2298 - None, # 2299 - None, # 2300 - None, # 2301 - None, # 2302 - None, # 2303 - None, # 2304 - None, # 2305 - None, # 2306 - None, # 2307 - None, # 2308 - None, # 2309 - None, # 2310 - None, # 2311 - None, # 2312 - None, # 2313 - None, # 2314 - None, # 2315 - None, # 2316 - None, # 2317 - None, # 2318 - None, # 2319 - None, # 2320 - None, # 2321 - None, # 2322 - None, # 2323 - None, # 2324 - None, # 2325 - None, # 2326 - None, # 2327 - None, # 2328 - None, # 2329 - None, # 2330 - None, # 2331 - None, # 2332 - None, # 2333 - None, # 2334 - None, # 2335 - None, # 2336 - None, # 2337 - None, # 2338 - None, # 2339 - None, # 2340 - None, # 2341 - None, # 2342 - None, # 2343 - None, # 2344 - None, # 2345 - None, # 2346 - None, # 2347 - None, # 2348 - None, # 2349 - None, # 2350 - None, # 2351 - None, # 2352 - None, # 2353 - None, # 2354 - None, # 2355 - None, # 2356 - None, # 2357 - None, # 2358 - None, # 2359 - None, # 2360 - None, # 2361 - None, # 2362 - None, # 2363 - None, # 2364 - None, # 2365 - None, # 2366 - None, # 2367 - None, # 2368 - None, # 2369 - None, # 2370 - None, # 2371 - None, # 2372 - None, # 2373 - None, # 2374 - None, # 2375 - None, # 2376 - None, # 2377 - None, # 2378 - None, # 2379 - None, # 2380 - None, # 2381 - None, # 2382 - None, # 2383 - None, # 2384 - None, # 2385 - None, # 2386 - None, # 2387 - None, # 2388 - None, # 2389 - None, # 2390 - None, # 2391 - None, # 2392 - None, # 2393 - None, # 2394 - None, # 2395 - None, # 2396 - None, # 2397 - None, # 2398 - None, # 2399 - None, # 2400 - None, # 2401 - None, # 2402 - None, # 2403 - None, # 2404 - None, # 2405 - None, # 2406 - None, # 2407 - None, # 2408 - None, # 2409 - None, # 2410 - None, # 2411 - None, # 2412 - None, # 2413 - None, # 2414 - None, # 2415 - None, # 2416 - None, # 2417 - None, # 2418 - None, # 2419 - None, # 2420 - None, # 2421 - None, # 2422 - None, # 2423 - None, # 2424 - None, # 2425 - None, # 2426 - None, # 2427 - None, # 2428 - None, # 2429 - None, # 2430 - None, # 2431 - None, # 2432 - None, # 2433 - None, # 2434 - None, # 2435 - None, # 2436 - None, # 2437 - None, # 2438 - None, # 2439 - None, # 2440 - None, # 2441 - None, # 2442 - None, # 2443 - None, # 2444 - None, # 2445 - None, # 2446 - None, # 2447 - None, # 2448 - None, # 2449 - None, # 2450 - None, # 2451 - None, # 2452 - None, # 2453 - None, # 2454 - None, # 2455 - None, # 2456 - None, # 2457 - None, # 2458 - None, # 2459 - None, # 2460 - None, # 2461 - None, # 2462 - None, # 2463 - None, # 2464 - None, # 2465 - None, # 2466 - None, # 2467 - None, # 2468 - None, # 2469 - None, # 2470 - None, # 2471 - None, # 2472 - None, # 2473 - None, # 2474 - None, # 2475 - None, # 2476 - None, # 2477 - None, # 2478 - None, # 2479 - None, # 2480 - None, # 2481 - None, # 2482 - None, # 2483 - None, # 2484 - None, # 2485 - None, # 2486 - None, # 2487 - None, # 2488 - None, # 2489 - None, # 2490 - None, # 2491 - None, # 2492 - None, # 2493 - None, # 2494 - None, # 2495 - None, # 2496 - None, # 2497 - None, # 2498 - None, # 2499 - None, # 2500 - None, # 2501 - None, # 2502 - None, # 2503 - None, # 2504 - None, # 2505 - None, # 2506 - None, # 2507 - None, # 2508 - None, # 2509 - None, # 2510 - None, # 2511 - None, # 2512 - None, # 2513 - None, # 2514 - None, # 2515 - None, # 2516 - None, # 2517 - None, # 2518 - None, # 2519 - None, # 2520 - None, # 2521 - None, # 2522 - None, # 2523 - None, # 2524 - None, # 2525 - None, # 2526 - None, # 2527 - None, # 2528 - None, # 2529 - None, # 2530 - None, # 2531 - None, # 2532 - None, # 2533 - None, # 2534 - None, # 2535 - None, # 2536 - None, # 2537 - None, # 2538 - None, # 2539 - None, # 2540 - None, # 2541 - None, # 2542 - None, # 2543 - None, # 2544 - None, # 2545 - None, # 2546 - None, # 2547 - None, # 2548 - None, # 2549 - None, # 2550 - None, # 2551 - None, # 2552 - None, # 2553 - None, # 2554 - None, # 2555 - None, # 2556 - None, # 2557 - None, # 2558 - None, # 2559 - None, # 2560 - None, # 2561 - None, # 2562 - None, # 2563 - None, # 2564 - None, # 2565 - None, # 2566 - None, # 2567 - None, # 2568 - None, # 2569 - None, # 2570 - None, # 2571 - None, # 2572 - None, # 2573 - None, # 2574 - None, # 2575 - None, # 2576 - None, # 2577 - None, # 2578 - None, # 2579 - None, # 2580 - None, # 2581 - None, # 2582 - None, # 2583 - None, # 2584 - None, # 2585 - None, # 2586 - None, # 2587 - None, # 2588 - None, # 2589 - None, # 2590 - None, # 2591 - None, # 2592 - None, # 2593 - None, # 2594 - None, # 2595 - None, # 2596 - None, # 2597 - None, # 2598 - None, # 2599 - None, # 2600 - None, # 2601 - None, # 2602 - None, # 2603 - None, # 2604 - None, # 2605 - None, # 2606 - None, # 2607 - None, # 2608 - None, # 2609 - None, # 2610 - None, # 2611 - None, # 2612 - None, # 2613 - None, # 2614 - None, # 2615 - None, # 2616 - None, # 2617 - None, # 2618 - None, # 2619 - None, # 2620 - None, # 2621 - None, # 2622 - None, # 2623 - None, # 2624 - None, # 2625 - None, # 2626 - None, # 2627 - None, # 2628 - None, # 2629 - None, # 2630 - None, # 2631 - None, # 2632 - None, # 2633 - None, # 2634 - None, # 2635 - None, # 2636 - None, # 2637 - None, # 2638 - None, # 2639 - None, # 2640 - None, # 2641 - None, # 2642 - None, # 2643 - None, # 2644 - None, # 2645 - None, # 2646 - None, # 2647 - None, # 2648 - None, # 2649 - None, # 2650 - None, # 2651 - None, # 2652 - None, # 2653 - None, # 2654 - None, # 2655 - None, # 2656 - None, # 2657 - None, # 2658 - None, # 2659 - None, # 2660 - None, # 2661 - None, # 2662 - None, # 2663 - None, # 2664 - None, # 2665 - None, # 2666 - None, # 2667 - None, # 2668 - None, # 2669 - None, # 2670 - None, # 2671 - None, # 2672 - None, # 2673 - None, # 2674 - None, # 2675 - None, # 2676 - None, # 2677 - None, # 2678 - None, # 2679 - None, # 2680 - None, # 2681 - None, # 2682 - None, # 2683 - None, # 2684 - None, # 2685 - None, # 2686 - None, # 2687 - None, # 2688 - None, # 2689 - None, # 2690 - None, # 2691 - None, # 2692 - None, # 2693 - None, # 2694 - None, # 2695 - None, # 2696 - None, # 2697 - None, # 2698 - None, # 2699 - None, # 2700 - None, # 2701 - None, # 2702 - None, # 2703 - None, # 2704 - None, # 2705 - None, # 2706 - None, # 2707 - None, # 2708 - None, # 2709 - None, # 2710 - None, # 2711 - None, # 2712 - None, # 2713 - None, # 2714 - None, # 2715 - None, # 2716 - None, # 2717 - None, # 2718 - None, # 2719 - None, # 2720 - None, # 2721 - None, # 2722 - None, # 2723 - None, # 2724 - None, # 2725 - None, # 2726 - None, # 2727 - None, # 2728 - None, # 2729 - None, # 2730 - None, # 2731 - None, # 2732 - None, # 2733 - None, # 2734 - None, # 2735 - None, # 2736 - None, # 2737 - None, # 2738 - None, # 2739 - None, # 2740 - None, # 2741 - None, # 2742 - None, # 2743 - None, # 2744 - None, # 2745 - None, # 2746 - None, # 2747 - None, # 2748 - None, # 2749 - None, # 2750 - None, # 2751 - None, # 2752 - None, # 2753 - None, # 2754 - None, # 2755 - None, # 2756 - None, # 2757 - None, # 2758 - None, # 2759 - None, # 2760 - None, # 2761 - None, # 2762 - None, # 2763 - None, # 2764 - None, # 2765 - None, # 2766 - None, # 2767 - None, # 2768 - None, # 2769 - None, # 2770 - None, # 2771 - None, # 2772 - None, # 2773 - None, # 2774 - None, # 2775 - None, # 2776 - None, # 2777 - None, # 2778 - None, # 2779 - None, # 2780 - None, # 2781 - None, # 2782 - None, # 2783 - None, # 2784 - None, # 2785 - None, # 2786 - None, # 2787 - None, # 2788 - None, # 2789 - None, # 2790 - None, # 2791 - None, # 2792 - None, # 2793 - None, # 2794 - None, # 2795 - None, # 2796 - None, # 2797 - None, # 2798 - None, # 2799 - None, # 2800 - None, # 2801 - None, # 2802 - None, # 2803 - None, # 2804 - None, # 2805 - None, # 2806 - None, # 2807 - None, # 2808 - None, # 2809 - None, # 2810 - None, # 2811 - None, # 2812 - None, # 2813 - None, # 2814 - None, # 2815 - None, # 2816 - None, # 2817 - None, # 2818 - None, # 2819 - None, # 2820 - None, # 2821 - None, # 2822 - None, # 2823 - None, # 2824 - None, # 2825 - None, # 2826 - None, # 2827 - None, # 2828 - None, # 2829 - None, # 2830 - None, # 2831 - None, # 2832 - None, # 2833 - None, # 2834 - None, # 2835 - None, # 2836 - None, # 2837 - None, # 2838 - None, # 2839 - None, # 2840 - None, # 2841 - None, # 2842 - None, # 2843 - None, # 2844 - None, # 2845 - None, # 2846 - None, # 2847 - None, # 2848 - None, # 2849 - None, # 2850 - None, # 2851 - None, # 2852 - None, # 2853 - None, # 2854 - None, # 2855 - None, # 2856 - None, # 2857 - None, # 2858 - None, # 2859 - None, # 2860 - None, # 2861 - None, # 2862 - None, # 2863 - None, # 2864 - None, # 2865 - None, # 2866 - None, # 2867 - None, # 2868 - None, # 2869 - None, # 2870 - None, # 2871 - None, # 2872 - None, # 2873 - None, # 2874 - None, # 2875 - None, # 2876 - None, # 2877 - None, # 2878 - None, # 2879 - None, # 2880 - None, # 2881 - None, # 2882 - None, # 2883 - None, # 2884 - None, # 2885 - None, # 2886 - None, # 2887 - None, # 2888 - None, # 2889 - None, # 2890 - None, # 2891 - None, # 2892 - None, # 2893 - None, # 2894 - None, # 2895 - None, # 2896 - None, # 2897 - None, # 2898 - None, # 2899 - None, # 2900 - None, # 2901 - None, # 2902 - None, # 2903 - None, # 2904 - None, # 2905 - None, # 2906 - None, # 2907 - None, # 2908 - None, # 2909 - None, # 2910 - None, # 2911 - None, # 2912 - None, # 2913 - None, # 2914 - None, # 2915 - None, # 2916 - None, # 2917 - None, # 2918 - None, # 2919 - None, # 2920 - None, # 2921 - None, # 2922 - None, # 2923 - None, # 2924 - None, # 2925 - None, # 2926 - None, # 2927 - None, # 2928 - None, # 2929 - None, # 2930 - None, # 2931 - None, # 2932 - None, # 2933 - None, # 2934 - None, # 2935 - None, # 2936 - None, # 2937 - None, # 2938 - None, # 2939 - None, # 2940 - None, # 2941 - None, # 2942 - None, # 2943 - None, # 2944 - None, # 2945 - None, # 2946 - None, # 2947 - None, # 2948 - None, # 2949 - None, # 2950 - None, # 2951 - None, # 2952 - None, # 2953 - None, # 2954 - None, # 2955 - None, # 2956 - None, # 2957 - None, # 2958 - None, # 2959 - None, # 2960 - None, # 2961 - None, # 2962 - None, # 2963 - None, # 2964 - None, # 2965 - None, # 2966 - None, # 2967 - None, # 2968 - None, # 2969 - None, # 2970 - None, # 2971 - None, # 2972 - None, # 2973 - None, # 2974 - None, # 2975 - None, # 2976 - None, # 2977 - None, # 2978 - None, # 2979 - None, # 2980 - None, # 2981 - None, # 2982 - None, # 2983 - None, # 2984 - None, # 2985 - None, # 2986 - None, # 2987 - None, # 2988 - None, # 2989 - None, # 2990 - None, # 2991 - None, # 2992 - None, # 2993 - None, # 2994 - None, # 2995 - None, # 2996 - None, # 2997 - None, # 2998 - None, # 2999 - None, # 3000 - None, # 3001 - None, # 3002 - None, # 3003 - None, # 3004 - None, # 3005 - None, # 3006 - None, # 3007 - None, # 3008 - None, # 3009 - None, # 3010 - None, # 3011 - None, # 3012 - None, # 3013 - None, # 3014 - None, # 3015 - None, # 3016 - None, # 3017 - None, # 3018 - None, # 3019 - None, # 3020 - None, # 3021 - None, # 3022 - None, # 3023 - None, # 3024 - None, # 3025 - None, # 3026 - None, # 3027 - None, # 3028 - None, # 3029 - None, # 3030 - None, # 3031 - None, # 3032 - None, # 3033 - None, # 3034 - None, # 3035 - None, # 3036 - None, # 3037 - None, # 3038 - None, # 3039 - None, # 3040 - None, # 3041 - None, # 3042 - None, # 3043 - None, # 3044 - None, # 3045 - None, # 3046 - None, # 3047 - None, # 3048 - None, # 3049 - None, # 3050 - None, # 3051 - None, # 3052 - None, # 3053 - None, # 3054 - None, # 3055 - None, # 3056 - None, # 3057 - None, # 3058 - None, # 3059 - None, # 3060 - None, # 3061 - None, # 3062 - None, # 3063 - None, # 3064 - None, # 3065 - None, # 3066 - None, # 3067 - None, # 3068 - None, # 3069 - None, # 3070 - None, # 3071 - None, # 3072 - None, # 3073 - None, # 3074 - None, # 3075 - None, # 3076 - None, # 3077 - None, # 3078 - None, # 3079 - None, # 3080 - None, # 3081 - None, # 3082 - None, # 3083 - None, # 3084 - None, # 3085 - None, # 3086 - None, # 3087 - None, # 3088 - None, # 3089 - None, # 3090 - None, # 3091 - None, # 3092 - None, # 3093 - None, # 3094 - None, # 3095 - None, # 3096 - None, # 3097 - None, # 3098 - None, # 3099 - None, # 3100 - None, # 3101 - None, # 3102 - None, # 3103 - None, # 3104 - None, # 3105 - None, # 3106 - None, # 3107 - None, # 3108 - None, # 3109 - None, # 3110 - None, # 3111 - None, # 3112 - None, # 3113 - None, # 3114 - None, # 3115 - None, # 3116 - None, # 3117 - None, # 3118 - None, # 3119 - None, # 3120 - None, # 3121 - None, # 3122 - None, # 3123 - None, # 3124 - None, # 3125 - None, # 3126 - None, # 3127 - None, # 3128 - None, # 3129 - None, # 3130 - None, # 3131 - None, # 3132 - None, # 3133 - None, # 3134 - None, # 3135 - None, # 3136 - None, # 3137 - None, # 3138 - None, # 3139 - None, # 3140 - None, # 3141 - None, # 3142 - None, # 3143 - None, # 3144 - None, # 3145 - None, # 3146 - None, # 3147 - None, # 3148 - None, # 3149 - None, # 3150 - None, # 3151 - None, # 3152 - None, # 3153 - None, # 3154 - None, # 3155 - None, # 3156 - None, # 3157 - None, # 3158 - None, # 3159 - None, # 3160 - None, # 3161 - None, # 3162 - None, # 3163 - None, # 3164 - None, # 3165 - None, # 3166 - None, # 3167 - None, # 3168 - None, # 3169 - None, # 3170 - None, # 3171 - None, # 3172 - None, # 3173 - None, # 3174 - None, # 3175 - None, # 3176 - None, # 3177 - None, # 3178 - None, # 3179 - None, # 3180 - None, # 3181 - None, # 3182 - None, # 3183 - None, # 3184 - None, # 3185 - None, # 3186 - None, # 3187 - None, # 3188 - None, # 3189 - None, # 3190 - None, # 3191 - None, # 3192 - None, # 3193 - None, # 3194 - None, # 3195 - None, # 3196 - None, # 3197 - None, # 3198 - None, # 3199 - None, # 3200 - None, # 3201 - None, # 3202 - None, # 3203 - None, # 3204 - None, # 3205 - None, # 3206 - None, # 3207 - None, # 3208 - None, # 3209 - None, # 3210 - None, # 3211 - None, # 3212 - None, # 3213 - None, # 3214 - None, # 3215 - None, # 3216 - None, # 3217 - None, # 3218 - None, # 3219 - None, # 3220 - None, # 3221 - None, # 3222 - None, # 3223 - None, # 3224 - None, # 3225 - None, # 3226 - None, # 3227 - None, # 3228 - None, # 3229 - None, # 3230 - None, # 3231 - None, # 3232 - None, # 3233 - None, # 3234 - None, # 3235 - None, # 3236 - None, # 3237 - None, # 3238 - None, # 3239 - None, # 3240 - None, # 3241 - None, # 3242 - None, # 3243 - None, # 3244 - None, # 3245 - None, # 3246 - None, # 3247 - None, # 3248 - None, # 3249 - None, # 3250 - None, # 3251 - None, # 3252 - None, # 3253 - None, # 3254 - None, # 3255 - None, # 3256 - None, # 3257 - None, # 3258 - None, # 3259 - None, # 3260 - None, # 3261 - None, # 3262 - None, # 3263 - None, # 3264 - None, # 3265 - None, # 3266 - None, # 3267 - None, # 3268 - None, # 3269 - None, # 3270 - None, # 3271 - None, # 3272 - None, # 3273 - None, # 3274 - None, # 3275 - None, # 3276 - None, # 3277 - None, # 3278 - None, # 3279 - None, # 3280 - None, # 3281 - None, # 3282 - None, # 3283 - None, # 3284 - None, # 3285 - None, # 3286 - None, # 3287 - None, # 3288 - None, # 3289 - None, # 3290 - None, # 3291 - None, # 3292 - None, # 3293 - None, # 3294 - None, # 3295 - None, # 3296 - None, # 3297 - None, # 3298 - None, # 3299 - None, # 3300 - None, # 3301 - None, # 3302 - None, # 3303 - None, # 3304 - None, # 3305 - None, # 3306 - None, # 3307 - None, # 3308 - None, # 3309 - None, # 3310 - None, # 3311 - None, # 3312 - None, # 3313 - None, # 3314 - None, # 3315 - None, # 3316 - None, # 3317 - None, # 3318 - None, # 3319 - None, # 3320 - None, # 3321 - None, # 3322 - None, # 3323 - None, # 3324 - None, # 3325 - None, # 3326 - None, # 3327 - None, # 3328 - ( - 3329, - TType.I32, - "closeReason", - None, - 0, - ), # 3329 + None, # 0 + (1, TType.STRUCT, 'operationHandle', [TOperationHandle, None], None, ), # 1 + None, # 2 + None, # 3 + None, # 4 + None, # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + None, # 1281 + None, # 1282 + None, # 1283 + None, # 1284 + None, # 1285 + None, # 1286 + None, # 1287 + None, # 1288 + None, # 1289 + None, # 1290 + None, # 1291 + None, # 1292 + None, # 1293 + None, # 1294 + None, # 1295 + None, # 1296 + None, # 1297 + None, # 1298 + None, # 1299 + None, # 1300 + None, # 1301 + None, # 1302 + None, # 1303 + None, # 1304 + None, # 1305 + None, # 1306 + None, # 1307 + None, # 1308 + None, # 1309 + None, # 1310 + None, # 1311 + None, # 1312 + None, # 1313 + None, # 1314 + None, # 1315 + None, # 1316 + None, # 1317 + None, # 1318 + None, # 1319 + None, # 1320 + None, # 1321 + None, # 1322 + None, # 1323 + None, # 1324 + None, # 1325 + None, # 1326 + None, # 1327 + None, # 1328 + None, # 1329 + None, # 1330 + None, # 1331 + None, # 1332 + None, # 1333 + None, # 1334 + None, # 1335 + None, # 1336 + None, # 1337 + None, # 1338 + None, # 1339 + None, # 1340 + None, # 1341 + None, # 1342 + None, # 1343 + None, # 1344 + None, # 1345 + None, # 1346 + None, # 1347 + None, # 1348 + None, # 1349 + None, # 1350 + None, # 1351 + None, # 1352 + None, # 1353 + None, # 1354 + None, # 1355 + None, # 1356 + None, # 1357 + None, # 1358 + None, # 1359 + None, # 1360 + None, # 1361 + None, # 1362 + None, # 1363 + None, # 1364 + None, # 1365 + None, # 1366 + None, # 1367 + None, # 1368 + None, # 1369 + None, # 1370 + None, # 1371 + None, # 1372 + None, # 1373 + None, # 1374 + None, # 1375 + None, # 1376 + None, # 1377 + None, # 1378 + None, # 1379 + None, # 1380 + None, # 1381 + None, # 1382 + None, # 1383 + None, # 1384 + None, # 1385 + None, # 1386 + None, # 1387 + None, # 1388 + None, # 1389 + None, # 1390 + None, # 1391 + None, # 1392 + None, # 1393 + None, # 1394 + None, # 1395 + None, # 1396 + None, # 1397 + None, # 1398 + None, # 1399 + None, # 1400 + None, # 1401 + None, # 1402 + None, # 1403 + None, # 1404 + None, # 1405 + None, # 1406 + None, # 1407 + None, # 1408 + None, # 1409 + None, # 1410 + None, # 1411 + None, # 1412 + None, # 1413 + None, # 1414 + None, # 1415 + None, # 1416 + None, # 1417 + None, # 1418 + None, # 1419 + None, # 1420 + None, # 1421 + None, # 1422 + None, # 1423 + None, # 1424 + None, # 1425 + None, # 1426 + None, # 1427 + None, # 1428 + None, # 1429 + None, # 1430 + None, # 1431 + None, # 1432 + None, # 1433 + None, # 1434 + None, # 1435 + None, # 1436 + None, # 1437 + None, # 1438 + None, # 1439 + None, # 1440 + None, # 1441 + None, # 1442 + None, # 1443 + None, # 1444 + None, # 1445 + None, # 1446 + None, # 1447 + None, # 1448 + None, # 1449 + None, # 1450 + None, # 1451 + None, # 1452 + None, # 1453 + None, # 1454 + None, # 1455 + None, # 1456 + None, # 1457 + None, # 1458 + None, # 1459 + None, # 1460 + None, # 1461 + None, # 1462 + None, # 1463 + None, # 1464 + None, # 1465 + None, # 1466 + None, # 1467 + None, # 1468 + None, # 1469 + None, # 1470 + None, # 1471 + None, # 1472 + None, # 1473 + None, # 1474 + None, # 1475 + None, # 1476 + None, # 1477 + None, # 1478 + None, # 1479 + None, # 1480 + None, # 1481 + None, # 1482 + None, # 1483 + None, # 1484 + None, # 1485 + None, # 1486 + None, # 1487 + None, # 1488 + None, # 1489 + None, # 1490 + None, # 1491 + None, # 1492 + None, # 1493 + None, # 1494 + None, # 1495 + None, # 1496 + None, # 1497 + None, # 1498 + None, # 1499 + None, # 1500 + None, # 1501 + None, # 1502 + None, # 1503 + None, # 1504 + None, # 1505 + None, # 1506 + None, # 1507 + None, # 1508 + None, # 1509 + None, # 1510 + None, # 1511 + None, # 1512 + None, # 1513 + None, # 1514 + None, # 1515 + None, # 1516 + None, # 1517 + None, # 1518 + None, # 1519 + None, # 1520 + None, # 1521 + None, # 1522 + None, # 1523 + None, # 1524 + None, # 1525 + None, # 1526 + None, # 1527 + None, # 1528 + None, # 1529 + None, # 1530 + None, # 1531 + None, # 1532 + None, # 1533 + None, # 1534 + None, # 1535 + None, # 1536 + None, # 1537 + None, # 1538 + None, # 1539 + None, # 1540 + None, # 1541 + None, # 1542 + None, # 1543 + None, # 1544 + None, # 1545 + None, # 1546 + None, # 1547 + None, # 1548 + None, # 1549 + None, # 1550 + None, # 1551 + None, # 1552 + None, # 1553 + None, # 1554 + None, # 1555 + None, # 1556 + None, # 1557 + None, # 1558 + None, # 1559 + None, # 1560 + None, # 1561 + None, # 1562 + None, # 1563 + None, # 1564 + None, # 1565 + None, # 1566 + None, # 1567 + None, # 1568 + None, # 1569 + None, # 1570 + None, # 1571 + None, # 1572 + None, # 1573 + None, # 1574 + None, # 1575 + None, # 1576 + None, # 1577 + None, # 1578 + None, # 1579 + None, # 1580 + None, # 1581 + None, # 1582 + None, # 1583 + None, # 1584 + None, # 1585 + None, # 1586 + None, # 1587 + None, # 1588 + None, # 1589 + None, # 1590 + None, # 1591 + None, # 1592 + None, # 1593 + None, # 1594 + None, # 1595 + None, # 1596 + None, # 1597 + None, # 1598 + None, # 1599 + None, # 1600 + None, # 1601 + None, # 1602 + None, # 1603 + None, # 1604 + None, # 1605 + None, # 1606 + None, # 1607 + None, # 1608 + None, # 1609 + None, # 1610 + None, # 1611 + None, # 1612 + None, # 1613 + None, # 1614 + None, # 1615 + None, # 1616 + None, # 1617 + None, # 1618 + None, # 1619 + None, # 1620 + None, # 1621 + None, # 1622 + None, # 1623 + None, # 1624 + None, # 1625 + None, # 1626 + None, # 1627 + None, # 1628 + None, # 1629 + None, # 1630 + None, # 1631 + None, # 1632 + None, # 1633 + None, # 1634 + None, # 1635 + None, # 1636 + None, # 1637 + None, # 1638 + None, # 1639 + None, # 1640 + None, # 1641 + None, # 1642 + None, # 1643 + None, # 1644 + None, # 1645 + None, # 1646 + None, # 1647 + None, # 1648 + None, # 1649 + None, # 1650 + None, # 1651 + None, # 1652 + None, # 1653 + None, # 1654 + None, # 1655 + None, # 1656 + None, # 1657 + None, # 1658 + None, # 1659 + None, # 1660 + None, # 1661 + None, # 1662 + None, # 1663 + None, # 1664 + None, # 1665 + None, # 1666 + None, # 1667 + None, # 1668 + None, # 1669 + None, # 1670 + None, # 1671 + None, # 1672 + None, # 1673 + None, # 1674 + None, # 1675 + None, # 1676 + None, # 1677 + None, # 1678 + None, # 1679 + None, # 1680 + None, # 1681 + None, # 1682 + None, # 1683 + None, # 1684 + None, # 1685 + None, # 1686 + None, # 1687 + None, # 1688 + None, # 1689 + None, # 1690 + None, # 1691 + None, # 1692 + None, # 1693 + None, # 1694 + None, # 1695 + None, # 1696 + None, # 1697 + None, # 1698 + None, # 1699 + None, # 1700 + None, # 1701 + None, # 1702 + None, # 1703 + None, # 1704 + None, # 1705 + None, # 1706 + None, # 1707 + None, # 1708 + None, # 1709 + None, # 1710 + None, # 1711 + None, # 1712 + None, # 1713 + None, # 1714 + None, # 1715 + None, # 1716 + None, # 1717 + None, # 1718 + None, # 1719 + None, # 1720 + None, # 1721 + None, # 1722 + None, # 1723 + None, # 1724 + None, # 1725 + None, # 1726 + None, # 1727 + None, # 1728 + None, # 1729 + None, # 1730 + None, # 1731 + None, # 1732 + None, # 1733 + None, # 1734 + None, # 1735 + None, # 1736 + None, # 1737 + None, # 1738 + None, # 1739 + None, # 1740 + None, # 1741 + None, # 1742 + None, # 1743 + None, # 1744 + None, # 1745 + None, # 1746 + None, # 1747 + None, # 1748 + None, # 1749 + None, # 1750 + None, # 1751 + None, # 1752 + None, # 1753 + None, # 1754 + None, # 1755 + None, # 1756 + None, # 1757 + None, # 1758 + None, # 1759 + None, # 1760 + None, # 1761 + None, # 1762 + None, # 1763 + None, # 1764 + None, # 1765 + None, # 1766 + None, # 1767 + None, # 1768 + None, # 1769 + None, # 1770 + None, # 1771 + None, # 1772 + None, # 1773 + None, # 1774 + None, # 1775 + None, # 1776 + None, # 1777 + None, # 1778 + None, # 1779 + None, # 1780 + None, # 1781 + None, # 1782 + None, # 1783 + None, # 1784 + None, # 1785 + None, # 1786 + None, # 1787 + None, # 1788 + None, # 1789 + None, # 1790 + None, # 1791 + None, # 1792 + None, # 1793 + None, # 1794 + None, # 1795 + None, # 1796 + None, # 1797 + None, # 1798 + None, # 1799 + None, # 1800 + None, # 1801 + None, # 1802 + None, # 1803 + None, # 1804 + None, # 1805 + None, # 1806 + None, # 1807 + None, # 1808 + None, # 1809 + None, # 1810 + None, # 1811 + None, # 1812 + None, # 1813 + None, # 1814 + None, # 1815 + None, # 1816 + None, # 1817 + None, # 1818 + None, # 1819 + None, # 1820 + None, # 1821 + None, # 1822 + None, # 1823 + None, # 1824 + None, # 1825 + None, # 1826 + None, # 1827 + None, # 1828 + None, # 1829 + None, # 1830 + None, # 1831 + None, # 1832 + None, # 1833 + None, # 1834 + None, # 1835 + None, # 1836 + None, # 1837 + None, # 1838 + None, # 1839 + None, # 1840 + None, # 1841 + None, # 1842 + None, # 1843 + None, # 1844 + None, # 1845 + None, # 1846 + None, # 1847 + None, # 1848 + None, # 1849 + None, # 1850 + None, # 1851 + None, # 1852 + None, # 1853 + None, # 1854 + None, # 1855 + None, # 1856 + None, # 1857 + None, # 1858 + None, # 1859 + None, # 1860 + None, # 1861 + None, # 1862 + None, # 1863 + None, # 1864 + None, # 1865 + None, # 1866 + None, # 1867 + None, # 1868 + None, # 1869 + None, # 1870 + None, # 1871 + None, # 1872 + None, # 1873 + None, # 1874 + None, # 1875 + None, # 1876 + None, # 1877 + None, # 1878 + None, # 1879 + None, # 1880 + None, # 1881 + None, # 1882 + None, # 1883 + None, # 1884 + None, # 1885 + None, # 1886 + None, # 1887 + None, # 1888 + None, # 1889 + None, # 1890 + None, # 1891 + None, # 1892 + None, # 1893 + None, # 1894 + None, # 1895 + None, # 1896 + None, # 1897 + None, # 1898 + None, # 1899 + None, # 1900 + None, # 1901 + None, # 1902 + None, # 1903 + None, # 1904 + None, # 1905 + None, # 1906 + None, # 1907 + None, # 1908 + None, # 1909 + None, # 1910 + None, # 1911 + None, # 1912 + None, # 1913 + None, # 1914 + None, # 1915 + None, # 1916 + None, # 1917 + None, # 1918 + None, # 1919 + None, # 1920 + None, # 1921 + None, # 1922 + None, # 1923 + None, # 1924 + None, # 1925 + None, # 1926 + None, # 1927 + None, # 1928 + None, # 1929 + None, # 1930 + None, # 1931 + None, # 1932 + None, # 1933 + None, # 1934 + None, # 1935 + None, # 1936 + None, # 1937 + None, # 1938 + None, # 1939 + None, # 1940 + None, # 1941 + None, # 1942 + None, # 1943 + None, # 1944 + None, # 1945 + None, # 1946 + None, # 1947 + None, # 1948 + None, # 1949 + None, # 1950 + None, # 1951 + None, # 1952 + None, # 1953 + None, # 1954 + None, # 1955 + None, # 1956 + None, # 1957 + None, # 1958 + None, # 1959 + None, # 1960 + None, # 1961 + None, # 1962 + None, # 1963 + None, # 1964 + None, # 1965 + None, # 1966 + None, # 1967 + None, # 1968 + None, # 1969 + None, # 1970 + None, # 1971 + None, # 1972 + None, # 1973 + None, # 1974 + None, # 1975 + None, # 1976 + None, # 1977 + None, # 1978 + None, # 1979 + None, # 1980 + None, # 1981 + None, # 1982 + None, # 1983 + None, # 1984 + None, # 1985 + None, # 1986 + None, # 1987 + None, # 1988 + None, # 1989 + None, # 1990 + None, # 1991 + None, # 1992 + None, # 1993 + None, # 1994 + None, # 1995 + None, # 1996 + None, # 1997 + None, # 1998 + None, # 1999 + None, # 2000 + None, # 2001 + None, # 2002 + None, # 2003 + None, # 2004 + None, # 2005 + None, # 2006 + None, # 2007 + None, # 2008 + None, # 2009 + None, # 2010 + None, # 2011 + None, # 2012 + None, # 2013 + None, # 2014 + None, # 2015 + None, # 2016 + None, # 2017 + None, # 2018 + None, # 2019 + None, # 2020 + None, # 2021 + None, # 2022 + None, # 2023 + None, # 2024 + None, # 2025 + None, # 2026 + None, # 2027 + None, # 2028 + None, # 2029 + None, # 2030 + None, # 2031 + None, # 2032 + None, # 2033 + None, # 2034 + None, # 2035 + None, # 2036 + None, # 2037 + None, # 2038 + None, # 2039 + None, # 2040 + None, # 2041 + None, # 2042 + None, # 2043 + None, # 2044 + None, # 2045 + None, # 2046 + None, # 2047 + None, # 2048 + None, # 2049 + None, # 2050 + None, # 2051 + None, # 2052 + None, # 2053 + None, # 2054 + None, # 2055 + None, # 2056 + None, # 2057 + None, # 2058 + None, # 2059 + None, # 2060 + None, # 2061 + None, # 2062 + None, # 2063 + None, # 2064 + None, # 2065 + None, # 2066 + None, # 2067 + None, # 2068 + None, # 2069 + None, # 2070 + None, # 2071 + None, # 2072 + None, # 2073 + None, # 2074 + None, # 2075 + None, # 2076 + None, # 2077 + None, # 2078 + None, # 2079 + None, # 2080 + None, # 2081 + None, # 2082 + None, # 2083 + None, # 2084 + None, # 2085 + None, # 2086 + None, # 2087 + None, # 2088 + None, # 2089 + None, # 2090 + None, # 2091 + None, # 2092 + None, # 2093 + None, # 2094 + None, # 2095 + None, # 2096 + None, # 2097 + None, # 2098 + None, # 2099 + None, # 2100 + None, # 2101 + None, # 2102 + None, # 2103 + None, # 2104 + None, # 2105 + None, # 2106 + None, # 2107 + None, # 2108 + None, # 2109 + None, # 2110 + None, # 2111 + None, # 2112 + None, # 2113 + None, # 2114 + None, # 2115 + None, # 2116 + None, # 2117 + None, # 2118 + None, # 2119 + None, # 2120 + None, # 2121 + None, # 2122 + None, # 2123 + None, # 2124 + None, # 2125 + None, # 2126 + None, # 2127 + None, # 2128 + None, # 2129 + None, # 2130 + None, # 2131 + None, # 2132 + None, # 2133 + None, # 2134 + None, # 2135 + None, # 2136 + None, # 2137 + None, # 2138 + None, # 2139 + None, # 2140 + None, # 2141 + None, # 2142 + None, # 2143 + None, # 2144 + None, # 2145 + None, # 2146 + None, # 2147 + None, # 2148 + None, # 2149 + None, # 2150 + None, # 2151 + None, # 2152 + None, # 2153 + None, # 2154 + None, # 2155 + None, # 2156 + None, # 2157 + None, # 2158 + None, # 2159 + None, # 2160 + None, # 2161 + None, # 2162 + None, # 2163 + None, # 2164 + None, # 2165 + None, # 2166 + None, # 2167 + None, # 2168 + None, # 2169 + None, # 2170 + None, # 2171 + None, # 2172 + None, # 2173 + None, # 2174 + None, # 2175 + None, # 2176 + None, # 2177 + None, # 2178 + None, # 2179 + None, # 2180 + None, # 2181 + None, # 2182 + None, # 2183 + None, # 2184 + None, # 2185 + None, # 2186 + None, # 2187 + None, # 2188 + None, # 2189 + None, # 2190 + None, # 2191 + None, # 2192 + None, # 2193 + None, # 2194 + None, # 2195 + None, # 2196 + None, # 2197 + None, # 2198 + None, # 2199 + None, # 2200 + None, # 2201 + None, # 2202 + None, # 2203 + None, # 2204 + None, # 2205 + None, # 2206 + None, # 2207 + None, # 2208 + None, # 2209 + None, # 2210 + None, # 2211 + None, # 2212 + None, # 2213 + None, # 2214 + None, # 2215 + None, # 2216 + None, # 2217 + None, # 2218 + None, # 2219 + None, # 2220 + None, # 2221 + None, # 2222 + None, # 2223 + None, # 2224 + None, # 2225 + None, # 2226 + None, # 2227 + None, # 2228 + None, # 2229 + None, # 2230 + None, # 2231 + None, # 2232 + None, # 2233 + None, # 2234 + None, # 2235 + None, # 2236 + None, # 2237 + None, # 2238 + None, # 2239 + None, # 2240 + None, # 2241 + None, # 2242 + None, # 2243 + None, # 2244 + None, # 2245 + None, # 2246 + None, # 2247 + None, # 2248 + None, # 2249 + None, # 2250 + None, # 2251 + None, # 2252 + None, # 2253 + None, # 2254 + None, # 2255 + None, # 2256 + None, # 2257 + None, # 2258 + None, # 2259 + None, # 2260 + None, # 2261 + None, # 2262 + None, # 2263 + None, # 2264 + None, # 2265 + None, # 2266 + None, # 2267 + None, # 2268 + None, # 2269 + None, # 2270 + None, # 2271 + None, # 2272 + None, # 2273 + None, # 2274 + None, # 2275 + None, # 2276 + None, # 2277 + None, # 2278 + None, # 2279 + None, # 2280 + None, # 2281 + None, # 2282 + None, # 2283 + None, # 2284 + None, # 2285 + None, # 2286 + None, # 2287 + None, # 2288 + None, # 2289 + None, # 2290 + None, # 2291 + None, # 2292 + None, # 2293 + None, # 2294 + None, # 2295 + None, # 2296 + None, # 2297 + None, # 2298 + None, # 2299 + None, # 2300 + None, # 2301 + None, # 2302 + None, # 2303 + None, # 2304 + None, # 2305 + None, # 2306 + None, # 2307 + None, # 2308 + None, # 2309 + None, # 2310 + None, # 2311 + None, # 2312 + None, # 2313 + None, # 2314 + None, # 2315 + None, # 2316 + None, # 2317 + None, # 2318 + None, # 2319 + None, # 2320 + None, # 2321 + None, # 2322 + None, # 2323 + None, # 2324 + None, # 2325 + None, # 2326 + None, # 2327 + None, # 2328 + None, # 2329 + None, # 2330 + None, # 2331 + None, # 2332 + None, # 2333 + None, # 2334 + None, # 2335 + None, # 2336 + None, # 2337 + None, # 2338 + None, # 2339 + None, # 2340 + None, # 2341 + None, # 2342 + None, # 2343 + None, # 2344 + None, # 2345 + None, # 2346 + None, # 2347 + None, # 2348 + None, # 2349 + None, # 2350 + None, # 2351 + None, # 2352 + None, # 2353 + None, # 2354 + None, # 2355 + None, # 2356 + None, # 2357 + None, # 2358 + None, # 2359 + None, # 2360 + None, # 2361 + None, # 2362 + None, # 2363 + None, # 2364 + None, # 2365 + None, # 2366 + None, # 2367 + None, # 2368 + None, # 2369 + None, # 2370 + None, # 2371 + None, # 2372 + None, # 2373 + None, # 2374 + None, # 2375 + None, # 2376 + None, # 2377 + None, # 2378 + None, # 2379 + None, # 2380 + None, # 2381 + None, # 2382 + None, # 2383 + None, # 2384 + None, # 2385 + None, # 2386 + None, # 2387 + None, # 2388 + None, # 2389 + None, # 2390 + None, # 2391 + None, # 2392 + None, # 2393 + None, # 2394 + None, # 2395 + None, # 2396 + None, # 2397 + None, # 2398 + None, # 2399 + None, # 2400 + None, # 2401 + None, # 2402 + None, # 2403 + None, # 2404 + None, # 2405 + None, # 2406 + None, # 2407 + None, # 2408 + None, # 2409 + None, # 2410 + None, # 2411 + None, # 2412 + None, # 2413 + None, # 2414 + None, # 2415 + None, # 2416 + None, # 2417 + None, # 2418 + None, # 2419 + None, # 2420 + None, # 2421 + None, # 2422 + None, # 2423 + None, # 2424 + None, # 2425 + None, # 2426 + None, # 2427 + None, # 2428 + None, # 2429 + None, # 2430 + None, # 2431 + None, # 2432 + None, # 2433 + None, # 2434 + None, # 2435 + None, # 2436 + None, # 2437 + None, # 2438 + None, # 2439 + None, # 2440 + None, # 2441 + None, # 2442 + None, # 2443 + None, # 2444 + None, # 2445 + None, # 2446 + None, # 2447 + None, # 2448 + None, # 2449 + None, # 2450 + None, # 2451 + None, # 2452 + None, # 2453 + None, # 2454 + None, # 2455 + None, # 2456 + None, # 2457 + None, # 2458 + None, # 2459 + None, # 2460 + None, # 2461 + None, # 2462 + None, # 2463 + None, # 2464 + None, # 2465 + None, # 2466 + None, # 2467 + None, # 2468 + None, # 2469 + None, # 2470 + None, # 2471 + None, # 2472 + None, # 2473 + None, # 2474 + None, # 2475 + None, # 2476 + None, # 2477 + None, # 2478 + None, # 2479 + None, # 2480 + None, # 2481 + None, # 2482 + None, # 2483 + None, # 2484 + None, # 2485 + None, # 2486 + None, # 2487 + None, # 2488 + None, # 2489 + None, # 2490 + None, # 2491 + None, # 2492 + None, # 2493 + None, # 2494 + None, # 2495 + None, # 2496 + None, # 2497 + None, # 2498 + None, # 2499 + None, # 2500 + None, # 2501 + None, # 2502 + None, # 2503 + None, # 2504 + None, # 2505 + None, # 2506 + None, # 2507 + None, # 2508 + None, # 2509 + None, # 2510 + None, # 2511 + None, # 2512 + None, # 2513 + None, # 2514 + None, # 2515 + None, # 2516 + None, # 2517 + None, # 2518 + None, # 2519 + None, # 2520 + None, # 2521 + None, # 2522 + None, # 2523 + None, # 2524 + None, # 2525 + None, # 2526 + None, # 2527 + None, # 2528 + None, # 2529 + None, # 2530 + None, # 2531 + None, # 2532 + None, # 2533 + None, # 2534 + None, # 2535 + None, # 2536 + None, # 2537 + None, # 2538 + None, # 2539 + None, # 2540 + None, # 2541 + None, # 2542 + None, # 2543 + None, # 2544 + None, # 2545 + None, # 2546 + None, # 2547 + None, # 2548 + None, # 2549 + None, # 2550 + None, # 2551 + None, # 2552 + None, # 2553 + None, # 2554 + None, # 2555 + None, # 2556 + None, # 2557 + None, # 2558 + None, # 2559 + None, # 2560 + None, # 2561 + None, # 2562 + None, # 2563 + None, # 2564 + None, # 2565 + None, # 2566 + None, # 2567 + None, # 2568 + None, # 2569 + None, # 2570 + None, # 2571 + None, # 2572 + None, # 2573 + None, # 2574 + None, # 2575 + None, # 2576 + None, # 2577 + None, # 2578 + None, # 2579 + None, # 2580 + None, # 2581 + None, # 2582 + None, # 2583 + None, # 2584 + None, # 2585 + None, # 2586 + None, # 2587 + None, # 2588 + None, # 2589 + None, # 2590 + None, # 2591 + None, # 2592 + None, # 2593 + None, # 2594 + None, # 2595 + None, # 2596 + None, # 2597 + None, # 2598 + None, # 2599 + None, # 2600 + None, # 2601 + None, # 2602 + None, # 2603 + None, # 2604 + None, # 2605 + None, # 2606 + None, # 2607 + None, # 2608 + None, # 2609 + None, # 2610 + None, # 2611 + None, # 2612 + None, # 2613 + None, # 2614 + None, # 2615 + None, # 2616 + None, # 2617 + None, # 2618 + None, # 2619 + None, # 2620 + None, # 2621 + None, # 2622 + None, # 2623 + None, # 2624 + None, # 2625 + None, # 2626 + None, # 2627 + None, # 2628 + None, # 2629 + None, # 2630 + None, # 2631 + None, # 2632 + None, # 2633 + None, # 2634 + None, # 2635 + None, # 2636 + None, # 2637 + None, # 2638 + None, # 2639 + None, # 2640 + None, # 2641 + None, # 2642 + None, # 2643 + None, # 2644 + None, # 2645 + None, # 2646 + None, # 2647 + None, # 2648 + None, # 2649 + None, # 2650 + None, # 2651 + None, # 2652 + None, # 2653 + None, # 2654 + None, # 2655 + None, # 2656 + None, # 2657 + None, # 2658 + None, # 2659 + None, # 2660 + None, # 2661 + None, # 2662 + None, # 2663 + None, # 2664 + None, # 2665 + None, # 2666 + None, # 2667 + None, # 2668 + None, # 2669 + None, # 2670 + None, # 2671 + None, # 2672 + None, # 2673 + None, # 2674 + None, # 2675 + None, # 2676 + None, # 2677 + None, # 2678 + None, # 2679 + None, # 2680 + None, # 2681 + None, # 2682 + None, # 2683 + None, # 2684 + None, # 2685 + None, # 2686 + None, # 2687 + None, # 2688 + None, # 2689 + None, # 2690 + None, # 2691 + None, # 2692 + None, # 2693 + None, # 2694 + None, # 2695 + None, # 2696 + None, # 2697 + None, # 2698 + None, # 2699 + None, # 2700 + None, # 2701 + None, # 2702 + None, # 2703 + None, # 2704 + None, # 2705 + None, # 2706 + None, # 2707 + None, # 2708 + None, # 2709 + None, # 2710 + None, # 2711 + None, # 2712 + None, # 2713 + None, # 2714 + None, # 2715 + None, # 2716 + None, # 2717 + None, # 2718 + None, # 2719 + None, # 2720 + None, # 2721 + None, # 2722 + None, # 2723 + None, # 2724 + None, # 2725 + None, # 2726 + None, # 2727 + None, # 2728 + None, # 2729 + None, # 2730 + None, # 2731 + None, # 2732 + None, # 2733 + None, # 2734 + None, # 2735 + None, # 2736 + None, # 2737 + None, # 2738 + None, # 2739 + None, # 2740 + None, # 2741 + None, # 2742 + None, # 2743 + None, # 2744 + None, # 2745 + None, # 2746 + None, # 2747 + None, # 2748 + None, # 2749 + None, # 2750 + None, # 2751 + None, # 2752 + None, # 2753 + None, # 2754 + None, # 2755 + None, # 2756 + None, # 2757 + None, # 2758 + None, # 2759 + None, # 2760 + None, # 2761 + None, # 2762 + None, # 2763 + None, # 2764 + None, # 2765 + None, # 2766 + None, # 2767 + None, # 2768 + None, # 2769 + None, # 2770 + None, # 2771 + None, # 2772 + None, # 2773 + None, # 2774 + None, # 2775 + None, # 2776 + None, # 2777 + None, # 2778 + None, # 2779 + None, # 2780 + None, # 2781 + None, # 2782 + None, # 2783 + None, # 2784 + None, # 2785 + None, # 2786 + None, # 2787 + None, # 2788 + None, # 2789 + None, # 2790 + None, # 2791 + None, # 2792 + None, # 2793 + None, # 2794 + None, # 2795 + None, # 2796 + None, # 2797 + None, # 2798 + None, # 2799 + None, # 2800 + None, # 2801 + None, # 2802 + None, # 2803 + None, # 2804 + None, # 2805 + None, # 2806 + None, # 2807 + None, # 2808 + None, # 2809 + None, # 2810 + None, # 2811 + None, # 2812 + None, # 2813 + None, # 2814 + None, # 2815 + None, # 2816 + None, # 2817 + None, # 2818 + None, # 2819 + None, # 2820 + None, # 2821 + None, # 2822 + None, # 2823 + None, # 2824 + None, # 2825 + None, # 2826 + None, # 2827 + None, # 2828 + None, # 2829 + None, # 2830 + None, # 2831 + None, # 2832 + None, # 2833 + None, # 2834 + None, # 2835 + None, # 2836 + None, # 2837 + None, # 2838 + None, # 2839 + None, # 2840 + None, # 2841 + None, # 2842 + None, # 2843 + None, # 2844 + None, # 2845 + None, # 2846 + None, # 2847 + None, # 2848 + None, # 2849 + None, # 2850 + None, # 2851 + None, # 2852 + None, # 2853 + None, # 2854 + None, # 2855 + None, # 2856 + None, # 2857 + None, # 2858 + None, # 2859 + None, # 2860 + None, # 2861 + None, # 2862 + None, # 2863 + None, # 2864 + None, # 2865 + None, # 2866 + None, # 2867 + None, # 2868 + None, # 2869 + None, # 2870 + None, # 2871 + None, # 2872 + None, # 2873 + None, # 2874 + None, # 2875 + None, # 2876 + None, # 2877 + None, # 2878 + None, # 2879 + None, # 2880 + None, # 2881 + None, # 2882 + None, # 2883 + None, # 2884 + None, # 2885 + None, # 2886 + None, # 2887 + None, # 2888 + None, # 2889 + None, # 2890 + None, # 2891 + None, # 2892 + None, # 2893 + None, # 2894 + None, # 2895 + None, # 2896 + None, # 2897 + None, # 2898 + None, # 2899 + None, # 2900 + None, # 2901 + None, # 2902 + None, # 2903 + None, # 2904 + None, # 2905 + None, # 2906 + None, # 2907 + None, # 2908 + None, # 2909 + None, # 2910 + None, # 2911 + None, # 2912 + None, # 2913 + None, # 2914 + None, # 2915 + None, # 2916 + None, # 2917 + None, # 2918 + None, # 2919 + None, # 2920 + None, # 2921 + None, # 2922 + None, # 2923 + None, # 2924 + None, # 2925 + None, # 2926 + None, # 2927 + None, # 2928 + None, # 2929 + None, # 2930 + None, # 2931 + None, # 2932 + None, # 2933 + None, # 2934 + None, # 2935 + None, # 2936 + None, # 2937 + None, # 2938 + None, # 2939 + None, # 2940 + None, # 2941 + None, # 2942 + None, # 2943 + None, # 2944 + None, # 2945 + None, # 2946 + None, # 2947 + None, # 2948 + None, # 2949 + None, # 2950 + None, # 2951 + None, # 2952 + None, # 2953 + None, # 2954 + None, # 2955 + None, # 2956 + None, # 2957 + None, # 2958 + None, # 2959 + None, # 2960 + None, # 2961 + None, # 2962 + None, # 2963 + None, # 2964 + None, # 2965 + None, # 2966 + None, # 2967 + None, # 2968 + None, # 2969 + None, # 2970 + None, # 2971 + None, # 2972 + None, # 2973 + None, # 2974 + None, # 2975 + None, # 2976 + None, # 2977 + None, # 2978 + None, # 2979 + None, # 2980 + None, # 2981 + None, # 2982 + None, # 2983 + None, # 2984 + None, # 2985 + None, # 2986 + None, # 2987 + None, # 2988 + None, # 2989 + None, # 2990 + None, # 2991 + None, # 2992 + None, # 2993 + None, # 2994 + None, # 2995 + None, # 2996 + None, # 2997 + None, # 2998 + None, # 2999 + None, # 3000 + None, # 3001 + None, # 3002 + None, # 3003 + None, # 3004 + None, # 3005 + None, # 3006 + None, # 3007 + None, # 3008 + None, # 3009 + None, # 3010 + None, # 3011 + None, # 3012 + None, # 3013 + None, # 3014 + None, # 3015 + None, # 3016 + None, # 3017 + None, # 3018 + None, # 3019 + None, # 3020 + None, # 3021 + None, # 3022 + None, # 3023 + None, # 3024 + None, # 3025 + None, # 3026 + None, # 3027 + None, # 3028 + None, # 3029 + None, # 3030 + None, # 3031 + None, # 3032 + None, # 3033 + None, # 3034 + None, # 3035 + None, # 3036 + None, # 3037 + None, # 3038 + None, # 3039 + None, # 3040 + None, # 3041 + None, # 3042 + None, # 3043 + None, # 3044 + None, # 3045 + None, # 3046 + None, # 3047 + None, # 3048 + None, # 3049 + None, # 3050 + None, # 3051 + None, # 3052 + None, # 3053 + None, # 3054 + None, # 3055 + None, # 3056 + None, # 3057 + None, # 3058 + None, # 3059 + None, # 3060 + None, # 3061 + None, # 3062 + None, # 3063 + None, # 3064 + None, # 3065 + None, # 3066 + None, # 3067 + None, # 3068 + None, # 3069 + None, # 3070 + None, # 3071 + None, # 3072 + None, # 3073 + None, # 3074 + None, # 3075 + None, # 3076 + None, # 3077 + None, # 3078 + None, # 3079 + None, # 3080 + None, # 3081 + None, # 3082 + None, # 3083 + None, # 3084 + None, # 3085 + None, # 3086 + None, # 3087 + None, # 3088 + None, # 3089 + None, # 3090 + None, # 3091 + None, # 3092 + None, # 3093 + None, # 3094 + None, # 3095 + None, # 3096 + None, # 3097 + None, # 3098 + None, # 3099 + None, # 3100 + None, # 3101 + None, # 3102 + None, # 3103 + None, # 3104 + None, # 3105 + None, # 3106 + None, # 3107 + None, # 3108 + None, # 3109 + None, # 3110 + None, # 3111 + None, # 3112 + None, # 3113 + None, # 3114 + None, # 3115 + None, # 3116 + None, # 3117 + None, # 3118 + None, # 3119 + None, # 3120 + None, # 3121 + None, # 3122 + None, # 3123 + None, # 3124 + None, # 3125 + None, # 3126 + None, # 3127 + None, # 3128 + None, # 3129 + None, # 3130 + None, # 3131 + None, # 3132 + None, # 3133 + None, # 3134 + None, # 3135 + None, # 3136 + None, # 3137 + None, # 3138 + None, # 3139 + None, # 3140 + None, # 3141 + None, # 3142 + None, # 3143 + None, # 3144 + None, # 3145 + None, # 3146 + None, # 3147 + None, # 3148 + None, # 3149 + None, # 3150 + None, # 3151 + None, # 3152 + None, # 3153 + None, # 3154 + None, # 3155 + None, # 3156 + None, # 3157 + None, # 3158 + None, # 3159 + None, # 3160 + None, # 3161 + None, # 3162 + None, # 3163 + None, # 3164 + None, # 3165 + None, # 3166 + None, # 3167 + None, # 3168 + None, # 3169 + None, # 3170 + None, # 3171 + None, # 3172 + None, # 3173 + None, # 3174 + None, # 3175 + None, # 3176 + None, # 3177 + None, # 3178 + None, # 3179 + None, # 3180 + None, # 3181 + None, # 3182 + None, # 3183 + None, # 3184 + None, # 3185 + None, # 3186 + None, # 3187 + None, # 3188 + None, # 3189 + None, # 3190 + None, # 3191 + None, # 3192 + None, # 3193 + None, # 3194 + None, # 3195 + None, # 3196 + None, # 3197 + None, # 3198 + None, # 3199 + None, # 3200 + None, # 3201 + None, # 3202 + None, # 3203 + None, # 3204 + None, # 3205 + None, # 3206 + None, # 3207 + None, # 3208 + None, # 3209 + None, # 3210 + None, # 3211 + None, # 3212 + None, # 3213 + None, # 3214 + None, # 3215 + None, # 3216 + None, # 3217 + None, # 3218 + None, # 3219 + None, # 3220 + None, # 3221 + None, # 3222 + None, # 3223 + None, # 3224 + None, # 3225 + None, # 3226 + None, # 3227 + None, # 3228 + None, # 3229 + None, # 3230 + None, # 3231 + None, # 3232 + None, # 3233 + None, # 3234 + None, # 3235 + None, # 3236 + None, # 3237 + None, # 3238 + None, # 3239 + None, # 3240 + None, # 3241 + None, # 3242 + None, # 3243 + None, # 3244 + None, # 3245 + None, # 3246 + None, # 3247 + None, # 3248 + None, # 3249 + None, # 3250 + None, # 3251 + None, # 3252 + None, # 3253 + None, # 3254 + None, # 3255 + None, # 3256 + None, # 3257 + None, # 3258 + None, # 3259 + None, # 3260 + None, # 3261 + None, # 3262 + None, # 3263 + None, # 3264 + None, # 3265 + None, # 3266 + None, # 3267 + None, # 3268 + None, # 3269 + None, # 3270 + None, # 3271 + None, # 3272 + None, # 3273 + None, # 3274 + None, # 3275 + None, # 3276 + None, # 3277 + None, # 3278 + None, # 3279 + None, # 3280 + None, # 3281 + None, # 3282 + None, # 3283 + None, # 3284 + None, # 3285 + None, # 3286 + None, # 3287 + None, # 3288 + None, # 3289 + None, # 3290 + None, # 3291 + None, # 3292 + None, # 3293 + None, # 3294 + None, # 3295 + None, # 3296 + None, # 3297 + None, # 3298 + None, # 3299 + None, # 3300 + None, # 3301 + None, # 3302 + None, # 3303 + None, # 3304 + None, # 3305 + None, # 3306 + None, # 3307 + None, # 3308 + None, # 3309 + None, # 3310 + None, # 3311 + None, # 3312 + None, # 3313 + None, # 3314 + None, # 3315 + None, # 3316 + None, # 3317 + None, # 3318 + None, # 3319 + None, # 3320 + None, # 3321 + None, # 3322 + None, # 3323 + None, # 3324 + None, # 3325 + None, # 3326 + None, # 3327 + None, # 3328 + (3329, TType.I32, 'closeReason', None, 0, ), # 3329 ) all_structs.append(TCloseOperationResp) TCloseOperationResp.thrift_spec = ( - None, # 0 - ( - 1, - TType.STRUCT, - "status", - [TStatus, None], - None, - ), # 1 + None, # 0 + (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 ) all_structs.append(TGetResultSetMetadataReq) TGetResultSetMetadataReq.thrift_spec = ( - None, # 0 - ( - 1, - TType.STRUCT, - "operationHandle", - [TOperationHandle, None], - None, - ), # 1 - None, # 2 - None, # 3 - None, # 4 - None, # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - None, # 1281 - None, # 1282 - None, # 1283 - None, # 1284 - None, # 1285 - None, # 1286 - None, # 1287 - None, # 1288 - None, # 1289 - None, # 1290 - None, # 1291 - None, # 1292 - None, # 1293 - None, # 1294 - None, # 1295 - None, # 1296 - None, # 1297 - None, # 1298 - None, # 1299 - None, # 1300 - None, # 1301 - None, # 1302 - None, # 1303 - None, # 1304 - None, # 1305 - None, # 1306 - None, # 1307 - None, # 1308 - None, # 1309 - None, # 1310 - None, # 1311 - None, # 1312 - None, # 1313 - None, # 1314 - None, # 1315 - None, # 1316 - None, # 1317 - None, # 1318 - None, # 1319 - None, # 1320 - None, # 1321 - None, # 1322 - None, # 1323 - None, # 1324 - None, # 1325 - None, # 1326 - None, # 1327 - None, # 1328 - None, # 1329 - None, # 1330 - None, # 1331 - None, # 1332 - None, # 1333 - None, # 1334 - None, # 1335 - None, # 1336 - None, # 1337 - None, # 1338 - None, # 1339 - None, # 1340 - None, # 1341 - None, # 1342 - None, # 1343 - None, # 1344 - None, # 1345 - None, # 1346 - None, # 1347 - None, # 1348 - None, # 1349 - None, # 1350 - None, # 1351 - None, # 1352 - None, # 1353 - None, # 1354 - None, # 1355 - None, # 1356 - None, # 1357 - None, # 1358 - None, # 1359 - None, # 1360 - None, # 1361 - None, # 1362 - None, # 1363 - None, # 1364 - None, # 1365 - None, # 1366 - None, # 1367 - None, # 1368 - None, # 1369 - None, # 1370 - None, # 1371 - None, # 1372 - None, # 1373 - None, # 1374 - None, # 1375 - None, # 1376 - None, # 1377 - None, # 1378 - None, # 1379 - None, # 1380 - None, # 1381 - None, # 1382 - None, # 1383 - None, # 1384 - None, # 1385 - None, # 1386 - None, # 1387 - None, # 1388 - None, # 1389 - None, # 1390 - None, # 1391 - None, # 1392 - None, # 1393 - None, # 1394 - None, # 1395 - None, # 1396 - None, # 1397 - None, # 1398 - None, # 1399 - None, # 1400 - None, # 1401 - None, # 1402 - None, # 1403 - None, # 1404 - None, # 1405 - None, # 1406 - None, # 1407 - None, # 1408 - None, # 1409 - None, # 1410 - None, # 1411 - None, # 1412 - None, # 1413 - None, # 1414 - None, # 1415 - None, # 1416 - None, # 1417 - None, # 1418 - None, # 1419 - None, # 1420 - None, # 1421 - None, # 1422 - None, # 1423 - None, # 1424 - None, # 1425 - None, # 1426 - None, # 1427 - None, # 1428 - None, # 1429 - None, # 1430 - None, # 1431 - None, # 1432 - None, # 1433 - None, # 1434 - None, # 1435 - None, # 1436 - None, # 1437 - None, # 1438 - None, # 1439 - None, # 1440 - None, # 1441 - None, # 1442 - None, # 1443 - None, # 1444 - None, # 1445 - None, # 1446 - None, # 1447 - None, # 1448 - None, # 1449 - None, # 1450 - None, # 1451 - None, # 1452 - None, # 1453 - None, # 1454 - None, # 1455 - None, # 1456 - None, # 1457 - None, # 1458 - None, # 1459 - None, # 1460 - None, # 1461 - None, # 1462 - None, # 1463 - None, # 1464 - None, # 1465 - None, # 1466 - None, # 1467 - None, # 1468 - None, # 1469 - None, # 1470 - None, # 1471 - None, # 1472 - None, # 1473 - None, # 1474 - None, # 1475 - None, # 1476 - None, # 1477 - None, # 1478 - None, # 1479 - None, # 1480 - None, # 1481 - None, # 1482 - None, # 1483 - None, # 1484 - None, # 1485 - None, # 1486 - None, # 1487 - None, # 1488 - None, # 1489 - None, # 1490 - None, # 1491 - None, # 1492 - None, # 1493 - None, # 1494 - None, # 1495 - None, # 1496 - None, # 1497 - None, # 1498 - None, # 1499 - None, # 1500 - None, # 1501 - None, # 1502 - None, # 1503 - None, # 1504 - None, # 1505 - None, # 1506 - None, # 1507 - None, # 1508 - None, # 1509 - None, # 1510 - None, # 1511 - None, # 1512 - None, # 1513 - None, # 1514 - None, # 1515 - None, # 1516 - None, # 1517 - None, # 1518 - None, # 1519 - None, # 1520 - None, # 1521 - None, # 1522 - None, # 1523 - None, # 1524 - None, # 1525 - None, # 1526 - None, # 1527 - None, # 1528 - None, # 1529 - None, # 1530 - None, # 1531 - None, # 1532 - None, # 1533 - None, # 1534 - None, # 1535 - None, # 1536 - None, # 1537 - None, # 1538 - None, # 1539 - None, # 1540 - None, # 1541 - None, # 1542 - None, # 1543 - None, # 1544 - None, # 1545 - None, # 1546 - None, # 1547 - None, # 1548 - None, # 1549 - None, # 1550 - None, # 1551 - None, # 1552 - None, # 1553 - None, # 1554 - None, # 1555 - None, # 1556 - None, # 1557 - None, # 1558 - None, # 1559 - None, # 1560 - None, # 1561 - None, # 1562 - None, # 1563 - None, # 1564 - None, # 1565 - None, # 1566 - None, # 1567 - None, # 1568 - None, # 1569 - None, # 1570 - None, # 1571 - None, # 1572 - None, # 1573 - None, # 1574 - None, # 1575 - None, # 1576 - None, # 1577 - None, # 1578 - None, # 1579 - None, # 1580 - None, # 1581 - None, # 1582 - None, # 1583 - None, # 1584 - None, # 1585 - None, # 1586 - None, # 1587 - None, # 1588 - None, # 1589 - None, # 1590 - None, # 1591 - None, # 1592 - None, # 1593 - None, # 1594 - None, # 1595 - None, # 1596 - None, # 1597 - None, # 1598 - None, # 1599 - None, # 1600 - None, # 1601 - None, # 1602 - None, # 1603 - None, # 1604 - None, # 1605 - None, # 1606 - None, # 1607 - None, # 1608 - None, # 1609 - None, # 1610 - None, # 1611 - None, # 1612 - None, # 1613 - None, # 1614 - None, # 1615 - None, # 1616 - None, # 1617 - None, # 1618 - None, # 1619 - None, # 1620 - None, # 1621 - None, # 1622 - None, # 1623 - None, # 1624 - None, # 1625 - None, # 1626 - None, # 1627 - None, # 1628 - None, # 1629 - None, # 1630 - None, # 1631 - None, # 1632 - None, # 1633 - None, # 1634 - None, # 1635 - None, # 1636 - None, # 1637 - None, # 1638 - None, # 1639 - None, # 1640 - None, # 1641 - None, # 1642 - None, # 1643 - None, # 1644 - None, # 1645 - None, # 1646 - None, # 1647 - None, # 1648 - None, # 1649 - None, # 1650 - None, # 1651 - None, # 1652 - None, # 1653 - None, # 1654 - None, # 1655 - None, # 1656 - None, # 1657 - None, # 1658 - None, # 1659 - None, # 1660 - None, # 1661 - None, # 1662 - None, # 1663 - None, # 1664 - None, # 1665 - None, # 1666 - None, # 1667 - None, # 1668 - None, # 1669 - None, # 1670 - None, # 1671 - None, # 1672 - None, # 1673 - None, # 1674 - None, # 1675 - None, # 1676 - None, # 1677 - None, # 1678 - None, # 1679 - None, # 1680 - None, # 1681 - None, # 1682 - None, # 1683 - None, # 1684 - None, # 1685 - None, # 1686 - None, # 1687 - None, # 1688 - None, # 1689 - None, # 1690 - None, # 1691 - None, # 1692 - None, # 1693 - None, # 1694 - None, # 1695 - None, # 1696 - None, # 1697 - None, # 1698 - None, # 1699 - None, # 1700 - None, # 1701 - None, # 1702 - None, # 1703 - None, # 1704 - None, # 1705 - None, # 1706 - None, # 1707 - None, # 1708 - None, # 1709 - None, # 1710 - None, # 1711 - None, # 1712 - None, # 1713 - None, # 1714 - None, # 1715 - None, # 1716 - None, # 1717 - None, # 1718 - None, # 1719 - None, # 1720 - None, # 1721 - None, # 1722 - None, # 1723 - None, # 1724 - None, # 1725 - None, # 1726 - None, # 1727 - None, # 1728 - None, # 1729 - None, # 1730 - None, # 1731 - None, # 1732 - None, # 1733 - None, # 1734 - None, # 1735 - None, # 1736 - None, # 1737 - None, # 1738 - None, # 1739 - None, # 1740 - None, # 1741 - None, # 1742 - None, # 1743 - None, # 1744 - None, # 1745 - None, # 1746 - None, # 1747 - None, # 1748 - None, # 1749 - None, # 1750 - None, # 1751 - None, # 1752 - None, # 1753 - None, # 1754 - None, # 1755 - None, # 1756 - None, # 1757 - None, # 1758 - None, # 1759 - None, # 1760 - None, # 1761 - None, # 1762 - None, # 1763 - None, # 1764 - None, # 1765 - None, # 1766 - None, # 1767 - None, # 1768 - None, # 1769 - None, # 1770 - None, # 1771 - None, # 1772 - None, # 1773 - None, # 1774 - None, # 1775 - None, # 1776 - None, # 1777 - None, # 1778 - None, # 1779 - None, # 1780 - None, # 1781 - None, # 1782 - None, # 1783 - None, # 1784 - None, # 1785 - None, # 1786 - None, # 1787 - None, # 1788 - None, # 1789 - None, # 1790 - None, # 1791 - None, # 1792 - None, # 1793 - None, # 1794 - None, # 1795 - None, # 1796 - None, # 1797 - None, # 1798 - None, # 1799 - None, # 1800 - None, # 1801 - None, # 1802 - None, # 1803 - None, # 1804 - None, # 1805 - None, # 1806 - None, # 1807 - None, # 1808 - None, # 1809 - None, # 1810 - None, # 1811 - None, # 1812 - None, # 1813 - None, # 1814 - None, # 1815 - None, # 1816 - None, # 1817 - None, # 1818 - None, # 1819 - None, # 1820 - None, # 1821 - None, # 1822 - None, # 1823 - None, # 1824 - None, # 1825 - None, # 1826 - None, # 1827 - None, # 1828 - None, # 1829 - None, # 1830 - None, # 1831 - None, # 1832 - None, # 1833 - None, # 1834 - None, # 1835 - None, # 1836 - None, # 1837 - None, # 1838 - None, # 1839 - None, # 1840 - None, # 1841 - None, # 1842 - None, # 1843 - None, # 1844 - None, # 1845 - None, # 1846 - None, # 1847 - None, # 1848 - None, # 1849 - None, # 1850 - None, # 1851 - None, # 1852 - None, # 1853 - None, # 1854 - None, # 1855 - None, # 1856 - None, # 1857 - None, # 1858 - None, # 1859 - None, # 1860 - None, # 1861 - None, # 1862 - None, # 1863 - None, # 1864 - None, # 1865 - None, # 1866 - None, # 1867 - None, # 1868 - None, # 1869 - None, # 1870 - None, # 1871 - None, # 1872 - None, # 1873 - None, # 1874 - None, # 1875 - None, # 1876 - None, # 1877 - None, # 1878 - None, # 1879 - None, # 1880 - None, # 1881 - None, # 1882 - None, # 1883 - None, # 1884 - None, # 1885 - None, # 1886 - None, # 1887 - None, # 1888 - None, # 1889 - None, # 1890 - None, # 1891 - None, # 1892 - None, # 1893 - None, # 1894 - None, # 1895 - None, # 1896 - None, # 1897 - None, # 1898 - None, # 1899 - None, # 1900 - None, # 1901 - None, # 1902 - None, # 1903 - None, # 1904 - None, # 1905 - None, # 1906 - None, # 1907 - None, # 1908 - None, # 1909 - None, # 1910 - None, # 1911 - None, # 1912 - None, # 1913 - None, # 1914 - None, # 1915 - None, # 1916 - None, # 1917 - None, # 1918 - None, # 1919 - None, # 1920 - None, # 1921 - None, # 1922 - None, # 1923 - None, # 1924 - None, # 1925 - None, # 1926 - None, # 1927 - None, # 1928 - None, # 1929 - None, # 1930 - None, # 1931 - None, # 1932 - None, # 1933 - None, # 1934 - None, # 1935 - None, # 1936 - None, # 1937 - None, # 1938 - None, # 1939 - None, # 1940 - None, # 1941 - None, # 1942 - None, # 1943 - None, # 1944 - None, # 1945 - None, # 1946 - None, # 1947 - None, # 1948 - None, # 1949 - None, # 1950 - None, # 1951 - None, # 1952 - None, # 1953 - None, # 1954 - None, # 1955 - None, # 1956 - None, # 1957 - None, # 1958 - None, # 1959 - None, # 1960 - None, # 1961 - None, # 1962 - None, # 1963 - None, # 1964 - None, # 1965 - None, # 1966 - None, # 1967 - None, # 1968 - None, # 1969 - None, # 1970 - None, # 1971 - None, # 1972 - None, # 1973 - None, # 1974 - None, # 1975 - None, # 1976 - None, # 1977 - None, # 1978 - None, # 1979 - None, # 1980 - None, # 1981 - None, # 1982 - None, # 1983 - None, # 1984 - None, # 1985 - None, # 1986 - None, # 1987 - None, # 1988 - None, # 1989 - None, # 1990 - None, # 1991 - None, # 1992 - None, # 1993 - None, # 1994 - None, # 1995 - None, # 1996 - None, # 1997 - None, # 1998 - None, # 1999 - None, # 2000 - None, # 2001 - None, # 2002 - None, # 2003 - None, # 2004 - None, # 2005 - None, # 2006 - None, # 2007 - None, # 2008 - None, # 2009 - None, # 2010 - None, # 2011 - None, # 2012 - None, # 2013 - None, # 2014 - None, # 2015 - None, # 2016 - None, # 2017 - None, # 2018 - None, # 2019 - None, # 2020 - None, # 2021 - None, # 2022 - None, # 2023 - None, # 2024 - None, # 2025 - None, # 2026 - None, # 2027 - None, # 2028 - None, # 2029 - None, # 2030 - None, # 2031 - None, # 2032 - None, # 2033 - None, # 2034 - None, # 2035 - None, # 2036 - None, # 2037 - None, # 2038 - None, # 2039 - None, # 2040 - None, # 2041 - None, # 2042 - None, # 2043 - None, # 2044 - None, # 2045 - None, # 2046 - None, # 2047 - None, # 2048 - None, # 2049 - None, # 2050 - None, # 2051 - None, # 2052 - None, # 2053 - None, # 2054 - None, # 2055 - None, # 2056 - None, # 2057 - None, # 2058 - None, # 2059 - None, # 2060 - None, # 2061 - None, # 2062 - None, # 2063 - None, # 2064 - None, # 2065 - None, # 2066 - None, # 2067 - None, # 2068 - None, # 2069 - None, # 2070 - None, # 2071 - None, # 2072 - None, # 2073 - None, # 2074 - None, # 2075 - None, # 2076 - None, # 2077 - None, # 2078 - None, # 2079 - None, # 2080 - None, # 2081 - None, # 2082 - None, # 2083 - None, # 2084 - None, # 2085 - None, # 2086 - None, # 2087 - None, # 2088 - None, # 2089 - None, # 2090 - None, # 2091 - None, # 2092 - None, # 2093 - None, # 2094 - None, # 2095 - None, # 2096 - None, # 2097 - None, # 2098 - None, # 2099 - None, # 2100 - None, # 2101 - None, # 2102 - None, # 2103 - None, # 2104 - None, # 2105 - None, # 2106 - None, # 2107 - None, # 2108 - None, # 2109 - None, # 2110 - None, # 2111 - None, # 2112 - None, # 2113 - None, # 2114 - None, # 2115 - None, # 2116 - None, # 2117 - None, # 2118 - None, # 2119 - None, # 2120 - None, # 2121 - None, # 2122 - None, # 2123 - None, # 2124 - None, # 2125 - None, # 2126 - None, # 2127 - None, # 2128 - None, # 2129 - None, # 2130 - None, # 2131 - None, # 2132 - None, # 2133 - None, # 2134 - None, # 2135 - None, # 2136 - None, # 2137 - None, # 2138 - None, # 2139 - None, # 2140 - None, # 2141 - None, # 2142 - None, # 2143 - None, # 2144 - None, # 2145 - None, # 2146 - None, # 2147 - None, # 2148 - None, # 2149 - None, # 2150 - None, # 2151 - None, # 2152 - None, # 2153 - None, # 2154 - None, # 2155 - None, # 2156 - None, # 2157 - None, # 2158 - None, # 2159 - None, # 2160 - None, # 2161 - None, # 2162 - None, # 2163 - None, # 2164 - None, # 2165 - None, # 2166 - None, # 2167 - None, # 2168 - None, # 2169 - None, # 2170 - None, # 2171 - None, # 2172 - None, # 2173 - None, # 2174 - None, # 2175 - None, # 2176 - None, # 2177 - None, # 2178 - None, # 2179 - None, # 2180 - None, # 2181 - None, # 2182 - None, # 2183 - None, # 2184 - None, # 2185 - None, # 2186 - None, # 2187 - None, # 2188 - None, # 2189 - None, # 2190 - None, # 2191 - None, # 2192 - None, # 2193 - None, # 2194 - None, # 2195 - None, # 2196 - None, # 2197 - None, # 2198 - None, # 2199 - None, # 2200 - None, # 2201 - None, # 2202 - None, # 2203 - None, # 2204 - None, # 2205 - None, # 2206 - None, # 2207 - None, # 2208 - None, # 2209 - None, # 2210 - None, # 2211 - None, # 2212 - None, # 2213 - None, # 2214 - None, # 2215 - None, # 2216 - None, # 2217 - None, # 2218 - None, # 2219 - None, # 2220 - None, # 2221 - None, # 2222 - None, # 2223 - None, # 2224 - None, # 2225 - None, # 2226 - None, # 2227 - None, # 2228 - None, # 2229 - None, # 2230 - None, # 2231 - None, # 2232 - None, # 2233 - None, # 2234 - None, # 2235 - None, # 2236 - None, # 2237 - None, # 2238 - None, # 2239 - None, # 2240 - None, # 2241 - None, # 2242 - None, # 2243 - None, # 2244 - None, # 2245 - None, # 2246 - None, # 2247 - None, # 2248 - None, # 2249 - None, # 2250 - None, # 2251 - None, # 2252 - None, # 2253 - None, # 2254 - None, # 2255 - None, # 2256 - None, # 2257 - None, # 2258 - None, # 2259 - None, # 2260 - None, # 2261 - None, # 2262 - None, # 2263 - None, # 2264 - None, # 2265 - None, # 2266 - None, # 2267 - None, # 2268 - None, # 2269 - None, # 2270 - None, # 2271 - None, # 2272 - None, # 2273 - None, # 2274 - None, # 2275 - None, # 2276 - None, # 2277 - None, # 2278 - None, # 2279 - None, # 2280 - None, # 2281 - None, # 2282 - None, # 2283 - None, # 2284 - None, # 2285 - None, # 2286 - None, # 2287 - None, # 2288 - None, # 2289 - None, # 2290 - None, # 2291 - None, # 2292 - None, # 2293 - None, # 2294 - None, # 2295 - None, # 2296 - None, # 2297 - None, # 2298 - None, # 2299 - None, # 2300 - None, # 2301 - None, # 2302 - None, # 2303 - None, # 2304 - None, # 2305 - None, # 2306 - None, # 2307 - None, # 2308 - None, # 2309 - None, # 2310 - None, # 2311 - None, # 2312 - None, # 2313 - None, # 2314 - None, # 2315 - None, # 2316 - None, # 2317 - None, # 2318 - None, # 2319 - None, # 2320 - None, # 2321 - None, # 2322 - None, # 2323 - None, # 2324 - None, # 2325 - None, # 2326 - None, # 2327 - None, # 2328 - None, # 2329 - None, # 2330 - None, # 2331 - None, # 2332 - None, # 2333 - None, # 2334 - None, # 2335 - None, # 2336 - None, # 2337 - None, # 2338 - None, # 2339 - None, # 2340 - None, # 2341 - None, # 2342 - None, # 2343 - None, # 2344 - None, # 2345 - None, # 2346 - None, # 2347 - None, # 2348 - None, # 2349 - None, # 2350 - None, # 2351 - None, # 2352 - None, # 2353 - None, # 2354 - None, # 2355 - None, # 2356 - None, # 2357 - None, # 2358 - None, # 2359 - None, # 2360 - None, # 2361 - None, # 2362 - None, # 2363 - None, # 2364 - None, # 2365 - None, # 2366 - None, # 2367 - None, # 2368 - None, # 2369 - None, # 2370 - None, # 2371 - None, # 2372 - None, # 2373 - None, # 2374 - None, # 2375 - None, # 2376 - None, # 2377 - None, # 2378 - None, # 2379 - None, # 2380 - None, # 2381 - None, # 2382 - None, # 2383 - None, # 2384 - None, # 2385 - None, # 2386 - None, # 2387 - None, # 2388 - None, # 2389 - None, # 2390 - None, # 2391 - None, # 2392 - None, # 2393 - None, # 2394 - None, # 2395 - None, # 2396 - None, # 2397 - None, # 2398 - None, # 2399 - None, # 2400 - None, # 2401 - None, # 2402 - None, # 2403 - None, # 2404 - None, # 2405 - None, # 2406 - None, # 2407 - None, # 2408 - None, # 2409 - None, # 2410 - None, # 2411 - None, # 2412 - None, # 2413 - None, # 2414 - None, # 2415 - None, # 2416 - None, # 2417 - None, # 2418 - None, # 2419 - None, # 2420 - None, # 2421 - None, # 2422 - None, # 2423 - None, # 2424 - None, # 2425 - None, # 2426 - None, # 2427 - None, # 2428 - None, # 2429 - None, # 2430 - None, # 2431 - None, # 2432 - None, # 2433 - None, # 2434 - None, # 2435 - None, # 2436 - None, # 2437 - None, # 2438 - None, # 2439 - None, # 2440 - None, # 2441 - None, # 2442 - None, # 2443 - None, # 2444 - None, # 2445 - None, # 2446 - None, # 2447 - None, # 2448 - None, # 2449 - None, # 2450 - None, # 2451 - None, # 2452 - None, # 2453 - None, # 2454 - None, # 2455 - None, # 2456 - None, # 2457 - None, # 2458 - None, # 2459 - None, # 2460 - None, # 2461 - None, # 2462 - None, # 2463 - None, # 2464 - None, # 2465 - None, # 2466 - None, # 2467 - None, # 2468 - None, # 2469 - None, # 2470 - None, # 2471 - None, # 2472 - None, # 2473 - None, # 2474 - None, # 2475 - None, # 2476 - None, # 2477 - None, # 2478 - None, # 2479 - None, # 2480 - None, # 2481 - None, # 2482 - None, # 2483 - None, # 2484 - None, # 2485 - None, # 2486 - None, # 2487 - None, # 2488 - None, # 2489 - None, # 2490 - None, # 2491 - None, # 2492 - None, # 2493 - None, # 2494 - None, # 2495 - None, # 2496 - None, # 2497 - None, # 2498 - None, # 2499 - None, # 2500 - None, # 2501 - None, # 2502 - None, # 2503 - None, # 2504 - None, # 2505 - None, # 2506 - None, # 2507 - None, # 2508 - None, # 2509 - None, # 2510 - None, # 2511 - None, # 2512 - None, # 2513 - None, # 2514 - None, # 2515 - None, # 2516 - None, # 2517 - None, # 2518 - None, # 2519 - None, # 2520 - None, # 2521 - None, # 2522 - None, # 2523 - None, # 2524 - None, # 2525 - None, # 2526 - None, # 2527 - None, # 2528 - None, # 2529 - None, # 2530 - None, # 2531 - None, # 2532 - None, # 2533 - None, # 2534 - None, # 2535 - None, # 2536 - None, # 2537 - None, # 2538 - None, # 2539 - None, # 2540 - None, # 2541 - None, # 2542 - None, # 2543 - None, # 2544 - None, # 2545 - None, # 2546 - None, # 2547 - None, # 2548 - None, # 2549 - None, # 2550 - None, # 2551 - None, # 2552 - None, # 2553 - None, # 2554 - None, # 2555 - None, # 2556 - None, # 2557 - None, # 2558 - None, # 2559 - None, # 2560 - None, # 2561 - None, # 2562 - None, # 2563 - None, # 2564 - None, # 2565 - None, # 2566 - None, # 2567 - None, # 2568 - None, # 2569 - None, # 2570 - None, # 2571 - None, # 2572 - None, # 2573 - None, # 2574 - None, # 2575 - None, # 2576 - None, # 2577 - None, # 2578 - None, # 2579 - None, # 2580 - None, # 2581 - None, # 2582 - None, # 2583 - None, # 2584 - None, # 2585 - None, # 2586 - None, # 2587 - None, # 2588 - None, # 2589 - None, # 2590 - None, # 2591 - None, # 2592 - None, # 2593 - None, # 2594 - None, # 2595 - None, # 2596 - None, # 2597 - None, # 2598 - None, # 2599 - None, # 2600 - None, # 2601 - None, # 2602 - None, # 2603 - None, # 2604 - None, # 2605 - None, # 2606 - None, # 2607 - None, # 2608 - None, # 2609 - None, # 2610 - None, # 2611 - None, # 2612 - None, # 2613 - None, # 2614 - None, # 2615 - None, # 2616 - None, # 2617 - None, # 2618 - None, # 2619 - None, # 2620 - None, # 2621 - None, # 2622 - None, # 2623 - None, # 2624 - None, # 2625 - None, # 2626 - None, # 2627 - None, # 2628 - None, # 2629 - None, # 2630 - None, # 2631 - None, # 2632 - None, # 2633 - None, # 2634 - None, # 2635 - None, # 2636 - None, # 2637 - None, # 2638 - None, # 2639 - None, # 2640 - None, # 2641 - None, # 2642 - None, # 2643 - None, # 2644 - None, # 2645 - None, # 2646 - None, # 2647 - None, # 2648 - None, # 2649 - None, # 2650 - None, # 2651 - None, # 2652 - None, # 2653 - None, # 2654 - None, # 2655 - None, # 2656 - None, # 2657 - None, # 2658 - None, # 2659 - None, # 2660 - None, # 2661 - None, # 2662 - None, # 2663 - None, # 2664 - None, # 2665 - None, # 2666 - None, # 2667 - None, # 2668 - None, # 2669 - None, # 2670 - None, # 2671 - None, # 2672 - None, # 2673 - None, # 2674 - None, # 2675 - None, # 2676 - None, # 2677 - None, # 2678 - None, # 2679 - None, # 2680 - None, # 2681 - None, # 2682 - None, # 2683 - None, # 2684 - None, # 2685 - None, # 2686 - None, # 2687 - None, # 2688 - None, # 2689 - None, # 2690 - None, # 2691 - None, # 2692 - None, # 2693 - None, # 2694 - None, # 2695 - None, # 2696 - None, # 2697 - None, # 2698 - None, # 2699 - None, # 2700 - None, # 2701 - None, # 2702 - None, # 2703 - None, # 2704 - None, # 2705 - None, # 2706 - None, # 2707 - None, # 2708 - None, # 2709 - None, # 2710 - None, # 2711 - None, # 2712 - None, # 2713 - None, # 2714 - None, # 2715 - None, # 2716 - None, # 2717 - None, # 2718 - None, # 2719 - None, # 2720 - None, # 2721 - None, # 2722 - None, # 2723 - None, # 2724 - None, # 2725 - None, # 2726 - None, # 2727 - None, # 2728 - None, # 2729 - None, # 2730 - None, # 2731 - None, # 2732 - None, # 2733 - None, # 2734 - None, # 2735 - None, # 2736 - None, # 2737 - None, # 2738 - None, # 2739 - None, # 2740 - None, # 2741 - None, # 2742 - None, # 2743 - None, # 2744 - None, # 2745 - None, # 2746 - None, # 2747 - None, # 2748 - None, # 2749 - None, # 2750 - None, # 2751 - None, # 2752 - None, # 2753 - None, # 2754 - None, # 2755 - None, # 2756 - None, # 2757 - None, # 2758 - None, # 2759 - None, # 2760 - None, # 2761 - None, # 2762 - None, # 2763 - None, # 2764 - None, # 2765 - None, # 2766 - None, # 2767 - None, # 2768 - None, # 2769 - None, # 2770 - None, # 2771 - None, # 2772 - None, # 2773 - None, # 2774 - None, # 2775 - None, # 2776 - None, # 2777 - None, # 2778 - None, # 2779 - None, # 2780 - None, # 2781 - None, # 2782 - None, # 2783 - None, # 2784 - None, # 2785 - None, # 2786 - None, # 2787 - None, # 2788 - None, # 2789 - None, # 2790 - None, # 2791 - None, # 2792 - None, # 2793 - None, # 2794 - None, # 2795 - None, # 2796 - None, # 2797 - None, # 2798 - None, # 2799 - None, # 2800 - None, # 2801 - None, # 2802 - None, # 2803 - None, # 2804 - None, # 2805 - None, # 2806 - None, # 2807 - None, # 2808 - None, # 2809 - None, # 2810 - None, # 2811 - None, # 2812 - None, # 2813 - None, # 2814 - None, # 2815 - None, # 2816 - None, # 2817 - None, # 2818 - None, # 2819 - None, # 2820 - None, # 2821 - None, # 2822 - None, # 2823 - None, # 2824 - None, # 2825 - None, # 2826 - None, # 2827 - None, # 2828 - None, # 2829 - None, # 2830 - None, # 2831 - None, # 2832 - None, # 2833 - None, # 2834 - None, # 2835 - None, # 2836 - None, # 2837 - None, # 2838 - None, # 2839 - None, # 2840 - None, # 2841 - None, # 2842 - None, # 2843 - None, # 2844 - None, # 2845 - None, # 2846 - None, # 2847 - None, # 2848 - None, # 2849 - None, # 2850 - None, # 2851 - None, # 2852 - None, # 2853 - None, # 2854 - None, # 2855 - None, # 2856 - None, # 2857 - None, # 2858 - None, # 2859 - None, # 2860 - None, # 2861 - None, # 2862 - None, # 2863 - None, # 2864 - None, # 2865 - None, # 2866 - None, # 2867 - None, # 2868 - None, # 2869 - None, # 2870 - None, # 2871 - None, # 2872 - None, # 2873 - None, # 2874 - None, # 2875 - None, # 2876 - None, # 2877 - None, # 2878 - None, # 2879 - None, # 2880 - None, # 2881 - None, # 2882 - None, # 2883 - None, # 2884 - None, # 2885 - None, # 2886 - None, # 2887 - None, # 2888 - None, # 2889 - None, # 2890 - None, # 2891 - None, # 2892 - None, # 2893 - None, # 2894 - None, # 2895 - None, # 2896 - None, # 2897 - None, # 2898 - None, # 2899 - None, # 2900 - None, # 2901 - None, # 2902 - None, # 2903 - None, # 2904 - None, # 2905 - None, # 2906 - None, # 2907 - None, # 2908 - None, # 2909 - None, # 2910 - None, # 2911 - None, # 2912 - None, # 2913 - None, # 2914 - None, # 2915 - None, # 2916 - None, # 2917 - None, # 2918 - None, # 2919 - None, # 2920 - None, # 2921 - None, # 2922 - None, # 2923 - None, # 2924 - None, # 2925 - None, # 2926 - None, # 2927 - None, # 2928 - None, # 2929 - None, # 2930 - None, # 2931 - None, # 2932 - None, # 2933 - None, # 2934 - None, # 2935 - None, # 2936 - None, # 2937 - None, # 2938 - None, # 2939 - None, # 2940 - None, # 2941 - None, # 2942 - None, # 2943 - None, # 2944 - None, # 2945 - None, # 2946 - None, # 2947 - None, # 2948 - None, # 2949 - None, # 2950 - None, # 2951 - None, # 2952 - None, # 2953 - None, # 2954 - None, # 2955 - None, # 2956 - None, # 2957 - None, # 2958 - None, # 2959 - None, # 2960 - None, # 2961 - None, # 2962 - None, # 2963 - None, # 2964 - None, # 2965 - None, # 2966 - None, # 2967 - None, # 2968 - None, # 2969 - None, # 2970 - None, # 2971 - None, # 2972 - None, # 2973 - None, # 2974 - None, # 2975 - None, # 2976 - None, # 2977 - None, # 2978 - None, # 2979 - None, # 2980 - None, # 2981 - None, # 2982 - None, # 2983 - None, # 2984 - None, # 2985 - None, # 2986 - None, # 2987 - None, # 2988 - None, # 2989 - None, # 2990 - None, # 2991 - None, # 2992 - None, # 2993 - None, # 2994 - None, # 2995 - None, # 2996 - None, # 2997 - None, # 2998 - None, # 2999 - None, # 3000 - None, # 3001 - None, # 3002 - None, # 3003 - None, # 3004 - None, # 3005 - None, # 3006 - None, # 3007 - None, # 3008 - None, # 3009 - None, # 3010 - None, # 3011 - None, # 3012 - None, # 3013 - None, # 3014 - None, # 3015 - None, # 3016 - None, # 3017 - None, # 3018 - None, # 3019 - None, # 3020 - None, # 3021 - None, # 3022 - None, # 3023 - None, # 3024 - None, # 3025 - None, # 3026 - None, # 3027 - None, # 3028 - None, # 3029 - None, # 3030 - None, # 3031 - None, # 3032 - None, # 3033 - None, # 3034 - None, # 3035 - None, # 3036 - None, # 3037 - None, # 3038 - None, # 3039 - None, # 3040 - None, # 3041 - None, # 3042 - None, # 3043 - None, # 3044 - None, # 3045 - None, # 3046 - None, # 3047 - None, # 3048 - None, # 3049 - None, # 3050 - None, # 3051 - None, # 3052 - None, # 3053 - None, # 3054 - None, # 3055 - None, # 3056 - None, # 3057 - None, # 3058 - None, # 3059 - None, # 3060 - None, # 3061 - None, # 3062 - None, # 3063 - None, # 3064 - None, # 3065 - None, # 3066 - None, # 3067 - None, # 3068 - None, # 3069 - None, # 3070 - None, # 3071 - None, # 3072 - None, # 3073 - None, # 3074 - None, # 3075 - None, # 3076 - None, # 3077 - None, # 3078 - None, # 3079 - None, # 3080 - None, # 3081 - None, # 3082 - None, # 3083 - None, # 3084 - None, # 3085 - None, # 3086 - None, # 3087 - None, # 3088 - None, # 3089 - None, # 3090 - None, # 3091 - None, # 3092 - None, # 3093 - None, # 3094 - None, # 3095 - None, # 3096 - None, # 3097 - None, # 3098 - None, # 3099 - None, # 3100 - None, # 3101 - None, # 3102 - None, # 3103 - None, # 3104 - None, # 3105 - None, # 3106 - None, # 3107 - None, # 3108 - None, # 3109 - None, # 3110 - None, # 3111 - None, # 3112 - None, # 3113 - None, # 3114 - None, # 3115 - None, # 3116 - None, # 3117 - None, # 3118 - None, # 3119 - None, # 3120 - None, # 3121 - None, # 3122 - None, # 3123 - None, # 3124 - None, # 3125 - None, # 3126 - None, # 3127 - None, # 3128 - None, # 3129 - None, # 3130 - None, # 3131 - None, # 3132 - None, # 3133 - None, # 3134 - None, # 3135 - None, # 3136 - None, # 3137 - None, # 3138 - None, # 3139 - None, # 3140 - None, # 3141 - None, # 3142 - None, # 3143 - None, # 3144 - None, # 3145 - None, # 3146 - None, # 3147 - None, # 3148 - None, # 3149 - None, # 3150 - None, # 3151 - None, # 3152 - None, # 3153 - None, # 3154 - None, # 3155 - None, # 3156 - None, # 3157 - None, # 3158 - None, # 3159 - None, # 3160 - None, # 3161 - None, # 3162 - None, # 3163 - None, # 3164 - None, # 3165 - None, # 3166 - None, # 3167 - None, # 3168 - None, # 3169 - None, # 3170 - None, # 3171 - None, # 3172 - None, # 3173 - None, # 3174 - None, # 3175 - None, # 3176 - None, # 3177 - None, # 3178 - None, # 3179 - None, # 3180 - None, # 3181 - None, # 3182 - None, # 3183 - None, # 3184 - None, # 3185 - None, # 3186 - None, # 3187 - None, # 3188 - None, # 3189 - None, # 3190 - None, # 3191 - None, # 3192 - None, # 3193 - None, # 3194 - None, # 3195 - None, # 3196 - None, # 3197 - None, # 3198 - None, # 3199 - None, # 3200 - None, # 3201 - None, # 3202 - None, # 3203 - None, # 3204 - None, # 3205 - None, # 3206 - None, # 3207 - None, # 3208 - None, # 3209 - None, # 3210 - None, # 3211 - None, # 3212 - None, # 3213 - None, # 3214 - None, # 3215 - None, # 3216 - None, # 3217 - None, # 3218 - None, # 3219 - None, # 3220 - None, # 3221 - None, # 3222 - None, # 3223 - None, # 3224 - None, # 3225 - None, # 3226 - None, # 3227 - None, # 3228 - None, # 3229 - None, # 3230 - None, # 3231 - None, # 3232 - None, # 3233 - None, # 3234 - None, # 3235 - None, # 3236 - None, # 3237 - None, # 3238 - None, # 3239 - None, # 3240 - None, # 3241 - None, # 3242 - None, # 3243 - None, # 3244 - None, # 3245 - None, # 3246 - None, # 3247 - None, # 3248 - None, # 3249 - None, # 3250 - None, # 3251 - None, # 3252 - None, # 3253 - None, # 3254 - None, # 3255 - None, # 3256 - None, # 3257 - None, # 3258 - None, # 3259 - None, # 3260 - None, # 3261 - None, # 3262 - None, # 3263 - None, # 3264 - None, # 3265 - None, # 3266 - None, # 3267 - None, # 3268 - None, # 3269 - None, # 3270 - None, # 3271 - None, # 3272 - None, # 3273 - None, # 3274 - None, # 3275 - None, # 3276 - None, # 3277 - None, # 3278 - None, # 3279 - None, # 3280 - None, # 3281 - None, # 3282 - None, # 3283 - None, # 3284 - None, # 3285 - None, # 3286 - None, # 3287 - None, # 3288 - None, # 3289 - None, # 3290 - None, # 3291 - None, # 3292 - None, # 3293 - None, # 3294 - None, # 3295 - None, # 3296 - None, # 3297 - None, # 3298 - None, # 3299 - None, # 3300 - None, # 3301 - None, # 3302 - None, # 3303 - None, # 3304 - None, # 3305 - None, # 3306 - None, # 3307 - None, # 3308 - None, # 3309 - None, # 3310 - None, # 3311 - None, # 3312 - None, # 3313 - None, # 3314 - None, # 3315 - None, # 3316 - None, # 3317 - None, # 3318 - None, # 3319 - None, # 3320 - None, # 3321 - None, # 3322 - None, # 3323 - None, # 3324 - None, # 3325 - None, # 3326 - None, # 3327 - None, # 3328 - ( - 3329, - TType.BOOL, - "includeCloudResultFiles", - None, - None, - ), # 3329 + None, # 0 + (1, TType.STRUCT, 'operationHandle', [TOperationHandle, None], None, ), # 1 + None, # 2 + None, # 3 + None, # 4 + None, # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + None, # 1281 + None, # 1282 + None, # 1283 + None, # 1284 + None, # 1285 + None, # 1286 + None, # 1287 + None, # 1288 + None, # 1289 + None, # 1290 + None, # 1291 + None, # 1292 + None, # 1293 + None, # 1294 + None, # 1295 + None, # 1296 + None, # 1297 + None, # 1298 + None, # 1299 + None, # 1300 + None, # 1301 + None, # 1302 + None, # 1303 + None, # 1304 + None, # 1305 + None, # 1306 + None, # 1307 + None, # 1308 + None, # 1309 + None, # 1310 + None, # 1311 + None, # 1312 + None, # 1313 + None, # 1314 + None, # 1315 + None, # 1316 + None, # 1317 + None, # 1318 + None, # 1319 + None, # 1320 + None, # 1321 + None, # 1322 + None, # 1323 + None, # 1324 + None, # 1325 + None, # 1326 + None, # 1327 + None, # 1328 + None, # 1329 + None, # 1330 + None, # 1331 + None, # 1332 + None, # 1333 + None, # 1334 + None, # 1335 + None, # 1336 + None, # 1337 + None, # 1338 + None, # 1339 + None, # 1340 + None, # 1341 + None, # 1342 + None, # 1343 + None, # 1344 + None, # 1345 + None, # 1346 + None, # 1347 + None, # 1348 + None, # 1349 + None, # 1350 + None, # 1351 + None, # 1352 + None, # 1353 + None, # 1354 + None, # 1355 + None, # 1356 + None, # 1357 + None, # 1358 + None, # 1359 + None, # 1360 + None, # 1361 + None, # 1362 + None, # 1363 + None, # 1364 + None, # 1365 + None, # 1366 + None, # 1367 + None, # 1368 + None, # 1369 + None, # 1370 + None, # 1371 + None, # 1372 + None, # 1373 + None, # 1374 + None, # 1375 + None, # 1376 + None, # 1377 + None, # 1378 + None, # 1379 + None, # 1380 + None, # 1381 + None, # 1382 + None, # 1383 + None, # 1384 + None, # 1385 + None, # 1386 + None, # 1387 + None, # 1388 + None, # 1389 + None, # 1390 + None, # 1391 + None, # 1392 + None, # 1393 + None, # 1394 + None, # 1395 + None, # 1396 + None, # 1397 + None, # 1398 + None, # 1399 + None, # 1400 + None, # 1401 + None, # 1402 + None, # 1403 + None, # 1404 + None, # 1405 + None, # 1406 + None, # 1407 + None, # 1408 + None, # 1409 + None, # 1410 + None, # 1411 + None, # 1412 + None, # 1413 + None, # 1414 + None, # 1415 + None, # 1416 + None, # 1417 + None, # 1418 + None, # 1419 + None, # 1420 + None, # 1421 + None, # 1422 + None, # 1423 + None, # 1424 + None, # 1425 + None, # 1426 + None, # 1427 + None, # 1428 + None, # 1429 + None, # 1430 + None, # 1431 + None, # 1432 + None, # 1433 + None, # 1434 + None, # 1435 + None, # 1436 + None, # 1437 + None, # 1438 + None, # 1439 + None, # 1440 + None, # 1441 + None, # 1442 + None, # 1443 + None, # 1444 + None, # 1445 + None, # 1446 + None, # 1447 + None, # 1448 + None, # 1449 + None, # 1450 + None, # 1451 + None, # 1452 + None, # 1453 + None, # 1454 + None, # 1455 + None, # 1456 + None, # 1457 + None, # 1458 + None, # 1459 + None, # 1460 + None, # 1461 + None, # 1462 + None, # 1463 + None, # 1464 + None, # 1465 + None, # 1466 + None, # 1467 + None, # 1468 + None, # 1469 + None, # 1470 + None, # 1471 + None, # 1472 + None, # 1473 + None, # 1474 + None, # 1475 + None, # 1476 + None, # 1477 + None, # 1478 + None, # 1479 + None, # 1480 + None, # 1481 + None, # 1482 + None, # 1483 + None, # 1484 + None, # 1485 + None, # 1486 + None, # 1487 + None, # 1488 + None, # 1489 + None, # 1490 + None, # 1491 + None, # 1492 + None, # 1493 + None, # 1494 + None, # 1495 + None, # 1496 + None, # 1497 + None, # 1498 + None, # 1499 + None, # 1500 + None, # 1501 + None, # 1502 + None, # 1503 + None, # 1504 + None, # 1505 + None, # 1506 + None, # 1507 + None, # 1508 + None, # 1509 + None, # 1510 + None, # 1511 + None, # 1512 + None, # 1513 + None, # 1514 + None, # 1515 + None, # 1516 + None, # 1517 + None, # 1518 + None, # 1519 + None, # 1520 + None, # 1521 + None, # 1522 + None, # 1523 + None, # 1524 + None, # 1525 + None, # 1526 + None, # 1527 + None, # 1528 + None, # 1529 + None, # 1530 + None, # 1531 + None, # 1532 + None, # 1533 + None, # 1534 + None, # 1535 + None, # 1536 + None, # 1537 + None, # 1538 + None, # 1539 + None, # 1540 + None, # 1541 + None, # 1542 + None, # 1543 + None, # 1544 + None, # 1545 + None, # 1546 + None, # 1547 + None, # 1548 + None, # 1549 + None, # 1550 + None, # 1551 + None, # 1552 + None, # 1553 + None, # 1554 + None, # 1555 + None, # 1556 + None, # 1557 + None, # 1558 + None, # 1559 + None, # 1560 + None, # 1561 + None, # 1562 + None, # 1563 + None, # 1564 + None, # 1565 + None, # 1566 + None, # 1567 + None, # 1568 + None, # 1569 + None, # 1570 + None, # 1571 + None, # 1572 + None, # 1573 + None, # 1574 + None, # 1575 + None, # 1576 + None, # 1577 + None, # 1578 + None, # 1579 + None, # 1580 + None, # 1581 + None, # 1582 + None, # 1583 + None, # 1584 + None, # 1585 + None, # 1586 + None, # 1587 + None, # 1588 + None, # 1589 + None, # 1590 + None, # 1591 + None, # 1592 + None, # 1593 + None, # 1594 + None, # 1595 + None, # 1596 + None, # 1597 + None, # 1598 + None, # 1599 + None, # 1600 + None, # 1601 + None, # 1602 + None, # 1603 + None, # 1604 + None, # 1605 + None, # 1606 + None, # 1607 + None, # 1608 + None, # 1609 + None, # 1610 + None, # 1611 + None, # 1612 + None, # 1613 + None, # 1614 + None, # 1615 + None, # 1616 + None, # 1617 + None, # 1618 + None, # 1619 + None, # 1620 + None, # 1621 + None, # 1622 + None, # 1623 + None, # 1624 + None, # 1625 + None, # 1626 + None, # 1627 + None, # 1628 + None, # 1629 + None, # 1630 + None, # 1631 + None, # 1632 + None, # 1633 + None, # 1634 + None, # 1635 + None, # 1636 + None, # 1637 + None, # 1638 + None, # 1639 + None, # 1640 + None, # 1641 + None, # 1642 + None, # 1643 + None, # 1644 + None, # 1645 + None, # 1646 + None, # 1647 + None, # 1648 + None, # 1649 + None, # 1650 + None, # 1651 + None, # 1652 + None, # 1653 + None, # 1654 + None, # 1655 + None, # 1656 + None, # 1657 + None, # 1658 + None, # 1659 + None, # 1660 + None, # 1661 + None, # 1662 + None, # 1663 + None, # 1664 + None, # 1665 + None, # 1666 + None, # 1667 + None, # 1668 + None, # 1669 + None, # 1670 + None, # 1671 + None, # 1672 + None, # 1673 + None, # 1674 + None, # 1675 + None, # 1676 + None, # 1677 + None, # 1678 + None, # 1679 + None, # 1680 + None, # 1681 + None, # 1682 + None, # 1683 + None, # 1684 + None, # 1685 + None, # 1686 + None, # 1687 + None, # 1688 + None, # 1689 + None, # 1690 + None, # 1691 + None, # 1692 + None, # 1693 + None, # 1694 + None, # 1695 + None, # 1696 + None, # 1697 + None, # 1698 + None, # 1699 + None, # 1700 + None, # 1701 + None, # 1702 + None, # 1703 + None, # 1704 + None, # 1705 + None, # 1706 + None, # 1707 + None, # 1708 + None, # 1709 + None, # 1710 + None, # 1711 + None, # 1712 + None, # 1713 + None, # 1714 + None, # 1715 + None, # 1716 + None, # 1717 + None, # 1718 + None, # 1719 + None, # 1720 + None, # 1721 + None, # 1722 + None, # 1723 + None, # 1724 + None, # 1725 + None, # 1726 + None, # 1727 + None, # 1728 + None, # 1729 + None, # 1730 + None, # 1731 + None, # 1732 + None, # 1733 + None, # 1734 + None, # 1735 + None, # 1736 + None, # 1737 + None, # 1738 + None, # 1739 + None, # 1740 + None, # 1741 + None, # 1742 + None, # 1743 + None, # 1744 + None, # 1745 + None, # 1746 + None, # 1747 + None, # 1748 + None, # 1749 + None, # 1750 + None, # 1751 + None, # 1752 + None, # 1753 + None, # 1754 + None, # 1755 + None, # 1756 + None, # 1757 + None, # 1758 + None, # 1759 + None, # 1760 + None, # 1761 + None, # 1762 + None, # 1763 + None, # 1764 + None, # 1765 + None, # 1766 + None, # 1767 + None, # 1768 + None, # 1769 + None, # 1770 + None, # 1771 + None, # 1772 + None, # 1773 + None, # 1774 + None, # 1775 + None, # 1776 + None, # 1777 + None, # 1778 + None, # 1779 + None, # 1780 + None, # 1781 + None, # 1782 + None, # 1783 + None, # 1784 + None, # 1785 + None, # 1786 + None, # 1787 + None, # 1788 + None, # 1789 + None, # 1790 + None, # 1791 + None, # 1792 + None, # 1793 + None, # 1794 + None, # 1795 + None, # 1796 + None, # 1797 + None, # 1798 + None, # 1799 + None, # 1800 + None, # 1801 + None, # 1802 + None, # 1803 + None, # 1804 + None, # 1805 + None, # 1806 + None, # 1807 + None, # 1808 + None, # 1809 + None, # 1810 + None, # 1811 + None, # 1812 + None, # 1813 + None, # 1814 + None, # 1815 + None, # 1816 + None, # 1817 + None, # 1818 + None, # 1819 + None, # 1820 + None, # 1821 + None, # 1822 + None, # 1823 + None, # 1824 + None, # 1825 + None, # 1826 + None, # 1827 + None, # 1828 + None, # 1829 + None, # 1830 + None, # 1831 + None, # 1832 + None, # 1833 + None, # 1834 + None, # 1835 + None, # 1836 + None, # 1837 + None, # 1838 + None, # 1839 + None, # 1840 + None, # 1841 + None, # 1842 + None, # 1843 + None, # 1844 + None, # 1845 + None, # 1846 + None, # 1847 + None, # 1848 + None, # 1849 + None, # 1850 + None, # 1851 + None, # 1852 + None, # 1853 + None, # 1854 + None, # 1855 + None, # 1856 + None, # 1857 + None, # 1858 + None, # 1859 + None, # 1860 + None, # 1861 + None, # 1862 + None, # 1863 + None, # 1864 + None, # 1865 + None, # 1866 + None, # 1867 + None, # 1868 + None, # 1869 + None, # 1870 + None, # 1871 + None, # 1872 + None, # 1873 + None, # 1874 + None, # 1875 + None, # 1876 + None, # 1877 + None, # 1878 + None, # 1879 + None, # 1880 + None, # 1881 + None, # 1882 + None, # 1883 + None, # 1884 + None, # 1885 + None, # 1886 + None, # 1887 + None, # 1888 + None, # 1889 + None, # 1890 + None, # 1891 + None, # 1892 + None, # 1893 + None, # 1894 + None, # 1895 + None, # 1896 + None, # 1897 + None, # 1898 + None, # 1899 + None, # 1900 + None, # 1901 + None, # 1902 + None, # 1903 + None, # 1904 + None, # 1905 + None, # 1906 + None, # 1907 + None, # 1908 + None, # 1909 + None, # 1910 + None, # 1911 + None, # 1912 + None, # 1913 + None, # 1914 + None, # 1915 + None, # 1916 + None, # 1917 + None, # 1918 + None, # 1919 + None, # 1920 + None, # 1921 + None, # 1922 + None, # 1923 + None, # 1924 + None, # 1925 + None, # 1926 + None, # 1927 + None, # 1928 + None, # 1929 + None, # 1930 + None, # 1931 + None, # 1932 + None, # 1933 + None, # 1934 + None, # 1935 + None, # 1936 + None, # 1937 + None, # 1938 + None, # 1939 + None, # 1940 + None, # 1941 + None, # 1942 + None, # 1943 + None, # 1944 + None, # 1945 + None, # 1946 + None, # 1947 + None, # 1948 + None, # 1949 + None, # 1950 + None, # 1951 + None, # 1952 + None, # 1953 + None, # 1954 + None, # 1955 + None, # 1956 + None, # 1957 + None, # 1958 + None, # 1959 + None, # 1960 + None, # 1961 + None, # 1962 + None, # 1963 + None, # 1964 + None, # 1965 + None, # 1966 + None, # 1967 + None, # 1968 + None, # 1969 + None, # 1970 + None, # 1971 + None, # 1972 + None, # 1973 + None, # 1974 + None, # 1975 + None, # 1976 + None, # 1977 + None, # 1978 + None, # 1979 + None, # 1980 + None, # 1981 + None, # 1982 + None, # 1983 + None, # 1984 + None, # 1985 + None, # 1986 + None, # 1987 + None, # 1988 + None, # 1989 + None, # 1990 + None, # 1991 + None, # 1992 + None, # 1993 + None, # 1994 + None, # 1995 + None, # 1996 + None, # 1997 + None, # 1998 + None, # 1999 + None, # 2000 + None, # 2001 + None, # 2002 + None, # 2003 + None, # 2004 + None, # 2005 + None, # 2006 + None, # 2007 + None, # 2008 + None, # 2009 + None, # 2010 + None, # 2011 + None, # 2012 + None, # 2013 + None, # 2014 + None, # 2015 + None, # 2016 + None, # 2017 + None, # 2018 + None, # 2019 + None, # 2020 + None, # 2021 + None, # 2022 + None, # 2023 + None, # 2024 + None, # 2025 + None, # 2026 + None, # 2027 + None, # 2028 + None, # 2029 + None, # 2030 + None, # 2031 + None, # 2032 + None, # 2033 + None, # 2034 + None, # 2035 + None, # 2036 + None, # 2037 + None, # 2038 + None, # 2039 + None, # 2040 + None, # 2041 + None, # 2042 + None, # 2043 + None, # 2044 + None, # 2045 + None, # 2046 + None, # 2047 + None, # 2048 + None, # 2049 + None, # 2050 + None, # 2051 + None, # 2052 + None, # 2053 + None, # 2054 + None, # 2055 + None, # 2056 + None, # 2057 + None, # 2058 + None, # 2059 + None, # 2060 + None, # 2061 + None, # 2062 + None, # 2063 + None, # 2064 + None, # 2065 + None, # 2066 + None, # 2067 + None, # 2068 + None, # 2069 + None, # 2070 + None, # 2071 + None, # 2072 + None, # 2073 + None, # 2074 + None, # 2075 + None, # 2076 + None, # 2077 + None, # 2078 + None, # 2079 + None, # 2080 + None, # 2081 + None, # 2082 + None, # 2083 + None, # 2084 + None, # 2085 + None, # 2086 + None, # 2087 + None, # 2088 + None, # 2089 + None, # 2090 + None, # 2091 + None, # 2092 + None, # 2093 + None, # 2094 + None, # 2095 + None, # 2096 + None, # 2097 + None, # 2098 + None, # 2099 + None, # 2100 + None, # 2101 + None, # 2102 + None, # 2103 + None, # 2104 + None, # 2105 + None, # 2106 + None, # 2107 + None, # 2108 + None, # 2109 + None, # 2110 + None, # 2111 + None, # 2112 + None, # 2113 + None, # 2114 + None, # 2115 + None, # 2116 + None, # 2117 + None, # 2118 + None, # 2119 + None, # 2120 + None, # 2121 + None, # 2122 + None, # 2123 + None, # 2124 + None, # 2125 + None, # 2126 + None, # 2127 + None, # 2128 + None, # 2129 + None, # 2130 + None, # 2131 + None, # 2132 + None, # 2133 + None, # 2134 + None, # 2135 + None, # 2136 + None, # 2137 + None, # 2138 + None, # 2139 + None, # 2140 + None, # 2141 + None, # 2142 + None, # 2143 + None, # 2144 + None, # 2145 + None, # 2146 + None, # 2147 + None, # 2148 + None, # 2149 + None, # 2150 + None, # 2151 + None, # 2152 + None, # 2153 + None, # 2154 + None, # 2155 + None, # 2156 + None, # 2157 + None, # 2158 + None, # 2159 + None, # 2160 + None, # 2161 + None, # 2162 + None, # 2163 + None, # 2164 + None, # 2165 + None, # 2166 + None, # 2167 + None, # 2168 + None, # 2169 + None, # 2170 + None, # 2171 + None, # 2172 + None, # 2173 + None, # 2174 + None, # 2175 + None, # 2176 + None, # 2177 + None, # 2178 + None, # 2179 + None, # 2180 + None, # 2181 + None, # 2182 + None, # 2183 + None, # 2184 + None, # 2185 + None, # 2186 + None, # 2187 + None, # 2188 + None, # 2189 + None, # 2190 + None, # 2191 + None, # 2192 + None, # 2193 + None, # 2194 + None, # 2195 + None, # 2196 + None, # 2197 + None, # 2198 + None, # 2199 + None, # 2200 + None, # 2201 + None, # 2202 + None, # 2203 + None, # 2204 + None, # 2205 + None, # 2206 + None, # 2207 + None, # 2208 + None, # 2209 + None, # 2210 + None, # 2211 + None, # 2212 + None, # 2213 + None, # 2214 + None, # 2215 + None, # 2216 + None, # 2217 + None, # 2218 + None, # 2219 + None, # 2220 + None, # 2221 + None, # 2222 + None, # 2223 + None, # 2224 + None, # 2225 + None, # 2226 + None, # 2227 + None, # 2228 + None, # 2229 + None, # 2230 + None, # 2231 + None, # 2232 + None, # 2233 + None, # 2234 + None, # 2235 + None, # 2236 + None, # 2237 + None, # 2238 + None, # 2239 + None, # 2240 + None, # 2241 + None, # 2242 + None, # 2243 + None, # 2244 + None, # 2245 + None, # 2246 + None, # 2247 + None, # 2248 + None, # 2249 + None, # 2250 + None, # 2251 + None, # 2252 + None, # 2253 + None, # 2254 + None, # 2255 + None, # 2256 + None, # 2257 + None, # 2258 + None, # 2259 + None, # 2260 + None, # 2261 + None, # 2262 + None, # 2263 + None, # 2264 + None, # 2265 + None, # 2266 + None, # 2267 + None, # 2268 + None, # 2269 + None, # 2270 + None, # 2271 + None, # 2272 + None, # 2273 + None, # 2274 + None, # 2275 + None, # 2276 + None, # 2277 + None, # 2278 + None, # 2279 + None, # 2280 + None, # 2281 + None, # 2282 + None, # 2283 + None, # 2284 + None, # 2285 + None, # 2286 + None, # 2287 + None, # 2288 + None, # 2289 + None, # 2290 + None, # 2291 + None, # 2292 + None, # 2293 + None, # 2294 + None, # 2295 + None, # 2296 + None, # 2297 + None, # 2298 + None, # 2299 + None, # 2300 + None, # 2301 + None, # 2302 + None, # 2303 + None, # 2304 + None, # 2305 + None, # 2306 + None, # 2307 + None, # 2308 + None, # 2309 + None, # 2310 + None, # 2311 + None, # 2312 + None, # 2313 + None, # 2314 + None, # 2315 + None, # 2316 + None, # 2317 + None, # 2318 + None, # 2319 + None, # 2320 + None, # 2321 + None, # 2322 + None, # 2323 + None, # 2324 + None, # 2325 + None, # 2326 + None, # 2327 + None, # 2328 + None, # 2329 + None, # 2330 + None, # 2331 + None, # 2332 + None, # 2333 + None, # 2334 + None, # 2335 + None, # 2336 + None, # 2337 + None, # 2338 + None, # 2339 + None, # 2340 + None, # 2341 + None, # 2342 + None, # 2343 + None, # 2344 + None, # 2345 + None, # 2346 + None, # 2347 + None, # 2348 + None, # 2349 + None, # 2350 + None, # 2351 + None, # 2352 + None, # 2353 + None, # 2354 + None, # 2355 + None, # 2356 + None, # 2357 + None, # 2358 + None, # 2359 + None, # 2360 + None, # 2361 + None, # 2362 + None, # 2363 + None, # 2364 + None, # 2365 + None, # 2366 + None, # 2367 + None, # 2368 + None, # 2369 + None, # 2370 + None, # 2371 + None, # 2372 + None, # 2373 + None, # 2374 + None, # 2375 + None, # 2376 + None, # 2377 + None, # 2378 + None, # 2379 + None, # 2380 + None, # 2381 + None, # 2382 + None, # 2383 + None, # 2384 + None, # 2385 + None, # 2386 + None, # 2387 + None, # 2388 + None, # 2389 + None, # 2390 + None, # 2391 + None, # 2392 + None, # 2393 + None, # 2394 + None, # 2395 + None, # 2396 + None, # 2397 + None, # 2398 + None, # 2399 + None, # 2400 + None, # 2401 + None, # 2402 + None, # 2403 + None, # 2404 + None, # 2405 + None, # 2406 + None, # 2407 + None, # 2408 + None, # 2409 + None, # 2410 + None, # 2411 + None, # 2412 + None, # 2413 + None, # 2414 + None, # 2415 + None, # 2416 + None, # 2417 + None, # 2418 + None, # 2419 + None, # 2420 + None, # 2421 + None, # 2422 + None, # 2423 + None, # 2424 + None, # 2425 + None, # 2426 + None, # 2427 + None, # 2428 + None, # 2429 + None, # 2430 + None, # 2431 + None, # 2432 + None, # 2433 + None, # 2434 + None, # 2435 + None, # 2436 + None, # 2437 + None, # 2438 + None, # 2439 + None, # 2440 + None, # 2441 + None, # 2442 + None, # 2443 + None, # 2444 + None, # 2445 + None, # 2446 + None, # 2447 + None, # 2448 + None, # 2449 + None, # 2450 + None, # 2451 + None, # 2452 + None, # 2453 + None, # 2454 + None, # 2455 + None, # 2456 + None, # 2457 + None, # 2458 + None, # 2459 + None, # 2460 + None, # 2461 + None, # 2462 + None, # 2463 + None, # 2464 + None, # 2465 + None, # 2466 + None, # 2467 + None, # 2468 + None, # 2469 + None, # 2470 + None, # 2471 + None, # 2472 + None, # 2473 + None, # 2474 + None, # 2475 + None, # 2476 + None, # 2477 + None, # 2478 + None, # 2479 + None, # 2480 + None, # 2481 + None, # 2482 + None, # 2483 + None, # 2484 + None, # 2485 + None, # 2486 + None, # 2487 + None, # 2488 + None, # 2489 + None, # 2490 + None, # 2491 + None, # 2492 + None, # 2493 + None, # 2494 + None, # 2495 + None, # 2496 + None, # 2497 + None, # 2498 + None, # 2499 + None, # 2500 + None, # 2501 + None, # 2502 + None, # 2503 + None, # 2504 + None, # 2505 + None, # 2506 + None, # 2507 + None, # 2508 + None, # 2509 + None, # 2510 + None, # 2511 + None, # 2512 + None, # 2513 + None, # 2514 + None, # 2515 + None, # 2516 + None, # 2517 + None, # 2518 + None, # 2519 + None, # 2520 + None, # 2521 + None, # 2522 + None, # 2523 + None, # 2524 + None, # 2525 + None, # 2526 + None, # 2527 + None, # 2528 + None, # 2529 + None, # 2530 + None, # 2531 + None, # 2532 + None, # 2533 + None, # 2534 + None, # 2535 + None, # 2536 + None, # 2537 + None, # 2538 + None, # 2539 + None, # 2540 + None, # 2541 + None, # 2542 + None, # 2543 + None, # 2544 + None, # 2545 + None, # 2546 + None, # 2547 + None, # 2548 + None, # 2549 + None, # 2550 + None, # 2551 + None, # 2552 + None, # 2553 + None, # 2554 + None, # 2555 + None, # 2556 + None, # 2557 + None, # 2558 + None, # 2559 + None, # 2560 + None, # 2561 + None, # 2562 + None, # 2563 + None, # 2564 + None, # 2565 + None, # 2566 + None, # 2567 + None, # 2568 + None, # 2569 + None, # 2570 + None, # 2571 + None, # 2572 + None, # 2573 + None, # 2574 + None, # 2575 + None, # 2576 + None, # 2577 + None, # 2578 + None, # 2579 + None, # 2580 + None, # 2581 + None, # 2582 + None, # 2583 + None, # 2584 + None, # 2585 + None, # 2586 + None, # 2587 + None, # 2588 + None, # 2589 + None, # 2590 + None, # 2591 + None, # 2592 + None, # 2593 + None, # 2594 + None, # 2595 + None, # 2596 + None, # 2597 + None, # 2598 + None, # 2599 + None, # 2600 + None, # 2601 + None, # 2602 + None, # 2603 + None, # 2604 + None, # 2605 + None, # 2606 + None, # 2607 + None, # 2608 + None, # 2609 + None, # 2610 + None, # 2611 + None, # 2612 + None, # 2613 + None, # 2614 + None, # 2615 + None, # 2616 + None, # 2617 + None, # 2618 + None, # 2619 + None, # 2620 + None, # 2621 + None, # 2622 + None, # 2623 + None, # 2624 + None, # 2625 + None, # 2626 + None, # 2627 + None, # 2628 + None, # 2629 + None, # 2630 + None, # 2631 + None, # 2632 + None, # 2633 + None, # 2634 + None, # 2635 + None, # 2636 + None, # 2637 + None, # 2638 + None, # 2639 + None, # 2640 + None, # 2641 + None, # 2642 + None, # 2643 + None, # 2644 + None, # 2645 + None, # 2646 + None, # 2647 + None, # 2648 + None, # 2649 + None, # 2650 + None, # 2651 + None, # 2652 + None, # 2653 + None, # 2654 + None, # 2655 + None, # 2656 + None, # 2657 + None, # 2658 + None, # 2659 + None, # 2660 + None, # 2661 + None, # 2662 + None, # 2663 + None, # 2664 + None, # 2665 + None, # 2666 + None, # 2667 + None, # 2668 + None, # 2669 + None, # 2670 + None, # 2671 + None, # 2672 + None, # 2673 + None, # 2674 + None, # 2675 + None, # 2676 + None, # 2677 + None, # 2678 + None, # 2679 + None, # 2680 + None, # 2681 + None, # 2682 + None, # 2683 + None, # 2684 + None, # 2685 + None, # 2686 + None, # 2687 + None, # 2688 + None, # 2689 + None, # 2690 + None, # 2691 + None, # 2692 + None, # 2693 + None, # 2694 + None, # 2695 + None, # 2696 + None, # 2697 + None, # 2698 + None, # 2699 + None, # 2700 + None, # 2701 + None, # 2702 + None, # 2703 + None, # 2704 + None, # 2705 + None, # 2706 + None, # 2707 + None, # 2708 + None, # 2709 + None, # 2710 + None, # 2711 + None, # 2712 + None, # 2713 + None, # 2714 + None, # 2715 + None, # 2716 + None, # 2717 + None, # 2718 + None, # 2719 + None, # 2720 + None, # 2721 + None, # 2722 + None, # 2723 + None, # 2724 + None, # 2725 + None, # 2726 + None, # 2727 + None, # 2728 + None, # 2729 + None, # 2730 + None, # 2731 + None, # 2732 + None, # 2733 + None, # 2734 + None, # 2735 + None, # 2736 + None, # 2737 + None, # 2738 + None, # 2739 + None, # 2740 + None, # 2741 + None, # 2742 + None, # 2743 + None, # 2744 + None, # 2745 + None, # 2746 + None, # 2747 + None, # 2748 + None, # 2749 + None, # 2750 + None, # 2751 + None, # 2752 + None, # 2753 + None, # 2754 + None, # 2755 + None, # 2756 + None, # 2757 + None, # 2758 + None, # 2759 + None, # 2760 + None, # 2761 + None, # 2762 + None, # 2763 + None, # 2764 + None, # 2765 + None, # 2766 + None, # 2767 + None, # 2768 + None, # 2769 + None, # 2770 + None, # 2771 + None, # 2772 + None, # 2773 + None, # 2774 + None, # 2775 + None, # 2776 + None, # 2777 + None, # 2778 + None, # 2779 + None, # 2780 + None, # 2781 + None, # 2782 + None, # 2783 + None, # 2784 + None, # 2785 + None, # 2786 + None, # 2787 + None, # 2788 + None, # 2789 + None, # 2790 + None, # 2791 + None, # 2792 + None, # 2793 + None, # 2794 + None, # 2795 + None, # 2796 + None, # 2797 + None, # 2798 + None, # 2799 + None, # 2800 + None, # 2801 + None, # 2802 + None, # 2803 + None, # 2804 + None, # 2805 + None, # 2806 + None, # 2807 + None, # 2808 + None, # 2809 + None, # 2810 + None, # 2811 + None, # 2812 + None, # 2813 + None, # 2814 + None, # 2815 + None, # 2816 + None, # 2817 + None, # 2818 + None, # 2819 + None, # 2820 + None, # 2821 + None, # 2822 + None, # 2823 + None, # 2824 + None, # 2825 + None, # 2826 + None, # 2827 + None, # 2828 + None, # 2829 + None, # 2830 + None, # 2831 + None, # 2832 + None, # 2833 + None, # 2834 + None, # 2835 + None, # 2836 + None, # 2837 + None, # 2838 + None, # 2839 + None, # 2840 + None, # 2841 + None, # 2842 + None, # 2843 + None, # 2844 + None, # 2845 + None, # 2846 + None, # 2847 + None, # 2848 + None, # 2849 + None, # 2850 + None, # 2851 + None, # 2852 + None, # 2853 + None, # 2854 + None, # 2855 + None, # 2856 + None, # 2857 + None, # 2858 + None, # 2859 + None, # 2860 + None, # 2861 + None, # 2862 + None, # 2863 + None, # 2864 + None, # 2865 + None, # 2866 + None, # 2867 + None, # 2868 + None, # 2869 + None, # 2870 + None, # 2871 + None, # 2872 + None, # 2873 + None, # 2874 + None, # 2875 + None, # 2876 + None, # 2877 + None, # 2878 + None, # 2879 + None, # 2880 + None, # 2881 + None, # 2882 + None, # 2883 + None, # 2884 + None, # 2885 + None, # 2886 + None, # 2887 + None, # 2888 + None, # 2889 + None, # 2890 + None, # 2891 + None, # 2892 + None, # 2893 + None, # 2894 + None, # 2895 + None, # 2896 + None, # 2897 + None, # 2898 + None, # 2899 + None, # 2900 + None, # 2901 + None, # 2902 + None, # 2903 + None, # 2904 + None, # 2905 + None, # 2906 + None, # 2907 + None, # 2908 + None, # 2909 + None, # 2910 + None, # 2911 + None, # 2912 + None, # 2913 + None, # 2914 + None, # 2915 + None, # 2916 + None, # 2917 + None, # 2918 + None, # 2919 + None, # 2920 + None, # 2921 + None, # 2922 + None, # 2923 + None, # 2924 + None, # 2925 + None, # 2926 + None, # 2927 + None, # 2928 + None, # 2929 + None, # 2930 + None, # 2931 + None, # 2932 + None, # 2933 + None, # 2934 + None, # 2935 + None, # 2936 + None, # 2937 + None, # 2938 + None, # 2939 + None, # 2940 + None, # 2941 + None, # 2942 + None, # 2943 + None, # 2944 + None, # 2945 + None, # 2946 + None, # 2947 + None, # 2948 + None, # 2949 + None, # 2950 + None, # 2951 + None, # 2952 + None, # 2953 + None, # 2954 + None, # 2955 + None, # 2956 + None, # 2957 + None, # 2958 + None, # 2959 + None, # 2960 + None, # 2961 + None, # 2962 + None, # 2963 + None, # 2964 + None, # 2965 + None, # 2966 + None, # 2967 + None, # 2968 + None, # 2969 + None, # 2970 + None, # 2971 + None, # 2972 + None, # 2973 + None, # 2974 + None, # 2975 + None, # 2976 + None, # 2977 + None, # 2978 + None, # 2979 + None, # 2980 + None, # 2981 + None, # 2982 + None, # 2983 + None, # 2984 + None, # 2985 + None, # 2986 + None, # 2987 + None, # 2988 + None, # 2989 + None, # 2990 + None, # 2991 + None, # 2992 + None, # 2993 + None, # 2994 + None, # 2995 + None, # 2996 + None, # 2997 + None, # 2998 + None, # 2999 + None, # 3000 + None, # 3001 + None, # 3002 + None, # 3003 + None, # 3004 + None, # 3005 + None, # 3006 + None, # 3007 + None, # 3008 + None, # 3009 + None, # 3010 + None, # 3011 + None, # 3012 + None, # 3013 + None, # 3014 + None, # 3015 + None, # 3016 + None, # 3017 + None, # 3018 + None, # 3019 + None, # 3020 + None, # 3021 + None, # 3022 + None, # 3023 + None, # 3024 + None, # 3025 + None, # 3026 + None, # 3027 + None, # 3028 + None, # 3029 + None, # 3030 + None, # 3031 + None, # 3032 + None, # 3033 + None, # 3034 + None, # 3035 + None, # 3036 + None, # 3037 + None, # 3038 + None, # 3039 + None, # 3040 + None, # 3041 + None, # 3042 + None, # 3043 + None, # 3044 + None, # 3045 + None, # 3046 + None, # 3047 + None, # 3048 + None, # 3049 + None, # 3050 + None, # 3051 + None, # 3052 + None, # 3053 + None, # 3054 + None, # 3055 + None, # 3056 + None, # 3057 + None, # 3058 + None, # 3059 + None, # 3060 + None, # 3061 + None, # 3062 + None, # 3063 + None, # 3064 + None, # 3065 + None, # 3066 + None, # 3067 + None, # 3068 + None, # 3069 + None, # 3070 + None, # 3071 + None, # 3072 + None, # 3073 + None, # 3074 + None, # 3075 + None, # 3076 + None, # 3077 + None, # 3078 + None, # 3079 + None, # 3080 + None, # 3081 + None, # 3082 + None, # 3083 + None, # 3084 + None, # 3085 + None, # 3086 + None, # 3087 + None, # 3088 + None, # 3089 + None, # 3090 + None, # 3091 + None, # 3092 + None, # 3093 + None, # 3094 + None, # 3095 + None, # 3096 + None, # 3097 + None, # 3098 + None, # 3099 + None, # 3100 + None, # 3101 + None, # 3102 + None, # 3103 + None, # 3104 + None, # 3105 + None, # 3106 + None, # 3107 + None, # 3108 + None, # 3109 + None, # 3110 + None, # 3111 + None, # 3112 + None, # 3113 + None, # 3114 + None, # 3115 + None, # 3116 + None, # 3117 + None, # 3118 + None, # 3119 + None, # 3120 + None, # 3121 + None, # 3122 + None, # 3123 + None, # 3124 + None, # 3125 + None, # 3126 + None, # 3127 + None, # 3128 + None, # 3129 + None, # 3130 + None, # 3131 + None, # 3132 + None, # 3133 + None, # 3134 + None, # 3135 + None, # 3136 + None, # 3137 + None, # 3138 + None, # 3139 + None, # 3140 + None, # 3141 + None, # 3142 + None, # 3143 + None, # 3144 + None, # 3145 + None, # 3146 + None, # 3147 + None, # 3148 + None, # 3149 + None, # 3150 + None, # 3151 + None, # 3152 + None, # 3153 + None, # 3154 + None, # 3155 + None, # 3156 + None, # 3157 + None, # 3158 + None, # 3159 + None, # 3160 + None, # 3161 + None, # 3162 + None, # 3163 + None, # 3164 + None, # 3165 + None, # 3166 + None, # 3167 + None, # 3168 + None, # 3169 + None, # 3170 + None, # 3171 + None, # 3172 + None, # 3173 + None, # 3174 + None, # 3175 + None, # 3176 + None, # 3177 + None, # 3178 + None, # 3179 + None, # 3180 + None, # 3181 + None, # 3182 + None, # 3183 + None, # 3184 + None, # 3185 + None, # 3186 + None, # 3187 + None, # 3188 + None, # 3189 + None, # 3190 + None, # 3191 + None, # 3192 + None, # 3193 + None, # 3194 + None, # 3195 + None, # 3196 + None, # 3197 + None, # 3198 + None, # 3199 + None, # 3200 + None, # 3201 + None, # 3202 + None, # 3203 + None, # 3204 + None, # 3205 + None, # 3206 + None, # 3207 + None, # 3208 + None, # 3209 + None, # 3210 + None, # 3211 + None, # 3212 + None, # 3213 + None, # 3214 + None, # 3215 + None, # 3216 + None, # 3217 + None, # 3218 + None, # 3219 + None, # 3220 + None, # 3221 + None, # 3222 + None, # 3223 + None, # 3224 + None, # 3225 + None, # 3226 + None, # 3227 + None, # 3228 + None, # 3229 + None, # 3230 + None, # 3231 + None, # 3232 + None, # 3233 + None, # 3234 + None, # 3235 + None, # 3236 + None, # 3237 + None, # 3238 + None, # 3239 + None, # 3240 + None, # 3241 + None, # 3242 + None, # 3243 + None, # 3244 + None, # 3245 + None, # 3246 + None, # 3247 + None, # 3248 + None, # 3249 + None, # 3250 + None, # 3251 + None, # 3252 + None, # 3253 + None, # 3254 + None, # 3255 + None, # 3256 + None, # 3257 + None, # 3258 + None, # 3259 + None, # 3260 + None, # 3261 + None, # 3262 + None, # 3263 + None, # 3264 + None, # 3265 + None, # 3266 + None, # 3267 + None, # 3268 + None, # 3269 + None, # 3270 + None, # 3271 + None, # 3272 + None, # 3273 + None, # 3274 + None, # 3275 + None, # 3276 + None, # 3277 + None, # 3278 + None, # 3279 + None, # 3280 + None, # 3281 + None, # 3282 + None, # 3283 + None, # 3284 + None, # 3285 + None, # 3286 + None, # 3287 + None, # 3288 + None, # 3289 + None, # 3290 + None, # 3291 + None, # 3292 + None, # 3293 + None, # 3294 + None, # 3295 + None, # 3296 + None, # 3297 + None, # 3298 + None, # 3299 + None, # 3300 + None, # 3301 + None, # 3302 + None, # 3303 + None, # 3304 + None, # 3305 + None, # 3306 + None, # 3307 + None, # 3308 + None, # 3309 + None, # 3310 + None, # 3311 + None, # 3312 + None, # 3313 + None, # 3314 + None, # 3315 + None, # 3316 + None, # 3317 + None, # 3318 + None, # 3319 + None, # 3320 + None, # 3321 + None, # 3322 + None, # 3323 + None, # 3324 + None, # 3325 + None, # 3326 + None, # 3327 + None, # 3328 + (3329, TType.BOOL, 'includeCloudResultFiles', None, None, ), # 3329 ) all_structs.append(TGetResultSetMetadataResp) TGetResultSetMetadataResp.thrift_spec = ( - None, # 0 - ( - 1, - TType.STRUCT, - "status", - [TStatus, None], - None, - ), # 1 - ( - 2, - TType.STRUCT, - "schema", - [TTableSchema, None], - None, - ), # 2 - None, # 3 - None, # 4 - None, # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - ( - 1281, - TType.I32, - "resultFormat", - None, - None, - ), # 1281 - ( - 1282, - TType.BOOL, - "lz4Compressed", - None, - None, - ), # 1282 - ( - 1283, - TType.STRING, - "arrowSchema", - "BINARY", - None, - ), # 1283 - ( - 1284, - TType.I32, - "cacheLookupResult", - None, - None, - ), # 1284 - ( - 1285, - TType.I64, - "uncompressedBytes", - None, - None, - ), # 1285 - ( - 1286, - TType.I64, - "compressedBytes", - None, - None, - ), # 1286 - ( - 1287, - TType.BOOL, - "isStagingOperation", - None, - None, - ), # 1287 - None, # 1288 - None, # 1289 - None, # 1290 - None, # 1291 - None, # 1292 - None, # 1293 - None, # 1294 - None, # 1295 - None, # 1296 - None, # 1297 - None, # 1298 - None, # 1299 - None, # 1300 - None, # 1301 - None, # 1302 - None, # 1303 - None, # 1304 - None, # 1305 - None, # 1306 - None, # 1307 - None, # 1308 - None, # 1309 - None, # 1310 - None, # 1311 - None, # 1312 - None, # 1313 - None, # 1314 - None, # 1315 - None, # 1316 - None, # 1317 - None, # 1318 - None, # 1319 - None, # 1320 - None, # 1321 - None, # 1322 - None, # 1323 - None, # 1324 - None, # 1325 - None, # 1326 - None, # 1327 - None, # 1328 - None, # 1329 - None, # 1330 - None, # 1331 - None, # 1332 - None, # 1333 - None, # 1334 - None, # 1335 - None, # 1336 - None, # 1337 - None, # 1338 - None, # 1339 - None, # 1340 - None, # 1341 - None, # 1342 - None, # 1343 - None, # 1344 - None, # 1345 - None, # 1346 - None, # 1347 - None, # 1348 - None, # 1349 - None, # 1350 - None, # 1351 - None, # 1352 - None, # 1353 - None, # 1354 - None, # 1355 - None, # 1356 - None, # 1357 - None, # 1358 - None, # 1359 - None, # 1360 - None, # 1361 - None, # 1362 - None, # 1363 - None, # 1364 - None, # 1365 - None, # 1366 - None, # 1367 - None, # 1368 - None, # 1369 - None, # 1370 - None, # 1371 - None, # 1372 - None, # 1373 - None, # 1374 - None, # 1375 - None, # 1376 - None, # 1377 - None, # 1378 - None, # 1379 - None, # 1380 - None, # 1381 - None, # 1382 - None, # 1383 - None, # 1384 - None, # 1385 - None, # 1386 - None, # 1387 - None, # 1388 - None, # 1389 - None, # 1390 - None, # 1391 - None, # 1392 - None, # 1393 - None, # 1394 - None, # 1395 - None, # 1396 - None, # 1397 - None, # 1398 - None, # 1399 - None, # 1400 - None, # 1401 - None, # 1402 - None, # 1403 - None, # 1404 - None, # 1405 - None, # 1406 - None, # 1407 - None, # 1408 - None, # 1409 - None, # 1410 - None, # 1411 - None, # 1412 - None, # 1413 - None, # 1414 - None, # 1415 - None, # 1416 - None, # 1417 - None, # 1418 - None, # 1419 - None, # 1420 - None, # 1421 - None, # 1422 - None, # 1423 - None, # 1424 - None, # 1425 - None, # 1426 - None, # 1427 - None, # 1428 - None, # 1429 - None, # 1430 - None, # 1431 - None, # 1432 - None, # 1433 - None, # 1434 - None, # 1435 - None, # 1436 - None, # 1437 - None, # 1438 - None, # 1439 - None, # 1440 - None, # 1441 - None, # 1442 - None, # 1443 - None, # 1444 - None, # 1445 - None, # 1446 - None, # 1447 - None, # 1448 - None, # 1449 - None, # 1450 - None, # 1451 - None, # 1452 - None, # 1453 - None, # 1454 - None, # 1455 - None, # 1456 - None, # 1457 - None, # 1458 - None, # 1459 - None, # 1460 - None, # 1461 - None, # 1462 - None, # 1463 - None, # 1464 - None, # 1465 - None, # 1466 - None, # 1467 - None, # 1468 - None, # 1469 - None, # 1470 - None, # 1471 - None, # 1472 - None, # 1473 - None, # 1474 - None, # 1475 - None, # 1476 - None, # 1477 - None, # 1478 - None, # 1479 - None, # 1480 - None, # 1481 - None, # 1482 - None, # 1483 - None, # 1484 - None, # 1485 - None, # 1486 - None, # 1487 - None, # 1488 - None, # 1489 - None, # 1490 - None, # 1491 - None, # 1492 - None, # 1493 - None, # 1494 - None, # 1495 - None, # 1496 - None, # 1497 - None, # 1498 - None, # 1499 - None, # 1500 - None, # 1501 - None, # 1502 - None, # 1503 - None, # 1504 - None, # 1505 - None, # 1506 - None, # 1507 - None, # 1508 - None, # 1509 - None, # 1510 - None, # 1511 - None, # 1512 - None, # 1513 - None, # 1514 - None, # 1515 - None, # 1516 - None, # 1517 - None, # 1518 - None, # 1519 - None, # 1520 - None, # 1521 - None, # 1522 - None, # 1523 - None, # 1524 - None, # 1525 - None, # 1526 - None, # 1527 - None, # 1528 - None, # 1529 - None, # 1530 - None, # 1531 - None, # 1532 - None, # 1533 - None, # 1534 - None, # 1535 - None, # 1536 - None, # 1537 - None, # 1538 - None, # 1539 - None, # 1540 - None, # 1541 - None, # 1542 - None, # 1543 - None, # 1544 - None, # 1545 - None, # 1546 - None, # 1547 - None, # 1548 - None, # 1549 - None, # 1550 - None, # 1551 - None, # 1552 - None, # 1553 - None, # 1554 - None, # 1555 - None, # 1556 - None, # 1557 - None, # 1558 - None, # 1559 - None, # 1560 - None, # 1561 - None, # 1562 - None, # 1563 - None, # 1564 - None, # 1565 - None, # 1566 - None, # 1567 - None, # 1568 - None, # 1569 - None, # 1570 - None, # 1571 - None, # 1572 - None, # 1573 - None, # 1574 - None, # 1575 - None, # 1576 - None, # 1577 - None, # 1578 - None, # 1579 - None, # 1580 - None, # 1581 - None, # 1582 - None, # 1583 - None, # 1584 - None, # 1585 - None, # 1586 - None, # 1587 - None, # 1588 - None, # 1589 - None, # 1590 - None, # 1591 - None, # 1592 - None, # 1593 - None, # 1594 - None, # 1595 - None, # 1596 - None, # 1597 - None, # 1598 - None, # 1599 - None, # 1600 - None, # 1601 - None, # 1602 - None, # 1603 - None, # 1604 - None, # 1605 - None, # 1606 - None, # 1607 - None, # 1608 - None, # 1609 - None, # 1610 - None, # 1611 - None, # 1612 - None, # 1613 - None, # 1614 - None, # 1615 - None, # 1616 - None, # 1617 - None, # 1618 - None, # 1619 - None, # 1620 - None, # 1621 - None, # 1622 - None, # 1623 - None, # 1624 - None, # 1625 - None, # 1626 - None, # 1627 - None, # 1628 - None, # 1629 - None, # 1630 - None, # 1631 - None, # 1632 - None, # 1633 - None, # 1634 - None, # 1635 - None, # 1636 - None, # 1637 - None, # 1638 - None, # 1639 - None, # 1640 - None, # 1641 - None, # 1642 - None, # 1643 - None, # 1644 - None, # 1645 - None, # 1646 - None, # 1647 - None, # 1648 - None, # 1649 - None, # 1650 - None, # 1651 - None, # 1652 - None, # 1653 - None, # 1654 - None, # 1655 - None, # 1656 - None, # 1657 - None, # 1658 - None, # 1659 - None, # 1660 - None, # 1661 - None, # 1662 - None, # 1663 - None, # 1664 - None, # 1665 - None, # 1666 - None, # 1667 - None, # 1668 - None, # 1669 - None, # 1670 - None, # 1671 - None, # 1672 - None, # 1673 - None, # 1674 - None, # 1675 - None, # 1676 - None, # 1677 - None, # 1678 - None, # 1679 - None, # 1680 - None, # 1681 - None, # 1682 - None, # 1683 - None, # 1684 - None, # 1685 - None, # 1686 - None, # 1687 - None, # 1688 - None, # 1689 - None, # 1690 - None, # 1691 - None, # 1692 - None, # 1693 - None, # 1694 - None, # 1695 - None, # 1696 - None, # 1697 - None, # 1698 - None, # 1699 - None, # 1700 - None, # 1701 - None, # 1702 - None, # 1703 - None, # 1704 - None, # 1705 - None, # 1706 - None, # 1707 - None, # 1708 - None, # 1709 - None, # 1710 - None, # 1711 - None, # 1712 - None, # 1713 - None, # 1714 - None, # 1715 - None, # 1716 - None, # 1717 - None, # 1718 - None, # 1719 - None, # 1720 - None, # 1721 - None, # 1722 - None, # 1723 - None, # 1724 - None, # 1725 - None, # 1726 - None, # 1727 - None, # 1728 - None, # 1729 - None, # 1730 - None, # 1731 - None, # 1732 - None, # 1733 - None, # 1734 - None, # 1735 - None, # 1736 - None, # 1737 - None, # 1738 - None, # 1739 - None, # 1740 - None, # 1741 - None, # 1742 - None, # 1743 - None, # 1744 - None, # 1745 - None, # 1746 - None, # 1747 - None, # 1748 - None, # 1749 - None, # 1750 - None, # 1751 - None, # 1752 - None, # 1753 - None, # 1754 - None, # 1755 - None, # 1756 - None, # 1757 - None, # 1758 - None, # 1759 - None, # 1760 - None, # 1761 - None, # 1762 - None, # 1763 - None, # 1764 - None, # 1765 - None, # 1766 - None, # 1767 - None, # 1768 - None, # 1769 - None, # 1770 - None, # 1771 - None, # 1772 - None, # 1773 - None, # 1774 - None, # 1775 - None, # 1776 - None, # 1777 - None, # 1778 - None, # 1779 - None, # 1780 - None, # 1781 - None, # 1782 - None, # 1783 - None, # 1784 - None, # 1785 - None, # 1786 - None, # 1787 - None, # 1788 - None, # 1789 - None, # 1790 - None, # 1791 - None, # 1792 - None, # 1793 - None, # 1794 - None, # 1795 - None, # 1796 - None, # 1797 - None, # 1798 - None, # 1799 - None, # 1800 - None, # 1801 - None, # 1802 - None, # 1803 - None, # 1804 - None, # 1805 - None, # 1806 - None, # 1807 - None, # 1808 - None, # 1809 - None, # 1810 - None, # 1811 - None, # 1812 - None, # 1813 - None, # 1814 - None, # 1815 - None, # 1816 - None, # 1817 - None, # 1818 - None, # 1819 - None, # 1820 - None, # 1821 - None, # 1822 - None, # 1823 - None, # 1824 - None, # 1825 - None, # 1826 - None, # 1827 - None, # 1828 - None, # 1829 - None, # 1830 - None, # 1831 - None, # 1832 - None, # 1833 - None, # 1834 - None, # 1835 - None, # 1836 - None, # 1837 - None, # 1838 - None, # 1839 - None, # 1840 - None, # 1841 - None, # 1842 - None, # 1843 - None, # 1844 - None, # 1845 - None, # 1846 - None, # 1847 - None, # 1848 - None, # 1849 - None, # 1850 - None, # 1851 - None, # 1852 - None, # 1853 - None, # 1854 - None, # 1855 - None, # 1856 - None, # 1857 - None, # 1858 - None, # 1859 - None, # 1860 - None, # 1861 - None, # 1862 - None, # 1863 - None, # 1864 - None, # 1865 - None, # 1866 - None, # 1867 - None, # 1868 - None, # 1869 - None, # 1870 - None, # 1871 - None, # 1872 - None, # 1873 - None, # 1874 - None, # 1875 - None, # 1876 - None, # 1877 - None, # 1878 - None, # 1879 - None, # 1880 - None, # 1881 - None, # 1882 - None, # 1883 - None, # 1884 - None, # 1885 - None, # 1886 - None, # 1887 - None, # 1888 - None, # 1889 - None, # 1890 - None, # 1891 - None, # 1892 - None, # 1893 - None, # 1894 - None, # 1895 - None, # 1896 - None, # 1897 - None, # 1898 - None, # 1899 - None, # 1900 - None, # 1901 - None, # 1902 - None, # 1903 - None, # 1904 - None, # 1905 - None, # 1906 - None, # 1907 - None, # 1908 - None, # 1909 - None, # 1910 - None, # 1911 - None, # 1912 - None, # 1913 - None, # 1914 - None, # 1915 - None, # 1916 - None, # 1917 - None, # 1918 - None, # 1919 - None, # 1920 - None, # 1921 - None, # 1922 - None, # 1923 - None, # 1924 - None, # 1925 - None, # 1926 - None, # 1927 - None, # 1928 - None, # 1929 - None, # 1930 - None, # 1931 - None, # 1932 - None, # 1933 - None, # 1934 - None, # 1935 - None, # 1936 - None, # 1937 - None, # 1938 - None, # 1939 - None, # 1940 - None, # 1941 - None, # 1942 - None, # 1943 - None, # 1944 - None, # 1945 - None, # 1946 - None, # 1947 - None, # 1948 - None, # 1949 - None, # 1950 - None, # 1951 - None, # 1952 - None, # 1953 - None, # 1954 - None, # 1955 - None, # 1956 - None, # 1957 - None, # 1958 - None, # 1959 - None, # 1960 - None, # 1961 - None, # 1962 - None, # 1963 - None, # 1964 - None, # 1965 - None, # 1966 - None, # 1967 - None, # 1968 - None, # 1969 - None, # 1970 - None, # 1971 - None, # 1972 - None, # 1973 - None, # 1974 - None, # 1975 - None, # 1976 - None, # 1977 - None, # 1978 - None, # 1979 - None, # 1980 - None, # 1981 - None, # 1982 - None, # 1983 - None, # 1984 - None, # 1985 - None, # 1986 - None, # 1987 - None, # 1988 - None, # 1989 - None, # 1990 - None, # 1991 - None, # 1992 - None, # 1993 - None, # 1994 - None, # 1995 - None, # 1996 - None, # 1997 - None, # 1998 - None, # 1999 - None, # 2000 - None, # 2001 - None, # 2002 - None, # 2003 - None, # 2004 - None, # 2005 - None, # 2006 - None, # 2007 - None, # 2008 - None, # 2009 - None, # 2010 - None, # 2011 - None, # 2012 - None, # 2013 - None, # 2014 - None, # 2015 - None, # 2016 - None, # 2017 - None, # 2018 - None, # 2019 - None, # 2020 - None, # 2021 - None, # 2022 - None, # 2023 - None, # 2024 - None, # 2025 - None, # 2026 - None, # 2027 - None, # 2028 - None, # 2029 - None, # 2030 - None, # 2031 - None, # 2032 - None, # 2033 - None, # 2034 - None, # 2035 - None, # 2036 - None, # 2037 - None, # 2038 - None, # 2039 - None, # 2040 - None, # 2041 - None, # 2042 - None, # 2043 - None, # 2044 - None, # 2045 - None, # 2046 - None, # 2047 - None, # 2048 - None, # 2049 - None, # 2050 - None, # 2051 - None, # 2052 - None, # 2053 - None, # 2054 - None, # 2055 - None, # 2056 - None, # 2057 - None, # 2058 - None, # 2059 - None, # 2060 - None, # 2061 - None, # 2062 - None, # 2063 - None, # 2064 - None, # 2065 - None, # 2066 - None, # 2067 - None, # 2068 - None, # 2069 - None, # 2070 - None, # 2071 - None, # 2072 - None, # 2073 - None, # 2074 - None, # 2075 - None, # 2076 - None, # 2077 - None, # 2078 - None, # 2079 - None, # 2080 - None, # 2081 - None, # 2082 - None, # 2083 - None, # 2084 - None, # 2085 - None, # 2086 - None, # 2087 - None, # 2088 - None, # 2089 - None, # 2090 - None, # 2091 - None, # 2092 - None, # 2093 - None, # 2094 - None, # 2095 - None, # 2096 - None, # 2097 - None, # 2098 - None, # 2099 - None, # 2100 - None, # 2101 - None, # 2102 - None, # 2103 - None, # 2104 - None, # 2105 - None, # 2106 - None, # 2107 - None, # 2108 - None, # 2109 - None, # 2110 - None, # 2111 - None, # 2112 - None, # 2113 - None, # 2114 - None, # 2115 - None, # 2116 - None, # 2117 - None, # 2118 - None, # 2119 - None, # 2120 - None, # 2121 - None, # 2122 - None, # 2123 - None, # 2124 - None, # 2125 - None, # 2126 - None, # 2127 - None, # 2128 - None, # 2129 - None, # 2130 - None, # 2131 - None, # 2132 - None, # 2133 - None, # 2134 - None, # 2135 - None, # 2136 - None, # 2137 - None, # 2138 - None, # 2139 - None, # 2140 - None, # 2141 - None, # 2142 - None, # 2143 - None, # 2144 - None, # 2145 - None, # 2146 - None, # 2147 - None, # 2148 - None, # 2149 - None, # 2150 - None, # 2151 - None, # 2152 - None, # 2153 - None, # 2154 - None, # 2155 - None, # 2156 - None, # 2157 - None, # 2158 - None, # 2159 - None, # 2160 - None, # 2161 - None, # 2162 - None, # 2163 - None, # 2164 - None, # 2165 - None, # 2166 - None, # 2167 - None, # 2168 - None, # 2169 - None, # 2170 - None, # 2171 - None, # 2172 - None, # 2173 - None, # 2174 - None, # 2175 - None, # 2176 - None, # 2177 - None, # 2178 - None, # 2179 - None, # 2180 - None, # 2181 - None, # 2182 - None, # 2183 - None, # 2184 - None, # 2185 - None, # 2186 - None, # 2187 - None, # 2188 - None, # 2189 - None, # 2190 - None, # 2191 - None, # 2192 - None, # 2193 - None, # 2194 - None, # 2195 - None, # 2196 - None, # 2197 - None, # 2198 - None, # 2199 - None, # 2200 - None, # 2201 - None, # 2202 - None, # 2203 - None, # 2204 - None, # 2205 - None, # 2206 - None, # 2207 - None, # 2208 - None, # 2209 - None, # 2210 - None, # 2211 - None, # 2212 - None, # 2213 - None, # 2214 - None, # 2215 - None, # 2216 - None, # 2217 - None, # 2218 - None, # 2219 - None, # 2220 - None, # 2221 - None, # 2222 - None, # 2223 - None, # 2224 - None, # 2225 - None, # 2226 - None, # 2227 - None, # 2228 - None, # 2229 - None, # 2230 - None, # 2231 - None, # 2232 - None, # 2233 - None, # 2234 - None, # 2235 - None, # 2236 - None, # 2237 - None, # 2238 - None, # 2239 - None, # 2240 - None, # 2241 - None, # 2242 - None, # 2243 - None, # 2244 - None, # 2245 - None, # 2246 - None, # 2247 - None, # 2248 - None, # 2249 - None, # 2250 - None, # 2251 - None, # 2252 - None, # 2253 - None, # 2254 - None, # 2255 - None, # 2256 - None, # 2257 - None, # 2258 - None, # 2259 - None, # 2260 - None, # 2261 - None, # 2262 - None, # 2263 - None, # 2264 - None, # 2265 - None, # 2266 - None, # 2267 - None, # 2268 - None, # 2269 - None, # 2270 - None, # 2271 - None, # 2272 - None, # 2273 - None, # 2274 - None, # 2275 - None, # 2276 - None, # 2277 - None, # 2278 - None, # 2279 - None, # 2280 - None, # 2281 - None, # 2282 - None, # 2283 - None, # 2284 - None, # 2285 - None, # 2286 - None, # 2287 - None, # 2288 - None, # 2289 - None, # 2290 - None, # 2291 - None, # 2292 - None, # 2293 - None, # 2294 - None, # 2295 - None, # 2296 - None, # 2297 - None, # 2298 - None, # 2299 - None, # 2300 - None, # 2301 - None, # 2302 - None, # 2303 - None, # 2304 - None, # 2305 - None, # 2306 - None, # 2307 - None, # 2308 - None, # 2309 - None, # 2310 - None, # 2311 - None, # 2312 - None, # 2313 - None, # 2314 - None, # 2315 - None, # 2316 - None, # 2317 - None, # 2318 - None, # 2319 - None, # 2320 - None, # 2321 - None, # 2322 - None, # 2323 - None, # 2324 - None, # 2325 - None, # 2326 - None, # 2327 - None, # 2328 - None, # 2329 - None, # 2330 - None, # 2331 - None, # 2332 - None, # 2333 - None, # 2334 - None, # 2335 - None, # 2336 - None, # 2337 - None, # 2338 - None, # 2339 - None, # 2340 - None, # 2341 - None, # 2342 - None, # 2343 - None, # 2344 - None, # 2345 - None, # 2346 - None, # 2347 - None, # 2348 - None, # 2349 - None, # 2350 - None, # 2351 - None, # 2352 - None, # 2353 - None, # 2354 - None, # 2355 - None, # 2356 - None, # 2357 - None, # 2358 - None, # 2359 - None, # 2360 - None, # 2361 - None, # 2362 - None, # 2363 - None, # 2364 - None, # 2365 - None, # 2366 - None, # 2367 - None, # 2368 - None, # 2369 - None, # 2370 - None, # 2371 - None, # 2372 - None, # 2373 - None, # 2374 - None, # 2375 - None, # 2376 - None, # 2377 - None, # 2378 - None, # 2379 - None, # 2380 - None, # 2381 - None, # 2382 - None, # 2383 - None, # 2384 - None, # 2385 - None, # 2386 - None, # 2387 - None, # 2388 - None, # 2389 - None, # 2390 - None, # 2391 - None, # 2392 - None, # 2393 - None, # 2394 - None, # 2395 - None, # 2396 - None, # 2397 - None, # 2398 - None, # 2399 - None, # 2400 - None, # 2401 - None, # 2402 - None, # 2403 - None, # 2404 - None, # 2405 - None, # 2406 - None, # 2407 - None, # 2408 - None, # 2409 - None, # 2410 - None, # 2411 - None, # 2412 - None, # 2413 - None, # 2414 - None, # 2415 - None, # 2416 - None, # 2417 - None, # 2418 - None, # 2419 - None, # 2420 - None, # 2421 - None, # 2422 - None, # 2423 - None, # 2424 - None, # 2425 - None, # 2426 - None, # 2427 - None, # 2428 - None, # 2429 - None, # 2430 - None, # 2431 - None, # 2432 - None, # 2433 - None, # 2434 - None, # 2435 - None, # 2436 - None, # 2437 - None, # 2438 - None, # 2439 - None, # 2440 - None, # 2441 - None, # 2442 - None, # 2443 - None, # 2444 - None, # 2445 - None, # 2446 - None, # 2447 - None, # 2448 - None, # 2449 - None, # 2450 - None, # 2451 - None, # 2452 - None, # 2453 - None, # 2454 - None, # 2455 - None, # 2456 - None, # 2457 - None, # 2458 - None, # 2459 - None, # 2460 - None, # 2461 - None, # 2462 - None, # 2463 - None, # 2464 - None, # 2465 - None, # 2466 - None, # 2467 - None, # 2468 - None, # 2469 - None, # 2470 - None, # 2471 - None, # 2472 - None, # 2473 - None, # 2474 - None, # 2475 - None, # 2476 - None, # 2477 - None, # 2478 - None, # 2479 - None, # 2480 - None, # 2481 - None, # 2482 - None, # 2483 - None, # 2484 - None, # 2485 - None, # 2486 - None, # 2487 - None, # 2488 - None, # 2489 - None, # 2490 - None, # 2491 - None, # 2492 - None, # 2493 - None, # 2494 - None, # 2495 - None, # 2496 - None, # 2497 - None, # 2498 - None, # 2499 - None, # 2500 - None, # 2501 - None, # 2502 - None, # 2503 - None, # 2504 - None, # 2505 - None, # 2506 - None, # 2507 - None, # 2508 - None, # 2509 - None, # 2510 - None, # 2511 - None, # 2512 - None, # 2513 - None, # 2514 - None, # 2515 - None, # 2516 - None, # 2517 - None, # 2518 - None, # 2519 - None, # 2520 - None, # 2521 - None, # 2522 - None, # 2523 - None, # 2524 - None, # 2525 - None, # 2526 - None, # 2527 - None, # 2528 - None, # 2529 - None, # 2530 - None, # 2531 - None, # 2532 - None, # 2533 - None, # 2534 - None, # 2535 - None, # 2536 - None, # 2537 - None, # 2538 - None, # 2539 - None, # 2540 - None, # 2541 - None, # 2542 - None, # 2543 - None, # 2544 - None, # 2545 - None, # 2546 - None, # 2547 - None, # 2548 - None, # 2549 - None, # 2550 - None, # 2551 - None, # 2552 - None, # 2553 - None, # 2554 - None, # 2555 - None, # 2556 - None, # 2557 - None, # 2558 - None, # 2559 - None, # 2560 - None, # 2561 - None, # 2562 - None, # 2563 - None, # 2564 - None, # 2565 - None, # 2566 - None, # 2567 - None, # 2568 - None, # 2569 - None, # 2570 - None, # 2571 - None, # 2572 - None, # 2573 - None, # 2574 - None, # 2575 - None, # 2576 - None, # 2577 - None, # 2578 - None, # 2579 - None, # 2580 - None, # 2581 - None, # 2582 - None, # 2583 - None, # 2584 - None, # 2585 - None, # 2586 - None, # 2587 - None, # 2588 - None, # 2589 - None, # 2590 - None, # 2591 - None, # 2592 - None, # 2593 - None, # 2594 - None, # 2595 - None, # 2596 - None, # 2597 - None, # 2598 - None, # 2599 - None, # 2600 - None, # 2601 - None, # 2602 - None, # 2603 - None, # 2604 - None, # 2605 - None, # 2606 - None, # 2607 - None, # 2608 - None, # 2609 - None, # 2610 - None, # 2611 - None, # 2612 - None, # 2613 - None, # 2614 - None, # 2615 - None, # 2616 - None, # 2617 - None, # 2618 - None, # 2619 - None, # 2620 - None, # 2621 - None, # 2622 - None, # 2623 - None, # 2624 - None, # 2625 - None, # 2626 - None, # 2627 - None, # 2628 - None, # 2629 - None, # 2630 - None, # 2631 - None, # 2632 - None, # 2633 - None, # 2634 - None, # 2635 - None, # 2636 - None, # 2637 - None, # 2638 - None, # 2639 - None, # 2640 - None, # 2641 - None, # 2642 - None, # 2643 - None, # 2644 - None, # 2645 - None, # 2646 - None, # 2647 - None, # 2648 - None, # 2649 - None, # 2650 - None, # 2651 - None, # 2652 - None, # 2653 - None, # 2654 - None, # 2655 - None, # 2656 - None, # 2657 - None, # 2658 - None, # 2659 - None, # 2660 - None, # 2661 - None, # 2662 - None, # 2663 - None, # 2664 - None, # 2665 - None, # 2666 - None, # 2667 - None, # 2668 - None, # 2669 - None, # 2670 - None, # 2671 - None, # 2672 - None, # 2673 - None, # 2674 - None, # 2675 - None, # 2676 - None, # 2677 - None, # 2678 - None, # 2679 - None, # 2680 - None, # 2681 - None, # 2682 - None, # 2683 - None, # 2684 - None, # 2685 - None, # 2686 - None, # 2687 - None, # 2688 - None, # 2689 - None, # 2690 - None, # 2691 - None, # 2692 - None, # 2693 - None, # 2694 - None, # 2695 - None, # 2696 - None, # 2697 - None, # 2698 - None, # 2699 - None, # 2700 - None, # 2701 - None, # 2702 - None, # 2703 - None, # 2704 - None, # 2705 - None, # 2706 - None, # 2707 - None, # 2708 - None, # 2709 - None, # 2710 - None, # 2711 - None, # 2712 - None, # 2713 - None, # 2714 - None, # 2715 - None, # 2716 - None, # 2717 - None, # 2718 - None, # 2719 - None, # 2720 - None, # 2721 - None, # 2722 - None, # 2723 - None, # 2724 - None, # 2725 - None, # 2726 - None, # 2727 - None, # 2728 - None, # 2729 - None, # 2730 - None, # 2731 - None, # 2732 - None, # 2733 - None, # 2734 - None, # 2735 - None, # 2736 - None, # 2737 - None, # 2738 - None, # 2739 - None, # 2740 - None, # 2741 - None, # 2742 - None, # 2743 - None, # 2744 - None, # 2745 - None, # 2746 - None, # 2747 - None, # 2748 - None, # 2749 - None, # 2750 - None, # 2751 - None, # 2752 - None, # 2753 - None, # 2754 - None, # 2755 - None, # 2756 - None, # 2757 - None, # 2758 - None, # 2759 - None, # 2760 - None, # 2761 - None, # 2762 - None, # 2763 - None, # 2764 - None, # 2765 - None, # 2766 - None, # 2767 - None, # 2768 - None, # 2769 - None, # 2770 - None, # 2771 - None, # 2772 - None, # 2773 - None, # 2774 - None, # 2775 - None, # 2776 - None, # 2777 - None, # 2778 - None, # 2779 - None, # 2780 - None, # 2781 - None, # 2782 - None, # 2783 - None, # 2784 - None, # 2785 - None, # 2786 - None, # 2787 - None, # 2788 - None, # 2789 - None, # 2790 - None, # 2791 - None, # 2792 - None, # 2793 - None, # 2794 - None, # 2795 - None, # 2796 - None, # 2797 - None, # 2798 - None, # 2799 - None, # 2800 - None, # 2801 - None, # 2802 - None, # 2803 - None, # 2804 - None, # 2805 - None, # 2806 - None, # 2807 - None, # 2808 - None, # 2809 - None, # 2810 - None, # 2811 - None, # 2812 - None, # 2813 - None, # 2814 - None, # 2815 - None, # 2816 - None, # 2817 - None, # 2818 - None, # 2819 - None, # 2820 - None, # 2821 - None, # 2822 - None, # 2823 - None, # 2824 - None, # 2825 - None, # 2826 - None, # 2827 - None, # 2828 - None, # 2829 - None, # 2830 - None, # 2831 - None, # 2832 - None, # 2833 - None, # 2834 - None, # 2835 - None, # 2836 - None, # 2837 - None, # 2838 - None, # 2839 - None, # 2840 - None, # 2841 - None, # 2842 - None, # 2843 - None, # 2844 - None, # 2845 - None, # 2846 - None, # 2847 - None, # 2848 - None, # 2849 - None, # 2850 - None, # 2851 - None, # 2852 - None, # 2853 - None, # 2854 - None, # 2855 - None, # 2856 - None, # 2857 - None, # 2858 - None, # 2859 - None, # 2860 - None, # 2861 - None, # 2862 - None, # 2863 - None, # 2864 - None, # 2865 - None, # 2866 - None, # 2867 - None, # 2868 - None, # 2869 - None, # 2870 - None, # 2871 - None, # 2872 - None, # 2873 - None, # 2874 - None, # 2875 - None, # 2876 - None, # 2877 - None, # 2878 - None, # 2879 - None, # 2880 - None, # 2881 - None, # 2882 - None, # 2883 - None, # 2884 - None, # 2885 - None, # 2886 - None, # 2887 - None, # 2888 - None, # 2889 - None, # 2890 - None, # 2891 - None, # 2892 - None, # 2893 - None, # 2894 - None, # 2895 - None, # 2896 - None, # 2897 - None, # 2898 - None, # 2899 - None, # 2900 - None, # 2901 - None, # 2902 - None, # 2903 - None, # 2904 - None, # 2905 - None, # 2906 - None, # 2907 - None, # 2908 - None, # 2909 - None, # 2910 - None, # 2911 - None, # 2912 - None, # 2913 - None, # 2914 - None, # 2915 - None, # 2916 - None, # 2917 - None, # 2918 - None, # 2919 - None, # 2920 - None, # 2921 - None, # 2922 - None, # 2923 - None, # 2924 - None, # 2925 - None, # 2926 - None, # 2927 - None, # 2928 - None, # 2929 - None, # 2930 - None, # 2931 - None, # 2932 - None, # 2933 - None, # 2934 - None, # 2935 - None, # 2936 - None, # 2937 - None, # 2938 - None, # 2939 - None, # 2940 - None, # 2941 - None, # 2942 - None, # 2943 - None, # 2944 - None, # 2945 - None, # 2946 - None, # 2947 - None, # 2948 - None, # 2949 - None, # 2950 - None, # 2951 - None, # 2952 - None, # 2953 - None, # 2954 - None, # 2955 - None, # 2956 - None, # 2957 - None, # 2958 - None, # 2959 - None, # 2960 - None, # 2961 - None, # 2962 - None, # 2963 - None, # 2964 - None, # 2965 - None, # 2966 - None, # 2967 - None, # 2968 - None, # 2969 - None, # 2970 - None, # 2971 - None, # 2972 - None, # 2973 - None, # 2974 - None, # 2975 - None, # 2976 - None, # 2977 - None, # 2978 - None, # 2979 - None, # 2980 - None, # 2981 - None, # 2982 - None, # 2983 - None, # 2984 - None, # 2985 - None, # 2986 - None, # 2987 - None, # 2988 - None, # 2989 - None, # 2990 - None, # 2991 - None, # 2992 - None, # 2993 - None, # 2994 - None, # 2995 - None, # 2996 - None, # 2997 - None, # 2998 - None, # 2999 - None, # 3000 - None, # 3001 - None, # 3002 - None, # 3003 - None, # 3004 - None, # 3005 - None, # 3006 - None, # 3007 - None, # 3008 - None, # 3009 - None, # 3010 - None, # 3011 - None, # 3012 - None, # 3013 - None, # 3014 - None, # 3015 - None, # 3016 - None, # 3017 - None, # 3018 - None, # 3019 - None, # 3020 - None, # 3021 - None, # 3022 - None, # 3023 - None, # 3024 - None, # 3025 - None, # 3026 - None, # 3027 - None, # 3028 - None, # 3029 - None, # 3030 - None, # 3031 - None, # 3032 - None, # 3033 - None, # 3034 - None, # 3035 - None, # 3036 - None, # 3037 - None, # 3038 - None, # 3039 - None, # 3040 - None, # 3041 - None, # 3042 - None, # 3043 - None, # 3044 - None, # 3045 - None, # 3046 - None, # 3047 - None, # 3048 - None, # 3049 - None, # 3050 - None, # 3051 - None, # 3052 - None, # 3053 - None, # 3054 - None, # 3055 - None, # 3056 - None, # 3057 - None, # 3058 - None, # 3059 - None, # 3060 - None, # 3061 - None, # 3062 - None, # 3063 - None, # 3064 - None, # 3065 - None, # 3066 - None, # 3067 - None, # 3068 - None, # 3069 - None, # 3070 - None, # 3071 - None, # 3072 - None, # 3073 - None, # 3074 - None, # 3075 - None, # 3076 - None, # 3077 - None, # 3078 - None, # 3079 - None, # 3080 - None, # 3081 - None, # 3082 - None, # 3083 - None, # 3084 - None, # 3085 - None, # 3086 - None, # 3087 - None, # 3088 - None, # 3089 - None, # 3090 - None, # 3091 - None, # 3092 - None, # 3093 - None, # 3094 - None, # 3095 - None, # 3096 - None, # 3097 - None, # 3098 - None, # 3099 - None, # 3100 - None, # 3101 - None, # 3102 - None, # 3103 - None, # 3104 - None, # 3105 - None, # 3106 - None, # 3107 - None, # 3108 - None, # 3109 - None, # 3110 - None, # 3111 - None, # 3112 - None, # 3113 - None, # 3114 - None, # 3115 - None, # 3116 - None, # 3117 - None, # 3118 - None, # 3119 - None, # 3120 - None, # 3121 - None, # 3122 - None, # 3123 - None, # 3124 - None, # 3125 - None, # 3126 - None, # 3127 - None, # 3128 - None, # 3129 - None, # 3130 - None, # 3131 - None, # 3132 - None, # 3133 - None, # 3134 - None, # 3135 - None, # 3136 - None, # 3137 - None, # 3138 - None, # 3139 - None, # 3140 - None, # 3141 - None, # 3142 - None, # 3143 - None, # 3144 - None, # 3145 - None, # 3146 - None, # 3147 - None, # 3148 - None, # 3149 - None, # 3150 - None, # 3151 - None, # 3152 - None, # 3153 - None, # 3154 - None, # 3155 - None, # 3156 - None, # 3157 - None, # 3158 - None, # 3159 - None, # 3160 - None, # 3161 - None, # 3162 - None, # 3163 - None, # 3164 - None, # 3165 - None, # 3166 - None, # 3167 - None, # 3168 - None, # 3169 - None, # 3170 - None, # 3171 - None, # 3172 - None, # 3173 - None, # 3174 - None, # 3175 - None, # 3176 - None, # 3177 - None, # 3178 - None, # 3179 - None, # 3180 - None, # 3181 - None, # 3182 - None, # 3183 - None, # 3184 - None, # 3185 - None, # 3186 - None, # 3187 - None, # 3188 - None, # 3189 - None, # 3190 - None, # 3191 - None, # 3192 - None, # 3193 - None, # 3194 - None, # 3195 - None, # 3196 - None, # 3197 - None, # 3198 - None, # 3199 - None, # 3200 - None, # 3201 - None, # 3202 - None, # 3203 - None, # 3204 - None, # 3205 - None, # 3206 - None, # 3207 - None, # 3208 - None, # 3209 - None, # 3210 - None, # 3211 - None, # 3212 - None, # 3213 - None, # 3214 - None, # 3215 - None, # 3216 - None, # 3217 - None, # 3218 - None, # 3219 - None, # 3220 - None, # 3221 - None, # 3222 - None, # 3223 - None, # 3224 - None, # 3225 - None, # 3226 - None, # 3227 - None, # 3228 - None, # 3229 - None, # 3230 - None, # 3231 - None, # 3232 - None, # 3233 - None, # 3234 - None, # 3235 - None, # 3236 - None, # 3237 - None, # 3238 - None, # 3239 - None, # 3240 - None, # 3241 - None, # 3242 - None, # 3243 - None, # 3244 - None, # 3245 - None, # 3246 - None, # 3247 - None, # 3248 - None, # 3249 - None, # 3250 - None, # 3251 - None, # 3252 - None, # 3253 - None, # 3254 - None, # 3255 - None, # 3256 - None, # 3257 - None, # 3258 - None, # 3259 - None, # 3260 - None, # 3261 - None, # 3262 - None, # 3263 - None, # 3264 - None, # 3265 - None, # 3266 - None, # 3267 - None, # 3268 - None, # 3269 - None, # 3270 - None, # 3271 - None, # 3272 - None, # 3273 - None, # 3274 - None, # 3275 - None, # 3276 - None, # 3277 - None, # 3278 - None, # 3279 - None, # 3280 - None, # 3281 - None, # 3282 - None, # 3283 - None, # 3284 - None, # 3285 - None, # 3286 - None, # 3287 - None, # 3288 - None, # 3289 - None, # 3290 - None, # 3291 - None, # 3292 - None, # 3293 - None, # 3294 - None, # 3295 - None, # 3296 - None, # 3297 - None, # 3298 - None, # 3299 - None, # 3300 - None, # 3301 - None, # 3302 - None, # 3303 - None, # 3304 - None, # 3305 - None, # 3306 - None, # 3307 - None, # 3308 - None, # 3309 - None, # 3310 - None, # 3311 - None, # 3312 - None, # 3313 - None, # 3314 - None, # 3315 - None, # 3316 - None, # 3317 - None, # 3318 - None, # 3319 - None, # 3320 - None, # 3321 - None, # 3322 - None, # 3323 - None, # 3324 - None, # 3325 - None, # 3326 - None, # 3327 - None, # 3328 - ( - 3329, - TType.I32, - "reasonForNoCloudFetch", - None, - None, - ), # 3329 - ( - 3330, - TType.LIST, - "resultFiles", - (TType.STRUCT, [TDBSqlCloudResultFile, None], False), - None, - ), # 3330 - ( - 3331, - TType.STRING, - "manifestFile", - "UTF8", - None, - ), # 3331 - ( - 3332, - TType.I32, - "manifestFileFormat", - None, - None, - ), # 3332 - ( - 3333, - TType.I64, - "cacheLookupLatency", - None, - None, - ), # 3333 - ( - 3334, - TType.STRING, - "remoteCacheMissReason", - "UTF8", - None, - ), # 3334 - ( - 3335, - TType.I32, - "fetchDisposition", - None, - None, - ), # 3335 - ( - 3336, - TType.BOOL, - "remoteResultCacheEnabled", - None, - None, - ), # 3336 - ( - 3337, - TType.BOOL, - "isServerless", - None, - None, - ), # 3337 - None, # 3338 - None, # 3339 - None, # 3340 - None, # 3341 - None, # 3342 - None, # 3343 - ( - 3344, - TType.STRUCT, - "resultDataFormat", - [TDBSqlResultFormat, None], - None, - ), # 3344 - ( - 3345, - TType.BOOL, - "truncatedByThriftLimit", - None, - None, - ), # 3345 - ( - 3346, - TType.I64, - "resultByteLimit", - None, - None, - ), # 3346 + None, # 0 + (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 + (2, TType.STRUCT, 'schema', [TTableSchema, None], None, ), # 2 + None, # 3 + None, # 4 + None, # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + (1281, TType.I32, 'resultFormat', None, None, ), # 1281 + (1282, TType.BOOL, 'lz4Compressed', None, None, ), # 1282 + (1283, TType.STRING, 'arrowSchema', 'BINARY', None, ), # 1283 + (1284, TType.I32, 'cacheLookupResult', None, None, ), # 1284 + (1285, TType.I64, 'uncompressedBytes', None, None, ), # 1285 + (1286, TType.I64, 'compressedBytes', None, None, ), # 1286 + (1287, TType.BOOL, 'isStagingOperation', None, None, ), # 1287 + None, # 1288 + None, # 1289 + None, # 1290 + None, # 1291 + None, # 1292 + None, # 1293 + None, # 1294 + None, # 1295 + None, # 1296 + None, # 1297 + None, # 1298 + None, # 1299 + None, # 1300 + None, # 1301 + None, # 1302 + None, # 1303 + None, # 1304 + None, # 1305 + None, # 1306 + None, # 1307 + None, # 1308 + None, # 1309 + None, # 1310 + None, # 1311 + None, # 1312 + None, # 1313 + None, # 1314 + None, # 1315 + None, # 1316 + None, # 1317 + None, # 1318 + None, # 1319 + None, # 1320 + None, # 1321 + None, # 1322 + None, # 1323 + None, # 1324 + None, # 1325 + None, # 1326 + None, # 1327 + None, # 1328 + None, # 1329 + None, # 1330 + None, # 1331 + None, # 1332 + None, # 1333 + None, # 1334 + None, # 1335 + None, # 1336 + None, # 1337 + None, # 1338 + None, # 1339 + None, # 1340 + None, # 1341 + None, # 1342 + None, # 1343 + None, # 1344 + None, # 1345 + None, # 1346 + None, # 1347 + None, # 1348 + None, # 1349 + None, # 1350 + None, # 1351 + None, # 1352 + None, # 1353 + None, # 1354 + None, # 1355 + None, # 1356 + None, # 1357 + None, # 1358 + None, # 1359 + None, # 1360 + None, # 1361 + None, # 1362 + None, # 1363 + None, # 1364 + None, # 1365 + None, # 1366 + None, # 1367 + None, # 1368 + None, # 1369 + None, # 1370 + None, # 1371 + None, # 1372 + None, # 1373 + None, # 1374 + None, # 1375 + None, # 1376 + None, # 1377 + None, # 1378 + None, # 1379 + None, # 1380 + None, # 1381 + None, # 1382 + None, # 1383 + None, # 1384 + None, # 1385 + None, # 1386 + None, # 1387 + None, # 1388 + None, # 1389 + None, # 1390 + None, # 1391 + None, # 1392 + None, # 1393 + None, # 1394 + None, # 1395 + None, # 1396 + None, # 1397 + None, # 1398 + None, # 1399 + None, # 1400 + None, # 1401 + None, # 1402 + None, # 1403 + None, # 1404 + None, # 1405 + None, # 1406 + None, # 1407 + None, # 1408 + None, # 1409 + None, # 1410 + None, # 1411 + None, # 1412 + None, # 1413 + None, # 1414 + None, # 1415 + None, # 1416 + None, # 1417 + None, # 1418 + None, # 1419 + None, # 1420 + None, # 1421 + None, # 1422 + None, # 1423 + None, # 1424 + None, # 1425 + None, # 1426 + None, # 1427 + None, # 1428 + None, # 1429 + None, # 1430 + None, # 1431 + None, # 1432 + None, # 1433 + None, # 1434 + None, # 1435 + None, # 1436 + None, # 1437 + None, # 1438 + None, # 1439 + None, # 1440 + None, # 1441 + None, # 1442 + None, # 1443 + None, # 1444 + None, # 1445 + None, # 1446 + None, # 1447 + None, # 1448 + None, # 1449 + None, # 1450 + None, # 1451 + None, # 1452 + None, # 1453 + None, # 1454 + None, # 1455 + None, # 1456 + None, # 1457 + None, # 1458 + None, # 1459 + None, # 1460 + None, # 1461 + None, # 1462 + None, # 1463 + None, # 1464 + None, # 1465 + None, # 1466 + None, # 1467 + None, # 1468 + None, # 1469 + None, # 1470 + None, # 1471 + None, # 1472 + None, # 1473 + None, # 1474 + None, # 1475 + None, # 1476 + None, # 1477 + None, # 1478 + None, # 1479 + None, # 1480 + None, # 1481 + None, # 1482 + None, # 1483 + None, # 1484 + None, # 1485 + None, # 1486 + None, # 1487 + None, # 1488 + None, # 1489 + None, # 1490 + None, # 1491 + None, # 1492 + None, # 1493 + None, # 1494 + None, # 1495 + None, # 1496 + None, # 1497 + None, # 1498 + None, # 1499 + None, # 1500 + None, # 1501 + None, # 1502 + None, # 1503 + None, # 1504 + None, # 1505 + None, # 1506 + None, # 1507 + None, # 1508 + None, # 1509 + None, # 1510 + None, # 1511 + None, # 1512 + None, # 1513 + None, # 1514 + None, # 1515 + None, # 1516 + None, # 1517 + None, # 1518 + None, # 1519 + None, # 1520 + None, # 1521 + None, # 1522 + None, # 1523 + None, # 1524 + None, # 1525 + None, # 1526 + None, # 1527 + None, # 1528 + None, # 1529 + None, # 1530 + None, # 1531 + None, # 1532 + None, # 1533 + None, # 1534 + None, # 1535 + None, # 1536 + None, # 1537 + None, # 1538 + None, # 1539 + None, # 1540 + None, # 1541 + None, # 1542 + None, # 1543 + None, # 1544 + None, # 1545 + None, # 1546 + None, # 1547 + None, # 1548 + None, # 1549 + None, # 1550 + None, # 1551 + None, # 1552 + None, # 1553 + None, # 1554 + None, # 1555 + None, # 1556 + None, # 1557 + None, # 1558 + None, # 1559 + None, # 1560 + None, # 1561 + None, # 1562 + None, # 1563 + None, # 1564 + None, # 1565 + None, # 1566 + None, # 1567 + None, # 1568 + None, # 1569 + None, # 1570 + None, # 1571 + None, # 1572 + None, # 1573 + None, # 1574 + None, # 1575 + None, # 1576 + None, # 1577 + None, # 1578 + None, # 1579 + None, # 1580 + None, # 1581 + None, # 1582 + None, # 1583 + None, # 1584 + None, # 1585 + None, # 1586 + None, # 1587 + None, # 1588 + None, # 1589 + None, # 1590 + None, # 1591 + None, # 1592 + None, # 1593 + None, # 1594 + None, # 1595 + None, # 1596 + None, # 1597 + None, # 1598 + None, # 1599 + None, # 1600 + None, # 1601 + None, # 1602 + None, # 1603 + None, # 1604 + None, # 1605 + None, # 1606 + None, # 1607 + None, # 1608 + None, # 1609 + None, # 1610 + None, # 1611 + None, # 1612 + None, # 1613 + None, # 1614 + None, # 1615 + None, # 1616 + None, # 1617 + None, # 1618 + None, # 1619 + None, # 1620 + None, # 1621 + None, # 1622 + None, # 1623 + None, # 1624 + None, # 1625 + None, # 1626 + None, # 1627 + None, # 1628 + None, # 1629 + None, # 1630 + None, # 1631 + None, # 1632 + None, # 1633 + None, # 1634 + None, # 1635 + None, # 1636 + None, # 1637 + None, # 1638 + None, # 1639 + None, # 1640 + None, # 1641 + None, # 1642 + None, # 1643 + None, # 1644 + None, # 1645 + None, # 1646 + None, # 1647 + None, # 1648 + None, # 1649 + None, # 1650 + None, # 1651 + None, # 1652 + None, # 1653 + None, # 1654 + None, # 1655 + None, # 1656 + None, # 1657 + None, # 1658 + None, # 1659 + None, # 1660 + None, # 1661 + None, # 1662 + None, # 1663 + None, # 1664 + None, # 1665 + None, # 1666 + None, # 1667 + None, # 1668 + None, # 1669 + None, # 1670 + None, # 1671 + None, # 1672 + None, # 1673 + None, # 1674 + None, # 1675 + None, # 1676 + None, # 1677 + None, # 1678 + None, # 1679 + None, # 1680 + None, # 1681 + None, # 1682 + None, # 1683 + None, # 1684 + None, # 1685 + None, # 1686 + None, # 1687 + None, # 1688 + None, # 1689 + None, # 1690 + None, # 1691 + None, # 1692 + None, # 1693 + None, # 1694 + None, # 1695 + None, # 1696 + None, # 1697 + None, # 1698 + None, # 1699 + None, # 1700 + None, # 1701 + None, # 1702 + None, # 1703 + None, # 1704 + None, # 1705 + None, # 1706 + None, # 1707 + None, # 1708 + None, # 1709 + None, # 1710 + None, # 1711 + None, # 1712 + None, # 1713 + None, # 1714 + None, # 1715 + None, # 1716 + None, # 1717 + None, # 1718 + None, # 1719 + None, # 1720 + None, # 1721 + None, # 1722 + None, # 1723 + None, # 1724 + None, # 1725 + None, # 1726 + None, # 1727 + None, # 1728 + None, # 1729 + None, # 1730 + None, # 1731 + None, # 1732 + None, # 1733 + None, # 1734 + None, # 1735 + None, # 1736 + None, # 1737 + None, # 1738 + None, # 1739 + None, # 1740 + None, # 1741 + None, # 1742 + None, # 1743 + None, # 1744 + None, # 1745 + None, # 1746 + None, # 1747 + None, # 1748 + None, # 1749 + None, # 1750 + None, # 1751 + None, # 1752 + None, # 1753 + None, # 1754 + None, # 1755 + None, # 1756 + None, # 1757 + None, # 1758 + None, # 1759 + None, # 1760 + None, # 1761 + None, # 1762 + None, # 1763 + None, # 1764 + None, # 1765 + None, # 1766 + None, # 1767 + None, # 1768 + None, # 1769 + None, # 1770 + None, # 1771 + None, # 1772 + None, # 1773 + None, # 1774 + None, # 1775 + None, # 1776 + None, # 1777 + None, # 1778 + None, # 1779 + None, # 1780 + None, # 1781 + None, # 1782 + None, # 1783 + None, # 1784 + None, # 1785 + None, # 1786 + None, # 1787 + None, # 1788 + None, # 1789 + None, # 1790 + None, # 1791 + None, # 1792 + None, # 1793 + None, # 1794 + None, # 1795 + None, # 1796 + None, # 1797 + None, # 1798 + None, # 1799 + None, # 1800 + None, # 1801 + None, # 1802 + None, # 1803 + None, # 1804 + None, # 1805 + None, # 1806 + None, # 1807 + None, # 1808 + None, # 1809 + None, # 1810 + None, # 1811 + None, # 1812 + None, # 1813 + None, # 1814 + None, # 1815 + None, # 1816 + None, # 1817 + None, # 1818 + None, # 1819 + None, # 1820 + None, # 1821 + None, # 1822 + None, # 1823 + None, # 1824 + None, # 1825 + None, # 1826 + None, # 1827 + None, # 1828 + None, # 1829 + None, # 1830 + None, # 1831 + None, # 1832 + None, # 1833 + None, # 1834 + None, # 1835 + None, # 1836 + None, # 1837 + None, # 1838 + None, # 1839 + None, # 1840 + None, # 1841 + None, # 1842 + None, # 1843 + None, # 1844 + None, # 1845 + None, # 1846 + None, # 1847 + None, # 1848 + None, # 1849 + None, # 1850 + None, # 1851 + None, # 1852 + None, # 1853 + None, # 1854 + None, # 1855 + None, # 1856 + None, # 1857 + None, # 1858 + None, # 1859 + None, # 1860 + None, # 1861 + None, # 1862 + None, # 1863 + None, # 1864 + None, # 1865 + None, # 1866 + None, # 1867 + None, # 1868 + None, # 1869 + None, # 1870 + None, # 1871 + None, # 1872 + None, # 1873 + None, # 1874 + None, # 1875 + None, # 1876 + None, # 1877 + None, # 1878 + None, # 1879 + None, # 1880 + None, # 1881 + None, # 1882 + None, # 1883 + None, # 1884 + None, # 1885 + None, # 1886 + None, # 1887 + None, # 1888 + None, # 1889 + None, # 1890 + None, # 1891 + None, # 1892 + None, # 1893 + None, # 1894 + None, # 1895 + None, # 1896 + None, # 1897 + None, # 1898 + None, # 1899 + None, # 1900 + None, # 1901 + None, # 1902 + None, # 1903 + None, # 1904 + None, # 1905 + None, # 1906 + None, # 1907 + None, # 1908 + None, # 1909 + None, # 1910 + None, # 1911 + None, # 1912 + None, # 1913 + None, # 1914 + None, # 1915 + None, # 1916 + None, # 1917 + None, # 1918 + None, # 1919 + None, # 1920 + None, # 1921 + None, # 1922 + None, # 1923 + None, # 1924 + None, # 1925 + None, # 1926 + None, # 1927 + None, # 1928 + None, # 1929 + None, # 1930 + None, # 1931 + None, # 1932 + None, # 1933 + None, # 1934 + None, # 1935 + None, # 1936 + None, # 1937 + None, # 1938 + None, # 1939 + None, # 1940 + None, # 1941 + None, # 1942 + None, # 1943 + None, # 1944 + None, # 1945 + None, # 1946 + None, # 1947 + None, # 1948 + None, # 1949 + None, # 1950 + None, # 1951 + None, # 1952 + None, # 1953 + None, # 1954 + None, # 1955 + None, # 1956 + None, # 1957 + None, # 1958 + None, # 1959 + None, # 1960 + None, # 1961 + None, # 1962 + None, # 1963 + None, # 1964 + None, # 1965 + None, # 1966 + None, # 1967 + None, # 1968 + None, # 1969 + None, # 1970 + None, # 1971 + None, # 1972 + None, # 1973 + None, # 1974 + None, # 1975 + None, # 1976 + None, # 1977 + None, # 1978 + None, # 1979 + None, # 1980 + None, # 1981 + None, # 1982 + None, # 1983 + None, # 1984 + None, # 1985 + None, # 1986 + None, # 1987 + None, # 1988 + None, # 1989 + None, # 1990 + None, # 1991 + None, # 1992 + None, # 1993 + None, # 1994 + None, # 1995 + None, # 1996 + None, # 1997 + None, # 1998 + None, # 1999 + None, # 2000 + None, # 2001 + None, # 2002 + None, # 2003 + None, # 2004 + None, # 2005 + None, # 2006 + None, # 2007 + None, # 2008 + None, # 2009 + None, # 2010 + None, # 2011 + None, # 2012 + None, # 2013 + None, # 2014 + None, # 2015 + None, # 2016 + None, # 2017 + None, # 2018 + None, # 2019 + None, # 2020 + None, # 2021 + None, # 2022 + None, # 2023 + None, # 2024 + None, # 2025 + None, # 2026 + None, # 2027 + None, # 2028 + None, # 2029 + None, # 2030 + None, # 2031 + None, # 2032 + None, # 2033 + None, # 2034 + None, # 2035 + None, # 2036 + None, # 2037 + None, # 2038 + None, # 2039 + None, # 2040 + None, # 2041 + None, # 2042 + None, # 2043 + None, # 2044 + None, # 2045 + None, # 2046 + None, # 2047 + None, # 2048 + None, # 2049 + None, # 2050 + None, # 2051 + None, # 2052 + None, # 2053 + None, # 2054 + None, # 2055 + None, # 2056 + None, # 2057 + None, # 2058 + None, # 2059 + None, # 2060 + None, # 2061 + None, # 2062 + None, # 2063 + None, # 2064 + None, # 2065 + None, # 2066 + None, # 2067 + None, # 2068 + None, # 2069 + None, # 2070 + None, # 2071 + None, # 2072 + None, # 2073 + None, # 2074 + None, # 2075 + None, # 2076 + None, # 2077 + None, # 2078 + None, # 2079 + None, # 2080 + None, # 2081 + None, # 2082 + None, # 2083 + None, # 2084 + None, # 2085 + None, # 2086 + None, # 2087 + None, # 2088 + None, # 2089 + None, # 2090 + None, # 2091 + None, # 2092 + None, # 2093 + None, # 2094 + None, # 2095 + None, # 2096 + None, # 2097 + None, # 2098 + None, # 2099 + None, # 2100 + None, # 2101 + None, # 2102 + None, # 2103 + None, # 2104 + None, # 2105 + None, # 2106 + None, # 2107 + None, # 2108 + None, # 2109 + None, # 2110 + None, # 2111 + None, # 2112 + None, # 2113 + None, # 2114 + None, # 2115 + None, # 2116 + None, # 2117 + None, # 2118 + None, # 2119 + None, # 2120 + None, # 2121 + None, # 2122 + None, # 2123 + None, # 2124 + None, # 2125 + None, # 2126 + None, # 2127 + None, # 2128 + None, # 2129 + None, # 2130 + None, # 2131 + None, # 2132 + None, # 2133 + None, # 2134 + None, # 2135 + None, # 2136 + None, # 2137 + None, # 2138 + None, # 2139 + None, # 2140 + None, # 2141 + None, # 2142 + None, # 2143 + None, # 2144 + None, # 2145 + None, # 2146 + None, # 2147 + None, # 2148 + None, # 2149 + None, # 2150 + None, # 2151 + None, # 2152 + None, # 2153 + None, # 2154 + None, # 2155 + None, # 2156 + None, # 2157 + None, # 2158 + None, # 2159 + None, # 2160 + None, # 2161 + None, # 2162 + None, # 2163 + None, # 2164 + None, # 2165 + None, # 2166 + None, # 2167 + None, # 2168 + None, # 2169 + None, # 2170 + None, # 2171 + None, # 2172 + None, # 2173 + None, # 2174 + None, # 2175 + None, # 2176 + None, # 2177 + None, # 2178 + None, # 2179 + None, # 2180 + None, # 2181 + None, # 2182 + None, # 2183 + None, # 2184 + None, # 2185 + None, # 2186 + None, # 2187 + None, # 2188 + None, # 2189 + None, # 2190 + None, # 2191 + None, # 2192 + None, # 2193 + None, # 2194 + None, # 2195 + None, # 2196 + None, # 2197 + None, # 2198 + None, # 2199 + None, # 2200 + None, # 2201 + None, # 2202 + None, # 2203 + None, # 2204 + None, # 2205 + None, # 2206 + None, # 2207 + None, # 2208 + None, # 2209 + None, # 2210 + None, # 2211 + None, # 2212 + None, # 2213 + None, # 2214 + None, # 2215 + None, # 2216 + None, # 2217 + None, # 2218 + None, # 2219 + None, # 2220 + None, # 2221 + None, # 2222 + None, # 2223 + None, # 2224 + None, # 2225 + None, # 2226 + None, # 2227 + None, # 2228 + None, # 2229 + None, # 2230 + None, # 2231 + None, # 2232 + None, # 2233 + None, # 2234 + None, # 2235 + None, # 2236 + None, # 2237 + None, # 2238 + None, # 2239 + None, # 2240 + None, # 2241 + None, # 2242 + None, # 2243 + None, # 2244 + None, # 2245 + None, # 2246 + None, # 2247 + None, # 2248 + None, # 2249 + None, # 2250 + None, # 2251 + None, # 2252 + None, # 2253 + None, # 2254 + None, # 2255 + None, # 2256 + None, # 2257 + None, # 2258 + None, # 2259 + None, # 2260 + None, # 2261 + None, # 2262 + None, # 2263 + None, # 2264 + None, # 2265 + None, # 2266 + None, # 2267 + None, # 2268 + None, # 2269 + None, # 2270 + None, # 2271 + None, # 2272 + None, # 2273 + None, # 2274 + None, # 2275 + None, # 2276 + None, # 2277 + None, # 2278 + None, # 2279 + None, # 2280 + None, # 2281 + None, # 2282 + None, # 2283 + None, # 2284 + None, # 2285 + None, # 2286 + None, # 2287 + None, # 2288 + None, # 2289 + None, # 2290 + None, # 2291 + None, # 2292 + None, # 2293 + None, # 2294 + None, # 2295 + None, # 2296 + None, # 2297 + None, # 2298 + None, # 2299 + None, # 2300 + None, # 2301 + None, # 2302 + None, # 2303 + None, # 2304 + None, # 2305 + None, # 2306 + None, # 2307 + None, # 2308 + None, # 2309 + None, # 2310 + None, # 2311 + None, # 2312 + None, # 2313 + None, # 2314 + None, # 2315 + None, # 2316 + None, # 2317 + None, # 2318 + None, # 2319 + None, # 2320 + None, # 2321 + None, # 2322 + None, # 2323 + None, # 2324 + None, # 2325 + None, # 2326 + None, # 2327 + None, # 2328 + None, # 2329 + None, # 2330 + None, # 2331 + None, # 2332 + None, # 2333 + None, # 2334 + None, # 2335 + None, # 2336 + None, # 2337 + None, # 2338 + None, # 2339 + None, # 2340 + None, # 2341 + None, # 2342 + None, # 2343 + None, # 2344 + None, # 2345 + None, # 2346 + None, # 2347 + None, # 2348 + None, # 2349 + None, # 2350 + None, # 2351 + None, # 2352 + None, # 2353 + None, # 2354 + None, # 2355 + None, # 2356 + None, # 2357 + None, # 2358 + None, # 2359 + None, # 2360 + None, # 2361 + None, # 2362 + None, # 2363 + None, # 2364 + None, # 2365 + None, # 2366 + None, # 2367 + None, # 2368 + None, # 2369 + None, # 2370 + None, # 2371 + None, # 2372 + None, # 2373 + None, # 2374 + None, # 2375 + None, # 2376 + None, # 2377 + None, # 2378 + None, # 2379 + None, # 2380 + None, # 2381 + None, # 2382 + None, # 2383 + None, # 2384 + None, # 2385 + None, # 2386 + None, # 2387 + None, # 2388 + None, # 2389 + None, # 2390 + None, # 2391 + None, # 2392 + None, # 2393 + None, # 2394 + None, # 2395 + None, # 2396 + None, # 2397 + None, # 2398 + None, # 2399 + None, # 2400 + None, # 2401 + None, # 2402 + None, # 2403 + None, # 2404 + None, # 2405 + None, # 2406 + None, # 2407 + None, # 2408 + None, # 2409 + None, # 2410 + None, # 2411 + None, # 2412 + None, # 2413 + None, # 2414 + None, # 2415 + None, # 2416 + None, # 2417 + None, # 2418 + None, # 2419 + None, # 2420 + None, # 2421 + None, # 2422 + None, # 2423 + None, # 2424 + None, # 2425 + None, # 2426 + None, # 2427 + None, # 2428 + None, # 2429 + None, # 2430 + None, # 2431 + None, # 2432 + None, # 2433 + None, # 2434 + None, # 2435 + None, # 2436 + None, # 2437 + None, # 2438 + None, # 2439 + None, # 2440 + None, # 2441 + None, # 2442 + None, # 2443 + None, # 2444 + None, # 2445 + None, # 2446 + None, # 2447 + None, # 2448 + None, # 2449 + None, # 2450 + None, # 2451 + None, # 2452 + None, # 2453 + None, # 2454 + None, # 2455 + None, # 2456 + None, # 2457 + None, # 2458 + None, # 2459 + None, # 2460 + None, # 2461 + None, # 2462 + None, # 2463 + None, # 2464 + None, # 2465 + None, # 2466 + None, # 2467 + None, # 2468 + None, # 2469 + None, # 2470 + None, # 2471 + None, # 2472 + None, # 2473 + None, # 2474 + None, # 2475 + None, # 2476 + None, # 2477 + None, # 2478 + None, # 2479 + None, # 2480 + None, # 2481 + None, # 2482 + None, # 2483 + None, # 2484 + None, # 2485 + None, # 2486 + None, # 2487 + None, # 2488 + None, # 2489 + None, # 2490 + None, # 2491 + None, # 2492 + None, # 2493 + None, # 2494 + None, # 2495 + None, # 2496 + None, # 2497 + None, # 2498 + None, # 2499 + None, # 2500 + None, # 2501 + None, # 2502 + None, # 2503 + None, # 2504 + None, # 2505 + None, # 2506 + None, # 2507 + None, # 2508 + None, # 2509 + None, # 2510 + None, # 2511 + None, # 2512 + None, # 2513 + None, # 2514 + None, # 2515 + None, # 2516 + None, # 2517 + None, # 2518 + None, # 2519 + None, # 2520 + None, # 2521 + None, # 2522 + None, # 2523 + None, # 2524 + None, # 2525 + None, # 2526 + None, # 2527 + None, # 2528 + None, # 2529 + None, # 2530 + None, # 2531 + None, # 2532 + None, # 2533 + None, # 2534 + None, # 2535 + None, # 2536 + None, # 2537 + None, # 2538 + None, # 2539 + None, # 2540 + None, # 2541 + None, # 2542 + None, # 2543 + None, # 2544 + None, # 2545 + None, # 2546 + None, # 2547 + None, # 2548 + None, # 2549 + None, # 2550 + None, # 2551 + None, # 2552 + None, # 2553 + None, # 2554 + None, # 2555 + None, # 2556 + None, # 2557 + None, # 2558 + None, # 2559 + None, # 2560 + None, # 2561 + None, # 2562 + None, # 2563 + None, # 2564 + None, # 2565 + None, # 2566 + None, # 2567 + None, # 2568 + None, # 2569 + None, # 2570 + None, # 2571 + None, # 2572 + None, # 2573 + None, # 2574 + None, # 2575 + None, # 2576 + None, # 2577 + None, # 2578 + None, # 2579 + None, # 2580 + None, # 2581 + None, # 2582 + None, # 2583 + None, # 2584 + None, # 2585 + None, # 2586 + None, # 2587 + None, # 2588 + None, # 2589 + None, # 2590 + None, # 2591 + None, # 2592 + None, # 2593 + None, # 2594 + None, # 2595 + None, # 2596 + None, # 2597 + None, # 2598 + None, # 2599 + None, # 2600 + None, # 2601 + None, # 2602 + None, # 2603 + None, # 2604 + None, # 2605 + None, # 2606 + None, # 2607 + None, # 2608 + None, # 2609 + None, # 2610 + None, # 2611 + None, # 2612 + None, # 2613 + None, # 2614 + None, # 2615 + None, # 2616 + None, # 2617 + None, # 2618 + None, # 2619 + None, # 2620 + None, # 2621 + None, # 2622 + None, # 2623 + None, # 2624 + None, # 2625 + None, # 2626 + None, # 2627 + None, # 2628 + None, # 2629 + None, # 2630 + None, # 2631 + None, # 2632 + None, # 2633 + None, # 2634 + None, # 2635 + None, # 2636 + None, # 2637 + None, # 2638 + None, # 2639 + None, # 2640 + None, # 2641 + None, # 2642 + None, # 2643 + None, # 2644 + None, # 2645 + None, # 2646 + None, # 2647 + None, # 2648 + None, # 2649 + None, # 2650 + None, # 2651 + None, # 2652 + None, # 2653 + None, # 2654 + None, # 2655 + None, # 2656 + None, # 2657 + None, # 2658 + None, # 2659 + None, # 2660 + None, # 2661 + None, # 2662 + None, # 2663 + None, # 2664 + None, # 2665 + None, # 2666 + None, # 2667 + None, # 2668 + None, # 2669 + None, # 2670 + None, # 2671 + None, # 2672 + None, # 2673 + None, # 2674 + None, # 2675 + None, # 2676 + None, # 2677 + None, # 2678 + None, # 2679 + None, # 2680 + None, # 2681 + None, # 2682 + None, # 2683 + None, # 2684 + None, # 2685 + None, # 2686 + None, # 2687 + None, # 2688 + None, # 2689 + None, # 2690 + None, # 2691 + None, # 2692 + None, # 2693 + None, # 2694 + None, # 2695 + None, # 2696 + None, # 2697 + None, # 2698 + None, # 2699 + None, # 2700 + None, # 2701 + None, # 2702 + None, # 2703 + None, # 2704 + None, # 2705 + None, # 2706 + None, # 2707 + None, # 2708 + None, # 2709 + None, # 2710 + None, # 2711 + None, # 2712 + None, # 2713 + None, # 2714 + None, # 2715 + None, # 2716 + None, # 2717 + None, # 2718 + None, # 2719 + None, # 2720 + None, # 2721 + None, # 2722 + None, # 2723 + None, # 2724 + None, # 2725 + None, # 2726 + None, # 2727 + None, # 2728 + None, # 2729 + None, # 2730 + None, # 2731 + None, # 2732 + None, # 2733 + None, # 2734 + None, # 2735 + None, # 2736 + None, # 2737 + None, # 2738 + None, # 2739 + None, # 2740 + None, # 2741 + None, # 2742 + None, # 2743 + None, # 2744 + None, # 2745 + None, # 2746 + None, # 2747 + None, # 2748 + None, # 2749 + None, # 2750 + None, # 2751 + None, # 2752 + None, # 2753 + None, # 2754 + None, # 2755 + None, # 2756 + None, # 2757 + None, # 2758 + None, # 2759 + None, # 2760 + None, # 2761 + None, # 2762 + None, # 2763 + None, # 2764 + None, # 2765 + None, # 2766 + None, # 2767 + None, # 2768 + None, # 2769 + None, # 2770 + None, # 2771 + None, # 2772 + None, # 2773 + None, # 2774 + None, # 2775 + None, # 2776 + None, # 2777 + None, # 2778 + None, # 2779 + None, # 2780 + None, # 2781 + None, # 2782 + None, # 2783 + None, # 2784 + None, # 2785 + None, # 2786 + None, # 2787 + None, # 2788 + None, # 2789 + None, # 2790 + None, # 2791 + None, # 2792 + None, # 2793 + None, # 2794 + None, # 2795 + None, # 2796 + None, # 2797 + None, # 2798 + None, # 2799 + None, # 2800 + None, # 2801 + None, # 2802 + None, # 2803 + None, # 2804 + None, # 2805 + None, # 2806 + None, # 2807 + None, # 2808 + None, # 2809 + None, # 2810 + None, # 2811 + None, # 2812 + None, # 2813 + None, # 2814 + None, # 2815 + None, # 2816 + None, # 2817 + None, # 2818 + None, # 2819 + None, # 2820 + None, # 2821 + None, # 2822 + None, # 2823 + None, # 2824 + None, # 2825 + None, # 2826 + None, # 2827 + None, # 2828 + None, # 2829 + None, # 2830 + None, # 2831 + None, # 2832 + None, # 2833 + None, # 2834 + None, # 2835 + None, # 2836 + None, # 2837 + None, # 2838 + None, # 2839 + None, # 2840 + None, # 2841 + None, # 2842 + None, # 2843 + None, # 2844 + None, # 2845 + None, # 2846 + None, # 2847 + None, # 2848 + None, # 2849 + None, # 2850 + None, # 2851 + None, # 2852 + None, # 2853 + None, # 2854 + None, # 2855 + None, # 2856 + None, # 2857 + None, # 2858 + None, # 2859 + None, # 2860 + None, # 2861 + None, # 2862 + None, # 2863 + None, # 2864 + None, # 2865 + None, # 2866 + None, # 2867 + None, # 2868 + None, # 2869 + None, # 2870 + None, # 2871 + None, # 2872 + None, # 2873 + None, # 2874 + None, # 2875 + None, # 2876 + None, # 2877 + None, # 2878 + None, # 2879 + None, # 2880 + None, # 2881 + None, # 2882 + None, # 2883 + None, # 2884 + None, # 2885 + None, # 2886 + None, # 2887 + None, # 2888 + None, # 2889 + None, # 2890 + None, # 2891 + None, # 2892 + None, # 2893 + None, # 2894 + None, # 2895 + None, # 2896 + None, # 2897 + None, # 2898 + None, # 2899 + None, # 2900 + None, # 2901 + None, # 2902 + None, # 2903 + None, # 2904 + None, # 2905 + None, # 2906 + None, # 2907 + None, # 2908 + None, # 2909 + None, # 2910 + None, # 2911 + None, # 2912 + None, # 2913 + None, # 2914 + None, # 2915 + None, # 2916 + None, # 2917 + None, # 2918 + None, # 2919 + None, # 2920 + None, # 2921 + None, # 2922 + None, # 2923 + None, # 2924 + None, # 2925 + None, # 2926 + None, # 2927 + None, # 2928 + None, # 2929 + None, # 2930 + None, # 2931 + None, # 2932 + None, # 2933 + None, # 2934 + None, # 2935 + None, # 2936 + None, # 2937 + None, # 2938 + None, # 2939 + None, # 2940 + None, # 2941 + None, # 2942 + None, # 2943 + None, # 2944 + None, # 2945 + None, # 2946 + None, # 2947 + None, # 2948 + None, # 2949 + None, # 2950 + None, # 2951 + None, # 2952 + None, # 2953 + None, # 2954 + None, # 2955 + None, # 2956 + None, # 2957 + None, # 2958 + None, # 2959 + None, # 2960 + None, # 2961 + None, # 2962 + None, # 2963 + None, # 2964 + None, # 2965 + None, # 2966 + None, # 2967 + None, # 2968 + None, # 2969 + None, # 2970 + None, # 2971 + None, # 2972 + None, # 2973 + None, # 2974 + None, # 2975 + None, # 2976 + None, # 2977 + None, # 2978 + None, # 2979 + None, # 2980 + None, # 2981 + None, # 2982 + None, # 2983 + None, # 2984 + None, # 2985 + None, # 2986 + None, # 2987 + None, # 2988 + None, # 2989 + None, # 2990 + None, # 2991 + None, # 2992 + None, # 2993 + None, # 2994 + None, # 2995 + None, # 2996 + None, # 2997 + None, # 2998 + None, # 2999 + None, # 3000 + None, # 3001 + None, # 3002 + None, # 3003 + None, # 3004 + None, # 3005 + None, # 3006 + None, # 3007 + None, # 3008 + None, # 3009 + None, # 3010 + None, # 3011 + None, # 3012 + None, # 3013 + None, # 3014 + None, # 3015 + None, # 3016 + None, # 3017 + None, # 3018 + None, # 3019 + None, # 3020 + None, # 3021 + None, # 3022 + None, # 3023 + None, # 3024 + None, # 3025 + None, # 3026 + None, # 3027 + None, # 3028 + None, # 3029 + None, # 3030 + None, # 3031 + None, # 3032 + None, # 3033 + None, # 3034 + None, # 3035 + None, # 3036 + None, # 3037 + None, # 3038 + None, # 3039 + None, # 3040 + None, # 3041 + None, # 3042 + None, # 3043 + None, # 3044 + None, # 3045 + None, # 3046 + None, # 3047 + None, # 3048 + None, # 3049 + None, # 3050 + None, # 3051 + None, # 3052 + None, # 3053 + None, # 3054 + None, # 3055 + None, # 3056 + None, # 3057 + None, # 3058 + None, # 3059 + None, # 3060 + None, # 3061 + None, # 3062 + None, # 3063 + None, # 3064 + None, # 3065 + None, # 3066 + None, # 3067 + None, # 3068 + None, # 3069 + None, # 3070 + None, # 3071 + None, # 3072 + None, # 3073 + None, # 3074 + None, # 3075 + None, # 3076 + None, # 3077 + None, # 3078 + None, # 3079 + None, # 3080 + None, # 3081 + None, # 3082 + None, # 3083 + None, # 3084 + None, # 3085 + None, # 3086 + None, # 3087 + None, # 3088 + None, # 3089 + None, # 3090 + None, # 3091 + None, # 3092 + None, # 3093 + None, # 3094 + None, # 3095 + None, # 3096 + None, # 3097 + None, # 3098 + None, # 3099 + None, # 3100 + None, # 3101 + None, # 3102 + None, # 3103 + None, # 3104 + None, # 3105 + None, # 3106 + None, # 3107 + None, # 3108 + None, # 3109 + None, # 3110 + None, # 3111 + None, # 3112 + None, # 3113 + None, # 3114 + None, # 3115 + None, # 3116 + None, # 3117 + None, # 3118 + None, # 3119 + None, # 3120 + None, # 3121 + None, # 3122 + None, # 3123 + None, # 3124 + None, # 3125 + None, # 3126 + None, # 3127 + None, # 3128 + None, # 3129 + None, # 3130 + None, # 3131 + None, # 3132 + None, # 3133 + None, # 3134 + None, # 3135 + None, # 3136 + None, # 3137 + None, # 3138 + None, # 3139 + None, # 3140 + None, # 3141 + None, # 3142 + None, # 3143 + None, # 3144 + None, # 3145 + None, # 3146 + None, # 3147 + None, # 3148 + None, # 3149 + None, # 3150 + None, # 3151 + None, # 3152 + None, # 3153 + None, # 3154 + None, # 3155 + None, # 3156 + None, # 3157 + None, # 3158 + None, # 3159 + None, # 3160 + None, # 3161 + None, # 3162 + None, # 3163 + None, # 3164 + None, # 3165 + None, # 3166 + None, # 3167 + None, # 3168 + None, # 3169 + None, # 3170 + None, # 3171 + None, # 3172 + None, # 3173 + None, # 3174 + None, # 3175 + None, # 3176 + None, # 3177 + None, # 3178 + None, # 3179 + None, # 3180 + None, # 3181 + None, # 3182 + None, # 3183 + None, # 3184 + None, # 3185 + None, # 3186 + None, # 3187 + None, # 3188 + None, # 3189 + None, # 3190 + None, # 3191 + None, # 3192 + None, # 3193 + None, # 3194 + None, # 3195 + None, # 3196 + None, # 3197 + None, # 3198 + None, # 3199 + None, # 3200 + None, # 3201 + None, # 3202 + None, # 3203 + None, # 3204 + None, # 3205 + None, # 3206 + None, # 3207 + None, # 3208 + None, # 3209 + None, # 3210 + None, # 3211 + None, # 3212 + None, # 3213 + None, # 3214 + None, # 3215 + None, # 3216 + None, # 3217 + None, # 3218 + None, # 3219 + None, # 3220 + None, # 3221 + None, # 3222 + None, # 3223 + None, # 3224 + None, # 3225 + None, # 3226 + None, # 3227 + None, # 3228 + None, # 3229 + None, # 3230 + None, # 3231 + None, # 3232 + None, # 3233 + None, # 3234 + None, # 3235 + None, # 3236 + None, # 3237 + None, # 3238 + None, # 3239 + None, # 3240 + None, # 3241 + None, # 3242 + None, # 3243 + None, # 3244 + None, # 3245 + None, # 3246 + None, # 3247 + None, # 3248 + None, # 3249 + None, # 3250 + None, # 3251 + None, # 3252 + None, # 3253 + None, # 3254 + None, # 3255 + None, # 3256 + None, # 3257 + None, # 3258 + None, # 3259 + None, # 3260 + None, # 3261 + None, # 3262 + None, # 3263 + None, # 3264 + None, # 3265 + None, # 3266 + None, # 3267 + None, # 3268 + None, # 3269 + None, # 3270 + None, # 3271 + None, # 3272 + None, # 3273 + None, # 3274 + None, # 3275 + None, # 3276 + None, # 3277 + None, # 3278 + None, # 3279 + None, # 3280 + None, # 3281 + None, # 3282 + None, # 3283 + None, # 3284 + None, # 3285 + None, # 3286 + None, # 3287 + None, # 3288 + None, # 3289 + None, # 3290 + None, # 3291 + None, # 3292 + None, # 3293 + None, # 3294 + None, # 3295 + None, # 3296 + None, # 3297 + None, # 3298 + None, # 3299 + None, # 3300 + None, # 3301 + None, # 3302 + None, # 3303 + None, # 3304 + None, # 3305 + None, # 3306 + None, # 3307 + None, # 3308 + None, # 3309 + None, # 3310 + None, # 3311 + None, # 3312 + None, # 3313 + None, # 3314 + None, # 3315 + None, # 3316 + None, # 3317 + None, # 3318 + None, # 3319 + None, # 3320 + None, # 3321 + None, # 3322 + None, # 3323 + None, # 3324 + None, # 3325 + None, # 3326 + None, # 3327 + None, # 3328 + (3329, TType.I32, 'reasonForNoCloudFetch', None, None, ), # 3329 + (3330, TType.LIST, 'resultFiles', (TType.STRUCT, [TDBSqlCloudResultFile, None], False), None, ), # 3330 + (3331, TType.STRING, 'manifestFile', 'UTF8', None, ), # 3331 + (3332, TType.I32, 'manifestFileFormat', None, None, ), # 3332 + (3333, TType.I64, 'cacheLookupLatency', None, None, ), # 3333 + (3334, TType.STRING, 'remoteCacheMissReason', 'UTF8', None, ), # 3334 + (3335, TType.I32, 'fetchDisposition', None, None, ), # 3335 + (3336, TType.BOOL, 'remoteResultCacheEnabled', None, None, ), # 3336 + (3337, TType.BOOL, 'isServerless', None, None, ), # 3337 + None, # 3338 + None, # 3339 + None, # 3340 + None, # 3341 + None, # 3342 + None, # 3343 + (3344, TType.STRUCT, 'resultDataFormat', [TDBSqlResultFormat, None], None, ), # 3344 + (3345, TType.BOOL, 'truncatedByThriftLimit', None, None, ), # 3345 + (3346, TType.I64, 'resultByteLimit', None, None, ), # 3346 ) all_structs.append(TFetchResultsReq) TFetchResultsReq.thrift_spec = ( - None, # 0 - ( - 1, - TType.STRUCT, - "operationHandle", - [TOperationHandle, None], - None, - ), # 1 - ( - 2, - TType.I32, - "orientation", - None, - 0, - ), # 2 - ( - 3, - TType.I64, - "maxRows", - None, - None, - ), # 3 - ( - 4, - TType.I16, - "fetchType", - None, - 0, - ), # 4 - None, # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - ( - 1281, - TType.I64, - "maxBytes", - None, - None, - ), # 1281 - ( - 1282, - TType.I64, - "startRowOffset", - None, - None, - ), # 1282 - ( - 1283, - TType.BOOL, - "includeResultSetMetadata", - None, - None, - ), # 1283 + None, # 0 + (1, TType.STRUCT, 'operationHandle', [TOperationHandle, None], None, ), # 1 + (2, TType.I32, 'orientation', None, 0, ), # 2 + (3, TType.I64, 'maxRows', None, None, ), # 3 + (4, TType.I16, 'fetchType', None, 0, ), # 4 + None, # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + (1281, TType.I64, 'maxBytes', None, None, ), # 1281 + (1282, TType.I64, 'startRowOffset', None, None, ), # 1282 + (1283, TType.BOOL, 'includeResultSetMetadata', None, None, ), # 1283 ) all_structs.append(TFetchResultsResp) TFetchResultsResp.thrift_spec = ( - None, # 0 - ( - 1, - TType.STRUCT, - "status", - [TStatus, None], - None, - ), # 1 - ( - 2, - TType.BOOL, - "hasMoreRows", - None, - None, - ), # 2 - ( - 3, - TType.STRUCT, - "results", - [TRowSet, None], - None, - ), # 3 - None, # 4 - None, # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - ( - 1281, - TType.STRUCT, - "resultSetMetadata", - [TGetResultSetMetadataResp, None], - None, - ), # 1281 - None, # 1282 - None, # 1283 - None, # 1284 - None, # 1285 - None, # 1286 - None, # 1287 - None, # 1288 - None, # 1289 - None, # 1290 - None, # 1291 - None, # 1292 - None, # 1293 - None, # 1294 - None, # 1295 - None, # 1296 - None, # 1297 - None, # 1298 - None, # 1299 - None, # 1300 - None, # 1301 - None, # 1302 - None, # 1303 - None, # 1304 - None, # 1305 - None, # 1306 - None, # 1307 - None, # 1308 - None, # 1309 - None, # 1310 - None, # 1311 - None, # 1312 - None, # 1313 - None, # 1314 - None, # 1315 - None, # 1316 - None, # 1317 - None, # 1318 - None, # 1319 - None, # 1320 - None, # 1321 - None, # 1322 - None, # 1323 - None, # 1324 - None, # 1325 - None, # 1326 - None, # 1327 - None, # 1328 - None, # 1329 - None, # 1330 - None, # 1331 - None, # 1332 - None, # 1333 - None, # 1334 - None, # 1335 - None, # 1336 - None, # 1337 - None, # 1338 - None, # 1339 - None, # 1340 - None, # 1341 - None, # 1342 - None, # 1343 - None, # 1344 - None, # 1345 - None, # 1346 - None, # 1347 - None, # 1348 - None, # 1349 - None, # 1350 - None, # 1351 - None, # 1352 - None, # 1353 - None, # 1354 - None, # 1355 - None, # 1356 - None, # 1357 - None, # 1358 - None, # 1359 - None, # 1360 - None, # 1361 - None, # 1362 - None, # 1363 - None, # 1364 - None, # 1365 - None, # 1366 - None, # 1367 - None, # 1368 - None, # 1369 - None, # 1370 - None, # 1371 - None, # 1372 - None, # 1373 - None, # 1374 - None, # 1375 - None, # 1376 - None, # 1377 - None, # 1378 - None, # 1379 - None, # 1380 - None, # 1381 - None, # 1382 - None, # 1383 - None, # 1384 - None, # 1385 - None, # 1386 - None, # 1387 - None, # 1388 - None, # 1389 - None, # 1390 - None, # 1391 - None, # 1392 - None, # 1393 - None, # 1394 - None, # 1395 - None, # 1396 - None, # 1397 - None, # 1398 - None, # 1399 - None, # 1400 - None, # 1401 - None, # 1402 - None, # 1403 - None, # 1404 - None, # 1405 - None, # 1406 - None, # 1407 - None, # 1408 - None, # 1409 - None, # 1410 - None, # 1411 - None, # 1412 - None, # 1413 - None, # 1414 - None, # 1415 - None, # 1416 - None, # 1417 - None, # 1418 - None, # 1419 - None, # 1420 - None, # 1421 - None, # 1422 - None, # 1423 - None, # 1424 - None, # 1425 - None, # 1426 - None, # 1427 - None, # 1428 - None, # 1429 - None, # 1430 - None, # 1431 - None, # 1432 - None, # 1433 - None, # 1434 - None, # 1435 - None, # 1436 - None, # 1437 - None, # 1438 - None, # 1439 - None, # 1440 - None, # 1441 - None, # 1442 - None, # 1443 - None, # 1444 - None, # 1445 - None, # 1446 - None, # 1447 - None, # 1448 - None, # 1449 - None, # 1450 - None, # 1451 - None, # 1452 - None, # 1453 - None, # 1454 - None, # 1455 - None, # 1456 - None, # 1457 - None, # 1458 - None, # 1459 - None, # 1460 - None, # 1461 - None, # 1462 - None, # 1463 - None, # 1464 - None, # 1465 - None, # 1466 - None, # 1467 - None, # 1468 - None, # 1469 - None, # 1470 - None, # 1471 - None, # 1472 - None, # 1473 - None, # 1474 - None, # 1475 - None, # 1476 - None, # 1477 - None, # 1478 - None, # 1479 - None, # 1480 - None, # 1481 - None, # 1482 - None, # 1483 - None, # 1484 - None, # 1485 - None, # 1486 - None, # 1487 - None, # 1488 - None, # 1489 - None, # 1490 - None, # 1491 - None, # 1492 - None, # 1493 - None, # 1494 - None, # 1495 - None, # 1496 - None, # 1497 - None, # 1498 - None, # 1499 - None, # 1500 - None, # 1501 - None, # 1502 - None, # 1503 - None, # 1504 - None, # 1505 - None, # 1506 - None, # 1507 - None, # 1508 - None, # 1509 - None, # 1510 - None, # 1511 - None, # 1512 - None, # 1513 - None, # 1514 - None, # 1515 - None, # 1516 - None, # 1517 - None, # 1518 - None, # 1519 - None, # 1520 - None, # 1521 - None, # 1522 - None, # 1523 - None, # 1524 - None, # 1525 - None, # 1526 - None, # 1527 - None, # 1528 - None, # 1529 - None, # 1530 - None, # 1531 - None, # 1532 - None, # 1533 - None, # 1534 - None, # 1535 - None, # 1536 - None, # 1537 - None, # 1538 - None, # 1539 - None, # 1540 - None, # 1541 - None, # 1542 - None, # 1543 - None, # 1544 - None, # 1545 - None, # 1546 - None, # 1547 - None, # 1548 - None, # 1549 - None, # 1550 - None, # 1551 - None, # 1552 - None, # 1553 - None, # 1554 - None, # 1555 - None, # 1556 - None, # 1557 - None, # 1558 - None, # 1559 - None, # 1560 - None, # 1561 - None, # 1562 - None, # 1563 - None, # 1564 - None, # 1565 - None, # 1566 - None, # 1567 - None, # 1568 - None, # 1569 - None, # 1570 - None, # 1571 - None, # 1572 - None, # 1573 - None, # 1574 - None, # 1575 - None, # 1576 - None, # 1577 - None, # 1578 - None, # 1579 - None, # 1580 - None, # 1581 - None, # 1582 - None, # 1583 - None, # 1584 - None, # 1585 - None, # 1586 - None, # 1587 - None, # 1588 - None, # 1589 - None, # 1590 - None, # 1591 - None, # 1592 - None, # 1593 - None, # 1594 - None, # 1595 - None, # 1596 - None, # 1597 - None, # 1598 - None, # 1599 - None, # 1600 - None, # 1601 - None, # 1602 - None, # 1603 - None, # 1604 - None, # 1605 - None, # 1606 - None, # 1607 - None, # 1608 - None, # 1609 - None, # 1610 - None, # 1611 - None, # 1612 - None, # 1613 - None, # 1614 - None, # 1615 - None, # 1616 - None, # 1617 - None, # 1618 - None, # 1619 - None, # 1620 - None, # 1621 - None, # 1622 - None, # 1623 - None, # 1624 - None, # 1625 - None, # 1626 - None, # 1627 - None, # 1628 - None, # 1629 - None, # 1630 - None, # 1631 - None, # 1632 - None, # 1633 - None, # 1634 - None, # 1635 - None, # 1636 - None, # 1637 - None, # 1638 - None, # 1639 - None, # 1640 - None, # 1641 - None, # 1642 - None, # 1643 - None, # 1644 - None, # 1645 - None, # 1646 - None, # 1647 - None, # 1648 - None, # 1649 - None, # 1650 - None, # 1651 - None, # 1652 - None, # 1653 - None, # 1654 - None, # 1655 - None, # 1656 - None, # 1657 - None, # 1658 - None, # 1659 - None, # 1660 - None, # 1661 - None, # 1662 - None, # 1663 - None, # 1664 - None, # 1665 - None, # 1666 - None, # 1667 - None, # 1668 - None, # 1669 - None, # 1670 - None, # 1671 - None, # 1672 - None, # 1673 - None, # 1674 - None, # 1675 - None, # 1676 - None, # 1677 - None, # 1678 - None, # 1679 - None, # 1680 - None, # 1681 - None, # 1682 - None, # 1683 - None, # 1684 - None, # 1685 - None, # 1686 - None, # 1687 - None, # 1688 - None, # 1689 - None, # 1690 - None, # 1691 - None, # 1692 - None, # 1693 - None, # 1694 - None, # 1695 - None, # 1696 - None, # 1697 - None, # 1698 - None, # 1699 - None, # 1700 - None, # 1701 - None, # 1702 - None, # 1703 - None, # 1704 - None, # 1705 - None, # 1706 - None, # 1707 - None, # 1708 - None, # 1709 - None, # 1710 - None, # 1711 - None, # 1712 - None, # 1713 - None, # 1714 - None, # 1715 - None, # 1716 - None, # 1717 - None, # 1718 - None, # 1719 - None, # 1720 - None, # 1721 - None, # 1722 - None, # 1723 - None, # 1724 - None, # 1725 - None, # 1726 - None, # 1727 - None, # 1728 - None, # 1729 - None, # 1730 - None, # 1731 - None, # 1732 - None, # 1733 - None, # 1734 - None, # 1735 - None, # 1736 - None, # 1737 - None, # 1738 - None, # 1739 - None, # 1740 - None, # 1741 - None, # 1742 - None, # 1743 - None, # 1744 - None, # 1745 - None, # 1746 - None, # 1747 - None, # 1748 - None, # 1749 - None, # 1750 - None, # 1751 - None, # 1752 - None, # 1753 - None, # 1754 - None, # 1755 - None, # 1756 - None, # 1757 - None, # 1758 - None, # 1759 - None, # 1760 - None, # 1761 - None, # 1762 - None, # 1763 - None, # 1764 - None, # 1765 - None, # 1766 - None, # 1767 - None, # 1768 - None, # 1769 - None, # 1770 - None, # 1771 - None, # 1772 - None, # 1773 - None, # 1774 - None, # 1775 - None, # 1776 - None, # 1777 - None, # 1778 - None, # 1779 - None, # 1780 - None, # 1781 - None, # 1782 - None, # 1783 - None, # 1784 - None, # 1785 - None, # 1786 - None, # 1787 - None, # 1788 - None, # 1789 - None, # 1790 - None, # 1791 - None, # 1792 - None, # 1793 - None, # 1794 - None, # 1795 - None, # 1796 - None, # 1797 - None, # 1798 - None, # 1799 - None, # 1800 - None, # 1801 - None, # 1802 - None, # 1803 - None, # 1804 - None, # 1805 - None, # 1806 - None, # 1807 - None, # 1808 - None, # 1809 - None, # 1810 - None, # 1811 - None, # 1812 - None, # 1813 - None, # 1814 - None, # 1815 - None, # 1816 - None, # 1817 - None, # 1818 - None, # 1819 - None, # 1820 - None, # 1821 - None, # 1822 - None, # 1823 - None, # 1824 - None, # 1825 - None, # 1826 - None, # 1827 - None, # 1828 - None, # 1829 - None, # 1830 - None, # 1831 - None, # 1832 - None, # 1833 - None, # 1834 - None, # 1835 - None, # 1836 - None, # 1837 - None, # 1838 - None, # 1839 - None, # 1840 - None, # 1841 - None, # 1842 - None, # 1843 - None, # 1844 - None, # 1845 - None, # 1846 - None, # 1847 - None, # 1848 - None, # 1849 - None, # 1850 - None, # 1851 - None, # 1852 - None, # 1853 - None, # 1854 - None, # 1855 - None, # 1856 - None, # 1857 - None, # 1858 - None, # 1859 - None, # 1860 - None, # 1861 - None, # 1862 - None, # 1863 - None, # 1864 - None, # 1865 - None, # 1866 - None, # 1867 - None, # 1868 - None, # 1869 - None, # 1870 - None, # 1871 - None, # 1872 - None, # 1873 - None, # 1874 - None, # 1875 - None, # 1876 - None, # 1877 - None, # 1878 - None, # 1879 - None, # 1880 - None, # 1881 - None, # 1882 - None, # 1883 - None, # 1884 - None, # 1885 - None, # 1886 - None, # 1887 - None, # 1888 - None, # 1889 - None, # 1890 - None, # 1891 - None, # 1892 - None, # 1893 - None, # 1894 - None, # 1895 - None, # 1896 - None, # 1897 - None, # 1898 - None, # 1899 - None, # 1900 - None, # 1901 - None, # 1902 - None, # 1903 - None, # 1904 - None, # 1905 - None, # 1906 - None, # 1907 - None, # 1908 - None, # 1909 - None, # 1910 - None, # 1911 - None, # 1912 - None, # 1913 - None, # 1914 - None, # 1915 - None, # 1916 - None, # 1917 - None, # 1918 - None, # 1919 - None, # 1920 - None, # 1921 - None, # 1922 - None, # 1923 - None, # 1924 - None, # 1925 - None, # 1926 - None, # 1927 - None, # 1928 - None, # 1929 - None, # 1930 - None, # 1931 - None, # 1932 - None, # 1933 - None, # 1934 - None, # 1935 - None, # 1936 - None, # 1937 - None, # 1938 - None, # 1939 - None, # 1940 - None, # 1941 - None, # 1942 - None, # 1943 - None, # 1944 - None, # 1945 - None, # 1946 - None, # 1947 - None, # 1948 - None, # 1949 - None, # 1950 - None, # 1951 - None, # 1952 - None, # 1953 - None, # 1954 - None, # 1955 - None, # 1956 - None, # 1957 - None, # 1958 - None, # 1959 - None, # 1960 - None, # 1961 - None, # 1962 - None, # 1963 - None, # 1964 - None, # 1965 - None, # 1966 - None, # 1967 - None, # 1968 - None, # 1969 - None, # 1970 - None, # 1971 - None, # 1972 - None, # 1973 - None, # 1974 - None, # 1975 - None, # 1976 - None, # 1977 - None, # 1978 - None, # 1979 - None, # 1980 - None, # 1981 - None, # 1982 - None, # 1983 - None, # 1984 - None, # 1985 - None, # 1986 - None, # 1987 - None, # 1988 - None, # 1989 - None, # 1990 - None, # 1991 - None, # 1992 - None, # 1993 - None, # 1994 - None, # 1995 - None, # 1996 - None, # 1997 - None, # 1998 - None, # 1999 - None, # 2000 - None, # 2001 - None, # 2002 - None, # 2003 - None, # 2004 - None, # 2005 - None, # 2006 - None, # 2007 - None, # 2008 - None, # 2009 - None, # 2010 - None, # 2011 - None, # 2012 - None, # 2013 - None, # 2014 - None, # 2015 - None, # 2016 - None, # 2017 - None, # 2018 - None, # 2019 - None, # 2020 - None, # 2021 - None, # 2022 - None, # 2023 - None, # 2024 - None, # 2025 - None, # 2026 - None, # 2027 - None, # 2028 - None, # 2029 - None, # 2030 - None, # 2031 - None, # 2032 - None, # 2033 - None, # 2034 - None, # 2035 - None, # 2036 - None, # 2037 - None, # 2038 - None, # 2039 - None, # 2040 - None, # 2041 - None, # 2042 - None, # 2043 - None, # 2044 - None, # 2045 - None, # 2046 - None, # 2047 - None, # 2048 - None, # 2049 - None, # 2050 - None, # 2051 - None, # 2052 - None, # 2053 - None, # 2054 - None, # 2055 - None, # 2056 - None, # 2057 - None, # 2058 - None, # 2059 - None, # 2060 - None, # 2061 - None, # 2062 - None, # 2063 - None, # 2064 - None, # 2065 - None, # 2066 - None, # 2067 - None, # 2068 - None, # 2069 - None, # 2070 - None, # 2071 - None, # 2072 - None, # 2073 - None, # 2074 - None, # 2075 - None, # 2076 - None, # 2077 - None, # 2078 - None, # 2079 - None, # 2080 - None, # 2081 - None, # 2082 - None, # 2083 - None, # 2084 - None, # 2085 - None, # 2086 - None, # 2087 - None, # 2088 - None, # 2089 - None, # 2090 - None, # 2091 - None, # 2092 - None, # 2093 - None, # 2094 - None, # 2095 - None, # 2096 - None, # 2097 - None, # 2098 - None, # 2099 - None, # 2100 - None, # 2101 - None, # 2102 - None, # 2103 - None, # 2104 - None, # 2105 - None, # 2106 - None, # 2107 - None, # 2108 - None, # 2109 - None, # 2110 - None, # 2111 - None, # 2112 - None, # 2113 - None, # 2114 - None, # 2115 - None, # 2116 - None, # 2117 - None, # 2118 - None, # 2119 - None, # 2120 - None, # 2121 - None, # 2122 - None, # 2123 - None, # 2124 - None, # 2125 - None, # 2126 - None, # 2127 - None, # 2128 - None, # 2129 - None, # 2130 - None, # 2131 - None, # 2132 - None, # 2133 - None, # 2134 - None, # 2135 - None, # 2136 - None, # 2137 - None, # 2138 - None, # 2139 - None, # 2140 - None, # 2141 - None, # 2142 - None, # 2143 - None, # 2144 - None, # 2145 - None, # 2146 - None, # 2147 - None, # 2148 - None, # 2149 - None, # 2150 - None, # 2151 - None, # 2152 - None, # 2153 - None, # 2154 - None, # 2155 - None, # 2156 - None, # 2157 - None, # 2158 - None, # 2159 - None, # 2160 - None, # 2161 - None, # 2162 - None, # 2163 - None, # 2164 - None, # 2165 - None, # 2166 - None, # 2167 - None, # 2168 - None, # 2169 - None, # 2170 - None, # 2171 - None, # 2172 - None, # 2173 - None, # 2174 - None, # 2175 - None, # 2176 - None, # 2177 - None, # 2178 - None, # 2179 - None, # 2180 - None, # 2181 - None, # 2182 - None, # 2183 - None, # 2184 - None, # 2185 - None, # 2186 - None, # 2187 - None, # 2188 - None, # 2189 - None, # 2190 - None, # 2191 - None, # 2192 - None, # 2193 - None, # 2194 - None, # 2195 - None, # 2196 - None, # 2197 - None, # 2198 - None, # 2199 - None, # 2200 - None, # 2201 - None, # 2202 - None, # 2203 - None, # 2204 - None, # 2205 - None, # 2206 - None, # 2207 - None, # 2208 - None, # 2209 - None, # 2210 - None, # 2211 - None, # 2212 - None, # 2213 - None, # 2214 - None, # 2215 - None, # 2216 - None, # 2217 - None, # 2218 - None, # 2219 - None, # 2220 - None, # 2221 - None, # 2222 - None, # 2223 - None, # 2224 - None, # 2225 - None, # 2226 - None, # 2227 - None, # 2228 - None, # 2229 - None, # 2230 - None, # 2231 - None, # 2232 - None, # 2233 - None, # 2234 - None, # 2235 - None, # 2236 - None, # 2237 - None, # 2238 - None, # 2239 - None, # 2240 - None, # 2241 - None, # 2242 - None, # 2243 - None, # 2244 - None, # 2245 - None, # 2246 - None, # 2247 - None, # 2248 - None, # 2249 - None, # 2250 - None, # 2251 - None, # 2252 - None, # 2253 - None, # 2254 - None, # 2255 - None, # 2256 - None, # 2257 - None, # 2258 - None, # 2259 - None, # 2260 - None, # 2261 - None, # 2262 - None, # 2263 - None, # 2264 - None, # 2265 - None, # 2266 - None, # 2267 - None, # 2268 - None, # 2269 - None, # 2270 - None, # 2271 - None, # 2272 - None, # 2273 - None, # 2274 - None, # 2275 - None, # 2276 - None, # 2277 - None, # 2278 - None, # 2279 - None, # 2280 - None, # 2281 - None, # 2282 - None, # 2283 - None, # 2284 - None, # 2285 - None, # 2286 - None, # 2287 - None, # 2288 - None, # 2289 - None, # 2290 - None, # 2291 - None, # 2292 - None, # 2293 - None, # 2294 - None, # 2295 - None, # 2296 - None, # 2297 - None, # 2298 - None, # 2299 - None, # 2300 - None, # 2301 - None, # 2302 - None, # 2303 - None, # 2304 - None, # 2305 - None, # 2306 - None, # 2307 - None, # 2308 - None, # 2309 - None, # 2310 - None, # 2311 - None, # 2312 - None, # 2313 - None, # 2314 - None, # 2315 - None, # 2316 - None, # 2317 - None, # 2318 - None, # 2319 - None, # 2320 - None, # 2321 - None, # 2322 - None, # 2323 - None, # 2324 - None, # 2325 - None, # 2326 - None, # 2327 - None, # 2328 - None, # 2329 - None, # 2330 - None, # 2331 - None, # 2332 - None, # 2333 - None, # 2334 - None, # 2335 - None, # 2336 - None, # 2337 - None, # 2338 - None, # 2339 - None, # 2340 - None, # 2341 - None, # 2342 - None, # 2343 - None, # 2344 - None, # 2345 - None, # 2346 - None, # 2347 - None, # 2348 - None, # 2349 - None, # 2350 - None, # 2351 - None, # 2352 - None, # 2353 - None, # 2354 - None, # 2355 - None, # 2356 - None, # 2357 - None, # 2358 - None, # 2359 - None, # 2360 - None, # 2361 - None, # 2362 - None, # 2363 - None, # 2364 - None, # 2365 - None, # 2366 - None, # 2367 - None, # 2368 - None, # 2369 - None, # 2370 - None, # 2371 - None, # 2372 - None, # 2373 - None, # 2374 - None, # 2375 - None, # 2376 - None, # 2377 - None, # 2378 - None, # 2379 - None, # 2380 - None, # 2381 - None, # 2382 - None, # 2383 - None, # 2384 - None, # 2385 - None, # 2386 - None, # 2387 - None, # 2388 - None, # 2389 - None, # 2390 - None, # 2391 - None, # 2392 - None, # 2393 - None, # 2394 - None, # 2395 - None, # 2396 - None, # 2397 - None, # 2398 - None, # 2399 - None, # 2400 - None, # 2401 - None, # 2402 - None, # 2403 - None, # 2404 - None, # 2405 - None, # 2406 - None, # 2407 - None, # 2408 - None, # 2409 - None, # 2410 - None, # 2411 - None, # 2412 - None, # 2413 - None, # 2414 - None, # 2415 - None, # 2416 - None, # 2417 - None, # 2418 - None, # 2419 - None, # 2420 - None, # 2421 - None, # 2422 - None, # 2423 - None, # 2424 - None, # 2425 - None, # 2426 - None, # 2427 - None, # 2428 - None, # 2429 - None, # 2430 - None, # 2431 - None, # 2432 - None, # 2433 - None, # 2434 - None, # 2435 - None, # 2436 - None, # 2437 - None, # 2438 - None, # 2439 - None, # 2440 - None, # 2441 - None, # 2442 - None, # 2443 - None, # 2444 - None, # 2445 - None, # 2446 - None, # 2447 - None, # 2448 - None, # 2449 - None, # 2450 - None, # 2451 - None, # 2452 - None, # 2453 - None, # 2454 - None, # 2455 - None, # 2456 - None, # 2457 - None, # 2458 - None, # 2459 - None, # 2460 - None, # 2461 - None, # 2462 - None, # 2463 - None, # 2464 - None, # 2465 - None, # 2466 - None, # 2467 - None, # 2468 - None, # 2469 - None, # 2470 - None, # 2471 - None, # 2472 - None, # 2473 - None, # 2474 - None, # 2475 - None, # 2476 - None, # 2477 - None, # 2478 - None, # 2479 - None, # 2480 - None, # 2481 - None, # 2482 - None, # 2483 - None, # 2484 - None, # 2485 - None, # 2486 - None, # 2487 - None, # 2488 - None, # 2489 - None, # 2490 - None, # 2491 - None, # 2492 - None, # 2493 - None, # 2494 - None, # 2495 - None, # 2496 - None, # 2497 - None, # 2498 - None, # 2499 - None, # 2500 - None, # 2501 - None, # 2502 - None, # 2503 - None, # 2504 - None, # 2505 - None, # 2506 - None, # 2507 - None, # 2508 - None, # 2509 - None, # 2510 - None, # 2511 - None, # 2512 - None, # 2513 - None, # 2514 - None, # 2515 - None, # 2516 - None, # 2517 - None, # 2518 - None, # 2519 - None, # 2520 - None, # 2521 - None, # 2522 - None, # 2523 - None, # 2524 - None, # 2525 - None, # 2526 - None, # 2527 - None, # 2528 - None, # 2529 - None, # 2530 - None, # 2531 - None, # 2532 - None, # 2533 - None, # 2534 - None, # 2535 - None, # 2536 - None, # 2537 - None, # 2538 - None, # 2539 - None, # 2540 - None, # 2541 - None, # 2542 - None, # 2543 - None, # 2544 - None, # 2545 - None, # 2546 - None, # 2547 - None, # 2548 - None, # 2549 - None, # 2550 - None, # 2551 - None, # 2552 - None, # 2553 - None, # 2554 - None, # 2555 - None, # 2556 - None, # 2557 - None, # 2558 - None, # 2559 - None, # 2560 - None, # 2561 - None, # 2562 - None, # 2563 - None, # 2564 - None, # 2565 - None, # 2566 - None, # 2567 - None, # 2568 - None, # 2569 - None, # 2570 - None, # 2571 - None, # 2572 - None, # 2573 - None, # 2574 - None, # 2575 - None, # 2576 - None, # 2577 - None, # 2578 - None, # 2579 - None, # 2580 - None, # 2581 - None, # 2582 - None, # 2583 - None, # 2584 - None, # 2585 - None, # 2586 - None, # 2587 - None, # 2588 - None, # 2589 - None, # 2590 - None, # 2591 - None, # 2592 - None, # 2593 - None, # 2594 - None, # 2595 - None, # 2596 - None, # 2597 - None, # 2598 - None, # 2599 - None, # 2600 - None, # 2601 - None, # 2602 - None, # 2603 - None, # 2604 - None, # 2605 - None, # 2606 - None, # 2607 - None, # 2608 - None, # 2609 - None, # 2610 - None, # 2611 - None, # 2612 - None, # 2613 - None, # 2614 - None, # 2615 - None, # 2616 - None, # 2617 - None, # 2618 - None, # 2619 - None, # 2620 - None, # 2621 - None, # 2622 - None, # 2623 - None, # 2624 - None, # 2625 - None, # 2626 - None, # 2627 - None, # 2628 - None, # 2629 - None, # 2630 - None, # 2631 - None, # 2632 - None, # 2633 - None, # 2634 - None, # 2635 - None, # 2636 - None, # 2637 - None, # 2638 - None, # 2639 - None, # 2640 - None, # 2641 - None, # 2642 - None, # 2643 - None, # 2644 - None, # 2645 - None, # 2646 - None, # 2647 - None, # 2648 - None, # 2649 - None, # 2650 - None, # 2651 - None, # 2652 - None, # 2653 - None, # 2654 - None, # 2655 - None, # 2656 - None, # 2657 - None, # 2658 - None, # 2659 - None, # 2660 - None, # 2661 - None, # 2662 - None, # 2663 - None, # 2664 - None, # 2665 - None, # 2666 - None, # 2667 - None, # 2668 - None, # 2669 - None, # 2670 - None, # 2671 - None, # 2672 - None, # 2673 - None, # 2674 - None, # 2675 - None, # 2676 - None, # 2677 - None, # 2678 - None, # 2679 - None, # 2680 - None, # 2681 - None, # 2682 - None, # 2683 - None, # 2684 - None, # 2685 - None, # 2686 - None, # 2687 - None, # 2688 - None, # 2689 - None, # 2690 - None, # 2691 - None, # 2692 - None, # 2693 - None, # 2694 - None, # 2695 - None, # 2696 - None, # 2697 - None, # 2698 - None, # 2699 - None, # 2700 - None, # 2701 - None, # 2702 - None, # 2703 - None, # 2704 - None, # 2705 - None, # 2706 - None, # 2707 - None, # 2708 - None, # 2709 - None, # 2710 - None, # 2711 - None, # 2712 - None, # 2713 - None, # 2714 - None, # 2715 - None, # 2716 - None, # 2717 - None, # 2718 - None, # 2719 - None, # 2720 - None, # 2721 - None, # 2722 - None, # 2723 - None, # 2724 - None, # 2725 - None, # 2726 - None, # 2727 - None, # 2728 - None, # 2729 - None, # 2730 - None, # 2731 - None, # 2732 - None, # 2733 - None, # 2734 - None, # 2735 - None, # 2736 - None, # 2737 - None, # 2738 - None, # 2739 - None, # 2740 - None, # 2741 - None, # 2742 - None, # 2743 - None, # 2744 - None, # 2745 - None, # 2746 - None, # 2747 - None, # 2748 - None, # 2749 - None, # 2750 - None, # 2751 - None, # 2752 - None, # 2753 - None, # 2754 - None, # 2755 - None, # 2756 - None, # 2757 - None, # 2758 - None, # 2759 - None, # 2760 - None, # 2761 - None, # 2762 - None, # 2763 - None, # 2764 - None, # 2765 - None, # 2766 - None, # 2767 - None, # 2768 - None, # 2769 - None, # 2770 - None, # 2771 - None, # 2772 - None, # 2773 - None, # 2774 - None, # 2775 - None, # 2776 - None, # 2777 - None, # 2778 - None, # 2779 - None, # 2780 - None, # 2781 - None, # 2782 - None, # 2783 - None, # 2784 - None, # 2785 - None, # 2786 - None, # 2787 - None, # 2788 - None, # 2789 - None, # 2790 - None, # 2791 - None, # 2792 - None, # 2793 - None, # 2794 - None, # 2795 - None, # 2796 - None, # 2797 - None, # 2798 - None, # 2799 - None, # 2800 - None, # 2801 - None, # 2802 - None, # 2803 - None, # 2804 - None, # 2805 - None, # 2806 - None, # 2807 - None, # 2808 - None, # 2809 - None, # 2810 - None, # 2811 - None, # 2812 - None, # 2813 - None, # 2814 - None, # 2815 - None, # 2816 - None, # 2817 - None, # 2818 - None, # 2819 - None, # 2820 - None, # 2821 - None, # 2822 - None, # 2823 - None, # 2824 - None, # 2825 - None, # 2826 - None, # 2827 - None, # 2828 - None, # 2829 - None, # 2830 - None, # 2831 - None, # 2832 - None, # 2833 - None, # 2834 - None, # 2835 - None, # 2836 - None, # 2837 - None, # 2838 - None, # 2839 - None, # 2840 - None, # 2841 - None, # 2842 - None, # 2843 - None, # 2844 - None, # 2845 - None, # 2846 - None, # 2847 - None, # 2848 - None, # 2849 - None, # 2850 - None, # 2851 - None, # 2852 - None, # 2853 - None, # 2854 - None, # 2855 - None, # 2856 - None, # 2857 - None, # 2858 - None, # 2859 - None, # 2860 - None, # 2861 - None, # 2862 - None, # 2863 - None, # 2864 - None, # 2865 - None, # 2866 - None, # 2867 - None, # 2868 - None, # 2869 - None, # 2870 - None, # 2871 - None, # 2872 - None, # 2873 - None, # 2874 - None, # 2875 - None, # 2876 - None, # 2877 - None, # 2878 - None, # 2879 - None, # 2880 - None, # 2881 - None, # 2882 - None, # 2883 - None, # 2884 - None, # 2885 - None, # 2886 - None, # 2887 - None, # 2888 - None, # 2889 - None, # 2890 - None, # 2891 - None, # 2892 - None, # 2893 - None, # 2894 - None, # 2895 - None, # 2896 - None, # 2897 - None, # 2898 - None, # 2899 - None, # 2900 - None, # 2901 - None, # 2902 - None, # 2903 - None, # 2904 - None, # 2905 - None, # 2906 - None, # 2907 - None, # 2908 - None, # 2909 - None, # 2910 - None, # 2911 - None, # 2912 - None, # 2913 - None, # 2914 - None, # 2915 - None, # 2916 - None, # 2917 - None, # 2918 - None, # 2919 - None, # 2920 - None, # 2921 - None, # 2922 - None, # 2923 - None, # 2924 - None, # 2925 - None, # 2926 - None, # 2927 - None, # 2928 - None, # 2929 - None, # 2930 - None, # 2931 - None, # 2932 - None, # 2933 - None, # 2934 - None, # 2935 - None, # 2936 - None, # 2937 - None, # 2938 - None, # 2939 - None, # 2940 - None, # 2941 - None, # 2942 - None, # 2943 - None, # 2944 - None, # 2945 - None, # 2946 - None, # 2947 - None, # 2948 - None, # 2949 - None, # 2950 - None, # 2951 - None, # 2952 - None, # 2953 - None, # 2954 - None, # 2955 - None, # 2956 - None, # 2957 - None, # 2958 - None, # 2959 - None, # 2960 - None, # 2961 - None, # 2962 - None, # 2963 - None, # 2964 - None, # 2965 - None, # 2966 - None, # 2967 - None, # 2968 - None, # 2969 - None, # 2970 - None, # 2971 - None, # 2972 - None, # 2973 - None, # 2974 - None, # 2975 - None, # 2976 - None, # 2977 - None, # 2978 - None, # 2979 - None, # 2980 - None, # 2981 - None, # 2982 - None, # 2983 - None, # 2984 - None, # 2985 - None, # 2986 - None, # 2987 - None, # 2988 - None, # 2989 - None, # 2990 - None, # 2991 - None, # 2992 - None, # 2993 - None, # 2994 - None, # 2995 - None, # 2996 - None, # 2997 - None, # 2998 - None, # 2999 - None, # 3000 - None, # 3001 - None, # 3002 - None, # 3003 - None, # 3004 - None, # 3005 - None, # 3006 - None, # 3007 - None, # 3008 - None, # 3009 - None, # 3010 - None, # 3011 - None, # 3012 - None, # 3013 - None, # 3014 - None, # 3015 - None, # 3016 - None, # 3017 - None, # 3018 - None, # 3019 - None, # 3020 - None, # 3021 - None, # 3022 - None, # 3023 - None, # 3024 - None, # 3025 - None, # 3026 - None, # 3027 - None, # 3028 - None, # 3029 - None, # 3030 - None, # 3031 - None, # 3032 - None, # 3033 - None, # 3034 - None, # 3035 - None, # 3036 - None, # 3037 - None, # 3038 - None, # 3039 - None, # 3040 - None, # 3041 - None, # 3042 - None, # 3043 - None, # 3044 - None, # 3045 - None, # 3046 - None, # 3047 - None, # 3048 - None, # 3049 - None, # 3050 - None, # 3051 - None, # 3052 - None, # 3053 - None, # 3054 - None, # 3055 - None, # 3056 - None, # 3057 - None, # 3058 - None, # 3059 - None, # 3060 - None, # 3061 - None, # 3062 - None, # 3063 - None, # 3064 - None, # 3065 - None, # 3066 - None, # 3067 - None, # 3068 - None, # 3069 - None, # 3070 - None, # 3071 - None, # 3072 - None, # 3073 - None, # 3074 - None, # 3075 - None, # 3076 - None, # 3077 - None, # 3078 - None, # 3079 - None, # 3080 - None, # 3081 - None, # 3082 - None, # 3083 - None, # 3084 - None, # 3085 - None, # 3086 - None, # 3087 - None, # 3088 - None, # 3089 - None, # 3090 - None, # 3091 - None, # 3092 - None, # 3093 - None, # 3094 - None, # 3095 - None, # 3096 - None, # 3097 - None, # 3098 - None, # 3099 - None, # 3100 - None, # 3101 - None, # 3102 - None, # 3103 - None, # 3104 - None, # 3105 - None, # 3106 - None, # 3107 - None, # 3108 - None, # 3109 - None, # 3110 - None, # 3111 - None, # 3112 - None, # 3113 - None, # 3114 - None, # 3115 - None, # 3116 - None, # 3117 - None, # 3118 - None, # 3119 - None, # 3120 - None, # 3121 - None, # 3122 - None, # 3123 - None, # 3124 - None, # 3125 - None, # 3126 - None, # 3127 - None, # 3128 - None, # 3129 - None, # 3130 - None, # 3131 - None, # 3132 - None, # 3133 - None, # 3134 - None, # 3135 - None, # 3136 - None, # 3137 - None, # 3138 - None, # 3139 - None, # 3140 - None, # 3141 - None, # 3142 - None, # 3143 - None, # 3144 - None, # 3145 - None, # 3146 - None, # 3147 - None, # 3148 - None, # 3149 - None, # 3150 - None, # 3151 - None, # 3152 - None, # 3153 - None, # 3154 - None, # 3155 - None, # 3156 - None, # 3157 - None, # 3158 - None, # 3159 - None, # 3160 - None, # 3161 - None, # 3162 - None, # 3163 - None, # 3164 - None, # 3165 - None, # 3166 - None, # 3167 - None, # 3168 - None, # 3169 - None, # 3170 - None, # 3171 - None, # 3172 - None, # 3173 - None, # 3174 - None, # 3175 - None, # 3176 - None, # 3177 - None, # 3178 - None, # 3179 - None, # 3180 - None, # 3181 - None, # 3182 - None, # 3183 - None, # 3184 - None, # 3185 - None, # 3186 - None, # 3187 - None, # 3188 - None, # 3189 - None, # 3190 - None, # 3191 - None, # 3192 - None, # 3193 - None, # 3194 - None, # 3195 - None, # 3196 - None, # 3197 - None, # 3198 - None, # 3199 - None, # 3200 - None, # 3201 - None, # 3202 - None, # 3203 - None, # 3204 - None, # 3205 - None, # 3206 - None, # 3207 - None, # 3208 - None, # 3209 - None, # 3210 - None, # 3211 - None, # 3212 - None, # 3213 - None, # 3214 - None, # 3215 - None, # 3216 - None, # 3217 - None, # 3218 - None, # 3219 - None, # 3220 - None, # 3221 - None, # 3222 - None, # 3223 - None, # 3224 - None, # 3225 - None, # 3226 - None, # 3227 - None, # 3228 - None, # 3229 - None, # 3230 - None, # 3231 - None, # 3232 - None, # 3233 - None, # 3234 - None, # 3235 - None, # 3236 - None, # 3237 - None, # 3238 - None, # 3239 - None, # 3240 - None, # 3241 - None, # 3242 - None, # 3243 - None, # 3244 - None, # 3245 - None, # 3246 - None, # 3247 - None, # 3248 - None, # 3249 - None, # 3250 - None, # 3251 - None, # 3252 - None, # 3253 - None, # 3254 - None, # 3255 - None, # 3256 - None, # 3257 - None, # 3258 - None, # 3259 - None, # 3260 - None, # 3261 - None, # 3262 - None, # 3263 - None, # 3264 - None, # 3265 - None, # 3266 - None, # 3267 - None, # 3268 - None, # 3269 - None, # 3270 - None, # 3271 - None, # 3272 - None, # 3273 - None, # 3274 - None, # 3275 - None, # 3276 - None, # 3277 - None, # 3278 - None, # 3279 - None, # 3280 - None, # 3281 - None, # 3282 - None, # 3283 - None, # 3284 - None, # 3285 - None, # 3286 - None, # 3287 - None, # 3288 - None, # 3289 - None, # 3290 - None, # 3291 - None, # 3292 - None, # 3293 - None, # 3294 - None, # 3295 - None, # 3296 - None, # 3297 - None, # 3298 - None, # 3299 - None, # 3300 - None, # 3301 - None, # 3302 - None, # 3303 - None, # 3304 - None, # 3305 - None, # 3306 - None, # 3307 - None, # 3308 - None, # 3309 - None, # 3310 - None, # 3311 - None, # 3312 - None, # 3313 - None, # 3314 - None, # 3315 - None, # 3316 - None, # 3317 - None, # 3318 - None, # 3319 - None, # 3320 - None, # 3321 - None, # 3322 - None, # 3323 - None, # 3324 - None, # 3325 - None, # 3326 - None, # 3327 - None, # 3328 - ( - 3329, - TType.STRING, - "responseValidation", - "BINARY", - None, - ), # 3329 + None, # 0 + (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 + (2, TType.BOOL, 'hasMoreRows', None, None, ), # 2 + (3, TType.STRUCT, 'results', [TRowSet, None], None, ), # 3 + None, # 4 + None, # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + (1281, TType.STRUCT, 'resultSetMetadata', [TGetResultSetMetadataResp, None], None, ), # 1281 + None, # 1282 + None, # 1283 + None, # 1284 + None, # 1285 + None, # 1286 + None, # 1287 + None, # 1288 + None, # 1289 + None, # 1290 + None, # 1291 + None, # 1292 + None, # 1293 + None, # 1294 + None, # 1295 + None, # 1296 + None, # 1297 + None, # 1298 + None, # 1299 + None, # 1300 + None, # 1301 + None, # 1302 + None, # 1303 + None, # 1304 + None, # 1305 + None, # 1306 + None, # 1307 + None, # 1308 + None, # 1309 + None, # 1310 + None, # 1311 + None, # 1312 + None, # 1313 + None, # 1314 + None, # 1315 + None, # 1316 + None, # 1317 + None, # 1318 + None, # 1319 + None, # 1320 + None, # 1321 + None, # 1322 + None, # 1323 + None, # 1324 + None, # 1325 + None, # 1326 + None, # 1327 + None, # 1328 + None, # 1329 + None, # 1330 + None, # 1331 + None, # 1332 + None, # 1333 + None, # 1334 + None, # 1335 + None, # 1336 + None, # 1337 + None, # 1338 + None, # 1339 + None, # 1340 + None, # 1341 + None, # 1342 + None, # 1343 + None, # 1344 + None, # 1345 + None, # 1346 + None, # 1347 + None, # 1348 + None, # 1349 + None, # 1350 + None, # 1351 + None, # 1352 + None, # 1353 + None, # 1354 + None, # 1355 + None, # 1356 + None, # 1357 + None, # 1358 + None, # 1359 + None, # 1360 + None, # 1361 + None, # 1362 + None, # 1363 + None, # 1364 + None, # 1365 + None, # 1366 + None, # 1367 + None, # 1368 + None, # 1369 + None, # 1370 + None, # 1371 + None, # 1372 + None, # 1373 + None, # 1374 + None, # 1375 + None, # 1376 + None, # 1377 + None, # 1378 + None, # 1379 + None, # 1380 + None, # 1381 + None, # 1382 + None, # 1383 + None, # 1384 + None, # 1385 + None, # 1386 + None, # 1387 + None, # 1388 + None, # 1389 + None, # 1390 + None, # 1391 + None, # 1392 + None, # 1393 + None, # 1394 + None, # 1395 + None, # 1396 + None, # 1397 + None, # 1398 + None, # 1399 + None, # 1400 + None, # 1401 + None, # 1402 + None, # 1403 + None, # 1404 + None, # 1405 + None, # 1406 + None, # 1407 + None, # 1408 + None, # 1409 + None, # 1410 + None, # 1411 + None, # 1412 + None, # 1413 + None, # 1414 + None, # 1415 + None, # 1416 + None, # 1417 + None, # 1418 + None, # 1419 + None, # 1420 + None, # 1421 + None, # 1422 + None, # 1423 + None, # 1424 + None, # 1425 + None, # 1426 + None, # 1427 + None, # 1428 + None, # 1429 + None, # 1430 + None, # 1431 + None, # 1432 + None, # 1433 + None, # 1434 + None, # 1435 + None, # 1436 + None, # 1437 + None, # 1438 + None, # 1439 + None, # 1440 + None, # 1441 + None, # 1442 + None, # 1443 + None, # 1444 + None, # 1445 + None, # 1446 + None, # 1447 + None, # 1448 + None, # 1449 + None, # 1450 + None, # 1451 + None, # 1452 + None, # 1453 + None, # 1454 + None, # 1455 + None, # 1456 + None, # 1457 + None, # 1458 + None, # 1459 + None, # 1460 + None, # 1461 + None, # 1462 + None, # 1463 + None, # 1464 + None, # 1465 + None, # 1466 + None, # 1467 + None, # 1468 + None, # 1469 + None, # 1470 + None, # 1471 + None, # 1472 + None, # 1473 + None, # 1474 + None, # 1475 + None, # 1476 + None, # 1477 + None, # 1478 + None, # 1479 + None, # 1480 + None, # 1481 + None, # 1482 + None, # 1483 + None, # 1484 + None, # 1485 + None, # 1486 + None, # 1487 + None, # 1488 + None, # 1489 + None, # 1490 + None, # 1491 + None, # 1492 + None, # 1493 + None, # 1494 + None, # 1495 + None, # 1496 + None, # 1497 + None, # 1498 + None, # 1499 + None, # 1500 + None, # 1501 + None, # 1502 + None, # 1503 + None, # 1504 + None, # 1505 + None, # 1506 + None, # 1507 + None, # 1508 + None, # 1509 + None, # 1510 + None, # 1511 + None, # 1512 + None, # 1513 + None, # 1514 + None, # 1515 + None, # 1516 + None, # 1517 + None, # 1518 + None, # 1519 + None, # 1520 + None, # 1521 + None, # 1522 + None, # 1523 + None, # 1524 + None, # 1525 + None, # 1526 + None, # 1527 + None, # 1528 + None, # 1529 + None, # 1530 + None, # 1531 + None, # 1532 + None, # 1533 + None, # 1534 + None, # 1535 + None, # 1536 + None, # 1537 + None, # 1538 + None, # 1539 + None, # 1540 + None, # 1541 + None, # 1542 + None, # 1543 + None, # 1544 + None, # 1545 + None, # 1546 + None, # 1547 + None, # 1548 + None, # 1549 + None, # 1550 + None, # 1551 + None, # 1552 + None, # 1553 + None, # 1554 + None, # 1555 + None, # 1556 + None, # 1557 + None, # 1558 + None, # 1559 + None, # 1560 + None, # 1561 + None, # 1562 + None, # 1563 + None, # 1564 + None, # 1565 + None, # 1566 + None, # 1567 + None, # 1568 + None, # 1569 + None, # 1570 + None, # 1571 + None, # 1572 + None, # 1573 + None, # 1574 + None, # 1575 + None, # 1576 + None, # 1577 + None, # 1578 + None, # 1579 + None, # 1580 + None, # 1581 + None, # 1582 + None, # 1583 + None, # 1584 + None, # 1585 + None, # 1586 + None, # 1587 + None, # 1588 + None, # 1589 + None, # 1590 + None, # 1591 + None, # 1592 + None, # 1593 + None, # 1594 + None, # 1595 + None, # 1596 + None, # 1597 + None, # 1598 + None, # 1599 + None, # 1600 + None, # 1601 + None, # 1602 + None, # 1603 + None, # 1604 + None, # 1605 + None, # 1606 + None, # 1607 + None, # 1608 + None, # 1609 + None, # 1610 + None, # 1611 + None, # 1612 + None, # 1613 + None, # 1614 + None, # 1615 + None, # 1616 + None, # 1617 + None, # 1618 + None, # 1619 + None, # 1620 + None, # 1621 + None, # 1622 + None, # 1623 + None, # 1624 + None, # 1625 + None, # 1626 + None, # 1627 + None, # 1628 + None, # 1629 + None, # 1630 + None, # 1631 + None, # 1632 + None, # 1633 + None, # 1634 + None, # 1635 + None, # 1636 + None, # 1637 + None, # 1638 + None, # 1639 + None, # 1640 + None, # 1641 + None, # 1642 + None, # 1643 + None, # 1644 + None, # 1645 + None, # 1646 + None, # 1647 + None, # 1648 + None, # 1649 + None, # 1650 + None, # 1651 + None, # 1652 + None, # 1653 + None, # 1654 + None, # 1655 + None, # 1656 + None, # 1657 + None, # 1658 + None, # 1659 + None, # 1660 + None, # 1661 + None, # 1662 + None, # 1663 + None, # 1664 + None, # 1665 + None, # 1666 + None, # 1667 + None, # 1668 + None, # 1669 + None, # 1670 + None, # 1671 + None, # 1672 + None, # 1673 + None, # 1674 + None, # 1675 + None, # 1676 + None, # 1677 + None, # 1678 + None, # 1679 + None, # 1680 + None, # 1681 + None, # 1682 + None, # 1683 + None, # 1684 + None, # 1685 + None, # 1686 + None, # 1687 + None, # 1688 + None, # 1689 + None, # 1690 + None, # 1691 + None, # 1692 + None, # 1693 + None, # 1694 + None, # 1695 + None, # 1696 + None, # 1697 + None, # 1698 + None, # 1699 + None, # 1700 + None, # 1701 + None, # 1702 + None, # 1703 + None, # 1704 + None, # 1705 + None, # 1706 + None, # 1707 + None, # 1708 + None, # 1709 + None, # 1710 + None, # 1711 + None, # 1712 + None, # 1713 + None, # 1714 + None, # 1715 + None, # 1716 + None, # 1717 + None, # 1718 + None, # 1719 + None, # 1720 + None, # 1721 + None, # 1722 + None, # 1723 + None, # 1724 + None, # 1725 + None, # 1726 + None, # 1727 + None, # 1728 + None, # 1729 + None, # 1730 + None, # 1731 + None, # 1732 + None, # 1733 + None, # 1734 + None, # 1735 + None, # 1736 + None, # 1737 + None, # 1738 + None, # 1739 + None, # 1740 + None, # 1741 + None, # 1742 + None, # 1743 + None, # 1744 + None, # 1745 + None, # 1746 + None, # 1747 + None, # 1748 + None, # 1749 + None, # 1750 + None, # 1751 + None, # 1752 + None, # 1753 + None, # 1754 + None, # 1755 + None, # 1756 + None, # 1757 + None, # 1758 + None, # 1759 + None, # 1760 + None, # 1761 + None, # 1762 + None, # 1763 + None, # 1764 + None, # 1765 + None, # 1766 + None, # 1767 + None, # 1768 + None, # 1769 + None, # 1770 + None, # 1771 + None, # 1772 + None, # 1773 + None, # 1774 + None, # 1775 + None, # 1776 + None, # 1777 + None, # 1778 + None, # 1779 + None, # 1780 + None, # 1781 + None, # 1782 + None, # 1783 + None, # 1784 + None, # 1785 + None, # 1786 + None, # 1787 + None, # 1788 + None, # 1789 + None, # 1790 + None, # 1791 + None, # 1792 + None, # 1793 + None, # 1794 + None, # 1795 + None, # 1796 + None, # 1797 + None, # 1798 + None, # 1799 + None, # 1800 + None, # 1801 + None, # 1802 + None, # 1803 + None, # 1804 + None, # 1805 + None, # 1806 + None, # 1807 + None, # 1808 + None, # 1809 + None, # 1810 + None, # 1811 + None, # 1812 + None, # 1813 + None, # 1814 + None, # 1815 + None, # 1816 + None, # 1817 + None, # 1818 + None, # 1819 + None, # 1820 + None, # 1821 + None, # 1822 + None, # 1823 + None, # 1824 + None, # 1825 + None, # 1826 + None, # 1827 + None, # 1828 + None, # 1829 + None, # 1830 + None, # 1831 + None, # 1832 + None, # 1833 + None, # 1834 + None, # 1835 + None, # 1836 + None, # 1837 + None, # 1838 + None, # 1839 + None, # 1840 + None, # 1841 + None, # 1842 + None, # 1843 + None, # 1844 + None, # 1845 + None, # 1846 + None, # 1847 + None, # 1848 + None, # 1849 + None, # 1850 + None, # 1851 + None, # 1852 + None, # 1853 + None, # 1854 + None, # 1855 + None, # 1856 + None, # 1857 + None, # 1858 + None, # 1859 + None, # 1860 + None, # 1861 + None, # 1862 + None, # 1863 + None, # 1864 + None, # 1865 + None, # 1866 + None, # 1867 + None, # 1868 + None, # 1869 + None, # 1870 + None, # 1871 + None, # 1872 + None, # 1873 + None, # 1874 + None, # 1875 + None, # 1876 + None, # 1877 + None, # 1878 + None, # 1879 + None, # 1880 + None, # 1881 + None, # 1882 + None, # 1883 + None, # 1884 + None, # 1885 + None, # 1886 + None, # 1887 + None, # 1888 + None, # 1889 + None, # 1890 + None, # 1891 + None, # 1892 + None, # 1893 + None, # 1894 + None, # 1895 + None, # 1896 + None, # 1897 + None, # 1898 + None, # 1899 + None, # 1900 + None, # 1901 + None, # 1902 + None, # 1903 + None, # 1904 + None, # 1905 + None, # 1906 + None, # 1907 + None, # 1908 + None, # 1909 + None, # 1910 + None, # 1911 + None, # 1912 + None, # 1913 + None, # 1914 + None, # 1915 + None, # 1916 + None, # 1917 + None, # 1918 + None, # 1919 + None, # 1920 + None, # 1921 + None, # 1922 + None, # 1923 + None, # 1924 + None, # 1925 + None, # 1926 + None, # 1927 + None, # 1928 + None, # 1929 + None, # 1930 + None, # 1931 + None, # 1932 + None, # 1933 + None, # 1934 + None, # 1935 + None, # 1936 + None, # 1937 + None, # 1938 + None, # 1939 + None, # 1940 + None, # 1941 + None, # 1942 + None, # 1943 + None, # 1944 + None, # 1945 + None, # 1946 + None, # 1947 + None, # 1948 + None, # 1949 + None, # 1950 + None, # 1951 + None, # 1952 + None, # 1953 + None, # 1954 + None, # 1955 + None, # 1956 + None, # 1957 + None, # 1958 + None, # 1959 + None, # 1960 + None, # 1961 + None, # 1962 + None, # 1963 + None, # 1964 + None, # 1965 + None, # 1966 + None, # 1967 + None, # 1968 + None, # 1969 + None, # 1970 + None, # 1971 + None, # 1972 + None, # 1973 + None, # 1974 + None, # 1975 + None, # 1976 + None, # 1977 + None, # 1978 + None, # 1979 + None, # 1980 + None, # 1981 + None, # 1982 + None, # 1983 + None, # 1984 + None, # 1985 + None, # 1986 + None, # 1987 + None, # 1988 + None, # 1989 + None, # 1990 + None, # 1991 + None, # 1992 + None, # 1993 + None, # 1994 + None, # 1995 + None, # 1996 + None, # 1997 + None, # 1998 + None, # 1999 + None, # 2000 + None, # 2001 + None, # 2002 + None, # 2003 + None, # 2004 + None, # 2005 + None, # 2006 + None, # 2007 + None, # 2008 + None, # 2009 + None, # 2010 + None, # 2011 + None, # 2012 + None, # 2013 + None, # 2014 + None, # 2015 + None, # 2016 + None, # 2017 + None, # 2018 + None, # 2019 + None, # 2020 + None, # 2021 + None, # 2022 + None, # 2023 + None, # 2024 + None, # 2025 + None, # 2026 + None, # 2027 + None, # 2028 + None, # 2029 + None, # 2030 + None, # 2031 + None, # 2032 + None, # 2033 + None, # 2034 + None, # 2035 + None, # 2036 + None, # 2037 + None, # 2038 + None, # 2039 + None, # 2040 + None, # 2041 + None, # 2042 + None, # 2043 + None, # 2044 + None, # 2045 + None, # 2046 + None, # 2047 + None, # 2048 + None, # 2049 + None, # 2050 + None, # 2051 + None, # 2052 + None, # 2053 + None, # 2054 + None, # 2055 + None, # 2056 + None, # 2057 + None, # 2058 + None, # 2059 + None, # 2060 + None, # 2061 + None, # 2062 + None, # 2063 + None, # 2064 + None, # 2065 + None, # 2066 + None, # 2067 + None, # 2068 + None, # 2069 + None, # 2070 + None, # 2071 + None, # 2072 + None, # 2073 + None, # 2074 + None, # 2075 + None, # 2076 + None, # 2077 + None, # 2078 + None, # 2079 + None, # 2080 + None, # 2081 + None, # 2082 + None, # 2083 + None, # 2084 + None, # 2085 + None, # 2086 + None, # 2087 + None, # 2088 + None, # 2089 + None, # 2090 + None, # 2091 + None, # 2092 + None, # 2093 + None, # 2094 + None, # 2095 + None, # 2096 + None, # 2097 + None, # 2098 + None, # 2099 + None, # 2100 + None, # 2101 + None, # 2102 + None, # 2103 + None, # 2104 + None, # 2105 + None, # 2106 + None, # 2107 + None, # 2108 + None, # 2109 + None, # 2110 + None, # 2111 + None, # 2112 + None, # 2113 + None, # 2114 + None, # 2115 + None, # 2116 + None, # 2117 + None, # 2118 + None, # 2119 + None, # 2120 + None, # 2121 + None, # 2122 + None, # 2123 + None, # 2124 + None, # 2125 + None, # 2126 + None, # 2127 + None, # 2128 + None, # 2129 + None, # 2130 + None, # 2131 + None, # 2132 + None, # 2133 + None, # 2134 + None, # 2135 + None, # 2136 + None, # 2137 + None, # 2138 + None, # 2139 + None, # 2140 + None, # 2141 + None, # 2142 + None, # 2143 + None, # 2144 + None, # 2145 + None, # 2146 + None, # 2147 + None, # 2148 + None, # 2149 + None, # 2150 + None, # 2151 + None, # 2152 + None, # 2153 + None, # 2154 + None, # 2155 + None, # 2156 + None, # 2157 + None, # 2158 + None, # 2159 + None, # 2160 + None, # 2161 + None, # 2162 + None, # 2163 + None, # 2164 + None, # 2165 + None, # 2166 + None, # 2167 + None, # 2168 + None, # 2169 + None, # 2170 + None, # 2171 + None, # 2172 + None, # 2173 + None, # 2174 + None, # 2175 + None, # 2176 + None, # 2177 + None, # 2178 + None, # 2179 + None, # 2180 + None, # 2181 + None, # 2182 + None, # 2183 + None, # 2184 + None, # 2185 + None, # 2186 + None, # 2187 + None, # 2188 + None, # 2189 + None, # 2190 + None, # 2191 + None, # 2192 + None, # 2193 + None, # 2194 + None, # 2195 + None, # 2196 + None, # 2197 + None, # 2198 + None, # 2199 + None, # 2200 + None, # 2201 + None, # 2202 + None, # 2203 + None, # 2204 + None, # 2205 + None, # 2206 + None, # 2207 + None, # 2208 + None, # 2209 + None, # 2210 + None, # 2211 + None, # 2212 + None, # 2213 + None, # 2214 + None, # 2215 + None, # 2216 + None, # 2217 + None, # 2218 + None, # 2219 + None, # 2220 + None, # 2221 + None, # 2222 + None, # 2223 + None, # 2224 + None, # 2225 + None, # 2226 + None, # 2227 + None, # 2228 + None, # 2229 + None, # 2230 + None, # 2231 + None, # 2232 + None, # 2233 + None, # 2234 + None, # 2235 + None, # 2236 + None, # 2237 + None, # 2238 + None, # 2239 + None, # 2240 + None, # 2241 + None, # 2242 + None, # 2243 + None, # 2244 + None, # 2245 + None, # 2246 + None, # 2247 + None, # 2248 + None, # 2249 + None, # 2250 + None, # 2251 + None, # 2252 + None, # 2253 + None, # 2254 + None, # 2255 + None, # 2256 + None, # 2257 + None, # 2258 + None, # 2259 + None, # 2260 + None, # 2261 + None, # 2262 + None, # 2263 + None, # 2264 + None, # 2265 + None, # 2266 + None, # 2267 + None, # 2268 + None, # 2269 + None, # 2270 + None, # 2271 + None, # 2272 + None, # 2273 + None, # 2274 + None, # 2275 + None, # 2276 + None, # 2277 + None, # 2278 + None, # 2279 + None, # 2280 + None, # 2281 + None, # 2282 + None, # 2283 + None, # 2284 + None, # 2285 + None, # 2286 + None, # 2287 + None, # 2288 + None, # 2289 + None, # 2290 + None, # 2291 + None, # 2292 + None, # 2293 + None, # 2294 + None, # 2295 + None, # 2296 + None, # 2297 + None, # 2298 + None, # 2299 + None, # 2300 + None, # 2301 + None, # 2302 + None, # 2303 + None, # 2304 + None, # 2305 + None, # 2306 + None, # 2307 + None, # 2308 + None, # 2309 + None, # 2310 + None, # 2311 + None, # 2312 + None, # 2313 + None, # 2314 + None, # 2315 + None, # 2316 + None, # 2317 + None, # 2318 + None, # 2319 + None, # 2320 + None, # 2321 + None, # 2322 + None, # 2323 + None, # 2324 + None, # 2325 + None, # 2326 + None, # 2327 + None, # 2328 + None, # 2329 + None, # 2330 + None, # 2331 + None, # 2332 + None, # 2333 + None, # 2334 + None, # 2335 + None, # 2336 + None, # 2337 + None, # 2338 + None, # 2339 + None, # 2340 + None, # 2341 + None, # 2342 + None, # 2343 + None, # 2344 + None, # 2345 + None, # 2346 + None, # 2347 + None, # 2348 + None, # 2349 + None, # 2350 + None, # 2351 + None, # 2352 + None, # 2353 + None, # 2354 + None, # 2355 + None, # 2356 + None, # 2357 + None, # 2358 + None, # 2359 + None, # 2360 + None, # 2361 + None, # 2362 + None, # 2363 + None, # 2364 + None, # 2365 + None, # 2366 + None, # 2367 + None, # 2368 + None, # 2369 + None, # 2370 + None, # 2371 + None, # 2372 + None, # 2373 + None, # 2374 + None, # 2375 + None, # 2376 + None, # 2377 + None, # 2378 + None, # 2379 + None, # 2380 + None, # 2381 + None, # 2382 + None, # 2383 + None, # 2384 + None, # 2385 + None, # 2386 + None, # 2387 + None, # 2388 + None, # 2389 + None, # 2390 + None, # 2391 + None, # 2392 + None, # 2393 + None, # 2394 + None, # 2395 + None, # 2396 + None, # 2397 + None, # 2398 + None, # 2399 + None, # 2400 + None, # 2401 + None, # 2402 + None, # 2403 + None, # 2404 + None, # 2405 + None, # 2406 + None, # 2407 + None, # 2408 + None, # 2409 + None, # 2410 + None, # 2411 + None, # 2412 + None, # 2413 + None, # 2414 + None, # 2415 + None, # 2416 + None, # 2417 + None, # 2418 + None, # 2419 + None, # 2420 + None, # 2421 + None, # 2422 + None, # 2423 + None, # 2424 + None, # 2425 + None, # 2426 + None, # 2427 + None, # 2428 + None, # 2429 + None, # 2430 + None, # 2431 + None, # 2432 + None, # 2433 + None, # 2434 + None, # 2435 + None, # 2436 + None, # 2437 + None, # 2438 + None, # 2439 + None, # 2440 + None, # 2441 + None, # 2442 + None, # 2443 + None, # 2444 + None, # 2445 + None, # 2446 + None, # 2447 + None, # 2448 + None, # 2449 + None, # 2450 + None, # 2451 + None, # 2452 + None, # 2453 + None, # 2454 + None, # 2455 + None, # 2456 + None, # 2457 + None, # 2458 + None, # 2459 + None, # 2460 + None, # 2461 + None, # 2462 + None, # 2463 + None, # 2464 + None, # 2465 + None, # 2466 + None, # 2467 + None, # 2468 + None, # 2469 + None, # 2470 + None, # 2471 + None, # 2472 + None, # 2473 + None, # 2474 + None, # 2475 + None, # 2476 + None, # 2477 + None, # 2478 + None, # 2479 + None, # 2480 + None, # 2481 + None, # 2482 + None, # 2483 + None, # 2484 + None, # 2485 + None, # 2486 + None, # 2487 + None, # 2488 + None, # 2489 + None, # 2490 + None, # 2491 + None, # 2492 + None, # 2493 + None, # 2494 + None, # 2495 + None, # 2496 + None, # 2497 + None, # 2498 + None, # 2499 + None, # 2500 + None, # 2501 + None, # 2502 + None, # 2503 + None, # 2504 + None, # 2505 + None, # 2506 + None, # 2507 + None, # 2508 + None, # 2509 + None, # 2510 + None, # 2511 + None, # 2512 + None, # 2513 + None, # 2514 + None, # 2515 + None, # 2516 + None, # 2517 + None, # 2518 + None, # 2519 + None, # 2520 + None, # 2521 + None, # 2522 + None, # 2523 + None, # 2524 + None, # 2525 + None, # 2526 + None, # 2527 + None, # 2528 + None, # 2529 + None, # 2530 + None, # 2531 + None, # 2532 + None, # 2533 + None, # 2534 + None, # 2535 + None, # 2536 + None, # 2537 + None, # 2538 + None, # 2539 + None, # 2540 + None, # 2541 + None, # 2542 + None, # 2543 + None, # 2544 + None, # 2545 + None, # 2546 + None, # 2547 + None, # 2548 + None, # 2549 + None, # 2550 + None, # 2551 + None, # 2552 + None, # 2553 + None, # 2554 + None, # 2555 + None, # 2556 + None, # 2557 + None, # 2558 + None, # 2559 + None, # 2560 + None, # 2561 + None, # 2562 + None, # 2563 + None, # 2564 + None, # 2565 + None, # 2566 + None, # 2567 + None, # 2568 + None, # 2569 + None, # 2570 + None, # 2571 + None, # 2572 + None, # 2573 + None, # 2574 + None, # 2575 + None, # 2576 + None, # 2577 + None, # 2578 + None, # 2579 + None, # 2580 + None, # 2581 + None, # 2582 + None, # 2583 + None, # 2584 + None, # 2585 + None, # 2586 + None, # 2587 + None, # 2588 + None, # 2589 + None, # 2590 + None, # 2591 + None, # 2592 + None, # 2593 + None, # 2594 + None, # 2595 + None, # 2596 + None, # 2597 + None, # 2598 + None, # 2599 + None, # 2600 + None, # 2601 + None, # 2602 + None, # 2603 + None, # 2604 + None, # 2605 + None, # 2606 + None, # 2607 + None, # 2608 + None, # 2609 + None, # 2610 + None, # 2611 + None, # 2612 + None, # 2613 + None, # 2614 + None, # 2615 + None, # 2616 + None, # 2617 + None, # 2618 + None, # 2619 + None, # 2620 + None, # 2621 + None, # 2622 + None, # 2623 + None, # 2624 + None, # 2625 + None, # 2626 + None, # 2627 + None, # 2628 + None, # 2629 + None, # 2630 + None, # 2631 + None, # 2632 + None, # 2633 + None, # 2634 + None, # 2635 + None, # 2636 + None, # 2637 + None, # 2638 + None, # 2639 + None, # 2640 + None, # 2641 + None, # 2642 + None, # 2643 + None, # 2644 + None, # 2645 + None, # 2646 + None, # 2647 + None, # 2648 + None, # 2649 + None, # 2650 + None, # 2651 + None, # 2652 + None, # 2653 + None, # 2654 + None, # 2655 + None, # 2656 + None, # 2657 + None, # 2658 + None, # 2659 + None, # 2660 + None, # 2661 + None, # 2662 + None, # 2663 + None, # 2664 + None, # 2665 + None, # 2666 + None, # 2667 + None, # 2668 + None, # 2669 + None, # 2670 + None, # 2671 + None, # 2672 + None, # 2673 + None, # 2674 + None, # 2675 + None, # 2676 + None, # 2677 + None, # 2678 + None, # 2679 + None, # 2680 + None, # 2681 + None, # 2682 + None, # 2683 + None, # 2684 + None, # 2685 + None, # 2686 + None, # 2687 + None, # 2688 + None, # 2689 + None, # 2690 + None, # 2691 + None, # 2692 + None, # 2693 + None, # 2694 + None, # 2695 + None, # 2696 + None, # 2697 + None, # 2698 + None, # 2699 + None, # 2700 + None, # 2701 + None, # 2702 + None, # 2703 + None, # 2704 + None, # 2705 + None, # 2706 + None, # 2707 + None, # 2708 + None, # 2709 + None, # 2710 + None, # 2711 + None, # 2712 + None, # 2713 + None, # 2714 + None, # 2715 + None, # 2716 + None, # 2717 + None, # 2718 + None, # 2719 + None, # 2720 + None, # 2721 + None, # 2722 + None, # 2723 + None, # 2724 + None, # 2725 + None, # 2726 + None, # 2727 + None, # 2728 + None, # 2729 + None, # 2730 + None, # 2731 + None, # 2732 + None, # 2733 + None, # 2734 + None, # 2735 + None, # 2736 + None, # 2737 + None, # 2738 + None, # 2739 + None, # 2740 + None, # 2741 + None, # 2742 + None, # 2743 + None, # 2744 + None, # 2745 + None, # 2746 + None, # 2747 + None, # 2748 + None, # 2749 + None, # 2750 + None, # 2751 + None, # 2752 + None, # 2753 + None, # 2754 + None, # 2755 + None, # 2756 + None, # 2757 + None, # 2758 + None, # 2759 + None, # 2760 + None, # 2761 + None, # 2762 + None, # 2763 + None, # 2764 + None, # 2765 + None, # 2766 + None, # 2767 + None, # 2768 + None, # 2769 + None, # 2770 + None, # 2771 + None, # 2772 + None, # 2773 + None, # 2774 + None, # 2775 + None, # 2776 + None, # 2777 + None, # 2778 + None, # 2779 + None, # 2780 + None, # 2781 + None, # 2782 + None, # 2783 + None, # 2784 + None, # 2785 + None, # 2786 + None, # 2787 + None, # 2788 + None, # 2789 + None, # 2790 + None, # 2791 + None, # 2792 + None, # 2793 + None, # 2794 + None, # 2795 + None, # 2796 + None, # 2797 + None, # 2798 + None, # 2799 + None, # 2800 + None, # 2801 + None, # 2802 + None, # 2803 + None, # 2804 + None, # 2805 + None, # 2806 + None, # 2807 + None, # 2808 + None, # 2809 + None, # 2810 + None, # 2811 + None, # 2812 + None, # 2813 + None, # 2814 + None, # 2815 + None, # 2816 + None, # 2817 + None, # 2818 + None, # 2819 + None, # 2820 + None, # 2821 + None, # 2822 + None, # 2823 + None, # 2824 + None, # 2825 + None, # 2826 + None, # 2827 + None, # 2828 + None, # 2829 + None, # 2830 + None, # 2831 + None, # 2832 + None, # 2833 + None, # 2834 + None, # 2835 + None, # 2836 + None, # 2837 + None, # 2838 + None, # 2839 + None, # 2840 + None, # 2841 + None, # 2842 + None, # 2843 + None, # 2844 + None, # 2845 + None, # 2846 + None, # 2847 + None, # 2848 + None, # 2849 + None, # 2850 + None, # 2851 + None, # 2852 + None, # 2853 + None, # 2854 + None, # 2855 + None, # 2856 + None, # 2857 + None, # 2858 + None, # 2859 + None, # 2860 + None, # 2861 + None, # 2862 + None, # 2863 + None, # 2864 + None, # 2865 + None, # 2866 + None, # 2867 + None, # 2868 + None, # 2869 + None, # 2870 + None, # 2871 + None, # 2872 + None, # 2873 + None, # 2874 + None, # 2875 + None, # 2876 + None, # 2877 + None, # 2878 + None, # 2879 + None, # 2880 + None, # 2881 + None, # 2882 + None, # 2883 + None, # 2884 + None, # 2885 + None, # 2886 + None, # 2887 + None, # 2888 + None, # 2889 + None, # 2890 + None, # 2891 + None, # 2892 + None, # 2893 + None, # 2894 + None, # 2895 + None, # 2896 + None, # 2897 + None, # 2898 + None, # 2899 + None, # 2900 + None, # 2901 + None, # 2902 + None, # 2903 + None, # 2904 + None, # 2905 + None, # 2906 + None, # 2907 + None, # 2908 + None, # 2909 + None, # 2910 + None, # 2911 + None, # 2912 + None, # 2913 + None, # 2914 + None, # 2915 + None, # 2916 + None, # 2917 + None, # 2918 + None, # 2919 + None, # 2920 + None, # 2921 + None, # 2922 + None, # 2923 + None, # 2924 + None, # 2925 + None, # 2926 + None, # 2927 + None, # 2928 + None, # 2929 + None, # 2930 + None, # 2931 + None, # 2932 + None, # 2933 + None, # 2934 + None, # 2935 + None, # 2936 + None, # 2937 + None, # 2938 + None, # 2939 + None, # 2940 + None, # 2941 + None, # 2942 + None, # 2943 + None, # 2944 + None, # 2945 + None, # 2946 + None, # 2947 + None, # 2948 + None, # 2949 + None, # 2950 + None, # 2951 + None, # 2952 + None, # 2953 + None, # 2954 + None, # 2955 + None, # 2956 + None, # 2957 + None, # 2958 + None, # 2959 + None, # 2960 + None, # 2961 + None, # 2962 + None, # 2963 + None, # 2964 + None, # 2965 + None, # 2966 + None, # 2967 + None, # 2968 + None, # 2969 + None, # 2970 + None, # 2971 + None, # 2972 + None, # 2973 + None, # 2974 + None, # 2975 + None, # 2976 + None, # 2977 + None, # 2978 + None, # 2979 + None, # 2980 + None, # 2981 + None, # 2982 + None, # 2983 + None, # 2984 + None, # 2985 + None, # 2986 + None, # 2987 + None, # 2988 + None, # 2989 + None, # 2990 + None, # 2991 + None, # 2992 + None, # 2993 + None, # 2994 + None, # 2995 + None, # 2996 + None, # 2997 + None, # 2998 + None, # 2999 + None, # 3000 + None, # 3001 + None, # 3002 + None, # 3003 + None, # 3004 + None, # 3005 + None, # 3006 + None, # 3007 + None, # 3008 + None, # 3009 + None, # 3010 + None, # 3011 + None, # 3012 + None, # 3013 + None, # 3014 + None, # 3015 + None, # 3016 + None, # 3017 + None, # 3018 + None, # 3019 + None, # 3020 + None, # 3021 + None, # 3022 + None, # 3023 + None, # 3024 + None, # 3025 + None, # 3026 + None, # 3027 + None, # 3028 + None, # 3029 + None, # 3030 + None, # 3031 + None, # 3032 + None, # 3033 + None, # 3034 + None, # 3035 + None, # 3036 + None, # 3037 + None, # 3038 + None, # 3039 + None, # 3040 + None, # 3041 + None, # 3042 + None, # 3043 + None, # 3044 + None, # 3045 + None, # 3046 + None, # 3047 + None, # 3048 + None, # 3049 + None, # 3050 + None, # 3051 + None, # 3052 + None, # 3053 + None, # 3054 + None, # 3055 + None, # 3056 + None, # 3057 + None, # 3058 + None, # 3059 + None, # 3060 + None, # 3061 + None, # 3062 + None, # 3063 + None, # 3064 + None, # 3065 + None, # 3066 + None, # 3067 + None, # 3068 + None, # 3069 + None, # 3070 + None, # 3071 + None, # 3072 + None, # 3073 + None, # 3074 + None, # 3075 + None, # 3076 + None, # 3077 + None, # 3078 + None, # 3079 + None, # 3080 + None, # 3081 + None, # 3082 + None, # 3083 + None, # 3084 + None, # 3085 + None, # 3086 + None, # 3087 + None, # 3088 + None, # 3089 + None, # 3090 + None, # 3091 + None, # 3092 + None, # 3093 + None, # 3094 + None, # 3095 + None, # 3096 + None, # 3097 + None, # 3098 + None, # 3099 + None, # 3100 + None, # 3101 + None, # 3102 + None, # 3103 + None, # 3104 + None, # 3105 + None, # 3106 + None, # 3107 + None, # 3108 + None, # 3109 + None, # 3110 + None, # 3111 + None, # 3112 + None, # 3113 + None, # 3114 + None, # 3115 + None, # 3116 + None, # 3117 + None, # 3118 + None, # 3119 + None, # 3120 + None, # 3121 + None, # 3122 + None, # 3123 + None, # 3124 + None, # 3125 + None, # 3126 + None, # 3127 + None, # 3128 + None, # 3129 + None, # 3130 + None, # 3131 + None, # 3132 + None, # 3133 + None, # 3134 + None, # 3135 + None, # 3136 + None, # 3137 + None, # 3138 + None, # 3139 + None, # 3140 + None, # 3141 + None, # 3142 + None, # 3143 + None, # 3144 + None, # 3145 + None, # 3146 + None, # 3147 + None, # 3148 + None, # 3149 + None, # 3150 + None, # 3151 + None, # 3152 + None, # 3153 + None, # 3154 + None, # 3155 + None, # 3156 + None, # 3157 + None, # 3158 + None, # 3159 + None, # 3160 + None, # 3161 + None, # 3162 + None, # 3163 + None, # 3164 + None, # 3165 + None, # 3166 + None, # 3167 + None, # 3168 + None, # 3169 + None, # 3170 + None, # 3171 + None, # 3172 + None, # 3173 + None, # 3174 + None, # 3175 + None, # 3176 + None, # 3177 + None, # 3178 + None, # 3179 + None, # 3180 + None, # 3181 + None, # 3182 + None, # 3183 + None, # 3184 + None, # 3185 + None, # 3186 + None, # 3187 + None, # 3188 + None, # 3189 + None, # 3190 + None, # 3191 + None, # 3192 + None, # 3193 + None, # 3194 + None, # 3195 + None, # 3196 + None, # 3197 + None, # 3198 + None, # 3199 + None, # 3200 + None, # 3201 + None, # 3202 + None, # 3203 + None, # 3204 + None, # 3205 + None, # 3206 + None, # 3207 + None, # 3208 + None, # 3209 + None, # 3210 + None, # 3211 + None, # 3212 + None, # 3213 + None, # 3214 + None, # 3215 + None, # 3216 + None, # 3217 + None, # 3218 + None, # 3219 + None, # 3220 + None, # 3221 + None, # 3222 + None, # 3223 + None, # 3224 + None, # 3225 + None, # 3226 + None, # 3227 + None, # 3228 + None, # 3229 + None, # 3230 + None, # 3231 + None, # 3232 + None, # 3233 + None, # 3234 + None, # 3235 + None, # 3236 + None, # 3237 + None, # 3238 + None, # 3239 + None, # 3240 + None, # 3241 + None, # 3242 + None, # 3243 + None, # 3244 + None, # 3245 + None, # 3246 + None, # 3247 + None, # 3248 + None, # 3249 + None, # 3250 + None, # 3251 + None, # 3252 + None, # 3253 + None, # 3254 + None, # 3255 + None, # 3256 + None, # 3257 + None, # 3258 + None, # 3259 + None, # 3260 + None, # 3261 + None, # 3262 + None, # 3263 + None, # 3264 + None, # 3265 + None, # 3266 + None, # 3267 + None, # 3268 + None, # 3269 + None, # 3270 + None, # 3271 + None, # 3272 + None, # 3273 + None, # 3274 + None, # 3275 + None, # 3276 + None, # 3277 + None, # 3278 + None, # 3279 + None, # 3280 + None, # 3281 + None, # 3282 + None, # 3283 + None, # 3284 + None, # 3285 + None, # 3286 + None, # 3287 + None, # 3288 + None, # 3289 + None, # 3290 + None, # 3291 + None, # 3292 + None, # 3293 + None, # 3294 + None, # 3295 + None, # 3296 + None, # 3297 + None, # 3298 + None, # 3299 + None, # 3300 + None, # 3301 + None, # 3302 + None, # 3303 + None, # 3304 + None, # 3305 + None, # 3306 + None, # 3307 + None, # 3308 + None, # 3309 + None, # 3310 + None, # 3311 + None, # 3312 + None, # 3313 + None, # 3314 + None, # 3315 + None, # 3316 + None, # 3317 + None, # 3318 + None, # 3319 + None, # 3320 + None, # 3321 + None, # 3322 + None, # 3323 + None, # 3324 + None, # 3325 + None, # 3326 + None, # 3327 + None, # 3328 + (3329, TType.STRING, 'responseValidation', 'BINARY', None, ), # 3329 ) all_structs.append(TGetDelegationTokenReq) TGetDelegationTokenReq.thrift_spec = ( - None, # 0 - ( - 1, - TType.STRUCT, - "sessionHandle", - [TSessionHandle, None], - None, - ), # 1 - ( - 2, - TType.STRING, - "owner", - "UTF8", - None, - ), # 2 - ( - 3, - TType.STRING, - "renewer", - "UTF8", - None, - ), # 3 - None, # 4 - None, # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - None, # 1281 - None, # 1282 - None, # 1283 - None, # 1284 - None, # 1285 - None, # 1286 - None, # 1287 - None, # 1288 - None, # 1289 - None, # 1290 - None, # 1291 - None, # 1292 - None, # 1293 - None, # 1294 - None, # 1295 - None, # 1296 - None, # 1297 - None, # 1298 - None, # 1299 - None, # 1300 - None, # 1301 - None, # 1302 - None, # 1303 - None, # 1304 - None, # 1305 - None, # 1306 - None, # 1307 - None, # 1308 - None, # 1309 - None, # 1310 - None, # 1311 - None, # 1312 - None, # 1313 - None, # 1314 - None, # 1315 - None, # 1316 - None, # 1317 - None, # 1318 - None, # 1319 - None, # 1320 - None, # 1321 - None, # 1322 - None, # 1323 - None, # 1324 - None, # 1325 - None, # 1326 - None, # 1327 - None, # 1328 - None, # 1329 - None, # 1330 - None, # 1331 - None, # 1332 - None, # 1333 - None, # 1334 - None, # 1335 - None, # 1336 - None, # 1337 - None, # 1338 - None, # 1339 - None, # 1340 - None, # 1341 - None, # 1342 - None, # 1343 - None, # 1344 - None, # 1345 - None, # 1346 - None, # 1347 - None, # 1348 - None, # 1349 - None, # 1350 - None, # 1351 - None, # 1352 - None, # 1353 - None, # 1354 - None, # 1355 - None, # 1356 - None, # 1357 - None, # 1358 - None, # 1359 - None, # 1360 - None, # 1361 - None, # 1362 - None, # 1363 - None, # 1364 - None, # 1365 - None, # 1366 - None, # 1367 - None, # 1368 - None, # 1369 - None, # 1370 - None, # 1371 - None, # 1372 - None, # 1373 - None, # 1374 - None, # 1375 - None, # 1376 - None, # 1377 - None, # 1378 - None, # 1379 - None, # 1380 - None, # 1381 - None, # 1382 - None, # 1383 - None, # 1384 - None, # 1385 - None, # 1386 - None, # 1387 - None, # 1388 - None, # 1389 - None, # 1390 - None, # 1391 - None, # 1392 - None, # 1393 - None, # 1394 - None, # 1395 - None, # 1396 - None, # 1397 - None, # 1398 - None, # 1399 - None, # 1400 - None, # 1401 - None, # 1402 - None, # 1403 - None, # 1404 - None, # 1405 - None, # 1406 - None, # 1407 - None, # 1408 - None, # 1409 - None, # 1410 - None, # 1411 - None, # 1412 - None, # 1413 - None, # 1414 - None, # 1415 - None, # 1416 - None, # 1417 - None, # 1418 - None, # 1419 - None, # 1420 - None, # 1421 - None, # 1422 - None, # 1423 - None, # 1424 - None, # 1425 - None, # 1426 - None, # 1427 - None, # 1428 - None, # 1429 - None, # 1430 - None, # 1431 - None, # 1432 - None, # 1433 - None, # 1434 - None, # 1435 - None, # 1436 - None, # 1437 - None, # 1438 - None, # 1439 - None, # 1440 - None, # 1441 - None, # 1442 - None, # 1443 - None, # 1444 - None, # 1445 - None, # 1446 - None, # 1447 - None, # 1448 - None, # 1449 - None, # 1450 - None, # 1451 - None, # 1452 - None, # 1453 - None, # 1454 - None, # 1455 - None, # 1456 - None, # 1457 - None, # 1458 - None, # 1459 - None, # 1460 - None, # 1461 - None, # 1462 - None, # 1463 - None, # 1464 - None, # 1465 - None, # 1466 - None, # 1467 - None, # 1468 - None, # 1469 - None, # 1470 - None, # 1471 - None, # 1472 - None, # 1473 - None, # 1474 - None, # 1475 - None, # 1476 - None, # 1477 - None, # 1478 - None, # 1479 - None, # 1480 - None, # 1481 - None, # 1482 - None, # 1483 - None, # 1484 - None, # 1485 - None, # 1486 - None, # 1487 - None, # 1488 - None, # 1489 - None, # 1490 - None, # 1491 - None, # 1492 - None, # 1493 - None, # 1494 - None, # 1495 - None, # 1496 - None, # 1497 - None, # 1498 - None, # 1499 - None, # 1500 - None, # 1501 - None, # 1502 - None, # 1503 - None, # 1504 - None, # 1505 - None, # 1506 - None, # 1507 - None, # 1508 - None, # 1509 - None, # 1510 - None, # 1511 - None, # 1512 - None, # 1513 - None, # 1514 - None, # 1515 - None, # 1516 - None, # 1517 - None, # 1518 - None, # 1519 - None, # 1520 - None, # 1521 - None, # 1522 - None, # 1523 - None, # 1524 - None, # 1525 - None, # 1526 - None, # 1527 - None, # 1528 - None, # 1529 - None, # 1530 - None, # 1531 - None, # 1532 - None, # 1533 - None, # 1534 - None, # 1535 - None, # 1536 - None, # 1537 - None, # 1538 - None, # 1539 - None, # 1540 - None, # 1541 - None, # 1542 - None, # 1543 - None, # 1544 - None, # 1545 - None, # 1546 - None, # 1547 - None, # 1548 - None, # 1549 - None, # 1550 - None, # 1551 - None, # 1552 - None, # 1553 - None, # 1554 - None, # 1555 - None, # 1556 - None, # 1557 - None, # 1558 - None, # 1559 - None, # 1560 - None, # 1561 - None, # 1562 - None, # 1563 - None, # 1564 - None, # 1565 - None, # 1566 - None, # 1567 - None, # 1568 - None, # 1569 - None, # 1570 - None, # 1571 - None, # 1572 - None, # 1573 - None, # 1574 - None, # 1575 - None, # 1576 - None, # 1577 - None, # 1578 - None, # 1579 - None, # 1580 - None, # 1581 - None, # 1582 - None, # 1583 - None, # 1584 - None, # 1585 - None, # 1586 - None, # 1587 - None, # 1588 - None, # 1589 - None, # 1590 - None, # 1591 - None, # 1592 - None, # 1593 - None, # 1594 - None, # 1595 - None, # 1596 - None, # 1597 - None, # 1598 - None, # 1599 - None, # 1600 - None, # 1601 - None, # 1602 - None, # 1603 - None, # 1604 - None, # 1605 - None, # 1606 - None, # 1607 - None, # 1608 - None, # 1609 - None, # 1610 - None, # 1611 - None, # 1612 - None, # 1613 - None, # 1614 - None, # 1615 - None, # 1616 - None, # 1617 - None, # 1618 - None, # 1619 - None, # 1620 - None, # 1621 - None, # 1622 - None, # 1623 - None, # 1624 - None, # 1625 - None, # 1626 - None, # 1627 - None, # 1628 - None, # 1629 - None, # 1630 - None, # 1631 - None, # 1632 - None, # 1633 - None, # 1634 - None, # 1635 - None, # 1636 - None, # 1637 - None, # 1638 - None, # 1639 - None, # 1640 - None, # 1641 - None, # 1642 - None, # 1643 - None, # 1644 - None, # 1645 - None, # 1646 - None, # 1647 - None, # 1648 - None, # 1649 - None, # 1650 - None, # 1651 - None, # 1652 - None, # 1653 - None, # 1654 - None, # 1655 - None, # 1656 - None, # 1657 - None, # 1658 - None, # 1659 - None, # 1660 - None, # 1661 - None, # 1662 - None, # 1663 - None, # 1664 - None, # 1665 - None, # 1666 - None, # 1667 - None, # 1668 - None, # 1669 - None, # 1670 - None, # 1671 - None, # 1672 - None, # 1673 - None, # 1674 - None, # 1675 - None, # 1676 - None, # 1677 - None, # 1678 - None, # 1679 - None, # 1680 - None, # 1681 - None, # 1682 - None, # 1683 - None, # 1684 - None, # 1685 - None, # 1686 - None, # 1687 - None, # 1688 - None, # 1689 - None, # 1690 - None, # 1691 - None, # 1692 - None, # 1693 - None, # 1694 - None, # 1695 - None, # 1696 - None, # 1697 - None, # 1698 - None, # 1699 - None, # 1700 - None, # 1701 - None, # 1702 - None, # 1703 - None, # 1704 - None, # 1705 - None, # 1706 - None, # 1707 - None, # 1708 - None, # 1709 - None, # 1710 - None, # 1711 - None, # 1712 - None, # 1713 - None, # 1714 - None, # 1715 - None, # 1716 - None, # 1717 - None, # 1718 - None, # 1719 - None, # 1720 - None, # 1721 - None, # 1722 - None, # 1723 - None, # 1724 - None, # 1725 - None, # 1726 - None, # 1727 - None, # 1728 - None, # 1729 - None, # 1730 - None, # 1731 - None, # 1732 - None, # 1733 - None, # 1734 - None, # 1735 - None, # 1736 - None, # 1737 - None, # 1738 - None, # 1739 - None, # 1740 - None, # 1741 - None, # 1742 - None, # 1743 - None, # 1744 - None, # 1745 - None, # 1746 - None, # 1747 - None, # 1748 - None, # 1749 - None, # 1750 - None, # 1751 - None, # 1752 - None, # 1753 - None, # 1754 - None, # 1755 - None, # 1756 - None, # 1757 - None, # 1758 - None, # 1759 - None, # 1760 - None, # 1761 - None, # 1762 - None, # 1763 - None, # 1764 - None, # 1765 - None, # 1766 - None, # 1767 - None, # 1768 - None, # 1769 - None, # 1770 - None, # 1771 - None, # 1772 - None, # 1773 - None, # 1774 - None, # 1775 - None, # 1776 - None, # 1777 - None, # 1778 - None, # 1779 - None, # 1780 - None, # 1781 - None, # 1782 - None, # 1783 - None, # 1784 - None, # 1785 - None, # 1786 - None, # 1787 - None, # 1788 - None, # 1789 - None, # 1790 - None, # 1791 - None, # 1792 - None, # 1793 - None, # 1794 - None, # 1795 - None, # 1796 - None, # 1797 - None, # 1798 - None, # 1799 - None, # 1800 - None, # 1801 - None, # 1802 - None, # 1803 - None, # 1804 - None, # 1805 - None, # 1806 - None, # 1807 - None, # 1808 - None, # 1809 - None, # 1810 - None, # 1811 - None, # 1812 - None, # 1813 - None, # 1814 - None, # 1815 - None, # 1816 - None, # 1817 - None, # 1818 - None, # 1819 - None, # 1820 - None, # 1821 - None, # 1822 - None, # 1823 - None, # 1824 - None, # 1825 - None, # 1826 - None, # 1827 - None, # 1828 - None, # 1829 - None, # 1830 - None, # 1831 - None, # 1832 - None, # 1833 - None, # 1834 - None, # 1835 - None, # 1836 - None, # 1837 - None, # 1838 - None, # 1839 - None, # 1840 - None, # 1841 - None, # 1842 - None, # 1843 - None, # 1844 - None, # 1845 - None, # 1846 - None, # 1847 - None, # 1848 - None, # 1849 - None, # 1850 - None, # 1851 - None, # 1852 - None, # 1853 - None, # 1854 - None, # 1855 - None, # 1856 - None, # 1857 - None, # 1858 - None, # 1859 - None, # 1860 - None, # 1861 - None, # 1862 - None, # 1863 - None, # 1864 - None, # 1865 - None, # 1866 - None, # 1867 - None, # 1868 - None, # 1869 - None, # 1870 - None, # 1871 - None, # 1872 - None, # 1873 - None, # 1874 - None, # 1875 - None, # 1876 - None, # 1877 - None, # 1878 - None, # 1879 - None, # 1880 - None, # 1881 - None, # 1882 - None, # 1883 - None, # 1884 - None, # 1885 - None, # 1886 - None, # 1887 - None, # 1888 - None, # 1889 - None, # 1890 - None, # 1891 - None, # 1892 - None, # 1893 - None, # 1894 - None, # 1895 - None, # 1896 - None, # 1897 - None, # 1898 - None, # 1899 - None, # 1900 - None, # 1901 - None, # 1902 - None, # 1903 - None, # 1904 - None, # 1905 - None, # 1906 - None, # 1907 - None, # 1908 - None, # 1909 - None, # 1910 - None, # 1911 - None, # 1912 - None, # 1913 - None, # 1914 - None, # 1915 - None, # 1916 - None, # 1917 - None, # 1918 - None, # 1919 - None, # 1920 - None, # 1921 - None, # 1922 - None, # 1923 - None, # 1924 - None, # 1925 - None, # 1926 - None, # 1927 - None, # 1928 - None, # 1929 - None, # 1930 - None, # 1931 - None, # 1932 - None, # 1933 - None, # 1934 - None, # 1935 - None, # 1936 - None, # 1937 - None, # 1938 - None, # 1939 - None, # 1940 - None, # 1941 - None, # 1942 - None, # 1943 - None, # 1944 - None, # 1945 - None, # 1946 - None, # 1947 - None, # 1948 - None, # 1949 - None, # 1950 - None, # 1951 - None, # 1952 - None, # 1953 - None, # 1954 - None, # 1955 - None, # 1956 - None, # 1957 - None, # 1958 - None, # 1959 - None, # 1960 - None, # 1961 - None, # 1962 - None, # 1963 - None, # 1964 - None, # 1965 - None, # 1966 - None, # 1967 - None, # 1968 - None, # 1969 - None, # 1970 - None, # 1971 - None, # 1972 - None, # 1973 - None, # 1974 - None, # 1975 - None, # 1976 - None, # 1977 - None, # 1978 - None, # 1979 - None, # 1980 - None, # 1981 - None, # 1982 - None, # 1983 - None, # 1984 - None, # 1985 - None, # 1986 - None, # 1987 - None, # 1988 - None, # 1989 - None, # 1990 - None, # 1991 - None, # 1992 - None, # 1993 - None, # 1994 - None, # 1995 - None, # 1996 - None, # 1997 - None, # 1998 - None, # 1999 - None, # 2000 - None, # 2001 - None, # 2002 - None, # 2003 - None, # 2004 - None, # 2005 - None, # 2006 - None, # 2007 - None, # 2008 - None, # 2009 - None, # 2010 - None, # 2011 - None, # 2012 - None, # 2013 - None, # 2014 - None, # 2015 - None, # 2016 - None, # 2017 - None, # 2018 - None, # 2019 - None, # 2020 - None, # 2021 - None, # 2022 - None, # 2023 - None, # 2024 - None, # 2025 - None, # 2026 - None, # 2027 - None, # 2028 - None, # 2029 - None, # 2030 - None, # 2031 - None, # 2032 - None, # 2033 - None, # 2034 - None, # 2035 - None, # 2036 - None, # 2037 - None, # 2038 - None, # 2039 - None, # 2040 - None, # 2041 - None, # 2042 - None, # 2043 - None, # 2044 - None, # 2045 - None, # 2046 - None, # 2047 - None, # 2048 - None, # 2049 - None, # 2050 - None, # 2051 - None, # 2052 - None, # 2053 - None, # 2054 - None, # 2055 - None, # 2056 - None, # 2057 - None, # 2058 - None, # 2059 - None, # 2060 - None, # 2061 - None, # 2062 - None, # 2063 - None, # 2064 - None, # 2065 - None, # 2066 - None, # 2067 - None, # 2068 - None, # 2069 - None, # 2070 - None, # 2071 - None, # 2072 - None, # 2073 - None, # 2074 - None, # 2075 - None, # 2076 - None, # 2077 - None, # 2078 - None, # 2079 - None, # 2080 - None, # 2081 - None, # 2082 - None, # 2083 - None, # 2084 - None, # 2085 - None, # 2086 - None, # 2087 - None, # 2088 - None, # 2089 - None, # 2090 - None, # 2091 - None, # 2092 - None, # 2093 - None, # 2094 - None, # 2095 - None, # 2096 - None, # 2097 - None, # 2098 - None, # 2099 - None, # 2100 - None, # 2101 - None, # 2102 - None, # 2103 - None, # 2104 - None, # 2105 - None, # 2106 - None, # 2107 - None, # 2108 - None, # 2109 - None, # 2110 - None, # 2111 - None, # 2112 - None, # 2113 - None, # 2114 - None, # 2115 - None, # 2116 - None, # 2117 - None, # 2118 - None, # 2119 - None, # 2120 - None, # 2121 - None, # 2122 - None, # 2123 - None, # 2124 - None, # 2125 - None, # 2126 - None, # 2127 - None, # 2128 - None, # 2129 - None, # 2130 - None, # 2131 - None, # 2132 - None, # 2133 - None, # 2134 - None, # 2135 - None, # 2136 - None, # 2137 - None, # 2138 - None, # 2139 - None, # 2140 - None, # 2141 - None, # 2142 - None, # 2143 - None, # 2144 - None, # 2145 - None, # 2146 - None, # 2147 - None, # 2148 - None, # 2149 - None, # 2150 - None, # 2151 - None, # 2152 - None, # 2153 - None, # 2154 - None, # 2155 - None, # 2156 - None, # 2157 - None, # 2158 - None, # 2159 - None, # 2160 - None, # 2161 - None, # 2162 - None, # 2163 - None, # 2164 - None, # 2165 - None, # 2166 - None, # 2167 - None, # 2168 - None, # 2169 - None, # 2170 - None, # 2171 - None, # 2172 - None, # 2173 - None, # 2174 - None, # 2175 - None, # 2176 - None, # 2177 - None, # 2178 - None, # 2179 - None, # 2180 - None, # 2181 - None, # 2182 - None, # 2183 - None, # 2184 - None, # 2185 - None, # 2186 - None, # 2187 - None, # 2188 - None, # 2189 - None, # 2190 - None, # 2191 - None, # 2192 - None, # 2193 - None, # 2194 - None, # 2195 - None, # 2196 - None, # 2197 - None, # 2198 - None, # 2199 - None, # 2200 - None, # 2201 - None, # 2202 - None, # 2203 - None, # 2204 - None, # 2205 - None, # 2206 - None, # 2207 - None, # 2208 - None, # 2209 - None, # 2210 - None, # 2211 - None, # 2212 - None, # 2213 - None, # 2214 - None, # 2215 - None, # 2216 - None, # 2217 - None, # 2218 - None, # 2219 - None, # 2220 - None, # 2221 - None, # 2222 - None, # 2223 - None, # 2224 - None, # 2225 - None, # 2226 - None, # 2227 - None, # 2228 - None, # 2229 - None, # 2230 - None, # 2231 - None, # 2232 - None, # 2233 - None, # 2234 - None, # 2235 - None, # 2236 - None, # 2237 - None, # 2238 - None, # 2239 - None, # 2240 - None, # 2241 - None, # 2242 - None, # 2243 - None, # 2244 - None, # 2245 - None, # 2246 - None, # 2247 - None, # 2248 - None, # 2249 - None, # 2250 - None, # 2251 - None, # 2252 - None, # 2253 - None, # 2254 - None, # 2255 - None, # 2256 - None, # 2257 - None, # 2258 - None, # 2259 - None, # 2260 - None, # 2261 - None, # 2262 - None, # 2263 - None, # 2264 - None, # 2265 - None, # 2266 - None, # 2267 - None, # 2268 - None, # 2269 - None, # 2270 - None, # 2271 - None, # 2272 - None, # 2273 - None, # 2274 - None, # 2275 - None, # 2276 - None, # 2277 - None, # 2278 - None, # 2279 - None, # 2280 - None, # 2281 - None, # 2282 - None, # 2283 - None, # 2284 - None, # 2285 - None, # 2286 - None, # 2287 - None, # 2288 - None, # 2289 - None, # 2290 - None, # 2291 - None, # 2292 - None, # 2293 - None, # 2294 - None, # 2295 - None, # 2296 - None, # 2297 - None, # 2298 - None, # 2299 - None, # 2300 - None, # 2301 - None, # 2302 - None, # 2303 - None, # 2304 - None, # 2305 - None, # 2306 - None, # 2307 - None, # 2308 - None, # 2309 - None, # 2310 - None, # 2311 - None, # 2312 - None, # 2313 - None, # 2314 - None, # 2315 - None, # 2316 - None, # 2317 - None, # 2318 - None, # 2319 - None, # 2320 - None, # 2321 - None, # 2322 - None, # 2323 - None, # 2324 - None, # 2325 - None, # 2326 - None, # 2327 - None, # 2328 - None, # 2329 - None, # 2330 - None, # 2331 - None, # 2332 - None, # 2333 - None, # 2334 - None, # 2335 - None, # 2336 - None, # 2337 - None, # 2338 - None, # 2339 - None, # 2340 - None, # 2341 - None, # 2342 - None, # 2343 - None, # 2344 - None, # 2345 - None, # 2346 - None, # 2347 - None, # 2348 - None, # 2349 - None, # 2350 - None, # 2351 - None, # 2352 - None, # 2353 - None, # 2354 - None, # 2355 - None, # 2356 - None, # 2357 - None, # 2358 - None, # 2359 - None, # 2360 - None, # 2361 - None, # 2362 - None, # 2363 - None, # 2364 - None, # 2365 - None, # 2366 - None, # 2367 - None, # 2368 - None, # 2369 - None, # 2370 - None, # 2371 - None, # 2372 - None, # 2373 - None, # 2374 - None, # 2375 - None, # 2376 - None, # 2377 - None, # 2378 - None, # 2379 - None, # 2380 - None, # 2381 - None, # 2382 - None, # 2383 - None, # 2384 - None, # 2385 - None, # 2386 - None, # 2387 - None, # 2388 - None, # 2389 - None, # 2390 - None, # 2391 - None, # 2392 - None, # 2393 - None, # 2394 - None, # 2395 - None, # 2396 - None, # 2397 - None, # 2398 - None, # 2399 - None, # 2400 - None, # 2401 - None, # 2402 - None, # 2403 - None, # 2404 - None, # 2405 - None, # 2406 - None, # 2407 - None, # 2408 - None, # 2409 - None, # 2410 - None, # 2411 - None, # 2412 - None, # 2413 - None, # 2414 - None, # 2415 - None, # 2416 - None, # 2417 - None, # 2418 - None, # 2419 - None, # 2420 - None, # 2421 - None, # 2422 - None, # 2423 - None, # 2424 - None, # 2425 - None, # 2426 - None, # 2427 - None, # 2428 - None, # 2429 - None, # 2430 - None, # 2431 - None, # 2432 - None, # 2433 - None, # 2434 - None, # 2435 - None, # 2436 - None, # 2437 - None, # 2438 - None, # 2439 - None, # 2440 - None, # 2441 - None, # 2442 - None, # 2443 - None, # 2444 - None, # 2445 - None, # 2446 - None, # 2447 - None, # 2448 - None, # 2449 - None, # 2450 - None, # 2451 - None, # 2452 - None, # 2453 - None, # 2454 - None, # 2455 - None, # 2456 - None, # 2457 - None, # 2458 - None, # 2459 - None, # 2460 - None, # 2461 - None, # 2462 - None, # 2463 - None, # 2464 - None, # 2465 - None, # 2466 - None, # 2467 - None, # 2468 - None, # 2469 - None, # 2470 - None, # 2471 - None, # 2472 - None, # 2473 - None, # 2474 - None, # 2475 - None, # 2476 - None, # 2477 - None, # 2478 - None, # 2479 - None, # 2480 - None, # 2481 - None, # 2482 - None, # 2483 - None, # 2484 - None, # 2485 - None, # 2486 - None, # 2487 - None, # 2488 - None, # 2489 - None, # 2490 - None, # 2491 - None, # 2492 - None, # 2493 - None, # 2494 - None, # 2495 - None, # 2496 - None, # 2497 - None, # 2498 - None, # 2499 - None, # 2500 - None, # 2501 - None, # 2502 - None, # 2503 - None, # 2504 - None, # 2505 - None, # 2506 - None, # 2507 - None, # 2508 - None, # 2509 - None, # 2510 - None, # 2511 - None, # 2512 - None, # 2513 - None, # 2514 - None, # 2515 - None, # 2516 - None, # 2517 - None, # 2518 - None, # 2519 - None, # 2520 - None, # 2521 - None, # 2522 - None, # 2523 - None, # 2524 - None, # 2525 - None, # 2526 - None, # 2527 - None, # 2528 - None, # 2529 - None, # 2530 - None, # 2531 - None, # 2532 - None, # 2533 - None, # 2534 - None, # 2535 - None, # 2536 - None, # 2537 - None, # 2538 - None, # 2539 - None, # 2540 - None, # 2541 - None, # 2542 - None, # 2543 - None, # 2544 - None, # 2545 - None, # 2546 - None, # 2547 - None, # 2548 - None, # 2549 - None, # 2550 - None, # 2551 - None, # 2552 - None, # 2553 - None, # 2554 - None, # 2555 - None, # 2556 - None, # 2557 - None, # 2558 - None, # 2559 - None, # 2560 - None, # 2561 - None, # 2562 - None, # 2563 - None, # 2564 - None, # 2565 - None, # 2566 - None, # 2567 - None, # 2568 - None, # 2569 - None, # 2570 - None, # 2571 - None, # 2572 - None, # 2573 - None, # 2574 - None, # 2575 - None, # 2576 - None, # 2577 - None, # 2578 - None, # 2579 - None, # 2580 - None, # 2581 - None, # 2582 - None, # 2583 - None, # 2584 - None, # 2585 - None, # 2586 - None, # 2587 - None, # 2588 - None, # 2589 - None, # 2590 - None, # 2591 - None, # 2592 - None, # 2593 - None, # 2594 - None, # 2595 - None, # 2596 - None, # 2597 - None, # 2598 - None, # 2599 - None, # 2600 - None, # 2601 - None, # 2602 - None, # 2603 - None, # 2604 - None, # 2605 - None, # 2606 - None, # 2607 - None, # 2608 - None, # 2609 - None, # 2610 - None, # 2611 - None, # 2612 - None, # 2613 - None, # 2614 - None, # 2615 - None, # 2616 - None, # 2617 - None, # 2618 - None, # 2619 - None, # 2620 - None, # 2621 - None, # 2622 - None, # 2623 - None, # 2624 - None, # 2625 - None, # 2626 - None, # 2627 - None, # 2628 - None, # 2629 - None, # 2630 - None, # 2631 - None, # 2632 - None, # 2633 - None, # 2634 - None, # 2635 - None, # 2636 - None, # 2637 - None, # 2638 - None, # 2639 - None, # 2640 - None, # 2641 - None, # 2642 - None, # 2643 - None, # 2644 - None, # 2645 - None, # 2646 - None, # 2647 - None, # 2648 - None, # 2649 - None, # 2650 - None, # 2651 - None, # 2652 - None, # 2653 - None, # 2654 - None, # 2655 - None, # 2656 - None, # 2657 - None, # 2658 - None, # 2659 - None, # 2660 - None, # 2661 - None, # 2662 - None, # 2663 - None, # 2664 - None, # 2665 - None, # 2666 - None, # 2667 - None, # 2668 - None, # 2669 - None, # 2670 - None, # 2671 - None, # 2672 - None, # 2673 - None, # 2674 - None, # 2675 - None, # 2676 - None, # 2677 - None, # 2678 - None, # 2679 - None, # 2680 - None, # 2681 - None, # 2682 - None, # 2683 - None, # 2684 - None, # 2685 - None, # 2686 - None, # 2687 - None, # 2688 - None, # 2689 - None, # 2690 - None, # 2691 - None, # 2692 - None, # 2693 - None, # 2694 - None, # 2695 - None, # 2696 - None, # 2697 - None, # 2698 - None, # 2699 - None, # 2700 - None, # 2701 - None, # 2702 - None, # 2703 - None, # 2704 - None, # 2705 - None, # 2706 - None, # 2707 - None, # 2708 - None, # 2709 - None, # 2710 - None, # 2711 - None, # 2712 - None, # 2713 - None, # 2714 - None, # 2715 - None, # 2716 - None, # 2717 - None, # 2718 - None, # 2719 - None, # 2720 - None, # 2721 - None, # 2722 - None, # 2723 - None, # 2724 - None, # 2725 - None, # 2726 - None, # 2727 - None, # 2728 - None, # 2729 - None, # 2730 - None, # 2731 - None, # 2732 - None, # 2733 - None, # 2734 - None, # 2735 - None, # 2736 - None, # 2737 - None, # 2738 - None, # 2739 - None, # 2740 - None, # 2741 - None, # 2742 - None, # 2743 - None, # 2744 - None, # 2745 - None, # 2746 - None, # 2747 - None, # 2748 - None, # 2749 - None, # 2750 - None, # 2751 - None, # 2752 - None, # 2753 - None, # 2754 - None, # 2755 - None, # 2756 - None, # 2757 - None, # 2758 - None, # 2759 - None, # 2760 - None, # 2761 - None, # 2762 - None, # 2763 - None, # 2764 - None, # 2765 - None, # 2766 - None, # 2767 - None, # 2768 - None, # 2769 - None, # 2770 - None, # 2771 - None, # 2772 - None, # 2773 - None, # 2774 - None, # 2775 - None, # 2776 - None, # 2777 - None, # 2778 - None, # 2779 - None, # 2780 - None, # 2781 - None, # 2782 - None, # 2783 - None, # 2784 - None, # 2785 - None, # 2786 - None, # 2787 - None, # 2788 - None, # 2789 - None, # 2790 - None, # 2791 - None, # 2792 - None, # 2793 - None, # 2794 - None, # 2795 - None, # 2796 - None, # 2797 - None, # 2798 - None, # 2799 - None, # 2800 - None, # 2801 - None, # 2802 - None, # 2803 - None, # 2804 - None, # 2805 - None, # 2806 - None, # 2807 - None, # 2808 - None, # 2809 - None, # 2810 - None, # 2811 - None, # 2812 - None, # 2813 - None, # 2814 - None, # 2815 - None, # 2816 - None, # 2817 - None, # 2818 - None, # 2819 - None, # 2820 - None, # 2821 - None, # 2822 - None, # 2823 - None, # 2824 - None, # 2825 - None, # 2826 - None, # 2827 - None, # 2828 - None, # 2829 - None, # 2830 - None, # 2831 - None, # 2832 - None, # 2833 - None, # 2834 - None, # 2835 - None, # 2836 - None, # 2837 - None, # 2838 - None, # 2839 - None, # 2840 - None, # 2841 - None, # 2842 - None, # 2843 - None, # 2844 - None, # 2845 - None, # 2846 - None, # 2847 - None, # 2848 - None, # 2849 - None, # 2850 - None, # 2851 - None, # 2852 - None, # 2853 - None, # 2854 - None, # 2855 - None, # 2856 - None, # 2857 - None, # 2858 - None, # 2859 - None, # 2860 - None, # 2861 - None, # 2862 - None, # 2863 - None, # 2864 - None, # 2865 - None, # 2866 - None, # 2867 - None, # 2868 - None, # 2869 - None, # 2870 - None, # 2871 - None, # 2872 - None, # 2873 - None, # 2874 - None, # 2875 - None, # 2876 - None, # 2877 - None, # 2878 - None, # 2879 - None, # 2880 - None, # 2881 - None, # 2882 - None, # 2883 - None, # 2884 - None, # 2885 - None, # 2886 - None, # 2887 - None, # 2888 - None, # 2889 - None, # 2890 - None, # 2891 - None, # 2892 - None, # 2893 - None, # 2894 - None, # 2895 - None, # 2896 - None, # 2897 - None, # 2898 - None, # 2899 - None, # 2900 - None, # 2901 - None, # 2902 - None, # 2903 - None, # 2904 - None, # 2905 - None, # 2906 - None, # 2907 - None, # 2908 - None, # 2909 - None, # 2910 - None, # 2911 - None, # 2912 - None, # 2913 - None, # 2914 - None, # 2915 - None, # 2916 - None, # 2917 - None, # 2918 - None, # 2919 - None, # 2920 - None, # 2921 - None, # 2922 - None, # 2923 - None, # 2924 - None, # 2925 - None, # 2926 - None, # 2927 - None, # 2928 - None, # 2929 - None, # 2930 - None, # 2931 - None, # 2932 - None, # 2933 - None, # 2934 - None, # 2935 - None, # 2936 - None, # 2937 - None, # 2938 - None, # 2939 - None, # 2940 - None, # 2941 - None, # 2942 - None, # 2943 - None, # 2944 - None, # 2945 - None, # 2946 - None, # 2947 - None, # 2948 - None, # 2949 - None, # 2950 - None, # 2951 - None, # 2952 - None, # 2953 - None, # 2954 - None, # 2955 - None, # 2956 - None, # 2957 - None, # 2958 - None, # 2959 - None, # 2960 - None, # 2961 - None, # 2962 - None, # 2963 - None, # 2964 - None, # 2965 - None, # 2966 - None, # 2967 - None, # 2968 - None, # 2969 - None, # 2970 - None, # 2971 - None, # 2972 - None, # 2973 - None, # 2974 - None, # 2975 - None, # 2976 - None, # 2977 - None, # 2978 - None, # 2979 - None, # 2980 - None, # 2981 - None, # 2982 - None, # 2983 - None, # 2984 - None, # 2985 - None, # 2986 - None, # 2987 - None, # 2988 - None, # 2989 - None, # 2990 - None, # 2991 - None, # 2992 - None, # 2993 - None, # 2994 - None, # 2995 - None, # 2996 - None, # 2997 - None, # 2998 - None, # 2999 - None, # 3000 - None, # 3001 - None, # 3002 - None, # 3003 - None, # 3004 - None, # 3005 - None, # 3006 - None, # 3007 - None, # 3008 - None, # 3009 - None, # 3010 - None, # 3011 - None, # 3012 - None, # 3013 - None, # 3014 - None, # 3015 - None, # 3016 - None, # 3017 - None, # 3018 - None, # 3019 - None, # 3020 - None, # 3021 - None, # 3022 - None, # 3023 - None, # 3024 - None, # 3025 - None, # 3026 - None, # 3027 - None, # 3028 - None, # 3029 - None, # 3030 - None, # 3031 - None, # 3032 - None, # 3033 - None, # 3034 - None, # 3035 - None, # 3036 - None, # 3037 - None, # 3038 - None, # 3039 - None, # 3040 - None, # 3041 - None, # 3042 - None, # 3043 - None, # 3044 - None, # 3045 - None, # 3046 - None, # 3047 - None, # 3048 - None, # 3049 - None, # 3050 - None, # 3051 - None, # 3052 - None, # 3053 - None, # 3054 - None, # 3055 - None, # 3056 - None, # 3057 - None, # 3058 - None, # 3059 - None, # 3060 - None, # 3061 - None, # 3062 - None, # 3063 - None, # 3064 - None, # 3065 - None, # 3066 - None, # 3067 - None, # 3068 - None, # 3069 - None, # 3070 - None, # 3071 - None, # 3072 - None, # 3073 - None, # 3074 - None, # 3075 - None, # 3076 - None, # 3077 - None, # 3078 - None, # 3079 - None, # 3080 - None, # 3081 - None, # 3082 - None, # 3083 - None, # 3084 - None, # 3085 - None, # 3086 - None, # 3087 - None, # 3088 - None, # 3089 - None, # 3090 - None, # 3091 - None, # 3092 - None, # 3093 - None, # 3094 - None, # 3095 - None, # 3096 - None, # 3097 - None, # 3098 - None, # 3099 - None, # 3100 - None, # 3101 - None, # 3102 - None, # 3103 - None, # 3104 - None, # 3105 - None, # 3106 - None, # 3107 - None, # 3108 - None, # 3109 - None, # 3110 - None, # 3111 - None, # 3112 - None, # 3113 - None, # 3114 - None, # 3115 - None, # 3116 - None, # 3117 - None, # 3118 - None, # 3119 - None, # 3120 - None, # 3121 - None, # 3122 - None, # 3123 - None, # 3124 - None, # 3125 - None, # 3126 - None, # 3127 - None, # 3128 - None, # 3129 - None, # 3130 - None, # 3131 - None, # 3132 - None, # 3133 - None, # 3134 - None, # 3135 - None, # 3136 - None, # 3137 - None, # 3138 - None, # 3139 - None, # 3140 - None, # 3141 - None, # 3142 - None, # 3143 - None, # 3144 - None, # 3145 - None, # 3146 - None, # 3147 - None, # 3148 - None, # 3149 - None, # 3150 - None, # 3151 - None, # 3152 - None, # 3153 - None, # 3154 - None, # 3155 - None, # 3156 - None, # 3157 - None, # 3158 - None, # 3159 - None, # 3160 - None, # 3161 - None, # 3162 - None, # 3163 - None, # 3164 - None, # 3165 - None, # 3166 - None, # 3167 - None, # 3168 - None, # 3169 - None, # 3170 - None, # 3171 - None, # 3172 - None, # 3173 - None, # 3174 - None, # 3175 - None, # 3176 - None, # 3177 - None, # 3178 - None, # 3179 - None, # 3180 - None, # 3181 - None, # 3182 - None, # 3183 - None, # 3184 - None, # 3185 - None, # 3186 - None, # 3187 - None, # 3188 - None, # 3189 - None, # 3190 - None, # 3191 - None, # 3192 - None, # 3193 - None, # 3194 - None, # 3195 - None, # 3196 - None, # 3197 - None, # 3198 - None, # 3199 - None, # 3200 - None, # 3201 - None, # 3202 - None, # 3203 - None, # 3204 - None, # 3205 - None, # 3206 - None, # 3207 - None, # 3208 - None, # 3209 - None, # 3210 - None, # 3211 - None, # 3212 - None, # 3213 - None, # 3214 - None, # 3215 - None, # 3216 - None, # 3217 - None, # 3218 - None, # 3219 - None, # 3220 - None, # 3221 - None, # 3222 - None, # 3223 - None, # 3224 - None, # 3225 - None, # 3226 - None, # 3227 - None, # 3228 - None, # 3229 - None, # 3230 - None, # 3231 - None, # 3232 - None, # 3233 - None, # 3234 - None, # 3235 - None, # 3236 - None, # 3237 - None, # 3238 - None, # 3239 - None, # 3240 - None, # 3241 - None, # 3242 - None, # 3243 - None, # 3244 - None, # 3245 - None, # 3246 - None, # 3247 - None, # 3248 - None, # 3249 - None, # 3250 - None, # 3251 - None, # 3252 - None, # 3253 - None, # 3254 - None, # 3255 - None, # 3256 - None, # 3257 - None, # 3258 - None, # 3259 - None, # 3260 - None, # 3261 - None, # 3262 - None, # 3263 - None, # 3264 - None, # 3265 - None, # 3266 - None, # 3267 - None, # 3268 - None, # 3269 - None, # 3270 - None, # 3271 - None, # 3272 - None, # 3273 - None, # 3274 - None, # 3275 - None, # 3276 - None, # 3277 - None, # 3278 - None, # 3279 - None, # 3280 - None, # 3281 - None, # 3282 - None, # 3283 - None, # 3284 - None, # 3285 - None, # 3286 - None, # 3287 - None, # 3288 - None, # 3289 - None, # 3290 - None, # 3291 - None, # 3292 - None, # 3293 - None, # 3294 - None, # 3295 - None, # 3296 - None, # 3297 - None, # 3298 - None, # 3299 - None, # 3300 - None, # 3301 - None, # 3302 - None, # 3303 - None, # 3304 - None, # 3305 - None, # 3306 - None, # 3307 - None, # 3308 - None, # 3309 - None, # 3310 - None, # 3311 - None, # 3312 - None, # 3313 - None, # 3314 - None, # 3315 - None, # 3316 - None, # 3317 - None, # 3318 - None, # 3319 - None, # 3320 - None, # 3321 - None, # 3322 - None, # 3323 - None, # 3324 - None, # 3325 - None, # 3326 - None, # 3327 - None, # 3328 - ( - 3329, - TType.STRUCT, - "sessionConf", - [TDBSqlSessionConf, None], - None, - ), # 3329 + None, # 0 + (1, TType.STRUCT, 'sessionHandle', [TSessionHandle, None], None, ), # 1 + (2, TType.STRING, 'owner', 'UTF8', None, ), # 2 + (3, TType.STRING, 'renewer', 'UTF8', None, ), # 3 + None, # 4 + None, # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + None, # 1281 + None, # 1282 + None, # 1283 + None, # 1284 + None, # 1285 + None, # 1286 + None, # 1287 + None, # 1288 + None, # 1289 + None, # 1290 + None, # 1291 + None, # 1292 + None, # 1293 + None, # 1294 + None, # 1295 + None, # 1296 + None, # 1297 + None, # 1298 + None, # 1299 + None, # 1300 + None, # 1301 + None, # 1302 + None, # 1303 + None, # 1304 + None, # 1305 + None, # 1306 + None, # 1307 + None, # 1308 + None, # 1309 + None, # 1310 + None, # 1311 + None, # 1312 + None, # 1313 + None, # 1314 + None, # 1315 + None, # 1316 + None, # 1317 + None, # 1318 + None, # 1319 + None, # 1320 + None, # 1321 + None, # 1322 + None, # 1323 + None, # 1324 + None, # 1325 + None, # 1326 + None, # 1327 + None, # 1328 + None, # 1329 + None, # 1330 + None, # 1331 + None, # 1332 + None, # 1333 + None, # 1334 + None, # 1335 + None, # 1336 + None, # 1337 + None, # 1338 + None, # 1339 + None, # 1340 + None, # 1341 + None, # 1342 + None, # 1343 + None, # 1344 + None, # 1345 + None, # 1346 + None, # 1347 + None, # 1348 + None, # 1349 + None, # 1350 + None, # 1351 + None, # 1352 + None, # 1353 + None, # 1354 + None, # 1355 + None, # 1356 + None, # 1357 + None, # 1358 + None, # 1359 + None, # 1360 + None, # 1361 + None, # 1362 + None, # 1363 + None, # 1364 + None, # 1365 + None, # 1366 + None, # 1367 + None, # 1368 + None, # 1369 + None, # 1370 + None, # 1371 + None, # 1372 + None, # 1373 + None, # 1374 + None, # 1375 + None, # 1376 + None, # 1377 + None, # 1378 + None, # 1379 + None, # 1380 + None, # 1381 + None, # 1382 + None, # 1383 + None, # 1384 + None, # 1385 + None, # 1386 + None, # 1387 + None, # 1388 + None, # 1389 + None, # 1390 + None, # 1391 + None, # 1392 + None, # 1393 + None, # 1394 + None, # 1395 + None, # 1396 + None, # 1397 + None, # 1398 + None, # 1399 + None, # 1400 + None, # 1401 + None, # 1402 + None, # 1403 + None, # 1404 + None, # 1405 + None, # 1406 + None, # 1407 + None, # 1408 + None, # 1409 + None, # 1410 + None, # 1411 + None, # 1412 + None, # 1413 + None, # 1414 + None, # 1415 + None, # 1416 + None, # 1417 + None, # 1418 + None, # 1419 + None, # 1420 + None, # 1421 + None, # 1422 + None, # 1423 + None, # 1424 + None, # 1425 + None, # 1426 + None, # 1427 + None, # 1428 + None, # 1429 + None, # 1430 + None, # 1431 + None, # 1432 + None, # 1433 + None, # 1434 + None, # 1435 + None, # 1436 + None, # 1437 + None, # 1438 + None, # 1439 + None, # 1440 + None, # 1441 + None, # 1442 + None, # 1443 + None, # 1444 + None, # 1445 + None, # 1446 + None, # 1447 + None, # 1448 + None, # 1449 + None, # 1450 + None, # 1451 + None, # 1452 + None, # 1453 + None, # 1454 + None, # 1455 + None, # 1456 + None, # 1457 + None, # 1458 + None, # 1459 + None, # 1460 + None, # 1461 + None, # 1462 + None, # 1463 + None, # 1464 + None, # 1465 + None, # 1466 + None, # 1467 + None, # 1468 + None, # 1469 + None, # 1470 + None, # 1471 + None, # 1472 + None, # 1473 + None, # 1474 + None, # 1475 + None, # 1476 + None, # 1477 + None, # 1478 + None, # 1479 + None, # 1480 + None, # 1481 + None, # 1482 + None, # 1483 + None, # 1484 + None, # 1485 + None, # 1486 + None, # 1487 + None, # 1488 + None, # 1489 + None, # 1490 + None, # 1491 + None, # 1492 + None, # 1493 + None, # 1494 + None, # 1495 + None, # 1496 + None, # 1497 + None, # 1498 + None, # 1499 + None, # 1500 + None, # 1501 + None, # 1502 + None, # 1503 + None, # 1504 + None, # 1505 + None, # 1506 + None, # 1507 + None, # 1508 + None, # 1509 + None, # 1510 + None, # 1511 + None, # 1512 + None, # 1513 + None, # 1514 + None, # 1515 + None, # 1516 + None, # 1517 + None, # 1518 + None, # 1519 + None, # 1520 + None, # 1521 + None, # 1522 + None, # 1523 + None, # 1524 + None, # 1525 + None, # 1526 + None, # 1527 + None, # 1528 + None, # 1529 + None, # 1530 + None, # 1531 + None, # 1532 + None, # 1533 + None, # 1534 + None, # 1535 + None, # 1536 + None, # 1537 + None, # 1538 + None, # 1539 + None, # 1540 + None, # 1541 + None, # 1542 + None, # 1543 + None, # 1544 + None, # 1545 + None, # 1546 + None, # 1547 + None, # 1548 + None, # 1549 + None, # 1550 + None, # 1551 + None, # 1552 + None, # 1553 + None, # 1554 + None, # 1555 + None, # 1556 + None, # 1557 + None, # 1558 + None, # 1559 + None, # 1560 + None, # 1561 + None, # 1562 + None, # 1563 + None, # 1564 + None, # 1565 + None, # 1566 + None, # 1567 + None, # 1568 + None, # 1569 + None, # 1570 + None, # 1571 + None, # 1572 + None, # 1573 + None, # 1574 + None, # 1575 + None, # 1576 + None, # 1577 + None, # 1578 + None, # 1579 + None, # 1580 + None, # 1581 + None, # 1582 + None, # 1583 + None, # 1584 + None, # 1585 + None, # 1586 + None, # 1587 + None, # 1588 + None, # 1589 + None, # 1590 + None, # 1591 + None, # 1592 + None, # 1593 + None, # 1594 + None, # 1595 + None, # 1596 + None, # 1597 + None, # 1598 + None, # 1599 + None, # 1600 + None, # 1601 + None, # 1602 + None, # 1603 + None, # 1604 + None, # 1605 + None, # 1606 + None, # 1607 + None, # 1608 + None, # 1609 + None, # 1610 + None, # 1611 + None, # 1612 + None, # 1613 + None, # 1614 + None, # 1615 + None, # 1616 + None, # 1617 + None, # 1618 + None, # 1619 + None, # 1620 + None, # 1621 + None, # 1622 + None, # 1623 + None, # 1624 + None, # 1625 + None, # 1626 + None, # 1627 + None, # 1628 + None, # 1629 + None, # 1630 + None, # 1631 + None, # 1632 + None, # 1633 + None, # 1634 + None, # 1635 + None, # 1636 + None, # 1637 + None, # 1638 + None, # 1639 + None, # 1640 + None, # 1641 + None, # 1642 + None, # 1643 + None, # 1644 + None, # 1645 + None, # 1646 + None, # 1647 + None, # 1648 + None, # 1649 + None, # 1650 + None, # 1651 + None, # 1652 + None, # 1653 + None, # 1654 + None, # 1655 + None, # 1656 + None, # 1657 + None, # 1658 + None, # 1659 + None, # 1660 + None, # 1661 + None, # 1662 + None, # 1663 + None, # 1664 + None, # 1665 + None, # 1666 + None, # 1667 + None, # 1668 + None, # 1669 + None, # 1670 + None, # 1671 + None, # 1672 + None, # 1673 + None, # 1674 + None, # 1675 + None, # 1676 + None, # 1677 + None, # 1678 + None, # 1679 + None, # 1680 + None, # 1681 + None, # 1682 + None, # 1683 + None, # 1684 + None, # 1685 + None, # 1686 + None, # 1687 + None, # 1688 + None, # 1689 + None, # 1690 + None, # 1691 + None, # 1692 + None, # 1693 + None, # 1694 + None, # 1695 + None, # 1696 + None, # 1697 + None, # 1698 + None, # 1699 + None, # 1700 + None, # 1701 + None, # 1702 + None, # 1703 + None, # 1704 + None, # 1705 + None, # 1706 + None, # 1707 + None, # 1708 + None, # 1709 + None, # 1710 + None, # 1711 + None, # 1712 + None, # 1713 + None, # 1714 + None, # 1715 + None, # 1716 + None, # 1717 + None, # 1718 + None, # 1719 + None, # 1720 + None, # 1721 + None, # 1722 + None, # 1723 + None, # 1724 + None, # 1725 + None, # 1726 + None, # 1727 + None, # 1728 + None, # 1729 + None, # 1730 + None, # 1731 + None, # 1732 + None, # 1733 + None, # 1734 + None, # 1735 + None, # 1736 + None, # 1737 + None, # 1738 + None, # 1739 + None, # 1740 + None, # 1741 + None, # 1742 + None, # 1743 + None, # 1744 + None, # 1745 + None, # 1746 + None, # 1747 + None, # 1748 + None, # 1749 + None, # 1750 + None, # 1751 + None, # 1752 + None, # 1753 + None, # 1754 + None, # 1755 + None, # 1756 + None, # 1757 + None, # 1758 + None, # 1759 + None, # 1760 + None, # 1761 + None, # 1762 + None, # 1763 + None, # 1764 + None, # 1765 + None, # 1766 + None, # 1767 + None, # 1768 + None, # 1769 + None, # 1770 + None, # 1771 + None, # 1772 + None, # 1773 + None, # 1774 + None, # 1775 + None, # 1776 + None, # 1777 + None, # 1778 + None, # 1779 + None, # 1780 + None, # 1781 + None, # 1782 + None, # 1783 + None, # 1784 + None, # 1785 + None, # 1786 + None, # 1787 + None, # 1788 + None, # 1789 + None, # 1790 + None, # 1791 + None, # 1792 + None, # 1793 + None, # 1794 + None, # 1795 + None, # 1796 + None, # 1797 + None, # 1798 + None, # 1799 + None, # 1800 + None, # 1801 + None, # 1802 + None, # 1803 + None, # 1804 + None, # 1805 + None, # 1806 + None, # 1807 + None, # 1808 + None, # 1809 + None, # 1810 + None, # 1811 + None, # 1812 + None, # 1813 + None, # 1814 + None, # 1815 + None, # 1816 + None, # 1817 + None, # 1818 + None, # 1819 + None, # 1820 + None, # 1821 + None, # 1822 + None, # 1823 + None, # 1824 + None, # 1825 + None, # 1826 + None, # 1827 + None, # 1828 + None, # 1829 + None, # 1830 + None, # 1831 + None, # 1832 + None, # 1833 + None, # 1834 + None, # 1835 + None, # 1836 + None, # 1837 + None, # 1838 + None, # 1839 + None, # 1840 + None, # 1841 + None, # 1842 + None, # 1843 + None, # 1844 + None, # 1845 + None, # 1846 + None, # 1847 + None, # 1848 + None, # 1849 + None, # 1850 + None, # 1851 + None, # 1852 + None, # 1853 + None, # 1854 + None, # 1855 + None, # 1856 + None, # 1857 + None, # 1858 + None, # 1859 + None, # 1860 + None, # 1861 + None, # 1862 + None, # 1863 + None, # 1864 + None, # 1865 + None, # 1866 + None, # 1867 + None, # 1868 + None, # 1869 + None, # 1870 + None, # 1871 + None, # 1872 + None, # 1873 + None, # 1874 + None, # 1875 + None, # 1876 + None, # 1877 + None, # 1878 + None, # 1879 + None, # 1880 + None, # 1881 + None, # 1882 + None, # 1883 + None, # 1884 + None, # 1885 + None, # 1886 + None, # 1887 + None, # 1888 + None, # 1889 + None, # 1890 + None, # 1891 + None, # 1892 + None, # 1893 + None, # 1894 + None, # 1895 + None, # 1896 + None, # 1897 + None, # 1898 + None, # 1899 + None, # 1900 + None, # 1901 + None, # 1902 + None, # 1903 + None, # 1904 + None, # 1905 + None, # 1906 + None, # 1907 + None, # 1908 + None, # 1909 + None, # 1910 + None, # 1911 + None, # 1912 + None, # 1913 + None, # 1914 + None, # 1915 + None, # 1916 + None, # 1917 + None, # 1918 + None, # 1919 + None, # 1920 + None, # 1921 + None, # 1922 + None, # 1923 + None, # 1924 + None, # 1925 + None, # 1926 + None, # 1927 + None, # 1928 + None, # 1929 + None, # 1930 + None, # 1931 + None, # 1932 + None, # 1933 + None, # 1934 + None, # 1935 + None, # 1936 + None, # 1937 + None, # 1938 + None, # 1939 + None, # 1940 + None, # 1941 + None, # 1942 + None, # 1943 + None, # 1944 + None, # 1945 + None, # 1946 + None, # 1947 + None, # 1948 + None, # 1949 + None, # 1950 + None, # 1951 + None, # 1952 + None, # 1953 + None, # 1954 + None, # 1955 + None, # 1956 + None, # 1957 + None, # 1958 + None, # 1959 + None, # 1960 + None, # 1961 + None, # 1962 + None, # 1963 + None, # 1964 + None, # 1965 + None, # 1966 + None, # 1967 + None, # 1968 + None, # 1969 + None, # 1970 + None, # 1971 + None, # 1972 + None, # 1973 + None, # 1974 + None, # 1975 + None, # 1976 + None, # 1977 + None, # 1978 + None, # 1979 + None, # 1980 + None, # 1981 + None, # 1982 + None, # 1983 + None, # 1984 + None, # 1985 + None, # 1986 + None, # 1987 + None, # 1988 + None, # 1989 + None, # 1990 + None, # 1991 + None, # 1992 + None, # 1993 + None, # 1994 + None, # 1995 + None, # 1996 + None, # 1997 + None, # 1998 + None, # 1999 + None, # 2000 + None, # 2001 + None, # 2002 + None, # 2003 + None, # 2004 + None, # 2005 + None, # 2006 + None, # 2007 + None, # 2008 + None, # 2009 + None, # 2010 + None, # 2011 + None, # 2012 + None, # 2013 + None, # 2014 + None, # 2015 + None, # 2016 + None, # 2017 + None, # 2018 + None, # 2019 + None, # 2020 + None, # 2021 + None, # 2022 + None, # 2023 + None, # 2024 + None, # 2025 + None, # 2026 + None, # 2027 + None, # 2028 + None, # 2029 + None, # 2030 + None, # 2031 + None, # 2032 + None, # 2033 + None, # 2034 + None, # 2035 + None, # 2036 + None, # 2037 + None, # 2038 + None, # 2039 + None, # 2040 + None, # 2041 + None, # 2042 + None, # 2043 + None, # 2044 + None, # 2045 + None, # 2046 + None, # 2047 + None, # 2048 + None, # 2049 + None, # 2050 + None, # 2051 + None, # 2052 + None, # 2053 + None, # 2054 + None, # 2055 + None, # 2056 + None, # 2057 + None, # 2058 + None, # 2059 + None, # 2060 + None, # 2061 + None, # 2062 + None, # 2063 + None, # 2064 + None, # 2065 + None, # 2066 + None, # 2067 + None, # 2068 + None, # 2069 + None, # 2070 + None, # 2071 + None, # 2072 + None, # 2073 + None, # 2074 + None, # 2075 + None, # 2076 + None, # 2077 + None, # 2078 + None, # 2079 + None, # 2080 + None, # 2081 + None, # 2082 + None, # 2083 + None, # 2084 + None, # 2085 + None, # 2086 + None, # 2087 + None, # 2088 + None, # 2089 + None, # 2090 + None, # 2091 + None, # 2092 + None, # 2093 + None, # 2094 + None, # 2095 + None, # 2096 + None, # 2097 + None, # 2098 + None, # 2099 + None, # 2100 + None, # 2101 + None, # 2102 + None, # 2103 + None, # 2104 + None, # 2105 + None, # 2106 + None, # 2107 + None, # 2108 + None, # 2109 + None, # 2110 + None, # 2111 + None, # 2112 + None, # 2113 + None, # 2114 + None, # 2115 + None, # 2116 + None, # 2117 + None, # 2118 + None, # 2119 + None, # 2120 + None, # 2121 + None, # 2122 + None, # 2123 + None, # 2124 + None, # 2125 + None, # 2126 + None, # 2127 + None, # 2128 + None, # 2129 + None, # 2130 + None, # 2131 + None, # 2132 + None, # 2133 + None, # 2134 + None, # 2135 + None, # 2136 + None, # 2137 + None, # 2138 + None, # 2139 + None, # 2140 + None, # 2141 + None, # 2142 + None, # 2143 + None, # 2144 + None, # 2145 + None, # 2146 + None, # 2147 + None, # 2148 + None, # 2149 + None, # 2150 + None, # 2151 + None, # 2152 + None, # 2153 + None, # 2154 + None, # 2155 + None, # 2156 + None, # 2157 + None, # 2158 + None, # 2159 + None, # 2160 + None, # 2161 + None, # 2162 + None, # 2163 + None, # 2164 + None, # 2165 + None, # 2166 + None, # 2167 + None, # 2168 + None, # 2169 + None, # 2170 + None, # 2171 + None, # 2172 + None, # 2173 + None, # 2174 + None, # 2175 + None, # 2176 + None, # 2177 + None, # 2178 + None, # 2179 + None, # 2180 + None, # 2181 + None, # 2182 + None, # 2183 + None, # 2184 + None, # 2185 + None, # 2186 + None, # 2187 + None, # 2188 + None, # 2189 + None, # 2190 + None, # 2191 + None, # 2192 + None, # 2193 + None, # 2194 + None, # 2195 + None, # 2196 + None, # 2197 + None, # 2198 + None, # 2199 + None, # 2200 + None, # 2201 + None, # 2202 + None, # 2203 + None, # 2204 + None, # 2205 + None, # 2206 + None, # 2207 + None, # 2208 + None, # 2209 + None, # 2210 + None, # 2211 + None, # 2212 + None, # 2213 + None, # 2214 + None, # 2215 + None, # 2216 + None, # 2217 + None, # 2218 + None, # 2219 + None, # 2220 + None, # 2221 + None, # 2222 + None, # 2223 + None, # 2224 + None, # 2225 + None, # 2226 + None, # 2227 + None, # 2228 + None, # 2229 + None, # 2230 + None, # 2231 + None, # 2232 + None, # 2233 + None, # 2234 + None, # 2235 + None, # 2236 + None, # 2237 + None, # 2238 + None, # 2239 + None, # 2240 + None, # 2241 + None, # 2242 + None, # 2243 + None, # 2244 + None, # 2245 + None, # 2246 + None, # 2247 + None, # 2248 + None, # 2249 + None, # 2250 + None, # 2251 + None, # 2252 + None, # 2253 + None, # 2254 + None, # 2255 + None, # 2256 + None, # 2257 + None, # 2258 + None, # 2259 + None, # 2260 + None, # 2261 + None, # 2262 + None, # 2263 + None, # 2264 + None, # 2265 + None, # 2266 + None, # 2267 + None, # 2268 + None, # 2269 + None, # 2270 + None, # 2271 + None, # 2272 + None, # 2273 + None, # 2274 + None, # 2275 + None, # 2276 + None, # 2277 + None, # 2278 + None, # 2279 + None, # 2280 + None, # 2281 + None, # 2282 + None, # 2283 + None, # 2284 + None, # 2285 + None, # 2286 + None, # 2287 + None, # 2288 + None, # 2289 + None, # 2290 + None, # 2291 + None, # 2292 + None, # 2293 + None, # 2294 + None, # 2295 + None, # 2296 + None, # 2297 + None, # 2298 + None, # 2299 + None, # 2300 + None, # 2301 + None, # 2302 + None, # 2303 + None, # 2304 + None, # 2305 + None, # 2306 + None, # 2307 + None, # 2308 + None, # 2309 + None, # 2310 + None, # 2311 + None, # 2312 + None, # 2313 + None, # 2314 + None, # 2315 + None, # 2316 + None, # 2317 + None, # 2318 + None, # 2319 + None, # 2320 + None, # 2321 + None, # 2322 + None, # 2323 + None, # 2324 + None, # 2325 + None, # 2326 + None, # 2327 + None, # 2328 + None, # 2329 + None, # 2330 + None, # 2331 + None, # 2332 + None, # 2333 + None, # 2334 + None, # 2335 + None, # 2336 + None, # 2337 + None, # 2338 + None, # 2339 + None, # 2340 + None, # 2341 + None, # 2342 + None, # 2343 + None, # 2344 + None, # 2345 + None, # 2346 + None, # 2347 + None, # 2348 + None, # 2349 + None, # 2350 + None, # 2351 + None, # 2352 + None, # 2353 + None, # 2354 + None, # 2355 + None, # 2356 + None, # 2357 + None, # 2358 + None, # 2359 + None, # 2360 + None, # 2361 + None, # 2362 + None, # 2363 + None, # 2364 + None, # 2365 + None, # 2366 + None, # 2367 + None, # 2368 + None, # 2369 + None, # 2370 + None, # 2371 + None, # 2372 + None, # 2373 + None, # 2374 + None, # 2375 + None, # 2376 + None, # 2377 + None, # 2378 + None, # 2379 + None, # 2380 + None, # 2381 + None, # 2382 + None, # 2383 + None, # 2384 + None, # 2385 + None, # 2386 + None, # 2387 + None, # 2388 + None, # 2389 + None, # 2390 + None, # 2391 + None, # 2392 + None, # 2393 + None, # 2394 + None, # 2395 + None, # 2396 + None, # 2397 + None, # 2398 + None, # 2399 + None, # 2400 + None, # 2401 + None, # 2402 + None, # 2403 + None, # 2404 + None, # 2405 + None, # 2406 + None, # 2407 + None, # 2408 + None, # 2409 + None, # 2410 + None, # 2411 + None, # 2412 + None, # 2413 + None, # 2414 + None, # 2415 + None, # 2416 + None, # 2417 + None, # 2418 + None, # 2419 + None, # 2420 + None, # 2421 + None, # 2422 + None, # 2423 + None, # 2424 + None, # 2425 + None, # 2426 + None, # 2427 + None, # 2428 + None, # 2429 + None, # 2430 + None, # 2431 + None, # 2432 + None, # 2433 + None, # 2434 + None, # 2435 + None, # 2436 + None, # 2437 + None, # 2438 + None, # 2439 + None, # 2440 + None, # 2441 + None, # 2442 + None, # 2443 + None, # 2444 + None, # 2445 + None, # 2446 + None, # 2447 + None, # 2448 + None, # 2449 + None, # 2450 + None, # 2451 + None, # 2452 + None, # 2453 + None, # 2454 + None, # 2455 + None, # 2456 + None, # 2457 + None, # 2458 + None, # 2459 + None, # 2460 + None, # 2461 + None, # 2462 + None, # 2463 + None, # 2464 + None, # 2465 + None, # 2466 + None, # 2467 + None, # 2468 + None, # 2469 + None, # 2470 + None, # 2471 + None, # 2472 + None, # 2473 + None, # 2474 + None, # 2475 + None, # 2476 + None, # 2477 + None, # 2478 + None, # 2479 + None, # 2480 + None, # 2481 + None, # 2482 + None, # 2483 + None, # 2484 + None, # 2485 + None, # 2486 + None, # 2487 + None, # 2488 + None, # 2489 + None, # 2490 + None, # 2491 + None, # 2492 + None, # 2493 + None, # 2494 + None, # 2495 + None, # 2496 + None, # 2497 + None, # 2498 + None, # 2499 + None, # 2500 + None, # 2501 + None, # 2502 + None, # 2503 + None, # 2504 + None, # 2505 + None, # 2506 + None, # 2507 + None, # 2508 + None, # 2509 + None, # 2510 + None, # 2511 + None, # 2512 + None, # 2513 + None, # 2514 + None, # 2515 + None, # 2516 + None, # 2517 + None, # 2518 + None, # 2519 + None, # 2520 + None, # 2521 + None, # 2522 + None, # 2523 + None, # 2524 + None, # 2525 + None, # 2526 + None, # 2527 + None, # 2528 + None, # 2529 + None, # 2530 + None, # 2531 + None, # 2532 + None, # 2533 + None, # 2534 + None, # 2535 + None, # 2536 + None, # 2537 + None, # 2538 + None, # 2539 + None, # 2540 + None, # 2541 + None, # 2542 + None, # 2543 + None, # 2544 + None, # 2545 + None, # 2546 + None, # 2547 + None, # 2548 + None, # 2549 + None, # 2550 + None, # 2551 + None, # 2552 + None, # 2553 + None, # 2554 + None, # 2555 + None, # 2556 + None, # 2557 + None, # 2558 + None, # 2559 + None, # 2560 + None, # 2561 + None, # 2562 + None, # 2563 + None, # 2564 + None, # 2565 + None, # 2566 + None, # 2567 + None, # 2568 + None, # 2569 + None, # 2570 + None, # 2571 + None, # 2572 + None, # 2573 + None, # 2574 + None, # 2575 + None, # 2576 + None, # 2577 + None, # 2578 + None, # 2579 + None, # 2580 + None, # 2581 + None, # 2582 + None, # 2583 + None, # 2584 + None, # 2585 + None, # 2586 + None, # 2587 + None, # 2588 + None, # 2589 + None, # 2590 + None, # 2591 + None, # 2592 + None, # 2593 + None, # 2594 + None, # 2595 + None, # 2596 + None, # 2597 + None, # 2598 + None, # 2599 + None, # 2600 + None, # 2601 + None, # 2602 + None, # 2603 + None, # 2604 + None, # 2605 + None, # 2606 + None, # 2607 + None, # 2608 + None, # 2609 + None, # 2610 + None, # 2611 + None, # 2612 + None, # 2613 + None, # 2614 + None, # 2615 + None, # 2616 + None, # 2617 + None, # 2618 + None, # 2619 + None, # 2620 + None, # 2621 + None, # 2622 + None, # 2623 + None, # 2624 + None, # 2625 + None, # 2626 + None, # 2627 + None, # 2628 + None, # 2629 + None, # 2630 + None, # 2631 + None, # 2632 + None, # 2633 + None, # 2634 + None, # 2635 + None, # 2636 + None, # 2637 + None, # 2638 + None, # 2639 + None, # 2640 + None, # 2641 + None, # 2642 + None, # 2643 + None, # 2644 + None, # 2645 + None, # 2646 + None, # 2647 + None, # 2648 + None, # 2649 + None, # 2650 + None, # 2651 + None, # 2652 + None, # 2653 + None, # 2654 + None, # 2655 + None, # 2656 + None, # 2657 + None, # 2658 + None, # 2659 + None, # 2660 + None, # 2661 + None, # 2662 + None, # 2663 + None, # 2664 + None, # 2665 + None, # 2666 + None, # 2667 + None, # 2668 + None, # 2669 + None, # 2670 + None, # 2671 + None, # 2672 + None, # 2673 + None, # 2674 + None, # 2675 + None, # 2676 + None, # 2677 + None, # 2678 + None, # 2679 + None, # 2680 + None, # 2681 + None, # 2682 + None, # 2683 + None, # 2684 + None, # 2685 + None, # 2686 + None, # 2687 + None, # 2688 + None, # 2689 + None, # 2690 + None, # 2691 + None, # 2692 + None, # 2693 + None, # 2694 + None, # 2695 + None, # 2696 + None, # 2697 + None, # 2698 + None, # 2699 + None, # 2700 + None, # 2701 + None, # 2702 + None, # 2703 + None, # 2704 + None, # 2705 + None, # 2706 + None, # 2707 + None, # 2708 + None, # 2709 + None, # 2710 + None, # 2711 + None, # 2712 + None, # 2713 + None, # 2714 + None, # 2715 + None, # 2716 + None, # 2717 + None, # 2718 + None, # 2719 + None, # 2720 + None, # 2721 + None, # 2722 + None, # 2723 + None, # 2724 + None, # 2725 + None, # 2726 + None, # 2727 + None, # 2728 + None, # 2729 + None, # 2730 + None, # 2731 + None, # 2732 + None, # 2733 + None, # 2734 + None, # 2735 + None, # 2736 + None, # 2737 + None, # 2738 + None, # 2739 + None, # 2740 + None, # 2741 + None, # 2742 + None, # 2743 + None, # 2744 + None, # 2745 + None, # 2746 + None, # 2747 + None, # 2748 + None, # 2749 + None, # 2750 + None, # 2751 + None, # 2752 + None, # 2753 + None, # 2754 + None, # 2755 + None, # 2756 + None, # 2757 + None, # 2758 + None, # 2759 + None, # 2760 + None, # 2761 + None, # 2762 + None, # 2763 + None, # 2764 + None, # 2765 + None, # 2766 + None, # 2767 + None, # 2768 + None, # 2769 + None, # 2770 + None, # 2771 + None, # 2772 + None, # 2773 + None, # 2774 + None, # 2775 + None, # 2776 + None, # 2777 + None, # 2778 + None, # 2779 + None, # 2780 + None, # 2781 + None, # 2782 + None, # 2783 + None, # 2784 + None, # 2785 + None, # 2786 + None, # 2787 + None, # 2788 + None, # 2789 + None, # 2790 + None, # 2791 + None, # 2792 + None, # 2793 + None, # 2794 + None, # 2795 + None, # 2796 + None, # 2797 + None, # 2798 + None, # 2799 + None, # 2800 + None, # 2801 + None, # 2802 + None, # 2803 + None, # 2804 + None, # 2805 + None, # 2806 + None, # 2807 + None, # 2808 + None, # 2809 + None, # 2810 + None, # 2811 + None, # 2812 + None, # 2813 + None, # 2814 + None, # 2815 + None, # 2816 + None, # 2817 + None, # 2818 + None, # 2819 + None, # 2820 + None, # 2821 + None, # 2822 + None, # 2823 + None, # 2824 + None, # 2825 + None, # 2826 + None, # 2827 + None, # 2828 + None, # 2829 + None, # 2830 + None, # 2831 + None, # 2832 + None, # 2833 + None, # 2834 + None, # 2835 + None, # 2836 + None, # 2837 + None, # 2838 + None, # 2839 + None, # 2840 + None, # 2841 + None, # 2842 + None, # 2843 + None, # 2844 + None, # 2845 + None, # 2846 + None, # 2847 + None, # 2848 + None, # 2849 + None, # 2850 + None, # 2851 + None, # 2852 + None, # 2853 + None, # 2854 + None, # 2855 + None, # 2856 + None, # 2857 + None, # 2858 + None, # 2859 + None, # 2860 + None, # 2861 + None, # 2862 + None, # 2863 + None, # 2864 + None, # 2865 + None, # 2866 + None, # 2867 + None, # 2868 + None, # 2869 + None, # 2870 + None, # 2871 + None, # 2872 + None, # 2873 + None, # 2874 + None, # 2875 + None, # 2876 + None, # 2877 + None, # 2878 + None, # 2879 + None, # 2880 + None, # 2881 + None, # 2882 + None, # 2883 + None, # 2884 + None, # 2885 + None, # 2886 + None, # 2887 + None, # 2888 + None, # 2889 + None, # 2890 + None, # 2891 + None, # 2892 + None, # 2893 + None, # 2894 + None, # 2895 + None, # 2896 + None, # 2897 + None, # 2898 + None, # 2899 + None, # 2900 + None, # 2901 + None, # 2902 + None, # 2903 + None, # 2904 + None, # 2905 + None, # 2906 + None, # 2907 + None, # 2908 + None, # 2909 + None, # 2910 + None, # 2911 + None, # 2912 + None, # 2913 + None, # 2914 + None, # 2915 + None, # 2916 + None, # 2917 + None, # 2918 + None, # 2919 + None, # 2920 + None, # 2921 + None, # 2922 + None, # 2923 + None, # 2924 + None, # 2925 + None, # 2926 + None, # 2927 + None, # 2928 + None, # 2929 + None, # 2930 + None, # 2931 + None, # 2932 + None, # 2933 + None, # 2934 + None, # 2935 + None, # 2936 + None, # 2937 + None, # 2938 + None, # 2939 + None, # 2940 + None, # 2941 + None, # 2942 + None, # 2943 + None, # 2944 + None, # 2945 + None, # 2946 + None, # 2947 + None, # 2948 + None, # 2949 + None, # 2950 + None, # 2951 + None, # 2952 + None, # 2953 + None, # 2954 + None, # 2955 + None, # 2956 + None, # 2957 + None, # 2958 + None, # 2959 + None, # 2960 + None, # 2961 + None, # 2962 + None, # 2963 + None, # 2964 + None, # 2965 + None, # 2966 + None, # 2967 + None, # 2968 + None, # 2969 + None, # 2970 + None, # 2971 + None, # 2972 + None, # 2973 + None, # 2974 + None, # 2975 + None, # 2976 + None, # 2977 + None, # 2978 + None, # 2979 + None, # 2980 + None, # 2981 + None, # 2982 + None, # 2983 + None, # 2984 + None, # 2985 + None, # 2986 + None, # 2987 + None, # 2988 + None, # 2989 + None, # 2990 + None, # 2991 + None, # 2992 + None, # 2993 + None, # 2994 + None, # 2995 + None, # 2996 + None, # 2997 + None, # 2998 + None, # 2999 + None, # 3000 + None, # 3001 + None, # 3002 + None, # 3003 + None, # 3004 + None, # 3005 + None, # 3006 + None, # 3007 + None, # 3008 + None, # 3009 + None, # 3010 + None, # 3011 + None, # 3012 + None, # 3013 + None, # 3014 + None, # 3015 + None, # 3016 + None, # 3017 + None, # 3018 + None, # 3019 + None, # 3020 + None, # 3021 + None, # 3022 + None, # 3023 + None, # 3024 + None, # 3025 + None, # 3026 + None, # 3027 + None, # 3028 + None, # 3029 + None, # 3030 + None, # 3031 + None, # 3032 + None, # 3033 + None, # 3034 + None, # 3035 + None, # 3036 + None, # 3037 + None, # 3038 + None, # 3039 + None, # 3040 + None, # 3041 + None, # 3042 + None, # 3043 + None, # 3044 + None, # 3045 + None, # 3046 + None, # 3047 + None, # 3048 + None, # 3049 + None, # 3050 + None, # 3051 + None, # 3052 + None, # 3053 + None, # 3054 + None, # 3055 + None, # 3056 + None, # 3057 + None, # 3058 + None, # 3059 + None, # 3060 + None, # 3061 + None, # 3062 + None, # 3063 + None, # 3064 + None, # 3065 + None, # 3066 + None, # 3067 + None, # 3068 + None, # 3069 + None, # 3070 + None, # 3071 + None, # 3072 + None, # 3073 + None, # 3074 + None, # 3075 + None, # 3076 + None, # 3077 + None, # 3078 + None, # 3079 + None, # 3080 + None, # 3081 + None, # 3082 + None, # 3083 + None, # 3084 + None, # 3085 + None, # 3086 + None, # 3087 + None, # 3088 + None, # 3089 + None, # 3090 + None, # 3091 + None, # 3092 + None, # 3093 + None, # 3094 + None, # 3095 + None, # 3096 + None, # 3097 + None, # 3098 + None, # 3099 + None, # 3100 + None, # 3101 + None, # 3102 + None, # 3103 + None, # 3104 + None, # 3105 + None, # 3106 + None, # 3107 + None, # 3108 + None, # 3109 + None, # 3110 + None, # 3111 + None, # 3112 + None, # 3113 + None, # 3114 + None, # 3115 + None, # 3116 + None, # 3117 + None, # 3118 + None, # 3119 + None, # 3120 + None, # 3121 + None, # 3122 + None, # 3123 + None, # 3124 + None, # 3125 + None, # 3126 + None, # 3127 + None, # 3128 + None, # 3129 + None, # 3130 + None, # 3131 + None, # 3132 + None, # 3133 + None, # 3134 + None, # 3135 + None, # 3136 + None, # 3137 + None, # 3138 + None, # 3139 + None, # 3140 + None, # 3141 + None, # 3142 + None, # 3143 + None, # 3144 + None, # 3145 + None, # 3146 + None, # 3147 + None, # 3148 + None, # 3149 + None, # 3150 + None, # 3151 + None, # 3152 + None, # 3153 + None, # 3154 + None, # 3155 + None, # 3156 + None, # 3157 + None, # 3158 + None, # 3159 + None, # 3160 + None, # 3161 + None, # 3162 + None, # 3163 + None, # 3164 + None, # 3165 + None, # 3166 + None, # 3167 + None, # 3168 + None, # 3169 + None, # 3170 + None, # 3171 + None, # 3172 + None, # 3173 + None, # 3174 + None, # 3175 + None, # 3176 + None, # 3177 + None, # 3178 + None, # 3179 + None, # 3180 + None, # 3181 + None, # 3182 + None, # 3183 + None, # 3184 + None, # 3185 + None, # 3186 + None, # 3187 + None, # 3188 + None, # 3189 + None, # 3190 + None, # 3191 + None, # 3192 + None, # 3193 + None, # 3194 + None, # 3195 + None, # 3196 + None, # 3197 + None, # 3198 + None, # 3199 + None, # 3200 + None, # 3201 + None, # 3202 + None, # 3203 + None, # 3204 + None, # 3205 + None, # 3206 + None, # 3207 + None, # 3208 + None, # 3209 + None, # 3210 + None, # 3211 + None, # 3212 + None, # 3213 + None, # 3214 + None, # 3215 + None, # 3216 + None, # 3217 + None, # 3218 + None, # 3219 + None, # 3220 + None, # 3221 + None, # 3222 + None, # 3223 + None, # 3224 + None, # 3225 + None, # 3226 + None, # 3227 + None, # 3228 + None, # 3229 + None, # 3230 + None, # 3231 + None, # 3232 + None, # 3233 + None, # 3234 + None, # 3235 + None, # 3236 + None, # 3237 + None, # 3238 + None, # 3239 + None, # 3240 + None, # 3241 + None, # 3242 + None, # 3243 + None, # 3244 + None, # 3245 + None, # 3246 + None, # 3247 + None, # 3248 + None, # 3249 + None, # 3250 + None, # 3251 + None, # 3252 + None, # 3253 + None, # 3254 + None, # 3255 + None, # 3256 + None, # 3257 + None, # 3258 + None, # 3259 + None, # 3260 + None, # 3261 + None, # 3262 + None, # 3263 + None, # 3264 + None, # 3265 + None, # 3266 + None, # 3267 + None, # 3268 + None, # 3269 + None, # 3270 + None, # 3271 + None, # 3272 + None, # 3273 + None, # 3274 + None, # 3275 + None, # 3276 + None, # 3277 + None, # 3278 + None, # 3279 + None, # 3280 + None, # 3281 + None, # 3282 + None, # 3283 + None, # 3284 + None, # 3285 + None, # 3286 + None, # 3287 + None, # 3288 + None, # 3289 + None, # 3290 + None, # 3291 + None, # 3292 + None, # 3293 + None, # 3294 + None, # 3295 + None, # 3296 + None, # 3297 + None, # 3298 + None, # 3299 + None, # 3300 + None, # 3301 + None, # 3302 + None, # 3303 + None, # 3304 + None, # 3305 + None, # 3306 + None, # 3307 + None, # 3308 + None, # 3309 + None, # 3310 + None, # 3311 + None, # 3312 + None, # 3313 + None, # 3314 + None, # 3315 + None, # 3316 + None, # 3317 + None, # 3318 + None, # 3319 + None, # 3320 + None, # 3321 + None, # 3322 + None, # 3323 + None, # 3324 + None, # 3325 + None, # 3326 + None, # 3327 + None, # 3328 + (3329, TType.STRUCT, 'sessionConf', [TDBSqlSessionConf, None], None, ), # 3329 ) all_structs.append(TGetDelegationTokenResp) TGetDelegationTokenResp.thrift_spec = ( - None, # 0 - ( - 1, - TType.STRUCT, - "status", - [TStatus, None], - None, - ), # 1 - ( - 2, - TType.STRING, - "delegationToken", - "UTF8", - None, - ), # 2 + None, # 0 + (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 + (2, TType.STRING, 'delegationToken', 'UTF8', None, ), # 2 ) all_structs.append(TCancelDelegationTokenReq) TCancelDelegationTokenReq.thrift_spec = ( - None, # 0 - ( - 1, - TType.STRUCT, - "sessionHandle", - [TSessionHandle, None], - None, - ), # 1 - ( - 2, - TType.STRING, - "delegationToken", - "UTF8", - None, - ), # 2 - None, # 3 - None, # 4 - None, # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - None, # 1281 - None, # 1282 - None, # 1283 - None, # 1284 - None, # 1285 - None, # 1286 - None, # 1287 - None, # 1288 - None, # 1289 - None, # 1290 - None, # 1291 - None, # 1292 - None, # 1293 - None, # 1294 - None, # 1295 - None, # 1296 - None, # 1297 - None, # 1298 - None, # 1299 - None, # 1300 - None, # 1301 - None, # 1302 - None, # 1303 - None, # 1304 - None, # 1305 - None, # 1306 - None, # 1307 - None, # 1308 - None, # 1309 - None, # 1310 - None, # 1311 - None, # 1312 - None, # 1313 - None, # 1314 - None, # 1315 - None, # 1316 - None, # 1317 - None, # 1318 - None, # 1319 - None, # 1320 - None, # 1321 - None, # 1322 - None, # 1323 - None, # 1324 - None, # 1325 - None, # 1326 - None, # 1327 - None, # 1328 - None, # 1329 - None, # 1330 - None, # 1331 - None, # 1332 - None, # 1333 - None, # 1334 - None, # 1335 - None, # 1336 - None, # 1337 - None, # 1338 - None, # 1339 - None, # 1340 - None, # 1341 - None, # 1342 - None, # 1343 - None, # 1344 - None, # 1345 - None, # 1346 - None, # 1347 - None, # 1348 - None, # 1349 - None, # 1350 - None, # 1351 - None, # 1352 - None, # 1353 - None, # 1354 - None, # 1355 - None, # 1356 - None, # 1357 - None, # 1358 - None, # 1359 - None, # 1360 - None, # 1361 - None, # 1362 - None, # 1363 - None, # 1364 - None, # 1365 - None, # 1366 - None, # 1367 - None, # 1368 - None, # 1369 - None, # 1370 - None, # 1371 - None, # 1372 - None, # 1373 - None, # 1374 - None, # 1375 - None, # 1376 - None, # 1377 - None, # 1378 - None, # 1379 - None, # 1380 - None, # 1381 - None, # 1382 - None, # 1383 - None, # 1384 - None, # 1385 - None, # 1386 - None, # 1387 - None, # 1388 - None, # 1389 - None, # 1390 - None, # 1391 - None, # 1392 - None, # 1393 - None, # 1394 - None, # 1395 - None, # 1396 - None, # 1397 - None, # 1398 - None, # 1399 - None, # 1400 - None, # 1401 - None, # 1402 - None, # 1403 - None, # 1404 - None, # 1405 - None, # 1406 - None, # 1407 - None, # 1408 - None, # 1409 - None, # 1410 - None, # 1411 - None, # 1412 - None, # 1413 - None, # 1414 - None, # 1415 - None, # 1416 - None, # 1417 - None, # 1418 - None, # 1419 - None, # 1420 - None, # 1421 - None, # 1422 - None, # 1423 - None, # 1424 - None, # 1425 - None, # 1426 - None, # 1427 - None, # 1428 - None, # 1429 - None, # 1430 - None, # 1431 - None, # 1432 - None, # 1433 - None, # 1434 - None, # 1435 - None, # 1436 - None, # 1437 - None, # 1438 - None, # 1439 - None, # 1440 - None, # 1441 - None, # 1442 - None, # 1443 - None, # 1444 - None, # 1445 - None, # 1446 - None, # 1447 - None, # 1448 - None, # 1449 - None, # 1450 - None, # 1451 - None, # 1452 - None, # 1453 - None, # 1454 - None, # 1455 - None, # 1456 - None, # 1457 - None, # 1458 - None, # 1459 - None, # 1460 - None, # 1461 - None, # 1462 - None, # 1463 - None, # 1464 - None, # 1465 - None, # 1466 - None, # 1467 - None, # 1468 - None, # 1469 - None, # 1470 - None, # 1471 - None, # 1472 - None, # 1473 - None, # 1474 - None, # 1475 - None, # 1476 - None, # 1477 - None, # 1478 - None, # 1479 - None, # 1480 - None, # 1481 - None, # 1482 - None, # 1483 - None, # 1484 - None, # 1485 - None, # 1486 - None, # 1487 - None, # 1488 - None, # 1489 - None, # 1490 - None, # 1491 - None, # 1492 - None, # 1493 - None, # 1494 - None, # 1495 - None, # 1496 - None, # 1497 - None, # 1498 - None, # 1499 - None, # 1500 - None, # 1501 - None, # 1502 - None, # 1503 - None, # 1504 - None, # 1505 - None, # 1506 - None, # 1507 - None, # 1508 - None, # 1509 - None, # 1510 - None, # 1511 - None, # 1512 - None, # 1513 - None, # 1514 - None, # 1515 - None, # 1516 - None, # 1517 - None, # 1518 - None, # 1519 - None, # 1520 - None, # 1521 - None, # 1522 - None, # 1523 - None, # 1524 - None, # 1525 - None, # 1526 - None, # 1527 - None, # 1528 - None, # 1529 - None, # 1530 - None, # 1531 - None, # 1532 - None, # 1533 - None, # 1534 - None, # 1535 - None, # 1536 - None, # 1537 - None, # 1538 - None, # 1539 - None, # 1540 - None, # 1541 - None, # 1542 - None, # 1543 - None, # 1544 - None, # 1545 - None, # 1546 - None, # 1547 - None, # 1548 - None, # 1549 - None, # 1550 - None, # 1551 - None, # 1552 - None, # 1553 - None, # 1554 - None, # 1555 - None, # 1556 - None, # 1557 - None, # 1558 - None, # 1559 - None, # 1560 - None, # 1561 - None, # 1562 - None, # 1563 - None, # 1564 - None, # 1565 - None, # 1566 - None, # 1567 - None, # 1568 - None, # 1569 - None, # 1570 - None, # 1571 - None, # 1572 - None, # 1573 - None, # 1574 - None, # 1575 - None, # 1576 - None, # 1577 - None, # 1578 - None, # 1579 - None, # 1580 - None, # 1581 - None, # 1582 - None, # 1583 - None, # 1584 - None, # 1585 - None, # 1586 - None, # 1587 - None, # 1588 - None, # 1589 - None, # 1590 - None, # 1591 - None, # 1592 - None, # 1593 - None, # 1594 - None, # 1595 - None, # 1596 - None, # 1597 - None, # 1598 - None, # 1599 - None, # 1600 - None, # 1601 - None, # 1602 - None, # 1603 - None, # 1604 - None, # 1605 - None, # 1606 - None, # 1607 - None, # 1608 - None, # 1609 - None, # 1610 - None, # 1611 - None, # 1612 - None, # 1613 - None, # 1614 - None, # 1615 - None, # 1616 - None, # 1617 - None, # 1618 - None, # 1619 - None, # 1620 - None, # 1621 - None, # 1622 - None, # 1623 - None, # 1624 - None, # 1625 - None, # 1626 - None, # 1627 - None, # 1628 - None, # 1629 - None, # 1630 - None, # 1631 - None, # 1632 - None, # 1633 - None, # 1634 - None, # 1635 - None, # 1636 - None, # 1637 - None, # 1638 - None, # 1639 - None, # 1640 - None, # 1641 - None, # 1642 - None, # 1643 - None, # 1644 - None, # 1645 - None, # 1646 - None, # 1647 - None, # 1648 - None, # 1649 - None, # 1650 - None, # 1651 - None, # 1652 - None, # 1653 - None, # 1654 - None, # 1655 - None, # 1656 - None, # 1657 - None, # 1658 - None, # 1659 - None, # 1660 - None, # 1661 - None, # 1662 - None, # 1663 - None, # 1664 - None, # 1665 - None, # 1666 - None, # 1667 - None, # 1668 - None, # 1669 - None, # 1670 - None, # 1671 - None, # 1672 - None, # 1673 - None, # 1674 - None, # 1675 - None, # 1676 - None, # 1677 - None, # 1678 - None, # 1679 - None, # 1680 - None, # 1681 - None, # 1682 - None, # 1683 - None, # 1684 - None, # 1685 - None, # 1686 - None, # 1687 - None, # 1688 - None, # 1689 - None, # 1690 - None, # 1691 - None, # 1692 - None, # 1693 - None, # 1694 - None, # 1695 - None, # 1696 - None, # 1697 - None, # 1698 - None, # 1699 - None, # 1700 - None, # 1701 - None, # 1702 - None, # 1703 - None, # 1704 - None, # 1705 - None, # 1706 - None, # 1707 - None, # 1708 - None, # 1709 - None, # 1710 - None, # 1711 - None, # 1712 - None, # 1713 - None, # 1714 - None, # 1715 - None, # 1716 - None, # 1717 - None, # 1718 - None, # 1719 - None, # 1720 - None, # 1721 - None, # 1722 - None, # 1723 - None, # 1724 - None, # 1725 - None, # 1726 - None, # 1727 - None, # 1728 - None, # 1729 - None, # 1730 - None, # 1731 - None, # 1732 - None, # 1733 - None, # 1734 - None, # 1735 - None, # 1736 - None, # 1737 - None, # 1738 - None, # 1739 - None, # 1740 - None, # 1741 - None, # 1742 - None, # 1743 - None, # 1744 - None, # 1745 - None, # 1746 - None, # 1747 - None, # 1748 - None, # 1749 - None, # 1750 - None, # 1751 - None, # 1752 - None, # 1753 - None, # 1754 - None, # 1755 - None, # 1756 - None, # 1757 - None, # 1758 - None, # 1759 - None, # 1760 - None, # 1761 - None, # 1762 - None, # 1763 - None, # 1764 - None, # 1765 - None, # 1766 - None, # 1767 - None, # 1768 - None, # 1769 - None, # 1770 - None, # 1771 - None, # 1772 - None, # 1773 - None, # 1774 - None, # 1775 - None, # 1776 - None, # 1777 - None, # 1778 - None, # 1779 - None, # 1780 - None, # 1781 - None, # 1782 - None, # 1783 - None, # 1784 - None, # 1785 - None, # 1786 - None, # 1787 - None, # 1788 - None, # 1789 - None, # 1790 - None, # 1791 - None, # 1792 - None, # 1793 - None, # 1794 - None, # 1795 - None, # 1796 - None, # 1797 - None, # 1798 - None, # 1799 - None, # 1800 - None, # 1801 - None, # 1802 - None, # 1803 - None, # 1804 - None, # 1805 - None, # 1806 - None, # 1807 - None, # 1808 - None, # 1809 - None, # 1810 - None, # 1811 - None, # 1812 - None, # 1813 - None, # 1814 - None, # 1815 - None, # 1816 - None, # 1817 - None, # 1818 - None, # 1819 - None, # 1820 - None, # 1821 - None, # 1822 - None, # 1823 - None, # 1824 - None, # 1825 - None, # 1826 - None, # 1827 - None, # 1828 - None, # 1829 - None, # 1830 - None, # 1831 - None, # 1832 - None, # 1833 - None, # 1834 - None, # 1835 - None, # 1836 - None, # 1837 - None, # 1838 - None, # 1839 - None, # 1840 - None, # 1841 - None, # 1842 - None, # 1843 - None, # 1844 - None, # 1845 - None, # 1846 - None, # 1847 - None, # 1848 - None, # 1849 - None, # 1850 - None, # 1851 - None, # 1852 - None, # 1853 - None, # 1854 - None, # 1855 - None, # 1856 - None, # 1857 - None, # 1858 - None, # 1859 - None, # 1860 - None, # 1861 - None, # 1862 - None, # 1863 - None, # 1864 - None, # 1865 - None, # 1866 - None, # 1867 - None, # 1868 - None, # 1869 - None, # 1870 - None, # 1871 - None, # 1872 - None, # 1873 - None, # 1874 - None, # 1875 - None, # 1876 - None, # 1877 - None, # 1878 - None, # 1879 - None, # 1880 - None, # 1881 - None, # 1882 - None, # 1883 - None, # 1884 - None, # 1885 - None, # 1886 - None, # 1887 - None, # 1888 - None, # 1889 - None, # 1890 - None, # 1891 - None, # 1892 - None, # 1893 - None, # 1894 - None, # 1895 - None, # 1896 - None, # 1897 - None, # 1898 - None, # 1899 - None, # 1900 - None, # 1901 - None, # 1902 - None, # 1903 - None, # 1904 - None, # 1905 - None, # 1906 - None, # 1907 - None, # 1908 - None, # 1909 - None, # 1910 - None, # 1911 - None, # 1912 - None, # 1913 - None, # 1914 - None, # 1915 - None, # 1916 - None, # 1917 - None, # 1918 - None, # 1919 - None, # 1920 - None, # 1921 - None, # 1922 - None, # 1923 - None, # 1924 - None, # 1925 - None, # 1926 - None, # 1927 - None, # 1928 - None, # 1929 - None, # 1930 - None, # 1931 - None, # 1932 - None, # 1933 - None, # 1934 - None, # 1935 - None, # 1936 - None, # 1937 - None, # 1938 - None, # 1939 - None, # 1940 - None, # 1941 - None, # 1942 - None, # 1943 - None, # 1944 - None, # 1945 - None, # 1946 - None, # 1947 - None, # 1948 - None, # 1949 - None, # 1950 - None, # 1951 - None, # 1952 - None, # 1953 - None, # 1954 - None, # 1955 - None, # 1956 - None, # 1957 - None, # 1958 - None, # 1959 - None, # 1960 - None, # 1961 - None, # 1962 - None, # 1963 - None, # 1964 - None, # 1965 - None, # 1966 - None, # 1967 - None, # 1968 - None, # 1969 - None, # 1970 - None, # 1971 - None, # 1972 - None, # 1973 - None, # 1974 - None, # 1975 - None, # 1976 - None, # 1977 - None, # 1978 - None, # 1979 - None, # 1980 - None, # 1981 - None, # 1982 - None, # 1983 - None, # 1984 - None, # 1985 - None, # 1986 - None, # 1987 - None, # 1988 - None, # 1989 - None, # 1990 - None, # 1991 - None, # 1992 - None, # 1993 - None, # 1994 - None, # 1995 - None, # 1996 - None, # 1997 - None, # 1998 - None, # 1999 - None, # 2000 - None, # 2001 - None, # 2002 - None, # 2003 - None, # 2004 - None, # 2005 - None, # 2006 - None, # 2007 - None, # 2008 - None, # 2009 - None, # 2010 - None, # 2011 - None, # 2012 - None, # 2013 - None, # 2014 - None, # 2015 - None, # 2016 - None, # 2017 - None, # 2018 - None, # 2019 - None, # 2020 - None, # 2021 - None, # 2022 - None, # 2023 - None, # 2024 - None, # 2025 - None, # 2026 - None, # 2027 - None, # 2028 - None, # 2029 - None, # 2030 - None, # 2031 - None, # 2032 - None, # 2033 - None, # 2034 - None, # 2035 - None, # 2036 - None, # 2037 - None, # 2038 - None, # 2039 - None, # 2040 - None, # 2041 - None, # 2042 - None, # 2043 - None, # 2044 - None, # 2045 - None, # 2046 - None, # 2047 - None, # 2048 - None, # 2049 - None, # 2050 - None, # 2051 - None, # 2052 - None, # 2053 - None, # 2054 - None, # 2055 - None, # 2056 - None, # 2057 - None, # 2058 - None, # 2059 - None, # 2060 - None, # 2061 - None, # 2062 - None, # 2063 - None, # 2064 - None, # 2065 - None, # 2066 - None, # 2067 - None, # 2068 - None, # 2069 - None, # 2070 - None, # 2071 - None, # 2072 - None, # 2073 - None, # 2074 - None, # 2075 - None, # 2076 - None, # 2077 - None, # 2078 - None, # 2079 - None, # 2080 - None, # 2081 - None, # 2082 - None, # 2083 - None, # 2084 - None, # 2085 - None, # 2086 - None, # 2087 - None, # 2088 - None, # 2089 - None, # 2090 - None, # 2091 - None, # 2092 - None, # 2093 - None, # 2094 - None, # 2095 - None, # 2096 - None, # 2097 - None, # 2098 - None, # 2099 - None, # 2100 - None, # 2101 - None, # 2102 - None, # 2103 - None, # 2104 - None, # 2105 - None, # 2106 - None, # 2107 - None, # 2108 - None, # 2109 - None, # 2110 - None, # 2111 - None, # 2112 - None, # 2113 - None, # 2114 - None, # 2115 - None, # 2116 - None, # 2117 - None, # 2118 - None, # 2119 - None, # 2120 - None, # 2121 - None, # 2122 - None, # 2123 - None, # 2124 - None, # 2125 - None, # 2126 - None, # 2127 - None, # 2128 - None, # 2129 - None, # 2130 - None, # 2131 - None, # 2132 - None, # 2133 - None, # 2134 - None, # 2135 - None, # 2136 - None, # 2137 - None, # 2138 - None, # 2139 - None, # 2140 - None, # 2141 - None, # 2142 - None, # 2143 - None, # 2144 - None, # 2145 - None, # 2146 - None, # 2147 - None, # 2148 - None, # 2149 - None, # 2150 - None, # 2151 - None, # 2152 - None, # 2153 - None, # 2154 - None, # 2155 - None, # 2156 - None, # 2157 - None, # 2158 - None, # 2159 - None, # 2160 - None, # 2161 - None, # 2162 - None, # 2163 - None, # 2164 - None, # 2165 - None, # 2166 - None, # 2167 - None, # 2168 - None, # 2169 - None, # 2170 - None, # 2171 - None, # 2172 - None, # 2173 - None, # 2174 - None, # 2175 - None, # 2176 - None, # 2177 - None, # 2178 - None, # 2179 - None, # 2180 - None, # 2181 - None, # 2182 - None, # 2183 - None, # 2184 - None, # 2185 - None, # 2186 - None, # 2187 - None, # 2188 - None, # 2189 - None, # 2190 - None, # 2191 - None, # 2192 - None, # 2193 - None, # 2194 - None, # 2195 - None, # 2196 - None, # 2197 - None, # 2198 - None, # 2199 - None, # 2200 - None, # 2201 - None, # 2202 - None, # 2203 - None, # 2204 - None, # 2205 - None, # 2206 - None, # 2207 - None, # 2208 - None, # 2209 - None, # 2210 - None, # 2211 - None, # 2212 - None, # 2213 - None, # 2214 - None, # 2215 - None, # 2216 - None, # 2217 - None, # 2218 - None, # 2219 - None, # 2220 - None, # 2221 - None, # 2222 - None, # 2223 - None, # 2224 - None, # 2225 - None, # 2226 - None, # 2227 - None, # 2228 - None, # 2229 - None, # 2230 - None, # 2231 - None, # 2232 - None, # 2233 - None, # 2234 - None, # 2235 - None, # 2236 - None, # 2237 - None, # 2238 - None, # 2239 - None, # 2240 - None, # 2241 - None, # 2242 - None, # 2243 - None, # 2244 - None, # 2245 - None, # 2246 - None, # 2247 - None, # 2248 - None, # 2249 - None, # 2250 - None, # 2251 - None, # 2252 - None, # 2253 - None, # 2254 - None, # 2255 - None, # 2256 - None, # 2257 - None, # 2258 - None, # 2259 - None, # 2260 - None, # 2261 - None, # 2262 - None, # 2263 - None, # 2264 - None, # 2265 - None, # 2266 - None, # 2267 - None, # 2268 - None, # 2269 - None, # 2270 - None, # 2271 - None, # 2272 - None, # 2273 - None, # 2274 - None, # 2275 - None, # 2276 - None, # 2277 - None, # 2278 - None, # 2279 - None, # 2280 - None, # 2281 - None, # 2282 - None, # 2283 - None, # 2284 - None, # 2285 - None, # 2286 - None, # 2287 - None, # 2288 - None, # 2289 - None, # 2290 - None, # 2291 - None, # 2292 - None, # 2293 - None, # 2294 - None, # 2295 - None, # 2296 - None, # 2297 - None, # 2298 - None, # 2299 - None, # 2300 - None, # 2301 - None, # 2302 - None, # 2303 - None, # 2304 - None, # 2305 - None, # 2306 - None, # 2307 - None, # 2308 - None, # 2309 - None, # 2310 - None, # 2311 - None, # 2312 - None, # 2313 - None, # 2314 - None, # 2315 - None, # 2316 - None, # 2317 - None, # 2318 - None, # 2319 - None, # 2320 - None, # 2321 - None, # 2322 - None, # 2323 - None, # 2324 - None, # 2325 - None, # 2326 - None, # 2327 - None, # 2328 - None, # 2329 - None, # 2330 - None, # 2331 - None, # 2332 - None, # 2333 - None, # 2334 - None, # 2335 - None, # 2336 - None, # 2337 - None, # 2338 - None, # 2339 - None, # 2340 - None, # 2341 - None, # 2342 - None, # 2343 - None, # 2344 - None, # 2345 - None, # 2346 - None, # 2347 - None, # 2348 - None, # 2349 - None, # 2350 - None, # 2351 - None, # 2352 - None, # 2353 - None, # 2354 - None, # 2355 - None, # 2356 - None, # 2357 - None, # 2358 - None, # 2359 - None, # 2360 - None, # 2361 - None, # 2362 - None, # 2363 - None, # 2364 - None, # 2365 - None, # 2366 - None, # 2367 - None, # 2368 - None, # 2369 - None, # 2370 - None, # 2371 - None, # 2372 - None, # 2373 - None, # 2374 - None, # 2375 - None, # 2376 - None, # 2377 - None, # 2378 - None, # 2379 - None, # 2380 - None, # 2381 - None, # 2382 - None, # 2383 - None, # 2384 - None, # 2385 - None, # 2386 - None, # 2387 - None, # 2388 - None, # 2389 - None, # 2390 - None, # 2391 - None, # 2392 - None, # 2393 - None, # 2394 - None, # 2395 - None, # 2396 - None, # 2397 - None, # 2398 - None, # 2399 - None, # 2400 - None, # 2401 - None, # 2402 - None, # 2403 - None, # 2404 - None, # 2405 - None, # 2406 - None, # 2407 - None, # 2408 - None, # 2409 - None, # 2410 - None, # 2411 - None, # 2412 - None, # 2413 - None, # 2414 - None, # 2415 - None, # 2416 - None, # 2417 - None, # 2418 - None, # 2419 - None, # 2420 - None, # 2421 - None, # 2422 - None, # 2423 - None, # 2424 - None, # 2425 - None, # 2426 - None, # 2427 - None, # 2428 - None, # 2429 - None, # 2430 - None, # 2431 - None, # 2432 - None, # 2433 - None, # 2434 - None, # 2435 - None, # 2436 - None, # 2437 - None, # 2438 - None, # 2439 - None, # 2440 - None, # 2441 - None, # 2442 - None, # 2443 - None, # 2444 - None, # 2445 - None, # 2446 - None, # 2447 - None, # 2448 - None, # 2449 - None, # 2450 - None, # 2451 - None, # 2452 - None, # 2453 - None, # 2454 - None, # 2455 - None, # 2456 - None, # 2457 - None, # 2458 - None, # 2459 - None, # 2460 - None, # 2461 - None, # 2462 - None, # 2463 - None, # 2464 - None, # 2465 - None, # 2466 - None, # 2467 - None, # 2468 - None, # 2469 - None, # 2470 - None, # 2471 - None, # 2472 - None, # 2473 - None, # 2474 - None, # 2475 - None, # 2476 - None, # 2477 - None, # 2478 - None, # 2479 - None, # 2480 - None, # 2481 - None, # 2482 - None, # 2483 - None, # 2484 - None, # 2485 - None, # 2486 - None, # 2487 - None, # 2488 - None, # 2489 - None, # 2490 - None, # 2491 - None, # 2492 - None, # 2493 - None, # 2494 - None, # 2495 - None, # 2496 - None, # 2497 - None, # 2498 - None, # 2499 - None, # 2500 - None, # 2501 - None, # 2502 - None, # 2503 - None, # 2504 - None, # 2505 - None, # 2506 - None, # 2507 - None, # 2508 - None, # 2509 - None, # 2510 - None, # 2511 - None, # 2512 - None, # 2513 - None, # 2514 - None, # 2515 - None, # 2516 - None, # 2517 - None, # 2518 - None, # 2519 - None, # 2520 - None, # 2521 - None, # 2522 - None, # 2523 - None, # 2524 - None, # 2525 - None, # 2526 - None, # 2527 - None, # 2528 - None, # 2529 - None, # 2530 - None, # 2531 - None, # 2532 - None, # 2533 - None, # 2534 - None, # 2535 - None, # 2536 - None, # 2537 - None, # 2538 - None, # 2539 - None, # 2540 - None, # 2541 - None, # 2542 - None, # 2543 - None, # 2544 - None, # 2545 - None, # 2546 - None, # 2547 - None, # 2548 - None, # 2549 - None, # 2550 - None, # 2551 - None, # 2552 - None, # 2553 - None, # 2554 - None, # 2555 - None, # 2556 - None, # 2557 - None, # 2558 - None, # 2559 - None, # 2560 - None, # 2561 - None, # 2562 - None, # 2563 - None, # 2564 - None, # 2565 - None, # 2566 - None, # 2567 - None, # 2568 - None, # 2569 - None, # 2570 - None, # 2571 - None, # 2572 - None, # 2573 - None, # 2574 - None, # 2575 - None, # 2576 - None, # 2577 - None, # 2578 - None, # 2579 - None, # 2580 - None, # 2581 - None, # 2582 - None, # 2583 - None, # 2584 - None, # 2585 - None, # 2586 - None, # 2587 - None, # 2588 - None, # 2589 - None, # 2590 - None, # 2591 - None, # 2592 - None, # 2593 - None, # 2594 - None, # 2595 - None, # 2596 - None, # 2597 - None, # 2598 - None, # 2599 - None, # 2600 - None, # 2601 - None, # 2602 - None, # 2603 - None, # 2604 - None, # 2605 - None, # 2606 - None, # 2607 - None, # 2608 - None, # 2609 - None, # 2610 - None, # 2611 - None, # 2612 - None, # 2613 - None, # 2614 - None, # 2615 - None, # 2616 - None, # 2617 - None, # 2618 - None, # 2619 - None, # 2620 - None, # 2621 - None, # 2622 - None, # 2623 - None, # 2624 - None, # 2625 - None, # 2626 - None, # 2627 - None, # 2628 - None, # 2629 - None, # 2630 - None, # 2631 - None, # 2632 - None, # 2633 - None, # 2634 - None, # 2635 - None, # 2636 - None, # 2637 - None, # 2638 - None, # 2639 - None, # 2640 - None, # 2641 - None, # 2642 - None, # 2643 - None, # 2644 - None, # 2645 - None, # 2646 - None, # 2647 - None, # 2648 - None, # 2649 - None, # 2650 - None, # 2651 - None, # 2652 - None, # 2653 - None, # 2654 - None, # 2655 - None, # 2656 - None, # 2657 - None, # 2658 - None, # 2659 - None, # 2660 - None, # 2661 - None, # 2662 - None, # 2663 - None, # 2664 - None, # 2665 - None, # 2666 - None, # 2667 - None, # 2668 - None, # 2669 - None, # 2670 - None, # 2671 - None, # 2672 - None, # 2673 - None, # 2674 - None, # 2675 - None, # 2676 - None, # 2677 - None, # 2678 - None, # 2679 - None, # 2680 - None, # 2681 - None, # 2682 - None, # 2683 - None, # 2684 - None, # 2685 - None, # 2686 - None, # 2687 - None, # 2688 - None, # 2689 - None, # 2690 - None, # 2691 - None, # 2692 - None, # 2693 - None, # 2694 - None, # 2695 - None, # 2696 - None, # 2697 - None, # 2698 - None, # 2699 - None, # 2700 - None, # 2701 - None, # 2702 - None, # 2703 - None, # 2704 - None, # 2705 - None, # 2706 - None, # 2707 - None, # 2708 - None, # 2709 - None, # 2710 - None, # 2711 - None, # 2712 - None, # 2713 - None, # 2714 - None, # 2715 - None, # 2716 - None, # 2717 - None, # 2718 - None, # 2719 - None, # 2720 - None, # 2721 - None, # 2722 - None, # 2723 - None, # 2724 - None, # 2725 - None, # 2726 - None, # 2727 - None, # 2728 - None, # 2729 - None, # 2730 - None, # 2731 - None, # 2732 - None, # 2733 - None, # 2734 - None, # 2735 - None, # 2736 - None, # 2737 - None, # 2738 - None, # 2739 - None, # 2740 - None, # 2741 - None, # 2742 - None, # 2743 - None, # 2744 - None, # 2745 - None, # 2746 - None, # 2747 - None, # 2748 - None, # 2749 - None, # 2750 - None, # 2751 - None, # 2752 - None, # 2753 - None, # 2754 - None, # 2755 - None, # 2756 - None, # 2757 - None, # 2758 - None, # 2759 - None, # 2760 - None, # 2761 - None, # 2762 - None, # 2763 - None, # 2764 - None, # 2765 - None, # 2766 - None, # 2767 - None, # 2768 - None, # 2769 - None, # 2770 - None, # 2771 - None, # 2772 - None, # 2773 - None, # 2774 - None, # 2775 - None, # 2776 - None, # 2777 - None, # 2778 - None, # 2779 - None, # 2780 - None, # 2781 - None, # 2782 - None, # 2783 - None, # 2784 - None, # 2785 - None, # 2786 - None, # 2787 - None, # 2788 - None, # 2789 - None, # 2790 - None, # 2791 - None, # 2792 - None, # 2793 - None, # 2794 - None, # 2795 - None, # 2796 - None, # 2797 - None, # 2798 - None, # 2799 - None, # 2800 - None, # 2801 - None, # 2802 - None, # 2803 - None, # 2804 - None, # 2805 - None, # 2806 - None, # 2807 - None, # 2808 - None, # 2809 - None, # 2810 - None, # 2811 - None, # 2812 - None, # 2813 - None, # 2814 - None, # 2815 - None, # 2816 - None, # 2817 - None, # 2818 - None, # 2819 - None, # 2820 - None, # 2821 - None, # 2822 - None, # 2823 - None, # 2824 - None, # 2825 - None, # 2826 - None, # 2827 - None, # 2828 - None, # 2829 - None, # 2830 - None, # 2831 - None, # 2832 - None, # 2833 - None, # 2834 - None, # 2835 - None, # 2836 - None, # 2837 - None, # 2838 - None, # 2839 - None, # 2840 - None, # 2841 - None, # 2842 - None, # 2843 - None, # 2844 - None, # 2845 - None, # 2846 - None, # 2847 - None, # 2848 - None, # 2849 - None, # 2850 - None, # 2851 - None, # 2852 - None, # 2853 - None, # 2854 - None, # 2855 - None, # 2856 - None, # 2857 - None, # 2858 - None, # 2859 - None, # 2860 - None, # 2861 - None, # 2862 - None, # 2863 - None, # 2864 - None, # 2865 - None, # 2866 - None, # 2867 - None, # 2868 - None, # 2869 - None, # 2870 - None, # 2871 - None, # 2872 - None, # 2873 - None, # 2874 - None, # 2875 - None, # 2876 - None, # 2877 - None, # 2878 - None, # 2879 - None, # 2880 - None, # 2881 - None, # 2882 - None, # 2883 - None, # 2884 - None, # 2885 - None, # 2886 - None, # 2887 - None, # 2888 - None, # 2889 - None, # 2890 - None, # 2891 - None, # 2892 - None, # 2893 - None, # 2894 - None, # 2895 - None, # 2896 - None, # 2897 - None, # 2898 - None, # 2899 - None, # 2900 - None, # 2901 - None, # 2902 - None, # 2903 - None, # 2904 - None, # 2905 - None, # 2906 - None, # 2907 - None, # 2908 - None, # 2909 - None, # 2910 - None, # 2911 - None, # 2912 - None, # 2913 - None, # 2914 - None, # 2915 - None, # 2916 - None, # 2917 - None, # 2918 - None, # 2919 - None, # 2920 - None, # 2921 - None, # 2922 - None, # 2923 - None, # 2924 - None, # 2925 - None, # 2926 - None, # 2927 - None, # 2928 - None, # 2929 - None, # 2930 - None, # 2931 - None, # 2932 - None, # 2933 - None, # 2934 - None, # 2935 - None, # 2936 - None, # 2937 - None, # 2938 - None, # 2939 - None, # 2940 - None, # 2941 - None, # 2942 - None, # 2943 - None, # 2944 - None, # 2945 - None, # 2946 - None, # 2947 - None, # 2948 - None, # 2949 - None, # 2950 - None, # 2951 - None, # 2952 - None, # 2953 - None, # 2954 - None, # 2955 - None, # 2956 - None, # 2957 - None, # 2958 - None, # 2959 - None, # 2960 - None, # 2961 - None, # 2962 - None, # 2963 - None, # 2964 - None, # 2965 - None, # 2966 - None, # 2967 - None, # 2968 - None, # 2969 - None, # 2970 - None, # 2971 - None, # 2972 - None, # 2973 - None, # 2974 - None, # 2975 - None, # 2976 - None, # 2977 - None, # 2978 - None, # 2979 - None, # 2980 - None, # 2981 - None, # 2982 - None, # 2983 - None, # 2984 - None, # 2985 - None, # 2986 - None, # 2987 - None, # 2988 - None, # 2989 - None, # 2990 - None, # 2991 - None, # 2992 - None, # 2993 - None, # 2994 - None, # 2995 - None, # 2996 - None, # 2997 - None, # 2998 - None, # 2999 - None, # 3000 - None, # 3001 - None, # 3002 - None, # 3003 - None, # 3004 - None, # 3005 - None, # 3006 - None, # 3007 - None, # 3008 - None, # 3009 - None, # 3010 - None, # 3011 - None, # 3012 - None, # 3013 - None, # 3014 - None, # 3015 - None, # 3016 - None, # 3017 - None, # 3018 - None, # 3019 - None, # 3020 - None, # 3021 - None, # 3022 - None, # 3023 - None, # 3024 - None, # 3025 - None, # 3026 - None, # 3027 - None, # 3028 - None, # 3029 - None, # 3030 - None, # 3031 - None, # 3032 - None, # 3033 - None, # 3034 - None, # 3035 - None, # 3036 - None, # 3037 - None, # 3038 - None, # 3039 - None, # 3040 - None, # 3041 - None, # 3042 - None, # 3043 - None, # 3044 - None, # 3045 - None, # 3046 - None, # 3047 - None, # 3048 - None, # 3049 - None, # 3050 - None, # 3051 - None, # 3052 - None, # 3053 - None, # 3054 - None, # 3055 - None, # 3056 - None, # 3057 - None, # 3058 - None, # 3059 - None, # 3060 - None, # 3061 - None, # 3062 - None, # 3063 - None, # 3064 - None, # 3065 - None, # 3066 - None, # 3067 - None, # 3068 - None, # 3069 - None, # 3070 - None, # 3071 - None, # 3072 - None, # 3073 - None, # 3074 - None, # 3075 - None, # 3076 - None, # 3077 - None, # 3078 - None, # 3079 - None, # 3080 - None, # 3081 - None, # 3082 - None, # 3083 - None, # 3084 - None, # 3085 - None, # 3086 - None, # 3087 - None, # 3088 - None, # 3089 - None, # 3090 - None, # 3091 - None, # 3092 - None, # 3093 - None, # 3094 - None, # 3095 - None, # 3096 - None, # 3097 - None, # 3098 - None, # 3099 - None, # 3100 - None, # 3101 - None, # 3102 - None, # 3103 - None, # 3104 - None, # 3105 - None, # 3106 - None, # 3107 - None, # 3108 - None, # 3109 - None, # 3110 - None, # 3111 - None, # 3112 - None, # 3113 - None, # 3114 - None, # 3115 - None, # 3116 - None, # 3117 - None, # 3118 - None, # 3119 - None, # 3120 - None, # 3121 - None, # 3122 - None, # 3123 - None, # 3124 - None, # 3125 - None, # 3126 - None, # 3127 - None, # 3128 - None, # 3129 - None, # 3130 - None, # 3131 - None, # 3132 - None, # 3133 - None, # 3134 - None, # 3135 - None, # 3136 - None, # 3137 - None, # 3138 - None, # 3139 - None, # 3140 - None, # 3141 - None, # 3142 - None, # 3143 - None, # 3144 - None, # 3145 - None, # 3146 - None, # 3147 - None, # 3148 - None, # 3149 - None, # 3150 - None, # 3151 - None, # 3152 - None, # 3153 - None, # 3154 - None, # 3155 - None, # 3156 - None, # 3157 - None, # 3158 - None, # 3159 - None, # 3160 - None, # 3161 - None, # 3162 - None, # 3163 - None, # 3164 - None, # 3165 - None, # 3166 - None, # 3167 - None, # 3168 - None, # 3169 - None, # 3170 - None, # 3171 - None, # 3172 - None, # 3173 - None, # 3174 - None, # 3175 - None, # 3176 - None, # 3177 - None, # 3178 - None, # 3179 - None, # 3180 - None, # 3181 - None, # 3182 - None, # 3183 - None, # 3184 - None, # 3185 - None, # 3186 - None, # 3187 - None, # 3188 - None, # 3189 - None, # 3190 - None, # 3191 - None, # 3192 - None, # 3193 - None, # 3194 - None, # 3195 - None, # 3196 - None, # 3197 - None, # 3198 - None, # 3199 - None, # 3200 - None, # 3201 - None, # 3202 - None, # 3203 - None, # 3204 - None, # 3205 - None, # 3206 - None, # 3207 - None, # 3208 - None, # 3209 - None, # 3210 - None, # 3211 - None, # 3212 - None, # 3213 - None, # 3214 - None, # 3215 - None, # 3216 - None, # 3217 - None, # 3218 - None, # 3219 - None, # 3220 - None, # 3221 - None, # 3222 - None, # 3223 - None, # 3224 - None, # 3225 - None, # 3226 - None, # 3227 - None, # 3228 - None, # 3229 - None, # 3230 - None, # 3231 - None, # 3232 - None, # 3233 - None, # 3234 - None, # 3235 - None, # 3236 - None, # 3237 - None, # 3238 - None, # 3239 - None, # 3240 - None, # 3241 - None, # 3242 - None, # 3243 - None, # 3244 - None, # 3245 - None, # 3246 - None, # 3247 - None, # 3248 - None, # 3249 - None, # 3250 - None, # 3251 - None, # 3252 - None, # 3253 - None, # 3254 - None, # 3255 - None, # 3256 - None, # 3257 - None, # 3258 - None, # 3259 - None, # 3260 - None, # 3261 - None, # 3262 - None, # 3263 - None, # 3264 - None, # 3265 - None, # 3266 - None, # 3267 - None, # 3268 - None, # 3269 - None, # 3270 - None, # 3271 - None, # 3272 - None, # 3273 - None, # 3274 - None, # 3275 - None, # 3276 - None, # 3277 - None, # 3278 - None, # 3279 - None, # 3280 - None, # 3281 - None, # 3282 - None, # 3283 - None, # 3284 - None, # 3285 - None, # 3286 - None, # 3287 - None, # 3288 - None, # 3289 - None, # 3290 - None, # 3291 - None, # 3292 - None, # 3293 - None, # 3294 - None, # 3295 - None, # 3296 - None, # 3297 - None, # 3298 - None, # 3299 - None, # 3300 - None, # 3301 - None, # 3302 - None, # 3303 - None, # 3304 - None, # 3305 - None, # 3306 - None, # 3307 - None, # 3308 - None, # 3309 - None, # 3310 - None, # 3311 - None, # 3312 - None, # 3313 - None, # 3314 - None, # 3315 - None, # 3316 - None, # 3317 - None, # 3318 - None, # 3319 - None, # 3320 - None, # 3321 - None, # 3322 - None, # 3323 - None, # 3324 - None, # 3325 - None, # 3326 - None, # 3327 - None, # 3328 - ( - 3329, - TType.STRUCT, - "sessionConf", - [TDBSqlSessionConf, None], - None, - ), # 3329 + None, # 0 + (1, TType.STRUCT, 'sessionHandle', [TSessionHandle, None], None, ), # 1 + (2, TType.STRING, 'delegationToken', 'UTF8', None, ), # 2 + None, # 3 + None, # 4 + None, # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + None, # 1281 + None, # 1282 + None, # 1283 + None, # 1284 + None, # 1285 + None, # 1286 + None, # 1287 + None, # 1288 + None, # 1289 + None, # 1290 + None, # 1291 + None, # 1292 + None, # 1293 + None, # 1294 + None, # 1295 + None, # 1296 + None, # 1297 + None, # 1298 + None, # 1299 + None, # 1300 + None, # 1301 + None, # 1302 + None, # 1303 + None, # 1304 + None, # 1305 + None, # 1306 + None, # 1307 + None, # 1308 + None, # 1309 + None, # 1310 + None, # 1311 + None, # 1312 + None, # 1313 + None, # 1314 + None, # 1315 + None, # 1316 + None, # 1317 + None, # 1318 + None, # 1319 + None, # 1320 + None, # 1321 + None, # 1322 + None, # 1323 + None, # 1324 + None, # 1325 + None, # 1326 + None, # 1327 + None, # 1328 + None, # 1329 + None, # 1330 + None, # 1331 + None, # 1332 + None, # 1333 + None, # 1334 + None, # 1335 + None, # 1336 + None, # 1337 + None, # 1338 + None, # 1339 + None, # 1340 + None, # 1341 + None, # 1342 + None, # 1343 + None, # 1344 + None, # 1345 + None, # 1346 + None, # 1347 + None, # 1348 + None, # 1349 + None, # 1350 + None, # 1351 + None, # 1352 + None, # 1353 + None, # 1354 + None, # 1355 + None, # 1356 + None, # 1357 + None, # 1358 + None, # 1359 + None, # 1360 + None, # 1361 + None, # 1362 + None, # 1363 + None, # 1364 + None, # 1365 + None, # 1366 + None, # 1367 + None, # 1368 + None, # 1369 + None, # 1370 + None, # 1371 + None, # 1372 + None, # 1373 + None, # 1374 + None, # 1375 + None, # 1376 + None, # 1377 + None, # 1378 + None, # 1379 + None, # 1380 + None, # 1381 + None, # 1382 + None, # 1383 + None, # 1384 + None, # 1385 + None, # 1386 + None, # 1387 + None, # 1388 + None, # 1389 + None, # 1390 + None, # 1391 + None, # 1392 + None, # 1393 + None, # 1394 + None, # 1395 + None, # 1396 + None, # 1397 + None, # 1398 + None, # 1399 + None, # 1400 + None, # 1401 + None, # 1402 + None, # 1403 + None, # 1404 + None, # 1405 + None, # 1406 + None, # 1407 + None, # 1408 + None, # 1409 + None, # 1410 + None, # 1411 + None, # 1412 + None, # 1413 + None, # 1414 + None, # 1415 + None, # 1416 + None, # 1417 + None, # 1418 + None, # 1419 + None, # 1420 + None, # 1421 + None, # 1422 + None, # 1423 + None, # 1424 + None, # 1425 + None, # 1426 + None, # 1427 + None, # 1428 + None, # 1429 + None, # 1430 + None, # 1431 + None, # 1432 + None, # 1433 + None, # 1434 + None, # 1435 + None, # 1436 + None, # 1437 + None, # 1438 + None, # 1439 + None, # 1440 + None, # 1441 + None, # 1442 + None, # 1443 + None, # 1444 + None, # 1445 + None, # 1446 + None, # 1447 + None, # 1448 + None, # 1449 + None, # 1450 + None, # 1451 + None, # 1452 + None, # 1453 + None, # 1454 + None, # 1455 + None, # 1456 + None, # 1457 + None, # 1458 + None, # 1459 + None, # 1460 + None, # 1461 + None, # 1462 + None, # 1463 + None, # 1464 + None, # 1465 + None, # 1466 + None, # 1467 + None, # 1468 + None, # 1469 + None, # 1470 + None, # 1471 + None, # 1472 + None, # 1473 + None, # 1474 + None, # 1475 + None, # 1476 + None, # 1477 + None, # 1478 + None, # 1479 + None, # 1480 + None, # 1481 + None, # 1482 + None, # 1483 + None, # 1484 + None, # 1485 + None, # 1486 + None, # 1487 + None, # 1488 + None, # 1489 + None, # 1490 + None, # 1491 + None, # 1492 + None, # 1493 + None, # 1494 + None, # 1495 + None, # 1496 + None, # 1497 + None, # 1498 + None, # 1499 + None, # 1500 + None, # 1501 + None, # 1502 + None, # 1503 + None, # 1504 + None, # 1505 + None, # 1506 + None, # 1507 + None, # 1508 + None, # 1509 + None, # 1510 + None, # 1511 + None, # 1512 + None, # 1513 + None, # 1514 + None, # 1515 + None, # 1516 + None, # 1517 + None, # 1518 + None, # 1519 + None, # 1520 + None, # 1521 + None, # 1522 + None, # 1523 + None, # 1524 + None, # 1525 + None, # 1526 + None, # 1527 + None, # 1528 + None, # 1529 + None, # 1530 + None, # 1531 + None, # 1532 + None, # 1533 + None, # 1534 + None, # 1535 + None, # 1536 + None, # 1537 + None, # 1538 + None, # 1539 + None, # 1540 + None, # 1541 + None, # 1542 + None, # 1543 + None, # 1544 + None, # 1545 + None, # 1546 + None, # 1547 + None, # 1548 + None, # 1549 + None, # 1550 + None, # 1551 + None, # 1552 + None, # 1553 + None, # 1554 + None, # 1555 + None, # 1556 + None, # 1557 + None, # 1558 + None, # 1559 + None, # 1560 + None, # 1561 + None, # 1562 + None, # 1563 + None, # 1564 + None, # 1565 + None, # 1566 + None, # 1567 + None, # 1568 + None, # 1569 + None, # 1570 + None, # 1571 + None, # 1572 + None, # 1573 + None, # 1574 + None, # 1575 + None, # 1576 + None, # 1577 + None, # 1578 + None, # 1579 + None, # 1580 + None, # 1581 + None, # 1582 + None, # 1583 + None, # 1584 + None, # 1585 + None, # 1586 + None, # 1587 + None, # 1588 + None, # 1589 + None, # 1590 + None, # 1591 + None, # 1592 + None, # 1593 + None, # 1594 + None, # 1595 + None, # 1596 + None, # 1597 + None, # 1598 + None, # 1599 + None, # 1600 + None, # 1601 + None, # 1602 + None, # 1603 + None, # 1604 + None, # 1605 + None, # 1606 + None, # 1607 + None, # 1608 + None, # 1609 + None, # 1610 + None, # 1611 + None, # 1612 + None, # 1613 + None, # 1614 + None, # 1615 + None, # 1616 + None, # 1617 + None, # 1618 + None, # 1619 + None, # 1620 + None, # 1621 + None, # 1622 + None, # 1623 + None, # 1624 + None, # 1625 + None, # 1626 + None, # 1627 + None, # 1628 + None, # 1629 + None, # 1630 + None, # 1631 + None, # 1632 + None, # 1633 + None, # 1634 + None, # 1635 + None, # 1636 + None, # 1637 + None, # 1638 + None, # 1639 + None, # 1640 + None, # 1641 + None, # 1642 + None, # 1643 + None, # 1644 + None, # 1645 + None, # 1646 + None, # 1647 + None, # 1648 + None, # 1649 + None, # 1650 + None, # 1651 + None, # 1652 + None, # 1653 + None, # 1654 + None, # 1655 + None, # 1656 + None, # 1657 + None, # 1658 + None, # 1659 + None, # 1660 + None, # 1661 + None, # 1662 + None, # 1663 + None, # 1664 + None, # 1665 + None, # 1666 + None, # 1667 + None, # 1668 + None, # 1669 + None, # 1670 + None, # 1671 + None, # 1672 + None, # 1673 + None, # 1674 + None, # 1675 + None, # 1676 + None, # 1677 + None, # 1678 + None, # 1679 + None, # 1680 + None, # 1681 + None, # 1682 + None, # 1683 + None, # 1684 + None, # 1685 + None, # 1686 + None, # 1687 + None, # 1688 + None, # 1689 + None, # 1690 + None, # 1691 + None, # 1692 + None, # 1693 + None, # 1694 + None, # 1695 + None, # 1696 + None, # 1697 + None, # 1698 + None, # 1699 + None, # 1700 + None, # 1701 + None, # 1702 + None, # 1703 + None, # 1704 + None, # 1705 + None, # 1706 + None, # 1707 + None, # 1708 + None, # 1709 + None, # 1710 + None, # 1711 + None, # 1712 + None, # 1713 + None, # 1714 + None, # 1715 + None, # 1716 + None, # 1717 + None, # 1718 + None, # 1719 + None, # 1720 + None, # 1721 + None, # 1722 + None, # 1723 + None, # 1724 + None, # 1725 + None, # 1726 + None, # 1727 + None, # 1728 + None, # 1729 + None, # 1730 + None, # 1731 + None, # 1732 + None, # 1733 + None, # 1734 + None, # 1735 + None, # 1736 + None, # 1737 + None, # 1738 + None, # 1739 + None, # 1740 + None, # 1741 + None, # 1742 + None, # 1743 + None, # 1744 + None, # 1745 + None, # 1746 + None, # 1747 + None, # 1748 + None, # 1749 + None, # 1750 + None, # 1751 + None, # 1752 + None, # 1753 + None, # 1754 + None, # 1755 + None, # 1756 + None, # 1757 + None, # 1758 + None, # 1759 + None, # 1760 + None, # 1761 + None, # 1762 + None, # 1763 + None, # 1764 + None, # 1765 + None, # 1766 + None, # 1767 + None, # 1768 + None, # 1769 + None, # 1770 + None, # 1771 + None, # 1772 + None, # 1773 + None, # 1774 + None, # 1775 + None, # 1776 + None, # 1777 + None, # 1778 + None, # 1779 + None, # 1780 + None, # 1781 + None, # 1782 + None, # 1783 + None, # 1784 + None, # 1785 + None, # 1786 + None, # 1787 + None, # 1788 + None, # 1789 + None, # 1790 + None, # 1791 + None, # 1792 + None, # 1793 + None, # 1794 + None, # 1795 + None, # 1796 + None, # 1797 + None, # 1798 + None, # 1799 + None, # 1800 + None, # 1801 + None, # 1802 + None, # 1803 + None, # 1804 + None, # 1805 + None, # 1806 + None, # 1807 + None, # 1808 + None, # 1809 + None, # 1810 + None, # 1811 + None, # 1812 + None, # 1813 + None, # 1814 + None, # 1815 + None, # 1816 + None, # 1817 + None, # 1818 + None, # 1819 + None, # 1820 + None, # 1821 + None, # 1822 + None, # 1823 + None, # 1824 + None, # 1825 + None, # 1826 + None, # 1827 + None, # 1828 + None, # 1829 + None, # 1830 + None, # 1831 + None, # 1832 + None, # 1833 + None, # 1834 + None, # 1835 + None, # 1836 + None, # 1837 + None, # 1838 + None, # 1839 + None, # 1840 + None, # 1841 + None, # 1842 + None, # 1843 + None, # 1844 + None, # 1845 + None, # 1846 + None, # 1847 + None, # 1848 + None, # 1849 + None, # 1850 + None, # 1851 + None, # 1852 + None, # 1853 + None, # 1854 + None, # 1855 + None, # 1856 + None, # 1857 + None, # 1858 + None, # 1859 + None, # 1860 + None, # 1861 + None, # 1862 + None, # 1863 + None, # 1864 + None, # 1865 + None, # 1866 + None, # 1867 + None, # 1868 + None, # 1869 + None, # 1870 + None, # 1871 + None, # 1872 + None, # 1873 + None, # 1874 + None, # 1875 + None, # 1876 + None, # 1877 + None, # 1878 + None, # 1879 + None, # 1880 + None, # 1881 + None, # 1882 + None, # 1883 + None, # 1884 + None, # 1885 + None, # 1886 + None, # 1887 + None, # 1888 + None, # 1889 + None, # 1890 + None, # 1891 + None, # 1892 + None, # 1893 + None, # 1894 + None, # 1895 + None, # 1896 + None, # 1897 + None, # 1898 + None, # 1899 + None, # 1900 + None, # 1901 + None, # 1902 + None, # 1903 + None, # 1904 + None, # 1905 + None, # 1906 + None, # 1907 + None, # 1908 + None, # 1909 + None, # 1910 + None, # 1911 + None, # 1912 + None, # 1913 + None, # 1914 + None, # 1915 + None, # 1916 + None, # 1917 + None, # 1918 + None, # 1919 + None, # 1920 + None, # 1921 + None, # 1922 + None, # 1923 + None, # 1924 + None, # 1925 + None, # 1926 + None, # 1927 + None, # 1928 + None, # 1929 + None, # 1930 + None, # 1931 + None, # 1932 + None, # 1933 + None, # 1934 + None, # 1935 + None, # 1936 + None, # 1937 + None, # 1938 + None, # 1939 + None, # 1940 + None, # 1941 + None, # 1942 + None, # 1943 + None, # 1944 + None, # 1945 + None, # 1946 + None, # 1947 + None, # 1948 + None, # 1949 + None, # 1950 + None, # 1951 + None, # 1952 + None, # 1953 + None, # 1954 + None, # 1955 + None, # 1956 + None, # 1957 + None, # 1958 + None, # 1959 + None, # 1960 + None, # 1961 + None, # 1962 + None, # 1963 + None, # 1964 + None, # 1965 + None, # 1966 + None, # 1967 + None, # 1968 + None, # 1969 + None, # 1970 + None, # 1971 + None, # 1972 + None, # 1973 + None, # 1974 + None, # 1975 + None, # 1976 + None, # 1977 + None, # 1978 + None, # 1979 + None, # 1980 + None, # 1981 + None, # 1982 + None, # 1983 + None, # 1984 + None, # 1985 + None, # 1986 + None, # 1987 + None, # 1988 + None, # 1989 + None, # 1990 + None, # 1991 + None, # 1992 + None, # 1993 + None, # 1994 + None, # 1995 + None, # 1996 + None, # 1997 + None, # 1998 + None, # 1999 + None, # 2000 + None, # 2001 + None, # 2002 + None, # 2003 + None, # 2004 + None, # 2005 + None, # 2006 + None, # 2007 + None, # 2008 + None, # 2009 + None, # 2010 + None, # 2011 + None, # 2012 + None, # 2013 + None, # 2014 + None, # 2015 + None, # 2016 + None, # 2017 + None, # 2018 + None, # 2019 + None, # 2020 + None, # 2021 + None, # 2022 + None, # 2023 + None, # 2024 + None, # 2025 + None, # 2026 + None, # 2027 + None, # 2028 + None, # 2029 + None, # 2030 + None, # 2031 + None, # 2032 + None, # 2033 + None, # 2034 + None, # 2035 + None, # 2036 + None, # 2037 + None, # 2038 + None, # 2039 + None, # 2040 + None, # 2041 + None, # 2042 + None, # 2043 + None, # 2044 + None, # 2045 + None, # 2046 + None, # 2047 + None, # 2048 + None, # 2049 + None, # 2050 + None, # 2051 + None, # 2052 + None, # 2053 + None, # 2054 + None, # 2055 + None, # 2056 + None, # 2057 + None, # 2058 + None, # 2059 + None, # 2060 + None, # 2061 + None, # 2062 + None, # 2063 + None, # 2064 + None, # 2065 + None, # 2066 + None, # 2067 + None, # 2068 + None, # 2069 + None, # 2070 + None, # 2071 + None, # 2072 + None, # 2073 + None, # 2074 + None, # 2075 + None, # 2076 + None, # 2077 + None, # 2078 + None, # 2079 + None, # 2080 + None, # 2081 + None, # 2082 + None, # 2083 + None, # 2084 + None, # 2085 + None, # 2086 + None, # 2087 + None, # 2088 + None, # 2089 + None, # 2090 + None, # 2091 + None, # 2092 + None, # 2093 + None, # 2094 + None, # 2095 + None, # 2096 + None, # 2097 + None, # 2098 + None, # 2099 + None, # 2100 + None, # 2101 + None, # 2102 + None, # 2103 + None, # 2104 + None, # 2105 + None, # 2106 + None, # 2107 + None, # 2108 + None, # 2109 + None, # 2110 + None, # 2111 + None, # 2112 + None, # 2113 + None, # 2114 + None, # 2115 + None, # 2116 + None, # 2117 + None, # 2118 + None, # 2119 + None, # 2120 + None, # 2121 + None, # 2122 + None, # 2123 + None, # 2124 + None, # 2125 + None, # 2126 + None, # 2127 + None, # 2128 + None, # 2129 + None, # 2130 + None, # 2131 + None, # 2132 + None, # 2133 + None, # 2134 + None, # 2135 + None, # 2136 + None, # 2137 + None, # 2138 + None, # 2139 + None, # 2140 + None, # 2141 + None, # 2142 + None, # 2143 + None, # 2144 + None, # 2145 + None, # 2146 + None, # 2147 + None, # 2148 + None, # 2149 + None, # 2150 + None, # 2151 + None, # 2152 + None, # 2153 + None, # 2154 + None, # 2155 + None, # 2156 + None, # 2157 + None, # 2158 + None, # 2159 + None, # 2160 + None, # 2161 + None, # 2162 + None, # 2163 + None, # 2164 + None, # 2165 + None, # 2166 + None, # 2167 + None, # 2168 + None, # 2169 + None, # 2170 + None, # 2171 + None, # 2172 + None, # 2173 + None, # 2174 + None, # 2175 + None, # 2176 + None, # 2177 + None, # 2178 + None, # 2179 + None, # 2180 + None, # 2181 + None, # 2182 + None, # 2183 + None, # 2184 + None, # 2185 + None, # 2186 + None, # 2187 + None, # 2188 + None, # 2189 + None, # 2190 + None, # 2191 + None, # 2192 + None, # 2193 + None, # 2194 + None, # 2195 + None, # 2196 + None, # 2197 + None, # 2198 + None, # 2199 + None, # 2200 + None, # 2201 + None, # 2202 + None, # 2203 + None, # 2204 + None, # 2205 + None, # 2206 + None, # 2207 + None, # 2208 + None, # 2209 + None, # 2210 + None, # 2211 + None, # 2212 + None, # 2213 + None, # 2214 + None, # 2215 + None, # 2216 + None, # 2217 + None, # 2218 + None, # 2219 + None, # 2220 + None, # 2221 + None, # 2222 + None, # 2223 + None, # 2224 + None, # 2225 + None, # 2226 + None, # 2227 + None, # 2228 + None, # 2229 + None, # 2230 + None, # 2231 + None, # 2232 + None, # 2233 + None, # 2234 + None, # 2235 + None, # 2236 + None, # 2237 + None, # 2238 + None, # 2239 + None, # 2240 + None, # 2241 + None, # 2242 + None, # 2243 + None, # 2244 + None, # 2245 + None, # 2246 + None, # 2247 + None, # 2248 + None, # 2249 + None, # 2250 + None, # 2251 + None, # 2252 + None, # 2253 + None, # 2254 + None, # 2255 + None, # 2256 + None, # 2257 + None, # 2258 + None, # 2259 + None, # 2260 + None, # 2261 + None, # 2262 + None, # 2263 + None, # 2264 + None, # 2265 + None, # 2266 + None, # 2267 + None, # 2268 + None, # 2269 + None, # 2270 + None, # 2271 + None, # 2272 + None, # 2273 + None, # 2274 + None, # 2275 + None, # 2276 + None, # 2277 + None, # 2278 + None, # 2279 + None, # 2280 + None, # 2281 + None, # 2282 + None, # 2283 + None, # 2284 + None, # 2285 + None, # 2286 + None, # 2287 + None, # 2288 + None, # 2289 + None, # 2290 + None, # 2291 + None, # 2292 + None, # 2293 + None, # 2294 + None, # 2295 + None, # 2296 + None, # 2297 + None, # 2298 + None, # 2299 + None, # 2300 + None, # 2301 + None, # 2302 + None, # 2303 + None, # 2304 + None, # 2305 + None, # 2306 + None, # 2307 + None, # 2308 + None, # 2309 + None, # 2310 + None, # 2311 + None, # 2312 + None, # 2313 + None, # 2314 + None, # 2315 + None, # 2316 + None, # 2317 + None, # 2318 + None, # 2319 + None, # 2320 + None, # 2321 + None, # 2322 + None, # 2323 + None, # 2324 + None, # 2325 + None, # 2326 + None, # 2327 + None, # 2328 + None, # 2329 + None, # 2330 + None, # 2331 + None, # 2332 + None, # 2333 + None, # 2334 + None, # 2335 + None, # 2336 + None, # 2337 + None, # 2338 + None, # 2339 + None, # 2340 + None, # 2341 + None, # 2342 + None, # 2343 + None, # 2344 + None, # 2345 + None, # 2346 + None, # 2347 + None, # 2348 + None, # 2349 + None, # 2350 + None, # 2351 + None, # 2352 + None, # 2353 + None, # 2354 + None, # 2355 + None, # 2356 + None, # 2357 + None, # 2358 + None, # 2359 + None, # 2360 + None, # 2361 + None, # 2362 + None, # 2363 + None, # 2364 + None, # 2365 + None, # 2366 + None, # 2367 + None, # 2368 + None, # 2369 + None, # 2370 + None, # 2371 + None, # 2372 + None, # 2373 + None, # 2374 + None, # 2375 + None, # 2376 + None, # 2377 + None, # 2378 + None, # 2379 + None, # 2380 + None, # 2381 + None, # 2382 + None, # 2383 + None, # 2384 + None, # 2385 + None, # 2386 + None, # 2387 + None, # 2388 + None, # 2389 + None, # 2390 + None, # 2391 + None, # 2392 + None, # 2393 + None, # 2394 + None, # 2395 + None, # 2396 + None, # 2397 + None, # 2398 + None, # 2399 + None, # 2400 + None, # 2401 + None, # 2402 + None, # 2403 + None, # 2404 + None, # 2405 + None, # 2406 + None, # 2407 + None, # 2408 + None, # 2409 + None, # 2410 + None, # 2411 + None, # 2412 + None, # 2413 + None, # 2414 + None, # 2415 + None, # 2416 + None, # 2417 + None, # 2418 + None, # 2419 + None, # 2420 + None, # 2421 + None, # 2422 + None, # 2423 + None, # 2424 + None, # 2425 + None, # 2426 + None, # 2427 + None, # 2428 + None, # 2429 + None, # 2430 + None, # 2431 + None, # 2432 + None, # 2433 + None, # 2434 + None, # 2435 + None, # 2436 + None, # 2437 + None, # 2438 + None, # 2439 + None, # 2440 + None, # 2441 + None, # 2442 + None, # 2443 + None, # 2444 + None, # 2445 + None, # 2446 + None, # 2447 + None, # 2448 + None, # 2449 + None, # 2450 + None, # 2451 + None, # 2452 + None, # 2453 + None, # 2454 + None, # 2455 + None, # 2456 + None, # 2457 + None, # 2458 + None, # 2459 + None, # 2460 + None, # 2461 + None, # 2462 + None, # 2463 + None, # 2464 + None, # 2465 + None, # 2466 + None, # 2467 + None, # 2468 + None, # 2469 + None, # 2470 + None, # 2471 + None, # 2472 + None, # 2473 + None, # 2474 + None, # 2475 + None, # 2476 + None, # 2477 + None, # 2478 + None, # 2479 + None, # 2480 + None, # 2481 + None, # 2482 + None, # 2483 + None, # 2484 + None, # 2485 + None, # 2486 + None, # 2487 + None, # 2488 + None, # 2489 + None, # 2490 + None, # 2491 + None, # 2492 + None, # 2493 + None, # 2494 + None, # 2495 + None, # 2496 + None, # 2497 + None, # 2498 + None, # 2499 + None, # 2500 + None, # 2501 + None, # 2502 + None, # 2503 + None, # 2504 + None, # 2505 + None, # 2506 + None, # 2507 + None, # 2508 + None, # 2509 + None, # 2510 + None, # 2511 + None, # 2512 + None, # 2513 + None, # 2514 + None, # 2515 + None, # 2516 + None, # 2517 + None, # 2518 + None, # 2519 + None, # 2520 + None, # 2521 + None, # 2522 + None, # 2523 + None, # 2524 + None, # 2525 + None, # 2526 + None, # 2527 + None, # 2528 + None, # 2529 + None, # 2530 + None, # 2531 + None, # 2532 + None, # 2533 + None, # 2534 + None, # 2535 + None, # 2536 + None, # 2537 + None, # 2538 + None, # 2539 + None, # 2540 + None, # 2541 + None, # 2542 + None, # 2543 + None, # 2544 + None, # 2545 + None, # 2546 + None, # 2547 + None, # 2548 + None, # 2549 + None, # 2550 + None, # 2551 + None, # 2552 + None, # 2553 + None, # 2554 + None, # 2555 + None, # 2556 + None, # 2557 + None, # 2558 + None, # 2559 + None, # 2560 + None, # 2561 + None, # 2562 + None, # 2563 + None, # 2564 + None, # 2565 + None, # 2566 + None, # 2567 + None, # 2568 + None, # 2569 + None, # 2570 + None, # 2571 + None, # 2572 + None, # 2573 + None, # 2574 + None, # 2575 + None, # 2576 + None, # 2577 + None, # 2578 + None, # 2579 + None, # 2580 + None, # 2581 + None, # 2582 + None, # 2583 + None, # 2584 + None, # 2585 + None, # 2586 + None, # 2587 + None, # 2588 + None, # 2589 + None, # 2590 + None, # 2591 + None, # 2592 + None, # 2593 + None, # 2594 + None, # 2595 + None, # 2596 + None, # 2597 + None, # 2598 + None, # 2599 + None, # 2600 + None, # 2601 + None, # 2602 + None, # 2603 + None, # 2604 + None, # 2605 + None, # 2606 + None, # 2607 + None, # 2608 + None, # 2609 + None, # 2610 + None, # 2611 + None, # 2612 + None, # 2613 + None, # 2614 + None, # 2615 + None, # 2616 + None, # 2617 + None, # 2618 + None, # 2619 + None, # 2620 + None, # 2621 + None, # 2622 + None, # 2623 + None, # 2624 + None, # 2625 + None, # 2626 + None, # 2627 + None, # 2628 + None, # 2629 + None, # 2630 + None, # 2631 + None, # 2632 + None, # 2633 + None, # 2634 + None, # 2635 + None, # 2636 + None, # 2637 + None, # 2638 + None, # 2639 + None, # 2640 + None, # 2641 + None, # 2642 + None, # 2643 + None, # 2644 + None, # 2645 + None, # 2646 + None, # 2647 + None, # 2648 + None, # 2649 + None, # 2650 + None, # 2651 + None, # 2652 + None, # 2653 + None, # 2654 + None, # 2655 + None, # 2656 + None, # 2657 + None, # 2658 + None, # 2659 + None, # 2660 + None, # 2661 + None, # 2662 + None, # 2663 + None, # 2664 + None, # 2665 + None, # 2666 + None, # 2667 + None, # 2668 + None, # 2669 + None, # 2670 + None, # 2671 + None, # 2672 + None, # 2673 + None, # 2674 + None, # 2675 + None, # 2676 + None, # 2677 + None, # 2678 + None, # 2679 + None, # 2680 + None, # 2681 + None, # 2682 + None, # 2683 + None, # 2684 + None, # 2685 + None, # 2686 + None, # 2687 + None, # 2688 + None, # 2689 + None, # 2690 + None, # 2691 + None, # 2692 + None, # 2693 + None, # 2694 + None, # 2695 + None, # 2696 + None, # 2697 + None, # 2698 + None, # 2699 + None, # 2700 + None, # 2701 + None, # 2702 + None, # 2703 + None, # 2704 + None, # 2705 + None, # 2706 + None, # 2707 + None, # 2708 + None, # 2709 + None, # 2710 + None, # 2711 + None, # 2712 + None, # 2713 + None, # 2714 + None, # 2715 + None, # 2716 + None, # 2717 + None, # 2718 + None, # 2719 + None, # 2720 + None, # 2721 + None, # 2722 + None, # 2723 + None, # 2724 + None, # 2725 + None, # 2726 + None, # 2727 + None, # 2728 + None, # 2729 + None, # 2730 + None, # 2731 + None, # 2732 + None, # 2733 + None, # 2734 + None, # 2735 + None, # 2736 + None, # 2737 + None, # 2738 + None, # 2739 + None, # 2740 + None, # 2741 + None, # 2742 + None, # 2743 + None, # 2744 + None, # 2745 + None, # 2746 + None, # 2747 + None, # 2748 + None, # 2749 + None, # 2750 + None, # 2751 + None, # 2752 + None, # 2753 + None, # 2754 + None, # 2755 + None, # 2756 + None, # 2757 + None, # 2758 + None, # 2759 + None, # 2760 + None, # 2761 + None, # 2762 + None, # 2763 + None, # 2764 + None, # 2765 + None, # 2766 + None, # 2767 + None, # 2768 + None, # 2769 + None, # 2770 + None, # 2771 + None, # 2772 + None, # 2773 + None, # 2774 + None, # 2775 + None, # 2776 + None, # 2777 + None, # 2778 + None, # 2779 + None, # 2780 + None, # 2781 + None, # 2782 + None, # 2783 + None, # 2784 + None, # 2785 + None, # 2786 + None, # 2787 + None, # 2788 + None, # 2789 + None, # 2790 + None, # 2791 + None, # 2792 + None, # 2793 + None, # 2794 + None, # 2795 + None, # 2796 + None, # 2797 + None, # 2798 + None, # 2799 + None, # 2800 + None, # 2801 + None, # 2802 + None, # 2803 + None, # 2804 + None, # 2805 + None, # 2806 + None, # 2807 + None, # 2808 + None, # 2809 + None, # 2810 + None, # 2811 + None, # 2812 + None, # 2813 + None, # 2814 + None, # 2815 + None, # 2816 + None, # 2817 + None, # 2818 + None, # 2819 + None, # 2820 + None, # 2821 + None, # 2822 + None, # 2823 + None, # 2824 + None, # 2825 + None, # 2826 + None, # 2827 + None, # 2828 + None, # 2829 + None, # 2830 + None, # 2831 + None, # 2832 + None, # 2833 + None, # 2834 + None, # 2835 + None, # 2836 + None, # 2837 + None, # 2838 + None, # 2839 + None, # 2840 + None, # 2841 + None, # 2842 + None, # 2843 + None, # 2844 + None, # 2845 + None, # 2846 + None, # 2847 + None, # 2848 + None, # 2849 + None, # 2850 + None, # 2851 + None, # 2852 + None, # 2853 + None, # 2854 + None, # 2855 + None, # 2856 + None, # 2857 + None, # 2858 + None, # 2859 + None, # 2860 + None, # 2861 + None, # 2862 + None, # 2863 + None, # 2864 + None, # 2865 + None, # 2866 + None, # 2867 + None, # 2868 + None, # 2869 + None, # 2870 + None, # 2871 + None, # 2872 + None, # 2873 + None, # 2874 + None, # 2875 + None, # 2876 + None, # 2877 + None, # 2878 + None, # 2879 + None, # 2880 + None, # 2881 + None, # 2882 + None, # 2883 + None, # 2884 + None, # 2885 + None, # 2886 + None, # 2887 + None, # 2888 + None, # 2889 + None, # 2890 + None, # 2891 + None, # 2892 + None, # 2893 + None, # 2894 + None, # 2895 + None, # 2896 + None, # 2897 + None, # 2898 + None, # 2899 + None, # 2900 + None, # 2901 + None, # 2902 + None, # 2903 + None, # 2904 + None, # 2905 + None, # 2906 + None, # 2907 + None, # 2908 + None, # 2909 + None, # 2910 + None, # 2911 + None, # 2912 + None, # 2913 + None, # 2914 + None, # 2915 + None, # 2916 + None, # 2917 + None, # 2918 + None, # 2919 + None, # 2920 + None, # 2921 + None, # 2922 + None, # 2923 + None, # 2924 + None, # 2925 + None, # 2926 + None, # 2927 + None, # 2928 + None, # 2929 + None, # 2930 + None, # 2931 + None, # 2932 + None, # 2933 + None, # 2934 + None, # 2935 + None, # 2936 + None, # 2937 + None, # 2938 + None, # 2939 + None, # 2940 + None, # 2941 + None, # 2942 + None, # 2943 + None, # 2944 + None, # 2945 + None, # 2946 + None, # 2947 + None, # 2948 + None, # 2949 + None, # 2950 + None, # 2951 + None, # 2952 + None, # 2953 + None, # 2954 + None, # 2955 + None, # 2956 + None, # 2957 + None, # 2958 + None, # 2959 + None, # 2960 + None, # 2961 + None, # 2962 + None, # 2963 + None, # 2964 + None, # 2965 + None, # 2966 + None, # 2967 + None, # 2968 + None, # 2969 + None, # 2970 + None, # 2971 + None, # 2972 + None, # 2973 + None, # 2974 + None, # 2975 + None, # 2976 + None, # 2977 + None, # 2978 + None, # 2979 + None, # 2980 + None, # 2981 + None, # 2982 + None, # 2983 + None, # 2984 + None, # 2985 + None, # 2986 + None, # 2987 + None, # 2988 + None, # 2989 + None, # 2990 + None, # 2991 + None, # 2992 + None, # 2993 + None, # 2994 + None, # 2995 + None, # 2996 + None, # 2997 + None, # 2998 + None, # 2999 + None, # 3000 + None, # 3001 + None, # 3002 + None, # 3003 + None, # 3004 + None, # 3005 + None, # 3006 + None, # 3007 + None, # 3008 + None, # 3009 + None, # 3010 + None, # 3011 + None, # 3012 + None, # 3013 + None, # 3014 + None, # 3015 + None, # 3016 + None, # 3017 + None, # 3018 + None, # 3019 + None, # 3020 + None, # 3021 + None, # 3022 + None, # 3023 + None, # 3024 + None, # 3025 + None, # 3026 + None, # 3027 + None, # 3028 + None, # 3029 + None, # 3030 + None, # 3031 + None, # 3032 + None, # 3033 + None, # 3034 + None, # 3035 + None, # 3036 + None, # 3037 + None, # 3038 + None, # 3039 + None, # 3040 + None, # 3041 + None, # 3042 + None, # 3043 + None, # 3044 + None, # 3045 + None, # 3046 + None, # 3047 + None, # 3048 + None, # 3049 + None, # 3050 + None, # 3051 + None, # 3052 + None, # 3053 + None, # 3054 + None, # 3055 + None, # 3056 + None, # 3057 + None, # 3058 + None, # 3059 + None, # 3060 + None, # 3061 + None, # 3062 + None, # 3063 + None, # 3064 + None, # 3065 + None, # 3066 + None, # 3067 + None, # 3068 + None, # 3069 + None, # 3070 + None, # 3071 + None, # 3072 + None, # 3073 + None, # 3074 + None, # 3075 + None, # 3076 + None, # 3077 + None, # 3078 + None, # 3079 + None, # 3080 + None, # 3081 + None, # 3082 + None, # 3083 + None, # 3084 + None, # 3085 + None, # 3086 + None, # 3087 + None, # 3088 + None, # 3089 + None, # 3090 + None, # 3091 + None, # 3092 + None, # 3093 + None, # 3094 + None, # 3095 + None, # 3096 + None, # 3097 + None, # 3098 + None, # 3099 + None, # 3100 + None, # 3101 + None, # 3102 + None, # 3103 + None, # 3104 + None, # 3105 + None, # 3106 + None, # 3107 + None, # 3108 + None, # 3109 + None, # 3110 + None, # 3111 + None, # 3112 + None, # 3113 + None, # 3114 + None, # 3115 + None, # 3116 + None, # 3117 + None, # 3118 + None, # 3119 + None, # 3120 + None, # 3121 + None, # 3122 + None, # 3123 + None, # 3124 + None, # 3125 + None, # 3126 + None, # 3127 + None, # 3128 + None, # 3129 + None, # 3130 + None, # 3131 + None, # 3132 + None, # 3133 + None, # 3134 + None, # 3135 + None, # 3136 + None, # 3137 + None, # 3138 + None, # 3139 + None, # 3140 + None, # 3141 + None, # 3142 + None, # 3143 + None, # 3144 + None, # 3145 + None, # 3146 + None, # 3147 + None, # 3148 + None, # 3149 + None, # 3150 + None, # 3151 + None, # 3152 + None, # 3153 + None, # 3154 + None, # 3155 + None, # 3156 + None, # 3157 + None, # 3158 + None, # 3159 + None, # 3160 + None, # 3161 + None, # 3162 + None, # 3163 + None, # 3164 + None, # 3165 + None, # 3166 + None, # 3167 + None, # 3168 + None, # 3169 + None, # 3170 + None, # 3171 + None, # 3172 + None, # 3173 + None, # 3174 + None, # 3175 + None, # 3176 + None, # 3177 + None, # 3178 + None, # 3179 + None, # 3180 + None, # 3181 + None, # 3182 + None, # 3183 + None, # 3184 + None, # 3185 + None, # 3186 + None, # 3187 + None, # 3188 + None, # 3189 + None, # 3190 + None, # 3191 + None, # 3192 + None, # 3193 + None, # 3194 + None, # 3195 + None, # 3196 + None, # 3197 + None, # 3198 + None, # 3199 + None, # 3200 + None, # 3201 + None, # 3202 + None, # 3203 + None, # 3204 + None, # 3205 + None, # 3206 + None, # 3207 + None, # 3208 + None, # 3209 + None, # 3210 + None, # 3211 + None, # 3212 + None, # 3213 + None, # 3214 + None, # 3215 + None, # 3216 + None, # 3217 + None, # 3218 + None, # 3219 + None, # 3220 + None, # 3221 + None, # 3222 + None, # 3223 + None, # 3224 + None, # 3225 + None, # 3226 + None, # 3227 + None, # 3228 + None, # 3229 + None, # 3230 + None, # 3231 + None, # 3232 + None, # 3233 + None, # 3234 + None, # 3235 + None, # 3236 + None, # 3237 + None, # 3238 + None, # 3239 + None, # 3240 + None, # 3241 + None, # 3242 + None, # 3243 + None, # 3244 + None, # 3245 + None, # 3246 + None, # 3247 + None, # 3248 + None, # 3249 + None, # 3250 + None, # 3251 + None, # 3252 + None, # 3253 + None, # 3254 + None, # 3255 + None, # 3256 + None, # 3257 + None, # 3258 + None, # 3259 + None, # 3260 + None, # 3261 + None, # 3262 + None, # 3263 + None, # 3264 + None, # 3265 + None, # 3266 + None, # 3267 + None, # 3268 + None, # 3269 + None, # 3270 + None, # 3271 + None, # 3272 + None, # 3273 + None, # 3274 + None, # 3275 + None, # 3276 + None, # 3277 + None, # 3278 + None, # 3279 + None, # 3280 + None, # 3281 + None, # 3282 + None, # 3283 + None, # 3284 + None, # 3285 + None, # 3286 + None, # 3287 + None, # 3288 + None, # 3289 + None, # 3290 + None, # 3291 + None, # 3292 + None, # 3293 + None, # 3294 + None, # 3295 + None, # 3296 + None, # 3297 + None, # 3298 + None, # 3299 + None, # 3300 + None, # 3301 + None, # 3302 + None, # 3303 + None, # 3304 + None, # 3305 + None, # 3306 + None, # 3307 + None, # 3308 + None, # 3309 + None, # 3310 + None, # 3311 + None, # 3312 + None, # 3313 + None, # 3314 + None, # 3315 + None, # 3316 + None, # 3317 + None, # 3318 + None, # 3319 + None, # 3320 + None, # 3321 + None, # 3322 + None, # 3323 + None, # 3324 + None, # 3325 + None, # 3326 + None, # 3327 + None, # 3328 + (3329, TType.STRUCT, 'sessionConf', [TDBSqlSessionConf, None], None, ), # 3329 ) all_structs.append(TCancelDelegationTokenResp) TCancelDelegationTokenResp.thrift_spec = ( - None, # 0 - ( - 1, - TType.STRUCT, - "status", - [TStatus, None], - None, - ), # 1 + None, # 0 + (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 ) all_structs.append(TRenewDelegationTokenReq) TRenewDelegationTokenReq.thrift_spec = ( - None, # 0 - ( - 1, - TType.STRUCT, - "sessionHandle", - [TSessionHandle, None], - None, - ), # 1 - ( - 2, - TType.STRING, - "delegationToken", - "UTF8", - None, - ), # 2 - None, # 3 - None, # 4 - None, # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - None, # 1281 - None, # 1282 - None, # 1283 - None, # 1284 - None, # 1285 - None, # 1286 - None, # 1287 - None, # 1288 - None, # 1289 - None, # 1290 - None, # 1291 - None, # 1292 - None, # 1293 - None, # 1294 - None, # 1295 - None, # 1296 - None, # 1297 - None, # 1298 - None, # 1299 - None, # 1300 - None, # 1301 - None, # 1302 - None, # 1303 - None, # 1304 - None, # 1305 - None, # 1306 - None, # 1307 - None, # 1308 - None, # 1309 - None, # 1310 - None, # 1311 - None, # 1312 - None, # 1313 - None, # 1314 - None, # 1315 - None, # 1316 - None, # 1317 - None, # 1318 - None, # 1319 - None, # 1320 - None, # 1321 - None, # 1322 - None, # 1323 - None, # 1324 - None, # 1325 - None, # 1326 - None, # 1327 - None, # 1328 - None, # 1329 - None, # 1330 - None, # 1331 - None, # 1332 - None, # 1333 - None, # 1334 - None, # 1335 - None, # 1336 - None, # 1337 - None, # 1338 - None, # 1339 - None, # 1340 - None, # 1341 - None, # 1342 - None, # 1343 - None, # 1344 - None, # 1345 - None, # 1346 - None, # 1347 - None, # 1348 - None, # 1349 - None, # 1350 - None, # 1351 - None, # 1352 - None, # 1353 - None, # 1354 - None, # 1355 - None, # 1356 - None, # 1357 - None, # 1358 - None, # 1359 - None, # 1360 - None, # 1361 - None, # 1362 - None, # 1363 - None, # 1364 - None, # 1365 - None, # 1366 - None, # 1367 - None, # 1368 - None, # 1369 - None, # 1370 - None, # 1371 - None, # 1372 - None, # 1373 - None, # 1374 - None, # 1375 - None, # 1376 - None, # 1377 - None, # 1378 - None, # 1379 - None, # 1380 - None, # 1381 - None, # 1382 - None, # 1383 - None, # 1384 - None, # 1385 - None, # 1386 - None, # 1387 - None, # 1388 - None, # 1389 - None, # 1390 - None, # 1391 - None, # 1392 - None, # 1393 - None, # 1394 - None, # 1395 - None, # 1396 - None, # 1397 - None, # 1398 - None, # 1399 - None, # 1400 - None, # 1401 - None, # 1402 - None, # 1403 - None, # 1404 - None, # 1405 - None, # 1406 - None, # 1407 - None, # 1408 - None, # 1409 - None, # 1410 - None, # 1411 - None, # 1412 - None, # 1413 - None, # 1414 - None, # 1415 - None, # 1416 - None, # 1417 - None, # 1418 - None, # 1419 - None, # 1420 - None, # 1421 - None, # 1422 - None, # 1423 - None, # 1424 - None, # 1425 - None, # 1426 - None, # 1427 - None, # 1428 - None, # 1429 - None, # 1430 - None, # 1431 - None, # 1432 - None, # 1433 - None, # 1434 - None, # 1435 - None, # 1436 - None, # 1437 - None, # 1438 - None, # 1439 - None, # 1440 - None, # 1441 - None, # 1442 - None, # 1443 - None, # 1444 - None, # 1445 - None, # 1446 - None, # 1447 - None, # 1448 - None, # 1449 - None, # 1450 - None, # 1451 - None, # 1452 - None, # 1453 - None, # 1454 - None, # 1455 - None, # 1456 - None, # 1457 - None, # 1458 - None, # 1459 - None, # 1460 - None, # 1461 - None, # 1462 - None, # 1463 - None, # 1464 - None, # 1465 - None, # 1466 - None, # 1467 - None, # 1468 - None, # 1469 - None, # 1470 - None, # 1471 - None, # 1472 - None, # 1473 - None, # 1474 - None, # 1475 - None, # 1476 - None, # 1477 - None, # 1478 - None, # 1479 - None, # 1480 - None, # 1481 - None, # 1482 - None, # 1483 - None, # 1484 - None, # 1485 - None, # 1486 - None, # 1487 - None, # 1488 - None, # 1489 - None, # 1490 - None, # 1491 - None, # 1492 - None, # 1493 - None, # 1494 - None, # 1495 - None, # 1496 - None, # 1497 - None, # 1498 - None, # 1499 - None, # 1500 - None, # 1501 - None, # 1502 - None, # 1503 - None, # 1504 - None, # 1505 - None, # 1506 - None, # 1507 - None, # 1508 - None, # 1509 - None, # 1510 - None, # 1511 - None, # 1512 - None, # 1513 - None, # 1514 - None, # 1515 - None, # 1516 - None, # 1517 - None, # 1518 - None, # 1519 - None, # 1520 - None, # 1521 - None, # 1522 - None, # 1523 - None, # 1524 - None, # 1525 - None, # 1526 - None, # 1527 - None, # 1528 - None, # 1529 - None, # 1530 - None, # 1531 - None, # 1532 - None, # 1533 - None, # 1534 - None, # 1535 - None, # 1536 - None, # 1537 - None, # 1538 - None, # 1539 - None, # 1540 - None, # 1541 - None, # 1542 - None, # 1543 - None, # 1544 - None, # 1545 - None, # 1546 - None, # 1547 - None, # 1548 - None, # 1549 - None, # 1550 - None, # 1551 - None, # 1552 - None, # 1553 - None, # 1554 - None, # 1555 - None, # 1556 - None, # 1557 - None, # 1558 - None, # 1559 - None, # 1560 - None, # 1561 - None, # 1562 - None, # 1563 - None, # 1564 - None, # 1565 - None, # 1566 - None, # 1567 - None, # 1568 - None, # 1569 - None, # 1570 - None, # 1571 - None, # 1572 - None, # 1573 - None, # 1574 - None, # 1575 - None, # 1576 - None, # 1577 - None, # 1578 - None, # 1579 - None, # 1580 - None, # 1581 - None, # 1582 - None, # 1583 - None, # 1584 - None, # 1585 - None, # 1586 - None, # 1587 - None, # 1588 - None, # 1589 - None, # 1590 - None, # 1591 - None, # 1592 - None, # 1593 - None, # 1594 - None, # 1595 - None, # 1596 - None, # 1597 - None, # 1598 - None, # 1599 - None, # 1600 - None, # 1601 - None, # 1602 - None, # 1603 - None, # 1604 - None, # 1605 - None, # 1606 - None, # 1607 - None, # 1608 - None, # 1609 - None, # 1610 - None, # 1611 - None, # 1612 - None, # 1613 - None, # 1614 - None, # 1615 - None, # 1616 - None, # 1617 - None, # 1618 - None, # 1619 - None, # 1620 - None, # 1621 - None, # 1622 - None, # 1623 - None, # 1624 - None, # 1625 - None, # 1626 - None, # 1627 - None, # 1628 - None, # 1629 - None, # 1630 - None, # 1631 - None, # 1632 - None, # 1633 - None, # 1634 - None, # 1635 - None, # 1636 - None, # 1637 - None, # 1638 - None, # 1639 - None, # 1640 - None, # 1641 - None, # 1642 - None, # 1643 - None, # 1644 - None, # 1645 - None, # 1646 - None, # 1647 - None, # 1648 - None, # 1649 - None, # 1650 - None, # 1651 - None, # 1652 - None, # 1653 - None, # 1654 - None, # 1655 - None, # 1656 - None, # 1657 - None, # 1658 - None, # 1659 - None, # 1660 - None, # 1661 - None, # 1662 - None, # 1663 - None, # 1664 - None, # 1665 - None, # 1666 - None, # 1667 - None, # 1668 - None, # 1669 - None, # 1670 - None, # 1671 - None, # 1672 - None, # 1673 - None, # 1674 - None, # 1675 - None, # 1676 - None, # 1677 - None, # 1678 - None, # 1679 - None, # 1680 - None, # 1681 - None, # 1682 - None, # 1683 - None, # 1684 - None, # 1685 - None, # 1686 - None, # 1687 - None, # 1688 - None, # 1689 - None, # 1690 - None, # 1691 - None, # 1692 - None, # 1693 - None, # 1694 - None, # 1695 - None, # 1696 - None, # 1697 - None, # 1698 - None, # 1699 - None, # 1700 - None, # 1701 - None, # 1702 - None, # 1703 - None, # 1704 - None, # 1705 - None, # 1706 - None, # 1707 - None, # 1708 - None, # 1709 - None, # 1710 - None, # 1711 - None, # 1712 - None, # 1713 - None, # 1714 - None, # 1715 - None, # 1716 - None, # 1717 - None, # 1718 - None, # 1719 - None, # 1720 - None, # 1721 - None, # 1722 - None, # 1723 - None, # 1724 - None, # 1725 - None, # 1726 - None, # 1727 - None, # 1728 - None, # 1729 - None, # 1730 - None, # 1731 - None, # 1732 - None, # 1733 - None, # 1734 - None, # 1735 - None, # 1736 - None, # 1737 - None, # 1738 - None, # 1739 - None, # 1740 - None, # 1741 - None, # 1742 - None, # 1743 - None, # 1744 - None, # 1745 - None, # 1746 - None, # 1747 - None, # 1748 - None, # 1749 - None, # 1750 - None, # 1751 - None, # 1752 - None, # 1753 - None, # 1754 - None, # 1755 - None, # 1756 - None, # 1757 - None, # 1758 - None, # 1759 - None, # 1760 - None, # 1761 - None, # 1762 - None, # 1763 - None, # 1764 - None, # 1765 - None, # 1766 - None, # 1767 - None, # 1768 - None, # 1769 - None, # 1770 - None, # 1771 - None, # 1772 - None, # 1773 - None, # 1774 - None, # 1775 - None, # 1776 - None, # 1777 - None, # 1778 - None, # 1779 - None, # 1780 - None, # 1781 - None, # 1782 - None, # 1783 - None, # 1784 - None, # 1785 - None, # 1786 - None, # 1787 - None, # 1788 - None, # 1789 - None, # 1790 - None, # 1791 - None, # 1792 - None, # 1793 - None, # 1794 - None, # 1795 - None, # 1796 - None, # 1797 - None, # 1798 - None, # 1799 - None, # 1800 - None, # 1801 - None, # 1802 - None, # 1803 - None, # 1804 - None, # 1805 - None, # 1806 - None, # 1807 - None, # 1808 - None, # 1809 - None, # 1810 - None, # 1811 - None, # 1812 - None, # 1813 - None, # 1814 - None, # 1815 - None, # 1816 - None, # 1817 - None, # 1818 - None, # 1819 - None, # 1820 - None, # 1821 - None, # 1822 - None, # 1823 - None, # 1824 - None, # 1825 - None, # 1826 - None, # 1827 - None, # 1828 - None, # 1829 - None, # 1830 - None, # 1831 - None, # 1832 - None, # 1833 - None, # 1834 - None, # 1835 - None, # 1836 - None, # 1837 - None, # 1838 - None, # 1839 - None, # 1840 - None, # 1841 - None, # 1842 - None, # 1843 - None, # 1844 - None, # 1845 - None, # 1846 - None, # 1847 - None, # 1848 - None, # 1849 - None, # 1850 - None, # 1851 - None, # 1852 - None, # 1853 - None, # 1854 - None, # 1855 - None, # 1856 - None, # 1857 - None, # 1858 - None, # 1859 - None, # 1860 - None, # 1861 - None, # 1862 - None, # 1863 - None, # 1864 - None, # 1865 - None, # 1866 - None, # 1867 - None, # 1868 - None, # 1869 - None, # 1870 - None, # 1871 - None, # 1872 - None, # 1873 - None, # 1874 - None, # 1875 - None, # 1876 - None, # 1877 - None, # 1878 - None, # 1879 - None, # 1880 - None, # 1881 - None, # 1882 - None, # 1883 - None, # 1884 - None, # 1885 - None, # 1886 - None, # 1887 - None, # 1888 - None, # 1889 - None, # 1890 - None, # 1891 - None, # 1892 - None, # 1893 - None, # 1894 - None, # 1895 - None, # 1896 - None, # 1897 - None, # 1898 - None, # 1899 - None, # 1900 - None, # 1901 - None, # 1902 - None, # 1903 - None, # 1904 - None, # 1905 - None, # 1906 - None, # 1907 - None, # 1908 - None, # 1909 - None, # 1910 - None, # 1911 - None, # 1912 - None, # 1913 - None, # 1914 - None, # 1915 - None, # 1916 - None, # 1917 - None, # 1918 - None, # 1919 - None, # 1920 - None, # 1921 - None, # 1922 - None, # 1923 - None, # 1924 - None, # 1925 - None, # 1926 - None, # 1927 - None, # 1928 - None, # 1929 - None, # 1930 - None, # 1931 - None, # 1932 - None, # 1933 - None, # 1934 - None, # 1935 - None, # 1936 - None, # 1937 - None, # 1938 - None, # 1939 - None, # 1940 - None, # 1941 - None, # 1942 - None, # 1943 - None, # 1944 - None, # 1945 - None, # 1946 - None, # 1947 - None, # 1948 - None, # 1949 - None, # 1950 - None, # 1951 - None, # 1952 - None, # 1953 - None, # 1954 - None, # 1955 - None, # 1956 - None, # 1957 - None, # 1958 - None, # 1959 - None, # 1960 - None, # 1961 - None, # 1962 - None, # 1963 - None, # 1964 - None, # 1965 - None, # 1966 - None, # 1967 - None, # 1968 - None, # 1969 - None, # 1970 - None, # 1971 - None, # 1972 - None, # 1973 - None, # 1974 - None, # 1975 - None, # 1976 - None, # 1977 - None, # 1978 - None, # 1979 - None, # 1980 - None, # 1981 - None, # 1982 - None, # 1983 - None, # 1984 - None, # 1985 - None, # 1986 - None, # 1987 - None, # 1988 - None, # 1989 - None, # 1990 - None, # 1991 - None, # 1992 - None, # 1993 - None, # 1994 - None, # 1995 - None, # 1996 - None, # 1997 - None, # 1998 - None, # 1999 - None, # 2000 - None, # 2001 - None, # 2002 - None, # 2003 - None, # 2004 - None, # 2005 - None, # 2006 - None, # 2007 - None, # 2008 - None, # 2009 - None, # 2010 - None, # 2011 - None, # 2012 - None, # 2013 - None, # 2014 - None, # 2015 - None, # 2016 - None, # 2017 - None, # 2018 - None, # 2019 - None, # 2020 - None, # 2021 - None, # 2022 - None, # 2023 - None, # 2024 - None, # 2025 - None, # 2026 - None, # 2027 - None, # 2028 - None, # 2029 - None, # 2030 - None, # 2031 - None, # 2032 - None, # 2033 - None, # 2034 - None, # 2035 - None, # 2036 - None, # 2037 - None, # 2038 - None, # 2039 - None, # 2040 - None, # 2041 - None, # 2042 - None, # 2043 - None, # 2044 - None, # 2045 - None, # 2046 - None, # 2047 - None, # 2048 - None, # 2049 - None, # 2050 - None, # 2051 - None, # 2052 - None, # 2053 - None, # 2054 - None, # 2055 - None, # 2056 - None, # 2057 - None, # 2058 - None, # 2059 - None, # 2060 - None, # 2061 - None, # 2062 - None, # 2063 - None, # 2064 - None, # 2065 - None, # 2066 - None, # 2067 - None, # 2068 - None, # 2069 - None, # 2070 - None, # 2071 - None, # 2072 - None, # 2073 - None, # 2074 - None, # 2075 - None, # 2076 - None, # 2077 - None, # 2078 - None, # 2079 - None, # 2080 - None, # 2081 - None, # 2082 - None, # 2083 - None, # 2084 - None, # 2085 - None, # 2086 - None, # 2087 - None, # 2088 - None, # 2089 - None, # 2090 - None, # 2091 - None, # 2092 - None, # 2093 - None, # 2094 - None, # 2095 - None, # 2096 - None, # 2097 - None, # 2098 - None, # 2099 - None, # 2100 - None, # 2101 - None, # 2102 - None, # 2103 - None, # 2104 - None, # 2105 - None, # 2106 - None, # 2107 - None, # 2108 - None, # 2109 - None, # 2110 - None, # 2111 - None, # 2112 - None, # 2113 - None, # 2114 - None, # 2115 - None, # 2116 - None, # 2117 - None, # 2118 - None, # 2119 - None, # 2120 - None, # 2121 - None, # 2122 - None, # 2123 - None, # 2124 - None, # 2125 - None, # 2126 - None, # 2127 - None, # 2128 - None, # 2129 - None, # 2130 - None, # 2131 - None, # 2132 - None, # 2133 - None, # 2134 - None, # 2135 - None, # 2136 - None, # 2137 - None, # 2138 - None, # 2139 - None, # 2140 - None, # 2141 - None, # 2142 - None, # 2143 - None, # 2144 - None, # 2145 - None, # 2146 - None, # 2147 - None, # 2148 - None, # 2149 - None, # 2150 - None, # 2151 - None, # 2152 - None, # 2153 - None, # 2154 - None, # 2155 - None, # 2156 - None, # 2157 - None, # 2158 - None, # 2159 - None, # 2160 - None, # 2161 - None, # 2162 - None, # 2163 - None, # 2164 - None, # 2165 - None, # 2166 - None, # 2167 - None, # 2168 - None, # 2169 - None, # 2170 - None, # 2171 - None, # 2172 - None, # 2173 - None, # 2174 - None, # 2175 - None, # 2176 - None, # 2177 - None, # 2178 - None, # 2179 - None, # 2180 - None, # 2181 - None, # 2182 - None, # 2183 - None, # 2184 - None, # 2185 - None, # 2186 - None, # 2187 - None, # 2188 - None, # 2189 - None, # 2190 - None, # 2191 - None, # 2192 - None, # 2193 - None, # 2194 - None, # 2195 - None, # 2196 - None, # 2197 - None, # 2198 - None, # 2199 - None, # 2200 - None, # 2201 - None, # 2202 - None, # 2203 - None, # 2204 - None, # 2205 - None, # 2206 - None, # 2207 - None, # 2208 - None, # 2209 - None, # 2210 - None, # 2211 - None, # 2212 - None, # 2213 - None, # 2214 - None, # 2215 - None, # 2216 - None, # 2217 - None, # 2218 - None, # 2219 - None, # 2220 - None, # 2221 - None, # 2222 - None, # 2223 - None, # 2224 - None, # 2225 - None, # 2226 - None, # 2227 - None, # 2228 - None, # 2229 - None, # 2230 - None, # 2231 - None, # 2232 - None, # 2233 - None, # 2234 - None, # 2235 - None, # 2236 - None, # 2237 - None, # 2238 - None, # 2239 - None, # 2240 - None, # 2241 - None, # 2242 - None, # 2243 - None, # 2244 - None, # 2245 - None, # 2246 - None, # 2247 - None, # 2248 - None, # 2249 - None, # 2250 - None, # 2251 - None, # 2252 - None, # 2253 - None, # 2254 - None, # 2255 - None, # 2256 - None, # 2257 - None, # 2258 - None, # 2259 - None, # 2260 - None, # 2261 - None, # 2262 - None, # 2263 - None, # 2264 - None, # 2265 - None, # 2266 - None, # 2267 - None, # 2268 - None, # 2269 - None, # 2270 - None, # 2271 - None, # 2272 - None, # 2273 - None, # 2274 - None, # 2275 - None, # 2276 - None, # 2277 - None, # 2278 - None, # 2279 - None, # 2280 - None, # 2281 - None, # 2282 - None, # 2283 - None, # 2284 - None, # 2285 - None, # 2286 - None, # 2287 - None, # 2288 - None, # 2289 - None, # 2290 - None, # 2291 - None, # 2292 - None, # 2293 - None, # 2294 - None, # 2295 - None, # 2296 - None, # 2297 - None, # 2298 - None, # 2299 - None, # 2300 - None, # 2301 - None, # 2302 - None, # 2303 - None, # 2304 - None, # 2305 - None, # 2306 - None, # 2307 - None, # 2308 - None, # 2309 - None, # 2310 - None, # 2311 - None, # 2312 - None, # 2313 - None, # 2314 - None, # 2315 - None, # 2316 - None, # 2317 - None, # 2318 - None, # 2319 - None, # 2320 - None, # 2321 - None, # 2322 - None, # 2323 - None, # 2324 - None, # 2325 - None, # 2326 - None, # 2327 - None, # 2328 - None, # 2329 - None, # 2330 - None, # 2331 - None, # 2332 - None, # 2333 - None, # 2334 - None, # 2335 - None, # 2336 - None, # 2337 - None, # 2338 - None, # 2339 - None, # 2340 - None, # 2341 - None, # 2342 - None, # 2343 - None, # 2344 - None, # 2345 - None, # 2346 - None, # 2347 - None, # 2348 - None, # 2349 - None, # 2350 - None, # 2351 - None, # 2352 - None, # 2353 - None, # 2354 - None, # 2355 - None, # 2356 - None, # 2357 - None, # 2358 - None, # 2359 - None, # 2360 - None, # 2361 - None, # 2362 - None, # 2363 - None, # 2364 - None, # 2365 - None, # 2366 - None, # 2367 - None, # 2368 - None, # 2369 - None, # 2370 - None, # 2371 - None, # 2372 - None, # 2373 - None, # 2374 - None, # 2375 - None, # 2376 - None, # 2377 - None, # 2378 - None, # 2379 - None, # 2380 - None, # 2381 - None, # 2382 - None, # 2383 - None, # 2384 - None, # 2385 - None, # 2386 - None, # 2387 - None, # 2388 - None, # 2389 - None, # 2390 - None, # 2391 - None, # 2392 - None, # 2393 - None, # 2394 - None, # 2395 - None, # 2396 - None, # 2397 - None, # 2398 - None, # 2399 - None, # 2400 - None, # 2401 - None, # 2402 - None, # 2403 - None, # 2404 - None, # 2405 - None, # 2406 - None, # 2407 - None, # 2408 - None, # 2409 - None, # 2410 - None, # 2411 - None, # 2412 - None, # 2413 - None, # 2414 - None, # 2415 - None, # 2416 - None, # 2417 - None, # 2418 - None, # 2419 - None, # 2420 - None, # 2421 - None, # 2422 - None, # 2423 - None, # 2424 - None, # 2425 - None, # 2426 - None, # 2427 - None, # 2428 - None, # 2429 - None, # 2430 - None, # 2431 - None, # 2432 - None, # 2433 - None, # 2434 - None, # 2435 - None, # 2436 - None, # 2437 - None, # 2438 - None, # 2439 - None, # 2440 - None, # 2441 - None, # 2442 - None, # 2443 - None, # 2444 - None, # 2445 - None, # 2446 - None, # 2447 - None, # 2448 - None, # 2449 - None, # 2450 - None, # 2451 - None, # 2452 - None, # 2453 - None, # 2454 - None, # 2455 - None, # 2456 - None, # 2457 - None, # 2458 - None, # 2459 - None, # 2460 - None, # 2461 - None, # 2462 - None, # 2463 - None, # 2464 - None, # 2465 - None, # 2466 - None, # 2467 - None, # 2468 - None, # 2469 - None, # 2470 - None, # 2471 - None, # 2472 - None, # 2473 - None, # 2474 - None, # 2475 - None, # 2476 - None, # 2477 - None, # 2478 - None, # 2479 - None, # 2480 - None, # 2481 - None, # 2482 - None, # 2483 - None, # 2484 - None, # 2485 - None, # 2486 - None, # 2487 - None, # 2488 - None, # 2489 - None, # 2490 - None, # 2491 - None, # 2492 - None, # 2493 - None, # 2494 - None, # 2495 - None, # 2496 - None, # 2497 - None, # 2498 - None, # 2499 - None, # 2500 - None, # 2501 - None, # 2502 - None, # 2503 - None, # 2504 - None, # 2505 - None, # 2506 - None, # 2507 - None, # 2508 - None, # 2509 - None, # 2510 - None, # 2511 - None, # 2512 - None, # 2513 - None, # 2514 - None, # 2515 - None, # 2516 - None, # 2517 - None, # 2518 - None, # 2519 - None, # 2520 - None, # 2521 - None, # 2522 - None, # 2523 - None, # 2524 - None, # 2525 - None, # 2526 - None, # 2527 - None, # 2528 - None, # 2529 - None, # 2530 - None, # 2531 - None, # 2532 - None, # 2533 - None, # 2534 - None, # 2535 - None, # 2536 - None, # 2537 - None, # 2538 - None, # 2539 - None, # 2540 - None, # 2541 - None, # 2542 - None, # 2543 - None, # 2544 - None, # 2545 - None, # 2546 - None, # 2547 - None, # 2548 - None, # 2549 - None, # 2550 - None, # 2551 - None, # 2552 - None, # 2553 - None, # 2554 - None, # 2555 - None, # 2556 - None, # 2557 - None, # 2558 - None, # 2559 - None, # 2560 - None, # 2561 - None, # 2562 - None, # 2563 - None, # 2564 - None, # 2565 - None, # 2566 - None, # 2567 - None, # 2568 - None, # 2569 - None, # 2570 - None, # 2571 - None, # 2572 - None, # 2573 - None, # 2574 - None, # 2575 - None, # 2576 - None, # 2577 - None, # 2578 - None, # 2579 - None, # 2580 - None, # 2581 - None, # 2582 - None, # 2583 - None, # 2584 - None, # 2585 - None, # 2586 - None, # 2587 - None, # 2588 - None, # 2589 - None, # 2590 - None, # 2591 - None, # 2592 - None, # 2593 - None, # 2594 - None, # 2595 - None, # 2596 - None, # 2597 - None, # 2598 - None, # 2599 - None, # 2600 - None, # 2601 - None, # 2602 - None, # 2603 - None, # 2604 - None, # 2605 - None, # 2606 - None, # 2607 - None, # 2608 - None, # 2609 - None, # 2610 - None, # 2611 - None, # 2612 - None, # 2613 - None, # 2614 - None, # 2615 - None, # 2616 - None, # 2617 - None, # 2618 - None, # 2619 - None, # 2620 - None, # 2621 - None, # 2622 - None, # 2623 - None, # 2624 - None, # 2625 - None, # 2626 - None, # 2627 - None, # 2628 - None, # 2629 - None, # 2630 - None, # 2631 - None, # 2632 - None, # 2633 - None, # 2634 - None, # 2635 - None, # 2636 - None, # 2637 - None, # 2638 - None, # 2639 - None, # 2640 - None, # 2641 - None, # 2642 - None, # 2643 - None, # 2644 - None, # 2645 - None, # 2646 - None, # 2647 - None, # 2648 - None, # 2649 - None, # 2650 - None, # 2651 - None, # 2652 - None, # 2653 - None, # 2654 - None, # 2655 - None, # 2656 - None, # 2657 - None, # 2658 - None, # 2659 - None, # 2660 - None, # 2661 - None, # 2662 - None, # 2663 - None, # 2664 - None, # 2665 - None, # 2666 - None, # 2667 - None, # 2668 - None, # 2669 - None, # 2670 - None, # 2671 - None, # 2672 - None, # 2673 - None, # 2674 - None, # 2675 - None, # 2676 - None, # 2677 - None, # 2678 - None, # 2679 - None, # 2680 - None, # 2681 - None, # 2682 - None, # 2683 - None, # 2684 - None, # 2685 - None, # 2686 - None, # 2687 - None, # 2688 - None, # 2689 - None, # 2690 - None, # 2691 - None, # 2692 - None, # 2693 - None, # 2694 - None, # 2695 - None, # 2696 - None, # 2697 - None, # 2698 - None, # 2699 - None, # 2700 - None, # 2701 - None, # 2702 - None, # 2703 - None, # 2704 - None, # 2705 - None, # 2706 - None, # 2707 - None, # 2708 - None, # 2709 - None, # 2710 - None, # 2711 - None, # 2712 - None, # 2713 - None, # 2714 - None, # 2715 - None, # 2716 - None, # 2717 - None, # 2718 - None, # 2719 - None, # 2720 - None, # 2721 - None, # 2722 - None, # 2723 - None, # 2724 - None, # 2725 - None, # 2726 - None, # 2727 - None, # 2728 - None, # 2729 - None, # 2730 - None, # 2731 - None, # 2732 - None, # 2733 - None, # 2734 - None, # 2735 - None, # 2736 - None, # 2737 - None, # 2738 - None, # 2739 - None, # 2740 - None, # 2741 - None, # 2742 - None, # 2743 - None, # 2744 - None, # 2745 - None, # 2746 - None, # 2747 - None, # 2748 - None, # 2749 - None, # 2750 - None, # 2751 - None, # 2752 - None, # 2753 - None, # 2754 - None, # 2755 - None, # 2756 - None, # 2757 - None, # 2758 - None, # 2759 - None, # 2760 - None, # 2761 - None, # 2762 - None, # 2763 - None, # 2764 - None, # 2765 - None, # 2766 - None, # 2767 - None, # 2768 - None, # 2769 - None, # 2770 - None, # 2771 - None, # 2772 - None, # 2773 - None, # 2774 - None, # 2775 - None, # 2776 - None, # 2777 - None, # 2778 - None, # 2779 - None, # 2780 - None, # 2781 - None, # 2782 - None, # 2783 - None, # 2784 - None, # 2785 - None, # 2786 - None, # 2787 - None, # 2788 - None, # 2789 - None, # 2790 - None, # 2791 - None, # 2792 - None, # 2793 - None, # 2794 - None, # 2795 - None, # 2796 - None, # 2797 - None, # 2798 - None, # 2799 - None, # 2800 - None, # 2801 - None, # 2802 - None, # 2803 - None, # 2804 - None, # 2805 - None, # 2806 - None, # 2807 - None, # 2808 - None, # 2809 - None, # 2810 - None, # 2811 - None, # 2812 - None, # 2813 - None, # 2814 - None, # 2815 - None, # 2816 - None, # 2817 - None, # 2818 - None, # 2819 - None, # 2820 - None, # 2821 - None, # 2822 - None, # 2823 - None, # 2824 - None, # 2825 - None, # 2826 - None, # 2827 - None, # 2828 - None, # 2829 - None, # 2830 - None, # 2831 - None, # 2832 - None, # 2833 - None, # 2834 - None, # 2835 - None, # 2836 - None, # 2837 - None, # 2838 - None, # 2839 - None, # 2840 - None, # 2841 - None, # 2842 - None, # 2843 - None, # 2844 - None, # 2845 - None, # 2846 - None, # 2847 - None, # 2848 - None, # 2849 - None, # 2850 - None, # 2851 - None, # 2852 - None, # 2853 - None, # 2854 - None, # 2855 - None, # 2856 - None, # 2857 - None, # 2858 - None, # 2859 - None, # 2860 - None, # 2861 - None, # 2862 - None, # 2863 - None, # 2864 - None, # 2865 - None, # 2866 - None, # 2867 - None, # 2868 - None, # 2869 - None, # 2870 - None, # 2871 - None, # 2872 - None, # 2873 - None, # 2874 - None, # 2875 - None, # 2876 - None, # 2877 - None, # 2878 - None, # 2879 - None, # 2880 - None, # 2881 - None, # 2882 - None, # 2883 - None, # 2884 - None, # 2885 - None, # 2886 - None, # 2887 - None, # 2888 - None, # 2889 - None, # 2890 - None, # 2891 - None, # 2892 - None, # 2893 - None, # 2894 - None, # 2895 - None, # 2896 - None, # 2897 - None, # 2898 - None, # 2899 - None, # 2900 - None, # 2901 - None, # 2902 - None, # 2903 - None, # 2904 - None, # 2905 - None, # 2906 - None, # 2907 - None, # 2908 - None, # 2909 - None, # 2910 - None, # 2911 - None, # 2912 - None, # 2913 - None, # 2914 - None, # 2915 - None, # 2916 - None, # 2917 - None, # 2918 - None, # 2919 - None, # 2920 - None, # 2921 - None, # 2922 - None, # 2923 - None, # 2924 - None, # 2925 - None, # 2926 - None, # 2927 - None, # 2928 - None, # 2929 - None, # 2930 - None, # 2931 - None, # 2932 - None, # 2933 - None, # 2934 - None, # 2935 - None, # 2936 - None, # 2937 - None, # 2938 - None, # 2939 - None, # 2940 - None, # 2941 - None, # 2942 - None, # 2943 - None, # 2944 - None, # 2945 - None, # 2946 - None, # 2947 - None, # 2948 - None, # 2949 - None, # 2950 - None, # 2951 - None, # 2952 - None, # 2953 - None, # 2954 - None, # 2955 - None, # 2956 - None, # 2957 - None, # 2958 - None, # 2959 - None, # 2960 - None, # 2961 - None, # 2962 - None, # 2963 - None, # 2964 - None, # 2965 - None, # 2966 - None, # 2967 - None, # 2968 - None, # 2969 - None, # 2970 - None, # 2971 - None, # 2972 - None, # 2973 - None, # 2974 - None, # 2975 - None, # 2976 - None, # 2977 - None, # 2978 - None, # 2979 - None, # 2980 - None, # 2981 - None, # 2982 - None, # 2983 - None, # 2984 - None, # 2985 - None, # 2986 - None, # 2987 - None, # 2988 - None, # 2989 - None, # 2990 - None, # 2991 - None, # 2992 - None, # 2993 - None, # 2994 - None, # 2995 - None, # 2996 - None, # 2997 - None, # 2998 - None, # 2999 - None, # 3000 - None, # 3001 - None, # 3002 - None, # 3003 - None, # 3004 - None, # 3005 - None, # 3006 - None, # 3007 - None, # 3008 - None, # 3009 - None, # 3010 - None, # 3011 - None, # 3012 - None, # 3013 - None, # 3014 - None, # 3015 - None, # 3016 - None, # 3017 - None, # 3018 - None, # 3019 - None, # 3020 - None, # 3021 - None, # 3022 - None, # 3023 - None, # 3024 - None, # 3025 - None, # 3026 - None, # 3027 - None, # 3028 - None, # 3029 - None, # 3030 - None, # 3031 - None, # 3032 - None, # 3033 - None, # 3034 - None, # 3035 - None, # 3036 - None, # 3037 - None, # 3038 - None, # 3039 - None, # 3040 - None, # 3041 - None, # 3042 - None, # 3043 - None, # 3044 - None, # 3045 - None, # 3046 - None, # 3047 - None, # 3048 - None, # 3049 - None, # 3050 - None, # 3051 - None, # 3052 - None, # 3053 - None, # 3054 - None, # 3055 - None, # 3056 - None, # 3057 - None, # 3058 - None, # 3059 - None, # 3060 - None, # 3061 - None, # 3062 - None, # 3063 - None, # 3064 - None, # 3065 - None, # 3066 - None, # 3067 - None, # 3068 - None, # 3069 - None, # 3070 - None, # 3071 - None, # 3072 - None, # 3073 - None, # 3074 - None, # 3075 - None, # 3076 - None, # 3077 - None, # 3078 - None, # 3079 - None, # 3080 - None, # 3081 - None, # 3082 - None, # 3083 - None, # 3084 - None, # 3085 - None, # 3086 - None, # 3087 - None, # 3088 - None, # 3089 - None, # 3090 - None, # 3091 - None, # 3092 - None, # 3093 - None, # 3094 - None, # 3095 - None, # 3096 - None, # 3097 - None, # 3098 - None, # 3099 - None, # 3100 - None, # 3101 - None, # 3102 - None, # 3103 - None, # 3104 - None, # 3105 - None, # 3106 - None, # 3107 - None, # 3108 - None, # 3109 - None, # 3110 - None, # 3111 - None, # 3112 - None, # 3113 - None, # 3114 - None, # 3115 - None, # 3116 - None, # 3117 - None, # 3118 - None, # 3119 - None, # 3120 - None, # 3121 - None, # 3122 - None, # 3123 - None, # 3124 - None, # 3125 - None, # 3126 - None, # 3127 - None, # 3128 - None, # 3129 - None, # 3130 - None, # 3131 - None, # 3132 - None, # 3133 - None, # 3134 - None, # 3135 - None, # 3136 - None, # 3137 - None, # 3138 - None, # 3139 - None, # 3140 - None, # 3141 - None, # 3142 - None, # 3143 - None, # 3144 - None, # 3145 - None, # 3146 - None, # 3147 - None, # 3148 - None, # 3149 - None, # 3150 - None, # 3151 - None, # 3152 - None, # 3153 - None, # 3154 - None, # 3155 - None, # 3156 - None, # 3157 - None, # 3158 - None, # 3159 - None, # 3160 - None, # 3161 - None, # 3162 - None, # 3163 - None, # 3164 - None, # 3165 - None, # 3166 - None, # 3167 - None, # 3168 - None, # 3169 - None, # 3170 - None, # 3171 - None, # 3172 - None, # 3173 - None, # 3174 - None, # 3175 - None, # 3176 - None, # 3177 - None, # 3178 - None, # 3179 - None, # 3180 - None, # 3181 - None, # 3182 - None, # 3183 - None, # 3184 - None, # 3185 - None, # 3186 - None, # 3187 - None, # 3188 - None, # 3189 - None, # 3190 - None, # 3191 - None, # 3192 - None, # 3193 - None, # 3194 - None, # 3195 - None, # 3196 - None, # 3197 - None, # 3198 - None, # 3199 - None, # 3200 - None, # 3201 - None, # 3202 - None, # 3203 - None, # 3204 - None, # 3205 - None, # 3206 - None, # 3207 - None, # 3208 - None, # 3209 - None, # 3210 - None, # 3211 - None, # 3212 - None, # 3213 - None, # 3214 - None, # 3215 - None, # 3216 - None, # 3217 - None, # 3218 - None, # 3219 - None, # 3220 - None, # 3221 - None, # 3222 - None, # 3223 - None, # 3224 - None, # 3225 - None, # 3226 - None, # 3227 - None, # 3228 - None, # 3229 - None, # 3230 - None, # 3231 - None, # 3232 - None, # 3233 - None, # 3234 - None, # 3235 - None, # 3236 - None, # 3237 - None, # 3238 - None, # 3239 - None, # 3240 - None, # 3241 - None, # 3242 - None, # 3243 - None, # 3244 - None, # 3245 - None, # 3246 - None, # 3247 - None, # 3248 - None, # 3249 - None, # 3250 - None, # 3251 - None, # 3252 - None, # 3253 - None, # 3254 - None, # 3255 - None, # 3256 - None, # 3257 - None, # 3258 - None, # 3259 - None, # 3260 - None, # 3261 - None, # 3262 - None, # 3263 - None, # 3264 - None, # 3265 - None, # 3266 - None, # 3267 - None, # 3268 - None, # 3269 - None, # 3270 - None, # 3271 - None, # 3272 - None, # 3273 - None, # 3274 - None, # 3275 - None, # 3276 - None, # 3277 - None, # 3278 - None, # 3279 - None, # 3280 - None, # 3281 - None, # 3282 - None, # 3283 - None, # 3284 - None, # 3285 - None, # 3286 - None, # 3287 - None, # 3288 - None, # 3289 - None, # 3290 - None, # 3291 - None, # 3292 - None, # 3293 - None, # 3294 - None, # 3295 - None, # 3296 - None, # 3297 - None, # 3298 - None, # 3299 - None, # 3300 - None, # 3301 - None, # 3302 - None, # 3303 - None, # 3304 - None, # 3305 - None, # 3306 - None, # 3307 - None, # 3308 - None, # 3309 - None, # 3310 - None, # 3311 - None, # 3312 - None, # 3313 - None, # 3314 - None, # 3315 - None, # 3316 - None, # 3317 - None, # 3318 - None, # 3319 - None, # 3320 - None, # 3321 - None, # 3322 - None, # 3323 - None, # 3324 - None, # 3325 - None, # 3326 - None, # 3327 - None, # 3328 - ( - 3329, - TType.STRUCT, - "sessionConf", - [TDBSqlSessionConf, None], - None, - ), # 3329 + None, # 0 + (1, TType.STRUCT, 'sessionHandle', [TSessionHandle, None], None, ), # 1 + (2, TType.STRING, 'delegationToken', 'UTF8', None, ), # 2 + None, # 3 + None, # 4 + None, # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + None, # 1281 + None, # 1282 + None, # 1283 + None, # 1284 + None, # 1285 + None, # 1286 + None, # 1287 + None, # 1288 + None, # 1289 + None, # 1290 + None, # 1291 + None, # 1292 + None, # 1293 + None, # 1294 + None, # 1295 + None, # 1296 + None, # 1297 + None, # 1298 + None, # 1299 + None, # 1300 + None, # 1301 + None, # 1302 + None, # 1303 + None, # 1304 + None, # 1305 + None, # 1306 + None, # 1307 + None, # 1308 + None, # 1309 + None, # 1310 + None, # 1311 + None, # 1312 + None, # 1313 + None, # 1314 + None, # 1315 + None, # 1316 + None, # 1317 + None, # 1318 + None, # 1319 + None, # 1320 + None, # 1321 + None, # 1322 + None, # 1323 + None, # 1324 + None, # 1325 + None, # 1326 + None, # 1327 + None, # 1328 + None, # 1329 + None, # 1330 + None, # 1331 + None, # 1332 + None, # 1333 + None, # 1334 + None, # 1335 + None, # 1336 + None, # 1337 + None, # 1338 + None, # 1339 + None, # 1340 + None, # 1341 + None, # 1342 + None, # 1343 + None, # 1344 + None, # 1345 + None, # 1346 + None, # 1347 + None, # 1348 + None, # 1349 + None, # 1350 + None, # 1351 + None, # 1352 + None, # 1353 + None, # 1354 + None, # 1355 + None, # 1356 + None, # 1357 + None, # 1358 + None, # 1359 + None, # 1360 + None, # 1361 + None, # 1362 + None, # 1363 + None, # 1364 + None, # 1365 + None, # 1366 + None, # 1367 + None, # 1368 + None, # 1369 + None, # 1370 + None, # 1371 + None, # 1372 + None, # 1373 + None, # 1374 + None, # 1375 + None, # 1376 + None, # 1377 + None, # 1378 + None, # 1379 + None, # 1380 + None, # 1381 + None, # 1382 + None, # 1383 + None, # 1384 + None, # 1385 + None, # 1386 + None, # 1387 + None, # 1388 + None, # 1389 + None, # 1390 + None, # 1391 + None, # 1392 + None, # 1393 + None, # 1394 + None, # 1395 + None, # 1396 + None, # 1397 + None, # 1398 + None, # 1399 + None, # 1400 + None, # 1401 + None, # 1402 + None, # 1403 + None, # 1404 + None, # 1405 + None, # 1406 + None, # 1407 + None, # 1408 + None, # 1409 + None, # 1410 + None, # 1411 + None, # 1412 + None, # 1413 + None, # 1414 + None, # 1415 + None, # 1416 + None, # 1417 + None, # 1418 + None, # 1419 + None, # 1420 + None, # 1421 + None, # 1422 + None, # 1423 + None, # 1424 + None, # 1425 + None, # 1426 + None, # 1427 + None, # 1428 + None, # 1429 + None, # 1430 + None, # 1431 + None, # 1432 + None, # 1433 + None, # 1434 + None, # 1435 + None, # 1436 + None, # 1437 + None, # 1438 + None, # 1439 + None, # 1440 + None, # 1441 + None, # 1442 + None, # 1443 + None, # 1444 + None, # 1445 + None, # 1446 + None, # 1447 + None, # 1448 + None, # 1449 + None, # 1450 + None, # 1451 + None, # 1452 + None, # 1453 + None, # 1454 + None, # 1455 + None, # 1456 + None, # 1457 + None, # 1458 + None, # 1459 + None, # 1460 + None, # 1461 + None, # 1462 + None, # 1463 + None, # 1464 + None, # 1465 + None, # 1466 + None, # 1467 + None, # 1468 + None, # 1469 + None, # 1470 + None, # 1471 + None, # 1472 + None, # 1473 + None, # 1474 + None, # 1475 + None, # 1476 + None, # 1477 + None, # 1478 + None, # 1479 + None, # 1480 + None, # 1481 + None, # 1482 + None, # 1483 + None, # 1484 + None, # 1485 + None, # 1486 + None, # 1487 + None, # 1488 + None, # 1489 + None, # 1490 + None, # 1491 + None, # 1492 + None, # 1493 + None, # 1494 + None, # 1495 + None, # 1496 + None, # 1497 + None, # 1498 + None, # 1499 + None, # 1500 + None, # 1501 + None, # 1502 + None, # 1503 + None, # 1504 + None, # 1505 + None, # 1506 + None, # 1507 + None, # 1508 + None, # 1509 + None, # 1510 + None, # 1511 + None, # 1512 + None, # 1513 + None, # 1514 + None, # 1515 + None, # 1516 + None, # 1517 + None, # 1518 + None, # 1519 + None, # 1520 + None, # 1521 + None, # 1522 + None, # 1523 + None, # 1524 + None, # 1525 + None, # 1526 + None, # 1527 + None, # 1528 + None, # 1529 + None, # 1530 + None, # 1531 + None, # 1532 + None, # 1533 + None, # 1534 + None, # 1535 + None, # 1536 + None, # 1537 + None, # 1538 + None, # 1539 + None, # 1540 + None, # 1541 + None, # 1542 + None, # 1543 + None, # 1544 + None, # 1545 + None, # 1546 + None, # 1547 + None, # 1548 + None, # 1549 + None, # 1550 + None, # 1551 + None, # 1552 + None, # 1553 + None, # 1554 + None, # 1555 + None, # 1556 + None, # 1557 + None, # 1558 + None, # 1559 + None, # 1560 + None, # 1561 + None, # 1562 + None, # 1563 + None, # 1564 + None, # 1565 + None, # 1566 + None, # 1567 + None, # 1568 + None, # 1569 + None, # 1570 + None, # 1571 + None, # 1572 + None, # 1573 + None, # 1574 + None, # 1575 + None, # 1576 + None, # 1577 + None, # 1578 + None, # 1579 + None, # 1580 + None, # 1581 + None, # 1582 + None, # 1583 + None, # 1584 + None, # 1585 + None, # 1586 + None, # 1587 + None, # 1588 + None, # 1589 + None, # 1590 + None, # 1591 + None, # 1592 + None, # 1593 + None, # 1594 + None, # 1595 + None, # 1596 + None, # 1597 + None, # 1598 + None, # 1599 + None, # 1600 + None, # 1601 + None, # 1602 + None, # 1603 + None, # 1604 + None, # 1605 + None, # 1606 + None, # 1607 + None, # 1608 + None, # 1609 + None, # 1610 + None, # 1611 + None, # 1612 + None, # 1613 + None, # 1614 + None, # 1615 + None, # 1616 + None, # 1617 + None, # 1618 + None, # 1619 + None, # 1620 + None, # 1621 + None, # 1622 + None, # 1623 + None, # 1624 + None, # 1625 + None, # 1626 + None, # 1627 + None, # 1628 + None, # 1629 + None, # 1630 + None, # 1631 + None, # 1632 + None, # 1633 + None, # 1634 + None, # 1635 + None, # 1636 + None, # 1637 + None, # 1638 + None, # 1639 + None, # 1640 + None, # 1641 + None, # 1642 + None, # 1643 + None, # 1644 + None, # 1645 + None, # 1646 + None, # 1647 + None, # 1648 + None, # 1649 + None, # 1650 + None, # 1651 + None, # 1652 + None, # 1653 + None, # 1654 + None, # 1655 + None, # 1656 + None, # 1657 + None, # 1658 + None, # 1659 + None, # 1660 + None, # 1661 + None, # 1662 + None, # 1663 + None, # 1664 + None, # 1665 + None, # 1666 + None, # 1667 + None, # 1668 + None, # 1669 + None, # 1670 + None, # 1671 + None, # 1672 + None, # 1673 + None, # 1674 + None, # 1675 + None, # 1676 + None, # 1677 + None, # 1678 + None, # 1679 + None, # 1680 + None, # 1681 + None, # 1682 + None, # 1683 + None, # 1684 + None, # 1685 + None, # 1686 + None, # 1687 + None, # 1688 + None, # 1689 + None, # 1690 + None, # 1691 + None, # 1692 + None, # 1693 + None, # 1694 + None, # 1695 + None, # 1696 + None, # 1697 + None, # 1698 + None, # 1699 + None, # 1700 + None, # 1701 + None, # 1702 + None, # 1703 + None, # 1704 + None, # 1705 + None, # 1706 + None, # 1707 + None, # 1708 + None, # 1709 + None, # 1710 + None, # 1711 + None, # 1712 + None, # 1713 + None, # 1714 + None, # 1715 + None, # 1716 + None, # 1717 + None, # 1718 + None, # 1719 + None, # 1720 + None, # 1721 + None, # 1722 + None, # 1723 + None, # 1724 + None, # 1725 + None, # 1726 + None, # 1727 + None, # 1728 + None, # 1729 + None, # 1730 + None, # 1731 + None, # 1732 + None, # 1733 + None, # 1734 + None, # 1735 + None, # 1736 + None, # 1737 + None, # 1738 + None, # 1739 + None, # 1740 + None, # 1741 + None, # 1742 + None, # 1743 + None, # 1744 + None, # 1745 + None, # 1746 + None, # 1747 + None, # 1748 + None, # 1749 + None, # 1750 + None, # 1751 + None, # 1752 + None, # 1753 + None, # 1754 + None, # 1755 + None, # 1756 + None, # 1757 + None, # 1758 + None, # 1759 + None, # 1760 + None, # 1761 + None, # 1762 + None, # 1763 + None, # 1764 + None, # 1765 + None, # 1766 + None, # 1767 + None, # 1768 + None, # 1769 + None, # 1770 + None, # 1771 + None, # 1772 + None, # 1773 + None, # 1774 + None, # 1775 + None, # 1776 + None, # 1777 + None, # 1778 + None, # 1779 + None, # 1780 + None, # 1781 + None, # 1782 + None, # 1783 + None, # 1784 + None, # 1785 + None, # 1786 + None, # 1787 + None, # 1788 + None, # 1789 + None, # 1790 + None, # 1791 + None, # 1792 + None, # 1793 + None, # 1794 + None, # 1795 + None, # 1796 + None, # 1797 + None, # 1798 + None, # 1799 + None, # 1800 + None, # 1801 + None, # 1802 + None, # 1803 + None, # 1804 + None, # 1805 + None, # 1806 + None, # 1807 + None, # 1808 + None, # 1809 + None, # 1810 + None, # 1811 + None, # 1812 + None, # 1813 + None, # 1814 + None, # 1815 + None, # 1816 + None, # 1817 + None, # 1818 + None, # 1819 + None, # 1820 + None, # 1821 + None, # 1822 + None, # 1823 + None, # 1824 + None, # 1825 + None, # 1826 + None, # 1827 + None, # 1828 + None, # 1829 + None, # 1830 + None, # 1831 + None, # 1832 + None, # 1833 + None, # 1834 + None, # 1835 + None, # 1836 + None, # 1837 + None, # 1838 + None, # 1839 + None, # 1840 + None, # 1841 + None, # 1842 + None, # 1843 + None, # 1844 + None, # 1845 + None, # 1846 + None, # 1847 + None, # 1848 + None, # 1849 + None, # 1850 + None, # 1851 + None, # 1852 + None, # 1853 + None, # 1854 + None, # 1855 + None, # 1856 + None, # 1857 + None, # 1858 + None, # 1859 + None, # 1860 + None, # 1861 + None, # 1862 + None, # 1863 + None, # 1864 + None, # 1865 + None, # 1866 + None, # 1867 + None, # 1868 + None, # 1869 + None, # 1870 + None, # 1871 + None, # 1872 + None, # 1873 + None, # 1874 + None, # 1875 + None, # 1876 + None, # 1877 + None, # 1878 + None, # 1879 + None, # 1880 + None, # 1881 + None, # 1882 + None, # 1883 + None, # 1884 + None, # 1885 + None, # 1886 + None, # 1887 + None, # 1888 + None, # 1889 + None, # 1890 + None, # 1891 + None, # 1892 + None, # 1893 + None, # 1894 + None, # 1895 + None, # 1896 + None, # 1897 + None, # 1898 + None, # 1899 + None, # 1900 + None, # 1901 + None, # 1902 + None, # 1903 + None, # 1904 + None, # 1905 + None, # 1906 + None, # 1907 + None, # 1908 + None, # 1909 + None, # 1910 + None, # 1911 + None, # 1912 + None, # 1913 + None, # 1914 + None, # 1915 + None, # 1916 + None, # 1917 + None, # 1918 + None, # 1919 + None, # 1920 + None, # 1921 + None, # 1922 + None, # 1923 + None, # 1924 + None, # 1925 + None, # 1926 + None, # 1927 + None, # 1928 + None, # 1929 + None, # 1930 + None, # 1931 + None, # 1932 + None, # 1933 + None, # 1934 + None, # 1935 + None, # 1936 + None, # 1937 + None, # 1938 + None, # 1939 + None, # 1940 + None, # 1941 + None, # 1942 + None, # 1943 + None, # 1944 + None, # 1945 + None, # 1946 + None, # 1947 + None, # 1948 + None, # 1949 + None, # 1950 + None, # 1951 + None, # 1952 + None, # 1953 + None, # 1954 + None, # 1955 + None, # 1956 + None, # 1957 + None, # 1958 + None, # 1959 + None, # 1960 + None, # 1961 + None, # 1962 + None, # 1963 + None, # 1964 + None, # 1965 + None, # 1966 + None, # 1967 + None, # 1968 + None, # 1969 + None, # 1970 + None, # 1971 + None, # 1972 + None, # 1973 + None, # 1974 + None, # 1975 + None, # 1976 + None, # 1977 + None, # 1978 + None, # 1979 + None, # 1980 + None, # 1981 + None, # 1982 + None, # 1983 + None, # 1984 + None, # 1985 + None, # 1986 + None, # 1987 + None, # 1988 + None, # 1989 + None, # 1990 + None, # 1991 + None, # 1992 + None, # 1993 + None, # 1994 + None, # 1995 + None, # 1996 + None, # 1997 + None, # 1998 + None, # 1999 + None, # 2000 + None, # 2001 + None, # 2002 + None, # 2003 + None, # 2004 + None, # 2005 + None, # 2006 + None, # 2007 + None, # 2008 + None, # 2009 + None, # 2010 + None, # 2011 + None, # 2012 + None, # 2013 + None, # 2014 + None, # 2015 + None, # 2016 + None, # 2017 + None, # 2018 + None, # 2019 + None, # 2020 + None, # 2021 + None, # 2022 + None, # 2023 + None, # 2024 + None, # 2025 + None, # 2026 + None, # 2027 + None, # 2028 + None, # 2029 + None, # 2030 + None, # 2031 + None, # 2032 + None, # 2033 + None, # 2034 + None, # 2035 + None, # 2036 + None, # 2037 + None, # 2038 + None, # 2039 + None, # 2040 + None, # 2041 + None, # 2042 + None, # 2043 + None, # 2044 + None, # 2045 + None, # 2046 + None, # 2047 + None, # 2048 + None, # 2049 + None, # 2050 + None, # 2051 + None, # 2052 + None, # 2053 + None, # 2054 + None, # 2055 + None, # 2056 + None, # 2057 + None, # 2058 + None, # 2059 + None, # 2060 + None, # 2061 + None, # 2062 + None, # 2063 + None, # 2064 + None, # 2065 + None, # 2066 + None, # 2067 + None, # 2068 + None, # 2069 + None, # 2070 + None, # 2071 + None, # 2072 + None, # 2073 + None, # 2074 + None, # 2075 + None, # 2076 + None, # 2077 + None, # 2078 + None, # 2079 + None, # 2080 + None, # 2081 + None, # 2082 + None, # 2083 + None, # 2084 + None, # 2085 + None, # 2086 + None, # 2087 + None, # 2088 + None, # 2089 + None, # 2090 + None, # 2091 + None, # 2092 + None, # 2093 + None, # 2094 + None, # 2095 + None, # 2096 + None, # 2097 + None, # 2098 + None, # 2099 + None, # 2100 + None, # 2101 + None, # 2102 + None, # 2103 + None, # 2104 + None, # 2105 + None, # 2106 + None, # 2107 + None, # 2108 + None, # 2109 + None, # 2110 + None, # 2111 + None, # 2112 + None, # 2113 + None, # 2114 + None, # 2115 + None, # 2116 + None, # 2117 + None, # 2118 + None, # 2119 + None, # 2120 + None, # 2121 + None, # 2122 + None, # 2123 + None, # 2124 + None, # 2125 + None, # 2126 + None, # 2127 + None, # 2128 + None, # 2129 + None, # 2130 + None, # 2131 + None, # 2132 + None, # 2133 + None, # 2134 + None, # 2135 + None, # 2136 + None, # 2137 + None, # 2138 + None, # 2139 + None, # 2140 + None, # 2141 + None, # 2142 + None, # 2143 + None, # 2144 + None, # 2145 + None, # 2146 + None, # 2147 + None, # 2148 + None, # 2149 + None, # 2150 + None, # 2151 + None, # 2152 + None, # 2153 + None, # 2154 + None, # 2155 + None, # 2156 + None, # 2157 + None, # 2158 + None, # 2159 + None, # 2160 + None, # 2161 + None, # 2162 + None, # 2163 + None, # 2164 + None, # 2165 + None, # 2166 + None, # 2167 + None, # 2168 + None, # 2169 + None, # 2170 + None, # 2171 + None, # 2172 + None, # 2173 + None, # 2174 + None, # 2175 + None, # 2176 + None, # 2177 + None, # 2178 + None, # 2179 + None, # 2180 + None, # 2181 + None, # 2182 + None, # 2183 + None, # 2184 + None, # 2185 + None, # 2186 + None, # 2187 + None, # 2188 + None, # 2189 + None, # 2190 + None, # 2191 + None, # 2192 + None, # 2193 + None, # 2194 + None, # 2195 + None, # 2196 + None, # 2197 + None, # 2198 + None, # 2199 + None, # 2200 + None, # 2201 + None, # 2202 + None, # 2203 + None, # 2204 + None, # 2205 + None, # 2206 + None, # 2207 + None, # 2208 + None, # 2209 + None, # 2210 + None, # 2211 + None, # 2212 + None, # 2213 + None, # 2214 + None, # 2215 + None, # 2216 + None, # 2217 + None, # 2218 + None, # 2219 + None, # 2220 + None, # 2221 + None, # 2222 + None, # 2223 + None, # 2224 + None, # 2225 + None, # 2226 + None, # 2227 + None, # 2228 + None, # 2229 + None, # 2230 + None, # 2231 + None, # 2232 + None, # 2233 + None, # 2234 + None, # 2235 + None, # 2236 + None, # 2237 + None, # 2238 + None, # 2239 + None, # 2240 + None, # 2241 + None, # 2242 + None, # 2243 + None, # 2244 + None, # 2245 + None, # 2246 + None, # 2247 + None, # 2248 + None, # 2249 + None, # 2250 + None, # 2251 + None, # 2252 + None, # 2253 + None, # 2254 + None, # 2255 + None, # 2256 + None, # 2257 + None, # 2258 + None, # 2259 + None, # 2260 + None, # 2261 + None, # 2262 + None, # 2263 + None, # 2264 + None, # 2265 + None, # 2266 + None, # 2267 + None, # 2268 + None, # 2269 + None, # 2270 + None, # 2271 + None, # 2272 + None, # 2273 + None, # 2274 + None, # 2275 + None, # 2276 + None, # 2277 + None, # 2278 + None, # 2279 + None, # 2280 + None, # 2281 + None, # 2282 + None, # 2283 + None, # 2284 + None, # 2285 + None, # 2286 + None, # 2287 + None, # 2288 + None, # 2289 + None, # 2290 + None, # 2291 + None, # 2292 + None, # 2293 + None, # 2294 + None, # 2295 + None, # 2296 + None, # 2297 + None, # 2298 + None, # 2299 + None, # 2300 + None, # 2301 + None, # 2302 + None, # 2303 + None, # 2304 + None, # 2305 + None, # 2306 + None, # 2307 + None, # 2308 + None, # 2309 + None, # 2310 + None, # 2311 + None, # 2312 + None, # 2313 + None, # 2314 + None, # 2315 + None, # 2316 + None, # 2317 + None, # 2318 + None, # 2319 + None, # 2320 + None, # 2321 + None, # 2322 + None, # 2323 + None, # 2324 + None, # 2325 + None, # 2326 + None, # 2327 + None, # 2328 + None, # 2329 + None, # 2330 + None, # 2331 + None, # 2332 + None, # 2333 + None, # 2334 + None, # 2335 + None, # 2336 + None, # 2337 + None, # 2338 + None, # 2339 + None, # 2340 + None, # 2341 + None, # 2342 + None, # 2343 + None, # 2344 + None, # 2345 + None, # 2346 + None, # 2347 + None, # 2348 + None, # 2349 + None, # 2350 + None, # 2351 + None, # 2352 + None, # 2353 + None, # 2354 + None, # 2355 + None, # 2356 + None, # 2357 + None, # 2358 + None, # 2359 + None, # 2360 + None, # 2361 + None, # 2362 + None, # 2363 + None, # 2364 + None, # 2365 + None, # 2366 + None, # 2367 + None, # 2368 + None, # 2369 + None, # 2370 + None, # 2371 + None, # 2372 + None, # 2373 + None, # 2374 + None, # 2375 + None, # 2376 + None, # 2377 + None, # 2378 + None, # 2379 + None, # 2380 + None, # 2381 + None, # 2382 + None, # 2383 + None, # 2384 + None, # 2385 + None, # 2386 + None, # 2387 + None, # 2388 + None, # 2389 + None, # 2390 + None, # 2391 + None, # 2392 + None, # 2393 + None, # 2394 + None, # 2395 + None, # 2396 + None, # 2397 + None, # 2398 + None, # 2399 + None, # 2400 + None, # 2401 + None, # 2402 + None, # 2403 + None, # 2404 + None, # 2405 + None, # 2406 + None, # 2407 + None, # 2408 + None, # 2409 + None, # 2410 + None, # 2411 + None, # 2412 + None, # 2413 + None, # 2414 + None, # 2415 + None, # 2416 + None, # 2417 + None, # 2418 + None, # 2419 + None, # 2420 + None, # 2421 + None, # 2422 + None, # 2423 + None, # 2424 + None, # 2425 + None, # 2426 + None, # 2427 + None, # 2428 + None, # 2429 + None, # 2430 + None, # 2431 + None, # 2432 + None, # 2433 + None, # 2434 + None, # 2435 + None, # 2436 + None, # 2437 + None, # 2438 + None, # 2439 + None, # 2440 + None, # 2441 + None, # 2442 + None, # 2443 + None, # 2444 + None, # 2445 + None, # 2446 + None, # 2447 + None, # 2448 + None, # 2449 + None, # 2450 + None, # 2451 + None, # 2452 + None, # 2453 + None, # 2454 + None, # 2455 + None, # 2456 + None, # 2457 + None, # 2458 + None, # 2459 + None, # 2460 + None, # 2461 + None, # 2462 + None, # 2463 + None, # 2464 + None, # 2465 + None, # 2466 + None, # 2467 + None, # 2468 + None, # 2469 + None, # 2470 + None, # 2471 + None, # 2472 + None, # 2473 + None, # 2474 + None, # 2475 + None, # 2476 + None, # 2477 + None, # 2478 + None, # 2479 + None, # 2480 + None, # 2481 + None, # 2482 + None, # 2483 + None, # 2484 + None, # 2485 + None, # 2486 + None, # 2487 + None, # 2488 + None, # 2489 + None, # 2490 + None, # 2491 + None, # 2492 + None, # 2493 + None, # 2494 + None, # 2495 + None, # 2496 + None, # 2497 + None, # 2498 + None, # 2499 + None, # 2500 + None, # 2501 + None, # 2502 + None, # 2503 + None, # 2504 + None, # 2505 + None, # 2506 + None, # 2507 + None, # 2508 + None, # 2509 + None, # 2510 + None, # 2511 + None, # 2512 + None, # 2513 + None, # 2514 + None, # 2515 + None, # 2516 + None, # 2517 + None, # 2518 + None, # 2519 + None, # 2520 + None, # 2521 + None, # 2522 + None, # 2523 + None, # 2524 + None, # 2525 + None, # 2526 + None, # 2527 + None, # 2528 + None, # 2529 + None, # 2530 + None, # 2531 + None, # 2532 + None, # 2533 + None, # 2534 + None, # 2535 + None, # 2536 + None, # 2537 + None, # 2538 + None, # 2539 + None, # 2540 + None, # 2541 + None, # 2542 + None, # 2543 + None, # 2544 + None, # 2545 + None, # 2546 + None, # 2547 + None, # 2548 + None, # 2549 + None, # 2550 + None, # 2551 + None, # 2552 + None, # 2553 + None, # 2554 + None, # 2555 + None, # 2556 + None, # 2557 + None, # 2558 + None, # 2559 + None, # 2560 + None, # 2561 + None, # 2562 + None, # 2563 + None, # 2564 + None, # 2565 + None, # 2566 + None, # 2567 + None, # 2568 + None, # 2569 + None, # 2570 + None, # 2571 + None, # 2572 + None, # 2573 + None, # 2574 + None, # 2575 + None, # 2576 + None, # 2577 + None, # 2578 + None, # 2579 + None, # 2580 + None, # 2581 + None, # 2582 + None, # 2583 + None, # 2584 + None, # 2585 + None, # 2586 + None, # 2587 + None, # 2588 + None, # 2589 + None, # 2590 + None, # 2591 + None, # 2592 + None, # 2593 + None, # 2594 + None, # 2595 + None, # 2596 + None, # 2597 + None, # 2598 + None, # 2599 + None, # 2600 + None, # 2601 + None, # 2602 + None, # 2603 + None, # 2604 + None, # 2605 + None, # 2606 + None, # 2607 + None, # 2608 + None, # 2609 + None, # 2610 + None, # 2611 + None, # 2612 + None, # 2613 + None, # 2614 + None, # 2615 + None, # 2616 + None, # 2617 + None, # 2618 + None, # 2619 + None, # 2620 + None, # 2621 + None, # 2622 + None, # 2623 + None, # 2624 + None, # 2625 + None, # 2626 + None, # 2627 + None, # 2628 + None, # 2629 + None, # 2630 + None, # 2631 + None, # 2632 + None, # 2633 + None, # 2634 + None, # 2635 + None, # 2636 + None, # 2637 + None, # 2638 + None, # 2639 + None, # 2640 + None, # 2641 + None, # 2642 + None, # 2643 + None, # 2644 + None, # 2645 + None, # 2646 + None, # 2647 + None, # 2648 + None, # 2649 + None, # 2650 + None, # 2651 + None, # 2652 + None, # 2653 + None, # 2654 + None, # 2655 + None, # 2656 + None, # 2657 + None, # 2658 + None, # 2659 + None, # 2660 + None, # 2661 + None, # 2662 + None, # 2663 + None, # 2664 + None, # 2665 + None, # 2666 + None, # 2667 + None, # 2668 + None, # 2669 + None, # 2670 + None, # 2671 + None, # 2672 + None, # 2673 + None, # 2674 + None, # 2675 + None, # 2676 + None, # 2677 + None, # 2678 + None, # 2679 + None, # 2680 + None, # 2681 + None, # 2682 + None, # 2683 + None, # 2684 + None, # 2685 + None, # 2686 + None, # 2687 + None, # 2688 + None, # 2689 + None, # 2690 + None, # 2691 + None, # 2692 + None, # 2693 + None, # 2694 + None, # 2695 + None, # 2696 + None, # 2697 + None, # 2698 + None, # 2699 + None, # 2700 + None, # 2701 + None, # 2702 + None, # 2703 + None, # 2704 + None, # 2705 + None, # 2706 + None, # 2707 + None, # 2708 + None, # 2709 + None, # 2710 + None, # 2711 + None, # 2712 + None, # 2713 + None, # 2714 + None, # 2715 + None, # 2716 + None, # 2717 + None, # 2718 + None, # 2719 + None, # 2720 + None, # 2721 + None, # 2722 + None, # 2723 + None, # 2724 + None, # 2725 + None, # 2726 + None, # 2727 + None, # 2728 + None, # 2729 + None, # 2730 + None, # 2731 + None, # 2732 + None, # 2733 + None, # 2734 + None, # 2735 + None, # 2736 + None, # 2737 + None, # 2738 + None, # 2739 + None, # 2740 + None, # 2741 + None, # 2742 + None, # 2743 + None, # 2744 + None, # 2745 + None, # 2746 + None, # 2747 + None, # 2748 + None, # 2749 + None, # 2750 + None, # 2751 + None, # 2752 + None, # 2753 + None, # 2754 + None, # 2755 + None, # 2756 + None, # 2757 + None, # 2758 + None, # 2759 + None, # 2760 + None, # 2761 + None, # 2762 + None, # 2763 + None, # 2764 + None, # 2765 + None, # 2766 + None, # 2767 + None, # 2768 + None, # 2769 + None, # 2770 + None, # 2771 + None, # 2772 + None, # 2773 + None, # 2774 + None, # 2775 + None, # 2776 + None, # 2777 + None, # 2778 + None, # 2779 + None, # 2780 + None, # 2781 + None, # 2782 + None, # 2783 + None, # 2784 + None, # 2785 + None, # 2786 + None, # 2787 + None, # 2788 + None, # 2789 + None, # 2790 + None, # 2791 + None, # 2792 + None, # 2793 + None, # 2794 + None, # 2795 + None, # 2796 + None, # 2797 + None, # 2798 + None, # 2799 + None, # 2800 + None, # 2801 + None, # 2802 + None, # 2803 + None, # 2804 + None, # 2805 + None, # 2806 + None, # 2807 + None, # 2808 + None, # 2809 + None, # 2810 + None, # 2811 + None, # 2812 + None, # 2813 + None, # 2814 + None, # 2815 + None, # 2816 + None, # 2817 + None, # 2818 + None, # 2819 + None, # 2820 + None, # 2821 + None, # 2822 + None, # 2823 + None, # 2824 + None, # 2825 + None, # 2826 + None, # 2827 + None, # 2828 + None, # 2829 + None, # 2830 + None, # 2831 + None, # 2832 + None, # 2833 + None, # 2834 + None, # 2835 + None, # 2836 + None, # 2837 + None, # 2838 + None, # 2839 + None, # 2840 + None, # 2841 + None, # 2842 + None, # 2843 + None, # 2844 + None, # 2845 + None, # 2846 + None, # 2847 + None, # 2848 + None, # 2849 + None, # 2850 + None, # 2851 + None, # 2852 + None, # 2853 + None, # 2854 + None, # 2855 + None, # 2856 + None, # 2857 + None, # 2858 + None, # 2859 + None, # 2860 + None, # 2861 + None, # 2862 + None, # 2863 + None, # 2864 + None, # 2865 + None, # 2866 + None, # 2867 + None, # 2868 + None, # 2869 + None, # 2870 + None, # 2871 + None, # 2872 + None, # 2873 + None, # 2874 + None, # 2875 + None, # 2876 + None, # 2877 + None, # 2878 + None, # 2879 + None, # 2880 + None, # 2881 + None, # 2882 + None, # 2883 + None, # 2884 + None, # 2885 + None, # 2886 + None, # 2887 + None, # 2888 + None, # 2889 + None, # 2890 + None, # 2891 + None, # 2892 + None, # 2893 + None, # 2894 + None, # 2895 + None, # 2896 + None, # 2897 + None, # 2898 + None, # 2899 + None, # 2900 + None, # 2901 + None, # 2902 + None, # 2903 + None, # 2904 + None, # 2905 + None, # 2906 + None, # 2907 + None, # 2908 + None, # 2909 + None, # 2910 + None, # 2911 + None, # 2912 + None, # 2913 + None, # 2914 + None, # 2915 + None, # 2916 + None, # 2917 + None, # 2918 + None, # 2919 + None, # 2920 + None, # 2921 + None, # 2922 + None, # 2923 + None, # 2924 + None, # 2925 + None, # 2926 + None, # 2927 + None, # 2928 + None, # 2929 + None, # 2930 + None, # 2931 + None, # 2932 + None, # 2933 + None, # 2934 + None, # 2935 + None, # 2936 + None, # 2937 + None, # 2938 + None, # 2939 + None, # 2940 + None, # 2941 + None, # 2942 + None, # 2943 + None, # 2944 + None, # 2945 + None, # 2946 + None, # 2947 + None, # 2948 + None, # 2949 + None, # 2950 + None, # 2951 + None, # 2952 + None, # 2953 + None, # 2954 + None, # 2955 + None, # 2956 + None, # 2957 + None, # 2958 + None, # 2959 + None, # 2960 + None, # 2961 + None, # 2962 + None, # 2963 + None, # 2964 + None, # 2965 + None, # 2966 + None, # 2967 + None, # 2968 + None, # 2969 + None, # 2970 + None, # 2971 + None, # 2972 + None, # 2973 + None, # 2974 + None, # 2975 + None, # 2976 + None, # 2977 + None, # 2978 + None, # 2979 + None, # 2980 + None, # 2981 + None, # 2982 + None, # 2983 + None, # 2984 + None, # 2985 + None, # 2986 + None, # 2987 + None, # 2988 + None, # 2989 + None, # 2990 + None, # 2991 + None, # 2992 + None, # 2993 + None, # 2994 + None, # 2995 + None, # 2996 + None, # 2997 + None, # 2998 + None, # 2999 + None, # 3000 + None, # 3001 + None, # 3002 + None, # 3003 + None, # 3004 + None, # 3005 + None, # 3006 + None, # 3007 + None, # 3008 + None, # 3009 + None, # 3010 + None, # 3011 + None, # 3012 + None, # 3013 + None, # 3014 + None, # 3015 + None, # 3016 + None, # 3017 + None, # 3018 + None, # 3019 + None, # 3020 + None, # 3021 + None, # 3022 + None, # 3023 + None, # 3024 + None, # 3025 + None, # 3026 + None, # 3027 + None, # 3028 + None, # 3029 + None, # 3030 + None, # 3031 + None, # 3032 + None, # 3033 + None, # 3034 + None, # 3035 + None, # 3036 + None, # 3037 + None, # 3038 + None, # 3039 + None, # 3040 + None, # 3041 + None, # 3042 + None, # 3043 + None, # 3044 + None, # 3045 + None, # 3046 + None, # 3047 + None, # 3048 + None, # 3049 + None, # 3050 + None, # 3051 + None, # 3052 + None, # 3053 + None, # 3054 + None, # 3055 + None, # 3056 + None, # 3057 + None, # 3058 + None, # 3059 + None, # 3060 + None, # 3061 + None, # 3062 + None, # 3063 + None, # 3064 + None, # 3065 + None, # 3066 + None, # 3067 + None, # 3068 + None, # 3069 + None, # 3070 + None, # 3071 + None, # 3072 + None, # 3073 + None, # 3074 + None, # 3075 + None, # 3076 + None, # 3077 + None, # 3078 + None, # 3079 + None, # 3080 + None, # 3081 + None, # 3082 + None, # 3083 + None, # 3084 + None, # 3085 + None, # 3086 + None, # 3087 + None, # 3088 + None, # 3089 + None, # 3090 + None, # 3091 + None, # 3092 + None, # 3093 + None, # 3094 + None, # 3095 + None, # 3096 + None, # 3097 + None, # 3098 + None, # 3099 + None, # 3100 + None, # 3101 + None, # 3102 + None, # 3103 + None, # 3104 + None, # 3105 + None, # 3106 + None, # 3107 + None, # 3108 + None, # 3109 + None, # 3110 + None, # 3111 + None, # 3112 + None, # 3113 + None, # 3114 + None, # 3115 + None, # 3116 + None, # 3117 + None, # 3118 + None, # 3119 + None, # 3120 + None, # 3121 + None, # 3122 + None, # 3123 + None, # 3124 + None, # 3125 + None, # 3126 + None, # 3127 + None, # 3128 + None, # 3129 + None, # 3130 + None, # 3131 + None, # 3132 + None, # 3133 + None, # 3134 + None, # 3135 + None, # 3136 + None, # 3137 + None, # 3138 + None, # 3139 + None, # 3140 + None, # 3141 + None, # 3142 + None, # 3143 + None, # 3144 + None, # 3145 + None, # 3146 + None, # 3147 + None, # 3148 + None, # 3149 + None, # 3150 + None, # 3151 + None, # 3152 + None, # 3153 + None, # 3154 + None, # 3155 + None, # 3156 + None, # 3157 + None, # 3158 + None, # 3159 + None, # 3160 + None, # 3161 + None, # 3162 + None, # 3163 + None, # 3164 + None, # 3165 + None, # 3166 + None, # 3167 + None, # 3168 + None, # 3169 + None, # 3170 + None, # 3171 + None, # 3172 + None, # 3173 + None, # 3174 + None, # 3175 + None, # 3176 + None, # 3177 + None, # 3178 + None, # 3179 + None, # 3180 + None, # 3181 + None, # 3182 + None, # 3183 + None, # 3184 + None, # 3185 + None, # 3186 + None, # 3187 + None, # 3188 + None, # 3189 + None, # 3190 + None, # 3191 + None, # 3192 + None, # 3193 + None, # 3194 + None, # 3195 + None, # 3196 + None, # 3197 + None, # 3198 + None, # 3199 + None, # 3200 + None, # 3201 + None, # 3202 + None, # 3203 + None, # 3204 + None, # 3205 + None, # 3206 + None, # 3207 + None, # 3208 + None, # 3209 + None, # 3210 + None, # 3211 + None, # 3212 + None, # 3213 + None, # 3214 + None, # 3215 + None, # 3216 + None, # 3217 + None, # 3218 + None, # 3219 + None, # 3220 + None, # 3221 + None, # 3222 + None, # 3223 + None, # 3224 + None, # 3225 + None, # 3226 + None, # 3227 + None, # 3228 + None, # 3229 + None, # 3230 + None, # 3231 + None, # 3232 + None, # 3233 + None, # 3234 + None, # 3235 + None, # 3236 + None, # 3237 + None, # 3238 + None, # 3239 + None, # 3240 + None, # 3241 + None, # 3242 + None, # 3243 + None, # 3244 + None, # 3245 + None, # 3246 + None, # 3247 + None, # 3248 + None, # 3249 + None, # 3250 + None, # 3251 + None, # 3252 + None, # 3253 + None, # 3254 + None, # 3255 + None, # 3256 + None, # 3257 + None, # 3258 + None, # 3259 + None, # 3260 + None, # 3261 + None, # 3262 + None, # 3263 + None, # 3264 + None, # 3265 + None, # 3266 + None, # 3267 + None, # 3268 + None, # 3269 + None, # 3270 + None, # 3271 + None, # 3272 + None, # 3273 + None, # 3274 + None, # 3275 + None, # 3276 + None, # 3277 + None, # 3278 + None, # 3279 + None, # 3280 + None, # 3281 + None, # 3282 + None, # 3283 + None, # 3284 + None, # 3285 + None, # 3286 + None, # 3287 + None, # 3288 + None, # 3289 + None, # 3290 + None, # 3291 + None, # 3292 + None, # 3293 + None, # 3294 + None, # 3295 + None, # 3296 + None, # 3297 + None, # 3298 + None, # 3299 + None, # 3300 + None, # 3301 + None, # 3302 + None, # 3303 + None, # 3304 + None, # 3305 + None, # 3306 + None, # 3307 + None, # 3308 + None, # 3309 + None, # 3310 + None, # 3311 + None, # 3312 + None, # 3313 + None, # 3314 + None, # 3315 + None, # 3316 + None, # 3317 + None, # 3318 + None, # 3319 + None, # 3320 + None, # 3321 + None, # 3322 + None, # 3323 + None, # 3324 + None, # 3325 + None, # 3326 + None, # 3327 + None, # 3328 + (3329, TType.STRUCT, 'sessionConf', [TDBSqlSessionConf, None], None, ), # 3329 ) all_structs.append(TRenewDelegationTokenResp) TRenewDelegationTokenResp.thrift_spec = ( - None, # 0 - ( - 1, - TType.STRUCT, - "status", - [TStatus, None], - None, - ), # 1 + None, # 0 + (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 ) all_structs.append(TProgressUpdateResp) TProgressUpdateResp.thrift_spec = ( - None, # 0 - ( - 1, - TType.LIST, - "headerNames", - (TType.STRING, "UTF8", False), - None, - ), # 1 - ( - 2, - TType.LIST, - "rows", - (TType.LIST, (TType.STRING, "UTF8", False), False), - None, - ), # 2 - ( - 3, - TType.DOUBLE, - "progressedPercentage", - None, - None, - ), # 3 - ( - 4, - TType.I32, - "status", - None, - None, - ), # 4 - ( - 5, - TType.STRING, - "footerSummary", - "UTF8", - None, - ), # 5 - ( - 6, - TType.I64, - "startTime", - None, - None, - ), # 6 + None, # 0 + (1, TType.LIST, 'headerNames', (TType.STRING, 'UTF8', False), None, ), # 1 + (2, TType.LIST, 'rows', (TType.LIST, (TType.STRING, 'UTF8', False), False), None, ), # 2 + (3, TType.DOUBLE, 'progressedPercentage', None, None, ), # 3 + (4, TType.I32, 'status', None, None, ), # 4 + (5, TType.STRING, 'footerSummary', 'UTF8', None, ), # 5 + (6, TType.I64, 'startTime', None, None, ), # 6 ) fix_spec(all_structs) del all_structs From b6a566893bd5b76f6d424d659ecc9213268e4a5b Mon Sep 17 00:00:00 2001 From: Jothi Prakash Date: Thu, 19 Sep 2024 00:16:42 +0530 Subject: [PATCH 48/53] BIG UPDATE --- .gitignore | 2 +- README.md | 12 +- databricks_sql_connector_core/pyproject.toml | 3 - .../src/databricks/sql/auth/auth.py | 15 +- .../src/databricks/sql/client.py | 14 +- .../src/databricks/sql/cloudfetch/__init__.py | 0 .../sql/thrift_api/TCLIService/__init__.py | 2 +- .../sql/thrift_api/TCLIService/constants.py | 90 +- .../sql/thrift_api/TCLIService/ttypes.py | 220354 +++++++-------- .../src/databricks/sql/thrift_backend.py | 2 - .../src/databricks/sql/utils.py | 24 +- .../src/databricks/sqlalchemy/__init__.py | 6 +- .../tests/{e2e => }/conftest.py | 0 .../tests/e2e/common/decimal_tests.py | 43 +- .../tests/e2e/common/large_queries_mixin.py | 16 +- .../tests/e2e/common/predicates.py | 1 - .../tests/e2e/test_complex_types.py | 11 +- .../tests/e2e/test_driver.py | 123 +- .../tests/e2e/test_parameterized_queries.py | 29 +- .../tests/unit/test_arrow_queue.py | 24 +- .../tests/unit/test_client.py | 192 +- .../tests/unit/test_cloud_fetch_queue.py | 87 +- .../tests/unit/test_download_manager.py | 42 +- .../tests/unit/test_downloader.py | 83 +- .../tests/unit/test_fetches.py | 101 +- .../tests/unit/test_fetches_bench.py | 28 +- .../tests/unit/test_init_file.py | 646 +- .../tests/unit/test_oauth_persistence.py | 11 +- .../tests/unit/test_param_escaper.py | 30 +- .../tests/unit/test_retry.py | 10 +- .../tests/unit/test_thrift_backend.py | 730 +- docs/parameters.md | 2 +- examples/README.md | 6 +- examples/custom_cred_provider.py | 22 +- examples/insert_data.py | 26 +- examples/interactive_oauth.py | 8 +- examples/m2m_oauth.py | 12 +- examples/persistent_oauth.py | 47 +- examples/query_cancel.py | 69 +- examples/query_execute.py | 18 +- examples/set_user_agent.py | 20 +- examples/v3_retries_query_execute.py | 24 +- poetry.lock | 1205 + tester.py | 1 - 44 files changed, 112016 insertions(+), 112175 deletions(-) delete mode 100644 databricks_sql_connector_core/src/databricks/sql/cloudfetch/__init__.py rename databricks_sql_connector_core/tests/{e2e => }/conftest.py (100%) create mode 100755 poetry.lock delete mode 100644 tester.py diff --git a/.gitignore b/.gitignore index a1fe5bbd..2ae38dbc 100644 --- a/.gitignore +++ b/.gitignore @@ -195,7 +195,7 @@ cython_debug/ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore # and can be added to the global gitignore or merged into this file. For a more nuclear # option (not recommended) you can uncomment the following to ignore the entire idea folder. -#.idea/ +.idea/ # End of https://www.toptal.com/developers/gitignore/api/python,macos diff --git a/README.md b/README.md index 835831b2..54d4b178 100644 --- a/README.md +++ b/README.md @@ -24,12 +24,9 @@ For the latest documentation, see Install the library with `pip install databricks-sql-connector` -Note: Don't hard-code authentication secrets into your Python. Use environment variables - ```bash export DATABRICKS_HOST=********.databricks.com export DATABRICKS_HTTP_PATH=/sql/1.0/endpoints/**************** -export DATABRICKS_TOKEN=dapi******************************** ``` Example usage: @@ -39,12 +36,10 @@ from databricks import sql host = os.getenv("DATABRICKS_HOST") http_path = os.getenv("DATABRICKS_HTTP_PATH") -access_token = os.getenv("DATABRICKS_TOKEN") connection = sql.connect( server_hostname=host, - http_path=http_path, - access_token=access_token) + http_path=http_path) cursor = connection.cursor() cursor.execute('SELECT :param `p`, * FROM RANGE(10)', {"param": "foo"}) @@ -60,7 +55,10 @@ In the above example: - `server-hostname` is the Databricks instance host name. - `http-path` is the HTTP Path either to a Databricks SQL endpoint (e.g. /sql/1.0/endpoints/1234567890abcdef), or to a Databricks Runtime interactive cluster (e.g. /sql/protocolv1/o/1234567890123456/1234-123456-slid123) -- `personal-access-token` is the Databricks Personal Access Token for the account that will execute commands and queries + +> Note: This example uses [Databricks OAuth U2M](https://docs.databricks.com/en/dev-tools/auth/oauth-u2m.html) +> to authenticate the target Databricks user account and needs to open the browser for authentication. So it +> can only run on the user's machine. ## Contributing diff --git a/databricks_sql_connector_core/pyproject.toml b/databricks_sql_connector_core/pyproject.toml index 716c9f67..d1f84db8 100644 --- a/databricks_sql_connector_core/pyproject.toml +++ b/databricks_sql_connector_core/pyproject.toml @@ -3,10 +3,7 @@ name = "databricks-sql-connector-core" version = "1.0.0" description = "Databricks SQL Connector core for Python" authors = ["Databricks "] -license = "Apache-2.0" -readme = "README.md" packages = [{ include = "databricks", from = "src" }] -include = ["CHANGELOG.md"] [tool.poetry.dependencies] python = "^3.8.0" diff --git a/databricks_sql_connector_core/src/databricks/sql/auth/auth.py b/databricks_sql_connector_core/src/databricks/sql/auth/auth.py index 2a6c9d4d..347934ee 100755 --- a/databricks_sql_connector_core/src/databricks/sql/auth/auth.py +++ b/databricks_sql_connector_core/src/databricks/sql/auth/auth.py @@ -64,7 +64,20 @@ def get_auth_provider(cfg: ClientContext): # no op authenticator. authentication is performed using ssl certificate outside of headers return AuthProvider() else: - raise RuntimeError("No valid authentication settings!") + if ( + cfg.oauth_redirect_port_range is not None + and cfg.oauth_client_id is not None + and cfg.oauth_scopes is not None + ): + return DatabricksOAuthProvider( + cfg.hostname, + cfg.oauth_persistence, + cfg.oauth_redirect_port_range, + cfg.oauth_client_id, + cfg.oauth_scopes, + ) + else: + raise RuntimeError("No valid authentication settings!") PYSQL_OAUTH_SCOPES = ["sql", "offline_access"] diff --git a/databricks_sql_connector_core/src/databricks/sql/client.py b/databricks_sql_connector_core/src/databricks/sql/client.py index 43af4479..72811628 100755 --- a/databricks_sql_connector_core/src/databricks/sql/client.py +++ b/databricks_sql_connector_core/src/databricks/sql/client.py @@ -35,12 +35,8 @@ from databricks.sql.types import Row -from databricks.sql.auth.auth import ( - get_python_sql_connector_auth_provider, -) -from databricks.sql.experimental.oauth_persistence import ( - OAuthPersistence, -) +from databricks.sql.auth.auth import get_python_sql_connector_auth_provider +from databricks.sql.experimental.oauth_persistence import OAuthPersistence from databricks.sql.thrift_api.TCLIService.ttypes import ( TSparkParameter, @@ -103,7 +99,7 @@ def __init__( sanitise parameterized inputs to prevent SQL injection. The inline parameter approach is maintained for legacy purposes and will be deprecated in a future release. When this parameter is `True` you will see a warning log message. To suppress this log message, set `use_inline_params="silent"`. - auth_type: `str`, optional + auth_type: `str`, optional (default is databricks-oauth if neither `access_token` nor `tls_client_cert_file` is set) `databricks-oauth` : to use Databricks OAuth with fine-grained permission scopes, set to `databricks-oauth`. `azure-oauth` : to use Microsoft Entra ID OAuth flow, set to `azure-oauth`. @@ -784,7 +780,6 @@ def execute( use_cloud_fetch=self.connection.use_cloud_fetch, parameters=prepared_params, ) - self.active_result_set = ResultSet( self.connection, execute_response, @@ -1172,7 +1167,7 @@ def _convert_arrow_table(self, table): timestamp_as_object=True, ) - res = df.to_numpy(na_value=None) + res = df.to_numpy(na_value=None, dtype="object") return [ResultRow(*v) for v in res] @property @@ -1223,7 +1218,6 @@ def fetchone(self) -> Optional[Row]: or None when no more data is available. """ res = self._convert_arrow_table(self.fetchmany_arrow(1)) - if len(res) > 0: return res[0] else: diff --git a/databricks_sql_connector_core/src/databricks/sql/cloudfetch/__init__.py b/databricks_sql_connector_core/src/databricks/sql/cloudfetch/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/databricks_sql_connector_core/src/databricks/sql/thrift_api/TCLIService/__init__.py b/databricks_sql_connector_core/src/databricks/sql/thrift_api/TCLIService/__init__.py index 13c45b51..fe5e7c20 100644 --- a/databricks_sql_connector_core/src/databricks/sql/thrift_api/TCLIService/__init__.py +++ b/databricks_sql_connector_core/src/databricks/sql/thrift_api/TCLIService/__init__.py @@ -1 +1 @@ -__all__ = ["ttypes", "constants", "TCLIService"] +__all__ = ['ttypes', 'constants', 'TCLIService'] diff --git a/databricks_sql_connector_core/src/databricks/sql/thrift_api/TCLIService/constants.py b/databricks_sql_connector_core/src/databricks/sql/thrift_api/TCLIService/constants.py index 18adb870..2cdf2f41 100644 --- a/databricks_sql_connector_core/src/databricks/sql/thrift_api/TCLIService/constants.py +++ b/databricks_sql_connector_core/src/databricks/sql/thrift_api/TCLIService/constants.py @@ -13,57 +13,57 @@ import sys from .ttypes import * PRIMITIVE_TYPES = set(( - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 15, - 16, - 17, - 18, - 19, - 20, - 21, + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 15, + 16, + 17, + 18, + 19, + 20, + 21, )) COMPLEX_TYPES = set(( - 10, - 11, - 12, - 13, - 14, + 10, + 11, + 12, + 13, + 14, )) COLLECTION_TYPES = set(( - 10, - 11, + 10, + 11, )) TYPE_NAMES = { - 10: "ARRAY", - 4: "BIGINT", - 9: "BINARY", - 0: "BOOLEAN", - 19: "CHAR", - 17: "DATE", - 15: "DECIMAL", - 6: "DOUBLE", - 5: "FLOAT", - 21: "INTERVAL_DAY_TIME", - 20: "INTERVAL_YEAR_MONTH", - 3: "INT", - 11: "MAP", - 16: "NULL", - 2: "SMALLINT", - 7: "STRING", - 12: "STRUCT", - 8: "TIMESTAMP", - 1: "TINYINT", - 13: "UNIONTYPE", - 18: "VARCHAR", + 10: "ARRAY", + 4: "BIGINT", + 9: "BINARY", + 0: "BOOLEAN", + 19: "CHAR", + 17: "DATE", + 15: "DECIMAL", + 6: "DOUBLE", + 5: "FLOAT", + 21: "INTERVAL_DAY_TIME", + 20: "INTERVAL_YEAR_MONTH", + 3: "INT", + 11: "MAP", + 16: "NULL", + 2: "SMALLINT", + 7: "STRING", + 12: "STRUCT", + 8: "TIMESTAMP", + 1: "TINYINT", + 13: "UNIONTYPE", + 18: "VARCHAR", } CHARACTER_MAXIMUM_LENGTH = "characterMaximumLength" PRECISION = "precision" diff --git a/databricks_sql_connector_core/src/databricks/sql/thrift_api/TCLIService/ttypes.py b/databricks_sql_connector_core/src/databricks/sql/thrift_api/TCLIService/ttypes.py index cb67d552..16abbc2e 100644 --- a/databricks_sql_connector_core/src/databricks/sql/thrift_api/TCLIService/ttypes.py +++ b/databricks_sql_connector_core/src/databricks/sql/thrift_api/TCLIService/ttypes.py @@ -17,649 +17,649 @@ class TProtocolVersion(object): - __HIVE_JDBC_WORKAROUND = -7 - __TEST_PROTOCOL_VERSION = 65281 - HIVE_CLI_SERVICE_PROTOCOL_V1 = 0 - HIVE_CLI_SERVICE_PROTOCOL_V2 = 1 - HIVE_CLI_SERVICE_PROTOCOL_V3 = 2 - HIVE_CLI_SERVICE_PROTOCOL_V4 = 3 - HIVE_CLI_SERVICE_PROTOCOL_V5 = 4 - HIVE_CLI_SERVICE_PROTOCOL_V6 = 5 - HIVE_CLI_SERVICE_PROTOCOL_V7 = 6 - HIVE_CLI_SERVICE_PROTOCOL_V8 = 7 - HIVE_CLI_SERVICE_PROTOCOL_V9 = 8 - HIVE_CLI_SERVICE_PROTOCOL_V10 = 9 - SPARK_CLI_SERVICE_PROTOCOL_V1 = 42241 - SPARK_CLI_SERVICE_PROTOCOL_V2 = 42242 - SPARK_CLI_SERVICE_PROTOCOL_V3 = 42243 - SPARK_CLI_SERVICE_PROTOCOL_V4 = 42244 - SPARK_CLI_SERVICE_PROTOCOL_V5 = 42245 - SPARK_CLI_SERVICE_PROTOCOL_V6 = 42246 - SPARK_CLI_SERVICE_PROTOCOL_V7 = 42247 - SPARK_CLI_SERVICE_PROTOCOL_V8 = 42248 - - _VALUES_TO_NAMES = { - -7: "__HIVE_JDBC_WORKAROUND", - 65281: "__TEST_PROTOCOL_VERSION", - 0: "HIVE_CLI_SERVICE_PROTOCOL_V1", - 1: "HIVE_CLI_SERVICE_PROTOCOL_V2", - 2: "HIVE_CLI_SERVICE_PROTOCOL_V3", - 3: "HIVE_CLI_SERVICE_PROTOCOL_V4", - 4: "HIVE_CLI_SERVICE_PROTOCOL_V5", - 5: "HIVE_CLI_SERVICE_PROTOCOL_V6", - 6: "HIVE_CLI_SERVICE_PROTOCOL_V7", - 7: "HIVE_CLI_SERVICE_PROTOCOL_V8", - 8: "HIVE_CLI_SERVICE_PROTOCOL_V9", - 9: "HIVE_CLI_SERVICE_PROTOCOL_V10", - 42241: "SPARK_CLI_SERVICE_PROTOCOL_V1", - 42242: "SPARK_CLI_SERVICE_PROTOCOL_V2", - 42243: "SPARK_CLI_SERVICE_PROTOCOL_V3", - 42244: "SPARK_CLI_SERVICE_PROTOCOL_V4", - 42245: "SPARK_CLI_SERVICE_PROTOCOL_V5", - 42246: "SPARK_CLI_SERVICE_PROTOCOL_V6", - 42247: "SPARK_CLI_SERVICE_PROTOCOL_V7", - 42248: "SPARK_CLI_SERVICE_PROTOCOL_V8", - } - - _NAMES_TO_VALUES = { - "__HIVE_JDBC_WORKAROUND": -7, - "__TEST_PROTOCOL_VERSION": 65281, - "HIVE_CLI_SERVICE_PROTOCOL_V1": 0, - "HIVE_CLI_SERVICE_PROTOCOL_V2": 1, - "HIVE_CLI_SERVICE_PROTOCOL_V3": 2, - "HIVE_CLI_SERVICE_PROTOCOL_V4": 3, - "HIVE_CLI_SERVICE_PROTOCOL_V5": 4, - "HIVE_CLI_SERVICE_PROTOCOL_V6": 5, - "HIVE_CLI_SERVICE_PROTOCOL_V7": 6, - "HIVE_CLI_SERVICE_PROTOCOL_V8": 7, - "HIVE_CLI_SERVICE_PROTOCOL_V9": 8, - "HIVE_CLI_SERVICE_PROTOCOL_V10": 9, - "SPARK_CLI_SERVICE_PROTOCOL_V1": 42241, - "SPARK_CLI_SERVICE_PROTOCOL_V2": 42242, - "SPARK_CLI_SERVICE_PROTOCOL_V3": 42243, - "SPARK_CLI_SERVICE_PROTOCOL_V4": 42244, - "SPARK_CLI_SERVICE_PROTOCOL_V5": 42245, - "SPARK_CLI_SERVICE_PROTOCOL_V6": 42246, - "SPARK_CLI_SERVICE_PROTOCOL_V7": 42247, - "SPARK_CLI_SERVICE_PROTOCOL_V8": 42248, - } + __HIVE_JDBC_WORKAROUND = -7 + __TEST_PROTOCOL_VERSION = 65281 + HIVE_CLI_SERVICE_PROTOCOL_V1 = 0 + HIVE_CLI_SERVICE_PROTOCOL_V2 = 1 + HIVE_CLI_SERVICE_PROTOCOL_V3 = 2 + HIVE_CLI_SERVICE_PROTOCOL_V4 = 3 + HIVE_CLI_SERVICE_PROTOCOL_V5 = 4 + HIVE_CLI_SERVICE_PROTOCOL_V6 = 5 + HIVE_CLI_SERVICE_PROTOCOL_V7 = 6 + HIVE_CLI_SERVICE_PROTOCOL_V8 = 7 + HIVE_CLI_SERVICE_PROTOCOL_V9 = 8 + HIVE_CLI_SERVICE_PROTOCOL_V10 = 9 + SPARK_CLI_SERVICE_PROTOCOL_V1 = 42241 + SPARK_CLI_SERVICE_PROTOCOL_V2 = 42242 + SPARK_CLI_SERVICE_PROTOCOL_V3 = 42243 + SPARK_CLI_SERVICE_PROTOCOL_V4 = 42244 + SPARK_CLI_SERVICE_PROTOCOL_V5 = 42245 + SPARK_CLI_SERVICE_PROTOCOL_V6 = 42246 + SPARK_CLI_SERVICE_PROTOCOL_V7 = 42247 + SPARK_CLI_SERVICE_PROTOCOL_V8 = 42248 + + _VALUES_TO_NAMES = { + -7: "__HIVE_JDBC_WORKAROUND", + 65281: "__TEST_PROTOCOL_VERSION", + 0: "HIVE_CLI_SERVICE_PROTOCOL_V1", + 1: "HIVE_CLI_SERVICE_PROTOCOL_V2", + 2: "HIVE_CLI_SERVICE_PROTOCOL_V3", + 3: "HIVE_CLI_SERVICE_PROTOCOL_V4", + 4: "HIVE_CLI_SERVICE_PROTOCOL_V5", + 5: "HIVE_CLI_SERVICE_PROTOCOL_V6", + 6: "HIVE_CLI_SERVICE_PROTOCOL_V7", + 7: "HIVE_CLI_SERVICE_PROTOCOL_V8", + 8: "HIVE_CLI_SERVICE_PROTOCOL_V9", + 9: "HIVE_CLI_SERVICE_PROTOCOL_V10", + 42241: "SPARK_CLI_SERVICE_PROTOCOL_V1", + 42242: "SPARK_CLI_SERVICE_PROTOCOL_V2", + 42243: "SPARK_CLI_SERVICE_PROTOCOL_V3", + 42244: "SPARK_CLI_SERVICE_PROTOCOL_V4", + 42245: "SPARK_CLI_SERVICE_PROTOCOL_V5", + 42246: "SPARK_CLI_SERVICE_PROTOCOL_V6", + 42247: "SPARK_CLI_SERVICE_PROTOCOL_V7", + 42248: "SPARK_CLI_SERVICE_PROTOCOL_V8", + } + + _NAMES_TO_VALUES = { + "__HIVE_JDBC_WORKAROUND": -7, + "__TEST_PROTOCOL_VERSION": 65281, + "HIVE_CLI_SERVICE_PROTOCOL_V1": 0, + "HIVE_CLI_SERVICE_PROTOCOL_V2": 1, + "HIVE_CLI_SERVICE_PROTOCOL_V3": 2, + "HIVE_CLI_SERVICE_PROTOCOL_V4": 3, + "HIVE_CLI_SERVICE_PROTOCOL_V5": 4, + "HIVE_CLI_SERVICE_PROTOCOL_V6": 5, + "HIVE_CLI_SERVICE_PROTOCOL_V7": 6, + "HIVE_CLI_SERVICE_PROTOCOL_V8": 7, + "HIVE_CLI_SERVICE_PROTOCOL_V9": 8, + "HIVE_CLI_SERVICE_PROTOCOL_V10": 9, + "SPARK_CLI_SERVICE_PROTOCOL_V1": 42241, + "SPARK_CLI_SERVICE_PROTOCOL_V2": 42242, + "SPARK_CLI_SERVICE_PROTOCOL_V3": 42243, + "SPARK_CLI_SERVICE_PROTOCOL_V4": 42244, + "SPARK_CLI_SERVICE_PROTOCOL_V5": 42245, + "SPARK_CLI_SERVICE_PROTOCOL_V6": 42246, + "SPARK_CLI_SERVICE_PROTOCOL_V7": 42247, + "SPARK_CLI_SERVICE_PROTOCOL_V8": 42248, + } class TTypeId(object): - BOOLEAN_TYPE = 0 - TINYINT_TYPE = 1 - SMALLINT_TYPE = 2 - INT_TYPE = 3 - BIGINT_TYPE = 4 - FLOAT_TYPE = 5 - DOUBLE_TYPE = 6 - STRING_TYPE = 7 - TIMESTAMP_TYPE = 8 - BINARY_TYPE = 9 - ARRAY_TYPE = 10 - MAP_TYPE = 11 - STRUCT_TYPE = 12 - UNION_TYPE = 13 - USER_DEFINED_TYPE = 14 - DECIMAL_TYPE = 15 - NULL_TYPE = 16 - DATE_TYPE = 17 - VARCHAR_TYPE = 18 - CHAR_TYPE = 19 - INTERVAL_YEAR_MONTH_TYPE = 20 - INTERVAL_DAY_TIME_TYPE = 21 - - _VALUES_TO_NAMES = { - 0: "BOOLEAN_TYPE", - 1: "TINYINT_TYPE", - 2: "SMALLINT_TYPE", - 3: "INT_TYPE", - 4: "BIGINT_TYPE", - 5: "FLOAT_TYPE", - 6: "DOUBLE_TYPE", - 7: "STRING_TYPE", - 8: "TIMESTAMP_TYPE", - 9: "BINARY_TYPE", - 10: "ARRAY_TYPE", - 11: "MAP_TYPE", - 12: "STRUCT_TYPE", - 13: "UNION_TYPE", - 14: "USER_DEFINED_TYPE", - 15: "DECIMAL_TYPE", - 16: "NULL_TYPE", - 17: "DATE_TYPE", - 18: "VARCHAR_TYPE", - 19: "CHAR_TYPE", - 20: "INTERVAL_YEAR_MONTH_TYPE", - 21: "INTERVAL_DAY_TIME_TYPE", - } - - _NAMES_TO_VALUES = { - "BOOLEAN_TYPE": 0, - "TINYINT_TYPE": 1, - "SMALLINT_TYPE": 2, - "INT_TYPE": 3, - "BIGINT_TYPE": 4, - "FLOAT_TYPE": 5, - "DOUBLE_TYPE": 6, - "STRING_TYPE": 7, - "TIMESTAMP_TYPE": 8, - "BINARY_TYPE": 9, - "ARRAY_TYPE": 10, - "MAP_TYPE": 11, - "STRUCT_TYPE": 12, - "UNION_TYPE": 13, - "USER_DEFINED_TYPE": 14, - "DECIMAL_TYPE": 15, - "NULL_TYPE": 16, - "DATE_TYPE": 17, - "VARCHAR_TYPE": 18, - "CHAR_TYPE": 19, - "INTERVAL_YEAR_MONTH_TYPE": 20, - "INTERVAL_DAY_TIME_TYPE": 21, - } + BOOLEAN_TYPE = 0 + TINYINT_TYPE = 1 + SMALLINT_TYPE = 2 + INT_TYPE = 3 + BIGINT_TYPE = 4 + FLOAT_TYPE = 5 + DOUBLE_TYPE = 6 + STRING_TYPE = 7 + TIMESTAMP_TYPE = 8 + BINARY_TYPE = 9 + ARRAY_TYPE = 10 + MAP_TYPE = 11 + STRUCT_TYPE = 12 + UNION_TYPE = 13 + USER_DEFINED_TYPE = 14 + DECIMAL_TYPE = 15 + NULL_TYPE = 16 + DATE_TYPE = 17 + VARCHAR_TYPE = 18 + CHAR_TYPE = 19 + INTERVAL_YEAR_MONTH_TYPE = 20 + INTERVAL_DAY_TIME_TYPE = 21 + + _VALUES_TO_NAMES = { + 0: "BOOLEAN_TYPE", + 1: "TINYINT_TYPE", + 2: "SMALLINT_TYPE", + 3: "INT_TYPE", + 4: "BIGINT_TYPE", + 5: "FLOAT_TYPE", + 6: "DOUBLE_TYPE", + 7: "STRING_TYPE", + 8: "TIMESTAMP_TYPE", + 9: "BINARY_TYPE", + 10: "ARRAY_TYPE", + 11: "MAP_TYPE", + 12: "STRUCT_TYPE", + 13: "UNION_TYPE", + 14: "USER_DEFINED_TYPE", + 15: "DECIMAL_TYPE", + 16: "NULL_TYPE", + 17: "DATE_TYPE", + 18: "VARCHAR_TYPE", + 19: "CHAR_TYPE", + 20: "INTERVAL_YEAR_MONTH_TYPE", + 21: "INTERVAL_DAY_TIME_TYPE", + } + + _NAMES_TO_VALUES = { + "BOOLEAN_TYPE": 0, + "TINYINT_TYPE": 1, + "SMALLINT_TYPE": 2, + "INT_TYPE": 3, + "BIGINT_TYPE": 4, + "FLOAT_TYPE": 5, + "DOUBLE_TYPE": 6, + "STRING_TYPE": 7, + "TIMESTAMP_TYPE": 8, + "BINARY_TYPE": 9, + "ARRAY_TYPE": 10, + "MAP_TYPE": 11, + "STRUCT_TYPE": 12, + "UNION_TYPE": 13, + "USER_DEFINED_TYPE": 14, + "DECIMAL_TYPE": 15, + "NULL_TYPE": 16, + "DATE_TYPE": 17, + "VARCHAR_TYPE": 18, + "CHAR_TYPE": 19, + "INTERVAL_YEAR_MONTH_TYPE": 20, + "INTERVAL_DAY_TIME_TYPE": 21, + } class TSparkRowSetType(object): - ARROW_BASED_SET = 0 - COLUMN_BASED_SET = 1 - ROW_BASED_SET = 2 - URL_BASED_SET = 3 - - _VALUES_TO_NAMES = { - 0: "ARROW_BASED_SET", - 1: "COLUMN_BASED_SET", - 2: "ROW_BASED_SET", - 3: "URL_BASED_SET", - } - - _NAMES_TO_VALUES = { - "ARROW_BASED_SET": 0, - "COLUMN_BASED_SET": 1, - "ROW_BASED_SET": 2, - "URL_BASED_SET": 3, - } + ARROW_BASED_SET = 0 + COLUMN_BASED_SET = 1 + ROW_BASED_SET = 2 + URL_BASED_SET = 3 + + _VALUES_TO_NAMES = { + 0: "ARROW_BASED_SET", + 1: "COLUMN_BASED_SET", + 2: "ROW_BASED_SET", + 3: "URL_BASED_SET", + } + + _NAMES_TO_VALUES = { + "ARROW_BASED_SET": 0, + "COLUMN_BASED_SET": 1, + "ROW_BASED_SET": 2, + "URL_BASED_SET": 3, + } class TDBSqlCompressionCodec(object): - NONE = 0 - LZ4_FRAME = 1 - LZ4_BLOCK = 2 + NONE = 0 + LZ4_FRAME = 1 + LZ4_BLOCK = 2 - _VALUES_TO_NAMES = { - 0: "NONE", - 1: "LZ4_FRAME", - 2: "LZ4_BLOCK", - } + _VALUES_TO_NAMES = { + 0: "NONE", + 1: "LZ4_FRAME", + 2: "LZ4_BLOCK", + } - _NAMES_TO_VALUES = { - "NONE": 0, - "LZ4_FRAME": 1, - "LZ4_BLOCK": 2, - } + _NAMES_TO_VALUES = { + "NONE": 0, + "LZ4_FRAME": 1, + "LZ4_BLOCK": 2, + } class TDBSqlArrowLayout(object): - ARROW_BATCH = 0 - ARROW_STREAMING = 1 + ARROW_BATCH = 0 + ARROW_STREAMING = 1 - _VALUES_TO_NAMES = { - 0: "ARROW_BATCH", - 1: "ARROW_STREAMING", - } + _VALUES_TO_NAMES = { + 0: "ARROW_BATCH", + 1: "ARROW_STREAMING", + } - _NAMES_TO_VALUES = { - "ARROW_BATCH": 0, - "ARROW_STREAMING": 1, - } + _NAMES_TO_VALUES = { + "ARROW_BATCH": 0, + "ARROW_STREAMING": 1, + } class TOperationIdempotencyType(object): - UNKNOWN = 0 - NON_IDEMPOTENT = 1 - IDEMPOTENT = 2 + UNKNOWN = 0 + NON_IDEMPOTENT = 1 + IDEMPOTENT = 2 - _VALUES_TO_NAMES = { - 0: "UNKNOWN", - 1: "NON_IDEMPOTENT", - 2: "IDEMPOTENT", - } + _VALUES_TO_NAMES = { + 0: "UNKNOWN", + 1: "NON_IDEMPOTENT", + 2: "IDEMPOTENT", + } - _NAMES_TO_VALUES = { - "UNKNOWN": 0, - "NON_IDEMPOTENT": 1, - "IDEMPOTENT": 2, - } + _NAMES_TO_VALUES = { + "UNKNOWN": 0, + "NON_IDEMPOTENT": 1, + "IDEMPOTENT": 2, + } class TOperationTimeoutLevel(object): - CLUSTER = 0 - SESSION = 1 + CLUSTER = 0 + SESSION = 1 - _VALUES_TO_NAMES = { - 0: "CLUSTER", - 1: "SESSION", - } + _VALUES_TO_NAMES = { + 0: "CLUSTER", + 1: "SESSION", + } - _NAMES_TO_VALUES = { - "CLUSTER": 0, - "SESSION": 1, - } + _NAMES_TO_VALUES = { + "CLUSTER": 0, + "SESSION": 1, + } class TStatusCode(object): - SUCCESS_STATUS = 0 - SUCCESS_WITH_INFO_STATUS = 1 - STILL_EXECUTING_STATUS = 2 - ERROR_STATUS = 3 - INVALID_HANDLE_STATUS = 4 - - _VALUES_TO_NAMES = { - 0: "SUCCESS_STATUS", - 1: "SUCCESS_WITH_INFO_STATUS", - 2: "STILL_EXECUTING_STATUS", - 3: "ERROR_STATUS", - 4: "INVALID_HANDLE_STATUS", - } - - _NAMES_TO_VALUES = { - "SUCCESS_STATUS": 0, - "SUCCESS_WITH_INFO_STATUS": 1, - "STILL_EXECUTING_STATUS": 2, - "ERROR_STATUS": 3, - "INVALID_HANDLE_STATUS": 4, - } + SUCCESS_STATUS = 0 + SUCCESS_WITH_INFO_STATUS = 1 + STILL_EXECUTING_STATUS = 2 + ERROR_STATUS = 3 + INVALID_HANDLE_STATUS = 4 + + _VALUES_TO_NAMES = { + 0: "SUCCESS_STATUS", + 1: "SUCCESS_WITH_INFO_STATUS", + 2: "STILL_EXECUTING_STATUS", + 3: "ERROR_STATUS", + 4: "INVALID_HANDLE_STATUS", + } + + _NAMES_TO_VALUES = { + "SUCCESS_STATUS": 0, + "SUCCESS_WITH_INFO_STATUS": 1, + "STILL_EXECUTING_STATUS": 2, + "ERROR_STATUS": 3, + "INVALID_HANDLE_STATUS": 4, + } class TOperationState(object): - INITIALIZED_STATE = 0 - RUNNING_STATE = 1 - FINISHED_STATE = 2 - CANCELED_STATE = 3 - CLOSED_STATE = 4 - ERROR_STATE = 5 - UKNOWN_STATE = 6 - PENDING_STATE = 7 - TIMEDOUT_STATE = 8 - - _VALUES_TO_NAMES = { - 0: "INITIALIZED_STATE", - 1: "RUNNING_STATE", - 2: "FINISHED_STATE", - 3: "CANCELED_STATE", - 4: "CLOSED_STATE", - 5: "ERROR_STATE", - 6: "UKNOWN_STATE", - 7: "PENDING_STATE", - 8: "TIMEDOUT_STATE", - } - - _NAMES_TO_VALUES = { - "INITIALIZED_STATE": 0, - "RUNNING_STATE": 1, - "FINISHED_STATE": 2, - "CANCELED_STATE": 3, - "CLOSED_STATE": 4, - "ERROR_STATE": 5, - "UKNOWN_STATE": 6, - "PENDING_STATE": 7, - "TIMEDOUT_STATE": 8, - } + INITIALIZED_STATE = 0 + RUNNING_STATE = 1 + FINISHED_STATE = 2 + CANCELED_STATE = 3 + CLOSED_STATE = 4 + ERROR_STATE = 5 + UKNOWN_STATE = 6 + PENDING_STATE = 7 + TIMEDOUT_STATE = 8 + + _VALUES_TO_NAMES = { + 0: "INITIALIZED_STATE", + 1: "RUNNING_STATE", + 2: "FINISHED_STATE", + 3: "CANCELED_STATE", + 4: "CLOSED_STATE", + 5: "ERROR_STATE", + 6: "UKNOWN_STATE", + 7: "PENDING_STATE", + 8: "TIMEDOUT_STATE", + } + + _NAMES_TO_VALUES = { + "INITIALIZED_STATE": 0, + "RUNNING_STATE": 1, + "FINISHED_STATE": 2, + "CANCELED_STATE": 3, + "CLOSED_STATE": 4, + "ERROR_STATE": 5, + "UKNOWN_STATE": 6, + "PENDING_STATE": 7, + "TIMEDOUT_STATE": 8, + } class TOperationType(object): - EXECUTE_STATEMENT = 0 - GET_TYPE_INFO = 1 - GET_CATALOGS = 2 - GET_SCHEMAS = 3 - GET_TABLES = 4 - GET_TABLE_TYPES = 5 - GET_COLUMNS = 6 - GET_FUNCTIONS = 7 - UNKNOWN = 8 - - _VALUES_TO_NAMES = { - 0: "EXECUTE_STATEMENT", - 1: "GET_TYPE_INFO", - 2: "GET_CATALOGS", - 3: "GET_SCHEMAS", - 4: "GET_TABLES", - 5: "GET_TABLE_TYPES", - 6: "GET_COLUMNS", - 7: "GET_FUNCTIONS", - 8: "UNKNOWN", - } - - _NAMES_TO_VALUES = { - "EXECUTE_STATEMENT": 0, - "GET_TYPE_INFO": 1, - "GET_CATALOGS": 2, - "GET_SCHEMAS": 3, - "GET_TABLES": 4, - "GET_TABLE_TYPES": 5, - "GET_COLUMNS": 6, - "GET_FUNCTIONS": 7, - "UNKNOWN": 8, - } + EXECUTE_STATEMENT = 0 + GET_TYPE_INFO = 1 + GET_CATALOGS = 2 + GET_SCHEMAS = 3 + GET_TABLES = 4 + GET_TABLE_TYPES = 5 + GET_COLUMNS = 6 + GET_FUNCTIONS = 7 + UNKNOWN = 8 + + _VALUES_TO_NAMES = { + 0: "EXECUTE_STATEMENT", + 1: "GET_TYPE_INFO", + 2: "GET_CATALOGS", + 3: "GET_SCHEMAS", + 4: "GET_TABLES", + 5: "GET_TABLE_TYPES", + 6: "GET_COLUMNS", + 7: "GET_FUNCTIONS", + 8: "UNKNOWN", + } + + _NAMES_TO_VALUES = { + "EXECUTE_STATEMENT": 0, + "GET_TYPE_INFO": 1, + "GET_CATALOGS": 2, + "GET_SCHEMAS": 3, + "GET_TABLES": 4, + "GET_TABLE_TYPES": 5, + "GET_COLUMNS": 6, + "GET_FUNCTIONS": 7, + "UNKNOWN": 8, + } class TGetInfoType(object): - CLI_MAX_DRIVER_CONNECTIONS = 0 - CLI_MAX_CONCURRENT_ACTIVITIES = 1 - CLI_DATA_SOURCE_NAME = 2 - CLI_FETCH_DIRECTION = 8 - CLI_SERVER_NAME = 13 - CLI_SEARCH_PATTERN_ESCAPE = 14 - CLI_DBMS_NAME = 17 - CLI_DBMS_VER = 18 - CLI_ACCESSIBLE_TABLES = 19 - CLI_ACCESSIBLE_PROCEDURES = 20 - CLI_CURSOR_COMMIT_BEHAVIOR = 23 - CLI_DATA_SOURCE_READ_ONLY = 25 - CLI_DEFAULT_TXN_ISOLATION = 26 - CLI_IDENTIFIER_CASE = 28 - CLI_IDENTIFIER_QUOTE_CHAR = 29 - CLI_MAX_COLUMN_NAME_LEN = 30 - CLI_MAX_CURSOR_NAME_LEN = 31 - CLI_MAX_SCHEMA_NAME_LEN = 32 - CLI_MAX_CATALOG_NAME_LEN = 34 - CLI_MAX_TABLE_NAME_LEN = 35 - CLI_SCROLL_CONCURRENCY = 43 - CLI_TXN_CAPABLE = 46 - CLI_USER_NAME = 47 - CLI_TXN_ISOLATION_OPTION = 72 - CLI_INTEGRITY = 73 - CLI_GETDATA_EXTENSIONS = 81 - CLI_NULL_COLLATION = 85 - CLI_ALTER_TABLE = 86 - CLI_ORDER_BY_COLUMNS_IN_SELECT = 90 - CLI_SPECIAL_CHARACTERS = 94 - CLI_MAX_COLUMNS_IN_GROUP_BY = 97 - CLI_MAX_COLUMNS_IN_INDEX = 98 - CLI_MAX_COLUMNS_IN_ORDER_BY = 99 - CLI_MAX_COLUMNS_IN_SELECT = 100 - CLI_MAX_COLUMNS_IN_TABLE = 101 - CLI_MAX_INDEX_SIZE = 102 - CLI_MAX_ROW_SIZE = 104 - CLI_MAX_STATEMENT_LEN = 105 - CLI_MAX_TABLES_IN_SELECT = 106 - CLI_MAX_USER_NAME_LEN = 107 - CLI_OJ_CAPABILITIES = 115 - CLI_XOPEN_CLI_YEAR = 10000 - CLI_CURSOR_SENSITIVITY = 10001 - CLI_DESCRIBE_PARAMETER = 10002 - CLI_CATALOG_NAME = 10003 - CLI_COLLATION_SEQ = 10004 - CLI_MAX_IDENTIFIER_LEN = 10005 - - _VALUES_TO_NAMES = { - 0: "CLI_MAX_DRIVER_CONNECTIONS", - 1: "CLI_MAX_CONCURRENT_ACTIVITIES", - 2: "CLI_DATA_SOURCE_NAME", - 8: "CLI_FETCH_DIRECTION", - 13: "CLI_SERVER_NAME", - 14: "CLI_SEARCH_PATTERN_ESCAPE", - 17: "CLI_DBMS_NAME", - 18: "CLI_DBMS_VER", - 19: "CLI_ACCESSIBLE_TABLES", - 20: "CLI_ACCESSIBLE_PROCEDURES", - 23: "CLI_CURSOR_COMMIT_BEHAVIOR", - 25: "CLI_DATA_SOURCE_READ_ONLY", - 26: "CLI_DEFAULT_TXN_ISOLATION", - 28: "CLI_IDENTIFIER_CASE", - 29: "CLI_IDENTIFIER_QUOTE_CHAR", - 30: "CLI_MAX_COLUMN_NAME_LEN", - 31: "CLI_MAX_CURSOR_NAME_LEN", - 32: "CLI_MAX_SCHEMA_NAME_LEN", - 34: "CLI_MAX_CATALOG_NAME_LEN", - 35: "CLI_MAX_TABLE_NAME_LEN", - 43: "CLI_SCROLL_CONCURRENCY", - 46: "CLI_TXN_CAPABLE", - 47: "CLI_USER_NAME", - 72: "CLI_TXN_ISOLATION_OPTION", - 73: "CLI_INTEGRITY", - 81: "CLI_GETDATA_EXTENSIONS", - 85: "CLI_NULL_COLLATION", - 86: "CLI_ALTER_TABLE", - 90: "CLI_ORDER_BY_COLUMNS_IN_SELECT", - 94: "CLI_SPECIAL_CHARACTERS", - 97: "CLI_MAX_COLUMNS_IN_GROUP_BY", - 98: "CLI_MAX_COLUMNS_IN_INDEX", - 99: "CLI_MAX_COLUMNS_IN_ORDER_BY", - 100: "CLI_MAX_COLUMNS_IN_SELECT", - 101: "CLI_MAX_COLUMNS_IN_TABLE", - 102: "CLI_MAX_INDEX_SIZE", - 104: "CLI_MAX_ROW_SIZE", - 105: "CLI_MAX_STATEMENT_LEN", - 106: "CLI_MAX_TABLES_IN_SELECT", - 107: "CLI_MAX_USER_NAME_LEN", - 115: "CLI_OJ_CAPABILITIES", - 10000: "CLI_XOPEN_CLI_YEAR", - 10001: "CLI_CURSOR_SENSITIVITY", - 10002: "CLI_DESCRIBE_PARAMETER", - 10003: "CLI_CATALOG_NAME", - 10004: "CLI_COLLATION_SEQ", - 10005: "CLI_MAX_IDENTIFIER_LEN", - } - - _NAMES_TO_VALUES = { - "CLI_MAX_DRIVER_CONNECTIONS": 0, - "CLI_MAX_CONCURRENT_ACTIVITIES": 1, - "CLI_DATA_SOURCE_NAME": 2, - "CLI_FETCH_DIRECTION": 8, - "CLI_SERVER_NAME": 13, - "CLI_SEARCH_PATTERN_ESCAPE": 14, - "CLI_DBMS_NAME": 17, - "CLI_DBMS_VER": 18, - "CLI_ACCESSIBLE_TABLES": 19, - "CLI_ACCESSIBLE_PROCEDURES": 20, - "CLI_CURSOR_COMMIT_BEHAVIOR": 23, - "CLI_DATA_SOURCE_READ_ONLY": 25, - "CLI_DEFAULT_TXN_ISOLATION": 26, - "CLI_IDENTIFIER_CASE": 28, - "CLI_IDENTIFIER_QUOTE_CHAR": 29, - "CLI_MAX_COLUMN_NAME_LEN": 30, - "CLI_MAX_CURSOR_NAME_LEN": 31, - "CLI_MAX_SCHEMA_NAME_LEN": 32, - "CLI_MAX_CATALOG_NAME_LEN": 34, - "CLI_MAX_TABLE_NAME_LEN": 35, - "CLI_SCROLL_CONCURRENCY": 43, - "CLI_TXN_CAPABLE": 46, - "CLI_USER_NAME": 47, - "CLI_TXN_ISOLATION_OPTION": 72, - "CLI_INTEGRITY": 73, - "CLI_GETDATA_EXTENSIONS": 81, - "CLI_NULL_COLLATION": 85, - "CLI_ALTER_TABLE": 86, - "CLI_ORDER_BY_COLUMNS_IN_SELECT": 90, - "CLI_SPECIAL_CHARACTERS": 94, - "CLI_MAX_COLUMNS_IN_GROUP_BY": 97, - "CLI_MAX_COLUMNS_IN_INDEX": 98, - "CLI_MAX_COLUMNS_IN_ORDER_BY": 99, - "CLI_MAX_COLUMNS_IN_SELECT": 100, - "CLI_MAX_COLUMNS_IN_TABLE": 101, - "CLI_MAX_INDEX_SIZE": 102, - "CLI_MAX_ROW_SIZE": 104, - "CLI_MAX_STATEMENT_LEN": 105, - "CLI_MAX_TABLES_IN_SELECT": 106, - "CLI_MAX_USER_NAME_LEN": 107, - "CLI_OJ_CAPABILITIES": 115, - "CLI_XOPEN_CLI_YEAR": 10000, - "CLI_CURSOR_SENSITIVITY": 10001, - "CLI_DESCRIBE_PARAMETER": 10002, - "CLI_CATALOG_NAME": 10003, - "CLI_COLLATION_SEQ": 10004, - "CLI_MAX_IDENTIFIER_LEN": 10005, - } + CLI_MAX_DRIVER_CONNECTIONS = 0 + CLI_MAX_CONCURRENT_ACTIVITIES = 1 + CLI_DATA_SOURCE_NAME = 2 + CLI_FETCH_DIRECTION = 8 + CLI_SERVER_NAME = 13 + CLI_SEARCH_PATTERN_ESCAPE = 14 + CLI_DBMS_NAME = 17 + CLI_DBMS_VER = 18 + CLI_ACCESSIBLE_TABLES = 19 + CLI_ACCESSIBLE_PROCEDURES = 20 + CLI_CURSOR_COMMIT_BEHAVIOR = 23 + CLI_DATA_SOURCE_READ_ONLY = 25 + CLI_DEFAULT_TXN_ISOLATION = 26 + CLI_IDENTIFIER_CASE = 28 + CLI_IDENTIFIER_QUOTE_CHAR = 29 + CLI_MAX_COLUMN_NAME_LEN = 30 + CLI_MAX_CURSOR_NAME_LEN = 31 + CLI_MAX_SCHEMA_NAME_LEN = 32 + CLI_MAX_CATALOG_NAME_LEN = 34 + CLI_MAX_TABLE_NAME_LEN = 35 + CLI_SCROLL_CONCURRENCY = 43 + CLI_TXN_CAPABLE = 46 + CLI_USER_NAME = 47 + CLI_TXN_ISOLATION_OPTION = 72 + CLI_INTEGRITY = 73 + CLI_GETDATA_EXTENSIONS = 81 + CLI_NULL_COLLATION = 85 + CLI_ALTER_TABLE = 86 + CLI_ORDER_BY_COLUMNS_IN_SELECT = 90 + CLI_SPECIAL_CHARACTERS = 94 + CLI_MAX_COLUMNS_IN_GROUP_BY = 97 + CLI_MAX_COLUMNS_IN_INDEX = 98 + CLI_MAX_COLUMNS_IN_ORDER_BY = 99 + CLI_MAX_COLUMNS_IN_SELECT = 100 + CLI_MAX_COLUMNS_IN_TABLE = 101 + CLI_MAX_INDEX_SIZE = 102 + CLI_MAX_ROW_SIZE = 104 + CLI_MAX_STATEMENT_LEN = 105 + CLI_MAX_TABLES_IN_SELECT = 106 + CLI_MAX_USER_NAME_LEN = 107 + CLI_OJ_CAPABILITIES = 115 + CLI_XOPEN_CLI_YEAR = 10000 + CLI_CURSOR_SENSITIVITY = 10001 + CLI_DESCRIBE_PARAMETER = 10002 + CLI_CATALOG_NAME = 10003 + CLI_COLLATION_SEQ = 10004 + CLI_MAX_IDENTIFIER_LEN = 10005 + + _VALUES_TO_NAMES = { + 0: "CLI_MAX_DRIVER_CONNECTIONS", + 1: "CLI_MAX_CONCURRENT_ACTIVITIES", + 2: "CLI_DATA_SOURCE_NAME", + 8: "CLI_FETCH_DIRECTION", + 13: "CLI_SERVER_NAME", + 14: "CLI_SEARCH_PATTERN_ESCAPE", + 17: "CLI_DBMS_NAME", + 18: "CLI_DBMS_VER", + 19: "CLI_ACCESSIBLE_TABLES", + 20: "CLI_ACCESSIBLE_PROCEDURES", + 23: "CLI_CURSOR_COMMIT_BEHAVIOR", + 25: "CLI_DATA_SOURCE_READ_ONLY", + 26: "CLI_DEFAULT_TXN_ISOLATION", + 28: "CLI_IDENTIFIER_CASE", + 29: "CLI_IDENTIFIER_QUOTE_CHAR", + 30: "CLI_MAX_COLUMN_NAME_LEN", + 31: "CLI_MAX_CURSOR_NAME_LEN", + 32: "CLI_MAX_SCHEMA_NAME_LEN", + 34: "CLI_MAX_CATALOG_NAME_LEN", + 35: "CLI_MAX_TABLE_NAME_LEN", + 43: "CLI_SCROLL_CONCURRENCY", + 46: "CLI_TXN_CAPABLE", + 47: "CLI_USER_NAME", + 72: "CLI_TXN_ISOLATION_OPTION", + 73: "CLI_INTEGRITY", + 81: "CLI_GETDATA_EXTENSIONS", + 85: "CLI_NULL_COLLATION", + 86: "CLI_ALTER_TABLE", + 90: "CLI_ORDER_BY_COLUMNS_IN_SELECT", + 94: "CLI_SPECIAL_CHARACTERS", + 97: "CLI_MAX_COLUMNS_IN_GROUP_BY", + 98: "CLI_MAX_COLUMNS_IN_INDEX", + 99: "CLI_MAX_COLUMNS_IN_ORDER_BY", + 100: "CLI_MAX_COLUMNS_IN_SELECT", + 101: "CLI_MAX_COLUMNS_IN_TABLE", + 102: "CLI_MAX_INDEX_SIZE", + 104: "CLI_MAX_ROW_SIZE", + 105: "CLI_MAX_STATEMENT_LEN", + 106: "CLI_MAX_TABLES_IN_SELECT", + 107: "CLI_MAX_USER_NAME_LEN", + 115: "CLI_OJ_CAPABILITIES", + 10000: "CLI_XOPEN_CLI_YEAR", + 10001: "CLI_CURSOR_SENSITIVITY", + 10002: "CLI_DESCRIBE_PARAMETER", + 10003: "CLI_CATALOG_NAME", + 10004: "CLI_COLLATION_SEQ", + 10005: "CLI_MAX_IDENTIFIER_LEN", + } + + _NAMES_TO_VALUES = { + "CLI_MAX_DRIVER_CONNECTIONS": 0, + "CLI_MAX_CONCURRENT_ACTIVITIES": 1, + "CLI_DATA_SOURCE_NAME": 2, + "CLI_FETCH_DIRECTION": 8, + "CLI_SERVER_NAME": 13, + "CLI_SEARCH_PATTERN_ESCAPE": 14, + "CLI_DBMS_NAME": 17, + "CLI_DBMS_VER": 18, + "CLI_ACCESSIBLE_TABLES": 19, + "CLI_ACCESSIBLE_PROCEDURES": 20, + "CLI_CURSOR_COMMIT_BEHAVIOR": 23, + "CLI_DATA_SOURCE_READ_ONLY": 25, + "CLI_DEFAULT_TXN_ISOLATION": 26, + "CLI_IDENTIFIER_CASE": 28, + "CLI_IDENTIFIER_QUOTE_CHAR": 29, + "CLI_MAX_COLUMN_NAME_LEN": 30, + "CLI_MAX_CURSOR_NAME_LEN": 31, + "CLI_MAX_SCHEMA_NAME_LEN": 32, + "CLI_MAX_CATALOG_NAME_LEN": 34, + "CLI_MAX_TABLE_NAME_LEN": 35, + "CLI_SCROLL_CONCURRENCY": 43, + "CLI_TXN_CAPABLE": 46, + "CLI_USER_NAME": 47, + "CLI_TXN_ISOLATION_OPTION": 72, + "CLI_INTEGRITY": 73, + "CLI_GETDATA_EXTENSIONS": 81, + "CLI_NULL_COLLATION": 85, + "CLI_ALTER_TABLE": 86, + "CLI_ORDER_BY_COLUMNS_IN_SELECT": 90, + "CLI_SPECIAL_CHARACTERS": 94, + "CLI_MAX_COLUMNS_IN_GROUP_BY": 97, + "CLI_MAX_COLUMNS_IN_INDEX": 98, + "CLI_MAX_COLUMNS_IN_ORDER_BY": 99, + "CLI_MAX_COLUMNS_IN_SELECT": 100, + "CLI_MAX_COLUMNS_IN_TABLE": 101, + "CLI_MAX_INDEX_SIZE": 102, + "CLI_MAX_ROW_SIZE": 104, + "CLI_MAX_STATEMENT_LEN": 105, + "CLI_MAX_TABLES_IN_SELECT": 106, + "CLI_MAX_USER_NAME_LEN": 107, + "CLI_OJ_CAPABILITIES": 115, + "CLI_XOPEN_CLI_YEAR": 10000, + "CLI_CURSOR_SENSITIVITY": 10001, + "CLI_DESCRIBE_PARAMETER": 10002, + "CLI_CATALOG_NAME": 10003, + "CLI_COLLATION_SEQ": 10004, + "CLI_MAX_IDENTIFIER_LEN": 10005, + } class TResultPersistenceMode(object): - ONLY_LARGE_RESULTS = 0 - ALL_QUERY_RESULTS = 1 - ALL_RESULTS = 2 + ONLY_LARGE_RESULTS = 0 + ALL_QUERY_RESULTS = 1 + ALL_RESULTS = 2 - _VALUES_TO_NAMES = { - 0: "ONLY_LARGE_RESULTS", - 1: "ALL_QUERY_RESULTS", - 2: "ALL_RESULTS", - } + _VALUES_TO_NAMES = { + 0: "ONLY_LARGE_RESULTS", + 1: "ALL_QUERY_RESULTS", + 2: "ALL_RESULTS", + } - _NAMES_TO_VALUES = { - "ONLY_LARGE_RESULTS": 0, - "ALL_QUERY_RESULTS": 1, - "ALL_RESULTS": 2, - } + _NAMES_TO_VALUES = { + "ONLY_LARGE_RESULTS": 0, + "ALL_QUERY_RESULTS": 1, + "ALL_RESULTS": 2, + } class TDBSqlCloseOperationReason(object): - NONE = 0 - COMMAND_INACTIVITY_TIMEOUT = 1 + NONE = 0 + COMMAND_INACTIVITY_TIMEOUT = 1 - _VALUES_TO_NAMES = { - 0: "NONE", - 1: "COMMAND_INACTIVITY_TIMEOUT", - } + _VALUES_TO_NAMES = { + 0: "NONE", + 1: "COMMAND_INACTIVITY_TIMEOUT", + } - _NAMES_TO_VALUES = { - "NONE": 0, - "COMMAND_INACTIVITY_TIMEOUT": 1, - } + _NAMES_TO_VALUES = { + "NONE": 0, + "COMMAND_INACTIVITY_TIMEOUT": 1, + } class TCacheLookupResult(object): - CACHE_INELIGIBLE = 0 - LOCAL_CACHE_HIT = 1 - REMOTE_CACHE_HIT = 2 - CACHE_MISS = 3 - - _VALUES_TO_NAMES = { - 0: "CACHE_INELIGIBLE", - 1: "LOCAL_CACHE_HIT", - 2: "REMOTE_CACHE_HIT", - 3: "CACHE_MISS", - } - - _NAMES_TO_VALUES = { - "CACHE_INELIGIBLE": 0, - "LOCAL_CACHE_HIT": 1, - "REMOTE_CACHE_HIT": 2, - "CACHE_MISS": 3, - } + CACHE_INELIGIBLE = 0 + LOCAL_CACHE_HIT = 1 + REMOTE_CACHE_HIT = 2 + CACHE_MISS = 3 + + _VALUES_TO_NAMES = { + 0: "CACHE_INELIGIBLE", + 1: "LOCAL_CACHE_HIT", + 2: "REMOTE_CACHE_HIT", + 3: "CACHE_MISS", + } + + _NAMES_TO_VALUES = { + "CACHE_INELIGIBLE": 0, + "LOCAL_CACHE_HIT": 1, + "REMOTE_CACHE_HIT": 2, + "CACHE_MISS": 3, + } class TCloudFetchDisabledReason(object): - ARROW_SUPPORT = 0 - CLOUD_FETCH_SUPPORT = 1 - PROTOCOL_VERSION = 2 - REGION_SUPPORT = 3 - BLOCKLISTED_OPERATION = 4 - SMALL_RESULT_SIZE = 5 - CUSTOMER_STORAGE_SUPPORT = 6 - UNKNOWN = 7 - - _VALUES_TO_NAMES = { - 0: "ARROW_SUPPORT", - 1: "CLOUD_FETCH_SUPPORT", - 2: "PROTOCOL_VERSION", - 3: "REGION_SUPPORT", - 4: "BLOCKLISTED_OPERATION", - 5: "SMALL_RESULT_SIZE", - 6: "CUSTOMER_STORAGE_SUPPORT", - 7: "UNKNOWN", - } - - _NAMES_TO_VALUES = { - "ARROW_SUPPORT": 0, - "CLOUD_FETCH_SUPPORT": 1, - "PROTOCOL_VERSION": 2, - "REGION_SUPPORT": 3, - "BLOCKLISTED_OPERATION": 4, - "SMALL_RESULT_SIZE": 5, - "CUSTOMER_STORAGE_SUPPORT": 6, - "UNKNOWN": 7, - } + ARROW_SUPPORT = 0 + CLOUD_FETCH_SUPPORT = 1 + PROTOCOL_VERSION = 2 + REGION_SUPPORT = 3 + BLOCKLISTED_OPERATION = 4 + SMALL_RESULT_SIZE = 5 + CUSTOMER_STORAGE_SUPPORT = 6 + UNKNOWN = 7 + + _VALUES_TO_NAMES = { + 0: "ARROW_SUPPORT", + 1: "CLOUD_FETCH_SUPPORT", + 2: "PROTOCOL_VERSION", + 3: "REGION_SUPPORT", + 4: "BLOCKLISTED_OPERATION", + 5: "SMALL_RESULT_SIZE", + 6: "CUSTOMER_STORAGE_SUPPORT", + 7: "UNKNOWN", + } + + _NAMES_TO_VALUES = { + "ARROW_SUPPORT": 0, + "CLOUD_FETCH_SUPPORT": 1, + "PROTOCOL_VERSION": 2, + "REGION_SUPPORT": 3, + "BLOCKLISTED_OPERATION": 4, + "SMALL_RESULT_SIZE": 5, + "CUSTOMER_STORAGE_SUPPORT": 6, + "UNKNOWN": 7, + } class TDBSqlManifestFileFormat(object): - THRIFT_GET_RESULT_SET_METADATA_RESP = 0 + THRIFT_GET_RESULT_SET_METADATA_RESP = 0 - _VALUES_TO_NAMES = { - 0: "THRIFT_GET_RESULT_SET_METADATA_RESP", - } + _VALUES_TO_NAMES = { + 0: "THRIFT_GET_RESULT_SET_METADATA_RESP", + } - _NAMES_TO_VALUES = { - "THRIFT_GET_RESULT_SET_METADATA_RESP": 0, - } + _NAMES_TO_VALUES = { + "THRIFT_GET_RESULT_SET_METADATA_RESP": 0, + } class TFetchOrientation(object): - FETCH_NEXT = 0 - FETCH_PRIOR = 1 - FETCH_RELATIVE = 2 - FETCH_ABSOLUTE = 3 - FETCH_FIRST = 4 - FETCH_LAST = 5 - - _VALUES_TO_NAMES = { - 0: "FETCH_NEXT", - 1: "FETCH_PRIOR", - 2: "FETCH_RELATIVE", - 3: "FETCH_ABSOLUTE", - 4: "FETCH_FIRST", - 5: "FETCH_LAST", - } - - _NAMES_TO_VALUES = { - "FETCH_NEXT": 0, - "FETCH_PRIOR": 1, - "FETCH_RELATIVE": 2, - "FETCH_ABSOLUTE": 3, - "FETCH_FIRST": 4, - "FETCH_LAST": 5, - } + FETCH_NEXT = 0 + FETCH_PRIOR = 1 + FETCH_RELATIVE = 2 + FETCH_ABSOLUTE = 3 + FETCH_FIRST = 4 + FETCH_LAST = 5 + + _VALUES_TO_NAMES = { + 0: "FETCH_NEXT", + 1: "FETCH_PRIOR", + 2: "FETCH_RELATIVE", + 3: "FETCH_ABSOLUTE", + 4: "FETCH_FIRST", + 5: "FETCH_LAST", + } + + _NAMES_TO_VALUES = { + "FETCH_NEXT": 0, + "FETCH_PRIOR": 1, + "FETCH_RELATIVE": 2, + "FETCH_ABSOLUTE": 3, + "FETCH_FIRST": 4, + "FETCH_LAST": 5, + } class TDBSqlFetchDisposition(object): - DISPOSITION_UNSPECIFIED = 0 - DISPOSITION_INLINE = 1 - DISPOSITION_EXTERNAL_LINKS = 2 - DISPOSITION_INTERNAL_DBFS = 3 - - _VALUES_TO_NAMES = { - 0: "DISPOSITION_UNSPECIFIED", - 1: "DISPOSITION_INLINE", - 2: "DISPOSITION_EXTERNAL_LINKS", - 3: "DISPOSITION_INTERNAL_DBFS", - } - - _NAMES_TO_VALUES = { - "DISPOSITION_UNSPECIFIED": 0, - "DISPOSITION_INLINE": 1, - "DISPOSITION_EXTERNAL_LINKS": 2, - "DISPOSITION_INTERNAL_DBFS": 3, - } + DISPOSITION_UNSPECIFIED = 0 + DISPOSITION_INLINE = 1 + DISPOSITION_EXTERNAL_LINKS = 2 + DISPOSITION_INTERNAL_DBFS = 3 + + _VALUES_TO_NAMES = { + 0: "DISPOSITION_UNSPECIFIED", + 1: "DISPOSITION_INLINE", + 2: "DISPOSITION_EXTERNAL_LINKS", + 3: "DISPOSITION_INTERNAL_DBFS", + } + + _NAMES_TO_VALUES = { + "DISPOSITION_UNSPECIFIED": 0, + "DISPOSITION_INLINE": 1, + "DISPOSITION_EXTERNAL_LINKS": 2, + "DISPOSITION_INTERNAL_DBFS": 3, + } class TJobExecutionStatus(object): - IN_PROGRESS = 0 - COMPLETE = 1 - NOT_AVAILABLE = 2 + IN_PROGRESS = 0 + COMPLETE = 1 + NOT_AVAILABLE = 2 - _VALUES_TO_NAMES = { - 0: "IN_PROGRESS", - 1: "COMPLETE", - 2: "NOT_AVAILABLE", - } + _VALUES_TO_NAMES = { + 0: "IN_PROGRESS", + 1: "COMPLETE", + 2: "NOT_AVAILABLE", + } - _NAMES_TO_VALUES = { - "IN_PROGRESS": 0, - "COMPLETE": 1, - "NOT_AVAILABLE": 2, - } + _NAMES_TO_VALUES = { + "IN_PROGRESS": 0, + "COMPLETE": 1, + "NOT_AVAILABLE": 2, + } class TTypeQualifierValue(object): - """ + """ Attributes: - i32Value - stringValue @@ -667,137 +667,137 @@ class TTypeQualifierValue(object): """ - def __init__(self, i32Value=None, stringValue=None,): - self.i32Value = i32Value - self.stringValue = stringValue - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.I32: - self.i32Value = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRING: - self.stringValue = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TTypeQualifierValue') - if self.i32Value is not None: - oprot.writeFieldBegin('i32Value', TType.I32, 1) - oprot.writeI32(self.i32Value) - oprot.writeFieldEnd() - if self.stringValue is not None: - oprot.writeFieldBegin('stringValue', TType.STRING, 2) - oprot.writeString(self.stringValue.encode('utf-8') if sys.version_info[0] == 2 else self.stringValue) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, i32Value=None, stringValue=None,): + self.i32Value = i32Value + self.stringValue = stringValue + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.I32: + self.i32Value = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRING: + self.stringValue = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TTypeQualifierValue') + if self.i32Value is not None: + oprot.writeFieldBegin('i32Value', TType.I32, 1) + oprot.writeI32(self.i32Value) + oprot.writeFieldEnd() + if self.stringValue is not None: + oprot.writeFieldBegin('stringValue', TType.STRING, 2) + oprot.writeString(self.stringValue.encode('utf-8') if sys.version_info[0] == 2 else self.stringValue) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TTypeQualifiers(object): - """ + """ Attributes: - qualifiers """ - def __init__(self, qualifiers=None,): - self.qualifiers = qualifiers - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.MAP: - self.qualifiers = {} - (_ktype1, _vtype2, _size0) = iprot.readMapBegin() - for _i4 in range(_size0): - _key5 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - _val6 = TTypeQualifierValue() - _val6.read(iprot) - self.qualifiers[_key5] = _val6 - iprot.readMapEnd() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TTypeQualifiers') - if self.qualifiers is not None: - oprot.writeFieldBegin('qualifiers', TType.MAP, 1) - oprot.writeMapBegin(TType.STRING, TType.STRUCT, len(self.qualifiers)) - for kiter7, viter8 in self.qualifiers.items(): - oprot.writeString(kiter7.encode('utf-8') if sys.version_info[0] == 2 else kiter7) - viter8.write(oprot) - oprot.writeMapEnd() - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.qualifiers is None: - raise TProtocolException(message='Required field qualifiers is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, qualifiers=None,): + self.qualifiers = qualifiers + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.MAP: + self.qualifiers = {} + (_ktype1, _vtype2, _size0) = iprot.readMapBegin() + for _i4 in range(_size0): + _key5 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + _val6 = TTypeQualifierValue() + _val6.read(iprot) + self.qualifiers[_key5] = _val6 + iprot.readMapEnd() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TTypeQualifiers') + if self.qualifiers is not None: + oprot.writeFieldBegin('qualifiers', TType.MAP, 1) + oprot.writeMapBegin(TType.STRING, TType.STRUCT, len(self.qualifiers)) + for kiter7, viter8 in self.qualifiers.items(): + oprot.writeString(kiter7.encode('utf-8') if sys.version_info[0] == 2 else kiter7) + viter8.write(oprot) + oprot.writeMapEnd() + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.qualifiers is None: + raise TProtocolException(message='Required field qualifiers is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TTAllowedParameterValueEntry(object): - """ + """ Attributes: - type - typeQualifiers @@ -805,129 +805,129 @@ class TTAllowedParameterValueEntry(object): """ - def __init__(self, type=None, typeQualifiers=None,): - self.type = type - self.typeQualifiers = typeQualifiers - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.I32: - self.type = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRUCT: - self.typeQualifiers = TTypeQualifiers() - self.typeQualifiers.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TTAllowedParameterValueEntry') - if self.type is not None: - oprot.writeFieldBegin('type', TType.I32, 1) - oprot.writeI32(self.type) - oprot.writeFieldEnd() - if self.typeQualifiers is not None: - oprot.writeFieldBegin('typeQualifiers', TType.STRUCT, 2) - self.typeQualifiers.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.type is None: - raise TProtocolException(message='Required field type is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, type=None, typeQualifiers=None,): + self.type = type + self.typeQualifiers = typeQualifiers + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.I32: + self.type = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRUCT: + self.typeQualifiers = TTypeQualifiers() + self.typeQualifiers.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TTAllowedParameterValueEntry') + if self.type is not None: + oprot.writeFieldBegin('type', TType.I32, 1) + oprot.writeI32(self.type) + oprot.writeFieldEnd() + if self.typeQualifiers is not None: + oprot.writeFieldBegin('typeQualifiers', TType.STRUCT, 2) + self.typeQualifiers.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.type is None: + raise TProtocolException(message='Required field type is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TArrayTypeEntry(object): - """ + """ Attributes: - objectTypePtr """ - def __init__(self, objectTypePtr=None,): - self.objectTypePtr = objectTypePtr - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.I32: - self.objectTypePtr = iprot.readI32() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TArrayTypeEntry') - if self.objectTypePtr is not None: - oprot.writeFieldBegin('objectTypePtr', TType.I32, 1) - oprot.writeI32(self.objectTypePtr) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.objectTypePtr is None: - raise TProtocolException(message='Required field objectTypePtr is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, objectTypePtr=None,): + self.objectTypePtr = objectTypePtr + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.I32: + self.objectTypePtr = iprot.readI32() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TArrayTypeEntry') + if self.objectTypePtr is not None: + oprot.writeFieldBegin('objectTypePtr', TType.I32, 1) + oprot.writeI32(self.objectTypePtr) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.objectTypePtr is None: + raise TProtocolException(message='Required field objectTypePtr is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TMapTypeEntry(object): - """ + """ Attributes: - keyTypePtr - valueTypePtr @@ -935,268 +935,268 @@ class TMapTypeEntry(object): """ - def __init__(self, keyTypePtr=None, valueTypePtr=None,): - self.keyTypePtr = keyTypePtr - self.valueTypePtr = valueTypePtr - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.I32: - self.keyTypePtr = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.I32: - self.valueTypePtr = iprot.readI32() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TMapTypeEntry') - if self.keyTypePtr is not None: - oprot.writeFieldBegin('keyTypePtr', TType.I32, 1) - oprot.writeI32(self.keyTypePtr) - oprot.writeFieldEnd() - if self.valueTypePtr is not None: - oprot.writeFieldBegin('valueTypePtr', TType.I32, 2) - oprot.writeI32(self.valueTypePtr) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.keyTypePtr is None: - raise TProtocolException(message='Required field keyTypePtr is unset!') - if self.valueTypePtr is None: - raise TProtocolException(message='Required field valueTypePtr is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, keyTypePtr=None, valueTypePtr=None,): + self.keyTypePtr = keyTypePtr + self.valueTypePtr = valueTypePtr + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.I32: + self.keyTypePtr = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.I32: + self.valueTypePtr = iprot.readI32() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TMapTypeEntry') + if self.keyTypePtr is not None: + oprot.writeFieldBegin('keyTypePtr', TType.I32, 1) + oprot.writeI32(self.keyTypePtr) + oprot.writeFieldEnd() + if self.valueTypePtr is not None: + oprot.writeFieldBegin('valueTypePtr', TType.I32, 2) + oprot.writeI32(self.valueTypePtr) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.keyTypePtr is None: + raise TProtocolException(message='Required field keyTypePtr is unset!') + if self.valueTypePtr is None: + raise TProtocolException(message='Required field valueTypePtr is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TStructTypeEntry(object): - """ + """ Attributes: - nameToTypePtr """ - def __init__(self, nameToTypePtr=None,): - self.nameToTypePtr = nameToTypePtr - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.MAP: - self.nameToTypePtr = {} - (_ktype10, _vtype11, _size9) = iprot.readMapBegin() - for _i13 in range(_size9): - _key14 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - _val15 = iprot.readI32() - self.nameToTypePtr[_key14] = _val15 - iprot.readMapEnd() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TStructTypeEntry') - if self.nameToTypePtr is not None: - oprot.writeFieldBegin('nameToTypePtr', TType.MAP, 1) - oprot.writeMapBegin(TType.STRING, TType.I32, len(self.nameToTypePtr)) - for kiter16, viter17 in self.nameToTypePtr.items(): - oprot.writeString(kiter16.encode('utf-8') if sys.version_info[0] == 2 else kiter16) - oprot.writeI32(viter17) - oprot.writeMapEnd() - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.nameToTypePtr is None: - raise TProtocolException(message='Required field nameToTypePtr is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, nameToTypePtr=None,): + self.nameToTypePtr = nameToTypePtr + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.MAP: + self.nameToTypePtr = {} + (_ktype10, _vtype11, _size9) = iprot.readMapBegin() + for _i13 in range(_size9): + _key14 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + _val15 = iprot.readI32() + self.nameToTypePtr[_key14] = _val15 + iprot.readMapEnd() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TStructTypeEntry') + if self.nameToTypePtr is not None: + oprot.writeFieldBegin('nameToTypePtr', TType.MAP, 1) + oprot.writeMapBegin(TType.STRING, TType.I32, len(self.nameToTypePtr)) + for kiter16, viter17 in self.nameToTypePtr.items(): + oprot.writeString(kiter16.encode('utf-8') if sys.version_info[0] == 2 else kiter16) + oprot.writeI32(viter17) + oprot.writeMapEnd() + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.nameToTypePtr is None: + raise TProtocolException(message='Required field nameToTypePtr is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TUnionTypeEntry(object): - """ + """ Attributes: - nameToTypePtr """ - def __init__(self, nameToTypePtr=None,): - self.nameToTypePtr = nameToTypePtr - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.MAP: - self.nameToTypePtr = {} - (_ktype19, _vtype20, _size18) = iprot.readMapBegin() - for _i22 in range(_size18): - _key23 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - _val24 = iprot.readI32() - self.nameToTypePtr[_key23] = _val24 - iprot.readMapEnd() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TUnionTypeEntry') - if self.nameToTypePtr is not None: - oprot.writeFieldBegin('nameToTypePtr', TType.MAP, 1) - oprot.writeMapBegin(TType.STRING, TType.I32, len(self.nameToTypePtr)) - for kiter25, viter26 in self.nameToTypePtr.items(): - oprot.writeString(kiter25.encode('utf-8') if sys.version_info[0] == 2 else kiter25) - oprot.writeI32(viter26) - oprot.writeMapEnd() - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.nameToTypePtr is None: - raise TProtocolException(message='Required field nameToTypePtr is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, nameToTypePtr=None,): + self.nameToTypePtr = nameToTypePtr + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.MAP: + self.nameToTypePtr = {} + (_ktype19, _vtype20, _size18) = iprot.readMapBegin() + for _i22 in range(_size18): + _key23 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + _val24 = iprot.readI32() + self.nameToTypePtr[_key23] = _val24 + iprot.readMapEnd() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TUnionTypeEntry') + if self.nameToTypePtr is not None: + oprot.writeFieldBegin('nameToTypePtr', TType.MAP, 1) + oprot.writeMapBegin(TType.STRING, TType.I32, len(self.nameToTypePtr)) + for kiter25, viter26 in self.nameToTypePtr.items(): + oprot.writeString(kiter25.encode('utf-8') if sys.version_info[0] == 2 else kiter25) + oprot.writeI32(viter26) + oprot.writeMapEnd() + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.nameToTypePtr is None: + raise TProtocolException(message='Required field nameToTypePtr is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TUserDefinedTypeEntry(object): - """ + """ Attributes: - typeClassName """ - def __init__(self, typeClassName=None,): - self.typeClassName = typeClassName - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRING: - self.typeClassName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TUserDefinedTypeEntry') - if self.typeClassName is not None: - oprot.writeFieldBegin('typeClassName', TType.STRING, 1) - oprot.writeString(self.typeClassName.encode('utf-8') if sys.version_info[0] == 2 else self.typeClassName) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.typeClassName is None: - raise TProtocolException(message='Required field typeClassName is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, typeClassName=None,): + self.typeClassName = typeClassName + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRING: + self.typeClassName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TUserDefinedTypeEntry') + if self.typeClassName is not None: + oprot.writeFieldBegin('typeClassName', TType.STRING, 1) + oprot.writeString(self.typeClassName.encode('utf-8') if sys.version_info[0] == 2 else self.typeClassName) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.typeClassName is None: + raise TProtocolException(message='Required field typeClassName is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TTypeEntry(object): - """ + """ Attributes: - primitiveEntry - arrayEntry @@ -1208,181 +1208,181 @@ class TTypeEntry(object): """ - def __init__(self, primitiveEntry=None, arrayEntry=None, mapEntry=None, structEntry=None, unionEntry=None, userDefinedTypeEntry=None,): - self.primitiveEntry = primitiveEntry - self.arrayEntry = arrayEntry - self.mapEntry = mapEntry - self.structEntry = structEntry - self.unionEntry = unionEntry - self.userDefinedTypeEntry = userDefinedTypeEntry - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.primitiveEntry = TTAllowedParameterValueEntry() - self.primitiveEntry.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRUCT: - self.arrayEntry = TArrayTypeEntry() - self.arrayEntry.read(iprot) - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.STRUCT: - self.mapEntry = TMapTypeEntry() - self.mapEntry.read(iprot) - else: - iprot.skip(ftype) - elif fid == 4: - if ftype == TType.STRUCT: - self.structEntry = TStructTypeEntry() - self.structEntry.read(iprot) - else: - iprot.skip(ftype) - elif fid == 5: - if ftype == TType.STRUCT: - self.unionEntry = TUnionTypeEntry() - self.unionEntry.read(iprot) - else: - iprot.skip(ftype) - elif fid == 6: - if ftype == TType.STRUCT: - self.userDefinedTypeEntry = TUserDefinedTypeEntry() - self.userDefinedTypeEntry.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TTypeEntry') - if self.primitiveEntry is not None: - oprot.writeFieldBegin('primitiveEntry', TType.STRUCT, 1) - self.primitiveEntry.write(oprot) - oprot.writeFieldEnd() - if self.arrayEntry is not None: - oprot.writeFieldBegin('arrayEntry', TType.STRUCT, 2) - self.arrayEntry.write(oprot) - oprot.writeFieldEnd() - if self.mapEntry is not None: - oprot.writeFieldBegin('mapEntry', TType.STRUCT, 3) - self.mapEntry.write(oprot) - oprot.writeFieldEnd() - if self.structEntry is not None: - oprot.writeFieldBegin('structEntry', TType.STRUCT, 4) - self.structEntry.write(oprot) - oprot.writeFieldEnd() - if self.unionEntry is not None: - oprot.writeFieldBegin('unionEntry', TType.STRUCT, 5) - self.unionEntry.write(oprot) - oprot.writeFieldEnd() - if self.userDefinedTypeEntry is not None: - oprot.writeFieldBegin('userDefinedTypeEntry', TType.STRUCT, 6) - self.userDefinedTypeEntry.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, primitiveEntry=None, arrayEntry=None, mapEntry=None, structEntry=None, unionEntry=None, userDefinedTypeEntry=None,): + self.primitiveEntry = primitiveEntry + self.arrayEntry = arrayEntry + self.mapEntry = mapEntry + self.structEntry = structEntry + self.unionEntry = unionEntry + self.userDefinedTypeEntry = userDefinedTypeEntry + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.primitiveEntry = TTAllowedParameterValueEntry() + self.primitiveEntry.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRUCT: + self.arrayEntry = TArrayTypeEntry() + self.arrayEntry.read(iprot) + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.STRUCT: + self.mapEntry = TMapTypeEntry() + self.mapEntry.read(iprot) + else: + iprot.skip(ftype) + elif fid == 4: + if ftype == TType.STRUCT: + self.structEntry = TStructTypeEntry() + self.structEntry.read(iprot) + else: + iprot.skip(ftype) + elif fid == 5: + if ftype == TType.STRUCT: + self.unionEntry = TUnionTypeEntry() + self.unionEntry.read(iprot) + else: + iprot.skip(ftype) + elif fid == 6: + if ftype == TType.STRUCT: + self.userDefinedTypeEntry = TUserDefinedTypeEntry() + self.userDefinedTypeEntry.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TTypeEntry') + if self.primitiveEntry is not None: + oprot.writeFieldBegin('primitiveEntry', TType.STRUCT, 1) + self.primitiveEntry.write(oprot) + oprot.writeFieldEnd() + if self.arrayEntry is not None: + oprot.writeFieldBegin('arrayEntry', TType.STRUCT, 2) + self.arrayEntry.write(oprot) + oprot.writeFieldEnd() + if self.mapEntry is not None: + oprot.writeFieldBegin('mapEntry', TType.STRUCT, 3) + self.mapEntry.write(oprot) + oprot.writeFieldEnd() + if self.structEntry is not None: + oprot.writeFieldBegin('structEntry', TType.STRUCT, 4) + self.structEntry.write(oprot) + oprot.writeFieldEnd() + if self.unionEntry is not None: + oprot.writeFieldBegin('unionEntry', TType.STRUCT, 5) + self.unionEntry.write(oprot) + oprot.writeFieldEnd() + if self.userDefinedTypeEntry is not None: + oprot.writeFieldBegin('userDefinedTypeEntry', TType.STRUCT, 6) + self.userDefinedTypeEntry.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TTypeDesc(object): - """ + """ Attributes: - types """ - def __init__(self, types=None,): - self.types = types - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.LIST: - self.types = [] - (_etype30, _size27) = iprot.readListBegin() - for _i31 in range(_size27): - _elem32 = TTypeEntry() - _elem32.read(iprot) - self.types.append(_elem32) - iprot.readListEnd() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TTypeDesc') - if self.types is not None: - oprot.writeFieldBegin('types', TType.LIST, 1) - oprot.writeListBegin(TType.STRUCT, len(self.types)) - for iter33 in self.types: - iter33.write(oprot) - oprot.writeListEnd() - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.types is None: - raise TProtocolException(message='Required field types is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, types=None,): + self.types = types + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.LIST: + self.types = [] + (_etype30, _size27) = iprot.readListBegin() + for _i31 in range(_size27): + _elem32 = TTypeEntry() + _elem32.read(iprot) + self.types.append(_elem32) + iprot.readListEnd() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TTypeDesc') + if self.types is not None: + oprot.writeFieldBegin('types', TType.LIST, 1) + oprot.writeListBegin(TType.STRUCT, len(self.types)) + for iter33 in self.types: + iter33.write(oprot) + oprot.writeListEnd() + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.types is None: + raise TProtocolException(message='Required field types is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TColumnDesc(object): - """ + """ Attributes: - columnName - typeDesc @@ -1392,561 +1392,561 @@ class TColumnDesc(object): """ - def __init__(self, columnName=None, typeDesc=None, position=None, comment=None,): - self.columnName = columnName - self.typeDesc = typeDesc - self.position = position - self.comment = comment - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRING: - self.columnName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRUCT: - self.typeDesc = TTypeDesc() - self.typeDesc.read(iprot) - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.I32: - self.position = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 4: - if ftype == TType.STRING: - self.comment = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TColumnDesc') - if self.columnName is not None: - oprot.writeFieldBegin('columnName', TType.STRING, 1) - oprot.writeString(self.columnName.encode('utf-8') if sys.version_info[0] == 2 else self.columnName) - oprot.writeFieldEnd() - if self.typeDesc is not None: - oprot.writeFieldBegin('typeDesc', TType.STRUCT, 2) - self.typeDesc.write(oprot) - oprot.writeFieldEnd() - if self.position is not None: - oprot.writeFieldBegin('position', TType.I32, 3) - oprot.writeI32(self.position) - oprot.writeFieldEnd() - if self.comment is not None: - oprot.writeFieldBegin('comment', TType.STRING, 4) - oprot.writeString(self.comment.encode('utf-8') if sys.version_info[0] == 2 else self.comment) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.columnName is None: - raise TProtocolException(message='Required field columnName is unset!') - if self.typeDesc is None: - raise TProtocolException(message='Required field typeDesc is unset!') - if self.position is None: - raise TProtocolException(message='Required field position is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, columnName=None, typeDesc=None, position=None, comment=None,): + self.columnName = columnName + self.typeDesc = typeDesc + self.position = position + self.comment = comment + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRING: + self.columnName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRUCT: + self.typeDesc = TTypeDesc() + self.typeDesc.read(iprot) + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.I32: + self.position = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 4: + if ftype == TType.STRING: + self.comment = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TColumnDesc') + if self.columnName is not None: + oprot.writeFieldBegin('columnName', TType.STRING, 1) + oprot.writeString(self.columnName.encode('utf-8') if sys.version_info[0] == 2 else self.columnName) + oprot.writeFieldEnd() + if self.typeDesc is not None: + oprot.writeFieldBegin('typeDesc', TType.STRUCT, 2) + self.typeDesc.write(oprot) + oprot.writeFieldEnd() + if self.position is not None: + oprot.writeFieldBegin('position', TType.I32, 3) + oprot.writeI32(self.position) + oprot.writeFieldEnd() + if self.comment is not None: + oprot.writeFieldBegin('comment', TType.STRING, 4) + oprot.writeString(self.comment.encode('utf-8') if sys.version_info[0] == 2 else self.comment) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.columnName is None: + raise TProtocolException(message='Required field columnName is unset!') + if self.typeDesc is None: + raise TProtocolException(message='Required field typeDesc is unset!') + if self.position is None: + raise TProtocolException(message='Required field position is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TTableSchema(object): - """ + """ Attributes: - columns """ - def __init__(self, columns=None,): - self.columns = columns - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.LIST: - self.columns = [] - (_etype37, _size34) = iprot.readListBegin() - for _i38 in range(_size34): - _elem39 = TColumnDesc() - _elem39.read(iprot) - self.columns.append(_elem39) - iprot.readListEnd() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TTableSchema') - if self.columns is not None: - oprot.writeFieldBegin('columns', TType.LIST, 1) - oprot.writeListBegin(TType.STRUCT, len(self.columns)) - for iter40 in self.columns: - iter40.write(oprot) - oprot.writeListEnd() - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.columns is None: - raise TProtocolException(message='Required field columns is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, columns=None,): + self.columns = columns + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.LIST: + self.columns = [] + (_etype37, _size34) = iprot.readListBegin() + for _i38 in range(_size34): + _elem39 = TColumnDesc() + _elem39.read(iprot) + self.columns.append(_elem39) + iprot.readListEnd() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TTableSchema') + if self.columns is not None: + oprot.writeFieldBegin('columns', TType.LIST, 1) + oprot.writeListBegin(TType.STRUCT, len(self.columns)) + for iter40 in self.columns: + iter40.write(oprot) + oprot.writeListEnd() + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.columns is None: + raise TProtocolException(message='Required field columns is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TBoolValue(object): - """ + """ Attributes: - value """ - def __init__(self, value=None,): - self.value = value - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.BOOL: - self.value = iprot.readBool() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TBoolValue') - if self.value is not None: - oprot.writeFieldBegin('value', TType.BOOL, 1) - oprot.writeBool(self.value) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, value=None,): + self.value = value + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.BOOL: + self.value = iprot.readBool() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TBoolValue') + if self.value is not None: + oprot.writeFieldBegin('value', TType.BOOL, 1) + oprot.writeBool(self.value) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TByteValue(object): - """ + """ Attributes: - value """ - def __init__(self, value=None,): - self.value = value - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.BYTE: - self.value = iprot.readByte() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TByteValue') - if self.value is not None: - oprot.writeFieldBegin('value', TType.BYTE, 1) - oprot.writeByte(self.value) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, value=None,): + self.value = value + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.BYTE: + self.value = iprot.readByte() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TByteValue') + if self.value is not None: + oprot.writeFieldBegin('value', TType.BYTE, 1) + oprot.writeByte(self.value) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TI16Value(object): - """ + """ Attributes: - value """ - def __init__(self, value=None,): - self.value = value - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.I16: - self.value = iprot.readI16() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TI16Value') - if self.value is not None: - oprot.writeFieldBegin('value', TType.I16, 1) - oprot.writeI16(self.value) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, value=None,): + self.value = value + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.I16: + self.value = iprot.readI16() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TI16Value') + if self.value is not None: + oprot.writeFieldBegin('value', TType.I16, 1) + oprot.writeI16(self.value) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TI32Value(object): - """ + """ Attributes: - value """ - def __init__(self, value=None,): - self.value = value - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.I32: - self.value = iprot.readI32() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TI32Value') - if self.value is not None: - oprot.writeFieldBegin('value', TType.I32, 1) - oprot.writeI32(self.value) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, value=None,): + self.value = value + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.I32: + self.value = iprot.readI32() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TI32Value') + if self.value is not None: + oprot.writeFieldBegin('value', TType.I32, 1) + oprot.writeI32(self.value) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TI64Value(object): - """ + """ Attributes: - value """ - def __init__(self, value=None,): - self.value = value - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.I64: - self.value = iprot.readI64() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TI64Value') - if self.value is not None: - oprot.writeFieldBegin('value', TType.I64, 1) - oprot.writeI64(self.value) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, value=None,): + self.value = value + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.I64: + self.value = iprot.readI64() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TI64Value') + if self.value is not None: + oprot.writeFieldBegin('value', TType.I64, 1) + oprot.writeI64(self.value) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TDoubleValue(object): - """ + """ Attributes: - value """ - def __init__(self, value=None,): - self.value = value - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.DOUBLE: - self.value = iprot.readDouble() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TDoubleValue') - if self.value is not None: - oprot.writeFieldBegin('value', TType.DOUBLE, 1) - oprot.writeDouble(self.value) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, value=None,): + self.value = value + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.DOUBLE: + self.value = iprot.readDouble() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TDoubleValue') + if self.value is not None: + oprot.writeFieldBegin('value', TType.DOUBLE, 1) + oprot.writeDouble(self.value) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TStringValue(object): - """ + """ Attributes: - value """ - def __init__(self, value=None,): - self.value = value - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRING: - self.value = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TStringValue') - if self.value is not None: - oprot.writeFieldBegin('value', TType.STRING, 1) - oprot.writeString(self.value.encode('utf-8') if sys.version_info[0] == 2 else self.value) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, value=None,): + self.value = value + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRING: + self.value = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TStringValue') + if self.value is not None: + oprot.writeFieldBegin('value', TType.STRING, 1) + oprot.writeString(self.value.encode('utf-8') if sys.version_info[0] == 2 else self.value) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TColumnValue(object): - """ + """ Attributes: - boolVal - byteVal @@ -1959,192 +1959,192 @@ class TColumnValue(object): """ - def __init__(self, boolVal=None, byteVal=None, i16Val=None, i32Val=None, i64Val=None, doubleVal=None, stringVal=None,): - self.boolVal = boolVal - self.byteVal = byteVal - self.i16Val = i16Val - self.i32Val = i32Val - self.i64Val = i64Val - self.doubleVal = doubleVal - self.stringVal = stringVal - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.boolVal = TBoolValue() - self.boolVal.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRUCT: - self.byteVal = TByteValue() - self.byteVal.read(iprot) - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.STRUCT: - self.i16Val = TI16Value() - self.i16Val.read(iprot) - else: - iprot.skip(ftype) - elif fid == 4: - if ftype == TType.STRUCT: - self.i32Val = TI32Value() - self.i32Val.read(iprot) - else: - iprot.skip(ftype) - elif fid == 5: - if ftype == TType.STRUCT: - self.i64Val = TI64Value() - self.i64Val.read(iprot) - else: - iprot.skip(ftype) - elif fid == 6: - if ftype == TType.STRUCT: - self.doubleVal = TDoubleValue() - self.doubleVal.read(iprot) - else: - iprot.skip(ftype) - elif fid == 7: - if ftype == TType.STRUCT: - self.stringVal = TStringValue() - self.stringVal.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TColumnValue') - if self.boolVal is not None: - oprot.writeFieldBegin('boolVal', TType.STRUCT, 1) - self.boolVal.write(oprot) - oprot.writeFieldEnd() - if self.byteVal is not None: - oprot.writeFieldBegin('byteVal', TType.STRUCT, 2) - self.byteVal.write(oprot) - oprot.writeFieldEnd() - if self.i16Val is not None: - oprot.writeFieldBegin('i16Val', TType.STRUCT, 3) - self.i16Val.write(oprot) - oprot.writeFieldEnd() - if self.i32Val is not None: - oprot.writeFieldBegin('i32Val', TType.STRUCT, 4) - self.i32Val.write(oprot) - oprot.writeFieldEnd() - if self.i64Val is not None: - oprot.writeFieldBegin('i64Val', TType.STRUCT, 5) - self.i64Val.write(oprot) - oprot.writeFieldEnd() - if self.doubleVal is not None: - oprot.writeFieldBegin('doubleVal', TType.STRUCT, 6) - self.doubleVal.write(oprot) - oprot.writeFieldEnd() - if self.stringVal is not None: - oprot.writeFieldBegin('stringVal', TType.STRUCT, 7) - self.stringVal.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, boolVal=None, byteVal=None, i16Val=None, i32Val=None, i64Val=None, doubleVal=None, stringVal=None,): + self.boolVal = boolVal + self.byteVal = byteVal + self.i16Val = i16Val + self.i32Val = i32Val + self.i64Val = i64Val + self.doubleVal = doubleVal + self.stringVal = stringVal + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.boolVal = TBoolValue() + self.boolVal.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRUCT: + self.byteVal = TByteValue() + self.byteVal.read(iprot) + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.STRUCT: + self.i16Val = TI16Value() + self.i16Val.read(iprot) + else: + iprot.skip(ftype) + elif fid == 4: + if ftype == TType.STRUCT: + self.i32Val = TI32Value() + self.i32Val.read(iprot) + else: + iprot.skip(ftype) + elif fid == 5: + if ftype == TType.STRUCT: + self.i64Val = TI64Value() + self.i64Val.read(iprot) + else: + iprot.skip(ftype) + elif fid == 6: + if ftype == TType.STRUCT: + self.doubleVal = TDoubleValue() + self.doubleVal.read(iprot) + else: + iprot.skip(ftype) + elif fid == 7: + if ftype == TType.STRUCT: + self.stringVal = TStringValue() + self.stringVal.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TColumnValue') + if self.boolVal is not None: + oprot.writeFieldBegin('boolVal', TType.STRUCT, 1) + self.boolVal.write(oprot) + oprot.writeFieldEnd() + if self.byteVal is not None: + oprot.writeFieldBegin('byteVal', TType.STRUCT, 2) + self.byteVal.write(oprot) + oprot.writeFieldEnd() + if self.i16Val is not None: + oprot.writeFieldBegin('i16Val', TType.STRUCT, 3) + self.i16Val.write(oprot) + oprot.writeFieldEnd() + if self.i32Val is not None: + oprot.writeFieldBegin('i32Val', TType.STRUCT, 4) + self.i32Val.write(oprot) + oprot.writeFieldEnd() + if self.i64Val is not None: + oprot.writeFieldBegin('i64Val', TType.STRUCT, 5) + self.i64Val.write(oprot) + oprot.writeFieldEnd() + if self.doubleVal is not None: + oprot.writeFieldBegin('doubleVal', TType.STRUCT, 6) + self.doubleVal.write(oprot) + oprot.writeFieldEnd() + if self.stringVal is not None: + oprot.writeFieldBegin('stringVal', TType.STRUCT, 7) + self.stringVal.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TRow(object): - """ + """ Attributes: - colVals """ - def __init__(self, colVals=None,): - self.colVals = colVals - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.LIST: - self.colVals = [] - (_etype44, _size41) = iprot.readListBegin() - for _i45 in range(_size41): - _elem46 = TColumnValue() - _elem46.read(iprot) - self.colVals.append(_elem46) - iprot.readListEnd() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TRow') - if self.colVals is not None: - oprot.writeFieldBegin('colVals', TType.LIST, 1) - oprot.writeListBegin(TType.STRUCT, len(self.colVals)) - for iter47 in self.colVals: - iter47.write(oprot) - oprot.writeListEnd() - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.colVals is None: - raise TProtocolException(message='Required field colVals is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, colVals=None,): + self.colVals = colVals + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.LIST: + self.colVals = [] + (_etype44, _size41) = iprot.readListBegin() + for _i45 in range(_size41): + _elem46 = TColumnValue() + _elem46.read(iprot) + self.colVals.append(_elem46) + iprot.readListEnd() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TRow') + if self.colVals is not None: + oprot.writeFieldBegin('colVals', TType.LIST, 1) + oprot.writeListBegin(TType.STRUCT, len(self.colVals)) + for iter47 in self.colVals: + iter47.write(oprot) + oprot.writeListEnd() + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.colVals is None: + raise TProtocolException(message='Required field colVals is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TBoolColumn(object): - """ + """ Attributes: - values - nulls @@ -2152,79 +2152,79 @@ class TBoolColumn(object): """ - def __init__(self, values=None, nulls=None,): - self.values = values - self.nulls = nulls - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.LIST: - self.values = [] - (_etype51, _size48) = iprot.readListBegin() - for _i52 in range(_size48): - _elem53 = iprot.readBool() - self.values.append(_elem53) - iprot.readListEnd() - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRING: - self.nulls = iprot.readBinary() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TBoolColumn') - if self.values is not None: - oprot.writeFieldBegin('values', TType.LIST, 1) - oprot.writeListBegin(TType.BOOL, len(self.values)) - for iter54 in self.values: - oprot.writeBool(iter54) - oprot.writeListEnd() - oprot.writeFieldEnd() - if self.nulls is not None: - oprot.writeFieldBegin('nulls', TType.STRING, 2) - oprot.writeBinary(self.nulls) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.values is None: - raise TProtocolException(message='Required field values is unset!') - if self.nulls is None: - raise TProtocolException(message='Required field nulls is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, values=None, nulls=None,): + self.values = values + self.nulls = nulls + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.LIST: + self.values = [] + (_etype51, _size48) = iprot.readListBegin() + for _i52 in range(_size48): + _elem53 = iprot.readBool() + self.values.append(_elem53) + iprot.readListEnd() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRING: + self.nulls = iprot.readBinary() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TBoolColumn') + if self.values is not None: + oprot.writeFieldBegin('values', TType.LIST, 1) + oprot.writeListBegin(TType.BOOL, len(self.values)) + for iter54 in self.values: + oprot.writeBool(iter54) + oprot.writeListEnd() + oprot.writeFieldEnd() + if self.nulls is not None: + oprot.writeFieldBegin('nulls', TType.STRING, 2) + oprot.writeBinary(self.nulls) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.values is None: + raise TProtocolException(message='Required field values is unset!') + if self.nulls is None: + raise TProtocolException(message='Required field nulls is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TByteColumn(object): - """ + """ Attributes: - values - nulls @@ -2232,79 +2232,79 @@ class TByteColumn(object): """ - def __init__(self, values=None, nulls=None,): - self.values = values - self.nulls = nulls - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.LIST: - self.values = [] - (_etype58, _size55) = iprot.readListBegin() - for _i59 in range(_size55): - _elem60 = iprot.readByte() - self.values.append(_elem60) - iprot.readListEnd() - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRING: - self.nulls = iprot.readBinary() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TByteColumn') - if self.values is not None: - oprot.writeFieldBegin('values', TType.LIST, 1) - oprot.writeListBegin(TType.BYTE, len(self.values)) - for iter61 in self.values: - oprot.writeByte(iter61) - oprot.writeListEnd() - oprot.writeFieldEnd() - if self.nulls is not None: - oprot.writeFieldBegin('nulls', TType.STRING, 2) - oprot.writeBinary(self.nulls) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.values is None: - raise TProtocolException(message='Required field values is unset!') - if self.nulls is None: - raise TProtocolException(message='Required field nulls is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, values=None, nulls=None,): + self.values = values + self.nulls = nulls + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.LIST: + self.values = [] + (_etype58, _size55) = iprot.readListBegin() + for _i59 in range(_size55): + _elem60 = iprot.readByte() + self.values.append(_elem60) + iprot.readListEnd() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRING: + self.nulls = iprot.readBinary() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TByteColumn') + if self.values is not None: + oprot.writeFieldBegin('values', TType.LIST, 1) + oprot.writeListBegin(TType.BYTE, len(self.values)) + for iter61 in self.values: + oprot.writeByte(iter61) + oprot.writeListEnd() + oprot.writeFieldEnd() + if self.nulls is not None: + oprot.writeFieldBegin('nulls', TType.STRING, 2) + oprot.writeBinary(self.nulls) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.values is None: + raise TProtocolException(message='Required field values is unset!') + if self.nulls is None: + raise TProtocolException(message='Required field nulls is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TI16Column(object): - """ + """ Attributes: - values - nulls @@ -2312,79 +2312,79 @@ class TI16Column(object): """ - def __init__(self, values=None, nulls=None,): - self.values = values - self.nulls = nulls - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.LIST: - self.values = [] - (_etype65, _size62) = iprot.readListBegin() - for _i66 in range(_size62): - _elem67 = iprot.readI16() - self.values.append(_elem67) - iprot.readListEnd() - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRING: - self.nulls = iprot.readBinary() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TI16Column') - if self.values is not None: - oprot.writeFieldBegin('values', TType.LIST, 1) - oprot.writeListBegin(TType.I16, len(self.values)) - for iter68 in self.values: - oprot.writeI16(iter68) - oprot.writeListEnd() - oprot.writeFieldEnd() - if self.nulls is not None: - oprot.writeFieldBegin('nulls', TType.STRING, 2) - oprot.writeBinary(self.nulls) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.values is None: - raise TProtocolException(message='Required field values is unset!') - if self.nulls is None: - raise TProtocolException(message='Required field nulls is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, values=None, nulls=None,): + self.values = values + self.nulls = nulls + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.LIST: + self.values = [] + (_etype65, _size62) = iprot.readListBegin() + for _i66 in range(_size62): + _elem67 = iprot.readI16() + self.values.append(_elem67) + iprot.readListEnd() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRING: + self.nulls = iprot.readBinary() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TI16Column') + if self.values is not None: + oprot.writeFieldBegin('values', TType.LIST, 1) + oprot.writeListBegin(TType.I16, len(self.values)) + for iter68 in self.values: + oprot.writeI16(iter68) + oprot.writeListEnd() + oprot.writeFieldEnd() + if self.nulls is not None: + oprot.writeFieldBegin('nulls', TType.STRING, 2) + oprot.writeBinary(self.nulls) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.values is None: + raise TProtocolException(message='Required field values is unset!') + if self.nulls is None: + raise TProtocolException(message='Required field nulls is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TI32Column(object): - """ + """ Attributes: - values - nulls @@ -2392,79 +2392,79 @@ class TI32Column(object): """ - def __init__(self, values=None, nulls=None,): - self.values = values - self.nulls = nulls - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.LIST: - self.values = [] - (_etype72, _size69) = iprot.readListBegin() - for _i73 in range(_size69): - _elem74 = iprot.readI32() - self.values.append(_elem74) - iprot.readListEnd() - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRING: - self.nulls = iprot.readBinary() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TI32Column') - if self.values is not None: - oprot.writeFieldBegin('values', TType.LIST, 1) - oprot.writeListBegin(TType.I32, len(self.values)) - for iter75 in self.values: - oprot.writeI32(iter75) - oprot.writeListEnd() - oprot.writeFieldEnd() - if self.nulls is not None: - oprot.writeFieldBegin('nulls', TType.STRING, 2) - oprot.writeBinary(self.nulls) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.values is None: - raise TProtocolException(message='Required field values is unset!') - if self.nulls is None: - raise TProtocolException(message='Required field nulls is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, values=None, nulls=None,): + self.values = values + self.nulls = nulls + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.LIST: + self.values = [] + (_etype72, _size69) = iprot.readListBegin() + for _i73 in range(_size69): + _elem74 = iprot.readI32() + self.values.append(_elem74) + iprot.readListEnd() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRING: + self.nulls = iprot.readBinary() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TI32Column') + if self.values is not None: + oprot.writeFieldBegin('values', TType.LIST, 1) + oprot.writeListBegin(TType.I32, len(self.values)) + for iter75 in self.values: + oprot.writeI32(iter75) + oprot.writeListEnd() + oprot.writeFieldEnd() + if self.nulls is not None: + oprot.writeFieldBegin('nulls', TType.STRING, 2) + oprot.writeBinary(self.nulls) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.values is None: + raise TProtocolException(message='Required field values is unset!') + if self.nulls is None: + raise TProtocolException(message='Required field nulls is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TI64Column(object): - """ + """ Attributes: - values - nulls @@ -2472,79 +2472,79 @@ class TI64Column(object): """ - def __init__(self, values=None, nulls=None,): - self.values = values - self.nulls = nulls - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.LIST: - self.values = [] - (_etype79, _size76) = iprot.readListBegin() - for _i80 in range(_size76): - _elem81 = iprot.readI64() - self.values.append(_elem81) - iprot.readListEnd() - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRING: - self.nulls = iprot.readBinary() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TI64Column') - if self.values is not None: - oprot.writeFieldBegin('values', TType.LIST, 1) - oprot.writeListBegin(TType.I64, len(self.values)) - for iter82 in self.values: - oprot.writeI64(iter82) - oprot.writeListEnd() - oprot.writeFieldEnd() - if self.nulls is not None: - oprot.writeFieldBegin('nulls', TType.STRING, 2) - oprot.writeBinary(self.nulls) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.values is None: - raise TProtocolException(message='Required field values is unset!') - if self.nulls is None: - raise TProtocolException(message='Required field nulls is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, values=None, nulls=None,): + self.values = values + self.nulls = nulls + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.LIST: + self.values = [] + (_etype79, _size76) = iprot.readListBegin() + for _i80 in range(_size76): + _elem81 = iprot.readI64() + self.values.append(_elem81) + iprot.readListEnd() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRING: + self.nulls = iprot.readBinary() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TI64Column') + if self.values is not None: + oprot.writeFieldBegin('values', TType.LIST, 1) + oprot.writeListBegin(TType.I64, len(self.values)) + for iter82 in self.values: + oprot.writeI64(iter82) + oprot.writeListEnd() + oprot.writeFieldEnd() + if self.nulls is not None: + oprot.writeFieldBegin('nulls', TType.STRING, 2) + oprot.writeBinary(self.nulls) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.values is None: + raise TProtocolException(message='Required field values is unset!') + if self.nulls is None: + raise TProtocolException(message='Required field nulls is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TDoubleColumn(object): - """ + """ Attributes: - values - nulls @@ -2552,79 +2552,79 @@ class TDoubleColumn(object): """ - def __init__(self, values=None, nulls=None,): - self.values = values - self.nulls = nulls - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.LIST: - self.values = [] - (_etype86, _size83) = iprot.readListBegin() - for _i87 in range(_size83): - _elem88 = iprot.readDouble() - self.values.append(_elem88) - iprot.readListEnd() - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRING: - self.nulls = iprot.readBinary() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TDoubleColumn') - if self.values is not None: - oprot.writeFieldBegin('values', TType.LIST, 1) - oprot.writeListBegin(TType.DOUBLE, len(self.values)) - for iter89 in self.values: - oprot.writeDouble(iter89) - oprot.writeListEnd() - oprot.writeFieldEnd() - if self.nulls is not None: - oprot.writeFieldBegin('nulls', TType.STRING, 2) - oprot.writeBinary(self.nulls) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.values is None: - raise TProtocolException(message='Required field values is unset!') - if self.nulls is None: - raise TProtocolException(message='Required field nulls is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, values=None, nulls=None,): + self.values = values + self.nulls = nulls + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.LIST: + self.values = [] + (_etype86, _size83) = iprot.readListBegin() + for _i87 in range(_size83): + _elem88 = iprot.readDouble() + self.values.append(_elem88) + iprot.readListEnd() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRING: + self.nulls = iprot.readBinary() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TDoubleColumn') + if self.values is not None: + oprot.writeFieldBegin('values', TType.LIST, 1) + oprot.writeListBegin(TType.DOUBLE, len(self.values)) + for iter89 in self.values: + oprot.writeDouble(iter89) + oprot.writeListEnd() + oprot.writeFieldEnd() + if self.nulls is not None: + oprot.writeFieldBegin('nulls', TType.STRING, 2) + oprot.writeBinary(self.nulls) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.values is None: + raise TProtocolException(message='Required field values is unset!') + if self.nulls is None: + raise TProtocolException(message='Required field nulls is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TStringColumn(object): - """ + """ Attributes: - values - nulls @@ -2632,79 +2632,79 @@ class TStringColumn(object): """ - def __init__(self, values=None, nulls=None,): - self.values = values - self.nulls = nulls - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.LIST: - self.values = [] - (_etype93, _size90) = iprot.readListBegin() - for _i94 in range(_size90): - _elem95 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - self.values.append(_elem95) - iprot.readListEnd() - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRING: - self.nulls = iprot.readBinary() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TStringColumn') - if self.values is not None: - oprot.writeFieldBegin('values', TType.LIST, 1) - oprot.writeListBegin(TType.STRING, len(self.values)) - for iter96 in self.values: - oprot.writeString(iter96.encode('utf-8') if sys.version_info[0] == 2 else iter96) - oprot.writeListEnd() - oprot.writeFieldEnd() - if self.nulls is not None: - oprot.writeFieldBegin('nulls', TType.STRING, 2) - oprot.writeBinary(self.nulls) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.values is None: - raise TProtocolException(message='Required field values is unset!') - if self.nulls is None: - raise TProtocolException(message='Required field nulls is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, values=None, nulls=None,): + self.values = values + self.nulls = nulls + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.LIST: + self.values = [] + (_etype93, _size90) = iprot.readListBegin() + for _i94 in range(_size90): + _elem95 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.values.append(_elem95) + iprot.readListEnd() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRING: + self.nulls = iprot.readBinary() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TStringColumn') + if self.values is not None: + oprot.writeFieldBegin('values', TType.LIST, 1) + oprot.writeListBegin(TType.STRING, len(self.values)) + for iter96 in self.values: + oprot.writeString(iter96.encode('utf-8') if sys.version_info[0] == 2 else iter96) + oprot.writeListEnd() + oprot.writeFieldEnd() + if self.nulls is not None: + oprot.writeFieldBegin('nulls', TType.STRING, 2) + oprot.writeBinary(self.nulls) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.values is None: + raise TProtocolException(message='Required field values is unset!') + if self.nulls is None: + raise TProtocolException(message='Required field nulls is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TBinaryColumn(object): - """ + """ Attributes: - values - nulls @@ -2712,79 +2712,79 @@ class TBinaryColumn(object): """ - def __init__(self, values=None, nulls=None,): - self.values = values - self.nulls = nulls - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.LIST: - self.values = [] - (_etype100, _size97) = iprot.readListBegin() - for _i101 in range(_size97): - _elem102 = iprot.readBinary() - self.values.append(_elem102) - iprot.readListEnd() - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRING: - self.nulls = iprot.readBinary() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TBinaryColumn') - if self.values is not None: - oprot.writeFieldBegin('values', TType.LIST, 1) - oprot.writeListBegin(TType.STRING, len(self.values)) - for iter103 in self.values: - oprot.writeBinary(iter103) - oprot.writeListEnd() - oprot.writeFieldEnd() - if self.nulls is not None: - oprot.writeFieldBegin('nulls', TType.STRING, 2) - oprot.writeBinary(self.nulls) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.values is None: - raise TProtocolException(message='Required field values is unset!') - if self.nulls is None: - raise TProtocolException(message='Required field nulls is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, values=None, nulls=None,): + self.values = values + self.nulls = nulls + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.LIST: + self.values = [] + (_etype100, _size97) = iprot.readListBegin() + for _i101 in range(_size97): + _elem102 = iprot.readBinary() + self.values.append(_elem102) + iprot.readListEnd() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRING: + self.nulls = iprot.readBinary() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TBinaryColumn') + if self.values is not None: + oprot.writeFieldBegin('values', TType.LIST, 1) + oprot.writeListBegin(TType.STRING, len(self.values)) + for iter103 in self.values: + oprot.writeBinary(iter103) + oprot.writeListEnd() + oprot.writeFieldEnd() + if self.nulls is not None: + oprot.writeFieldBegin('nulls', TType.STRING, 2) + oprot.writeBinary(self.nulls) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.values is None: + raise TProtocolException(message='Required field values is unset!') + if self.nulls is None: + raise TProtocolException(message='Required field nulls is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TColumn(object): - """ + """ Attributes: - boolVal - byteVal @@ -2798,249 +2798,249 @@ class TColumn(object): """ - def __init__(self, boolVal=None, byteVal=None, i16Val=None, i32Val=None, i64Val=None, doubleVal=None, stringVal=None, binaryVal=None,): - self.boolVal = boolVal - self.byteVal = byteVal - self.i16Val = i16Val - self.i32Val = i32Val - self.i64Val = i64Val - self.doubleVal = doubleVal - self.stringVal = stringVal - self.binaryVal = binaryVal - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.boolVal = TBoolColumn() - self.boolVal.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRUCT: - self.byteVal = TByteColumn() - self.byteVal.read(iprot) - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.STRUCT: - self.i16Val = TI16Column() - self.i16Val.read(iprot) - else: - iprot.skip(ftype) - elif fid == 4: - if ftype == TType.STRUCT: - self.i32Val = TI32Column() - self.i32Val.read(iprot) - else: - iprot.skip(ftype) - elif fid == 5: - if ftype == TType.STRUCT: - self.i64Val = TI64Column() - self.i64Val.read(iprot) - else: - iprot.skip(ftype) - elif fid == 6: - if ftype == TType.STRUCT: - self.doubleVal = TDoubleColumn() - self.doubleVal.read(iprot) - else: - iprot.skip(ftype) - elif fid == 7: - if ftype == TType.STRUCT: - self.stringVal = TStringColumn() - self.stringVal.read(iprot) - else: - iprot.skip(ftype) - elif fid == 8: - if ftype == TType.STRUCT: - self.binaryVal = TBinaryColumn() - self.binaryVal.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TColumn') - if self.boolVal is not None: - oprot.writeFieldBegin('boolVal', TType.STRUCT, 1) - self.boolVal.write(oprot) - oprot.writeFieldEnd() - if self.byteVal is not None: - oprot.writeFieldBegin('byteVal', TType.STRUCT, 2) - self.byteVal.write(oprot) - oprot.writeFieldEnd() - if self.i16Val is not None: - oprot.writeFieldBegin('i16Val', TType.STRUCT, 3) - self.i16Val.write(oprot) - oprot.writeFieldEnd() - if self.i32Val is not None: - oprot.writeFieldBegin('i32Val', TType.STRUCT, 4) - self.i32Val.write(oprot) - oprot.writeFieldEnd() - if self.i64Val is not None: - oprot.writeFieldBegin('i64Val', TType.STRUCT, 5) - self.i64Val.write(oprot) - oprot.writeFieldEnd() - if self.doubleVal is not None: - oprot.writeFieldBegin('doubleVal', TType.STRUCT, 6) - self.doubleVal.write(oprot) - oprot.writeFieldEnd() - if self.stringVal is not None: - oprot.writeFieldBegin('stringVal', TType.STRUCT, 7) - self.stringVal.write(oprot) - oprot.writeFieldEnd() - if self.binaryVal is not None: - oprot.writeFieldBegin('binaryVal', TType.STRUCT, 8) - self.binaryVal.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, boolVal=None, byteVal=None, i16Val=None, i32Val=None, i64Val=None, doubleVal=None, stringVal=None, binaryVal=None,): + self.boolVal = boolVal + self.byteVal = byteVal + self.i16Val = i16Val + self.i32Val = i32Val + self.i64Val = i64Val + self.doubleVal = doubleVal + self.stringVal = stringVal + self.binaryVal = binaryVal + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.boolVal = TBoolColumn() + self.boolVal.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRUCT: + self.byteVal = TByteColumn() + self.byteVal.read(iprot) + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.STRUCT: + self.i16Val = TI16Column() + self.i16Val.read(iprot) + else: + iprot.skip(ftype) + elif fid == 4: + if ftype == TType.STRUCT: + self.i32Val = TI32Column() + self.i32Val.read(iprot) + else: + iprot.skip(ftype) + elif fid == 5: + if ftype == TType.STRUCT: + self.i64Val = TI64Column() + self.i64Val.read(iprot) + else: + iprot.skip(ftype) + elif fid == 6: + if ftype == TType.STRUCT: + self.doubleVal = TDoubleColumn() + self.doubleVal.read(iprot) + else: + iprot.skip(ftype) + elif fid == 7: + if ftype == TType.STRUCT: + self.stringVal = TStringColumn() + self.stringVal.read(iprot) + else: + iprot.skip(ftype) + elif fid == 8: + if ftype == TType.STRUCT: + self.binaryVal = TBinaryColumn() + self.binaryVal.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TColumn') + if self.boolVal is not None: + oprot.writeFieldBegin('boolVal', TType.STRUCT, 1) + self.boolVal.write(oprot) + oprot.writeFieldEnd() + if self.byteVal is not None: + oprot.writeFieldBegin('byteVal', TType.STRUCT, 2) + self.byteVal.write(oprot) + oprot.writeFieldEnd() + if self.i16Val is not None: + oprot.writeFieldBegin('i16Val', TType.STRUCT, 3) + self.i16Val.write(oprot) + oprot.writeFieldEnd() + if self.i32Val is not None: + oprot.writeFieldBegin('i32Val', TType.STRUCT, 4) + self.i32Val.write(oprot) + oprot.writeFieldEnd() + if self.i64Val is not None: + oprot.writeFieldBegin('i64Val', TType.STRUCT, 5) + self.i64Val.write(oprot) + oprot.writeFieldEnd() + if self.doubleVal is not None: + oprot.writeFieldBegin('doubleVal', TType.STRUCT, 6) + self.doubleVal.write(oprot) + oprot.writeFieldEnd() + if self.stringVal is not None: + oprot.writeFieldBegin('stringVal', TType.STRUCT, 7) + self.stringVal.write(oprot) + oprot.writeFieldEnd() + if self.binaryVal is not None: + oprot.writeFieldBegin('binaryVal', TType.STRUCT, 8) + self.binaryVal.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TDBSqlJsonArrayFormat(object): - """ + """ Attributes: - compressionCodec """ - def __init__(self, compressionCodec=None,): - self.compressionCodec = compressionCodec - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.I32: - self.compressionCodec = iprot.readI32() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TDBSqlJsonArrayFormat') - if self.compressionCodec is not None: - oprot.writeFieldBegin('compressionCodec', TType.I32, 1) - oprot.writeI32(self.compressionCodec) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, compressionCodec=None,): + self.compressionCodec = compressionCodec + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.I32: + self.compressionCodec = iprot.readI32() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TDBSqlJsonArrayFormat') + if self.compressionCodec is not None: + oprot.writeFieldBegin('compressionCodec', TType.I32, 1) + oprot.writeI32(self.compressionCodec) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TDBSqlCsvFormat(object): - """ + """ Attributes: - compressionCodec """ - def __init__(self, compressionCodec=None,): - self.compressionCodec = compressionCodec - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.I32: - self.compressionCodec = iprot.readI32() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TDBSqlCsvFormat') - if self.compressionCodec is not None: - oprot.writeFieldBegin('compressionCodec', TType.I32, 1) - oprot.writeI32(self.compressionCodec) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, compressionCodec=None,): + self.compressionCodec = compressionCodec + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.I32: + self.compressionCodec = iprot.readI32() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TDBSqlCsvFormat') + if self.compressionCodec is not None: + oprot.writeFieldBegin('compressionCodec', TType.I32, 1) + oprot.writeI32(self.compressionCodec) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TDBSqlArrowFormat(object): - """ + """ Attributes: - arrowLayout - compressionCodec @@ -3048,67 +3048,67 @@ class TDBSqlArrowFormat(object): """ - def __init__(self, arrowLayout=None, compressionCodec=None,): - self.arrowLayout = arrowLayout - self.compressionCodec = compressionCodec - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.I32: - self.arrowLayout = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.I32: - self.compressionCodec = iprot.readI32() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TDBSqlArrowFormat') - if self.arrowLayout is not None: - oprot.writeFieldBegin('arrowLayout', TType.I32, 1) - oprot.writeI32(self.arrowLayout) - oprot.writeFieldEnd() - if self.compressionCodec is not None: - oprot.writeFieldBegin('compressionCodec', TType.I32, 2) - oprot.writeI32(self.compressionCodec) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, arrowLayout=None, compressionCodec=None,): + self.arrowLayout = arrowLayout + self.compressionCodec = compressionCodec + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.I32: + self.arrowLayout = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.I32: + self.compressionCodec = iprot.readI32() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TDBSqlArrowFormat') + if self.arrowLayout is not None: + oprot.writeFieldBegin('arrowLayout', TType.I32, 1) + oprot.writeI32(self.arrowLayout) + oprot.writeFieldEnd() + if self.compressionCodec is not None: + oprot.writeFieldBegin('compressionCodec', TType.I32, 2) + oprot.writeI32(self.compressionCodec) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TDBSqlResultFormat(object): - """ + """ Attributes: - arrowFormat - csvFormat @@ -3117,80 +3117,80 @@ class TDBSqlResultFormat(object): """ - def __init__(self, arrowFormat=None, csvFormat=None, jsonArrayFormat=None,): - self.arrowFormat = arrowFormat - self.csvFormat = csvFormat - self.jsonArrayFormat = jsonArrayFormat - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.arrowFormat = TDBSqlArrowFormat() - self.arrowFormat.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRUCT: - self.csvFormat = TDBSqlCsvFormat() - self.csvFormat.read(iprot) - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.STRUCT: - self.jsonArrayFormat = TDBSqlJsonArrayFormat() - self.jsonArrayFormat.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TDBSqlResultFormat') - if self.arrowFormat is not None: - oprot.writeFieldBegin('arrowFormat', TType.STRUCT, 1) - self.arrowFormat.write(oprot) - oprot.writeFieldEnd() - if self.csvFormat is not None: - oprot.writeFieldBegin('csvFormat', TType.STRUCT, 2) - self.csvFormat.write(oprot) - oprot.writeFieldEnd() - if self.jsonArrayFormat is not None: - oprot.writeFieldBegin('jsonArrayFormat', TType.STRUCT, 3) - self.jsonArrayFormat.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, arrowFormat=None, csvFormat=None, jsonArrayFormat=None,): + self.arrowFormat = arrowFormat + self.csvFormat = csvFormat + self.jsonArrayFormat = jsonArrayFormat + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.arrowFormat = TDBSqlArrowFormat() + self.arrowFormat.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRUCT: + self.csvFormat = TDBSqlCsvFormat() + self.csvFormat.read(iprot) + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.STRUCT: + self.jsonArrayFormat = TDBSqlJsonArrayFormat() + self.jsonArrayFormat.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TDBSqlResultFormat') + if self.arrowFormat is not None: + oprot.writeFieldBegin('arrowFormat', TType.STRUCT, 1) + self.arrowFormat.write(oprot) + oprot.writeFieldEnd() + if self.csvFormat is not None: + oprot.writeFieldBegin('csvFormat', TType.STRUCT, 2) + self.csvFormat.write(oprot) + oprot.writeFieldEnd() + if self.jsonArrayFormat is not None: + oprot.writeFieldBegin('jsonArrayFormat', TType.STRUCT, 3) + self.jsonArrayFormat.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TSparkArrowBatch(object): - """ + """ Attributes: - batch - rowCount @@ -3198,71 +3198,71 @@ class TSparkArrowBatch(object): """ - def __init__(self, batch=None, rowCount=None,): - self.batch = batch - self.rowCount = rowCount - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRING: - self.batch = iprot.readBinary() - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.I64: - self.rowCount = iprot.readI64() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TSparkArrowBatch') - if self.batch is not None: - oprot.writeFieldBegin('batch', TType.STRING, 1) - oprot.writeBinary(self.batch) - oprot.writeFieldEnd() - if self.rowCount is not None: - oprot.writeFieldBegin('rowCount', TType.I64, 2) - oprot.writeI64(self.rowCount) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.batch is None: - raise TProtocolException(message='Required field batch is unset!') - if self.rowCount is None: - raise TProtocolException(message='Required field rowCount is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, batch=None, rowCount=None,): + self.batch = batch + self.rowCount = rowCount + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRING: + self.batch = iprot.readBinary() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.I64: + self.rowCount = iprot.readI64() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TSparkArrowBatch') + if self.batch is not None: + oprot.writeFieldBegin('batch', TType.STRING, 1) + oprot.writeBinary(self.batch) + oprot.writeFieldEnd() + if self.rowCount is not None: + oprot.writeFieldBegin('rowCount', TType.I64, 2) + oprot.writeI64(self.rowCount) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.batch is None: + raise TProtocolException(message='Required field batch is unset!') + if self.rowCount is None: + raise TProtocolException(message='Required field rowCount is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TSparkArrowResultLink(object): - """ + """ Attributes: - fileLink - expiryTime @@ -3274,127 +3274,127 @@ class TSparkArrowResultLink(object): """ - def __init__(self, fileLink=None, expiryTime=None, startRowOffset=None, rowCount=None, bytesNum=None, httpHeaders=None,): - self.fileLink = fileLink - self.expiryTime = expiryTime - self.startRowOffset = startRowOffset - self.rowCount = rowCount - self.bytesNum = bytesNum - self.httpHeaders = httpHeaders - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRING: - self.fileLink = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.I64: - self.expiryTime = iprot.readI64() - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.I64: - self.startRowOffset = iprot.readI64() - else: - iprot.skip(ftype) - elif fid == 4: - if ftype == TType.I64: - self.rowCount = iprot.readI64() - else: - iprot.skip(ftype) - elif fid == 5: - if ftype == TType.I64: - self.bytesNum = iprot.readI64() - else: - iprot.skip(ftype) - elif fid == 6: - if ftype == TType.MAP: - self.httpHeaders = {} - (_ktype105, _vtype106, _size104) = iprot.readMapBegin() - for _i108 in range(_size104): - _key109 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - _val110 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - self.httpHeaders[_key109] = _val110 - iprot.readMapEnd() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TSparkArrowResultLink') - if self.fileLink is not None: - oprot.writeFieldBegin('fileLink', TType.STRING, 1) - oprot.writeString(self.fileLink.encode('utf-8') if sys.version_info[0] == 2 else self.fileLink) - oprot.writeFieldEnd() - if self.expiryTime is not None: - oprot.writeFieldBegin('expiryTime', TType.I64, 2) - oprot.writeI64(self.expiryTime) - oprot.writeFieldEnd() - if self.startRowOffset is not None: - oprot.writeFieldBegin('startRowOffset', TType.I64, 3) - oprot.writeI64(self.startRowOffset) - oprot.writeFieldEnd() - if self.rowCount is not None: - oprot.writeFieldBegin('rowCount', TType.I64, 4) - oprot.writeI64(self.rowCount) - oprot.writeFieldEnd() - if self.bytesNum is not None: - oprot.writeFieldBegin('bytesNum', TType.I64, 5) - oprot.writeI64(self.bytesNum) - oprot.writeFieldEnd() - if self.httpHeaders is not None: - oprot.writeFieldBegin('httpHeaders', TType.MAP, 6) - oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.httpHeaders)) - for kiter111, viter112 in self.httpHeaders.items(): - oprot.writeString(kiter111.encode('utf-8') if sys.version_info[0] == 2 else kiter111) - oprot.writeString(viter112.encode('utf-8') if sys.version_info[0] == 2 else viter112) - oprot.writeMapEnd() - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.fileLink is None: - raise TProtocolException(message='Required field fileLink is unset!') - if self.expiryTime is None: - raise TProtocolException(message='Required field expiryTime is unset!') - if self.startRowOffset is None: - raise TProtocolException(message='Required field startRowOffset is unset!') - if self.rowCount is None: - raise TProtocolException(message='Required field rowCount is unset!') - if self.bytesNum is None: - raise TProtocolException(message='Required field bytesNum is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, fileLink=None, expiryTime=None, startRowOffset=None, rowCount=None, bytesNum=None, httpHeaders=None,): + self.fileLink = fileLink + self.expiryTime = expiryTime + self.startRowOffset = startRowOffset + self.rowCount = rowCount + self.bytesNum = bytesNum + self.httpHeaders = httpHeaders + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRING: + self.fileLink = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.I64: + self.expiryTime = iprot.readI64() + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.I64: + self.startRowOffset = iprot.readI64() + else: + iprot.skip(ftype) + elif fid == 4: + if ftype == TType.I64: + self.rowCount = iprot.readI64() + else: + iprot.skip(ftype) + elif fid == 5: + if ftype == TType.I64: + self.bytesNum = iprot.readI64() + else: + iprot.skip(ftype) + elif fid == 6: + if ftype == TType.MAP: + self.httpHeaders = {} + (_ktype105, _vtype106, _size104) = iprot.readMapBegin() + for _i108 in range(_size104): + _key109 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + _val110 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.httpHeaders[_key109] = _val110 + iprot.readMapEnd() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TSparkArrowResultLink') + if self.fileLink is not None: + oprot.writeFieldBegin('fileLink', TType.STRING, 1) + oprot.writeString(self.fileLink.encode('utf-8') if sys.version_info[0] == 2 else self.fileLink) + oprot.writeFieldEnd() + if self.expiryTime is not None: + oprot.writeFieldBegin('expiryTime', TType.I64, 2) + oprot.writeI64(self.expiryTime) + oprot.writeFieldEnd() + if self.startRowOffset is not None: + oprot.writeFieldBegin('startRowOffset', TType.I64, 3) + oprot.writeI64(self.startRowOffset) + oprot.writeFieldEnd() + if self.rowCount is not None: + oprot.writeFieldBegin('rowCount', TType.I64, 4) + oprot.writeI64(self.rowCount) + oprot.writeFieldEnd() + if self.bytesNum is not None: + oprot.writeFieldBegin('bytesNum', TType.I64, 5) + oprot.writeI64(self.bytesNum) + oprot.writeFieldEnd() + if self.httpHeaders is not None: + oprot.writeFieldBegin('httpHeaders', TType.MAP, 6) + oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.httpHeaders)) + for kiter111, viter112 in self.httpHeaders.items(): + oprot.writeString(kiter111.encode('utf-8') if sys.version_info[0] == 2 else kiter111) + oprot.writeString(viter112.encode('utf-8') if sys.version_info[0] == 2 else viter112) + oprot.writeMapEnd() + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.fileLink is None: + raise TProtocolException(message='Required field fileLink is unset!') + if self.expiryTime is None: + raise TProtocolException(message='Required field expiryTime is unset!') + if self.startRowOffset is None: + raise TProtocolException(message='Required field startRowOffset is unset!') + if self.rowCount is None: + raise TProtocolException(message='Required field rowCount is unset!') + if self.bytesNum is None: + raise TProtocolException(message='Required field bytesNum is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TDBSqlCloudResultFile(object): - """ + """ Attributes: - filePath - startRowOffset @@ -3408,137 +3408,137 @@ class TDBSqlCloudResultFile(object): """ - def __init__(self, filePath=None, startRowOffset=None, rowCount=None, uncompressedBytes=None, compressedBytes=None, fileLink=None, linkExpiryTime=None, httpHeaders=None,): - self.filePath = filePath - self.startRowOffset = startRowOffset - self.rowCount = rowCount - self.uncompressedBytes = uncompressedBytes - self.compressedBytes = compressedBytes - self.fileLink = fileLink - self.linkExpiryTime = linkExpiryTime - self.httpHeaders = httpHeaders - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRING: - self.filePath = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.I64: - self.startRowOffset = iprot.readI64() - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.I64: - self.rowCount = iprot.readI64() - else: - iprot.skip(ftype) - elif fid == 4: - if ftype == TType.I64: - self.uncompressedBytes = iprot.readI64() - else: - iprot.skip(ftype) - elif fid == 5: - if ftype == TType.I64: - self.compressedBytes = iprot.readI64() - else: - iprot.skip(ftype) - elif fid == 6: - if ftype == TType.STRING: - self.fileLink = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 7: - if ftype == TType.I64: - self.linkExpiryTime = iprot.readI64() - else: - iprot.skip(ftype) - elif fid == 8: - if ftype == TType.MAP: - self.httpHeaders = {} - (_ktype114, _vtype115, _size113) = iprot.readMapBegin() - for _i117 in range(_size113): - _key118 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - _val119 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - self.httpHeaders[_key118] = _val119 - iprot.readMapEnd() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TDBSqlCloudResultFile') - if self.filePath is not None: - oprot.writeFieldBegin('filePath', TType.STRING, 1) - oprot.writeString(self.filePath.encode('utf-8') if sys.version_info[0] == 2 else self.filePath) - oprot.writeFieldEnd() - if self.startRowOffset is not None: - oprot.writeFieldBegin('startRowOffset', TType.I64, 2) - oprot.writeI64(self.startRowOffset) - oprot.writeFieldEnd() - if self.rowCount is not None: - oprot.writeFieldBegin('rowCount', TType.I64, 3) - oprot.writeI64(self.rowCount) - oprot.writeFieldEnd() - if self.uncompressedBytes is not None: - oprot.writeFieldBegin('uncompressedBytes', TType.I64, 4) - oprot.writeI64(self.uncompressedBytes) - oprot.writeFieldEnd() - if self.compressedBytes is not None: - oprot.writeFieldBegin('compressedBytes', TType.I64, 5) - oprot.writeI64(self.compressedBytes) - oprot.writeFieldEnd() - if self.fileLink is not None: - oprot.writeFieldBegin('fileLink', TType.STRING, 6) - oprot.writeString(self.fileLink.encode('utf-8') if sys.version_info[0] == 2 else self.fileLink) - oprot.writeFieldEnd() - if self.linkExpiryTime is not None: - oprot.writeFieldBegin('linkExpiryTime', TType.I64, 7) - oprot.writeI64(self.linkExpiryTime) - oprot.writeFieldEnd() - if self.httpHeaders is not None: - oprot.writeFieldBegin('httpHeaders', TType.MAP, 8) - oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.httpHeaders)) - for kiter120, viter121 in self.httpHeaders.items(): - oprot.writeString(kiter120.encode('utf-8') if sys.version_info[0] == 2 else kiter120) - oprot.writeString(viter121.encode('utf-8') if sys.version_info[0] == 2 else viter121) - oprot.writeMapEnd() - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, filePath=None, startRowOffset=None, rowCount=None, uncompressedBytes=None, compressedBytes=None, fileLink=None, linkExpiryTime=None, httpHeaders=None,): + self.filePath = filePath + self.startRowOffset = startRowOffset + self.rowCount = rowCount + self.uncompressedBytes = uncompressedBytes + self.compressedBytes = compressedBytes + self.fileLink = fileLink + self.linkExpiryTime = linkExpiryTime + self.httpHeaders = httpHeaders + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRING: + self.filePath = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.I64: + self.startRowOffset = iprot.readI64() + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.I64: + self.rowCount = iprot.readI64() + else: + iprot.skip(ftype) + elif fid == 4: + if ftype == TType.I64: + self.uncompressedBytes = iprot.readI64() + else: + iprot.skip(ftype) + elif fid == 5: + if ftype == TType.I64: + self.compressedBytes = iprot.readI64() + else: + iprot.skip(ftype) + elif fid == 6: + if ftype == TType.STRING: + self.fileLink = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 7: + if ftype == TType.I64: + self.linkExpiryTime = iprot.readI64() + else: + iprot.skip(ftype) + elif fid == 8: + if ftype == TType.MAP: + self.httpHeaders = {} + (_ktype114, _vtype115, _size113) = iprot.readMapBegin() + for _i117 in range(_size113): + _key118 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + _val119 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.httpHeaders[_key118] = _val119 + iprot.readMapEnd() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TDBSqlCloudResultFile') + if self.filePath is not None: + oprot.writeFieldBegin('filePath', TType.STRING, 1) + oprot.writeString(self.filePath.encode('utf-8') if sys.version_info[0] == 2 else self.filePath) + oprot.writeFieldEnd() + if self.startRowOffset is not None: + oprot.writeFieldBegin('startRowOffset', TType.I64, 2) + oprot.writeI64(self.startRowOffset) + oprot.writeFieldEnd() + if self.rowCount is not None: + oprot.writeFieldBegin('rowCount', TType.I64, 3) + oprot.writeI64(self.rowCount) + oprot.writeFieldEnd() + if self.uncompressedBytes is not None: + oprot.writeFieldBegin('uncompressedBytes', TType.I64, 4) + oprot.writeI64(self.uncompressedBytes) + oprot.writeFieldEnd() + if self.compressedBytes is not None: + oprot.writeFieldBegin('compressedBytes', TType.I64, 5) + oprot.writeI64(self.compressedBytes) + oprot.writeFieldEnd() + if self.fileLink is not None: + oprot.writeFieldBegin('fileLink', TType.STRING, 6) + oprot.writeString(self.fileLink.encode('utf-8') if sys.version_info[0] == 2 else self.fileLink) + oprot.writeFieldEnd() + if self.linkExpiryTime is not None: + oprot.writeFieldBegin('linkExpiryTime', TType.I64, 7) + oprot.writeI64(self.linkExpiryTime) + oprot.writeFieldEnd() + if self.httpHeaders is not None: + oprot.writeFieldBegin('httpHeaders', TType.MAP, 8) + oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.httpHeaders)) + for kiter120, viter121 in self.httpHeaders.items(): + oprot.writeString(kiter120.encode('utf-8') if sys.version_info[0] == 2 else kiter120) + oprot.writeString(viter121.encode('utf-8') if sys.version_info[0] == 2 else viter121) + oprot.writeMapEnd() + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TRowSet(object): - """ + """ Attributes: - startRowOffset - rows @@ -3552,176 +3552,176 @@ class TRowSet(object): """ - def __init__(self, startRowOffset=None, rows=None, columns=None, binaryColumns=None, columnCount=None, arrowBatches=None, resultLinks=None, cloudFetchResults=None,): - self.startRowOffset = startRowOffset - self.rows = rows - self.columns = columns - self.binaryColumns = binaryColumns - self.columnCount = columnCount - self.arrowBatches = arrowBatches - self.resultLinks = resultLinks - self.cloudFetchResults = cloudFetchResults - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.I64: - self.startRowOffset = iprot.readI64() - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.LIST: - self.rows = [] - (_etype125, _size122) = iprot.readListBegin() - for _i126 in range(_size122): - _elem127 = TRow() - _elem127.read(iprot) - self.rows.append(_elem127) - iprot.readListEnd() - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.LIST: - self.columns = [] - (_etype131, _size128) = iprot.readListBegin() - for _i132 in range(_size128): - _elem133 = TColumn() - _elem133.read(iprot) - self.columns.append(_elem133) - iprot.readListEnd() - else: - iprot.skip(ftype) - elif fid == 4: - if ftype == TType.STRING: - self.binaryColumns = iprot.readBinary() - else: - iprot.skip(ftype) - elif fid == 5: - if ftype == TType.I32: - self.columnCount = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 1281: - if ftype == TType.LIST: - self.arrowBatches = [] - (_etype137, _size134) = iprot.readListBegin() - for _i138 in range(_size134): - _elem139 = TSparkArrowBatch() - _elem139.read(iprot) - self.arrowBatches.append(_elem139) - iprot.readListEnd() - else: - iprot.skip(ftype) - elif fid == 1282: - if ftype == TType.LIST: - self.resultLinks = [] - (_etype143, _size140) = iprot.readListBegin() - for _i144 in range(_size140): - _elem145 = TSparkArrowResultLink() - _elem145.read(iprot) - self.resultLinks.append(_elem145) - iprot.readListEnd() - else: - iprot.skip(ftype) - elif fid == 3329: - if ftype == TType.LIST: - self.cloudFetchResults = [] - (_etype149, _size146) = iprot.readListBegin() - for _i150 in range(_size146): - _elem151 = TDBSqlCloudResultFile() - _elem151.read(iprot) - self.cloudFetchResults.append(_elem151) - iprot.readListEnd() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TRowSet') - if self.startRowOffset is not None: - oprot.writeFieldBegin('startRowOffset', TType.I64, 1) - oprot.writeI64(self.startRowOffset) - oprot.writeFieldEnd() - if self.rows is not None: - oprot.writeFieldBegin('rows', TType.LIST, 2) - oprot.writeListBegin(TType.STRUCT, len(self.rows)) - for iter152 in self.rows: - iter152.write(oprot) - oprot.writeListEnd() - oprot.writeFieldEnd() - if self.columns is not None: - oprot.writeFieldBegin('columns', TType.LIST, 3) - oprot.writeListBegin(TType.STRUCT, len(self.columns)) - for iter153 in self.columns: - iter153.write(oprot) - oprot.writeListEnd() - oprot.writeFieldEnd() - if self.binaryColumns is not None: - oprot.writeFieldBegin('binaryColumns', TType.STRING, 4) - oprot.writeBinary(self.binaryColumns) - oprot.writeFieldEnd() - if self.columnCount is not None: - oprot.writeFieldBegin('columnCount', TType.I32, 5) - oprot.writeI32(self.columnCount) - oprot.writeFieldEnd() - if self.arrowBatches is not None: - oprot.writeFieldBegin('arrowBatches', TType.LIST, 1281) - oprot.writeListBegin(TType.STRUCT, len(self.arrowBatches)) - for iter154 in self.arrowBatches: - iter154.write(oprot) - oprot.writeListEnd() - oprot.writeFieldEnd() - if self.resultLinks is not None: - oprot.writeFieldBegin('resultLinks', TType.LIST, 1282) - oprot.writeListBegin(TType.STRUCT, len(self.resultLinks)) - for iter155 in self.resultLinks: - iter155.write(oprot) - oprot.writeListEnd() - oprot.writeFieldEnd() - if self.cloudFetchResults is not None: - oprot.writeFieldBegin('cloudFetchResults', TType.LIST, 3329) - oprot.writeListBegin(TType.STRUCT, len(self.cloudFetchResults)) - for iter156 in self.cloudFetchResults: - iter156.write(oprot) - oprot.writeListEnd() - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.startRowOffset is None: - raise TProtocolException(message='Required field startRowOffset is unset!') - if self.rows is None: - raise TProtocolException(message='Required field rows is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, startRowOffset=None, rows=None, columns=None, binaryColumns=None, columnCount=None, arrowBatches=None, resultLinks=None, cloudFetchResults=None,): + self.startRowOffset = startRowOffset + self.rows = rows + self.columns = columns + self.binaryColumns = binaryColumns + self.columnCount = columnCount + self.arrowBatches = arrowBatches + self.resultLinks = resultLinks + self.cloudFetchResults = cloudFetchResults + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.I64: + self.startRowOffset = iprot.readI64() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.LIST: + self.rows = [] + (_etype125, _size122) = iprot.readListBegin() + for _i126 in range(_size122): + _elem127 = TRow() + _elem127.read(iprot) + self.rows.append(_elem127) + iprot.readListEnd() + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.LIST: + self.columns = [] + (_etype131, _size128) = iprot.readListBegin() + for _i132 in range(_size128): + _elem133 = TColumn() + _elem133.read(iprot) + self.columns.append(_elem133) + iprot.readListEnd() + else: + iprot.skip(ftype) + elif fid == 4: + if ftype == TType.STRING: + self.binaryColumns = iprot.readBinary() + else: + iprot.skip(ftype) + elif fid == 5: + if ftype == TType.I32: + self.columnCount = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 1281: + if ftype == TType.LIST: + self.arrowBatches = [] + (_etype137, _size134) = iprot.readListBegin() + for _i138 in range(_size134): + _elem139 = TSparkArrowBatch() + _elem139.read(iprot) + self.arrowBatches.append(_elem139) + iprot.readListEnd() + else: + iprot.skip(ftype) + elif fid == 1282: + if ftype == TType.LIST: + self.resultLinks = [] + (_etype143, _size140) = iprot.readListBegin() + for _i144 in range(_size140): + _elem145 = TSparkArrowResultLink() + _elem145.read(iprot) + self.resultLinks.append(_elem145) + iprot.readListEnd() + else: + iprot.skip(ftype) + elif fid == 3329: + if ftype == TType.LIST: + self.cloudFetchResults = [] + (_etype149, _size146) = iprot.readListBegin() + for _i150 in range(_size146): + _elem151 = TDBSqlCloudResultFile() + _elem151.read(iprot) + self.cloudFetchResults.append(_elem151) + iprot.readListEnd() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TRowSet') + if self.startRowOffset is not None: + oprot.writeFieldBegin('startRowOffset', TType.I64, 1) + oprot.writeI64(self.startRowOffset) + oprot.writeFieldEnd() + if self.rows is not None: + oprot.writeFieldBegin('rows', TType.LIST, 2) + oprot.writeListBegin(TType.STRUCT, len(self.rows)) + for iter152 in self.rows: + iter152.write(oprot) + oprot.writeListEnd() + oprot.writeFieldEnd() + if self.columns is not None: + oprot.writeFieldBegin('columns', TType.LIST, 3) + oprot.writeListBegin(TType.STRUCT, len(self.columns)) + for iter153 in self.columns: + iter153.write(oprot) + oprot.writeListEnd() + oprot.writeFieldEnd() + if self.binaryColumns is not None: + oprot.writeFieldBegin('binaryColumns', TType.STRING, 4) + oprot.writeBinary(self.binaryColumns) + oprot.writeFieldEnd() + if self.columnCount is not None: + oprot.writeFieldBegin('columnCount', TType.I32, 5) + oprot.writeI32(self.columnCount) + oprot.writeFieldEnd() + if self.arrowBatches is not None: + oprot.writeFieldBegin('arrowBatches', TType.LIST, 1281) + oprot.writeListBegin(TType.STRUCT, len(self.arrowBatches)) + for iter154 in self.arrowBatches: + iter154.write(oprot) + oprot.writeListEnd() + oprot.writeFieldEnd() + if self.resultLinks is not None: + oprot.writeFieldBegin('resultLinks', TType.LIST, 1282) + oprot.writeListBegin(TType.STRUCT, len(self.resultLinks)) + for iter155 in self.resultLinks: + iter155.write(oprot) + oprot.writeListEnd() + oprot.writeFieldEnd() + if self.cloudFetchResults is not None: + oprot.writeFieldBegin('cloudFetchResults', TType.LIST, 3329) + oprot.writeListBegin(TType.STRUCT, len(self.cloudFetchResults)) + for iter156 in self.cloudFetchResults: + iter156.write(oprot) + oprot.writeListEnd() + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.startRowOffset is None: + raise TProtocolException(message='Required field startRowOffset is unset!') + if self.rows is None: + raise TProtocolException(message='Required field rows is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TDBSqlTempView(object): - """ + """ Attributes: - name - sqlStatement @@ -3731,154 +3731,154 @@ class TDBSqlTempView(object): """ - def __init__(self, name=None, sqlStatement=None, properties=None, viewSchema=None,): - self.name = name - self.sqlStatement = sqlStatement - self.properties = properties - self.viewSchema = viewSchema - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRING: - self.name = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRING: - self.sqlStatement = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.MAP: - self.properties = {} - (_ktype158, _vtype159, _size157) = iprot.readMapBegin() - for _i161 in range(_size157): - _key162 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - _val163 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - self.properties[_key162] = _val163 - iprot.readMapEnd() - else: - iprot.skip(ftype) - elif fid == 4: - if ftype == TType.STRING: - self.viewSchema = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TDBSqlTempView') - if self.name is not None: - oprot.writeFieldBegin('name', TType.STRING, 1) - oprot.writeString(self.name.encode('utf-8') if sys.version_info[0] == 2 else self.name) - oprot.writeFieldEnd() - if self.sqlStatement is not None: - oprot.writeFieldBegin('sqlStatement', TType.STRING, 2) - oprot.writeString(self.sqlStatement.encode('utf-8') if sys.version_info[0] == 2 else self.sqlStatement) - oprot.writeFieldEnd() - if self.properties is not None: - oprot.writeFieldBegin('properties', TType.MAP, 3) - oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.properties)) - for kiter164, viter165 in self.properties.items(): - oprot.writeString(kiter164.encode('utf-8') if sys.version_info[0] == 2 else kiter164) - oprot.writeString(viter165.encode('utf-8') if sys.version_info[0] == 2 else viter165) - oprot.writeMapEnd() - oprot.writeFieldEnd() - if self.viewSchema is not None: - oprot.writeFieldBegin('viewSchema', TType.STRING, 4) - oprot.writeString(self.viewSchema.encode('utf-8') if sys.version_info[0] == 2 else self.viewSchema) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, name=None, sqlStatement=None, properties=None, viewSchema=None,): + self.name = name + self.sqlStatement = sqlStatement + self.properties = properties + self.viewSchema = viewSchema + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRING: + self.name = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRING: + self.sqlStatement = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.MAP: + self.properties = {} + (_ktype158, _vtype159, _size157) = iprot.readMapBegin() + for _i161 in range(_size157): + _key162 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + _val163 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.properties[_key162] = _val163 + iprot.readMapEnd() + else: + iprot.skip(ftype) + elif fid == 4: + if ftype == TType.STRING: + self.viewSchema = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TDBSqlTempView') + if self.name is not None: + oprot.writeFieldBegin('name', TType.STRING, 1) + oprot.writeString(self.name.encode('utf-8') if sys.version_info[0] == 2 else self.name) + oprot.writeFieldEnd() + if self.sqlStatement is not None: + oprot.writeFieldBegin('sqlStatement', TType.STRING, 2) + oprot.writeString(self.sqlStatement.encode('utf-8') if sys.version_info[0] == 2 else self.sqlStatement) + oprot.writeFieldEnd() + if self.properties is not None: + oprot.writeFieldBegin('properties', TType.MAP, 3) + oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.properties)) + for kiter164, viter165 in self.properties.items(): + oprot.writeString(kiter164.encode('utf-8') if sys.version_info[0] == 2 else kiter164) + oprot.writeString(viter165.encode('utf-8') if sys.version_info[0] == 2 else viter165) + oprot.writeMapEnd() + oprot.writeFieldEnd() + if self.viewSchema is not None: + oprot.writeFieldBegin('viewSchema', TType.STRING, 4) + oprot.writeString(self.viewSchema.encode('utf-8') if sys.version_info[0] == 2 else self.viewSchema) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TDBSqlSessionCapabilities(object): - """ + """ Attributes: - supportsMultipleCatalogs """ - def __init__(self, supportsMultipleCatalogs=None,): - self.supportsMultipleCatalogs = supportsMultipleCatalogs - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.BOOL: - self.supportsMultipleCatalogs = iprot.readBool() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TDBSqlSessionCapabilities') - if self.supportsMultipleCatalogs is not None: - oprot.writeFieldBegin('supportsMultipleCatalogs', TType.BOOL, 1) - oprot.writeBool(self.supportsMultipleCatalogs) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, supportsMultipleCatalogs=None,): + self.supportsMultipleCatalogs = supportsMultipleCatalogs + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.BOOL: + self.supportsMultipleCatalogs = iprot.readBool() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TDBSqlSessionCapabilities') + if self.supportsMultipleCatalogs is not None: + oprot.writeFieldBegin('supportsMultipleCatalogs', TType.BOOL, 1) + oprot.writeBool(self.supportsMultipleCatalogs) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TExpressionInfo(object): - """ + """ Attributes: - className - usage @@ -3896,224 +3896,224 @@ class TExpressionInfo(object): """ - def __init__(self, className=None, usage=None, name=None, extended=None, db=None, arguments=None, examples=None, note=None, group=None, since=None, deprecated=None, source=None,): - self.className = className - self.usage = usage - self.name = name - self.extended = extended - self.db = db - self.arguments = arguments - self.examples = examples - self.note = note - self.group = group - self.since = since - self.deprecated = deprecated - self.source = source - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRING: - self.className = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRING: - self.usage = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.STRING: - self.name = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 4: - if ftype == TType.STRING: - self.extended = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 5: - if ftype == TType.STRING: - self.db = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 6: - if ftype == TType.STRING: - self.arguments = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 7: - if ftype == TType.STRING: - self.examples = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 8: - if ftype == TType.STRING: - self.note = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 9: - if ftype == TType.STRING: - self.group = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 10: - if ftype == TType.STRING: - self.since = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 11: - if ftype == TType.STRING: - self.deprecated = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 12: - if ftype == TType.STRING: - self.source = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TExpressionInfo') - if self.className is not None: - oprot.writeFieldBegin('className', TType.STRING, 1) - oprot.writeString(self.className.encode('utf-8') if sys.version_info[0] == 2 else self.className) - oprot.writeFieldEnd() - if self.usage is not None: - oprot.writeFieldBegin('usage', TType.STRING, 2) - oprot.writeString(self.usage.encode('utf-8') if sys.version_info[0] == 2 else self.usage) - oprot.writeFieldEnd() - if self.name is not None: - oprot.writeFieldBegin('name', TType.STRING, 3) - oprot.writeString(self.name.encode('utf-8') if sys.version_info[0] == 2 else self.name) - oprot.writeFieldEnd() - if self.extended is not None: - oprot.writeFieldBegin('extended', TType.STRING, 4) - oprot.writeString(self.extended.encode('utf-8') if sys.version_info[0] == 2 else self.extended) - oprot.writeFieldEnd() - if self.db is not None: - oprot.writeFieldBegin('db', TType.STRING, 5) - oprot.writeString(self.db.encode('utf-8') if sys.version_info[0] == 2 else self.db) - oprot.writeFieldEnd() - if self.arguments is not None: - oprot.writeFieldBegin('arguments', TType.STRING, 6) - oprot.writeString(self.arguments.encode('utf-8') if sys.version_info[0] == 2 else self.arguments) - oprot.writeFieldEnd() - if self.examples is not None: - oprot.writeFieldBegin('examples', TType.STRING, 7) - oprot.writeString(self.examples.encode('utf-8') if sys.version_info[0] == 2 else self.examples) - oprot.writeFieldEnd() - if self.note is not None: - oprot.writeFieldBegin('note', TType.STRING, 8) - oprot.writeString(self.note.encode('utf-8') if sys.version_info[0] == 2 else self.note) - oprot.writeFieldEnd() - if self.group is not None: - oprot.writeFieldBegin('group', TType.STRING, 9) - oprot.writeString(self.group.encode('utf-8') if sys.version_info[0] == 2 else self.group) - oprot.writeFieldEnd() - if self.since is not None: - oprot.writeFieldBegin('since', TType.STRING, 10) - oprot.writeString(self.since.encode('utf-8') if sys.version_info[0] == 2 else self.since) - oprot.writeFieldEnd() - if self.deprecated is not None: - oprot.writeFieldBegin('deprecated', TType.STRING, 11) - oprot.writeString(self.deprecated.encode('utf-8') if sys.version_info[0] == 2 else self.deprecated) - oprot.writeFieldEnd() - if self.source is not None: - oprot.writeFieldBegin('source', TType.STRING, 12) - oprot.writeString(self.source.encode('utf-8') if sys.version_info[0] == 2 else self.source) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, className=None, usage=None, name=None, extended=None, db=None, arguments=None, examples=None, note=None, group=None, since=None, deprecated=None, source=None,): + self.className = className + self.usage = usage + self.name = name + self.extended = extended + self.db = db + self.arguments = arguments + self.examples = examples + self.note = note + self.group = group + self.since = since + self.deprecated = deprecated + self.source = source + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRING: + self.className = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRING: + self.usage = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.STRING: + self.name = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 4: + if ftype == TType.STRING: + self.extended = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 5: + if ftype == TType.STRING: + self.db = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 6: + if ftype == TType.STRING: + self.arguments = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 7: + if ftype == TType.STRING: + self.examples = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 8: + if ftype == TType.STRING: + self.note = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 9: + if ftype == TType.STRING: + self.group = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 10: + if ftype == TType.STRING: + self.since = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 11: + if ftype == TType.STRING: + self.deprecated = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 12: + if ftype == TType.STRING: + self.source = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TExpressionInfo') + if self.className is not None: + oprot.writeFieldBegin('className', TType.STRING, 1) + oprot.writeString(self.className.encode('utf-8') if sys.version_info[0] == 2 else self.className) + oprot.writeFieldEnd() + if self.usage is not None: + oprot.writeFieldBegin('usage', TType.STRING, 2) + oprot.writeString(self.usage.encode('utf-8') if sys.version_info[0] == 2 else self.usage) + oprot.writeFieldEnd() + if self.name is not None: + oprot.writeFieldBegin('name', TType.STRING, 3) + oprot.writeString(self.name.encode('utf-8') if sys.version_info[0] == 2 else self.name) + oprot.writeFieldEnd() + if self.extended is not None: + oprot.writeFieldBegin('extended', TType.STRING, 4) + oprot.writeString(self.extended.encode('utf-8') if sys.version_info[0] == 2 else self.extended) + oprot.writeFieldEnd() + if self.db is not None: + oprot.writeFieldBegin('db', TType.STRING, 5) + oprot.writeString(self.db.encode('utf-8') if sys.version_info[0] == 2 else self.db) + oprot.writeFieldEnd() + if self.arguments is not None: + oprot.writeFieldBegin('arguments', TType.STRING, 6) + oprot.writeString(self.arguments.encode('utf-8') if sys.version_info[0] == 2 else self.arguments) + oprot.writeFieldEnd() + if self.examples is not None: + oprot.writeFieldBegin('examples', TType.STRING, 7) + oprot.writeString(self.examples.encode('utf-8') if sys.version_info[0] == 2 else self.examples) + oprot.writeFieldEnd() + if self.note is not None: + oprot.writeFieldBegin('note', TType.STRING, 8) + oprot.writeString(self.note.encode('utf-8') if sys.version_info[0] == 2 else self.note) + oprot.writeFieldEnd() + if self.group is not None: + oprot.writeFieldBegin('group', TType.STRING, 9) + oprot.writeString(self.group.encode('utf-8') if sys.version_info[0] == 2 else self.group) + oprot.writeFieldEnd() + if self.since is not None: + oprot.writeFieldBegin('since', TType.STRING, 10) + oprot.writeString(self.since.encode('utf-8') if sys.version_info[0] == 2 else self.since) + oprot.writeFieldEnd() + if self.deprecated is not None: + oprot.writeFieldBegin('deprecated', TType.STRING, 11) + oprot.writeString(self.deprecated.encode('utf-8') if sys.version_info[0] == 2 else self.deprecated) + oprot.writeFieldEnd() + if self.source is not None: + oprot.writeFieldBegin('source', TType.STRING, 12) + oprot.writeString(self.source.encode('utf-8') if sys.version_info[0] == 2 else self.source) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TDBSqlConfValue(object): - """ + """ Attributes: - value """ - def __init__(self, value=None,): - self.value = value - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRING: - self.value = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TDBSqlConfValue') - if self.value is not None: - oprot.writeFieldBegin('value', TType.STRING, 1) - oprot.writeString(self.value.encode('utf-8') if sys.version_info[0] == 2 else self.value) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, value=None,): + self.value = value + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRING: + self.value = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TDBSqlConfValue') + if self.value is not None: + oprot.writeFieldBegin('value', TType.STRING, 1) + oprot.writeString(self.value.encode('utf-8') if sys.version_info[0] == 2 else self.value) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TDBSqlSessionConf(object): - """ + """ Attributes: - confs - tempViews @@ -4126,157 +4126,157 @@ class TDBSqlSessionConf(object): """ - def __init__(self, confs=None, tempViews=None, currentDatabase=None, currentCatalog=None, sessionCapabilities=None, expressionsInfos=None, internalConfs=None,): - self.confs = confs - self.tempViews = tempViews - self.currentDatabase = currentDatabase - self.currentCatalog = currentCatalog - self.sessionCapabilities = sessionCapabilities - self.expressionsInfos = expressionsInfos - self.internalConfs = internalConfs - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.MAP: - self.confs = {} - (_ktype167, _vtype168, _size166) = iprot.readMapBegin() - for _i170 in range(_size166): - _key171 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - _val172 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - self.confs[_key171] = _val172 - iprot.readMapEnd() - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.LIST: - self.tempViews = [] - (_etype176, _size173) = iprot.readListBegin() - for _i177 in range(_size173): - _elem178 = TDBSqlTempView() - _elem178.read(iprot) - self.tempViews.append(_elem178) - iprot.readListEnd() - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.STRING: - self.currentDatabase = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 4: - if ftype == TType.STRING: - self.currentCatalog = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 5: - if ftype == TType.STRUCT: - self.sessionCapabilities = TDBSqlSessionCapabilities() - self.sessionCapabilities.read(iprot) - else: - iprot.skip(ftype) - elif fid == 6: - if ftype == TType.LIST: - self.expressionsInfos = [] - (_etype182, _size179) = iprot.readListBegin() - for _i183 in range(_size179): - _elem184 = TExpressionInfo() - _elem184.read(iprot) - self.expressionsInfos.append(_elem184) - iprot.readListEnd() - else: - iprot.skip(ftype) - elif fid == 7: - if ftype == TType.MAP: - self.internalConfs = {} - (_ktype186, _vtype187, _size185) = iprot.readMapBegin() - for _i189 in range(_size185): - _key190 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - _val191 = TDBSqlConfValue() - _val191.read(iprot) - self.internalConfs[_key190] = _val191 - iprot.readMapEnd() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TDBSqlSessionConf') - if self.confs is not None: - oprot.writeFieldBegin('confs', TType.MAP, 1) - oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.confs)) - for kiter192, viter193 in self.confs.items(): - oprot.writeString(kiter192.encode('utf-8') if sys.version_info[0] == 2 else kiter192) - oprot.writeString(viter193.encode('utf-8') if sys.version_info[0] == 2 else viter193) - oprot.writeMapEnd() - oprot.writeFieldEnd() - if self.tempViews is not None: - oprot.writeFieldBegin('tempViews', TType.LIST, 2) - oprot.writeListBegin(TType.STRUCT, len(self.tempViews)) - for iter194 in self.tempViews: - iter194.write(oprot) - oprot.writeListEnd() - oprot.writeFieldEnd() - if self.currentDatabase is not None: - oprot.writeFieldBegin('currentDatabase', TType.STRING, 3) - oprot.writeString(self.currentDatabase.encode('utf-8') if sys.version_info[0] == 2 else self.currentDatabase) - oprot.writeFieldEnd() - if self.currentCatalog is not None: - oprot.writeFieldBegin('currentCatalog', TType.STRING, 4) - oprot.writeString(self.currentCatalog.encode('utf-8') if sys.version_info[0] == 2 else self.currentCatalog) - oprot.writeFieldEnd() - if self.sessionCapabilities is not None: - oprot.writeFieldBegin('sessionCapabilities', TType.STRUCT, 5) - self.sessionCapabilities.write(oprot) - oprot.writeFieldEnd() - if self.expressionsInfos is not None: - oprot.writeFieldBegin('expressionsInfos', TType.LIST, 6) - oprot.writeListBegin(TType.STRUCT, len(self.expressionsInfos)) - for iter195 in self.expressionsInfos: - iter195.write(oprot) - oprot.writeListEnd() - oprot.writeFieldEnd() - if self.internalConfs is not None: - oprot.writeFieldBegin('internalConfs', TType.MAP, 7) - oprot.writeMapBegin(TType.STRING, TType.STRUCT, len(self.internalConfs)) - for kiter196, viter197 in self.internalConfs.items(): - oprot.writeString(kiter196.encode('utf-8') if sys.version_info[0] == 2 else kiter196) - viter197.write(oprot) - oprot.writeMapEnd() - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, confs=None, tempViews=None, currentDatabase=None, currentCatalog=None, sessionCapabilities=None, expressionsInfos=None, internalConfs=None,): + self.confs = confs + self.tempViews = tempViews + self.currentDatabase = currentDatabase + self.currentCatalog = currentCatalog + self.sessionCapabilities = sessionCapabilities + self.expressionsInfos = expressionsInfos + self.internalConfs = internalConfs + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.MAP: + self.confs = {} + (_ktype167, _vtype168, _size166) = iprot.readMapBegin() + for _i170 in range(_size166): + _key171 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + _val172 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.confs[_key171] = _val172 + iprot.readMapEnd() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.LIST: + self.tempViews = [] + (_etype176, _size173) = iprot.readListBegin() + for _i177 in range(_size173): + _elem178 = TDBSqlTempView() + _elem178.read(iprot) + self.tempViews.append(_elem178) + iprot.readListEnd() + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.STRING: + self.currentDatabase = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 4: + if ftype == TType.STRING: + self.currentCatalog = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 5: + if ftype == TType.STRUCT: + self.sessionCapabilities = TDBSqlSessionCapabilities() + self.sessionCapabilities.read(iprot) + else: + iprot.skip(ftype) + elif fid == 6: + if ftype == TType.LIST: + self.expressionsInfos = [] + (_etype182, _size179) = iprot.readListBegin() + for _i183 in range(_size179): + _elem184 = TExpressionInfo() + _elem184.read(iprot) + self.expressionsInfos.append(_elem184) + iprot.readListEnd() + else: + iprot.skip(ftype) + elif fid == 7: + if ftype == TType.MAP: + self.internalConfs = {} + (_ktype186, _vtype187, _size185) = iprot.readMapBegin() + for _i189 in range(_size185): + _key190 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + _val191 = TDBSqlConfValue() + _val191.read(iprot) + self.internalConfs[_key190] = _val191 + iprot.readMapEnd() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TDBSqlSessionConf') + if self.confs is not None: + oprot.writeFieldBegin('confs', TType.MAP, 1) + oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.confs)) + for kiter192, viter193 in self.confs.items(): + oprot.writeString(kiter192.encode('utf-8') if sys.version_info[0] == 2 else kiter192) + oprot.writeString(viter193.encode('utf-8') if sys.version_info[0] == 2 else viter193) + oprot.writeMapEnd() + oprot.writeFieldEnd() + if self.tempViews is not None: + oprot.writeFieldBegin('tempViews', TType.LIST, 2) + oprot.writeListBegin(TType.STRUCT, len(self.tempViews)) + for iter194 in self.tempViews: + iter194.write(oprot) + oprot.writeListEnd() + oprot.writeFieldEnd() + if self.currentDatabase is not None: + oprot.writeFieldBegin('currentDatabase', TType.STRING, 3) + oprot.writeString(self.currentDatabase.encode('utf-8') if sys.version_info[0] == 2 else self.currentDatabase) + oprot.writeFieldEnd() + if self.currentCatalog is not None: + oprot.writeFieldBegin('currentCatalog', TType.STRING, 4) + oprot.writeString(self.currentCatalog.encode('utf-8') if sys.version_info[0] == 2 else self.currentCatalog) + oprot.writeFieldEnd() + if self.sessionCapabilities is not None: + oprot.writeFieldBegin('sessionCapabilities', TType.STRUCT, 5) + self.sessionCapabilities.write(oprot) + oprot.writeFieldEnd() + if self.expressionsInfos is not None: + oprot.writeFieldBegin('expressionsInfos', TType.LIST, 6) + oprot.writeListBegin(TType.STRUCT, len(self.expressionsInfos)) + for iter195 in self.expressionsInfos: + iter195.write(oprot) + oprot.writeListEnd() + oprot.writeFieldEnd() + if self.internalConfs is not None: + oprot.writeFieldBegin('internalConfs', TType.MAP, 7) + oprot.writeMapBegin(TType.STRING, TType.STRUCT, len(self.internalConfs)) + for kiter196, viter197 in self.internalConfs.items(): + oprot.writeString(kiter196.encode('utf-8') if sys.version_info[0] == 2 else kiter196) + viter197.write(oprot) + oprot.writeMapEnd() + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TStatus(object): - """ + """ Attributes: - statusCode - infoMessages @@ -4290,137 +4290,137 @@ class TStatus(object): """ - def __init__(self, statusCode=None, infoMessages=None, sqlState=None, errorCode=None, errorMessage=None, displayMessage=None, errorDetailsJson=None, responseValidation=None,): - self.statusCode = statusCode - self.infoMessages = infoMessages - self.sqlState = sqlState - self.errorCode = errorCode - self.errorMessage = errorMessage - self.displayMessage = displayMessage - self.errorDetailsJson = errorDetailsJson - self.responseValidation = responseValidation - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.I32: - self.statusCode = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.LIST: - self.infoMessages = [] - (_etype201, _size198) = iprot.readListBegin() - for _i202 in range(_size198): - _elem203 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - self.infoMessages.append(_elem203) - iprot.readListEnd() - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.STRING: - self.sqlState = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 4: - if ftype == TType.I32: - self.errorCode = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 5: - if ftype == TType.STRING: - self.errorMessage = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 6: - if ftype == TType.STRING: - self.displayMessage = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 1281: - if ftype == TType.STRING: - self.errorDetailsJson = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 3329: - if ftype == TType.STRING: - self.responseValidation = iprot.readBinary() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TStatus') - if self.statusCode is not None: - oprot.writeFieldBegin('statusCode', TType.I32, 1) - oprot.writeI32(self.statusCode) - oprot.writeFieldEnd() - if self.infoMessages is not None: - oprot.writeFieldBegin('infoMessages', TType.LIST, 2) - oprot.writeListBegin(TType.STRING, len(self.infoMessages)) - for iter204 in self.infoMessages: - oprot.writeString(iter204.encode('utf-8') if sys.version_info[0] == 2 else iter204) - oprot.writeListEnd() - oprot.writeFieldEnd() - if self.sqlState is not None: - oprot.writeFieldBegin('sqlState', TType.STRING, 3) - oprot.writeString(self.sqlState.encode('utf-8') if sys.version_info[0] == 2 else self.sqlState) - oprot.writeFieldEnd() - if self.errorCode is not None: - oprot.writeFieldBegin('errorCode', TType.I32, 4) - oprot.writeI32(self.errorCode) - oprot.writeFieldEnd() - if self.errorMessage is not None: - oprot.writeFieldBegin('errorMessage', TType.STRING, 5) - oprot.writeString(self.errorMessage.encode('utf-8') if sys.version_info[0] == 2 else self.errorMessage) - oprot.writeFieldEnd() - if self.displayMessage is not None: - oprot.writeFieldBegin('displayMessage', TType.STRING, 6) - oprot.writeString(self.displayMessage.encode('utf-8') if sys.version_info[0] == 2 else self.displayMessage) - oprot.writeFieldEnd() - if self.errorDetailsJson is not None: - oprot.writeFieldBegin('errorDetailsJson', TType.STRING, 1281) - oprot.writeString(self.errorDetailsJson.encode('utf-8') if sys.version_info[0] == 2 else self.errorDetailsJson) - oprot.writeFieldEnd() - if self.responseValidation is not None: - oprot.writeFieldBegin('responseValidation', TType.STRING, 3329) - oprot.writeBinary(self.responseValidation) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.statusCode is None: - raise TProtocolException(message='Required field statusCode is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, statusCode=None, infoMessages=None, sqlState=None, errorCode=None, errorMessage=None, displayMessage=None, errorDetailsJson=None, responseValidation=None,): + self.statusCode = statusCode + self.infoMessages = infoMessages + self.sqlState = sqlState + self.errorCode = errorCode + self.errorMessage = errorMessage + self.displayMessage = displayMessage + self.errorDetailsJson = errorDetailsJson + self.responseValidation = responseValidation + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.I32: + self.statusCode = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.LIST: + self.infoMessages = [] + (_etype201, _size198) = iprot.readListBegin() + for _i202 in range(_size198): + _elem203 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.infoMessages.append(_elem203) + iprot.readListEnd() + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.STRING: + self.sqlState = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 4: + if ftype == TType.I32: + self.errorCode = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 5: + if ftype == TType.STRING: + self.errorMessage = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 6: + if ftype == TType.STRING: + self.displayMessage = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 1281: + if ftype == TType.STRING: + self.errorDetailsJson = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 3329: + if ftype == TType.STRING: + self.responseValidation = iprot.readBinary() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TStatus') + if self.statusCode is not None: + oprot.writeFieldBegin('statusCode', TType.I32, 1) + oprot.writeI32(self.statusCode) + oprot.writeFieldEnd() + if self.infoMessages is not None: + oprot.writeFieldBegin('infoMessages', TType.LIST, 2) + oprot.writeListBegin(TType.STRING, len(self.infoMessages)) + for iter204 in self.infoMessages: + oprot.writeString(iter204.encode('utf-8') if sys.version_info[0] == 2 else iter204) + oprot.writeListEnd() + oprot.writeFieldEnd() + if self.sqlState is not None: + oprot.writeFieldBegin('sqlState', TType.STRING, 3) + oprot.writeString(self.sqlState.encode('utf-8') if sys.version_info[0] == 2 else self.sqlState) + oprot.writeFieldEnd() + if self.errorCode is not None: + oprot.writeFieldBegin('errorCode', TType.I32, 4) + oprot.writeI32(self.errorCode) + oprot.writeFieldEnd() + if self.errorMessage is not None: + oprot.writeFieldBegin('errorMessage', TType.STRING, 5) + oprot.writeString(self.errorMessage.encode('utf-8') if sys.version_info[0] == 2 else self.errorMessage) + oprot.writeFieldEnd() + if self.displayMessage is not None: + oprot.writeFieldBegin('displayMessage', TType.STRING, 6) + oprot.writeString(self.displayMessage.encode('utf-8') if sys.version_info[0] == 2 else self.displayMessage) + oprot.writeFieldEnd() + if self.errorDetailsJson is not None: + oprot.writeFieldBegin('errorDetailsJson', TType.STRING, 1281) + oprot.writeString(self.errorDetailsJson.encode('utf-8') if sys.version_info[0] == 2 else self.errorDetailsJson) + oprot.writeFieldEnd() + if self.responseValidation is not None: + oprot.writeFieldBegin('responseValidation', TType.STRING, 3329) + oprot.writeBinary(self.responseValidation) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.statusCode is None: + raise TProtocolException(message='Required field statusCode is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TNamespace(object): - """ + """ Attributes: - catalogName - schemaName @@ -4428,67 +4428,67 @@ class TNamespace(object): """ - def __init__(self, catalogName=None, schemaName=None,): - self.catalogName = catalogName - self.schemaName = schemaName - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRING: - self.catalogName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRING: - self.schemaName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TNamespace') - if self.catalogName is not None: - oprot.writeFieldBegin('catalogName', TType.STRING, 1) - oprot.writeString(self.catalogName.encode('utf-8') if sys.version_info[0] == 2 else self.catalogName) - oprot.writeFieldEnd() - if self.schemaName is not None: - oprot.writeFieldBegin('schemaName', TType.STRING, 2) - oprot.writeString(self.schemaName.encode('utf-8') if sys.version_info[0] == 2 else self.schemaName) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, catalogName=None, schemaName=None,): + self.catalogName = catalogName + self.schemaName = schemaName + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRING: + self.catalogName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRING: + self.schemaName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TNamespace') + if self.catalogName is not None: + oprot.writeFieldBegin('catalogName', TType.STRING, 1) + oprot.writeString(self.catalogName.encode('utf-8') if sys.version_info[0] == 2 else self.catalogName) + oprot.writeFieldEnd() + if self.schemaName is not None: + oprot.writeFieldBegin('schemaName', TType.STRING, 2) + oprot.writeString(self.schemaName.encode('utf-8') if sys.version_info[0] == 2 else self.schemaName) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class THandleIdentifier(object): - """ + """ Attributes: - guid - secret @@ -4497,81 +4497,81 @@ class THandleIdentifier(object): """ - def __init__(self, guid=None, secret=None, executionVersion=None,): - self.guid = guid - self.secret = secret - self.executionVersion = executionVersion - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRING: - self.guid = iprot.readBinary() - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRING: - self.secret = iprot.readBinary() - else: - iprot.skip(ftype) - elif fid == 3329: - if ftype == TType.I16: - self.executionVersion = iprot.readI16() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('THandleIdentifier') - if self.guid is not None: - oprot.writeFieldBegin('guid', TType.STRING, 1) - oprot.writeBinary(self.guid) - oprot.writeFieldEnd() - if self.secret is not None: - oprot.writeFieldBegin('secret', TType.STRING, 2) - oprot.writeBinary(self.secret) - oprot.writeFieldEnd() - if self.executionVersion is not None: - oprot.writeFieldBegin('executionVersion', TType.I16, 3329) - oprot.writeI16(self.executionVersion) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.guid is None: - raise TProtocolException(message='Required field guid is unset!') - if self.secret is None: - raise TProtocolException(message='Required field secret is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, guid=None, secret=None, executionVersion=None,): + self.guid = guid + self.secret = secret + self.executionVersion = executionVersion + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRING: + self.guid = iprot.readBinary() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRING: + self.secret = iprot.readBinary() + else: + iprot.skip(ftype) + elif fid == 3329: + if ftype == TType.I16: + self.executionVersion = iprot.readI16() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('THandleIdentifier') + if self.guid is not None: + oprot.writeFieldBegin('guid', TType.STRING, 1) + oprot.writeBinary(self.guid) + oprot.writeFieldEnd() + if self.secret is not None: + oprot.writeFieldBegin('secret', TType.STRING, 2) + oprot.writeBinary(self.secret) + oprot.writeFieldEnd() + if self.executionVersion is not None: + oprot.writeFieldBegin('executionVersion', TType.I16, 3329) + oprot.writeI16(self.executionVersion) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.guid is None: + raise TProtocolException(message='Required field guid is unset!') + if self.secret is None: + raise TProtocolException(message='Required field secret is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TSessionHandle(object): - """ + """ Attributes: - sessionId - serverProtocolVersion @@ -4579,70 +4579,70 @@ class TSessionHandle(object): """ - def __init__(self, sessionId=None, serverProtocolVersion=None,): - self.sessionId = sessionId - self.serverProtocolVersion = serverProtocolVersion - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.sessionId = THandleIdentifier() - self.sessionId.read(iprot) - else: - iprot.skip(ftype) - elif fid == 3329: - if ftype == TType.I32: - self.serverProtocolVersion = iprot.readI32() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TSessionHandle') - if self.sessionId is not None: - oprot.writeFieldBegin('sessionId', TType.STRUCT, 1) - self.sessionId.write(oprot) - oprot.writeFieldEnd() - if self.serverProtocolVersion is not None: - oprot.writeFieldBegin('serverProtocolVersion', TType.I32, 3329) - oprot.writeI32(self.serverProtocolVersion) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.sessionId is None: - raise TProtocolException(message='Required field sessionId is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, sessionId=None, serverProtocolVersion=None,): + self.sessionId = sessionId + self.serverProtocolVersion = serverProtocolVersion + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.sessionId = THandleIdentifier() + self.sessionId.read(iprot) + else: + iprot.skip(ftype) + elif fid == 3329: + if ftype == TType.I32: + self.serverProtocolVersion = iprot.readI32() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TSessionHandle') + if self.sessionId is not None: + oprot.writeFieldBegin('sessionId', TType.STRUCT, 1) + self.sessionId.write(oprot) + oprot.writeFieldEnd() + if self.serverProtocolVersion is not None: + oprot.writeFieldBegin('serverProtocolVersion', TType.I32, 3329) + oprot.writeI32(self.serverProtocolVersion) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.sessionId is None: + raise TProtocolException(message='Required field sessionId is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TOperationHandle(object): - """ + """ Attributes: - operationId - operationType @@ -4652,94 +4652,94 @@ class TOperationHandle(object): """ - def __init__(self, operationId=None, operationType=None, hasResultSet=None, modifiedRowCount=None,): - self.operationId = operationId - self.operationType = operationType - self.hasResultSet = hasResultSet - self.modifiedRowCount = modifiedRowCount - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.operationId = THandleIdentifier() - self.operationId.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.I32: - self.operationType = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.BOOL: - self.hasResultSet = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 4: - if ftype == TType.DOUBLE: - self.modifiedRowCount = iprot.readDouble() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TOperationHandle') - if self.operationId is not None: - oprot.writeFieldBegin('operationId', TType.STRUCT, 1) - self.operationId.write(oprot) - oprot.writeFieldEnd() - if self.operationType is not None: - oprot.writeFieldBegin('operationType', TType.I32, 2) - oprot.writeI32(self.operationType) - oprot.writeFieldEnd() - if self.hasResultSet is not None: - oprot.writeFieldBegin('hasResultSet', TType.BOOL, 3) - oprot.writeBool(self.hasResultSet) - oprot.writeFieldEnd() - if self.modifiedRowCount is not None: - oprot.writeFieldBegin('modifiedRowCount', TType.DOUBLE, 4) - oprot.writeDouble(self.modifiedRowCount) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.operationId is None: - raise TProtocolException(message='Required field operationId is unset!') - if self.operationType is None: - raise TProtocolException(message='Required field operationType is unset!') - if self.hasResultSet is None: - raise TProtocolException(message='Required field hasResultSet is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, operationId=None, operationType=None, hasResultSet=None, modifiedRowCount=None,): + self.operationId = operationId + self.operationType = operationType + self.hasResultSet = hasResultSet + self.modifiedRowCount = modifiedRowCount + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.operationId = THandleIdentifier() + self.operationId.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.I32: + self.operationType = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.BOOL: + self.hasResultSet = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 4: + if ftype == TType.DOUBLE: + self.modifiedRowCount = iprot.readDouble() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TOperationHandle') + if self.operationId is not None: + oprot.writeFieldBegin('operationId', TType.STRUCT, 1) + self.operationId.write(oprot) + oprot.writeFieldEnd() + if self.operationType is not None: + oprot.writeFieldBegin('operationType', TType.I32, 2) + oprot.writeI32(self.operationType) + oprot.writeFieldEnd() + if self.hasResultSet is not None: + oprot.writeFieldBegin('hasResultSet', TType.BOOL, 3) + oprot.writeBool(self.hasResultSet) + oprot.writeFieldEnd() + if self.modifiedRowCount is not None: + oprot.writeFieldBegin('modifiedRowCount', TType.DOUBLE, 4) + oprot.writeDouble(self.modifiedRowCount) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.operationId is None: + raise TProtocolException(message='Required field operationId is unset!') + if self.operationType is None: + raise TProtocolException(message='Required field operationType is unset!') + if self.hasResultSet is None: + raise TProtocolException(message='Required field hasResultSet is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TOpenSessionReq(object): - """ + """ Attributes: - client_protocol - username @@ -4755,177 +4755,177 @@ class TOpenSessionReq(object): """ - def __init__(self, client_protocol= -7, username=None, password=None, configuration=None, getInfos=None, client_protocol_i64=None, connectionProperties=None, initialNamespace=None, canUseMultipleCatalogs=None, sessionId=None,): - self.client_protocol = client_protocol - self.username = username - self.password = password - self.configuration = configuration - self.getInfos = getInfos - self.client_protocol_i64 = client_protocol_i64 - self.connectionProperties = connectionProperties - self.initialNamespace = initialNamespace - self.canUseMultipleCatalogs = canUseMultipleCatalogs - self.sessionId = sessionId - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.I32: - self.client_protocol = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRING: - self.username = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.STRING: - self.password = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 4: - if ftype == TType.MAP: - self.configuration = {} - (_ktype206, _vtype207, _size205) = iprot.readMapBegin() - for _i209 in range(_size205): - _key210 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - _val211 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - self.configuration[_key210] = _val211 - iprot.readMapEnd() - else: - iprot.skip(ftype) - elif fid == 1281: - if ftype == TType.LIST: - self.getInfos = [] - (_etype215, _size212) = iprot.readListBegin() - for _i216 in range(_size212): - _elem217 = iprot.readI32() - self.getInfos.append(_elem217) - iprot.readListEnd() - else: - iprot.skip(ftype) - elif fid == 1282: - if ftype == TType.I64: - self.client_protocol_i64 = iprot.readI64() - else: - iprot.skip(ftype) - elif fid == 1283: - if ftype == TType.MAP: - self.connectionProperties = {} - (_ktype219, _vtype220, _size218) = iprot.readMapBegin() - for _i222 in range(_size218): - _key223 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - _val224 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - self.connectionProperties[_key223] = _val224 - iprot.readMapEnd() - else: - iprot.skip(ftype) - elif fid == 1284: - if ftype == TType.STRUCT: - self.initialNamespace = TNamespace() - self.initialNamespace.read(iprot) - else: - iprot.skip(ftype) - elif fid == 1285: - if ftype == TType.BOOL: - self.canUseMultipleCatalogs = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 3329: - if ftype == TType.STRUCT: - self.sessionId = THandleIdentifier() - self.sessionId.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TOpenSessionReq') - if self.client_protocol is not None: - oprot.writeFieldBegin('client_protocol', TType.I32, 1) - oprot.writeI32(self.client_protocol) - oprot.writeFieldEnd() - if self.username is not None: - oprot.writeFieldBegin('username', TType.STRING, 2) - oprot.writeString(self.username.encode('utf-8') if sys.version_info[0] == 2 else self.username) - oprot.writeFieldEnd() - if self.password is not None: - oprot.writeFieldBegin('password', TType.STRING, 3) - oprot.writeString(self.password.encode('utf-8') if sys.version_info[0] == 2 else self.password) - oprot.writeFieldEnd() - if self.configuration is not None: - oprot.writeFieldBegin('configuration', TType.MAP, 4) - oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.configuration)) - for kiter225, viter226 in self.configuration.items(): - oprot.writeString(kiter225.encode('utf-8') if sys.version_info[0] == 2 else kiter225) - oprot.writeString(viter226.encode('utf-8') if sys.version_info[0] == 2 else viter226) - oprot.writeMapEnd() - oprot.writeFieldEnd() - if self.getInfos is not None: - oprot.writeFieldBegin('getInfos', TType.LIST, 1281) - oprot.writeListBegin(TType.I32, len(self.getInfos)) - for iter227 in self.getInfos: - oprot.writeI32(iter227) - oprot.writeListEnd() - oprot.writeFieldEnd() - if self.client_protocol_i64 is not None: - oprot.writeFieldBegin('client_protocol_i64', TType.I64, 1282) - oprot.writeI64(self.client_protocol_i64) - oprot.writeFieldEnd() - if self.connectionProperties is not None: - oprot.writeFieldBegin('connectionProperties', TType.MAP, 1283) - oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.connectionProperties)) - for kiter228, viter229 in self.connectionProperties.items(): - oprot.writeString(kiter228.encode('utf-8') if sys.version_info[0] == 2 else kiter228) - oprot.writeString(viter229.encode('utf-8') if sys.version_info[0] == 2 else viter229) - oprot.writeMapEnd() - oprot.writeFieldEnd() - if self.initialNamespace is not None: - oprot.writeFieldBegin('initialNamespace', TType.STRUCT, 1284) - self.initialNamespace.write(oprot) - oprot.writeFieldEnd() - if self.canUseMultipleCatalogs is not None: - oprot.writeFieldBegin('canUseMultipleCatalogs', TType.BOOL, 1285) - oprot.writeBool(self.canUseMultipleCatalogs) - oprot.writeFieldEnd() - if self.sessionId is not None: - oprot.writeFieldBegin('sessionId', TType.STRUCT, 3329) - self.sessionId.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, client_protocol= -7, username=None, password=None, configuration=None, getInfos=None, client_protocol_i64=None, connectionProperties=None, initialNamespace=None, canUseMultipleCatalogs=None, sessionId=None,): + self.client_protocol = client_protocol + self.username = username + self.password = password + self.configuration = configuration + self.getInfos = getInfos + self.client_protocol_i64 = client_protocol_i64 + self.connectionProperties = connectionProperties + self.initialNamespace = initialNamespace + self.canUseMultipleCatalogs = canUseMultipleCatalogs + self.sessionId = sessionId + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.I32: + self.client_protocol = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRING: + self.username = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.STRING: + self.password = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 4: + if ftype == TType.MAP: + self.configuration = {} + (_ktype206, _vtype207, _size205) = iprot.readMapBegin() + for _i209 in range(_size205): + _key210 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + _val211 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.configuration[_key210] = _val211 + iprot.readMapEnd() + else: + iprot.skip(ftype) + elif fid == 1281: + if ftype == TType.LIST: + self.getInfos = [] + (_etype215, _size212) = iprot.readListBegin() + for _i216 in range(_size212): + _elem217 = iprot.readI32() + self.getInfos.append(_elem217) + iprot.readListEnd() + else: + iprot.skip(ftype) + elif fid == 1282: + if ftype == TType.I64: + self.client_protocol_i64 = iprot.readI64() + else: + iprot.skip(ftype) + elif fid == 1283: + if ftype == TType.MAP: + self.connectionProperties = {} + (_ktype219, _vtype220, _size218) = iprot.readMapBegin() + for _i222 in range(_size218): + _key223 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + _val224 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.connectionProperties[_key223] = _val224 + iprot.readMapEnd() + else: + iprot.skip(ftype) + elif fid == 1284: + if ftype == TType.STRUCT: + self.initialNamespace = TNamespace() + self.initialNamespace.read(iprot) + else: + iprot.skip(ftype) + elif fid == 1285: + if ftype == TType.BOOL: + self.canUseMultipleCatalogs = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 3329: + if ftype == TType.STRUCT: + self.sessionId = THandleIdentifier() + self.sessionId.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TOpenSessionReq') + if self.client_protocol is not None: + oprot.writeFieldBegin('client_protocol', TType.I32, 1) + oprot.writeI32(self.client_protocol) + oprot.writeFieldEnd() + if self.username is not None: + oprot.writeFieldBegin('username', TType.STRING, 2) + oprot.writeString(self.username.encode('utf-8') if sys.version_info[0] == 2 else self.username) + oprot.writeFieldEnd() + if self.password is not None: + oprot.writeFieldBegin('password', TType.STRING, 3) + oprot.writeString(self.password.encode('utf-8') if sys.version_info[0] == 2 else self.password) + oprot.writeFieldEnd() + if self.configuration is not None: + oprot.writeFieldBegin('configuration', TType.MAP, 4) + oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.configuration)) + for kiter225, viter226 in self.configuration.items(): + oprot.writeString(kiter225.encode('utf-8') if sys.version_info[0] == 2 else kiter225) + oprot.writeString(viter226.encode('utf-8') if sys.version_info[0] == 2 else viter226) + oprot.writeMapEnd() + oprot.writeFieldEnd() + if self.getInfos is not None: + oprot.writeFieldBegin('getInfos', TType.LIST, 1281) + oprot.writeListBegin(TType.I32, len(self.getInfos)) + for iter227 in self.getInfos: + oprot.writeI32(iter227) + oprot.writeListEnd() + oprot.writeFieldEnd() + if self.client_protocol_i64 is not None: + oprot.writeFieldBegin('client_protocol_i64', TType.I64, 1282) + oprot.writeI64(self.client_protocol_i64) + oprot.writeFieldEnd() + if self.connectionProperties is not None: + oprot.writeFieldBegin('connectionProperties', TType.MAP, 1283) + oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.connectionProperties)) + for kiter228, viter229 in self.connectionProperties.items(): + oprot.writeString(kiter228.encode('utf-8') if sys.version_info[0] == 2 else kiter228) + oprot.writeString(viter229.encode('utf-8') if sys.version_info[0] == 2 else viter229) + oprot.writeMapEnd() + oprot.writeFieldEnd() + if self.initialNamespace is not None: + oprot.writeFieldBegin('initialNamespace', TType.STRUCT, 1284) + self.initialNamespace.write(oprot) + oprot.writeFieldEnd() + if self.canUseMultipleCatalogs is not None: + oprot.writeFieldBegin('canUseMultipleCatalogs', TType.BOOL, 1285) + oprot.writeBool(self.canUseMultipleCatalogs) + oprot.writeFieldEnd() + if self.sessionId is not None: + oprot.writeFieldBegin('sessionId', TType.STRUCT, 3329) + self.sessionId.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TOpenSessionResp(object): - """ + """ Attributes: - status - serverProtocolVersion @@ -4938,263 +4938,263 @@ class TOpenSessionResp(object): """ - def __init__(self, status=None, serverProtocolVersion=None, sessionHandle=None, configuration=None, initialNamespace=None, canUseMultipleCatalogs=None, getInfos=None,): - self.status = status - self.serverProtocolVersion = serverProtocolVersion - self.sessionHandle = sessionHandle - self.configuration = configuration - self.initialNamespace = initialNamespace - self.canUseMultipleCatalogs = canUseMultipleCatalogs - self.getInfos = getInfos - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.status = TStatus() - self.status.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.I32: - self.serverProtocolVersion = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.STRUCT: - self.sessionHandle = TSessionHandle() - self.sessionHandle.read(iprot) - else: - iprot.skip(ftype) - elif fid == 4: - if ftype == TType.MAP: - self.configuration = {} - (_ktype231, _vtype232, _size230) = iprot.readMapBegin() - for _i234 in range(_size230): - _key235 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - _val236 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - self.configuration[_key235] = _val236 - iprot.readMapEnd() - else: - iprot.skip(ftype) - elif fid == 1284: - if ftype == TType.STRUCT: - self.initialNamespace = TNamespace() - self.initialNamespace.read(iprot) - else: - iprot.skip(ftype) - elif fid == 1285: - if ftype == TType.BOOL: - self.canUseMultipleCatalogs = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 1281: - if ftype == TType.LIST: - self.getInfos = [] - (_etype240, _size237) = iprot.readListBegin() - for _i241 in range(_size237): - _elem242 = TGetInfoValue() - _elem242.read(iprot) - self.getInfos.append(_elem242) - iprot.readListEnd() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TOpenSessionResp') - if self.status is not None: - oprot.writeFieldBegin('status', TType.STRUCT, 1) - self.status.write(oprot) - oprot.writeFieldEnd() - if self.serverProtocolVersion is not None: - oprot.writeFieldBegin('serverProtocolVersion', TType.I32, 2) - oprot.writeI32(self.serverProtocolVersion) - oprot.writeFieldEnd() - if self.sessionHandle is not None: - oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 3) - self.sessionHandle.write(oprot) - oprot.writeFieldEnd() - if self.configuration is not None: - oprot.writeFieldBegin('configuration', TType.MAP, 4) - oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.configuration)) - for kiter243, viter244 in self.configuration.items(): - oprot.writeString(kiter243.encode('utf-8') if sys.version_info[0] == 2 else kiter243) - oprot.writeString(viter244.encode('utf-8') if sys.version_info[0] == 2 else viter244) - oprot.writeMapEnd() - oprot.writeFieldEnd() - if self.getInfos is not None: - oprot.writeFieldBegin('getInfos', TType.LIST, 1281) - oprot.writeListBegin(TType.STRUCT, len(self.getInfos)) - for iter245 in self.getInfos: - iter245.write(oprot) - oprot.writeListEnd() - oprot.writeFieldEnd() - if self.initialNamespace is not None: - oprot.writeFieldBegin('initialNamespace', TType.STRUCT, 1284) - self.initialNamespace.write(oprot) - oprot.writeFieldEnd() - if self.canUseMultipleCatalogs is not None: - oprot.writeFieldBegin('canUseMultipleCatalogs', TType.BOOL, 1285) - oprot.writeBool(self.canUseMultipleCatalogs) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.status is None: - raise TProtocolException(message='Required field status is unset!') - if self.serverProtocolVersion is None: - raise TProtocolException(message='Required field serverProtocolVersion is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, status=None, serverProtocolVersion=None, sessionHandle=None, configuration=None, initialNamespace=None, canUseMultipleCatalogs=None, getInfos=None,): + self.status = status + self.serverProtocolVersion = serverProtocolVersion + self.sessionHandle = sessionHandle + self.configuration = configuration + self.initialNamespace = initialNamespace + self.canUseMultipleCatalogs = canUseMultipleCatalogs + self.getInfos = getInfos + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.status = TStatus() + self.status.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.I32: + self.serverProtocolVersion = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.STRUCT: + self.sessionHandle = TSessionHandle() + self.sessionHandle.read(iprot) + else: + iprot.skip(ftype) + elif fid == 4: + if ftype == TType.MAP: + self.configuration = {} + (_ktype231, _vtype232, _size230) = iprot.readMapBegin() + for _i234 in range(_size230): + _key235 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + _val236 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.configuration[_key235] = _val236 + iprot.readMapEnd() + else: + iprot.skip(ftype) + elif fid == 1284: + if ftype == TType.STRUCT: + self.initialNamespace = TNamespace() + self.initialNamespace.read(iprot) + else: + iprot.skip(ftype) + elif fid == 1285: + if ftype == TType.BOOL: + self.canUseMultipleCatalogs = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 1281: + if ftype == TType.LIST: + self.getInfos = [] + (_etype240, _size237) = iprot.readListBegin() + for _i241 in range(_size237): + _elem242 = TGetInfoValue() + _elem242.read(iprot) + self.getInfos.append(_elem242) + iprot.readListEnd() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TOpenSessionResp') + if self.status is not None: + oprot.writeFieldBegin('status', TType.STRUCT, 1) + self.status.write(oprot) + oprot.writeFieldEnd() + if self.serverProtocolVersion is not None: + oprot.writeFieldBegin('serverProtocolVersion', TType.I32, 2) + oprot.writeI32(self.serverProtocolVersion) + oprot.writeFieldEnd() + if self.sessionHandle is not None: + oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 3) + self.sessionHandle.write(oprot) + oprot.writeFieldEnd() + if self.configuration is not None: + oprot.writeFieldBegin('configuration', TType.MAP, 4) + oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.configuration)) + for kiter243, viter244 in self.configuration.items(): + oprot.writeString(kiter243.encode('utf-8') if sys.version_info[0] == 2 else kiter243) + oprot.writeString(viter244.encode('utf-8') if sys.version_info[0] == 2 else viter244) + oprot.writeMapEnd() + oprot.writeFieldEnd() + if self.getInfos is not None: + oprot.writeFieldBegin('getInfos', TType.LIST, 1281) + oprot.writeListBegin(TType.STRUCT, len(self.getInfos)) + for iter245 in self.getInfos: + iter245.write(oprot) + oprot.writeListEnd() + oprot.writeFieldEnd() + if self.initialNamespace is not None: + oprot.writeFieldBegin('initialNamespace', TType.STRUCT, 1284) + self.initialNamespace.write(oprot) + oprot.writeFieldEnd() + if self.canUseMultipleCatalogs is not None: + oprot.writeFieldBegin('canUseMultipleCatalogs', TType.BOOL, 1285) + oprot.writeBool(self.canUseMultipleCatalogs) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.status is None: + raise TProtocolException(message='Required field status is unset!') + if self.serverProtocolVersion is None: + raise TProtocolException(message='Required field serverProtocolVersion is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TCloseSessionReq(object): - """ + """ Attributes: - sessionHandle """ - def __init__(self, sessionHandle=None,): - self.sessionHandle = sessionHandle - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.sessionHandle = TSessionHandle() - self.sessionHandle.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TCloseSessionReq') - if self.sessionHandle is not None: - oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 1) - self.sessionHandle.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.sessionHandle is None: - raise TProtocolException(message='Required field sessionHandle is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, sessionHandle=None,): + self.sessionHandle = sessionHandle + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.sessionHandle = TSessionHandle() + self.sessionHandle.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TCloseSessionReq') + if self.sessionHandle is not None: + oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 1) + self.sessionHandle.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.sessionHandle is None: + raise TProtocolException(message='Required field sessionHandle is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TCloseSessionResp(object): - """ + """ Attributes: - status """ - def __init__(self, status=None,): - self.status = status - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.status = TStatus() - self.status.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TCloseSessionResp') - if self.status is not None: - oprot.writeFieldBegin('status', TType.STRUCT, 1) - self.status.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.status is None: - raise TProtocolException(message='Required field status is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, status=None,): + self.status = status + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.status = TStatus() + self.status.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TCloseSessionResp') + if self.status is not None: + oprot.writeFieldBegin('status', TType.STRUCT, 1) + self.status.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.status is None: + raise TProtocolException(message='Required field status is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TGetInfoValue(object): - """ + """ Attributes: - stringValue - smallIntValue @@ -5206,107 +5206,107 @@ class TGetInfoValue(object): """ - def __init__(self, stringValue=None, smallIntValue=None, integerBitmask=None, integerFlag=None, binaryValue=None, lenValue=None,): - self.stringValue = stringValue - self.smallIntValue = smallIntValue - self.integerBitmask = integerBitmask - self.integerFlag = integerFlag - self.binaryValue = binaryValue - self.lenValue = lenValue - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRING: - self.stringValue = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.I16: - self.smallIntValue = iprot.readI16() - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.I32: - self.integerBitmask = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 4: - if ftype == TType.I32: - self.integerFlag = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 5: - if ftype == TType.I32: - self.binaryValue = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 6: - if ftype == TType.I64: - self.lenValue = iprot.readI64() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TGetInfoValue') - if self.stringValue is not None: - oprot.writeFieldBegin('stringValue', TType.STRING, 1) - oprot.writeString(self.stringValue.encode('utf-8') if sys.version_info[0] == 2 else self.stringValue) - oprot.writeFieldEnd() - if self.smallIntValue is not None: - oprot.writeFieldBegin('smallIntValue', TType.I16, 2) - oprot.writeI16(self.smallIntValue) - oprot.writeFieldEnd() - if self.integerBitmask is not None: - oprot.writeFieldBegin('integerBitmask', TType.I32, 3) - oprot.writeI32(self.integerBitmask) - oprot.writeFieldEnd() - if self.integerFlag is not None: - oprot.writeFieldBegin('integerFlag', TType.I32, 4) - oprot.writeI32(self.integerFlag) - oprot.writeFieldEnd() - if self.binaryValue is not None: - oprot.writeFieldBegin('binaryValue', TType.I32, 5) - oprot.writeI32(self.binaryValue) - oprot.writeFieldEnd() - if self.lenValue is not None: - oprot.writeFieldBegin('lenValue', TType.I64, 6) - oprot.writeI64(self.lenValue) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, stringValue=None, smallIntValue=None, integerBitmask=None, integerFlag=None, binaryValue=None, lenValue=None,): + self.stringValue = stringValue + self.smallIntValue = smallIntValue + self.integerBitmask = integerBitmask + self.integerFlag = integerFlag + self.binaryValue = binaryValue + self.lenValue = lenValue + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRING: + self.stringValue = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.I16: + self.smallIntValue = iprot.readI16() + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.I32: + self.integerBitmask = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 4: + if ftype == TType.I32: + self.integerFlag = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 5: + if ftype == TType.I32: + self.binaryValue = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 6: + if ftype == TType.I64: + self.lenValue = iprot.readI64() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TGetInfoValue') + if self.stringValue is not None: + oprot.writeFieldBegin('stringValue', TType.STRING, 1) + oprot.writeString(self.stringValue.encode('utf-8') if sys.version_info[0] == 2 else self.stringValue) + oprot.writeFieldEnd() + if self.smallIntValue is not None: + oprot.writeFieldBegin('smallIntValue', TType.I16, 2) + oprot.writeI16(self.smallIntValue) + oprot.writeFieldEnd() + if self.integerBitmask is not None: + oprot.writeFieldBegin('integerBitmask', TType.I32, 3) + oprot.writeI32(self.integerBitmask) + oprot.writeFieldEnd() + if self.integerFlag is not None: + oprot.writeFieldBegin('integerFlag', TType.I32, 4) + oprot.writeI32(self.integerFlag) + oprot.writeFieldEnd() + if self.binaryValue is not None: + oprot.writeFieldBegin('binaryValue', TType.I32, 5) + oprot.writeI32(self.binaryValue) + oprot.writeFieldEnd() + if self.lenValue is not None: + oprot.writeFieldBegin('lenValue', TType.I64, 6) + oprot.writeI64(self.lenValue) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TGetInfoReq(object): - """ + """ Attributes: - sessionHandle - infoType @@ -5315,83 +5315,83 @@ class TGetInfoReq(object): """ - def __init__(self, sessionHandle=None, infoType=None, sessionConf=None,): - self.sessionHandle = sessionHandle - self.infoType = infoType - self.sessionConf = sessionConf - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.sessionHandle = TSessionHandle() - self.sessionHandle.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.I32: - self.infoType = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 3329: - if ftype == TType.STRUCT: - self.sessionConf = TDBSqlSessionConf() - self.sessionConf.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TGetInfoReq') - if self.sessionHandle is not None: - oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 1) - self.sessionHandle.write(oprot) - oprot.writeFieldEnd() - if self.infoType is not None: - oprot.writeFieldBegin('infoType', TType.I32, 2) - oprot.writeI32(self.infoType) - oprot.writeFieldEnd() - if self.sessionConf is not None: - oprot.writeFieldBegin('sessionConf', TType.STRUCT, 3329) - self.sessionConf.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.sessionHandle is None: - raise TProtocolException(message='Required field sessionHandle is unset!') - if self.infoType is None: - raise TProtocolException(message='Required field infoType is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, sessionHandle=None, infoType=None, sessionConf=None,): + self.sessionHandle = sessionHandle + self.infoType = infoType + self.sessionConf = sessionConf + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.sessionHandle = TSessionHandle() + self.sessionHandle.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.I32: + self.infoType = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 3329: + if ftype == TType.STRUCT: + self.sessionConf = TDBSqlSessionConf() + self.sessionConf.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TGetInfoReq') + if self.sessionHandle is not None: + oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 1) + self.sessionHandle.write(oprot) + oprot.writeFieldEnd() + if self.infoType is not None: + oprot.writeFieldBegin('infoType', TType.I32, 2) + oprot.writeI32(self.infoType) + oprot.writeFieldEnd() + if self.sessionConf is not None: + oprot.writeFieldBegin('sessionConf', TType.STRUCT, 3329) + self.sessionConf.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.sessionHandle is None: + raise TProtocolException(message='Required field sessionHandle is unset!') + if self.infoType is None: + raise TProtocolException(message='Required field infoType is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TGetInfoResp(object): - """ + """ Attributes: - status - infoValue @@ -5399,73 +5399,73 @@ class TGetInfoResp(object): """ - def __init__(self, status=None, infoValue=None,): - self.status = status - self.infoValue = infoValue - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.status = TStatus() - self.status.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRUCT: - self.infoValue = TGetInfoValue() - self.infoValue.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TGetInfoResp') - if self.status is not None: - oprot.writeFieldBegin('status', TType.STRUCT, 1) - self.status.write(oprot) - oprot.writeFieldEnd() - if self.infoValue is not None: - oprot.writeFieldBegin('infoValue', TType.STRUCT, 2) - self.infoValue.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.status is None: - raise TProtocolException(message='Required field status is unset!') - if self.infoValue is None: - raise TProtocolException(message='Required field infoValue is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, status=None, infoValue=None,): + self.status = status + self.infoValue = infoValue + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.status = TStatus() + self.status.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRUCT: + self.infoValue = TGetInfoValue() + self.infoValue.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TGetInfoResp') + if self.status is not None: + oprot.writeFieldBegin('status', TType.STRUCT, 1) + self.status.write(oprot) + oprot.writeFieldEnd() + if self.infoValue is not None: + oprot.writeFieldBegin('infoValue', TType.STRUCT, 2) + self.infoValue.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.status is None: + raise TProtocolException(message='Required field status is unset!') + if self.infoValue is None: + raise TProtocolException(message='Required field infoValue is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TSparkGetDirectResults(object): - """ + """ Attributes: - maxRows - maxBytes @@ -5473,69 +5473,69 @@ class TSparkGetDirectResults(object): """ - def __init__(self, maxRows=None, maxBytes=None,): - self.maxRows = maxRows - self.maxBytes = maxBytes - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.I64: - self.maxRows = iprot.readI64() - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.I64: - self.maxBytes = iprot.readI64() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TSparkGetDirectResults') - if self.maxRows is not None: - oprot.writeFieldBegin('maxRows', TType.I64, 1) - oprot.writeI64(self.maxRows) - oprot.writeFieldEnd() - if self.maxBytes is not None: - oprot.writeFieldBegin('maxBytes', TType.I64, 2) - oprot.writeI64(self.maxBytes) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.maxRows is None: - raise TProtocolException(message='Required field maxRows is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, maxRows=None, maxBytes=None,): + self.maxRows = maxRows + self.maxBytes = maxBytes + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.I64: + self.maxRows = iprot.readI64() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.I64: + self.maxBytes = iprot.readI64() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TSparkGetDirectResults') + if self.maxRows is not None: + oprot.writeFieldBegin('maxRows', TType.I64, 1) + oprot.writeI64(self.maxRows) + oprot.writeFieldEnd() + if self.maxBytes is not None: + oprot.writeFieldBegin('maxBytes', TType.I64, 2) + oprot.writeI64(self.maxBytes) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.maxRows is None: + raise TProtocolException(message='Required field maxRows is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TSparkDirectResults(object): - """ + """ Attributes: - operationStatus - resultSetMetadata @@ -5545,91 +5545,91 @@ class TSparkDirectResults(object): """ - def __init__(self, operationStatus=None, resultSetMetadata=None, resultSet=None, closeOperation=None,): - self.operationStatus = operationStatus - self.resultSetMetadata = resultSetMetadata - self.resultSet = resultSet - self.closeOperation = closeOperation - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.operationStatus = TGetOperationStatusResp() - self.operationStatus.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRUCT: - self.resultSetMetadata = TGetResultSetMetadataResp() - self.resultSetMetadata.read(iprot) - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.STRUCT: - self.resultSet = TFetchResultsResp() - self.resultSet.read(iprot) - else: - iprot.skip(ftype) - elif fid == 4: - if ftype == TType.STRUCT: - self.closeOperation = TCloseOperationResp() - self.closeOperation.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TSparkDirectResults') - if self.operationStatus is not None: - oprot.writeFieldBegin('operationStatus', TType.STRUCT, 1) - self.operationStatus.write(oprot) - oprot.writeFieldEnd() - if self.resultSetMetadata is not None: - oprot.writeFieldBegin('resultSetMetadata', TType.STRUCT, 2) - self.resultSetMetadata.write(oprot) - oprot.writeFieldEnd() - if self.resultSet is not None: - oprot.writeFieldBegin('resultSet', TType.STRUCT, 3) - self.resultSet.write(oprot) - oprot.writeFieldEnd() - if self.closeOperation is not None: - oprot.writeFieldBegin('closeOperation', TType.STRUCT, 4) - self.closeOperation.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, operationStatus=None, resultSetMetadata=None, resultSet=None, closeOperation=None,): + self.operationStatus = operationStatus + self.resultSetMetadata = resultSetMetadata + self.resultSet = resultSet + self.closeOperation = closeOperation + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.operationStatus = TGetOperationStatusResp() + self.operationStatus.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRUCT: + self.resultSetMetadata = TGetResultSetMetadataResp() + self.resultSetMetadata.read(iprot) + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.STRUCT: + self.resultSet = TFetchResultsResp() + self.resultSet.read(iprot) + else: + iprot.skip(ftype) + elif fid == 4: + if ftype == TType.STRUCT: + self.closeOperation = TCloseOperationResp() + self.closeOperation.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TSparkDirectResults') + if self.operationStatus is not None: + oprot.writeFieldBegin('operationStatus', TType.STRUCT, 1) + self.operationStatus.write(oprot) + oprot.writeFieldEnd() + if self.resultSetMetadata is not None: + oprot.writeFieldBegin('resultSetMetadata', TType.STRUCT, 2) + self.resultSetMetadata.write(oprot) + oprot.writeFieldEnd() + if self.resultSet is not None: + oprot.writeFieldBegin('resultSet', TType.STRUCT, 3) + self.resultSet.write(oprot) + oprot.writeFieldEnd() + if self.closeOperation is not None: + oprot.writeFieldBegin('closeOperation', TType.STRUCT, 4) + self.closeOperation.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TSparkArrowTypes(object): - """ + """ Attributes: - timestampAsArrow - decimalAsArrow @@ -5640,97 +5640,97 @@ class TSparkArrowTypes(object): """ - def __init__(self, timestampAsArrow=None, decimalAsArrow=None, complexTypesAsArrow=None, intervalTypesAsArrow=None, nullTypeAsArrow=None,): - self.timestampAsArrow = timestampAsArrow - self.decimalAsArrow = decimalAsArrow - self.complexTypesAsArrow = complexTypesAsArrow - self.intervalTypesAsArrow = intervalTypesAsArrow - self.nullTypeAsArrow = nullTypeAsArrow - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.BOOL: - self.timestampAsArrow = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.BOOL: - self.decimalAsArrow = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.BOOL: - self.complexTypesAsArrow = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 4: - if ftype == TType.BOOL: - self.intervalTypesAsArrow = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 5: - if ftype == TType.BOOL: - self.nullTypeAsArrow = iprot.readBool() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TSparkArrowTypes') - if self.timestampAsArrow is not None: - oprot.writeFieldBegin('timestampAsArrow', TType.BOOL, 1) - oprot.writeBool(self.timestampAsArrow) - oprot.writeFieldEnd() - if self.decimalAsArrow is not None: - oprot.writeFieldBegin('decimalAsArrow', TType.BOOL, 2) - oprot.writeBool(self.decimalAsArrow) - oprot.writeFieldEnd() - if self.complexTypesAsArrow is not None: - oprot.writeFieldBegin('complexTypesAsArrow', TType.BOOL, 3) - oprot.writeBool(self.complexTypesAsArrow) - oprot.writeFieldEnd() - if self.intervalTypesAsArrow is not None: - oprot.writeFieldBegin('intervalTypesAsArrow', TType.BOOL, 4) - oprot.writeBool(self.intervalTypesAsArrow) - oprot.writeFieldEnd() - if self.nullTypeAsArrow is not None: - oprot.writeFieldBegin('nullTypeAsArrow', TType.BOOL, 5) - oprot.writeBool(self.nullTypeAsArrow) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, timestampAsArrow=None, decimalAsArrow=None, complexTypesAsArrow=None, intervalTypesAsArrow=None, nullTypeAsArrow=None,): + self.timestampAsArrow = timestampAsArrow + self.decimalAsArrow = decimalAsArrow + self.complexTypesAsArrow = complexTypesAsArrow + self.intervalTypesAsArrow = intervalTypesAsArrow + self.nullTypeAsArrow = nullTypeAsArrow + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.BOOL: + self.timestampAsArrow = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.BOOL: + self.decimalAsArrow = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.BOOL: + self.complexTypesAsArrow = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 4: + if ftype == TType.BOOL: + self.intervalTypesAsArrow = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 5: + if ftype == TType.BOOL: + self.nullTypeAsArrow = iprot.readBool() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TSparkArrowTypes') + if self.timestampAsArrow is not None: + oprot.writeFieldBegin('timestampAsArrow', TType.BOOL, 1) + oprot.writeBool(self.timestampAsArrow) + oprot.writeFieldEnd() + if self.decimalAsArrow is not None: + oprot.writeFieldBegin('decimalAsArrow', TType.BOOL, 2) + oprot.writeBool(self.decimalAsArrow) + oprot.writeFieldEnd() + if self.complexTypesAsArrow is not None: + oprot.writeFieldBegin('complexTypesAsArrow', TType.BOOL, 3) + oprot.writeBool(self.complexTypesAsArrow) + oprot.writeFieldEnd() + if self.intervalTypesAsArrow is not None: + oprot.writeFieldBegin('intervalTypesAsArrow', TType.BOOL, 4) + oprot.writeBool(self.intervalTypesAsArrow) + oprot.writeFieldEnd() + if self.nullTypeAsArrow is not None: + oprot.writeFieldBegin('nullTypeAsArrow', TType.BOOL, 5) + oprot.writeBool(self.nullTypeAsArrow) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TExecuteStatementReq(object): - """ + """ Attributes: - sessionHandle - statement @@ -5772,503 +5772,503 @@ class TExecuteStatementReq(object): """ - def __init__(self, sessionHandle=None, statement=None, confOverlay=None, runAsync=False, getDirectResults=None, queryTimeout=0, canReadArrowResult=None, canDownloadResult=None, canDecompressLZ4Result=None, maxBytesPerFile=None, useArrowNativeTypes=None, resultRowLimit=None, parameters=None, maxBytesPerBatch=None, statementConf=None, operationId=None, sessionConf=None, rejectHighCostQueries=None, estimatedCost=None, executionVersion=None, requestValidation=None, resultPersistenceMode=None, trimArrowBatchesToLimit=None, fetchDisposition=None, enforceResultPersistenceMode=None, statementList=None, persistResultManifest=None, resultRetentionSeconds=None, resultByteLimit=None, resultDataFormat=None, originatingClientIdentity=None, preferSingleFileResult=None, preferDriverOnlyUpload=None, enforceEmbeddedSchemaCorrectness=False, idempotencyToken=None, throwErrorOnByteLimitTruncation=None,): - self.sessionHandle = sessionHandle - self.statement = statement - self.confOverlay = confOverlay - self.runAsync = runAsync - self.getDirectResults = getDirectResults - self.queryTimeout = queryTimeout - self.canReadArrowResult = canReadArrowResult - self.canDownloadResult = canDownloadResult - self.canDecompressLZ4Result = canDecompressLZ4Result - self.maxBytesPerFile = maxBytesPerFile - self.useArrowNativeTypes = useArrowNativeTypes - self.resultRowLimit = resultRowLimit - self.parameters = parameters - self.maxBytesPerBatch = maxBytesPerBatch - self.statementConf = statementConf - self.operationId = operationId - self.sessionConf = sessionConf - self.rejectHighCostQueries = rejectHighCostQueries - self.estimatedCost = estimatedCost - self.executionVersion = executionVersion - self.requestValidation = requestValidation - self.resultPersistenceMode = resultPersistenceMode - self.trimArrowBatchesToLimit = trimArrowBatchesToLimit - self.fetchDisposition = fetchDisposition - self.enforceResultPersistenceMode = enforceResultPersistenceMode - self.statementList = statementList - self.persistResultManifest = persistResultManifest - self.resultRetentionSeconds = resultRetentionSeconds - self.resultByteLimit = resultByteLimit - self.resultDataFormat = resultDataFormat - self.originatingClientIdentity = originatingClientIdentity - self.preferSingleFileResult = preferSingleFileResult - self.preferDriverOnlyUpload = preferDriverOnlyUpload - self.enforceEmbeddedSchemaCorrectness = enforceEmbeddedSchemaCorrectness - self.idempotencyToken = idempotencyToken - self.throwErrorOnByteLimitTruncation = throwErrorOnByteLimitTruncation - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.sessionHandle = TSessionHandle() - self.sessionHandle.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRING: - self.statement = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.MAP: - self.confOverlay = {} - (_ktype247, _vtype248, _size246) = iprot.readMapBegin() - for _i250 in range(_size246): - _key251 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - _val252 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - self.confOverlay[_key251] = _val252 - iprot.readMapEnd() - else: - iprot.skip(ftype) - elif fid == 4: - if ftype == TType.BOOL: - self.runAsync = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 1281: - if ftype == TType.STRUCT: - self.getDirectResults = TSparkGetDirectResults() - self.getDirectResults.read(iprot) - else: - iprot.skip(ftype) - elif fid == 5: - if ftype == TType.I64: - self.queryTimeout = iprot.readI64() - else: - iprot.skip(ftype) - elif fid == 1282: - if ftype == TType.BOOL: - self.canReadArrowResult = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 1283: - if ftype == TType.BOOL: - self.canDownloadResult = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 1284: - if ftype == TType.BOOL: - self.canDecompressLZ4Result = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 1285: - if ftype == TType.I64: - self.maxBytesPerFile = iprot.readI64() - else: - iprot.skip(ftype) - elif fid == 1286: - if ftype == TType.STRUCT: - self.useArrowNativeTypes = TSparkArrowTypes() - self.useArrowNativeTypes.read(iprot) - else: - iprot.skip(ftype) - elif fid == 1287: - if ftype == TType.I64: - self.resultRowLimit = iprot.readI64() - else: - iprot.skip(ftype) - elif fid == 1288: - if ftype == TType.LIST: - self.parameters = [] - (_etype256, _size253) = iprot.readListBegin() - for _i257 in range(_size253): - _elem258 = TSparkParameter() - _elem258.read(iprot) - self.parameters.append(_elem258) - iprot.readListEnd() - else: - iprot.skip(ftype) - elif fid == 1289: - if ftype == TType.I64: - self.maxBytesPerBatch = iprot.readI64() - else: - iprot.skip(ftype) - elif fid == 1296: - if ftype == TType.STRUCT: - self.statementConf = TStatementConf() - self.statementConf.read(iprot) - else: - iprot.skip(ftype) - elif fid == 3329: - if ftype == TType.STRUCT: - self.operationId = THandleIdentifier() - self.operationId.read(iprot) - else: - iprot.skip(ftype) - elif fid == 3330: - if ftype == TType.STRUCT: - self.sessionConf = TDBSqlSessionConf() - self.sessionConf.read(iprot) - else: - iprot.skip(ftype) - elif fid == 3331: - if ftype == TType.BOOL: - self.rejectHighCostQueries = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 3332: - if ftype == TType.DOUBLE: - self.estimatedCost = iprot.readDouble() - else: - iprot.skip(ftype) - elif fid == 3333: - if ftype == TType.I16: - self.executionVersion = iprot.readI16() - else: - iprot.skip(ftype) - elif fid == 3334: - if ftype == TType.STRING: - self.requestValidation = iprot.readBinary() - else: - iprot.skip(ftype) - elif fid == 3335: - if ftype == TType.I32: - self.resultPersistenceMode = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 3336: - if ftype == TType.BOOL: - self.trimArrowBatchesToLimit = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 3337: - if ftype == TType.I32: - self.fetchDisposition = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 3344: - if ftype == TType.BOOL: - self.enforceResultPersistenceMode = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 3345: - if ftype == TType.LIST: - self.statementList = [] - (_etype262, _size259) = iprot.readListBegin() - for _i263 in range(_size259): - _elem264 = TDBSqlStatement() - _elem264.read(iprot) - self.statementList.append(_elem264) - iprot.readListEnd() - else: - iprot.skip(ftype) - elif fid == 3346: - if ftype == TType.BOOL: - self.persistResultManifest = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 3347: - if ftype == TType.I64: - self.resultRetentionSeconds = iprot.readI64() - else: - iprot.skip(ftype) - elif fid == 3348: - if ftype == TType.I64: - self.resultByteLimit = iprot.readI64() - else: - iprot.skip(ftype) - elif fid == 3349: - if ftype == TType.STRUCT: - self.resultDataFormat = TDBSqlResultFormat() - self.resultDataFormat.read(iprot) - else: - iprot.skip(ftype) - elif fid == 3350: - if ftype == TType.STRING: - self.originatingClientIdentity = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 3351: - if ftype == TType.BOOL: - self.preferSingleFileResult = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 3352: - if ftype == TType.BOOL: - self.preferDriverOnlyUpload = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 3353: - if ftype == TType.BOOL: - self.enforceEmbeddedSchemaCorrectness = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 3360: - if ftype == TType.STRING: - self.idempotencyToken = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 3361: - if ftype == TType.BOOL: - self.throwErrorOnByteLimitTruncation = iprot.readBool() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TExecuteStatementReq') - if self.sessionHandle is not None: - oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 1) - self.sessionHandle.write(oprot) - oprot.writeFieldEnd() - if self.statement is not None: - oprot.writeFieldBegin('statement', TType.STRING, 2) - oprot.writeString(self.statement.encode('utf-8') if sys.version_info[0] == 2 else self.statement) - oprot.writeFieldEnd() - if self.confOverlay is not None: - oprot.writeFieldBegin('confOverlay', TType.MAP, 3) - oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.confOverlay)) - for kiter265, viter266 in self.confOverlay.items(): - oprot.writeString(kiter265.encode('utf-8') if sys.version_info[0] == 2 else kiter265) - oprot.writeString(viter266.encode('utf-8') if sys.version_info[0] == 2 else viter266) - oprot.writeMapEnd() - oprot.writeFieldEnd() - if self.runAsync is not None: - oprot.writeFieldBegin('runAsync', TType.BOOL, 4) - oprot.writeBool(self.runAsync) - oprot.writeFieldEnd() - if self.queryTimeout is not None: - oprot.writeFieldBegin('queryTimeout', TType.I64, 5) - oprot.writeI64(self.queryTimeout) - oprot.writeFieldEnd() - if self.getDirectResults is not None: - oprot.writeFieldBegin('getDirectResults', TType.STRUCT, 1281) - self.getDirectResults.write(oprot) - oprot.writeFieldEnd() - if self.canReadArrowResult is not None: - oprot.writeFieldBegin('canReadArrowResult', TType.BOOL, 1282) - oprot.writeBool(self.canReadArrowResult) - oprot.writeFieldEnd() - if self.canDownloadResult is not None: - oprot.writeFieldBegin('canDownloadResult', TType.BOOL, 1283) - oprot.writeBool(self.canDownloadResult) - oprot.writeFieldEnd() - if self.canDecompressLZ4Result is not None: - oprot.writeFieldBegin('canDecompressLZ4Result', TType.BOOL, 1284) - oprot.writeBool(self.canDecompressLZ4Result) - oprot.writeFieldEnd() - if self.maxBytesPerFile is not None: - oprot.writeFieldBegin('maxBytesPerFile', TType.I64, 1285) - oprot.writeI64(self.maxBytesPerFile) - oprot.writeFieldEnd() - if self.useArrowNativeTypes is not None: - oprot.writeFieldBegin('useArrowNativeTypes', TType.STRUCT, 1286) - self.useArrowNativeTypes.write(oprot) - oprot.writeFieldEnd() - if self.resultRowLimit is not None: - oprot.writeFieldBegin('resultRowLimit', TType.I64, 1287) - oprot.writeI64(self.resultRowLimit) - oprot.writeFieldEnd() - if self.parameters is not None: - oprot.writeFieldBegin('parameters', TType.LIST, 1288) - oprot.writeListBegin(TType.STRUCT, len(self.parameters)) - for iter267 in self.parameters: - iter267.write(oprot) - oprot.writeListEnd() - oprot.writeFieldEnd() - if self.maxBytesPerBatch is not None: - oprot.writeFieldBegin('maxBytesPerBatch', TType.I64, 1289) - oprot.writeI64(self.maxBytesPerBatch) - oprot.writeFieldEnd() - if self.statementConf is not None: - oprot.writeFieldBegin('statementConf', TType.STRUCT, 1296) - self.statementConf.write(oprot) - oprot.writeFieldEnd() - if self.operationId is not None: - oprot.writeFieldBegin('operationId', TType.STRUCT, 3329) - self.operationId.write(oprot) - oprot.writeFieldEnd() - if self.sessionConf is not None: - oprot.writeFieldBegin('sessionConf', TType.STRUCT, 3330) - self.sessionConf.write(oprot) - oprot.writeFieldEnd() - if self.rejectHighCostQueries is not None: - oprot.writeFieldBegin('rejectHighCostQueries', TType.BOOL, 3331) - oprot.writeBool(self.rejectHighCostQueries) - oprot.writeFieldEnd() - if self.estimatedCost is not None: - oprot.writeFieldBegin('estimatedCost', TType.DOUBLE, 3332) - oprot.writeDouble(self.estimatedCost) - oprot.writeFieldEnd() - if self.executionVersion is not None: - oprot.writeFieldBegin('executionVersion', TType.I16, 3333) - oprot.writeI16(self.executionVersion) - oprot.writeFieldEnd() - if self.requestValidation is not None: - oprot.writeFieldBegin('requestValidation', TType.STRING, 3334) - oprot.writeBinary(self.requestValidation) - oprot.writeFieldEnd() - if self.resultPersistenceMode is not None: - oprot.writeFieldBegin('resultPersistenceMode', TType.I32, 3335) - oprot.writeI32(self.resultPersistenceMode) - oprot.writeFieldEnd() - if self.trimArrowBatchesToLimit is not None: - oprot.writeFieldBegin('trimArrowBatchesToLimit', TType.BOOL, 3336) - oprot.writeBool(self.trimArrowBatchesToLimit) - oprot.writeFieldEnd() - if self.fetchDisposition is not None: - oprot.writeFieldBegin('fetchDisposition', TType.I32, 3337) - oprot.writeI32(self.fetchDisposition) - oprot.writeFieldEnd() - if self.enforceResultPersistenceMode is not None: - oprot.writeFieldBegin('enforceResultPersistenceMode', TType.BOOL, 3344) - oprot.writeBool(self.enforceResultPersistenceMode) - oprot.writeFieldEnd() - if self.statementList is not None: - oprot.writeFieldBegin('statementList', TType.LIST, 3345) - oprot.writeListBegin(TType.STRUCT, len(self.statementList)) - for iter268 in self.statementList: - iter268.write(oprot) - oprot.writeListEnd() - oprot.writeFieldEnd() - if self.persistResultManifest is not None: - oprot.writeFieldBegin('persistResultManifest', TType.BOOL, 3346) - oprot.writeBool(self.persistResultManifest) - oprot.writeFieldEnd() - if self.resultRetentionSeconds is not None: - oprot.writeFieldBegin('resultRetentionSeconds', TType.I64, 3347) - oprot.writeI64(self.resultRetentionSeconds) - oprot.writeFieldEnd() - if self.resultByteLimit is not None: - oprot.writeFieldBegin('resultByteLimit', TType.I64, 3348) - oprot.writeI64(self.resultByteLimit) - oprot.writeFieldEnd() - if self.resultDataFormat is not None: - oprot.writeFieldBegin('resultDataFormat', TType.STRUCT, 3349) - self.resultDataFormat.write(oprot) - oprot.writeFieldEnd() - if self.originatingClientIdentity is not None: - oprot.writeFieldBegin('originatingClientIdentity', TType.STRING, 3350) - oprot.writeString(self.originatingClientIdentity.encode('utf-8') if sys.version_info[0] == 2 else self.originatingClientIdentity) - oprot.writeFieldEnd() - if self.preferSingleFileResult is not None: - oprot.writeFieldBegin('preferSingleFileResult', TType.BOOL, 3351) - oprot.writeBool(self.preferSingleFileResult) - oprot.writeFieldEnd() - if self.preferDriverOnlyUpload is not None: - oprot.writeFieldBegin('preferDriverOnlyUpload', TType.BOOL, 3352) - oprot.writeBool(self.preferDriverOnlyUpload) - oprot.writeFieldEnd() - if self.enforceEmbeddedSchemaCorrectness is not None: - oprot.writeFieldBegin('enforceEmbeddedSchemaCorrectness', TType.BOOL, 3353) - oprot.writeBool(self.enforceEmbeddedSchemaCorrectness) - oprot.writeFieldEnd() - if self.idempotencyToken is not None: - oprot.writeFieldBegin('idempotencyToken', TType.STRING, 3360) - oprot.writeString(self.idempotencyToken.encode('utf-8') if sys.version_info[0] == 2 else self.idempotencyToken) - oprot.writeFieldEnd() - if self.throwErrorOnByteLimitTruncation is not None: - oprot.writeFieldBegin('throwErrorOnByteLimitTruncation', TType.BOOL, 3361) - oprot.writeBool(self.throwErrorOnByteLimitTruncation) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.sessionHandle is None: - raise TProtocolException(message='Required field sessionHandle is unset!') - if self.statement is None: - raise TProtocolException(message='Required field statement is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, sessionHandle=None, statement=None, confOverlay=None, runAsync=False, getDirectResults=None, queryTimeout=0, canReadArrowResult=None, canDownloadResult=None, canDecompressLZ4Result=None, maxBytesPerFile=None, useArrowNativeTypes=None, resultRowLimit=None, parameters=None, maxBytesPerBatch=None, statementConf=None, operationId=None, sessionConf=None, rejectHighCostQueries=None, estimatedCost=None, executionVersion=None, requestValidation=None, resultPersistenceMode=None, trimArrowBatchesToLimit=None, fetchDisposition=None, enforceResultPersistenceMode=None, statementList=None, persistResultManifest=None, resultRetentionSeconds=None, resultByteLimit=None, resultDataFormat=None, originatingClientIdentity=None, preferSingleFileResult=None, preferDriverOnlyUpload=None, enforceEmbeddedSchemaCorrectness=False, idempotencyToken=None, throwErrorOnByteLimitTruncation=None,): + self.sessionHandle = sessionHandle + self.statement = statement + self.confOverlay = confOverlay + self.runAsync = runAsync + self.getDirectResults = getDirectResults + self.queryTimeout = queryTimeout + self.canReadArrowResult = canReadArrowResult + self.canDownloadResult = canDownloadResult + self.canDecompressLZ4Result = canDecompressLZ4Result + self.maxBytesPerFile = maxBytesPerFile + self.useArrowNativeTypes = useArrowNativeTypes + self.resultRowLimit = resultRowLimit + self.parameters = parameters + self.maxBytesPerBatch = maxBytesPerBatch + self.statementConf = statementConf + self.operationId = operationId + self.sessionConf = sessionConf + self.rejectHighCostQueries = rejectHighCostQueries + self.estimatedCost = estimatedCost + self.executionVersion = executionVersion + self.requestValidation = requestValidation + self.resultPersistenceMode = resultPersistenceMode + self.trimArrowBatchesToLimit = trimArrowBatchesToLimit + self.fetchDisposition = fetchDisposition + self.enforceResultPersistenceMode = enforceResultPersistenceMode + self.statementList = statementList + self.persistResultManifest = persistResultManifest + self.resultRetentionSeconds = resultRetentionSeconds + self.resultByteLimit = resultByteLimit + self.resultDataFormat = resultDataFormat + self.originatingClientIdentity = originatingClientIdentity + self.preferSingleFileResult = preferSingleFileResult + self.preferDriverOnlyUpload = preferDriverOnlyUpload + self.enforceEmbeddedSchemaCorrectness = enforceEmbeddedSchemaCorrectness + self.idempotencyToken = idempotencyToken + self.throwErrorOnByteLimitTruncation = throwErrorOnByteLimitTruncation + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.sessionHandle = TSessionHandle() + self.sessionHandle.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRING: + self.statement = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.MAP: + self.confOverlay = {} + (_ktype247, _vtype248, _size246) = iprot.readMapBegin() + for _i250 in range(_size246): + _key251 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + _val252 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.confOverlay[_key251] = _val252 + iprot.readMapEnd() + else: + iprot.skip(ftype) + elif fid == 4: + if ftype == TType.BOOL: + self.runAsync = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 1281: + if ftype == TType.STRUCT: + self.getDirectResults = TSparkGetDirectResults() + self.getDirectResults.read(iprot) + else: + iprot.skip(ftype) + elif fid == 5: + if ftype == TType.I64: + self.queryTimeout = iprot.readI64() + else: + iprot.skip(ftype) + elif fid == 1282: + if ftype == TType.BOOL: + self.canReadArrowResult = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 1283: + if ftype == TType.BOOL: + self.canDownloadResult = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 1284: + if ftype == TType.BOOL: + self.canDecompressLZ4Result = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 1285: + if ftype == TType.I64: + self.maxBytesPerFile = iprot.readI64() + else: + iprot.skip(ftype) + elif fid == 1286: + if ftype == TType.STRUCT: + self.useArrowNativeTypes = TSparkArrowTypes() + self.useArrowNativeTypes.read(iprot) + else: + iprot.skip(ftype) + elif fid == 1287: + if ftype == TType.I64: + self.resultRowLimit = iprot.readI64() + else: + iprot.skip(ftype) + elif fid == 1288: + if ftype == TType.LIST: + self.parameters = [] + (_etype256, _size253) = iprot.readListBegin() + for _i257 in range(_size253): + _elem258 = TSparkParameter() + _elem258.read(iprot) + self.parameters.append(_elem258) + iprot.readListEnd() + else: + iprot.skip(ftype) + elif fid == 1289: + if ftype == TType.I64: + self.maxBytesPerBatch = iprot.readI64() + else: + iprot.skip(ftype) + elif fid == 1296: + if ftype == TType.STRUCT: + self.statementConf = TStatementConf() + self.statementConf.read(iprot) + else: + iprot.skip(ftype) + elif fid == 3329: + if ftype == TType.STRUCT: + self.operationId = THandleIdentifier() + self.operationId.read(iprot) + else: + iprot.skip(ftype) + elif fid == 3330: + if ftype == TType.STRUCT: + self.sessionConf = TDBSqlSessionConf() + self.sessionConf.read(iprot) + else: + iprot.skip(ftype) + elif fid == 3331: + if ftype == TType.BOOL: + self.rejectHighCostQueries = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 3332: + if ftype == TType.DOUBLE: + self.estimatedCost = iprot.readDouble() + else: + iprot.skip(ftype) + elif fid == 3333: + if ftype == TType.I16: + self.executionVersion = iprot.readI16() + else: + iprot.skip(ftype) + elif fid == 3334: + if ftype == TType.STRING: + self.requestValidation = iprot.readBinary() + else: + iprot.skip(ftype) + elif fid == 3335: + if ftype == TType.I32: + self.resultPersistenceMode = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 3336: + if ftype == TType.BOOL: + self.trimArrowBatchesToLimit = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 3337: + if ftype == TType.I32: + self.fetchDisposition = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 3344: + if ftype == TType.BOOL: + self.enforceResultPersistenceMode = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 3345: + if ftype == TType.LIST: + self.statementList = [] + (_etype262, _size259) = iprot.readListBegin() + for _i263 in range(_size259): + _elem264 = TDBSqlStatement() + _elem264.read(iprot) + self.statementList.append(_elem264) + iprot.readListEnd() + else: + iprot.skip(ftype) + elif fid == 3346: + if ftype == TType.BOOL: + self.persistResultManifest = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 3347: + if ftype == TType.I64: + self.resultRetentionSeconds = iprot.readI64() + else: + iprot.skip(ftype) + elif fid == 3348: + if ftype == TType.I64: + self.resultByteLimit = iprot.readI64() + else: + iprot.skip(ftype) + elif fid == 3349: + if ftype == TType.STRUCT: + self.resultDataFormat = TDBSqlResultFormat() + self.resultDataFormat.read(iprot) + else: + iprot.skip(ftype) + elif fid == 3350: + if ftype == TType.STRING: + self.originatingClientIdentity = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 3351: + if ftype == TType.BOOL: + self.preferSingleFileResult = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 3352: + if ftype == TType.BOOL: + self.preferDriverOnlyUpload = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 3353: + if ftype == TType.BOOL: + self.enforceEmbeddedSchemaCorrectness = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 3360: + if ftype == TType.STRING: + self.idempotencyToken = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 3361: + if ftype == TType.BOOL: + self.throwErrorOnByteLimitTruncation = iprot.readBool() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TExecuteStatementReq') + if self.sessionHandle is not None: + oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 1) + self.sessionHandle.write(oprot) + oprot.writeFieldEnd() + if self.statement is not None: + oprot.writeFieldBegin('statement', TType.STRING, 2) + oprot.writeString(self.statement.encode('utf-8') if sys.version_info[0] == 2 else self.statement) + oprot.writeFieldEnd() + if self.confOverlay is not None: + oprot.writeFieldBegin('confOverlay', TType.MAP, 3) + oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.confOverlay)) + for kiter265, viter266 in self.confOverlay.items(): + oprot.writeString(kiter265.encode('utf-8') if sys.version_info[0] == 2 else kiter265) + oprot.writeString(viter266.encode('utf-8') if sys.version_info[0] == 2 else viter266) + oprot.writeMapEnd() + oprot.writeFieldEnd() + if self.runAsync is not None: + oprot.writeFieldBegin('runAsync', TType.BOOL, 4) + oprot.writeBool(self.runAsync) + oprot.writeFieldEnd() + if self.queryTimeout is not None: + oprot.writeFieldBegin('queryTimeout', TType.I64, 5) + oprot.writeI64(self.queryTimeout) + oprot.writeFieldEnd() + if self.getDirectResults is not None: + oprot.writeFieldBegin('getDirectResults', TType.STRUCT, 1281) + self.getDirectResults.write(oprot) + oprot.writeFieldEnd() + if self.canReadArrowResult is not None: + oprot.writeFieldBegin('canReadArrowResult', TType.BOOL, 1282) + oprot.writeBool(self.canReadArrowResult) + oprot.writeFieldEnd() + if self.canDownloadResult is not None: + oprot.writeFieldBegin('canDownloadResult', TType.BOOL, 1283) + oprot.writeBool(self.canDownloadResult) + oprot.writeFieldEnd() + if self.canDecompressLZ4Result is not None: + oprot.writeFieldBegin('canDecompressLZ4Result', TType.BOOL, 1284) + oprot.writeBool(self.canDecompressLZ4Result) + oprot.writeFieldEnd() + if self.maxBytesPerFile is not None: + oprot.writeFieldBegin('maxBytesPerFile', TType.I64, 1285) + oprot.writeI64(self.maxBytesPerFile) + oprot.writeFieldEnd() + if self.useArrowNativeTypes is not None: + oprot.writeFieldBegin('useArrowNativeTypes', TType.STRUCT, 1286) + self.useArrowNativeTypes.write(oprot) + oprot.writeFieldEnd() + if self.resultRowLimit is not None: + oprot.writeFieldBegin('resultRowLimit', TType.I64, 1287) + oprot.writeI64(self.resultRowLimit) + oprot.writeFieldEnd() + if self.parameters is not None: + oprot.writeFieldBegin('parameters', TType.LIST, 1288) + oprot.writeListBegin(TType.STRUCT, len(self.parameters)) + for iter267 in self.parameters: + iter267.write(oprot) + oprot.writeListEnd() + oprot.writeFieldEnd() + if self.maxBytesPerBatch is not None: + oprot.writeFieldBegin('maxBytesPerBatch', TType.I64, 1289) + oprot.writeI64(self.maxBytesPerBatch) + oprot.writeFieldEnd() + if self.statementConf is not None: + oprot.writeFieldBegin('statementConf', TType.STRUCT, 1296) + self.statementConf.write(oprot) + oprot.writeFieldEnd() + if self.operationId is not None: + oprot.writeFieldBegin('operationId', TType.STRUCT, 3329) + self.operationId.write(oprot) + oprot.writeFieldEnd() + if self.sessionConf is not None: + oprot.writeFieldBegin('sessionConf', TType.STRUCT, 3330) + self.sessionConf.write(oprot) + oprot.writeFieldEnd() + if self.rejectHighCostQueries is not None: + oprot.writeFieldBegin('rejectHighCostQueries', TType.BOOL, 3331) + oprot.writeBool(self.rejectHighCostQueries) + oprot.writeFieldEnd() + if self.estimatedCost is not None: + oprot.writeFieldBegin('estimatedCost', TType.DOUBLE, 3332) + oprot.writeDouble(self.estimatedCost) + oprot.writeFieldEnd() + if self.executionVersion is not None: + oprot.writeFieldBegin('executionVersion', TType.I16, 3333) + oprot.writeI16(self.executionVersion) + oprot.writeFieldEnd() + if self.requestValidation is not None: + oprot.writeFieldBegin('requestValidation', TType.STRING, 3334) + oprot.writeBinary(self.requestValidation) + oprot.writeFieldEnd() + if self.resultPersistenceMode is not None: + oprot.writeFieldBegin('resultPersistenceMode', TType.I32, 3335) + oprot.writeI32(self.resultPersistenceMode) + oprot.writeFieldEnd() + if self.trimArrowBatchesToLimit is not None: + oprot.writeFieldBegin('trimArrowBatchesToLimit', TType.BOOL, 3336) + oprot.writeBool(self.trimArrowBatchesToLimit) + oprot.writeFieldEnd() + if self.fetchDisposition is not None: + oprot.writeFieldBegin('fetchDisposition', TType.I32, 3337) + oprot.writeI32(self.fetchDisposition) + oprot.writeFieldEnd() + if self.enforceResultPersistenceMode is not None: + oprot.writeFieldBegin('enforceResultPersistenceMode', TType.BOOL, 3344) + oprot.writeBool(self.enforceResultPersistenceMode) + oprot.writeFieldEnd() + if self.statementList is not None: + oprot.writeFieldBegin('statementList', TType.LIST, 3345) + oprot.writeListBegin(TType.STRUCT, len(self.statementList)) + for iter268 in self.statementList: + iter268.write(oprot) + oprot.writeListEnd() + oprot.writeFieldEnd() + if self.persistResultManifest is not None: + oprot.writeFieldBegin('persistResultManifest', TType.BOOL, 3346) + oprot.writeBool(self.persistResultManifest) + oprot.writeFieldEnd() + if self.resultRetentionSeconds is not None: + oprot.writeFieldBegin('resultRetentionSeconds', TType.I64, 3347) + oprot.writeI64(self.resultRetentionSeconds) + oprot.writeFieldEnd() + if self.resultByteLimit is not None: + oprot.writeFieldBegin('resultByteLimit', TType.I64, 3348) + oprot.writeI64(self.resultByteLimit) + oprot.writeFieldEnd() + if self.resultDataFormat is not None: + oprot.writeFieldBegin('resultDataFormat', TType.STRUCT, 3349) + self.resultDataFormat.write(oprot) + oprot.writeFieldEnd() + if self.originatingClientIdentity is not None: + oprot.writeFieldBegin('originatingClientIdentity', TType.STRING, 3350) + oprot.writeString(self.originatingClientIdentity.encode('utf-8') if sys.version_info[0] == 2 else self.originatingClientIdentity) + oprot.writeFieldEnd() + if self.preferSingleFileResult is not None: + oprot.writeFieldBegin('preferSingleFileResult', TType.BOOL, 3351) + oprot.writeBool(self.preferSingleFileResult) + oprot.writeFieldEnd() + if self.preferDriverOnlyUpload is not None: + oprot.writeFieldBegin('preferDriverOnlyUpload', TType.BOOL, 3352) + oprot.writeBool(self.preferDriverOnlyUpload) + oprot.writeFieldEnd() + if self.enforceEmbeddedSchemaCorrectness is not None: + oprot.writeFieldBegin('enforceEmbeddedSchemaCorrectness', TType.BOOL, 3353) + oprot.writeBool(self.enforceEmbeddedSchemaCorrectness) + oprot.writeFieldEnd() + if self.idempotencyToken is not None: + oprot.writeFieldBegin('idempotencyToken', TType.STRING, 3360) + oprot.writeString(self.idempotencyToken.encode('utf-8') if sys.version_info[0] == 2 else self.idempotencyToken) + oprot.writeFieldEnd() + if self.throwErrorOnByteLimitTruncation is not None: + oprot.writeFieldBegin('throwErrorOnByteLimitTruncation', TType.BOOL, 3361) + oprot.writeBool(self.throwErrorOnByteLimitTruncation) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.sessionHandle is None: + raise TProtocolException(message='Required field sessionHandle is unset!') + if self.statement is None: + raise TProtocolException(message='Required field statement is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TDBSqlStatement(object): - """ + """ Attributes: - statement """ - def __init__(self, statement=None,): - self.statement = statement - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRING: - self.statement = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TDBSqlStatement') - if self.statement is not None: - oprot.writeFieldBegin('statement', TType.STRING, 1) - oprot.writeString(self.statement.encode('utf-8') if sys.version_info[0] == 2 else self.statement) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, statement=None,): + self.statement = statement + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRING: + self.statement = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TDBSqlStatement') + if self.statement is not None: + oprot.writeFieldBegin('statement', TType.STRING, 1) + oprot.writeString(self.statement.encode('utf-8') if sys.version_info[0] == 2 else self.statement) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TSparkParameterValue(object): - """ + """ Attributes: - stringValue - doubleValue @@ -6277,77 +6277,77 @@ class TSparkParameterValue(object): """ - def __init__(self, stringValue=None, doubleValue=None, booleanValue=None,): - self.stringValue = stringValue - self.doubleValue = doubleValue - self.booleanValue = booleanValue - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRING: - self.stringValue = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.DOUBLE: - self.doubleValue = iprot.readDouble() - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.BOOL: - self.booleanValue = iprot.readBool() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TSparkParameterValue') - if self.stringValue is not None: - oprot.writeFieldBegin('stringValue', TType.STRING, 1) - oprot.writeString(self.stringValue.encode('utf-8') if sys.version_info[0] == 2 else self.stringValue) - oprot.writeFieldEnd() - if self.doubleValue is not None: - oprot.writeFieldBegin('doubleValue', TType.DOUBLE, 2) - oprot.writeDouble(self.doubleValue) - oprot.writeFieldEnd() - if self.booleanValue is not None: - oprot.writeFieldBegin('booleanValue', TType.BOOL, 3) - oprot.writeBool(self.booleanValue) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, stringValue=None, doubleValue=None, booleanValue=None,): + self.stringValue = stringValue + self.doubleValue = doubleValue + self.booleanValue = booleanValue + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRING: + self.stringValue = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.DOUBLE: + self.doubleValue = iprot.readDouble() + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.BOOL: + self.booleanValue = iprot.readBool() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TSparkParameterValue') + if self.stringValue is not None: + oprot.writeFieldBegin('stringValue', TType.STRING, 1) + oprot.writeString(self.stringValue.encode('utf-8') if sys.version_info[0] == 2 else self.stringValue) + oprot.writeFieldEnd() + if self.doubleValue is not None: + oprot.writeFieldBegin('doubleValue', TType.DOUBLE, 2) + oprot.writeDouble(self.doubleValue) + oprot.writeFieldEnd() + if self.booleanValue is not None: + oprot.writeFieldBegin('booleanValue', TType.BOOL, 3) + oprot.writeBool(self.booleanValue) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TSparkParameter(object): - """ + """ Attributes: - ordinal - name @@ -6357,88 +6357,88 @@ class TSparkParameter(object): """ - def __init__(self, ordinal=None, name=None, type=None, value=None,): - self.ordinal = ordinal - self.name = name - self.type = type - self.value = value - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.I32: - self.ordinal = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRING: - self.name = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.STRING: - self.type = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 4: - if ftype == TType.STRUCT: - self.value = TSparkParameterValue() - self.value.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TSparkParameter') - if self.ordinal is not None: - oprot.writeFieldBegin('ordinal', TType.I32, 1) - oprot.writeI32(self.ordinal) - oprot.writeFieldEnd() - if self.name is not None: - oprot.writeFieldBegin('name', TType.STRING, 2) - oprot.writeString(self.name.encode('utf-8') if sys.version_info[0] == 2 else self.name) - oprot.writeFieldEnd() - if self.type is not None: - oprot.writeFieldBegin('type', TType.STRING, 3) - oprot.writeString(self.type.encode('utf-8') if sys.version_info[0] == 2 else self.type) - oprot.writeFieldEnd() - if self.value is not None: - oprot.writeFieldBegin('value', TType.STRUCT, 4) - self.value.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, ordinal=None, name=None, type=None, value=None,): + self.ordinal = ordinal + self.name = name + self.type = type + self.value = value + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.I32: + self.ordinal = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRING: + self.name = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.STRING: + self.type = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 4: + if ftype == TType.STRUCT: + self.value = TSparkParameterValue() + self.value.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TSparkParameter') + if self.ordinal is not None: + oprot.writeFieldBegin('ordinal', TType.I32, 1) + oprot.writeI32(self.ordinal) + oprot.writeFieldEnd() + if self.name is not None: + oprot.writeFieldBegin('name', TType.STRING, 2) + oprot.writeString(self.name.encode('utf-8') if sys.version_info[0] == 2 else self.name) + oprot.writeFieldEnd() + if self.type is not None: + oprot.writeFieldBegin('type', TType.STRING, 3) + oprot.writeString(self.type.encode('utf-8') if sys.version_info[0] == 2 else self.type) + oprot.writeFieldEnd() + if self.value is not None: + oprot.writeFieldBegin('value', TType.STRUCT, 4) + self.value.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TStatementConf(object): - """ + """ Attributes: - sessionless - initialNamespace @@ -6448,88 +6448,88 @@ class TStatementConf(object): """ - def __init__(self, sessionless=None, initialNamespace=None, client_protocol=None, client_protocol_i64=None,): - self.sessionless = sessionless - self.initialNamespace = initialNamespace - self.client_protocol = client_protocol - self.client_protocol_i64 = client_protocol_i64 - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.BOOL: - self.sessionless = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRUCT: - self.initialNamespace = TNamespace() - self.initialNamespace.read(iprot) - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.I32: - self.client_protocol = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 4: - if ftype == TType.I64: - self.client_protocol_i64 = iprot.readI64() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TStatementConf') - if self.sessionless is not None: - oprot.writeFieldBegin('sessionless', TType.BOOL, 1) - oprot.writeBool(self.sessionless) - oprot.writeFieldEnd() - if self.initialNamespace is not None: - oprot.writeFieldBegin('initialNamespace', TType.STRUCT, 2) - self.initialNamespace.write(oprot) - oprot.writeFieldEnd() - if self.client_protocol is not None: - oprot.writeFieldBegin('client_protocol', TType.I32, 3) - oprot.writeI32(self.client_protocol) - oprot.writeFieldEnd() - if self.client_protocol_i64 is not None: - oprot.writeFieldBegin('client_protocol_i64', TType.I64, 4) - oprot.writeI64(self.client_protocol_i64) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, sessionless=None, initialNamespace=None, client_protocol=None, client_protocol_i64=None,): + self.sessionless = sessionless + self.initialNamespace = initialNamespace + self.client_protocol = client_protocol + self.client_protocol_i64 = client_protocol_i64 + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.BOOL: + self.sessionless = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRUCT: + self.initialNamespace = TNamespace() + self.initialNamespace.read(iprot) + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.I32: + self.client_protocol = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 4: + if ftype == TType.I64: + self.client_protocol_i64 = iprot.readI64() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TStatementConf') + if self.sessionless is not None: + oprot.writeFieldBegin('sessionless', TType.BOOL, 1) + oprot.writeBool(self.sessionless) + oprot.writeFieldEnd() + if self.initialNamespace is not None: + oprot.writeFieldBegin('initialNamespace', TType.STRUCT, 2) + self.initialNamespace.write(oprot) + oprot.writeFieldEnd() + if self.client_protocol is not None: + oprot.writeFieldBegin('client_protocol', TType.I32, 3) + oprot.writeI32(self.client_protocol) + oprot.writeFieldEnd() + if self.client_protocol_i64 is not None: + oprot.writeFieldBegin('client_protocol_i64', TType.I64, 4) + oprot.writeI64(self.client_protocol_i64) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TExecuteStatementResp(object): - """ + """ Attributes: - status - operationHandle @@ -6547,182 +6547,182 @@ class TExecuteStatementResp(object): """ - def __init__(self, status=None, operationHandle=None, directResults=None, executionRejected=None, maxClusterCapacity=None, queryCost=None, sessionConf=None, currentClusterLoad=None, idempotencyType=None, remoteResultCacheEnabled=None, isServerless=None, operationHandles=None,): - self.status = status - self.operationHandle = operationHandle - self.directResults = directResults - self.executionRejected = executionRejected - self.maxClusterCapacity = maxClusterCapacity - self.queryCost = queryCost - self.sessionConf = sessionConf - self.currentClusterLoad = currentClusterLoad - self.idempotencyType = idempotencyType - self.remoteResultCacheEnabled = remoteResultCacheEnabled - self.isServerless = isServerless - self.operationHandles = operationHandles - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.status = TStatus() - self.status.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRUCT: - self.operationHandle = TOperationHandle() - self.operationHandle.read(iprot) - else: - iprot.skip(ftype) - elif fid == 1281: - if ftype == TType.STRUCT: - self.directResults = TSparkDirectResults() - self.directResults.read(iprot) - else: - iprot.skip(ftype) - elif fid == 3329: - if ftype == TType.BOOL: - self.executionRejected = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 3330: - if ftype == TType.DOUBLE: - self.maxClusterCapacity = iprot.readDouble() - else: - iprot.skip(ftype) - elif fid == 3331: - if ftype == TType.DOUBLE: - self.queryCost = iprot.readDouble() - else: - iprot.skip(ftype) - elif fid == 3332: - if ftype == TType.STRUCT: - self.sessionConf = TDBSqlSessionConf() - self.sessionConf.read(iprot) - else: - iprot.skip(ftype) - elif fid == 3333: - if ftype == TType.DOUBLE: - self.currentClusterLoad = iprot.readDouble() - else: - iprot.skip(ftype) - elif fid == 3334: - if ftype == TType.I32: - self.idempotencyType = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 3335: - if ftype == TType.BOOL: - self.remoteResultCacheEnabled = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 3336: - if ftype == TType.BOOL: - self.isServerless = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 3337: - if ftype == TType.LIST: - self.operationHandles = [] - (_etype272, _size269) = iprot.readListBegin() - for _i273 in range(_size269): - _elem274 = TOperationHandle() - _elem274.read(iprot) - self.operationHandles.append(_elem274) - iprot.readListEnd() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TExecuteStatementResp') - if self.status is not None: - oprot.writeFieldBegin('status', TType.STRUCT, 1) - self.status.write(oprot) - oprot.writeFieldEnd() - if self.operationHandle is not None: - oprot.writeFieldBegin('operationHandle', TType.STRUCT, 2) - self.operationHandle.write(oprot) - oprot.writeFieldEnd() - if self.directResults is not None: - oprot.writeFieldBegin('directResults', TType.STRUCT, 1281) - self.directResults.write(oprot) - oprot.writeFieldEnd() - if self.executionRejected is not None: - oprot.writeFieldBegin('executionRejected', TType.BOOL, 3329) - oprot.writeBool(self.executionRejected) - oprot.writeFieldEnd() - if self.maxClusterCapacity is not None: - oprot.writeFieldBegin('maxClusterCapacity', TType.DOUBLE, 3330) - oprot.writeDouble(self.maxClusterCapacity) - oprot.writeFieldEnd() - if self.queryCost is not None: - oprot.writeFieldBegin('queryCost', TType.DOUBLE, 3331) - oprot.writeDouble(self.queryCost) - oprot.writeFieldEnd() - if self.sessionConf is not None: - oprot.writeFieldBegin('sessionConf', TType.STRUCT, 3332) - self.sessionConf.write(oprot) - oprot.writeFieldEnd() - if self.currentClusterLoad is not None: - oprot.writeFieldBegin('currentClusterLoad', TType.DOUBLE, 3333) - oprot.writeDouble(self.currentClusterLoad) - oprot.writeFieldEnd() - if self.idempotencyType is not None: - oprot.writeFieldBegin('idempotencyType', TType.I32, 3334) - oprot.writeI32(self.idempotencyType) - oprot.writeFieldEnd() - if self.remoteResultCacheEnabled is not None: - oprot.writeFieldBegin('remoteResultCacheEnabled', TType.BOOL, 3335) - oprot.writeBool(self.remoteResultCacheEnabled) - oprot.writeFieldEnd() - if self.isServerless is not None: - oprot.writeFieldBegin('isServerless', TType.BOOL, 3336) - oprot.writeBool(self.isServerless) - oprot.writeFieldEnd() - if self.operationHandles is not None: - oprot.writeFieldBegin('operationHandles', TType.LIST, 3337) - oprot.writeListBegin(TType.STRUCT, len(self.operationHandles)) - for iter275 in self.operationHandles: - iter275.write(oprot) - oprot.writeListEnd() - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.status is None: - raise TProtocolException(message='Required field status is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, status=None, operationHandle=None, directResults=None, executionRejected=None, maxClusterCapacity=None, queryCost=None, sessionConf=None, currentClusterLoad=None, idempotencyType=None, remoteResultCacheEnabled=None, isServerless=None, operationHandles=None,): + self.status = status + self.operationHandle = operationHandle + self.directResults = directResults + self.executionRejected = executionRejected + self.maxClusterCapacity = maxClusterCapacity + self.queryCost = queryCost + self.sessionConf = sessionConf + self.currentClusterLoad = currentClusterLoad + self.idempotencyType = idempotencyType + self.remoteResultCacheEnabled = remoteResultCacheEnabled + self.isServerless = isServerless + self.operationHandles = operationHandles + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.status = TStatus() + self.status.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRUCT: + self.operationHandle = TOperationHandle() + self.operationHandle.read(iprot) + else: + iprot.skip(ftype) + elif fid == 1281: + if ftype == TType.STRUCT: + self.directResults = TSparkDirectResults() + self.directResults.read(iprot) + else: + iprot.skip(ftype) + elif fid == 3329: + if ftype == TType.BOOL: + self.executionRejected = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 3330: + if ftype == TType.DOUBLE: + self.maxClusterCapacity = iprot.readDouble() + else: + iprot.skip(ftype) + elif fid == 3331: + if ftype == TType.DOUBLE: + self.queryCost = iprot.readDouble() + else: + iprot.skip(ftype) + elif fid == 3332: + if ftype == TType.STRUCT: + self.sessionConf = TDBSqlSessionConf() + self.sessionConf.read(iprot) + else: + iprot.skip(ftype) + elif fid == 3333: + if ftype == TType.DOUBLE: + self.currentClusterLoad = iprot.readDouble() + else: + iprot.skip(ftype) + elif fid == 3334: + if ftype == TType.I32: + self.idempotencyType = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 3335: + if ftype == TType.BOOL: + self.remoteResultCacheEnabled = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 3336: + if ftype == TType.BOOL: + self.isServerless = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 3337: + if ftype == TType.LIST: + self.operationHandles = [] + (_etype272, _size269) = iprot.readListBegin() + for _i273 in range(_size269): + _elem274 = TOperationHandle() + _elem274.read(iprot) + self.operationHandles.append(_elem274) + iprot.readListEnd() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TExecuteStatementResp') + if self.status is not None: + oprot.writeFieldBegin('status', TType.STRUCT, 1) + self.status.write(oprot) + oprot.writeFieldEnd() + if self.operationHandle is not None: + oprot.writeFieldBegin('operationHandle', TType.STRUCT, 2) + self.operationHandle.write(oprot) + oprot.writeFieldEnd() + if self.directResults is not None: + oprot.writeFieldBegin('directResults', TType.STRUCT, 1281) + self.directResults.write(oprot) + oprot.writeFieldEnd() + if self.executionRejected is not None: + oprot.writeFieldBegin('executionRejected', TType.BOOL, 3329) + oprot.writeBool(self.executionRejected) + oprot.writeFieldEnd() + if self.maxClusterCapacity is not None: + oprot.writeFieldBegin('maxClusterCapacity', TType.DOUBLE, 3330) + oprot.writeDouble(self.maxClusterCapacity) + oprot.writeFieldEnd() + if self.queryCost is not None: + oprot.writeFieldBegin('queryCost', TType.DOUBLE, 3331) + oprot.writeDouble(self.queryCost) + oprot.writeFieldEnd() + if self.sessionConf is not None: + oprot.writeFieldBegin('sessionConf', TType.STRUCT, 3332) + self.sessionConf.write(oprot) + oprot.writeFieldEnd() + if self.currentClusterLoad is not None: + oprot.writeFieldBegin('currentClusterLoad', TType.DOUBLE, 3333) + oprot.writeDouble(self.currentClusterLoad) + oprot.writeFieldEnd() + if self.idempotencyType is not None: + oprot.writeFieldBegin('idempotencyType', TType.I32, 3334) + oprot.writeI32(self.idempotencyType) + oprot.writeFieldEnd() + if self.remoteResultCacheEnabled is not None: + oprot.writeFieldBegin('remoteResultCacheEnabled', TType.BOOL, 3335) + oprot.writeBool(self.remoteResultCacheEnabled) + oprot.writeFieldEnd() + if self.isServerless is not None: + oprot.writeFieldBegin('isServerless', TType.BOOL, 3336) + oprot.writeBool(self.isServerless) + oprot.writeFieldEnd() + if self.operationHandles is not None: + oprot.writeFieldBegin('operationHandles', TType.LIST, 3337) + oprot.writeListBegin(TType.STRUCT, len(self.operationHandles)) + for iter275 in self.operationHandles: + iter275.write(oprot) + oprot.writeListEnd() + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.status is None: + raise TProtocolException(message='Required field status is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TGetTypeInfoReq(object): - """ + """ Attributes: - sessionHandle - getDirectResults @@ -6733,103 +6733,103 @@ class TGetTypeInfoReq(object): """ - def __init__(self, sessionHandle=None, getDirectResults=None, runAsync=False, operationId=None, sessionConf=None,): - self.sessionHandle = sessionHandle - self.getDirectResults = getDirectResults - self.runAsync = runAsync - self.operationId = operationId - self.sessionConf = sessionConf - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.sessionHandle = TSessionHandle() - self.sessionHandle.read(iprot) - else: - iprot.skip(ftype) - elif fid == 1281: - if ftype == TType.STRUCT: - self.getDirectResults = TSparkGetDirectResults() - self.getDirectResults.read(iprot) - else: - iprot.skip(ftype) - elif fid == 1282: - if ftype == TType.BOOL: - self.runAsync = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 3329: - if ftype == TType.STRUCT: - self.operationId = THandleIdentifier() - self.operationId.read(iprot) - else: - iprot.skip(ftype) - elif fid == 3330: - if ftype == TType.STRUCT: - self.sessionConf = TDBSqlSessionConf() - self.sessionConf.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TGetTypeInfoReq') - if self.sessionHandle is not None: - oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 1) - self.sessionHandle.write(oprot) - oprot.writeFieldEnd() - if self.getDirectResults is not None: - oprot.writeFieldBegin('getDirectResults', TType.STRUCT, 1281) - self.getDirectResults.write(oprot) - oprot.writeFieldEnd() - if self.runAsync is not None: - oprot.writeFieldBegin('runAsync', TType.BOOL, 1282) - oprot.writeBool(self.runAsync) - oprot.writeFieldEnd() - if self.operationId is not None: - oprot.writeFieldBegin('operationId', TType.STRUCT, 3329) - self.operationId.write(oprot) - oprot.writeFieldEnd() - if self.sessionConf is not None: - oprot.writeFieldBegin('sessionConf', TType.STRUCT, 3330) - self.sessionConf.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.sessionHandle is None: - raise TProtocolException(message='Required field sessionHandle is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, sessionHandle=None, getDirectResults=None, runAsync=False, operationId=None, sessionConf=None,): + self.sessionHandle = sessionHandle + self.getDirectResults = getDirectResults + self.runAsync = runAsync + self.operationId = operationId + self.sessionConf = sessionConf + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.sessionHandle = TSessionHandle() + self.sessionHandle.read(iprot) + else: + iprot.skip(ftype) + elif fid == 1281: + if ftype == TType.STRUCT: + self.getDirectResults = TSparkGetDirectResults() + self.getDirectResults.read(iprot) + else: + iprot.skip(ftype) + elif fid == 1282: + if ftype == TType.BOOL: + self.runAsync = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 3329: + if ftype == TType.STRUCT: + self.operationId = THandleIdentifier() + self.operationId.read(iprot) + else: + iprot.skip(ftype) + elif fid == 3330: + if ftype == TType.STRUCT: + self.sessionConf = TDBSqlSessionConf() + self.sessionConf.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TGetTypeInfoReq') + if self.sessionHandle is not None: + oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 1) + self.sessionHandle.write(oprot) + oprot.writeFieldEnd() + if self.getDirectResults is not None: + oprot.writeFieldBegin('getDirectResults', TType.STRUCT, 1281) + self.getDirectResults.write(oprot) + oprot.writeFieldEnd() + if self.runAsync is not None: + oprot.writeFieldBegin('runAsync', TType.BOOL, 1282) + oprot.writeBool(self.runAsync) + oprot.writeFieldEnd() + if self.operationId is not None: + oprot.writeFieldBegin('operationId', TType.STRUCT, 3329) + self.operationId.write(oprot) + oprot.writeFieldEnd() + if self.sessionConf is not None: + oprot.writeFieldBegin('sessionConf', TType.STRUCT, 3330) + self.sessionConf.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.sessionHandle is None: + raise TProtocolException(message='Required field sessionHandle is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TGetTypeInfoResp(object): - """ + """ Attributes: - status - operationHandle @@ -6838,82 +6838,82 @@ class TGetTypeInfoResp(object): """ - def __init__(self, status=None, operationHandle=None, directResults=None,): - self.status = status - self.operationHandle = operationHandle - self.directResults = directResults - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.status = TStatus() - self.status.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRUCT: - self.operationHandle = TOperationHandle() - self.operationHandle.read(iprot) - else: - iprot.skip(ftype) - elif fid == 1281: - if ftype == TType.STRUCT: - self.directResults = TSparkDirectResults() - self.directResults.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TGetTypeInfoResp') - if self.status is not None: - oprot.writeFieldBegin('status', TType.STRUCT, 1) - self.status.write(oprot) - oprot.writeFieldEnd() - if self.operationHandle is not None: - oprot.writeFieldBegin('operationHandle', TType.STRUCT, 2) - self.operationHandle.write(oprot) - oprot.writeFieldEnd() - if self.directResults is not None: - oprot.writeFieldBegin('directResults', TType.STRUCT, 1281) - self.directResults.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.status is None: - raise TProtocolException(message='Required field status is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, status=None, operationHandle=None, directResults=None,): + self.status = status + self.operationHandle = operationHandle + self.directResults = directResults + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.status = TStatus() + self.status.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRUCT: + self.operationHandle = TOperationHandle() + self.operationHandle.read(iprot) + else: + iprot.skip(ftype) + elif fid == 1281: + if ftype == TType.STRUCT: + self.directResults = TSparkDirectResults() + self.directResults.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TGetTypeInfoResp') + if self.status is not None: + oprot.writeFieldBegin('status', TType.STRUCT, 1) + self.status.write(oprot) + oprot.writeFieldEnd() + if self.operationHandle is not None: + oprot.writeFieldBegin('operationHandle', TType.STRUCT, 2) + self.operationHandle.write(oprot) + oprot.writeFieldEnd() + if self.directResults is not None: + oprot.writeFieldBegin('directResults', TType.STRUCT, 1281) + self.directResults.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.status is None: + raise TProtocolException(message='Required field status is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TGetCatalogsReq(object): - """ + """ Attributes: - sessionHandle - getDirectResults @@ -6924,103 +6924,103 @@ class TGetCatalogsReq(object): """ - def __init__(self, sessionHandle=None, getDirectResults=None, runAsync=False, operationId=None, sessionConf=None,): - self.sessionHandle = sessionHandle - self.getDirectResults = getDirectResults - self.runAsync = runAsync - self.operationId = operationId - self.sessionConf = sessionConf - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.sessionHandle = TSessionHandle() - self.sessionHandle.read(iprot) - else: - iprot.skip(ftype) - elif fid == 1281: - if ftype == TType.STRUCT: - self.getDirectResults = TSparkGetDirectResults() - self.getDirectResults.read(iprot) - else: - iprot.skip(ftype) - elif fid == 1282: - if ftype == TType.BOOL: - self.runAsync = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 3329: - if ftype == TType.STRUCT: - self.operationId = THandleIdentifier() - self.operationId.read(iprot) - else: - iprot.skip(ftype) - elif fid == 3330: - if ftype == TType.STRUCT: - self.sessionConf = TDBSqlSessionConf() - self.sessionConf.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TGetCatalogsReq') - if self.sessionHandle is not None: - oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 1) - self.sessionHandle.write(oprot) - oprot.writeFieldEnd() - if self.getDirectResults is not None: - oprot.writeFieldBegin('getDirectResults', TType.STRUCT, 1281) - self.getDirectResults.write(oprot) - oprot.writeFieldEnd() - if self.runAsync is not None: - oprot.writeFieldBegin('runAsync', TType.BOOL, 1282) - oprot.writeBool(self.runAsync) - oprot.writeFieldEnd() - if self.operationId is not None: - oprot.writeFieldBegin('operationId', TType.STRUCT, 3329) - self.operationId.write(oprot) - oprot.writeFieldEnd() - if self.sessionConf is not None: - oprot.writeFieldBegin('sessionConf', TType.STRUCT, 3330) - self.sessionConf.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.sessionHandle is None: - raise TProtocolException(message='Required field sessionHandle is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, sessionHandle=None, getDirectResults=None, runAsync=False, operationId=None, sessionConf=None,): + self.sessionHandle = sessionHandle + self.getDirectResults = getDirectResults + self.runAsync = runAsync + self.operationId = operationId + self.sessionConf = sessionConf + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.sessionHandle = TSessionHandle() + self.sessionHandle.read(iprot) + else: + iprot.skip(ftype) + elif fid == 1281: + if ftype == TType.STRUCT: + self.getDirectResults = TSparkGetDirectResults() + self.getDirectResults.read(iprot) + else: + iprot.skip(ftype) + elif fid == 1282: + if ftype == TType.BOOL: + self.runAsync = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 3329: + if ftype == TType.STRUCT: + self.operationId = THandleIdentifier() + self.operationId.read(iprot) + else: + iprot.skip(ftype) + elif fid == 3330: + if ftype == TType.STRUCT: + self.sessionConf = TDBSqlSessionConf() + self.sessionConf.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TGetCatalogsReq') + if self.sessionHandle is not None: + oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 1) + self.sessionHandle.write(oprot) + oprot.writeFieldEnd() + if self.getDirectResults is not None: + oprot.writeFieldBegin('getDirectResults', TType.STRUCT, 1281) + self.getDirectResults.write(oprot) + oprot.writeFieldEnd() + if self.runAsync is not None: + oprot.writeFieldBegin('runAsync', TType.BOOL, 1282) + oprot.writeBool(self.runAsync) + oprot.writeFieldEnd() + if self.operationId is not None: + oprot.writeFieldBegin('operationId', TType.STRUCT, 3329) + self.operationId.write(oprot) + oprot.writeFieldEnd() + if self.sessionConf is not None: + oprot.writeFieldBegin('sessionConf', TType.STRUCT, 3330) + self.sessionConf.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.sessionHandle is None: + raise TProtocolException(message='Required field sessionHandle is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TGetCatalogsResp(object): - """ + """ Attributes: - status - operationHandle @@ -7029,82 +7029,82 @@ class TGetCatalogsResp(object): """ - def __init__(self, status=None, operationHandle=None, directResults=None,): - self.status = status - self.operationHandle = operationHandle - self.directResults = directResults - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.status = TStatus() - self.status.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRUCT: - self.operationHandle = TOperationHandle() - self.operationHandle.read(iprot) - else: - iprot.skip(ftype) - elif fid == 1281: - if ftype == TType.STRUCT: - self.directResults = TSparkDirectResults() - self.directResults.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TGetCatalogsResp') - if self.status is not None: - oprot.writeFieldBegin('status', TType.STRUCT, 1) - self.status.write(oprot) - oprot.writeFieldEnd() - if self.operationHandle is not None: - oprot.writeFieldBegin('operationHandle', TType.STRUCT, 2) - self.operationHandle.write(oprot) - oprot.writeFieldEnd() - if self.directResults is not None: - oprot.writeFieldBegin('directResults', TType.STRUCT, 1281) - self.directResults.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.status is None: - raise TProtocolException(message='Required field status is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, status=None, operationHandle=None, directResults=None,): + self.status = status + self.operationHandle = operationHandle + self.directResults = directResults + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.status = TStatus() + self.status.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRUCT: + self.operationHandle = TOperationHandle() + self.operationHandle.read(iprot) + else: + iprot.skip(ftype) + elif fid == 1281: + if ftype == TType.STRUCT: + self.directResults = TSparkDirectResults() + self.directResults.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TGetCatalogsResp') + if self.status is not None: + oprot.writeFieldBegin('status', TType.STRUCT, 1) + self.status.write(oprot) + oprot.writeFieldEnd() + if self.operationHandle is not None: + oprot.writeFieldBegin('operationHandle', TType.STRUCT, 2) + self.operationHandle.write(oprot) + oprot.writeFieldEnd() + if self.directResults is not None: + oprot.writeFieldBegin('directResults', TType.STRUCT, 1281) + self.directResults.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.status is None: + raise TProtocolException(message='Required field status is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TGetSchemasReq(object): - """ + """ Attributes: - sessionHandle - catalogName @@ -7117,123 +7117,123 @@ class TGetSchemasReq(object): """ - def __init__(self, sessionHandle=None, catalogName=None, schemaName=None, getDirectResults=None, runAsync=False, operationId=None, sessionConf=None,): - self.sessionHandle = sessionHandle - self.catalogName = catalogName - self.schemaName = schemaName - self.getDirectResults = getDirectResults - self.runAsync = runAsync - self.operationId = operationId - self.sessionConf = sessionConf - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.sessionHandle = TSessionHandle() - self.sessionHandle.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRING: - self.catalogName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.STRING: - self.schemaName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 1281: - if ftype == TType.STRUCT: - self.getDirectResults = TSparkGetDirectResults() - self.getDirectResults.read(iprot) - else: - iprot.skip(ftype) - elif fid == 1282: - if ftype == TType.BOOL: - self.runAsync = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 3329: - if ftype == TType.STRUCT: - self.operationId = THandleIdentifier() - self.operationId.read(iprot) - else: - iprot.skip(ftype) - elif fid == 3330: - if ftype == TType.STRUCT: - self.sessionConf = TDBSqlSessionConf() - self.sessionConf.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TGetSchemasReq') - if self.sessionHandle is not None: - oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 1) - self.sessionHandle.write(oprot) - oprot.writeFieldEnd() - if self.catalogName is not None: - oprot.writeFieldBegin('catalogName', TType.STRING, 2) - oprot.writeString(self.catalogName.encode('utf-8') if sys.version_info[0] == 2 else self.catalogName) - oprot.writeFieldEnd() - if self.schemaName is not None: - oprot.writeFieldBegin('schemaName', TType.STRING, 3) - oprot.writeString(self.schemaName.encode('utf-8') if sys.version_info[0] == 2 else self.schemaName) - oprot.writeFieldEnd() - if self.getDirectResults is not None: - oprot.writeFieldBegin('getDirectResults', TType.STRUCT, 1281) - self.getDirectResults.write(oprot) - oprot.writeFieldEnd() - if self.runAsync is not None: - oprot.writeFieldBegin('runAsync', TType.BOOL, 1282) - oprot.writeBool(self.runAsync) - oprot.writeFieldEnd() - if self.operationId is not None: - oprot.writeFieldBegin('operationId', TType.STRUCT, 3329) - self.operationId.write(oprot) - oprot.writeFieldEnd() - if self.sessionConf is not None: - oprot.writeFieldBegin('sessionConf', TType.STRUCT, 3330) - self.sessionConf.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.sessionHandle is None: - raise TProtocolException(message='Required field sessionHandle is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, sessionHandle=None, catalogName=None, schemaName=None, getDirectResults=None, runAsync=False, operationId=None, sessionConf=None,): + self.sessionHandle = sessionHandle + self.catalogName = catalogName + self.schemaName = schemaName + self.getDirectResults = getDirectResults + self.runAsync = runAsync + self.operationId = operationId + self.sessionConf = sessionConf + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.sessionHandle = TSessionHandle() + self.sessionHandle.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRING: + self.catalogName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.STRING: + self.schemaName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 1281: + if ftype == TType.STRUCT: + self.getDirectResults = TSparkGetDirectResults() + self.getDirectResults.read(iprot) + else: + iprot.skip(ftype) + elif fid == 1282: + if ftype == TType.BOOL: + self.runAsync = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 3329: + if ftype == TType.STRUCT: + self.operationId = THandleIdentifier() + self.operationId.read(iprot) + else: + iprot.skip(ftype) + elif fid == 3330: + if ftype == TType.STRUCT: + self.sessionConf = TDBSqlSessionConf() + self.sessionConf.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TGetSchemasReq') + if self.sessionHandle is not None: + oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 1) + self.sessionHandle.write(oprot) + oprot.writeFieldEnd() + if self.catalogName is not None: + oprot.writeFieldBegin('catalogName', TType.STRING, 2) + oprot.writeString(self.catalogName.encode('utf-8') if sys.version_info[0] == 2 else self.catalogName) + oprot.writeFieldEnd() + if self.schemaName is not None: + oprot.writeFieldBegin('schemaName', TType.STRING, 3) + oprot.writeString(self.schemaName.encode('utf-8') if sys.version_info[0] == 2 else self.schemaName) + oprot.writeFieldEnd() + if self.getDirectResults is not None: + oprot.writeFieldBegin('getDirectResults', TType.STRUCT, 1281) + self.getDirectResults.write(oprot) + oprot.writeFieldEnd() + if self.runAsync is not None: + oprot.writeFieldBegin('runAsync', TType.BOOL, 1282) + oprot.writeBool(self.runAsync) + oprot.writeFieldEnd() + if self.operationId is not None: + oprot.writeFieldBegin('operationId', TType.STRUCT, 3329) + self.operationId.write(oprot) + oprot.writeFieldEnd() + if self.sessionConf is not None: + oprot.writeFieldBegin('sessionConf', TType.STRUCT, 3330) + self.sessionConf.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.sessionHandle is None: + raise TProtocolException(message='Required field sessionHandle is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TGetSchemasResp(object): - """ + """ Attributes: - status - operationHandle @@ -7242,82 +7242,82 @@ class TGetSchemasResp(object): """ - def __init__(self, status=None, operationHandle=None, directResults=None,): - self.status = status - self.operationHandle = operationHandle - self.directResults = directResults - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.status = TStatus() - self.status.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRUCT: - self.operationHandle = TOperationHandle() - self.operationHandle.read(iprot) - else: - iprot.skip(ftype) - elif fid == 1281: - if ftype == TType.STRUCT: - self.directResults = TSparkDirectResults() - self.directResults.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TGetSchemasResp') - if self.status is not None: - oprot.writeFieldBegin('status', TType.STRUCT, 1) - self.status.write(oprot) - oprot.writeFieldEnd() - if self.operationHandle is not None: - oprot.writeFieldBegin('operationHandle', TType.STRUCT, 2) - self.operationHandle.write(oprot) - oprot.writeFieldEnd() - if self.directResults is not None: - oprot.writeFieldBegin('directResults', TType.STRUCT, 1281) - self.directResults.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.status is None: - raise TProtocolException(message='Required field status is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, status=None, operationHandle=None, directResults=None,): + self.status = status + self.operationHandle = operationHandle + self.directResults = directResults + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.status = TStatus() + self.status.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRUCT: + self.operationHandle = TOperationHandle() + self.operationHandle.read(iprot) + else: + iprot.skip(ftype) + elif fid == 1281: + if ftype == TType.STRUCT: + self.directResults = TSparkDirectResults() + self.directResults.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TGetSchemasResp') + if self.status is not None: + oprot.writeFieldBegin('status', TType.STRUCT, 1) + self.status.write(oprot) + oprot.writeFieldEnd() + if self.operationHandle is not None: + oprot.writeFieldBegin('operationHandle', TType.STRUCT, 2) + self.operationHandle.write(oprot) + oprot.writeFieldEnd() + if self.directResults is not None: + oprot.writeFieldBegin('directResults', TType.STRUCT, 1281) + self.directResults.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.status is None: + raise TProtocolException(message='Required field status is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TGetTablesReq(object): - """ + """ Attributes: - sessionHandle - catalogName @@ -7332,151 +7332,151 @@ class TGetTablesReq(object): """ - def __init__(self, sessionHandle=None, catalogName=None, schemaName=None, tableName=None, tableTypes=None, getDirectResults=None, runAsync=False, operationId=None, sessionConf=None,): - self.sessionHandle = sessionHandle - self.catalogName = catalogName - self.schemaName = schemaName - self.tableName = tableName - self.tableTypes = tableTypes - self.getDirectResults = getDirectResults - self.runAsync = runAsync - self.operationId = operationId - self.sessionConf = sessionConf - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.sessionHandle = TSessionHandle() - self.sessionHandle.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRING: - self.catalogName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.STRING: - self.schemaName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 4: - if ftype == TType.STRING: - self.tableName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 5: - if ftype == TType.LIST: - self.tableTypes = [] - (_etype279, _size276) = iprot.readListBegin() - for _i280 in range(_size276): - _elem281 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - self.tableTypes.append(_elem281) - iprot.readListEnd() - else: - iprot.skip(ftype) - elif fid == 1281: - if ftype == TType.STRUCT: - self.getDirectResults = TSparkGetDirectResults() - self.getDirectResults.read(iprot) - else: - iprot.skip(ftype) - elif fid == 1282: - if ftype == TType.BOOL: - self.runAsync = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 3329: - if ftype == TType.STRUCT: - self.operationId = THandleIdentifier() - self.operationId.read(iprot) - else: - iprot.skip(ftype) - elif fid == 3330: - if ftype == TType.STRUCT: - self.sessionConf = TDBSqlSessionConf() - self.sessionConf.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TGetTablesReq') - if self.sessionHandle is not None: - oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 1) - self.sessionHandle.write(oprot) - oprot.writeFieldEnd() - if self.catalogName is not None: - oprot.writeFieldBegin('catalogName', TType.STRING, 2) - oprot.writeString(self.catalogName.encode('utf-8') if sys.version_info[0] == 2 else self.catalogName) - oprot.writeFieldEnd() - if self.schemaName is not None: - oprot.writeFieldBegin('schemaName', TType.STRING, 3) - oprot.writeString(self.schemaName.encode('utf-8') if sys.version_info[0] == 2 else self.schemaName) - oprot.writeFieldEnd() - if self.tableName is not None: - oprot.writeFieldBegin('tableName', TType.STRING, 4) - oprot.writeString(self.tableName.encode('utf-8') if sys.version_info[0] == 2 else self.tableName) - oprot.writeFieldEnd() - if self.tableTypes is not None: - oprot.writeFieldBegin('tableTypes', TType.LIST, 5) - oprot.writeListBegin(TType.STRING, len(self.tableTypes)) - for iter282 in self.tableTypes: - oprot.writeString(iter282.encode('utf-8') if sys.version_info[0] == 2 else iter282) - oprot.writeListEnd() - oprot.writeFieldEnd() - if self.getDirectResults is not None: - oprot.writeFieldBegin('getDirectResults', TType.STRUCT, 1281) - self.getDirectResults.write(oprot) - oprot.writeFieldEnd() - if self.runAsync is not None: - oprot.writeFieldBegin('runAsync', TType.BOOL, 1282) - oprot.writeBool(self.runAsync) - oprot.writeFieldEnd() - if self.operationId is not None: - oprot.writeFieldBegin('operationId', TType.STRUCT, 3329) - self.operationId.write(oprot) - oprot.writeFieldEnd() - if self.sessionConf is not None: - oprot.writeFieldBegin('sessionConf', TType.STRUCT, 3330) - self.sessionConf.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.sessionHandle is None: - raise TProtocolException(message='Required field sessionHandle is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, sessionHandle=None, catalogName=None, schemaName=None, tableName=None, tableTypes=None, getDirectResults=None, runAsync=False, operationId=None, sessionConf=None,): + self.sessionHandle = sessionHandle + self.catalogName = catalogName + self.schemaName = schemaName + self.tableName = tableName + self.tableTypes = tableTypes + self.getDirectResults = getDirectResults + self.runAsync = runAsync + self.operationId = operationId + self.sessionConf = sessionConf + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.sessionHandle = TSessionHandle() + self.sessionHandle.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRING: + self.catalogName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.STRING: + self.schemaName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 4: + if ftype == TType.STRING: + self.tableName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 5: + if ftype == TType.LIST: + self.tableTypes = [] + (_etype279, _size276) = iprot.readListBegin() + for _i280 in range(_size276): + _elem281 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.tableTypes.append(_elem281) + iprot.readListEnd() + else: + iprot.skip(ftype) + elif fid == 1281: + if ftype == TType.STRUCT: + self.getDirectResults = TSparkGetDirectResults() + self.getDirectResults.read(iprot) + else: + iprot.skip(ftype) + elif fid == 1282: + if ftype == TType.BOOL: + self.runAsync = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 3329: + if ftype == TType.STRUCT: + self.operationId = THandleIdentifier() + self.operationId.read(iprot) + else: + iprot.skip(ftype) + elif fid == 3330: + if ftype == TType.STRUCT: + self.sessionConf = TDBSqlSessionConf() + self.sessionConf.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TGetTablesReq') + if self.sessionHandle is not None: + oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 1) + self.sessionHandle.write(oprot) + oprot.writeFieldEnd() + if self.catalogName is not None: + oprot.writeFieldBegin('catalogName', TType.STRING, 2) + oprot.writeString(self.catalogName.encode('utf-8') if sys.version_info[0] == 2 else self.catalogName) + oprot.writeFieldEnd() + if self.schemaName is not None: + oprot.writeFieldBegin('schemaName', TType.STRING, 3) + oprot.writeString(self.schemaName.encode('utf-8') if sys.version_info[0] == 2 else self.schemaName) + oprot.writeFieldEnd() + if self.tableName is not None: + oprot.writeFieldBegin('tableName', TType.STRING, 4) + oprot.writeString(self.tableName.encode('utf-8') if sys.version_info[0] == 2 else self.tableName) + oprot.writeFieldEnd() + if self.tableTypes is not None: + oprot.writeFieldBegin('tableTypes', TType.LIST, 5) + oprot.writeListBegin(TType.STRING, len(self.tableTypes)) + for iter282 in self.tableTypes: + oprot.writeString(iter282.encode('utf-8') if sys.version_info[0] == 2 else iter282) + oprot.writeListEnd() + oprot.writeFieldEnd() + if self.getDirectResults is not None: + oprot.writeFieldBegin('getDirectResults', TType.STRUCT, 1281) + self.getDirectResults.write(oprot) + oprot.writeFieldEnd() + if self.runAsync is not None: + oprot.writeFieldBegin('runAsync', TType.BOOL, 1282) + oprot.writeBool(self.runAsync) + oprot.writeFieldEnd() + if self.operationId is not None: + oprot.writeFieldBegin('operationId', TType.STRUCT, 3329) + self.operationId.write(oprot) + oprot.writeFieldEnd() + if self.sessionConf is not None: + oprot.writeFieldBegin('sessionConf', TType.STRUCT, 3330) + self.sessionConf.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.sessionHandle is None: + raise TProtocolException(message='Required field sessionHandle is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TGetTablesResp(object): - """ + """ Attributes: - status - operationHandle @@ -7485,82 +7485,82 @@ class TGetTablesResp(object): """ - def __init__(self, status=None, operationHandle=None, directResults=None,): - self.status = status - self.operationHandle = operationHandle - self.directResults = directResults - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.status = TStatus() - self.status.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRUCT: - self.operationHandle = TOperationHandle() - self.operationHandle.read(iprot) - else: - iprot.skip(ftype) - elif fid == 1281: - if ftype == TType.STRUCT: - self.directResults = TSparkDirectResults() - self.directResults.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TGetTablesResp') - if self.status is not None: - oprot.writeFieldBegin('status', TType.STRUCT, 1) - self.status.write(oprot) - oprot.writeFieldEnd() - if self.operationHandle is not None: - oprot.writeFieldBegin('operationHandle', TType.STRUCT, 2) - self.operationHandle.write(oprot) - oprot.writeFieldEnd() - if self.directResults is not None: - oprot.writeFieldBegin('directResults', TType.STRUCT, 1281) - self.directResults.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.status is None: - raise TProtocolException(message='Required field status is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, status=None, operationHandle=None, directResults=None,): + self.status = status + self.operationHandle = operationHandle + self.directResults = directResults + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.status = TStatus() + self.status.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRUCT: + self.operationHandle = TOperationHandle() + self.operationHandle.read(iprot) + else: + iprot.skip(ftype) + elif fid == 1281: + if ftype == TType.STRUCT: + self.directResults = TSparkDirectResults() + self.directResults.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TGetTablesResp') + if self.status is not None: + oprot.writeFieldBegin('status', TType.STRUCT, 1) + self.status.write(oprot) + oprot.writeFieldEnd() + if self.operationHandle is not None: + oprot.writeFieldBegin('operationHandle', TType.STRUCT, 2) + self.operationHandle.write(oprot) + oprot.writeFieldEnd() + if self.directResults is not None: + oprot.writeFieldBegin('directResults', TType.STRUCT, 1281) + self.directResults.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.status is None: + raise TProtocolException(message='Required field status is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TGetTableTypesReq(object): - """ + """ Attributes: - sessionHandle - getDirectResults @@ -7571,103 +7571,103 @@ class TGetTableTypesReq(object): """ - def __init__(self, sessionHandle=None, getDirectResults=None, runAsync=False, operationId=None, sessionConf=None,): - self.sessionHandle = sessionHandle - self.getDirectResults = getDirectResults - self.runAsync = runAsync - self.operationId = operationId - self.sessionConf = sessionConf - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.sessionHandle = TSessionHandle() - self.sessionHandle.read(iprot) - else: - iprot.skip(ftype) - elif fid == 1281: - if ftype == TType.STRUCT: - self.getDirectResults = TSparkGetDirectResults() - self.getDirectResults.read(iprot) - else: - iprot.skip(ftype) - elif fid == 1282: - if ftype == TType.BOOL: - self.runAsync = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 3329: - if ftype == TType.STRUCT: - self.operationId = THandleIdentifier() - self.operationId.read(iprot) - else: - iprot.skip(ftype) - elif fid == 3330: - if ftype == TType.STRUCT: - self.sessionConf = TDBSqlSessionConf() - self.sessionConf.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TGetTableTypesReq') - if self.sessionHandle is not None: - oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 1) - self.sessionHandle.write(oprot) - oprot.writeFieldEnd() - if self.getDirectResults is not None: - oprot.writeFieldBegin('getDirectResults', TType.STRUCT, 1281) - self.getDirectResults.write(oprot) - oprot.writeFieldEnd() - if self.runAsync is not None: - oprot.writeFieldBegin('runAsync', TType.BOOL, 1282) - oprot.writeBool(self.runAsync) - oprot.writeFieldEnd() - if self.operationId is not None: - oprot.writeFieldBegin('operationId', TType.STRUCT, 3329) - self.operationId.write(oprot) - oprot.writeFieldEnd() - if self.sessionConf is not None: - oprot.writeFieldBegin('sessionConf', TType.STRUCT, 3330) - self.sessionConf.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.sessionHandle is None: - raise TProtocolException(message='Required field sessionHandle is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, sessionHandle=None, getDirectResults=None, runAsync=False, operationId=None, sessionConf=None,): + self.sessionHandle = sessionHandle + self.getDirectResults = getDirectResults + self.runAsync = runAsync + self.operationId = operationId + self.sessionConf = sessionConf + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.sessionHandle = TSessionHandle() + self.sessionHandle.read(iprot) + else: + iprot.skip(ftype) + elif fid == 1281: + if ftype == TType.STRUCT: + self.getDirectResults = TSparkGetDirectResults() + self.getDirectResults.read(iprot) + else: + iprot.skip(ftype) + elif fid == 1282: + if ftype == TType.BOOL: + self.runAsync = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 3329: + if ftype == TType.STRUCT: + self.operationId = THandleIdentifier() + self.operationId.read(iprot) + else: + iprot.skip(ftype) + elif fid == 3330: + if ftype == TType.STRUCT: + self.sessionConf = TDBSqlSessionConf() + self.sessionConf.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TGetTableTypesReq') + if self.sessionHandle is not None: + oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 1) + self.sessionHandle.write(oprot) + oprot.writeFieldEnd() + if self.getDirectResults is not None: + oprot.writeFieldBegin('getDirectResults', TType.STRUCT, 1281) + self.getDirectResults.write(oprot) + oprot.writeFieldEnd() + if self.runAsync is not None: + oprot.writeFieldBegin('runAsync', TType.BOOL, 1282) + oprot.writeBool(self.runAsync) + oprot.writeFieldEnd() + if self.operationId is not None: + oprot.writeFieldBegin('operationId', TType.STRUCT, 3329) + self.operationId.write(oprot) + oprot.writeFieldEnd() + if self.sessionConf is not None: + oprot.writeFieldBegin('sessionConf', TType.STRUCT, 3330) + self.sessionConf.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.sessionHandle is None: + raise TProtocolException(message='Required field sessionHandle is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TGetTableTypesResp(object): - """ + """ Attributes: - status - operationHandle @@ -7676,82 +7676,82 @@ class TGetTableTypesResp(object): """ - def __init__(self, status=None, operationHandle=None, directResults=None,): - self.status = status - self.operationHandle = operationHandle - self.directResults = directResults - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.status = TStatus() - self.status.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRUCT: - self.operationHandle = TOperationHandle() - self.operationHandle.read(iprot) - else: - iprot.skip(ftype) - elif fid == 1281: - if ftype == TType.STRUCT: - self.directResults = TSparkDirectResults() - self.directResults.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TGetTableTypesResp') - if self.status is not None: - oprot.writeFieldBegin('status', TType.STRUCT, 1) - self.status.write(oprot) - oprot.writeFieldEnd() - if self.operationHandle is not None: - oprot.writeFieldBegin('operationHandle', TType.STRUCT, 2) - self.operationHandle.write(oprot) - oprot.writeFieldEnd() - if self.directResults is not None: - oprot.writeFieldBegin('directResults', TType.STRUCT, 1281) - self.directResults.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.status is None: - raise TProtocolException(message='Required field status is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, status=None, operationHandle=None, directResults=None,): + self.status = status + self.operationHandle = operationHandle + self.directResults = directResults + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.status = TStatus() + self.status.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRUCT: + self.operationHandle = TOperationHandle() + self.operationHandle.read(iprot) + else: + iprot.skip(ftype) + elif fid == 1281: + if ftype == TType.STRUCT: + self.directResults = TSparkDirectResults() + self.directResults.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TGetTableTypesResp') + if self.status is not None: + oprot.writeFieldBegin('status', TType.STRUCT, 1) + self.status.write(oprot) + oprot.writeFieldEnd() + if self.operationHandle is not None: + oprot.writeFieldBegin('operationHandle', TType.STRUCT, 2) + self.operationHandle.write(oprot) + oprot.writeFieldEnd() + if self.directResults is not None: + oprot.writeFieldBegin('directResults', TType.STRUCT, 1281) + self.directResults.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.status is None: + raise TProtocolException(message='Required field status is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TGetColumnsReq(object): - """ + """ Attributes: - sessionHandle - catalogName @@ -7766,143 +7766,143 @@ class TGetColumnsReq(object): """ - def __init__(self, sessionHandle=None, catalogName=None, schemaName=None, tableName=None, columnName=None, getDirectResults=None, runAsync=False, operationId=None, sessionConf=None,): - self.sessionHandle = sessionHandle - self.catalogName = catalogName - self.schemaName = schemaName - self.tableName = tableName - self.columnName = columnName - self.getDirectResults = getDirectResults - self.runAsync = runAsync - self.operationId = operationId - self.sessionConf = sessionConf - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.sessionHandle = TSessionHandle() - self.sessionHandle.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRING: - self.catalogName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.STRING: - self.schemaName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 4: - if ftype == TType.STRING: - self.tableName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 5: - if ftype == TType.STRING: - self.columnName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 1281: - if ftype == TType.STRUCT: - self.getDirectResults = TSparkGetDirectResults() - self.getDirectResults.read(iprot) - else: - iprot.skip(ftype) - elif fid == 1282: - if ftype == TType.BOOL: - self.runAsync = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 3329: - if ftype == TType.STRUCT: - self.operationId = THandleIdentifier() - self.operationId.read(iprot) - else: - iprot.skip(ftype) - elif fid == 3330: - if ftype == TType.STRUCT: - self.sessionConf = TDBSqlSessionConf() - self.sessionConf.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TGetColumnsReq') - if self.sessionHandle is not None: - oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 1) - self.sessionHandle.write(oprot) - oprot.writeFieldEnd() - if self.catalogName is not None: - oprot.writeFieldBegin('catalogName', TType.STRING, 2) - oprot.writeString(self.catalogName.encode('utf-8') if sys.version_info[0] == 2 else self.catalogName) - oprot.writeFieldEnd() - if self.schemaName is not None: - oprot.writeFieldBegin('schemaName', TType.STRING, 3) - oprot.writeString(self.schemaName.encode('utf-8') if sys.version_info[0] == 2 else self.schemaName) - oprot.writeFieldEnd() - if self.tableName is not None: - oprot.writeFieldBegin('tableName', TType.STRING, 4) - oprot.writeString(self.tableName.encode('utf-8') if sys.version_info[0] == 2 else self.tableName) - oprot.writeFieldEnd() - if self.columnName is not None: - oprot.writeFieldBegin('columnName', TType.STRING, 5) - oprot.writeString(self.columnName.encode('utf-8') if sys.version_info[0] == 2 else self.columnName) - oprot.writeFieldEnd() - if self.getDirectResults is not None: - oprot.writeFieldBegin('getDirectResults', TType.STRUCT, 1281) - self.getDirectResults.write(oprot) - oprot.writeFieldEnd() - if self.runAsync is not None: - oprot.writeFieldBegin('runAsync', TType.BOOL, 1282) - oprot.writeBool(self.runAsync) - oprot.writeFieldEnd() - if self.operationId is not None: - oprot.writeFieldBegin('operationId', TType.STRUCT, 3329) - self.operationId.write(oprot) - oprot.writeFieldEnd() - if self.sessionConf is not None: - oprot.writeFieldBegin('sessionConf', TType.STRUCT, 3330) - self.sessionConf.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.sessionHandle is None: - raise TProtocolException(message='Required field sessionHandle is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, sessionHandle=None, catalogName=None, schemaName=None, tableName=None, columnName=None, getDirectResults=None, runAsync=False, operationId=None, sessionConf=None,): + self.sessionHandle = sessionHandle + self.catalogName = catalogName + self.schemaName = schemaName + self.tableName = tableName + self.columnName = columnName + self.getDirectResults = getDirectResults + self.runAsync = runAsync + self.operationId = operationId + self.sessionConf = sessionConf + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.sessionHandle = TSessionHandle() + self.sessionHandle.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRING: + self.catalogName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.STRING: + self.schemaName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 4: + if ftype == TType.STRING: + self.tableName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 5: + if ftype == TType.STRING: + self.columnName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 1281: + if ftype == TType.STRUCT: + self.getDirectResults = TSparkGetDirectResults() + self.getDirectResults.read(iprot) + else: + iprot.skip(ftype) + elif fid == 1282: + if ftype == TType.BOOL: + self.runAsync = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 3329: + if ftype == TType.STRUCT: + self.operationId = THandleIdentifier() + self.operationId.read(iprot) + else: + iprot.skip(ftype) + elif fid == 3330: + if ftype == TType.STRUCT: + self.sessionConf = TDBSqlSessionConf() + self.sessionConf.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TGetColumnsReq') + if self.sessionHandle is not None: + oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 1) + self.sessionHandle.write(oprot) + oprot.writeFieldEnd() + if self.catalogName is not None: + oprot.writeFieldBegin('catalogName', TType.STRING, 2) + oprot.writeString(self.catalogName.encode('utf-8') if sys.version_info[0] == 2 else self.catalogName) + oprot.writeFieldEnd() + if self.schemaName is not None: + oprot.writeFieldBegin('schemaName', TType.STRING, 3) + oprot.writeString(self.schemaName.encode('utf-8') if sys.version_info[0] == 2 else self.schemaName) + oprot.writeFieldEnd() + if self.tableName is not None: + oprot.writeFieldBegin('tableName', TType.STRING, 4) + oprot.writeString(self.tableName.encode('utf-8') if sys.version_info[0] == 2 else self.tableName) + oprot.writeFieldEnd() + if self.columnName is not None: + oprot.writeFieldBegin('columnName', TType.STRING, 5) + oprot.writeString(self.columnName.encode('utf-8') if sys.version_info[0] == 2 else self.columnName) + oprot.writeFieldEnd() + if self.getDirectResults is not None: + oprot.writeFieldBegin('getDirectResults', TType.STRUCT, 1281) + self.getDirectResults.write(oprot) + oprot.writeFieldEnd() + if self.runAsync is not None: + oprot.writeFieldBegin('runAsync', TType.BOOL, 1282) + oprot.writeBool(self.runAsync) + oprot.writeFieldEnd() + if self.operationId is not None: + oprot.writeFieldBegin('operationId', TType.STRUCT, 3329) + self.operationId.write(oprot) + oprot.writeFieldEnd() + if self.sessionConf is not None: + oprot.writeFieldBegin('sessionConf', TType.STRUCT, 3330) + self.sessionConf.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.sessionHandle is None: + raise TProtocolException(message='Required field sessionHandle is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TGetColumnsResp(object): - """ + """ Attributes: - status - operationHandle @@ -7911,82 +7911,82 @@ class TGetColumnsResp(object): """ - def __init__(self, status=None, operationHandle=None, directResults=None,): - self.status = status - self.operationHandle = operationHandle - self.directResults = directResults - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.status = TStatus() - self.status.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRUCT: - self.operationHandle = TOperationHandle() - self.operationHandle.read(iprot) - else: - iprot.skip(ftype) - elif fid == 1281: - if ftype == TType.STRUCT: - self.directResults = TSparkDirectResults() - self.directResults.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TGetColumnsResp') - if self.status is not None: - oprot.writeFieldBegin('status', TType.STRUCT, 1) - self.status.write(oprot) - oprot.writeFieldEnd() - if self.operationHandle is not None: - oprot.writeFieldBegin('operationHandle', TType.STRUCT, 2) - self.operationHandle.write(oprot) - oprot.writeFieldEnd() - if self.directResults is not None: - oprot.writeFieldBegin('directResults', TType.STRUCT, 1281) - self.directResults.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.status is None: - raise TProtocolException(message='Required field status is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, status=None, operationHandle=None, directResults=None,): + self.status = status + self.operationHandle = operationHandle + self.directResults = directResults + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.status = TStatus() + self.status.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRUCT: + self.operationHandle = TOperationHandle() + self.operationHandle.read(iprot) + else: + iprot.skip(ftype) + elif fid == 1281: + if ftype == TType.STRUCT: + self.directResults = TSparkDirectResults() + self.directResults.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TGetColumnsResp') + if self.status is not None: + oprot.writeFieldBegin('status', TType.STRUCT, 1) + self.status.write(oprot) + oprot.writeFieldEnd() + if self.operationHandle is not None: + oprot.writeFieldBegin('operationHandle', TType.STRUCT, 2) + self.operationHandle.write(oprot) + oprot.writeFieldEnd() + if self.directResults is not None: + oprot.writeFieldBegin('directResults', TType.STRUCT, 1281) + self.directResults.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.status is None: + raise TProtocolException(message='Required field status is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TGetFunctionsReq(object): - """ + """ Attributes: - sessionHandle - catalogName @@ -8000,135 +8000,135 @@ class TGetFunctionsReq(object): """ - def __init__(self, sessionHandle=None, catalogName=None, schemaName=None, functionName=None, getDirectResults=None, runAsync=False, operationId=None, sessionConf=None,): - self.sessionHandle = sessionHandle - self.catalogName = catalogName - self.schemaName = schemaName - self.functionName = functionName - self.getDirectResults = getDirectResults - self.runAsync = runAsync - self.operationId = operationId - self.sessionConf = sessionConf - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.sessionHandle = TSessionHandle() - self.sessionHandle.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRING: - self.catalogName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.STRING: - self.schemaName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 4: - if ftype == TType.STRING: - self.functionName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 1281: - if ftype == TType.STRUCT: - self.getDirectResults = TSparkGetDirectResults() - self.getDirectResults.read(iprot) - else: - iprot.skip(ftype) - elif fid == 1282: - if ftype == TType.BOOL: - self.runAsync = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 3329: - if ftype == TType.STRUCT: - self.operationId = THandleIdentifier() - self.operationId.read(iprot) - else: - iprot.skip(ftype) - elif fid == 3330: - if ftype == TType.STRUCT: - self.sessionConf = TDBSqlSessionConf() - self.sessionConf.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TGetFunctionsReq') - if self.sessionHandle is not None: - oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 1) - self.sessionHandle.write(oprot) - oprot.writeFieldEnd() - if self.catalogName is not None: - oprot.writeFieldBegin('catalogName', TType.STRING, 2) - oprot.writeString(self.catalogName.encode('utf-8') if sys.version_info[0] == 2 else self.catalogName) - oprot.writeFieldEnd() - if self.schemaName is not None: - oprot.writeFieldBegin('schemaName', TType.STRING, 3) - oprot.writeString(self.schemaName.encode('utf-8') if sys.version_info[0] == 2 else self.schemaName) - oprot.writeFieldEnd() - if self.functionName is not None: - oprot.writeFieldBegin('functionName', TType.STRING, 4) - oprot.writeString(self.functionName.encode('utf-8') if sys.version_info[0] == 2 else self.functionName) - oprot.writeFieldEnd() - if self.getDirectResults is not None: - oprot.writeFieldBegin('getDirectResults', TType.STRUCT, 1281) - self.getDirectResults.write(oprot) - oprot.writeFieldEnd() - if self.runAsync is not None: - oprot.writeFieldBegin('runAsync', TType.BOOL, 1282) - oprot.writeBool(self.runAsync) - oprot.writeFieldEnd() - if self.operationId is not None: - oprot.writeFieldBegin('operationId', TType.STRUCT, 3329) - self.operationId.write(oprot) - oprot.writeFieldEnd() - if self.sessionConf is not None: - oprot.writeFieldBegin('sessionConf', TType.STRUCT, 3330) - self.sessionConf.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.sessionHandle is None: - raise TProtocolException(message='Required field sessionHandle is unset!') - if self.functionName is None: - raise TProtocolException(message='Required field functionName is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, sessionHandle=None, catalogName=None, schemaName=None, functionName=None, getDirectResults=None, runAsync=False, operationId=None, sessionConf=None,): + self.sessionHandle = sessionHandle + self.catalogName = catalogName + self.schemaName = schemaName + self.functionName = functionName + self.getDirectResults = getDirectResults + self.runAsync = runAsync + self.operationId = operationId + self.sessionConf = sessionConf + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.sessionHandle = TSessionHandle() + self.sessionHandle.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRING: + self.catalogName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.STRING: + self.schemaName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 4: + if ftype == TType.STRING: + self.functionName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 1281: + if ftype == TType.STRUCT: + self.getDirectResults = TSparkGetDirectResults() + self.getDirectResults.read(iprot) + else: + iprot.skip(ftype) + elif fid == 1282: + if ftype == TType.BOOL: + self.runAsync = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 3329: + if ftype == TType.STRUCT: + self.operationId = THandleIdentifier() + self.operationId.read(iprot) + else: + iprot.skip(ftype) + elif fid == 3330: + if ftype == TType.STRUCT: + self.sessionConf = TDBSqlSessionConf() + self.sessionConf.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TGetFunctionsReq') + if self.sessionHandle is not None: + oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 1) + self.sessionHandle.write(oprot) + oprot.writeFieldEnd() + if self.catalogName is not None: + oprot.writeFieldBegin('catalogName', TType.STRING, 2) + oprot.writeString(self.catalogName.encode('utf-8') if sys.version_info[0] == 2 else self.catalogName) + oprot.writeFieldEnd() + if self.schemaName is not None: + oprot.writeFieldBegin('schemaName', TType.STRING, 3) + oprot.writeString(self.schemaName.encode('utf-8') if sys.version_info[0] == 2 else self.schemaName) + oprot.writeFieldEnd() + if self.functionName is not None: + oprot.writeFieldBegin('functionName', TType.STRING, 4) + oprot.writeString(self.functionName.encode('utf-8') if sys.version_info[0] == 2 else self.functionName) + oprot.writeFieldEnd() + if self.getDirectResults is not None: + oprot.writeFieldBegin('getDirectResults', TType.STRUCT, 1281) + self.getDirectResults.write(oprot) + oprot.writeFieldEnd() + if self.runAsync is not None: + oprot.writeFieldBegin('runAsync', TType.BOOL, 1282) + oprot.writeBool(self.runAsync) + oprot.writeFieldEnd() + if self.operationId is not None: + oprot.writeFieldBegin('operationId', TType.STRUCT, 3329) + self.operationId.write(oprot) + oprot.writeFieldEnd() + if self.sessionConf is not None: + oprot.writeFieldBegin('sessionConf', TType.STRUCT, 3330) + self.sessionConf.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.sessionHandle is None: + raise TProtocolException(message='Required field sessionHandle is unset!') + if self.functionName is None: + raise TProtocolException(message='Required field functionName is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TGetFunctionsResp(object): - """ + """ Attributes: - status - operationHandle @@ -8137,82 +8137,82 @@ class TGetFunctionsResp(object): """ - def __init__(self, status=None, operationHandle=None, directResults=None,): - self.status = status - self.operationHandle = operationHandle - self.directResults = directResults - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.status = TStatus() - self.status.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRUCT: - self.operationHandle = TOperationHandle() - self.operationHandle.read(iprot) - else: - iprot.skip(ftype) - elif fid == 1281: - if ftype == TType.STRUCT: - self.directResults = TSparkDirectResults() - self.directResults.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TGetFunctionsResp') - if self.status is not None: - oprot.writeFieldBegin('status', TType.STRUCT, 1) - self.status.write(oprot) - oprot.writeFieldEnd() - if self.operationHandle is not None: - oprot.writeFieldBegin('operationHandle', TType.STRUCT, 2) - self.operationHandle.write(oprot) - oprot.writeFieldEnd() - if self.directResults is not None: - oprot.writeFieldBegin('directResults', TType.STRUCT, 1281) - self.directResults.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.status is None: - raise TProtocolException(message='Required field status is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, status=None, operationHandle=None, directResults=None,): + self.status = status + self.operationHandle = operationHandle + self.directResults = directResults + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.status = TStatus() + self.status.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRUCT: + self.operationHandle = TOperationHandle() + self.operationHandle.read(iprot) + else: + iprot.skip(ftype) + elif fid == 1281: + if ftype == TType.STRUCT: + self.directResults = TSparkDirectResults() + self.directResults.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TGetFunctionsResp') + if self.status is not None: + oprot.writeFieldBegin('status', TType.STRUCT, 1) + self.status.write(oprot) + oprot.writeFieldEnd() + if self.operationHandle is not None: + oprot.writeFieldBegin('operationHandle', TType.STRUCT, 2) + self.operationHandle.write(oprot) + oprot.writeFieldEnd() + if self.directResults is not None: + oprot.writeFieldBegin('directResults', TType.STRUCT, 1281) + self.directResults.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.status is None: + raise TProtocolException(message='Required field status is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TGetPrimaryKeysReq(object): - """ + """ Attributes: - sessionHandle - catalogName @@ -8226,133 +8226,133 @@ class TGetPrimaryKeysReq(object): """ - def __init__(self, sessionHandle=None, catalogName=None, schemaName=None, tableName=None, getDirectResults=None, runAsync=False, operationId=None, sessionConf=None,): - self.sessionHandle = sessionHandle - self.catalogName = catalogName - self.schemaName = schemaName - self.tableName = tableName - self.getDirectResults = getDirectResults - self.runAsync = runAsync - self.operationId = operationId - self.sessionConf = sessionConf - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.sessionHandle = TSessionHandle() - self.sessionHandle.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRING: - self.catalogName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.STRING: - self.schemaName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 4: - if ftype == TType.STRING: - self.tableName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 1281: - if ftype == TType.STRUCT: - self.getDirectResults = TSparkGetDirectResults() - self.getDirectResults.read(iprot) - else: - iprot.skip(ftype) - elif fid == 1282: - if ftype == TType.BOOL: - self.runAsync = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 3329: - if ftype == TType.STRUCT: - self.operationId = THandleIdentifier() - self.operationId.read(iprot) - else: - iprot.skip(ftype) - elif fid == 3330: - if ftype == TType.STRUCT: - self.sessionConf = TDBSqlSessionConf() - self.sessionConf.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TGetPrimaryKeysReq') - if self.sessionHandle is not None: - oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 1) - self.sessionHandle.write(oprot) - oprot.writeFieldEnd() - if self.catalogName is not None: - oprot.writeFieldBegin('catalogName', TType.STRING, 2) - oprot.writeString(self.catalogName.encode('utf-8') if sys.version_info[0] == 2 else self.catalogName) - oprot.writeFieldEnd() - if self.schemaName is not None: - oprot.writeFieldBegin('schemaName', TType.STRING, 3) - oprot.writeString(self.schemaName.encode('utf-8') if sys.version_info[0] == 2 else self.schemaName) - oprot.writeFieldEnd() - if self.tableName is not None: - oprot.writeFieldBegin('tableName', TType.STRING, 4) - oprot.writeString(self.tableName.encode('utf-8') if sys.version_info[0] == 2 else self.tableName) - oprot.writeFieldEnd() - if self.getDirectResults is not None: - oprot.writeFieldBegin('getDirectResults', TType.STRUCT, 1281) - self.getDirectResults.write(oprot) - oprot.writeFieldEnd() - if self.runAsync is not None: - oprot.writeFieldBegin('runAsync', TType.BOOL, 1282) - oprot.writeBool(self.runAsync) - oprot.writeFieldEnd() - if self.operationId is not None: - oprot.writeFieldBegin('operationId', TType.STRUCT, 3329) - self.operationId.write(oprot) - oprot.writeFieldEnd() - if self.sessionConf is not None: - oprot.writeFieldBegin('sessionConf', TType.STRUCT, 3330) - self.sessionConf.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.sessionHandle is None: - raise TProtocolException(message='Required field sessionHandle is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, sessionHandle=None, catalogName=None, schemaName=None, tableName=None, getDirectResults=None, runAsync=False, operationId=None, sessionConf=None,): + self.sessionHandle = sessionHandle + self.catalogName = catalogName + self.schemaName = schemaName + self.tableName = tableName + self.getDirectResults = getDirectResults + self.runAsync = runAsync + self.operationId = operationId + self.sessionConf = sessionConf + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.sessionHandle = TSessionHandle() + self.sessionHandle.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRING: + self.catalogName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.STRING: + self.schemaName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 4: + if ftype == TType.STRING: + self.tableName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 1281: + if ftype == TType.STRUCT: + self.getDirectResults = TSparkGetDirectResults() + self.getDirectResults.read(iprot) + else: + iprot.skip(ftype) + elif fid == 1282: + if ftype == TType.BOOL: + self.runAsync = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 3329: + if ftype == TType.STRUCT: + self.operationId = THandleIdentifier() + self.operationId.read(iprot) + else: + iprot.skip(ftype) + elif fid == 3330: + if ftype == TType.STRUCT: + self.sessionConf = TDBSqlSessionConf() + self.sessionConf.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TGetPrimaryKeysReq') + if self.sessionHandle is not None: + oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 1) + self.sessionHandle.write(oprot) + oprot.writeFieldEnd() + if self.catalogName is not None: + oprot.writeFieldBegin('catalogName', TType.STRING, 2) + oprot.writeString(self.catalogName.encode('utf-8') if sys.version_info[0] == 2 else self.catalogName) + oprot.writeFieldEnd() + if self.schemaName is not None: + oprot.writeFieldBegin('schemaName', TType.STRING, 3) + oprot.writeString(self.schemaName.encode('utf-8') if sys.version_info[0] == 2 else self.schemaName) + oprot.writeFieldEnd() + if self.tableName is not None: + oprot.writeFieldBegin('tableName', TType.STRING, 4) + oprot.writeString(self.tableName.encode('utf-8') if sys.version_info[0] == 2 else self.tableName) + oprot.writeFieldEnd() + if self.getDirectResults is not None: + oprot.writeFieldBegin('getDirectResults', TType.STRUCT, 1281) + self.getDirectResults.write(oprot) + oprot.writeFieldEnd() + if self.runAsync is not None: + oprot.writeFieldBegin('runAsync', TType.BOOL, 1282) + oprot.writeBool(self.runAsync) + oprot.writeFieldEnd() + if self.operationId is not None: + oprot.writeFieldBegin('operationId', TType.STRUCT, 3329) + self.operationId.write(oprot) + oprot.writeFieldEnd() + if self.sessionConf is not None: + oprot.writeFieldBegin('sessionConf', TType.STRUCT, 3330) + self.sessionConf.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.sessionHandle is None: + raise TProtocolException(message='Required field sessionHandle is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TGetPrimaryKeysResp(object): - """ + """ Attributes: - status - operationHandle @@ -8361,82 +8361,82 @@ class TGetPrimaryKeysResp(object): """ - def __init__(self, status=None, operationHandle=None, directResults=None,): - self.status = status - self.operationHandle = operationHandle - self.directResults = directResults - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.status = TStatus() - self.status.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRUCT: - self.operationHandle = TOperationHandle() - self.operationHandle.read(iprot) - else: - iprot.skip(ftype) - elif fid == 1281: - if ftype == TType.STRUCT: - self.directResults = TSparkDirectResults() - self.directResults.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TGetPrimaryKeysResp') - if self.status is not None: - oprot.writeFieldBegin('status', TType.STRUCT, 1) - self.status.write(oprot) - oprot.writeFieldEnd() - if self.operationHandle is not None: - oprot.writeFieldBegin('operationHandle', TType.STRUCT, 2) - self.operationHandle.write(oprot) - oprot.writeFieldEnd() - if self.directResults is not None: - oprot.writeFieldBegin('directResults', TType.STRUCT, 1281) - self.directResults.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.status is None: - raise TProtocolException(message='Required field status is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, status=None, operationHandle=None, directResults=None,): + self.status = status + self.operationHandle = operationHandle + self.directResults = directResults + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.status = TStatus() + self.status.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRUCT: + self.operationHandle = TOperationHandle() + self.operationHandle.read(iprot) + else: + iprot.skip(ftype) + elif fid == 1281: + if ftype == TType.STRUCT: + self.directResults = TSparkDirectResults() + self.directResults.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TGetPrimaryKeysResp') + if self.status is not None: + oprot.writeFieldBegin('status', TType.STRUCT, 1) + self.status.write(oprot) + oprot.writeFieldEnd() + if self.operationHandle is not None: + oprot.writeFieldBegin('operationHandle', TType.STRUCT, 2) + self.operationHandle.write(oprot) + oprot.writeFieldEnd() + if self.directResults is not None: + oprot.writeFieldBegin('directResults', TType.STRUCT, 1281) + self.directResults.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.status is None: + raise TProtocolException(message='Required field status is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TGetCrossReferenceReq(object): - """ + """ Attributes: - sessionHandle - parentCatalogName @@ -8453,163 +8453,163 @@ class TGetCrossReferenceReq(object): """ - def __init__(self, sessionHandle=None, parentCatalogName=None, parentSchemaName=None, parentTableName=None, foreignCatalogName=None, foreignSchemaName=None, foreignTableName=None, getDirectResults=None, runAsync=False, operationId=None, sessionConf=None,): - self.sessionHandle = sessionHandle - self.parentCatalogName = parentCatalogName - self.parentSchemaName = parentSchemaName - self.parentTableName = parentTableName - self.foreignCatalogName = foreignCatalogName - self.foreignSchemaName = foreignSchemaName - self.foreignTableName = foreignTableName - self.getDirectResults = getDirectResults - self.runAsync = runAsync - self.operationId = operationId - self.sessionConf = sessionConf - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.sessionHandle = TSessionHandle() - self.sessionHandle.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRING: - self.parentCatalogName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.STRING: - self.parentSchemaName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 4: - if ftype == TType.STRING: - self.parentTableName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 5: - if ftype == TType.STRING: - self.foreignCatalogName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 6: - if ftype == TType.STRING: - self.foreignSchemaName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 7: - if ftype == TType.STRING: - self.foreignTableName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 1281: - if ftype == TType.STRUCT: - self.getDirectResults = TSparkGetDirectResults() - self.getDirectResults.read(iprot) - else: - iprot.skip(ftype) - elif fid == 1282: - if ftype == TType.BOOL: - self.runAsync = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 3329: - if ftype == TType.STRUCT: - self.operationId = THandleIdentifier() - self.operationId.read(iprot) - else: - iprot.skip(ftype) - elif fid == 3330: - if ftype == TType.STRUCT: - self.sessionConf = TDBSqlSessionConf() - self.sessionConf.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TGetCrossReferenceReq') - if self.sessionHandle is not None: - oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 1) - self.sessionHandle.write(oprot) - oprot.writeFieldEnd() - if self.parentCatalogName is not None: - oprot.writeFieldBegin('parentCatalogName', TType.STRING, 2) - oprot.writeString(self.parentCatalogName.encode('utf-8') if sys.version_info[0] == 2 else self.parentCatalogName) - oprot.writeFieldEnd() - if self.parentSchemaName is not None: - oprot.writeFieldBegin('parentSchemaName', TType.STRING, 3) - oprot.writeString(self.parentSchemaName.encode('utf-8') if sys.version_info[0] == 2 else self.parentSchemaName) - oprot.writeFieldEnd() - if self.parentTableName is not None: - oprot.writeFieldBegin('parentTableName', TType.STRING, 4) - oprot.writeString(self.parentTableName.encode('utf-8') if sys.version_info[0] == 2 else self.parentTableName) - oprot.writeFieldEnd() - if self.foreignCatalogName is not None: - oprot.writeFieldBegin('foreignCatalogName', TType.STRING, 5) - oprot.writeString(self.foreignCatalogName.encode('utf-8') if sys.version_info[0] == 2 else self.foreignCatalogName) - oprot.writeFieldEnd() - if self.foreignSchemaName is not None: - oprot.writeFieldBegin('foreignSchemaName', TType.STRING, 6) - oprot.writeString(self.foreignSchemaName.encode('utf-8') if sys.version_info[0] == 2 else self.foreignSchemaName) - oprot.writeFieldEnd() - if self.foreignTableName is not None: - oprot.writeFieldBegin('foreignTableName', TType.STRING, 7) - oprot.writeString(self.foreignTableName.encode('utf-8') if sys.version_info[0] == 2 else self.foreignTableName) - oprot.writeFieldEnd() - if self.getDirectResults is not None: - oprot.writeFieldBegin('getDirectResults', TType.STRUCT, 1281) - self.getDirectResults.write(oprot) - oprot.writeFieldEnd() - if self.runAsync is not None: - oprot.writeFieldBegin('runAsync', TType.BOOL, 1282) - oprot.writeBool(self.runAsync) - oprot.writeFieldEnd() - if self.operationId is not None: - oprot.writeFieldBegin('operationId', TType.STRUCT, 3329) - self.operationId.write(oprot) - oprot.writeFieldEnd() - if self.sessionConf is not None: - oprot.writeFieldBegin('sessionConf', TType.STRUCT, 3330) - self.sessionConf.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.sessionHandle is None: - raise TProtocolException(message='Required field sessionHandle is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, sessionHandle=None, parentCatalogName=None, parentSchemaName=None, parentTableName=None, foreignCatalogName=None, foreignSchemaName=None, foreignTableName=None, getDirectResults=None, runAsync=False, operationId=None, sessionConf=None,): + self.sessionHandle = sessionHandle + self.parentCatalogName = parentCatalogName + self.parentSchemaName = parentSchemaName + self.parentTableName = parentTableName + self.foreignCatalogName = foreignCatalogName + self.foreignSchemaName = foreignSchemaName + self.foreignTableName = foreignTableName + self.getDirectResults = getDirectResults + self.runAsync = runAsync + self.operationId = operationId + self.sessionConf = sessionConf + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.sessionHandle = TSessionHandle() + self.sessionHandle.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRING: + self.parentCatalogName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.STRING: + self.parentSchemaName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 4: + if ftype == TType.STRING: + self.parentTableName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 5: + if ftype == TType.STRING: + self.foreignCatalogName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 6: + if ftype == TType.STRING: + self.foreignSchemaName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 7: + if ftype == TType.STRING: + self.foreignTableName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 1281: + if ftype == TType.STRUCT: + self.getDirectResults = TSparkGetDirectResults() + self.getDirectResults.read(iprot) + else: + iprot.skip(ftype) + elif fid == 1282: + if ftype == TType.BOOL: + self.runAsync = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 3329: + if ftype == TType.STRUCT: + self.operationId = THandleIdentifier() + self.operationId.read(iprot) + else: + iprot.skip(ftype) + elif fid == 3330: + if ftype == TType.STRUCT: + self.sessionConf = TDBSqlSessionConf() + self.sessionConf.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TGetCrossReferenceReq') + if self.sessionHandle is not None: + oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 1) + self.sessionHandle.write(oprot) + oprot.writeFieldEnd() + if self.parentCatalogName is not None: + oprot.writeFieldBegin('parentCatalogName', TType.STRING, 2) + oprot.writeString(self.parentCatalogName.encode('utf-8') if sys.version_info[0] == 2 else self.parentCatalogName) + oprot.writeFieldEnd() + if self.parentSchemaName is not None: + oprot.writeFieldBegin('parentSchemaName', TType.STRING, 3) + oprot.writeString(self.parentSchemaName.encode('utf-8') if sys.version_info[0] == 2 else self.parentSchemaName) + oprot.writeFieldEnd() + if self.parentTableName is not None: + oprot.writeFieldBegin('parentTableName', TType.STRING, 4) + oprot.writeString(self.parentTableName.encode('utf-8') if sys.version_info[0] == 2 else self.parentTableName) + oprot.writeFieldEnd() + if self.foreignCatalogName is not None: + oprot.writeFieldBegin('foreignCatalogName', TType.STRING, 5) + oprot.writeString(self.foreignCatalogName.encode('utf-8') if sys.version_info[0] == 2 else self.foreignCatalogName) + oprot.writeFieldEnd() + if self.foreignSchemaName is not None: + oprot.writeFieldBegin('foreignSchemaName', TType.STRING, 6) + oprot.writeString(self.foreignSchemaName.encode('utf-8') if sys.version_info[0] == 2 else self.foreignSchemaName) + oprot.writeFieldEnd() + if self.foreignTableName is not None: + oprot.writeFieldBegin('foreignTableName', TType.STRING, 7) + oprot.writeString(self.foreignTableName.encode('utf-8') if sys.version_info[0] == 2 else self.foreignTableName) + oprot.writeFieldEnd() + if self.getDirectResults is not None: + oprot.writeFieldBegin('getDirectResults', TType.STRUCT, 1281) + self.getDirectResults.write(oprot) + oprot.writeFieldEnd() + if self.runAsync is not None: + oprot.writeFieldBegin('runAsync', TType.BOOL, 1282) + oprot.writeBool(self.runAsync) + oprot.writeFieldEnd() + if self.operationId is not None: + oprot.writeFieldBegin('operationId', TType.STRUCT, 3329) + self.operationId.write(oprot) + oprot.writeFieldEnd() + if self.sessionConf is not None: + oprot.writeFieldBegin('sessionConf', TType.STRUCT, 3330) + self.sessionConf.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.sessionHandle is None: + raise TProtocolException(message='Required field sessionHandle is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TGetCrossReferenceResp(object): - """ + """ Attributes: - status - operationHandle @@ -8618,82 +8618,82 @@ class TGetCrossReferenceResp(object): """ - def __init__(self, status=None, operationHandle=None, directResults=None,): - self.status = status - self.operationHandle = operationHandle - self.directResults = directResults - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.status = TStatus() - self.status.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRUCT: - self.operationHandle = TOperationHandle() - self.operationHandle.read(iprot) - else: - iprot.skip(ftype) - elif fid == 1281: - if ftype == TType.STRUCT: - self.directResults = TSparkDirectResults() - self.directResults.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TGetCrossReferenceResp') - if self.status is not None: - oprot.writeFieldBegin('status', TType.STRUCT, 1) - self.status.write(oprot) - oprot.writeFieldEnd() - if self.operationHandle is not None: - oprot.writeFieldBegin('operationHandle', TType.STRUCT, 2) - self.operationHandle.write(oprot) - oprot.writeFieldEnd() - if self.directResults is not None: - oprot.writeFieldBegin('directResults', TType.STRUCT, 1281) - self.directResults.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.status is None: - raise TProtocolException(message='Required field status is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, status=None, operationHandle=None, directResults=None,): + self.status = status + self.operationHandle = operationHandle + self.directResults = directResults + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.status = TStatus() + self.status.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRUCT: + self.operationHandle = TOperationHandle() + self.operationHandle.read(iprot) + else: + iprot.skip(ftype) + elif fid == 1281: + if ftype == TType.STRUCT: + self.directResults = TSparkDirectResults() + self.directResults.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TGetCrossReferenceResp') + if self.status is not None: + oprot.writeFieldBegin('status', TType.STRUCT, 1) + self.status.write(oprot) + oprot.writeFieldEnd() + if self.operationHandle is not None: + oprot.writeFieldBegin('operationHandle', TType.STRUCT, 2) + self.operationHandle.write(oprot) + oprot.writeFieldEnd() + if self.directResults is not None: + oprot.writeFieldBegin('directResults', TType.STRUCT, 1281) + self.directResults.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.status is None: + raise TProtocolException(message='Required field status is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TGetOperationStatusReq(object): - """ + """ Attributes: - operationHandle - getProgressUpdate @@ -8701,70 +8701,70 @@ class TGetOperationStatusReq(object): """ - def __init__(self, operationHandle=None, getProgressUpdate=None,): - self.operationHandle = operationHandle - self.getProgressUpdate = getProgressUpdate - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.operationHandle = TOperationHandle() - self.operationHandle.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.BOOL: - self.getProgressUpdate = iprot.readBool() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TGetOperationStatusReq') - if self.operationHandle is not None: - oprot.writeFieldBegin('operationHandle', TType.STRUCT, 1) - self.operationHandle.write(oprot) - oprot.writeFieldEnd() - if self.getProgressUpdate is not None: - oprot.writeFieldBegin('getProgressUpdate', TType.BOOL, 2) - oprot.writeBool(self.getProgressUpdate) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.operationHandle is None: - raise TProtocolException(message='Required field operationHandle is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, operationHandle=None, getProgressUpdate=None,): + self.operationHandle = operationHandle + self.getProgressUpdate = getProgressUpdate + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.operationHandle = TOperationHandle() + self.operationHandle.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.BOOL: + self.getProgressUpdate = iprot.readBool() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TGetOperationStatusReq') + if self.operationHandle is not None: + oprot.writeFieldBegin('operationHandle', TType.STRUCT, 1) + self.operationHandle.write(oprot) + oprot.writeFieldEnd() + if self.getProgressUpdate is not None: + oprot.writeFieldBegin('getProgressUpdate', TType.BOOL, 2) + oprot.writeBool(self.getProgressUpdate) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.operationHandle is None: + raise TProtocolException(message='Required field operationHandle is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TGetOperationStatusResp(object): - """ + """ Attributes: - status - operationState @@ -8792,231 +8792,231 @@ class TGetOperationStatusResp(object): """ - def __init__(self, status=None, operationState=None, sqlState=None, errorCode=None, errorMessage=None, taskStatus=None, operationStarted=None, operationCompleted=None, hasResultSet=None, progressUpdateResponse=None, numModifiedRows=None, displayMessage=None, diagnosticInfo=None, errorDetailsJson=None, responseValidation=None, idempotencyType=None, statementTimeout=None, statementTimeoutLevel=None,): - self.status = status - self.operationState = operationState - self.sqlState = sqlState - self.errorCode = errorCode - self.errorMessage = errorMessage - self.taskStatus = taskStatus - self.operationStarted = operationStarted - self.operationCompleted = operationCompleted - self.hasResultSet = hasResultSet - self.progressUpdateResponse = progressUpdateResponse - self.numModifiedRows = numModifiedRows - self.displayMessage = displayMessage - self.diagnosticInfo = diagnosticInfo - self.errorDetailsJson = errorDetailsJson - self.responseValidation = responseValidation - self.idempotencyType = idempotencyType - self.statementTimeout = statementTimeout - self.statementTimeoutLevel = statementTimeoutLevel - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.status = TStatus() - self.status.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.I32: - self.operationState = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.STRING: - self.sqlState = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 4: - if ftype == TType.I32: - self.errorCode = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 5: - if ftype == TType.STRING: - self.errorMessage = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 6: - if ftype == TType.STRING: - self.taskStatus = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 7: - if ftype == TType.I64: - self.operationStarted = iprot.readI64() - else: - iprot.skip(ftype) - elif fid == 8: - if ftype == TType.I64: - self.operationCompleted = iprot.readI64() - else: - iprot.skip(ftype) - elif fid == 9: - if ftype == TType.BOOL: - self.hasResultSet = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 10: - if ftype == TType.STRUCT: - self.progressUpdateResponse = TProgressUpdateResp() - self.progressUpdateResponse.read(iprot) - else: - iprot.skip(ftype) - elif fid == 11: - if ftype == TType.I64: - self.numModifiedRows = iprot.readI64() - else: - iprot.skip(ftype) - elif fid == 1281: - if ftype == TType.STRING: - self.displayMessage = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 1282: - if ftype == TType.STRING: - self.diagnosticInfo = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 1283: - if ftype == TType.STRING: - self.errorDetailsJson = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 3329: - if ftype == TType.STRING: - self.responseValidation = iprot.readBinary() - else: - iprot.skip(ftype) - elif fid == 3330: - if ftype == TType.I32: - self.idempotencyType = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 3331: - if ftype == TType.I64: - self.statementTimeout = iprot.readI64() - else: - iprot.skip(ftype) - elif fid == 3332: - if ftype == TType.I32: - self.statementTimeoutLevel = iprot.readI32() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TGetOperationStatusResp') - if self.status is not None: - oprot.writeFieldBegin('status', TType.STRUCT, 1) - self.status.write(oprot) - oprot.writeFieldEnd() - if self.operationState is not None: - oprot.writeFieldBegin('operationState', TType.I32, 2) - oprot.writeI32(self.operationState) - oprot.writeFieldEnd() - if self.sqlState is not None: - oprot.writeFieldBegin('sqlState', TType.STRING, 3) - oprot.writeString(self.sqlState.encode('utf-8') if sys.version_info[0] == 2 else self.sqlState) - oprot.writeFieldEnd() - if self.errorCode is not None: - oprot.writeFieldBegin('errorCode', TType.I32, 4) - oprot.writeI32(self.errorCode) - oprot.writeFieldEnd() - if self.errorMessage is not None: - oprot.writeFieldBegin('errorMessage', TType.STRING, 5) - oprot.writeString(self.errorMessage.encode('utf-8') if sys.version_info[0] == 2 else self.errorMessage) - oprot.writeFieldEnd() - if self.taskStatus is not None: - oprot.writeFieldBegin('taskStatus', TType.STRING, 6) - oprot.writeString(self.taskStatus.encode('utf-8') if sys.version_info[0] == 2 else self.taskStatus) - oprot.writeFieldEnd() - if self.operationStarted is not None: - oprot.writeFieldBegin('operationStarted', TType.I64, 7) - oprot.writeI64(self.operationStarted) - oprot.writeFieldEnd() - if self.operationCompleted is not None: - oprot.writeFieldBegin('operationCompleted', TType.I64, 8) - oprot.writeI64(self.operationCompleted) - oprot.writeFieldEnd() - if self.hasResultSet is not None: - oprot.writeFieldBegin('hasResultSet', TType.BOOL, 9) - oprot.writeBool(self.hasResultSet) - oprot.writeFieldEnd() - if self.progressUpdateResponse is not None: - oprot.writeFieldBegin('progressUpdateResponse', TType.STRUCT, 10) - self.progressUpdateResponse.write(oprot) - oprot.writeFieldEnd() - if self.numModifiedRows is not None: - oprot.writeFieldBegin('numModifiedRows', TType.I64, 11) - oprot.writeI64(self.numModifiedRows) - oprot.writeFieldEnd() - if self.displayMessage is not None: - oprot.writeFieldBegin('displayMessage', TType.STRING, 1281) - oprot.writeString(self.displayMessage.encode('utf-8') if sys.version_info[0] == 2 else self.displayMessage) - oprot.writeFieldEnd() - if self.diagnosticInfo is not None: - oprot.writeFieldBegin('diagnosticInfo', TType.STRING, 1282) - oprot.writeString(self.diagnosticInfo.encode('utf-8') if sys.version_info[0] == 2 else self.diagnosticInfo) - oprot.writeFieldEnd() - if self.errorDetailsJson is not None: - oprot.writeFieldBegin('errorDetailsJson', TType.STRING, 1283) - oprot.writeString(self.errorDetailsJson.encode('utf-8') if sys.version_info[0] == 2 else self.errorDetailsJson) - oprot.writeFieldEnd() - if self.responseValidation is not None: - oprot.writeFieldBegin('responseValidation', TType.STRING, 3329) - oprot.writeBinary(self.responseValidation) - oprot.writeFieldEnd() - if self.idempotencyType is not None: - oprot.writeFieldBegin('idempotencyType', TType.I32, 3330) - oprot.writeI32(self.idempotencyType) - oprot.writeFieldEnd() - if self.statementTimeout is not None: - oprot.writeFieldBegin('statementTimeout', TType.I64, 3331) - oprot.writeI64(self.statementTimeout) - oprot.writeFieldEnd() - if self.statementTimeoutLevel is not None: - oprot.writeFieldBegin('statementTimeoutLevel', TType.I32, 3332) - oprot.writeI32(self.statementTimeoutLevel) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.status is None: - raise TProtocolException(message='Required field status is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, status=None, operationState=None, sqlState=None, errorCode=None, errorMessage=None, taskStatus=None, operationStarted=None, operationCompleted=None, hasResultSet=None, progressUpdateResponse=None, numModifiedRows=None, displayMessage=None, diagnosticInfo=None, errorDetailsJson=None, responseValidation=None, idempotencyType=None, statementTimeout=None, statementTimeoutLevel=None,): + self.status = status + self.operationState = operationState + self.sqlState = sqlState + self.errorCode = errorCode + self.errorMessage = errorMessage + self.taskStatus = taskStatus + self.operationStarted = operationStarted + self.operationCompleted = operationCompleted + self.hasResultSet = hasResultSet + self.progressUpdateResponse = progressUpdateResponse + self.numModifiedRows = numModifiedRows + self.displayMessage = displayMessage + self.diagnosticInfo = diagnosticInfo + self.errorDetailsJson = errorDetailsJson + self.responseValidation = responseValidation + self.idempotencyType = idempotencyType + self.statementTimeout = statementTimeout + self.statementTimeoutLevel = statementTimeoutLevel + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.status = TStatus() + self.status.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.I32: + self.operationState = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.STRING: + self.sqlState = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 4: + if ftype == TType.I32: + self.errorCode = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 5: + if ftype == TType.STRING: + self.errorMessage = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 6: + if ftype == TType.STRING: + self.taskStatus = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 7: + if ftype == TType.I64: + self.operationStarted = iprot.readI64() + else: + iprot.skip(ftype) + elif fid == 8: + if ftype == TType.I64: + self.operationCompleted = iprot.readI64() + else: + iprot.skip(ftype) + elif fid == 9: + if ftype == TType.BOOL: + self.hasResultSet = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 10: + if ftype == TType.STRUCT: + self.progressUpdateResponse = TProgressUpdateResp() + self.progressUpdateResponse.read(iprot) + else: + iprot.skip(ftype) + elif fid == 11: + if ftype == TType.I64: + self.numModifiedRows = iprot.readI64() + else: + iprot.skip(ftype) + elif fid == 1281: + if ftype == TType.STRING: + self.displayMessage = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 1282: + if ftype == TType.STRING: + self.diagnosticInfo = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 1283: + if ftype == TType.STRING: + self.errorDetailsJson = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 3329: + if ftype == TType.STRING: + self.responseValidation = iprot.readBinary() + else: + iprot.skip(ftype) + elif fid == 3330: + if ftype == TType.I32: + self.idempotencyType = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 3331: + if ftype == TType.I64: + self.statementTimeout = iprot.readI64() + else: + iprot.skip(ftype) + elif fid == 3332: + if ftype == TType.I32: + self.statementTimeoutLevel = iprot.readI32() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TGetOperationStatusResp') + if self.status is not None: + oprot.writeFieldBegin('status', TType.STRUCT, 1) + self.status.write(oprot) + oprot.writeFieldEnd() + if self.operationState is not None: + oprot.writeFieldBegin('operationState', TType.I32, 2) + oprot.writeI32(self.operationState) + oprot.writeFieldEnd() + if self.sqlState is not None: + oprot.writeFieldBegin('sqlState', TType.STRING, 3) + oprot.writeString(self.sqlState.encode('utf-8') if sys.version_info[0] == 2 else self.sqlState) + oprot.writeFieldEnd() + if self.errorCode is not None: + oprot.writeFieldBegin('errorCode', TType.I32, 4) + oprot.writeI32(self.errorCode) + oprot.writeFieldEnd() + if self.errorMessage is not None: + oprot.writeFieldBegin('errorMessage', TType.STRING, 5) + oprot.writeString(self.errorMessage.encode('utf-8') if sys.version_info[0] == 2 else self.errorMessage) + oprot.writeFieldEnd() + if self.taskStatus is not None: + oprot.writeFieldBegin('taskStatus', TType.STRING, 6) + oprot.writeString(self.taskStatus.encode('utf-8') if sys.version_info[0] == 2 else self.taskStatus) + oprot.writeFieldEnd() + if self.operationStarted is not None: + oprot.writeFieldBegin('operationStarted', TType.I64, 7) + oprot.writeI64(self.operationStarted) + oprot.writeFieldEnd() + if self.operationCompleted is not None: + oprot.writeFieldBegin('operationCompleted', TType.I64, 8) + oprot.writeI64(self.operationCompleted) + oprot.writeFieldEnd() + if self.hasResultSet is not None: + oprot.writeFieldBegin('hasResultSet', TType.BOOL, 9) + oprot.writeBool(self.hasResultSet) + oprot.writeFieldEnd() + if self.progressUpdateResponse is not None: + oprot.writeFieldBegin('progressUpdateResponse', TType.STRUCT, 10) + self.progressUpdateResponse.write(oprot) + oprot.writeFieldEnd() + if self.numModifiedRows is not None: + oprot.writeFieldBegin('numModifiedRows', TType.I64, 11) + oprot.writeI64(self.numModifiedRows) + oprot.writeFieldEnd() + if self.displayMessage is not None: + oprot.writeFieldBegin('displayMessage', TType.STRING, 1281) + oprot.writeString(self.displayMessage.encode('utf-8') if sys.version_info[0] == 2 else self.displayMessage) + oprot.writeFieldEnd() + if self.diagnosticInfo is not None: + oprot.writeFieldBegin('diagnosticInfo', TType.STRING, 1282) + oprot.writeString(self.diagnosticInfo.encode('utf-8') if sys.version_info[0] == 2 else self.diagnosticInfo) + oprot.writeFieldEnd() + if self.errorDetailsJson is not None: + oprot.writeFieldBegin('errorDetailsJson', TType.STRING, 1283) + oprot.writeString(self.errorDetailsJson.encode('utf-8') if sys.version_info[0] == 2 else self.errorDetailsJson) + oprot.writeFieldEnd() + if self.responseValidation is not None: + oprot.writeFieldBegin('responseValidation', TType.STRING, 3329) + oprot.writeBinary(self.responseValidation) + oprot.writeFieldEnd() + if self.idempotencyType is not None: + oprot.writeFieldBegin('idempotencyType', TType.I32, 3330) + oprot.writeI32(self.idempotencyType) + oprot.writeFieldEnd() + if self.statementTimeout is not None: + oprot.writeFieldBegin('statementTimeout', TType.I64, 3331) + oprot.writeI64(self.statementTimeout) + oprot.writeFieldEnd() + if self.statementTimeoutLevel is not None: + oprot.writeFieldBegin('statementTimeoutLevel', TType.I32, 3332) + oprot.writeI32(self.statementTimeoutLevel) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.status is None: + raise TProtocolException(message='Required field status is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TCancelOperationReq(object): - """ + """ Attributes: - operationHandle - executionVersion @@ -9025,140 +9025,140 @@ class TCancelOperationReq(object): """ - def __init__(self, operationHandle=None, executionVersion=None, replacedByNextAttempt=None,): - self.operationHandle = operationHandle - self.executionVersion = executionVersion - self.replacedByNextAttempt = replacedByNextAttempt - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.operationHandle = TOperationHandle() - self.operationHandle.read(iprot) - else: - iprot.skip(ftype) - elif fid == 3329: - if ftype == TType.I16: - self.executionVersion = iprot.readI16() - else: - iprot.skip(ftype) - elif fid == 3330: - if ftype == TType.BOOL: - self.replacedByNextAttempt = iprot.readBool() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TCancelOperationReq') - if self.operationHandle is not None: - oprot.writeFieldBegin('operationHandle', TType.STRUCT, 1) - self.operationHandle.write(oprot) - oprot.writeFieldEnd() - if self.executionVersion is not None: - oprot.writeFieldBegin('executionVersion', TType.I16, 3329) - oprot.writeI16(self.executionVersion) - oprot.writeFieldEnd() - if self.replacedByNextAttempt is not None: - oprot.writeFieldBegin('replacedByNextAttempt', TType.BOOL, 3330) - oprot.writeBool(self.replacedByNextAttempt) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.operationHandle is None: - raise TProtocolException(message='Required field operationHandle is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, operationHandle=None, executionVersion=None, replacedByNextAttempt=None,): + self.operationHandle = operationHandle + self.executionVersion = executionVersion + self.replacedByNextAttempt = replacedByNextAttempt + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.operationHandle = TOperationHandle() + self.operationHandle.read(iprot) + else: + iprot.skip(ftype) + elif fid == 3329: + if ftype == TType.I16: + self.executionVersion = iprot.readI16() + else: + iprot.skip(ftype) + elif fid == 3330: + if ftype == TType.BOOL: + self.replacedByNextAttempt = iprot.readBool() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TCancelOperationReq') + if self.operationHandle is not None: + oprot.writeFieldBegin('operationHandle', TType.STRUCT, 1) + self.operationHandle.write(oprot) + oprot.writeFieldEnd() + if self.executionVersion is not None: + oprot.writeFieldBegin('executionVersion', TType.I16, 3329) + oprot.writeI16(self.executionVersion) + oprot.writeFieldEnd() + if self.replacedByNextAttempt is not None: + oprot.writeFieldBegin('replacedByNextAttempt', TType.BOOL, 3330) + oprot.writeBool(self.replacedByNextAttempt) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.operationHandle is None: + raise TProtocolException(message='Required field operationHandle is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TCancelOperationResp(object): - """ + """ Attributes: - status """ - def __init__(self, status=None,): - self.status = status - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.status = TStatus() - self.status.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TCancelOperationResp') - if self.status is not None: - oprot.writeFieldBegin('status', TType.STRUCT, 1) - self.status.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.status is None: - raise TProtocolException(message='Required field status is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, status=None,): + self.status = status + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.status = TStatus() + self.status.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TCancelOperationResp') + if self.status is not None: + oprot.writeFieldBegin('status', TType.STRUCT, 1) + self.status.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.status is None: + raise TProtocolException(message='Required field status is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TCloseOperationReq(object): - """ + """ Attributes: - operationHandle - closeReason @@ -9166,130 +9166,130 @@ class TCloseOperationReq(object): """ - def __init__(self, operationHandle=None, closeReason= 0,): - self.operationHandle = operationHandle - self.closeReason = closeReason - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.operationHandle = TOperationHandle() - self.operationHandle.read(iprot) - else: - iprot.skip(ftype) - elif fid == 3329: - if ftype == TType.I32: - self.closeReason = iprot.readI32() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TCloseOperationReq') - if self.operationHandle is not None: - oprot.writeFieldBegin('operationHandle', TType.STRUCT, 1) - self.operationHandle.write(oprot) - oprot.writeFieldEnd() - if self.closeReason is not None: - oprot.writeFieldBegin('closeReason', TType.I32, 3329) - oprot.writeI32(self.closeReason) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.operationHandle is None: - raise TProtocolException(message='Required field operationHandle is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, operationHandle=None, closeReason= 0,): + self.operationHandle = operationHandle + self.closeReason = closeReason + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.operationHandle = TOperationHandle() + self.operationHandle.read(iprot) + else: + iprot.skip(ftype) + elif fid == 3329: + if ftype == TType.I32: + self.closeReason = iprot.readI32() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TCloseOperationReq') + if self.operationHandle is not None: + oprot.writeFieldBegin('operationHandle', TType.STRUCT, 1) + self.operationHandle.write(oprot) + oprot.writeFieldEnd() + if self.closeReason is not None: + oprot.writeFieldBegin('closeReason', TType.I32, 3329) + oprot.writeI32(self.closeReason) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.operationHandle is None: + raise TProtocolException(message='Required field operationHandle is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TCloseOperationResp(object): - """ + """ Attributes: - status """ - def __init__(self, status=None,): - self.status = status - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.status = TStatus() - self.status.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TCloseOperationResp') - if self.status is not None: - oprot.writeFieldBegin('status', TType.STRUCT, 1) - self.status.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.status is None: - raise TProtocolException(message='Required field status is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, status=None,): + self.status = status + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.status = TStatus() + self.status.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TCloseOperationResp') + if self.status is not None: + oprot.writeFieldBegin('status', TType.STRUCT, 1) + self.status.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.status is None: + raise TProtocolException(message='Required field status is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TGetResultSetMetadataReq(object): - """ + """ Attributes: - operationHandle - includeCloudResultFiles @@ -9297,70 +9297,70 @@ class TGetResultSetMetadataReq(object): """ - def __init__(self, operationHandle=None, includeCloudResultFiles=None,): - self.operationHandle = operationHandle - self.includeCloudResultFiles = includeCloudResultFiles - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.operationHandle = TOperationHandle() - self.operationHandle.read(iprot) - else: - iprot.skip(ftype) - elif fid == 3329: - if ftype == TType.BOOL: - self.includeCloudResultFiles = iprot.readBool() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TGetResultSetMetadataReq') - if self.operationHandle is not None: - oprot.writeFieldBegin('operationHandle', TType.STRUCT, 1) - self.operationHandle.write(oprot) - oprot.writeFieldEnd() - if self.includeCloudResultFiles is not None: - oprot.writeFieldBegin('includeCloudResultFiles', TType.BOOL, 3329) - oprot.writeBool(self.includeCloudResultFiles) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.operationHandle is None: - raise TProtocolException(message='Required field operationHandle is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, operationHandle=None, includeCloudResultFiles=None,): + self.operationHandle = operationHandle + self.includeCloudResultFiles = includeCloudResultFiles + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.operationHandle = TOperationHandle() + self.operationHandle.read(iprot) + else: + iprot.skip(ftype) + elif fid == 3329: + if ftype == TType.BOOL: + self.includeCloudResultFiles = iprot.readBool() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TGetResultSetMetadataReq') + if self.operationHandle is not None: + oprot.writeFieldBegin('operationHandle', TType.STRUCT, 1) + self.operationHandle.write(oprot) + oprot.writeFieldEnd() + if self.includeCloudResultFiles is not None: + oprot.writeFieldBegin('includeCloudResultFiles', TType.BOOL, 3329) + oprot.writeBool(self.includeCloudResultFiles) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.operationHandle is None: + raise TProtocolException(message='Required field operationHandle is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TGetResultSetMetadataResp(object): - """ + """ Attributes: - status - schema @@ -9387,271 +9387,271 @@ class TGetResultSetMetadataResp(object): """ - def __init__(self, status=None, schema=None, resultFormat=None, lz4Compressed=None, arrowSchema=None, cacheLookupResult=None, uncompressedBytes=None, compressedBytes=None, isStagingOperation=None, reasonForNoCloudFetch=None, resultFiles=None, manifestFile=None, manifestFileFormat=None, cacheLookupLatency=None, remoteCacheMissReason=None, fetchDisposition=None, remoteResultCacheEnabled=None, isServerless=None, resultDataFormat=None, truncatedByThriftLimit=None, resultByteLimit=None,): - self.status = status - self.schema = schema - self.resultFormat = resultFormat - self.lz4Compressed = lz4Compressed - self.arrowSchema = arrowSchema - self.cacheLookupResult = cacheLookupResult - self.uncompressedBytes = uncompressedBytes - self.compressedBytes = compressedBytes - self.isStagingOperation = isStagingOperation - self.reasonForNoCloudFetch = reasonForNoCloudFetch - self.resultFiles = resultFiles - self.manifestFile = manifestFile - self.manifestFileFormat = manifestFileFormat - self.cacheLookupLatency = cacheLookupLatency - self.remoteCacheMissReason = remoteCacheMissReason - self.fetchDisposition = fetchDisposition - self.remoteResultCacheEnabled = remoteResultCacheEnabled - self.isServerless = isServerless - self.resultDataFormat = resultDataFormat - self.truncatedByThriftLimit = truncatedByThriftLimit - self.resultByteLimit = resultByteLimit - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.status = TStatus() - self.status.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRUCT: - self.schema = TTableSchema() - self.schema.read(iprot) - else: - iprot.skip(ftype) - elif fid == 1281: - if ftype == TType.I32: - self.resultFormat = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 1282: - if ftype == TType.BOOL: - self.lz4Compressed = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 1283: - if ftype == TType.STRING: - self.arrowSchema = iprot.readBinary() - else: - iprot.skip(ftype) - elif fid == 1284: - if ftype == TType.I32: - self.cacheLookupResult = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 1285: - if ftype == TType.I64: - self.uncompressedBytes = iprot.readI64() - else: - iprot.skip(ftype) - elif fid == 1286: - if ftype == TType.I64: - self.compressedBytes = iprot.readI64() - else: - iprot.skip(ftype) - elif fid == 1287: - if ftype == TType.BOOL: - self.isStagingOperation = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 3329: - if ftype == TType.I32: - self.reasonForNoCloudFetch = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 3330: - if ftype == TType.LIST: - self.resultFiles = [] - (_etype286, _size283) = iprot.readListBegin() - for _i287 in range(_size283): - _elem288 = TDBSqlCloudResultFile() - _elem288.read(iprot) - self.resultFiles.append(_elem288) - iprot.readListEnd() - else: - iprot.skip(ftype) - elif fid == 3331: - if ftype == TType.STRING: - self.manifestFile = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 3332: - if ftype == TType.I32: - self.manifestFileFormat = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 3333: - if ftype == TType.I64: - self.cacheLookupLatency = iprot.readI64() - else: - iprot.skip(ftype) - elif fid == 3334: - if ftype == TType.STRING: - self.remoteCacheMissReason = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 3335: - if ftype == TType.I32: - self.fetchDisposition = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 3336: - if ftype == TType.BOOL: - self.remoteResultCacheEnabled = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 3337: - if ftype == TType.BOOL: - self.isServerless = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 3344: - if ftype == TType.STRUCT: - self.resultDataFormat = TDBSqlResultFormat() - self.resultDataFormat.read(iprot) - else: - iprot.skip(ftype) - elif fid == 3345: - if ftype == TType.BOOL: - self.truncatedByThriftLimit = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 3346: - if ftype == TType.I64: - self.resultByteLimit = iprot.readI64() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TGetResultSetMetadataResp') - if self.status is not None: - oprot.writeFieldBegin('status', TType.STRUCT, 1) - self.status.write(oprot) - oprot.writeFieldEnd() - if self.schema is not None: - oprot.writeFieldBegin('schema', TType.STRUCT, 2) - self.schema.write(oprot) - oprot.writeFieldEnd() - if self.resultFormat is not None: - oprot.writeFieldBegin('resultFormat', TType.I32, 1281) - oprot.writeI32(self.resultFormat) - oprot.writeFieldEnd() - if self.lz4Compressed is not None: - oprot.writeFieldBegin('lz4Compressed', TType.BOOL, 1282) - oprot.writeBool(self.lz4Compressed) - oprot.writeFieldEnd() - if self.arrowSchema is not None: - oprot.writeFieldBegin('arrowSchema', TType.STRING, 1283) - oprot.writeBinary(self.arrowSchema) - oprot.writeFieldEnd() - if self.cacheLookupResult is not None: - oprot.writeFieldBegin('cacheLookupResult', TType.I32, 1284) - oprot.writeI32(self.cacheLookupResult) - oprot.writeFieldEnd() - if self.uncompressedBytes is not None: - oprot.writeFieldBegin('uncompressedBytes', TType.I64, 1285) - oprot.writeI64(self.uncompressedBytes) - oprot.writeFieldEnd() - if self.compressedBytes is not None: - oprot.writeFieldBegin('compressedBytes', TType.I64, 1286) - oprot.writeI64(self.compressedBytes) - oprot.writeFieldEnd() - if self.isStagingOperation is not None: - oprot.writeFieldBegin('isStagingOperation', TType.BOOL, 1287) - oprot.writeBool(self.isStagingOperation) - oprot.writeFieldEnd() - if self.reasonForNoCloudFetch is not None: - oprot.writeFieldBegin('reasonForNoCloudFetch', TType.I32, 3329) - oprot.writeI32(self.reasonForNoCloudFetch) - oprot.writeFieldEnd() - if self.resultFiles is not None: - oprot.writeFieldBegin('resultFiles', TType.LIST, 3330) - oprot.writeListBegin(TType.STRUCT, len(self.resultFiles)) - for iter289 in self.resultFiles: - iter289.write(oprot) - oprot.writeListEnd() - oprot.writeFieldEnd() - if self.manifestFile is not None: - oprot.writeFieldBegin('manifestFile', TType.STRING, 3331) - oprot.writeString(self.manifestFile.encode('utf-8') if sys.version_info[0] == 2 else self.manifestFile) - oprot.writeFieldEnd() - if self.manifestFileFormat is not None: - oprot.writeFieldBegin('manifestFileFormat', TType.I32, 3332) - oprot.writeI32(self.manifestFileFormat) - oprot.writeFieldEnd() - if self.cacheLookupLatency is not None: - oprot.writeFieldBegin('cacheLookupLatency', TType.I64, 3333) - oprot.writeI64(self.cacheLookupLatency) - oprot.writeFieldEnd() - if self.remoteCacheMissReason is not None: - oprot.writeFieldBegin('remoteCacheMissReason', TType.STRING, 3334) - oprot.writeString(self.remoteCacheMissReason.encode('utf-8') if sys.version_info[0] == 2 else self.remoteCacheMissReason) - oprot.writeFieldEnd() - if self.fetchDisposition is not None: - oprot.writeFieldBegin('fetchDisposition', TType.I32, 3335) - oprot.writeI32(self.fetchDisposition) - oprot.writeFieldEnd() - if self.remoteResultCacheEnabled is not None: - oprot.writeFieldBegin('remoteResultCacheEnabled', TType.BOOL, 3336) - oprot.writeBool(self.remoteResultCacheEnabled) - oprot.writeFieldEnd() - if self.isServerless is not None: - oprot.writeFieldBegin('isServerless', TType.BOOL, 3337) - oprot.writeBool(self.isServerless) - oprot.writeFieldEnd() - if self.resultDataFormat is not None: - oprot.writeFieldBegin('resultDataFormat', TType.STRUCT, 3344) - self.resultDataFormat.write(oprot) - oprot.writeFieldEnd() - if self.truncatedByThriftLimit is not None: - oprot.writeFieldBegin('truncatedByThriftLimit', TType.BOOL, 3345) - oprot.writeBool(self.truncatedByThriftLimit) - oprot.writeFieldEnd() - if self.resultByteLimit is not None: - oprot.writeFieldBegin('resultByteLimit', TType.I64, 3346) - oprot.writeI64(self.resultByteLimit) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.status is None: - raise TProtocolException(message='Required field status is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, status=None, schema=None, resultFormat=None, lz4Compressed=None, arrowSchema=None, cacheLookupResult=None, uncompressedBytes=None, compressedBytes=None, isStagingOperation=None, reasonForNoCloudFetch=None, resultFiles=None, manifestFile=None, manifestFileFormat=None, cacheLookupLatency=None, remoteCacheMissReason=None, fetchDisposition=None, remoteResultCacheEnabled=None, isServerless=None, resultDataFormat=None, truncatedByThriftLimit=None, resultByteLimit=None,): + self.status = status + self.schema = schema + self.resultFormat = resultFormat + self.lz4Compressed = lz4Compressed + self.arrowSchema = arrowSchema + self.cacheLookupResult = cacheLookupResult + self.uncompressedBytes = uncompressedBytes + self.compressedBytes = compressedBytes + self.isStagingOperation = isStagingOperation + self.reasonForNoCloudFetch = reasonForNoCloudFetch + self.resultFiles = resultFiles + self.manifestFile = manifestFile + self.manifestFileFormat = manifestFileFormat + self.cacheLookupLatency = cacheLookupLatency + self.remoteCacheMissReason = remoteCacheMissReason + self.fetchDisposition = fetchDisposition + self.remoteResultCacheEnabled = remoteResultCacheEnabled + self.isServerless = isServerless + self.resultDataFormat = resultDataFormat + self.truncatedByThriftLimit = truncatedByThriftLimit + self.resultByteLimit = resultByteLimit + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.status = TStatus() + self.status.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRUCT: + self.schema = TTableSchema() + self.schema.read(iprot) + else: + iprot.skip(ftype) + elif fid == 1281: + if ftype == TType.I32: + self.resultFormat = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 1282: + if ftype == TType.BOOL: + self.lz4Compressed = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 1283: + if ftype == TType.STRING: + self.arrowSchema = iprot.readBinary() + else: + iprot.skip(ftype) + elif fid == 1284: + if ftype == TType.I32: + self.cacheLookupResult = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 1285: + if ftype == TType.I64: + self.uncompressedBytes = iprot.readI64() + else: + iprot.skip(ftype) + elif fid == 1286: + if ftype == TType.I64: + self.compressedBytes = iprot.readI64() + else: + iprot.skip(ftype) + elif fid == 1287: + if ftype == TType.BOOL: + self.isStagingOperation = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 3329: + if ftype == TType.I32: + self.reasonForNoCloudFetch = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 3330: + if ftype == TType.LIST: + self.resultFiles = [] + (_etype286, _size283) = iprot.readListBegin() + for _i287 in range(_size283): + _elem288 = TDBSqlCloudResultFile() + _elem288.read(iprot) + self.resultFiles.append(_elem288) + iprot.readListEnd() + else: + iprot.skip(ftype) + elif fid == 3331: + if ftype == TType.STRING: + self.manifestFile = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 3332: + if ftype == TType.I32: + self.manifestFileFormat = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 3333: + if ftype == TType.I64: + self.cacheLookupLatency = iprot.readI64() + else: + iprot.skip(ftype) + elif fid == 3334: + if ftype == TType.STRING: + self.remoteCacheMissReason = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 3335: + if ftype == TType.I32: + self.fetchDisposition = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 3336: + if ftype == TType.BOOL: + self.remoteResultCacheEnabled = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 3337: + if ftype == TType.BOOL: + self.isServerless = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 3344: + if ftype == TType.STRUCT: + self.resultDataFormat = TDBSqlResultFormat() + self.resultDataFormat.read(iprot) + else: + iprot.skip(ftype) + elif fid == 3345: + if ftype == TType.BOOL: + self.truncatedByThriftLimit = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 3346: + if ftype == TType.I64: + self.resultByteLimit = iprot.readI64() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TGetResultSetMetadataResp') + if self.status is not None: + oprot.writeFieldBegin('status', TType.STRUCT, 1) + self.status.write(oprot) + oprot.writeFieldEnd() + if self.schema is not None: + oprot.writeFieldBegin('schema', TType.STRUCT, 2) + self.schema.write(oprot) + oprot.writeFieldEnd() + if self.resultFormat is not None: + oprot.writeFieldBegin('resultFormat', TType.I32, 1281) + oprot.writeI32(self.resultFormat) + oprot.writeFieldEnd() + if self.lz4Compressed is not None: + oprot.writeFieldBegin('lz4Compressed', TType.BOOL, 1282) + oprot.writeBool(self.lz4Compressed) + oprot.writeFieldEnd() + if self.arrowSchema is not None: + oprot.writeFieldBegin('arrowSchema', TType.STRING, 1283) + oprot.writeBinary(self.arrowSchema) + oprot.writeFieldEnd() + if self.cacheLookupResult is not None: + oprot.writeFieldBegin('cacheLookupResult', TType.I32, 1284) + oprot.writeI32(self.cacheLookupResult) + oprot.writeFieldEnd() + if self.uncompressedBytes is not None: + oprot.writeFieldBegin('uncompressedBytes', TType.I64, 1285) + oprot.writeI64(self.uncompressedBytes) + oprot.writeFieldEnd() + if self.compressedBytes is not None: + oprot.writeFieldBegin('compressedBytes', TType.I64, 1286) + oprot.writeI64(self.compressedBytes) + oprot.writeFieldEnd() + if self.isStagingOperation is not None: + oprot.writeFieldBegin('isStagingOperation', TType.BOOL, 1287) + oprot.writeBool(self.isStagingOperation) + oprot.writeFieldEnd() + if self.reasonForNoCloudFetch is not None: + oprot.writeFieldBegin('reasonForNoCloudFetch', TType.I32, 3329) + oprot.writeI32(self.reasonForNoCloudFetch) + oprot.writeFieldEnd() + if self.resultFiles is not None: + oprot.writeFieldBegin('resultFiles', TType.LIST, 3330) + oprot.writeListBegin(TType.STRUCT, len(self.resultFiles)) + for iter289 in self.resultFiles: + iter289.write(oprot) + oprot.writeListEnd() + oprot.writeFieldEnd() + if self.manifestFile is not None: + oprot.writeFieldBegin('manifestFile', TType.STRING, 3331) + oprot.writeString(self.manifestFile.encode('utf-8') if sys.version_info[0] == 2 else self.manifestFile) + oprot.writeFieldEnd() + if self.manifestFileFormat is not None: + oprot.writeFieldBegin('manifestFileFormat', TType.I32, 3332) + oprot.writeI32(self.manifestFileFormat) + oprot.writeFieldEnd() + if self.cacheLookupLatency is not None: + oprot.writeFieldBegin('cacheLookupLatency', TType.I64, 3333) + oprot.writeI64(self.cacheLookupLatency) + oprot.writeFieldEnd() + if self.remoteCacheMissReason is not None: + oprot.writeFieldBegin('remoteCacheMissReason', TType.STRING, 3334) + oprot.writeString(self.remoteCacheMissReason.encode('utf-8') if sys.version_info[0] == 2 else self.remoteCacheMissReason) + oprot.writeFieldEnd() + if self.fetchDisposition is not None: + oprot.writeFieldBegin('fetchDisposition', TType.I32, 3335) + oprot.writeI32(self.fetchDisposition) + oprot.writeFieldEnd() + if self.remoteResultCacheEnabled is not None: + oprot.writeFieldBegin('remoteResultCacheEnabled', TType.BOOL, 3336) + oprot.writeBool(self.remoteResultCacheEnabled) + oprot.writeFieldEnd() + if self.isServerless is not None: + oprot.writeFieldBegin('isServerless', TType.BOOL, 3337) + oprot.writeBool(self.isServerless) + oprot.writeFieldEnd() + if self.resultDataFormat is not None: + oprot.writeFieldBegin('resultDataFormat', TType.STRUCT, 3344) + self.resultDataFormat.write(oprot) + oprot.writeFieldEnd() + if self.truncatedByThriftLimit is not None: + oprot.writeFieldBegin('truncatedByThriftLimit', TType.BOOL, 3345) + oprot.writeBool(self.truncatedByThriftLimit) + oprot.writeFieldEnd() + if self.resultByteLimit is not None: + oprot.writeFieldBegin('resultByteLimit', TType.I64, 3346) + oprot.writeI64(self.resultByteLimit) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.status is None: + raise TProtocolException(message='Required field status is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TFetchResultsReq(object): - """ + """ Attributes: - operationHandle - orientation @@ -9664,124 +9664,124 @@ class TFetchResultsReq(object): """ - def __init__(self, operationHandle=None, orientation= 0, maxRows=None, fetchType=0, maxBytes=None, startRowOffset=None, includeResultSetMetadata=None,): - self.operationHandle = operationHandle - self.orientation = orientation - self.maxRows = maxRows - self.fetchType = fetchType - self.maxBytes = maxBytes - self.startRowOffset = startRowOffset - self.includeResultSetMetadata = includeResultSetMetadata - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.operationHandle = TOperationHandle() - self.operationHandle.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.I32: - self.orientation = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.I64: - self.maxRows = iprot.readI64() - else: - iprot.skip(ftype) - elif fid == 4: - if ftype == TType.I16: - self.fetchType = iprot.readI16() - else: - iprot.skip(ftype) - elif fid == 1281: - if ftype == TType.I64: - self.maxBytes = iprot.readI64() - else: - iprot.skip(ftype) - elif fid == 1282: - if ftype == TType.I64: - self.startRowOffset = iprot.readI64() - else: - iprot.skip(ftype) - elif fid == 1283: - if ftype == TType.BOOL: - self.includeResultSetMetadata = iprot.readBool() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TFetchResultsReq') - if self.operationHandle is not None: - oprot.writeFieldBegin('operationHandle', TType.STRUCT, 1) - self.operationHandle.write(oprot) - oprot.writeFieldEnd() - if self.orientation is not None: - oprot.writeFieldBegin('orientation', TType.I32, 2) - oprot.writeI32(self.orientation) - oprot.writeFieldEnd() - if self.maxRows is not None: - oprot.writeFieldBegin('maxRows', TType.I64, 3) - oprot.writeI64(self.maxRows) - oprot.writeFieldEnd() - if self.fetchType is not None: - oprot.writeFieldBegin('fetchType', TType.I16, 4) - oprot.writeI16(self.fetchType) - oprot.writeFieldEnd() - if self.maxBytes is not None: - oprot.writeFieldBegin('maxBytes', TType.I64, 1281) - oprot.writeI64(self.maxBytes) - oprot.writeFieldEnd() - if self.startRowOffset is not None: - oprot.writeFieldBegin('startRowOffset', TType.I64, 1282) - oprot.writeI64(self.startRowOffset) - oprot.writeFieldEnd() - if self.includeResultSetMetadata is not None: - oprot.writeFieldBegin('includeResultSetMetadata', TType.BOOL, 1283) - oprot.writeBool(self.includeResultSetMetadata) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.operationHandle is None: - raise TProtocolException(message='Required field operationHandle is unset!') - if self.orientation is None: - raise TProtocolException(message='Required field orientation is unset!') - if self.maxRows is None: - raise TProtocolException(message='Required field maxRows is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, operationHandle=None, orientation= 0, maxRows=None, fetchType=0, maxBytes=None, startRowOffset=None, includeResultSetMetadata=None,): + self.operationHandle = operationHandle + self.orientation = orientation + self.maxRows = maxRows + self.fetchType = fetchType + self.maxBytes = maxBytes + self.startRowOffset = startRowOffset + self.includeResultSetMetadata = includeResultSetMetadata + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.operationHandle = TOperationHandle() + self.operationHandle.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.I32: + self.orientation = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.I64: + self.maxRows = iprot.readI64() + else: + iprot.skip(ftype) + elif fid == 4: + if ftype == TType.I16: + self.fetchType = iprot.readI16() + else: + iprot.skip(ftype) + elif fid == 1281: + if ftype == TType.I64: + self.maxBytes = iprot.readI64() + else: + iprot.skip(ftype) + elif fid == 1282: + if ftype == TType.I64: + self.startRowOffset = iprot.readI64() + else: + iprot.skip(ftype) + elif fid == 1283: + if ftype == TType.BOOL: + self.includeResultSetMetadata = iprot.readBool() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TFetchResultsReq') + if self.operationHandle is not None: + oprot.writeFieldBegin('operationHandle', TType.STRUCT, 1) + self.operationHandle.write(oprot) + oprot.writeFieldEnd() + if self.orientation is not None: + oprot.writeFieldBegin('orientation', TType.I32, 2) + oprot.writeI32(self.orientation) + oprot.writeFieldEnd() + if self.maxRows is not None: + oprot.writeFieldBegin('maxRows', TType.I64, 3) + oprot.writeI64(self.maxRows) + oprot.writeFieldEnd() + if self.fetchType is not None: + oprot.writeFieldBegin('fetchType', TType.I16, 4) + oprot.writeI16(self.fetchType) + oprot.writeFieldEnd() + if self.maxBytes is not None: + oprot.writeFieldBegin('maxBytes', TType.I64, 1281) + oprot.writeI64(self.maxBytes) + oprot.writeFieldEnd() + if self.startRowOffset is not None: + oprot.writeFieldBegin('startRowOffset', TType.I64, 1282) + oprot.writeI64(self.startRowOffset) + oprot.writeFieldEnd() + if self.includeResultSetMetadata is not None: + oprot.writeFieldBegin('includeResultSetMetadata', TType.BOOL, 1283) + oprot.writeBool(self.includeResultSetMetadata) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.operationHandle is None: + raise TProtocolException(message='Required field operationHandle is unset!') + if self.orientation is None: + raise TProtocolException(message='Required field orientation is unset!') + if self.maxRows is None: + raise TProtocolException(message='Required field maxRows is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TFetchResultsResp(object): - """ + """ Attributes: - status - hasMoreRows @@ -9792,102 +9792,102 @@ class TFetchResultsResp(object): """ - def __init__(self, status=None, hasMoreRows=None, results=None, resultSetMetadata=None, responseValidation=None,): - self.status = status - self.hasMoreRows = hasMoreRows - self.results = results - self.resultSetMetadata = resultSetMetadata - self.responseValidation = responseValidation - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.status = TStatus() - self.status.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.BOOL: - self.hasMoreRows = iprot.readBool() - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.STRUCT: - self.results = TRowSet() - self.results.read(iprot) - else: - iprot.skip(ftype) - elif fid == 1281: - if ftype == TType.STRUCT: - self.resultSetMetadata = TGetResultSetMetadataResp() - self.resultSetMetadata.read(iprot) - else: - iprot.skip(ftype) - elif fid == 3329: - if ftype == TType.STRING: - self.responseValidation = iprot.readBinary() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TFetchResultsResp') - if self.status is not None: - oprot.writeFieldBegin('status', TType.STRUCT, 1) - self.status.write(oprot) - oprot.writeFieldEnd() - if self.hasMoreRows is not None: - oprot.writeFieldBegin('hasMoreRows', TType.BOOL, 2) - oprot.writeBool(self.hasMoreRows) - oprot.writeFieldEnd() - if self.results is not None: - oprot.writeFieldBegin('results', TType.STRUCT, 3) - self.results.write(oprot) - oprot.writeFieldEnd() - if self.resultSetMetadata is not None: - oprot.writeFieldBegin('resultSetMetadata', TType.STRUCT, 1281) - self.resultSetMetadata.write(oprot) - oprot.writeFieldEnd() - if self.responseValidation is not None: - oprot.writeFieldBegin('responseValidation', TType.STRING, 3329) - oprot.writeBinary(self.responseValidation) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.status is None: - raise TProtocolException(message='Required field status is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, status=None, hasMoreRows=None, results=None, resultSetMetadata=None, responseValidation=None,): + self.status = status + self.hasMoreRows = hasMoreRows + self.results = results + self.resultSetMetadata = resultSetMetadata + self.responseValidation = responseValidation + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.status = TStatus() + self.status.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.BOOL: + self.hasMoreRows = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.STRUCT: + self.results = TRowSet() + self.results.read(iprot) + else: + iprot.skip(ftype) + elif fid == 1281: + if ftype == TType.STRUCT: + self.resultSetMetadata = TGetResultSetMetadataResp() + self.resultSetMetadata.read(iprot) + else: + iprot.skip(ftype) + elif fid == 3329: + if ftype == TType.STRING: + self.responseValidation = iprot.readBinary() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TFetchResultsResp') + if self.status is not None: + oprot.writeFieldBegin('status', TType.STRUCT, 1) + self.status.write(oprot) + oprot.writeFieldEnd() + if self.hasMoreRows is not None: + oprot.writeFieldBegin('hasMoreRows', TType.BOOL, 2) + oprot.writeBool(self.hasMoreRows) + oprot.writeFieldEnd() + if self.results is not None: + oprot.writeFieldBegin('results', TType.STRUCT, 3) + self.results.write(oprot) + oprot.writeFieldEnd() + if self.resultSetMetadata is not None: + oprot.writeFieldBegin('resultSetMetadata', TType.STRUCT, 1281) + self.resultSetMetadata.write(oprot) + oprot.writeFieldEnd() + if self.responseValidation is not None: + oprot.writeFieldBegin('responseValidation', TType.STRING, 3329) + oprot.writeBinary(self.responseValidation) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.status is None: + raise TProtocolException(message='Required field status is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TGetDelegationTokenReq(object): - """ + """ Attributes: - sessionHandle - owner @@ -9897,95 +9897,95 @@ class TGetDelegationTokenReq(object): """ - def __init__(self, sessionHandle=None, owner=None, renewer=None, sessionConf=None,): - self.sessionHandle = sessionHandle - self.owner = owner - self.renewer = renewer - self.sessionConf = sessionConf - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.sessionHandle = TSessionHandle() - self.sessionHandle.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRING: - self.owner = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.STRING: - self.renewer = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 3329: - if ftype == TType.STRUCT: - self.sessionConf = TDBSqlSessionConf() - self.sessionConf.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TGetDelegationTokenReq') - if self.sessionHandle is not None: - oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 1) - self.sessionHandle.write(oprot) - oprot.writeFieldEnd() - if self.owner is not None: - oprot.writeFieldBegin('owner', TType.STRING, 2) - oprot.writeString(self.owner.encode('utf-8') if sys.version_info[0] == 2 else self.owner) - oprot.writeFieldEnd() - if self.renewer is not None: - oprot.writeFieldBegin('renewer', TType.STRING, 3) - oprot.writeString(self.renewer.encode('utf-8') if sys.version_info[0] == 2 else self.renewer) - oprot.writeFieldEnd() - if self.sessionConf is not None: - oprot.writeFieldBegin('sessionConf', TType.STRUCT, 3329) - self.sessionConf.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.sessionHandle is None: - raise TProtocolException(message='Required field sessionHandle is unset!') - if self.owner is None: - raise TProtocolException(message='Required field owner is unset!') - if self.renewer is None: - raise TProtocolException(message='Required field renewer is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, sessionHandle=None, owner=None, renewer=None, sessionConf=None,): + self.sessionHandle = sessionHandle + self.owner = owner + self.renewer = renewer + self.sessionConf = sessionConf + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.sessionHandle = TSessionHandle() + self.sessionHandle.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRING: + self.owner = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.STRING: + self.renewer = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 3329: + if ftype == TType.STRUCT: + self.sessionConf = TDBSqlSessionConf() + self.sessionConf.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TGetDelegationTokenReq') + if self.sessionHandle is not None: + oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 1) + self.sessionHandle.write(oprot) + oprot.writeFieldEnd() + if self.owner is not None: + oprot.writeFieldBegin('owner', TType.STRING, 2) + oprot.writeString(self.owner.encode('utf-8') if sys.version_info[0] == 2 else self.owner) + oprot.writeFieldEnd() + if self.renewer is not None: + oprot.writeFieldBegin('renewer', TType.STRING, 3) + oprot.writeString(self.renewer.encode('utf-8') if sys.version_info[0] == 2 else self.renewer) + oprot.writeFieldEnd() + if self.sessionConf is not None: + oprot.writeFieldBegin('sessionConf', TType.STRUCT, 3329) + self.sessionConf.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.sessionHandle is None: + raise TProtocolException(message='Required field sessionHandle is unset!') + if self.owner is None: + raise TProtocolException(message='Required field owner is unset!') + if self.renewer is None: + raise TProtocolException(message='Required field renewer is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TGetDelegationTokenResp(object): - """ + """ Attributes: - status - delegationToken @@ -9993,70 +9993,70 @@ class TGetDelegationTokenResp(object): """ - def __init__(self, status=None, delegationToken=None,): - self.status = status - self.delegationToken = delegationToken - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.status = TStatus() - self.status.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRING: - self.delegationToken = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TGetDelegationTokenResp') - if self.status is not None: - oprot.writeFieldBegin('status', TType.STRUCT, 1) - self.status.write(oprot) - oprot.writeFieldEnd() - if self.delegationToken is not None: - oprot.writeFieldBegin('delegationToken', TType.STRING, 2) - oprot.writeString(self.delegationToken.encode('utf-8') if sys.version_info[0] == 2 else self.delegationToken) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.status is None: - raise TProtocolException(message='Required field status is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, status=None, delegationToken=None,): + self.status = status + self.delegationToken = delegationToken + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.status = TStatus() + self.status.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRING: + self.delegationToken = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TGetDelegationTokenResp') + if self.status is not None: + oprot.writeFieldBegin('status', TType.STRUCT, 1) + self.status.write(oprot) + oprot.writeFieldEnd() + if self.delegationToken is not None: + oprot.writeFieldBegin('delegationToken', TType.STRING, 2) + oprot.writeString(self.delegationToken.encode('utf-8') if sys.version_info[0] == 2 else self.delegationToken) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.status is None: + raise TProtocolException(message='Required field status is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TCancelDelegationTokenReq(object): - """ + """ Attributes: - sessionHandle - delegationToken @@ -10065,143 +10065,143 @@ class TCancelDelegationTokenReq(object): """ - def __init__(self, sessionHandle=None, delegationToken=None, sessionConf=None,): - self.sessionHandle = sessionHandle - self.delegationToken = delegationToken - self.sessionConf = sessionConf - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.sessionHandle = TSessionHandle() - self.sessionHandle.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRING: - self.delegationToken = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 3329: - if ftype == TType.STRUCT: - self.sessionConf = TDBSqlSessionConf() - self.sessionConf.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TCancelDelegationTokenReq') - if self.sessionHandle is not None: - oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 1) - self.sessionHandle.write(oprot) - oprot.writeFieldEnd() - if self.delegationToken is not None: - oprot.writeFieldBegin('delegationToken', TType.STRING, 2) - oprot.writeString(self.delegationToken.encode('utf-8') if sys.version_info[0] == 2 else self.delegationToken) - oprot.writeFieldEnd() - if self.sessionConf is not None: - oprot.writeFieldBegin('sessionConf', TType.STRUCT, 3329) - self.sessionConf.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.sessionHandle is None: - raise TProtocolException(message='Required field sessionHandle is unset!') - if self.delegationToken is None: - raise TProtocolException(message='Required field delegationToken is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, sessionHandle=None, delegationToken=None, sessionConf=None,): + self.sessionHandle = sessionHandle + self.delegationToken = delegationToken + self.sessionConf = sessionConf + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.sessionHandle = TSessionHandle() + self.sessionHandle.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRING: + self.delegationToken = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 3329: + if ftype == TType.STRUCT: + self.sessionConf = TDBSqlSessionConf() + self.sessionConf.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TCancelDelegationTokenReq') + if self.sessionHandle is not None: + oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 1) + self.sessionHandle.write(oprot) + oprot.writeFieldEnd() + if self.delegationToken is not None: + oprot.writeFieldBegin('delegationToken', TType.STRING, 2) + oprot.writeString(self.delegationToken.encode('utf-8') if sys.version_info[0] == 2 else self.delegationToken) + oprot.writeFieldEnd() + if self.sessionConf is not None: + oprot.writeFieldBegin('sessionConf', TType.STRUCT, 3329) + self.sessionConf.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.sessionHandle is None: + raise TProtocolException(message='Required field sessionHandle is unset!') + if self.delegationToken is None: + raise TProtocolException(message='Required field delegationToken is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TCancelDelegationTokenResp(object): - """ + """ Attributes: - status """ - def __init__(self, status=None,): - self.status = status - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.status = TStatus() - self.status.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TCancelDelegationTokenResp') - if self.status is not None: - oprot.writeFieldBegin('status', TType.STRUCT, 1) - self.status.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.status is None: - raise TProtocolException(message='Required field status is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, status=None,): + self.status = status + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.status = TStatus() + self.status.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TCancelDelegationTokenResp') + if self.status is not None: + oprot.writeFieldBegin('status', TType.STRUCT, 1) + self.status.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.status is None: + raise TProtocolException(message='Required field status is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TRenewDelegationTokenReq(object): - """ + """ Attributes: - sessionHandle - delegationToken @@ -10210,143 +10210,143 @@ class TRenewDelegationTokenReq(object): """ - def __init__(self, sessionHandle=None, delegationToken=None, sessionConf=None,): - self.sessionHandle = sessionHandle - self.delegationToken = delegationToken - self.sessionConf = sessionConf - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.sessionHandle = TSessionHandle() - self.sessionHandle.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRING: - self.delegationToken = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 3329: - if ftype == TType.STRUCT: - self.sessionConf = TDBSqlSessionConf() - self.sessionConf.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TRenewDelegationTokenReq') - if self.sessionHandle is not None: - oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 1) - self.sessionHandle.write(oprot) - oprot.writeFieldEnd() - if self.delegationToken is not None: - oprot.writeFieldBegin('delegationToken', TType.STRING, 2) - oprot.writeString(self.delegationToken.encode('utf-8') if sys.version_info[0] == 2 else self.delegationToken) - oprot.writeFieldEnd() - if self.sessionConf is not None: - oprot.writeFieldBegin('sessionConf', TType.STRUCT, 3329) - self.sessionConf.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.sessionHandle is None: - raise TProtocolException(message='Required field sessionHandle is unset!') - if self.delegationToken is None: - raise TProtocolException(message='Required field delegationToken is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, sessionHandle=None, delegationToken=None, sessionConf=None,): + self.sessionHandle = sessionHandle + self.delegationToken = delegationToken + self.sessionConf = sessionConf + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.sessionHandle = TSessionHandle() + self.sessionHandle.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRING: + self.delegationToken = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 3329: + if ftype == TType.STRUCT: + self.sessionConf = TDBSqlSessionConf() + self.sessionConf.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TRenewDelegationTokenReq') + if self.sessionHandle is not None: + oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 1) + self.sessionHandle.write(oprot) + oprot.writeFieldEnd() + if self.delegationToken is not None: + oprot.writeFieldBegin('delegationToken', TType.STRING, 2) + oprot.writeString(self.delegationToken.encode('utf-8') if sys.version_info[0] == 2 else self.delegationToken) + oprot.writeFieldEnd() + if self.sessionConf is not None: + oprot.writeFieldBegin('sessionConf', TType.STRUCT, 3329) + self.sessionConf.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.sessionHandle is None: + raise TProtocolException(message='Required field sessionHandle is unset!') + if self.delegationToken is None: + raise TProtocolException(message='Required field delegationToken is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TRenewDelegationTokenResp(object): - """ + """ Attributes: - status """ - def __init__(self, status=None,): - self.status = status - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.STRUCT: - self.status = TStatus() - self.status.read(iprot) - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TRenewDelegationTokenResp') - if self.status is not None: - oprot.writeFieldBegin('status', TType.STRUCT, 1) - self.status.write(oprot) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.status is None: - raise TProtocolException(message='Required field status is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, status=None,): + self.status = status + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.status = TStatus() + self.status.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TRenewDelegationTokenResp') + if self.status is not None: + oprot.writeFieldBegin('status', TType.STRUCT, 1) + self.status.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.status is None: + raise TProtocolException(message='Required field status is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) class TProgressUpdateResp(object): - """ + """ Attributes: - headerNames - rows @@ -10358,101418 +10358,101418 @@ class TProgressUpdateResp(object): """ - def __init__(self, headerNames=None, rows=None, progressedPercentage=None, status=None, footerSummary=None, startTime=None,): - self.headerNames = headerNames - self.rows = rows - self.progressedPercentage = progressedPercentage - self.status = status - self.footerSummary = footerSummary - self.startTime = startTime - - def read(self, iprot): - if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: - iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) - return - iprot.readStructBegin() - while True: - (fname, ftype, fid) = iprot.readFieldBegin() - if ftype == TType.STOP: - break - if fid == 1: - if ftype == TType.LIST: - self.headerNames = [] - (_etype293, _size290) = iprot.readListBegin() - for _i294 in range(_size290): - _elem295 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - self.headerNames.append(_elem295) - iprot.readListEnd() - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.LIST: - self.rows = [] - (_etype299, _size296) = iprot.readListBegin() - for _i300 in range(_size296): - _elem301 = [] - (_etype305, _size302) = iprot.readListBegin() - for _i306 in range(_size302): - _elem307 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - _elem301.append(_elem307) - iprot.readListEnd() - self.rows.append(_elem301) - iprot.readListEnd() - else: - iprot.skip(ftype) - elif fid == 3: - if ftype == TType.DOUBLE: - self.progressedPercentage = iprot.readDouble() - else: - iprot.skip(ftype) - elif fid == 4: - if ftype == TType.I32: - self.status = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 5: - if ftype == TType.STRING: - self.footerSummary = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() - else: - iprot.skip(ftype) - elif fid == 6: - if ftype == TType.I64: - self.startTime = iprot.readI64() - else: - iprot.skip(ftype) - else: - iprot.skip(ftype) - iprot.readFieldEnd() - iprot.readStructEnd() - - def write(self, oprot): - if oprot._fast_encode is not None and self.thrift_spec is not None: - oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) - return - oprot.writeStructBegin('TProgressUpdateResp') - if self.headerNames is not None: - oprot.writeFieldBegin('headerNames', TType.LIST, 1) - oprot.writeListBegin(TType.STRING, len(self.headerNames)) - for iter308 in self.headerNames: - oprot.writeString(iter308.encode('utf-8') if sys.version_info[0] == 2 else iter308) - oprot.writeListEnd() - oprot.writeFieldEnd() - if self.rows is not None: - oprot.writeFieldBegin('rows', TType.LIST, 2) - oprot.writeListBegin(TType.LIST, len(self.rows)) - for iter309 in self.rows: - oprot.writeListBegin(TType.STRING, len(iter309)) - for iter310 in iter309: - oprot.writeString(iter310.encode('utf-8') if sys.version_info[0] == 2 else iter310) - oprot.writeListEnd() - oprot.writeListEnd() - oprot.writeFieldEnd() - if self.progressedPercentage is not None: - oprot.writeFieldBegin('progressedPercentage', TType.DOUBLE, 3) - oprot.writeDouble(self.progressedPercentage) - oprot.writeFieldEnd() - if self.status is not None: - oprot.writeFieldBegin('status', TType.I32, 4) - oprot.writeI32(self.status) - oprot.writeFieldEnd() - if self.footerSummary is not None: - oprot.writeFieldBegin('footerSummary', TType.STRING, 5) - oprot.writeString(self.footerSummary.encode('utf-8') if sys.version_info[0] == 2 else self.footerSummary) - oprot.writeFieldEnd() - if self.startTime is not None: - oprot.writeFieldBegin('startTime', TType.I64, 6) - oprot.writeI64(self.startTime) - oprot.writeFieldEnd() - oprot.writeFieldStop() - oprot.writeStructEnd() - - def validate(self): - if self.headerNames is None: - raise TProtocolException(message='Required field headerNames is unset!') - if self.rows is None: - raise TProtocolException(message='Required field rows is unset!') - if self.progressedPercentage is None: - raise TProtocolException(message='Required field progressedPercentage is unset!') - if self.status is None: - raise TProtocolException(message='Required field status is unset!') - if self.footerSummary is None: - raise TProtocolException(message='Required field footerSummary is unset!') - if self.startTime is None: - raise TProtocolException(message='Required field startTime is unset!') - return - - def __repr__(self): - L = ['%s=%r' % (key, value) - for key, value in self.__dict__.items()] - return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) - - def __eq__(self, other): - return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ - - def __ne__(self, other): - return not (self == other) + def __init__(self, headerNames=None, rows=None, progressedPercentage=None, status=None, footerSummary=None, startTime=None,): + self.headerNames = headerNames + self.rows = rows + self.progressedPercentage = progressedPercentage + self.status = status + self.footerSummary = footerSummary + self.startTime = startTime + + def read(self, iprot): + if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: + iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.LIST: + self.headerNames = [] + (_etype293, _size290) = iprot.readListBegin() + for _i294 in range(_size290): + _elem295 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + self.headerNames.append(_elem295) + iprot.readListEnd() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.LIST: + self.rows = [] + (_etype299, _size296) = iprot.readListBegin() + for _i300 in range(_size296): + _elem301 = [] + (_etype305, _size302) = iprot.readListBegin() + for _i306 in range(_size302): + _elem307 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + _elem301.append(_elem307) + iprot.readListEnd() + self.rows.append(_elem301) + iprot.readListEnd() + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.DOUBLE: + self.progressedPercentage = iprot.readDouble() + else: + iprot.skip(ftype) + elif fid == 4: + if ftype == TType.I32: + self.status = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 5: + if ftype == TType.STRING: + self.footerSummary = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() + else: + iprot.skip(ftype) + elif fid == 6: + if ftype == TType.I64: + self.startTime = iprot.readI64() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot._fast_encode is not None and self.thrift_spec is not None: + oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) + return + oprot.writeStructBegin('TProgressUpdateResp') + if self.headerNames is not None: + oprot.writeFieldBegin('headerNames', TType.LIST, 1) + oprot.writeListBegin(TType.STRING, len(self.headerNames)) + for iter308 in self.headerNames: + oprot.writeString(iter308.encode('utf-8') if sys.version_info[0] == 2 else iter308) + oprot.writeListEnd() + oprot.writeFieldEnd() + if self.rows is not None: + oprot.writeFieldBegin('rows', TType.LIST, 2) + oprot.writeListBegin(TType.LIST, len(self.rows)) + for iter309 in self.rows: + oprot.writeListBegin(TType.STRING, len(iter309)) + for iter310 in iter309: + oprot.writeString(iter310.encode('utf-8') if sys.version_info[0] == 2 else iter310) + oprot.writeListEnd() + oprot.writeListEnd() + oprot.writeFieldEnd() + if self.progressedPercentage is not None: + oprot.writeFieldBegin('progressedPercentage', TType.DOUBLE, 3) + oprot.writeDouble(self.progressedPercentage) + oprot.writeFieldEnd() + if self.status is not None: + oprot.writeFieldBegin('status', TType.I32, 4) + oprot.writeI32(self.status) + oprot.writeFieldEnd() + if self.footerSummary is not None: + oprot.writeFieldBegin('footerSummary', TType.STRING, 5) + oprot.writeString(self.footerSummary.encode('utf-8') if sys.version_info[0] == 2 else self.footerSummary) + oprot.writeFieldEnd() + if self.startTime is not None: + oprot.writeFieldBegin('startTime', TType.I64, 6) + oprot.writeI64(self.startTime) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.headerNames is None: + raise TProtocolException(message='Required field headerNames is unset!') + if self.rows is None: + raise TProtocolException(message='Required field rows is unset!') + if self.progressedPercentage is None: + raise TProtocolException(message='Required field progressedPercentage is unset!') + if self.status is None: + raise TProtocolException(message='Required field status is unset!') + if self.footerSummary is None: + raise TProtocolException(message='Required field footerSummary is unset!') + if self.startTime is None: + raise TProtocolException(message='Required field startTime is unset!') + return + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.items()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) all_structs.append(TTypeQualifierValue) TTypeQualifierValue.thrift_spec = ( - None, # 0 - (1, TType.I32, 'i32Value', None, None, ), # 1 - (2, TType.STRING, 'stringValue', 'UTF8', None, ), # 2 + None, # 0 + (1, TType.I32, 'i32Value', None, None, ), # 1 + (2, TType.STRING, 'stringValue', 'UTF8', None, ), # 2 ) all_structs.append(TTypeQualifiers) TTypeQualifiers.thrift_spec = ( - None, # 0 - (1, TType.MAP, 'qualifiers', (TType.STRING, 'UTF8', TType.STRUCT, [TTypeQualifierValue, None], False), None, ), # 1 + None, # 0 + (1, TType.MAP, 'qualifiers', (TType.STRING, 'UTF8', TType.STRUCT, [TTypeQualifierValue, None], False), None, ), # 1 ) all_structs.append(TTAllowedParameterValueEntry) TTAllowedParameterValueEntry.thrift_spec = ( - None, # 0 - (1, TType.I32, 'type', None, None, ), # 1 - (2, TType.STRUCT, 'typeQualifiers', [TTypeQualifiers, None], None, ), # 2 + None, # 0 + (1, TType.I32, 'type', None, None, ), # 1 + (2, TType.STRUCT, 'typeQualifiers', [TTypeQualifiers, None], None, ), # 2 ) all_structs.append(TArrayTypeEntry) TArrayTypeEntry.thrift_spec = ( - None, # 0 - (1, TType.I32, 'objectTypePtr', None, None, ), # 1 + None, # 0 + (1, TType.I32, 'objectTypePtr', None, None, ), # 1 ) all_structs.append(TMapTypeEntry) TMapTypeEntry.thrift_spec = ( - None, # 0 - (1, TType.I32, 'keyTypePtr', None, None, ), # 1 - (2, TType.I32, 'valueTypePtr', None, None, ), # 2 + None, # 0 + (1, TType.I32, 'keyTypePtr', None, None, ), # 1 + (2, TType.I32, 'valueTypePtr', None, None, ), # 2 ) all_structs.append(TStructTypeEntry) TStructTypeEntry.thrift_spec = ( - None, # 0 - (1, TType.MAP, 'nameToTypePtr', (TType.STRING, 'UTF8', TType.I32, None, False), None, ), # 1 + None, # 0 + (1, TType.MAP, 'nameToTypePtr', (TType.STRING, 'UTF8', TType.I32, None, False), None, ), # 1 ) all_structs.append(TUnionTypeEntry) TUnionTypeEntry.thrift_spec = ( - None, # 0 - (1, TType.MAP, 'nameToTypePtr', (TType.STRING, 'UTF8', TType.I32, None, False), None, ), # 1 + None, # 0 + (1, TType.MAP, 'nameToTypePtr', (TType.STRING, 'UTF8', TType.I32, None, False), None, ), # 1 ) all_structs.append(TUserDefinedTypeEntry) TUserDefinedTypeEntry.thrift_spec = ( - None, # 0 - (1, TType.STRING, 'typeClassName', 'UTF8', None, ), # 1 + None, # 0 + (1, TType.STRING, 'typeClassName', 'UTF8', None, ), # 1 ) all_structs.append(TTypeEntry) TTypeEntry.thrift_spec = ( - None, # 0 - (1, TType.STRUCT, 'primitiveEntry', [TTAllowedParameterValueEntry, None], None, ), # 1 - (2, TType.STRUCT, 'arrayEntry', [TArrayTypeEntry, None], None, ), # 2 - (3, TType.STRUCT, 'mapEntry', [TMapTypeEntry, None], None, ), # 3 - (4, TType.STRUCT, 'structEntry', [TStructTypeEntry, None], None, ), # 4 - (5, TType.STRUCT, 'unionEntry', [TUnionTypeEntry, None], None, ), # 5 - (6, TType.STRUCT, 'userDefinedTypeEntry', [TUserDefinedTypeEntry, None], None, ), # 6 + None, # 0 + (1, TType.STRUCT, 'primitiveEntry', [TTAllowedParameterValueEntry, None], None, ), # 1 + (2, TType.STRUCT, 'arrayEntry', [TArrayTypeEntry, None], None, ), # 2 + (3, TType.STRUCT, 'mapEntry', [TMapTypeEntry, None], None, ), # 3 + (4, TType.STRUCT, 'structEntry', [TStructTypeEntry, None], None, ), # 4 + (5, TType.STRUCT, 'unionEntry', [TUnionTypeEntry, None], None, ), # 5 + (6, TType.STRUCT, 'userDefinedTypeEntry', [TUserDefinedTypeEntry, None], None, ), # 6 ) all_structs.append(TTypeDesc) TTypeDesc.thrift_spec = ( - None, # 0 - (1, TType.LIST, 'types', (TType.STRUCT, [TTypeEntry, None], False), None, ), # 1 + None, # 0 + (1, TType.LIST, 'types', (TType.STRUCT, [TTypeEntry, None], False), None, ), # 1 ) all_structs.append(TColumnDesc) TColumnDesc.thrift_spec = ( - None, # 0 - (1, TType.STRING, 'columnName', 'UTF8', None, ), # 1 - (2, TType.STRUCT, 'typeDesc', [TTypeDesc, None], None, ), # 2 - (3, TType.I32, 'position', None, None, ), # 3 - (4, TType.STRING, 'comment', 'UTF8', None, ), # 4 + None, # 0 + (1, TType.STRING, 'columnName', 'UTF8', None, ), # 1 + (2, TType.STRUCT, 'typeDesc', [TTypeDesc, None], None, ), # 2 + (3, TType.I32, 'position', None, None, ), # 3 + (4, TType.STRING, 'comment', 'UTF8', None, ), # 4 ) all_structs.append(TTableSchema) TTableSchema.thrift_spec = ( - None, # 0 - (1, TType.LIST, 'columns', (TType.STRUCT, [TColumnDesc, None], False), None, ), # 1 + None, # 0 + (1, TType.LIST, 'columns', (TType.STRUCT, [TColumnDesc, None], False), None, ), # 1 ) all_structs.append(TBoolValue) TBoolValue.thrift_spec = ( - None, # 0 - (1, TType.BOOL, 'value', None, None, ), # 1 + None, # 0 + (1, TType.BOOL, 'value', None, None, ), # 1 ) all_structs.append(TByteValue) TByteValue.thrift_spec = ( - None, # 0 - (1, TType.BYTE, 'value', None, None, ), # 1 + None, # 0 + (1, TType.BYTE, 'value', None, None, ), # 1 ) all_structs.append(TI16Value) TI16Value.thrift_spec = ( - None, # 0 - (1, TType.I16, 'value', None, None, ), # 1 + None, # 0 + (1, TType.I16, 'value', None, None, ), # 1 ) all_structs.append(TI32Value) TI32Value.thrift_spec = ( - None, # 0 - (1, TType.I32, 'value', None, None, ), # 1 + None, # 0 + (1, TType.I32, 'value', None, None, ), # 1 ) all_structs.append(TI64Value) TI64Value.thrift_spec = ( - None, # 0 - (1, TType.I64, 'value', None, None, ), # 1 + None, # 0 + (1, TType.I64, 'value', None, None, ), # 1 ) all_structs.append(TDoubleValue) TDoubleValue.thrift_spec = ( - None, # 0 - (1, TType.DOUBLE, 'value', None, None, ), # 1 + None, # 0 + (1, TType.DOUBLE, 'value', None, None, ), # 1 ) all_structs.append(TStringValue) TStringValue.thrift_spec = ( - None, # 0 - (1, TType.STRING, 'value', 'UTF8', None, ), # 1 + None, # 0 + (1, TType.STRING, 'value', 'UTF8', None, ), # 1 ) all_structs.append(TColumnValue) TColumnValue.thrift_spec = ( - None, # 0 - (1, TType.STRUCT, 'boolVal', [TBoolValue, None], None, ), # 1 - (2, TType.STRUCT, 'byteVal', [TByteValue, None], None, ), # 2 - (3, TType.STRUCT, 'i16Val', [TI16Value, None], None, ), # 3 - (4, TType.STRUCT, 'i32Val', [TI32Value, None], None, ), # 4 - (5, TType.STRUCT, 'i64Val', [TI64Value, None], None, ), # 5 - (6, TType.STRUCT, 'doubleVal', [TDoubleValue, None], None, ), # 6 - (7, TType.STRUCT, 'stringVal', [TStringValue, None], None, ), # 7 + None, # 0 + (1, TType.STRUCT, 'boolVal', [TBoolValue, None], None, ), # 1 + (2, TType.STRUCT, 'byteVal', [TByteValue, None], None, ), # 2 + (3, TType.STRUCT, 'i16Val', [TI16Value, None], None, ), # 3 + (4, TType.STRUCT, 'i32Val', [TI32Value, None], None, ), # 4 + (5, TType.STRUCT, 'i64Val', [TI64Value, None], None, ), # 5 + (6, TType.STRUCT, 'doubleVal', [TDoubleValue, None], None, ), # 6 + (7, TType.STRUCT, 'stringVal', [TStringValue, None], None, ), # 7 ) all_structs.append(TRow) TRow.thrift_spec = ( - None, # 0 - (1, TType.LIST, 'colVals', (TType.STRUCT, [TColumnValue, None], False), None, ), # 1 + None, # 0 + (1, TType.LIST, 'colVals', (TType.STRUCT, [TColumnValue, None], False), None, ), # 1 ) all_structs.append(TBoolColumn) TBoolColumn.thrift_spec = ( - None, # 0 - (1, TType.LIST, 'values', (TType.BOOL, None, False), None, ), # 1 - (2, TType.STRING, 'nulls', 'BINARY', None, ), # 2 + None, # 0 + (1, TType.LIST, 'values', (TType.BOOL, None, False), None, ), # 1 + (2, TType.STRING, 'nulls', 'BINARY', None, ), # 2 ) all_structs.append(TByteColumn) TByteColumn.thrift_spec = ( - None, # 0 - (1, TType.LIST, 'values', (TType.BYTE, None, False), None, ), # 1 - (2, TType.STRING, 'nulls', 'BINARY', None, ), # 2 + None, # 0 + (1, TType.LIST, 'values', (TType.BYTE, None, False), None, ), # 1 + (2, TType.STRING, 'nulls', 'BINARY', None, ), # 2 ) all_structs.append(TI16Column) TI16Column.thrift_spec = ( - None, # 0 - (1, TType.LIST, 'values', (TType.I16, None, False), None, ), # 1 - (2, TType.STRING, 'nulls', 'BINARY', None, ), # 2 + None, # 0 + (1, TType.LIST, 'values', (TType.I16, None, False), None, ), # 1 + (2, TType.STRING, 'nulls', 'BINARY', None, ), # 2 ) all_structs.append(TI32Column) TI32Column.thrift_spec = ( - None, # 0 - (1, TType.LIST, 'values', (TType.I32, None, False), None, ), # 1 - (2, TType.STRING, 'nulls', 'BINARY', None, ), # 2 + None, # 0 + (1, TType.LIST, 'values', (TType.I32, None, False), None, ), # 1 + (2, TType.STRING, 'nulls', 'BINARY', None, ), # 2 ) all_structs.append(TI64Column) TI64Column.thrift_spec = ( - None, # 0 - (1, TType.LIST, 'values', (TType.I64, None, False), None, ), # 1 - (2, TType.STRING, 'nulls', 'BINARY', None, ), # 2 + None, # 0 + (1, TType.LIST, 'values', (TType.I64, None, False), None, ), # 1 + (2, TType.STRING, 'nulls', 'BINARY', None, ), # 2 ) all_structs.append(TDoubleColumn) TDoubleColumn.thrift_spec = ( - None, # 0 - (1, TType.LIST, 'values', (TType.DOUBLE, None, False), None, ), # 1 - (2, TType.STRING, 'nulls', 'BINARY', None, ), # 2 + None, # 0 + (1, TType.LIST, 'values', (TType.DOUBLE, None, False), None, ), # 1 + (2, TType.STRING, 'nulls', 'BINARY', None, ), # 2 ) all_structs.append(TStringColumn) TStringColumn.thrift_spec = ( - None, # 0 - (1, TType.LIST, 'values', (TType.STRING, 'UTF8', False), None, ), # 1 - (2, TType.STRING, 'nulls', 'BINARY', None, ), # 2 + None, # 0 + (1, TType.LIST, 'values', (TType.STRING, 'UTF8', False), None, ), # 1 + (2, TType.STRING, 'nulls', 'BINARY', None, ), # 2 ) all_structs.append(TBinaryColumn) TBinaryColumn.thrift_spec = ( - None, # 0 - (1, TType.LIST, 'values', (TType.STRING, 'BINARY', False), None, ), # 1 - (2, TType.STRING, 'nulls', 'BINARY', None, ), # 2 + None, # 0 + (1, TType.LIST, 'values', (TType.STRING, 'BINARY', False), None, ), # 1 + (2, TType.STRING, 'nulls', 'BINARY', None, ), # 2 ) all_structs.append(TColumn) TColumn.thrift_spec = ( - None, # 0 - (1, TType.STRUCT, 'boolVal', [TBoolColumn, None], None, ), # 1 - (2, TType.STRUCT, 'byteVal', [TByteColumn, None], None, ), # 2 - (3, TType.STRUCT, 'i16Val', [TI16Column, None], None, ), # 3 - (4, TType.STRUCT, 'i32Val', [TI32Column, None], None, ), # 4 - (5, TType.STRUCT, 'i64Val', [TI64Column, None], None, ), # 5 - (6, TType.STRUCT, 'doubleVal', [TDoubleColumn, None], None, ), # 6 - (7, TType.STRUCT, 'stringVal', [TStringColumn, None], None, ), # 7 - (8, TType.STRUCT, 'binaryVal', [TBinaryColumn, None], None, ), # 8 + None, # 0 + (1, TType.STRUCT, 'boolVal', [TBoolColumn, None], None, ), # 1 + (2, TType.STRUCT, 'byteVal', [TByteColumn, None], None, ), # 2 + (3, TType.STRUCT, 'i16Val', [TI16Column, None], None, ), # 3 + (4, TType.STRUCT, 'i32Val', [TI32Column, None], None, ), # 4 + (5, TType.STRUCT, 'i64Val', [TI64Column, None], None, ), # 5 + (6, TType.STRUCT, 'doubleVal', [TDoubleColumn, None], None, ), # 6 + (7, TType.STRUCT, 'stringVal', [TStringColumn, None], None, ), # 7 + (8, TType.STRUCT, 'binaryVal', [TBinaryColumn, None], None, ), # 8 ) all_structs.append(TDBSqlJsonArrayFormat) TDBSqlJsonArrayFormat.thrift_spec = ( - None, # 0 - (1, TType.I32, 'compressionCodec', None, None, ), # 1 + None, # 0 + (1, TType.I32, 'compressionCodec', None, None, ), # 1 ) all_structs.append(TDBSqlCsvFormat) TDBSqlCsvFormat.thrift_spec = ( - None, # 0 - (1, TType.I32, 'compressionCodec', None, None, ), # 1 + None, # 0 + (1, TType.I32, 'compressionCodec', None, None, ), # 1 ) all_structs.append(TDBSqlArrowFormat) TDBSqlArrowFormat.thrift_spec = ( - None, # 0 - (1, TType.I32, 'arrowLayout', None, None, ), # 1 - (2, TType.I32, 'compressionCodec', None, None, ), # 2 + None, # 0 + (1, TType.I32, 'arrowLayout', None, None, ), # 1 + (2, TType.I32, 'compressionCodec', None, None, ), # 2 ) all_structs.append(TDBSqlResultFormat) TDBSqlResultFormat.thrift_spec = ( - None, # 0 - (1, TType.STRUCT, 'arrowFormat', [TDBSqlArrowFormat, None], None, ), # 1 - (2, TType.STRUCT, 'csvFormat', [TDBSqlCsvFormat, None], None, ), # 2 - (3, TType.STRUCT, 'jsonArrayFormat', [TDBSqlJsonArrayFormat, None], None, ), # 3 + None, # 0 + (1, TType.STRUCT, 'arrowFormat', [TDBSqlArrowFormat, None], None, ), # 1 + (2, TType.STRUCT, 'csvFormat', [TDBSqlCsvFormat, None], None, ), # 2 + (3, TType.STRUCT, 'jsonArrayFormat', [TDBSqlJsonArrayFormat, None], None, ), # 3 ) all_structs.append(TSparkArrowBatch) TSparkArrowBatch.thrift_spec = ( - None, # 0 - (1, TType.STRING, 'batch', 'BINARY', None, ), # 1 - (2, TType.I64, 'rowCount', None, None, ), # 2 + None, # 0 + (1, TType.STRING, 'batch', 'BINARY', None, ), # 1 + (2, TType.I64, 'rowCount', None, None, ), # 2 ) all_structs.append(TSparkArrowResultLink) TSparkArrowResultLink.thrift_spec = ( - None, # 0 - (1, TType.STRING, 'fileLink', 'UTF8', None, ), # 1 - (2, TType.I64, 'expiryTime', None, None, ), # 2 - (3, TType.I64, 'startRowOffset', None, None, ), # 3 - (4, TType.I64, 'rowCount', None, None, ), # 4 - (5, TType.I64, 'bytesNum', None, None, ), # 5 - (6, TType.MAP, 'httpHeaders', (TType.STRING, 'UTF8', TType.STRING, 'UTF8', False), None, ), # 6 + None, # 0 + (1, TType.STRING, 'fileLink', 'UTF8', None, ), # 1 + (2, TType.I64, 'expiryTime', None, None, ), # 2 + (3, TType.I64, 'startRowOffset', None, None, ), # 3 + (4, TType.I64, 'rowCount', None, None, ), # 4 + (5, TType.I64, 'bytesNum', None, None, ), # 5 + (6, TType.MAP, 'httpHeaders', (TType.STRING, 'UTF8', TType.STRING, 'UTF8', False), None, ), # 6 ) all_structs.append(TDBSqlCloudResultFile) TDBSqlCloudResultFile.thrift_spec = ( - None, # 0 - (1, TType.STRING, 'filePath', 'UTF8', None, ), # 1 - (2, TType.I64, 'startRowOffset', None, None, ), # 2 - (3, TType.I64, 'rowCount', None, None, ), # 3 - (4, TType.I64, 'uncompressedBytes', None, None, ), # 4 - (5, TType.I64, 'compressedBytes', None, None, ), # 5 - (6, TType.STRING, 'fileLink', 'UTF8', None, ), # 6 - (7, TType.I64, 'linkExpiryTime', None, None, ), # 7 - (8, TType.MAP, 'httpHeaders', (TType.STRING, 'UTF8', TType.STRING, 'UTF8', False), None, ), # 8 + None, # 0 + (1, TType.STRING, 'filePath', 'UTF8', None, ), # 1 + (2, TType.I64, 'startRowOffset', None, None, ), # 2 + (3, TType.I64, 'rowCount', None, None, ), # 3 + (4, TType.I64, 'uncompressedBytes', None, None, ), # 4 + (5, TType.I64, 'compressedBytes', None, None, ), # 5 + (6, TType.STRING, 'fileLink', 'UTF8', None, ), # 6 + (7, TType.I64, 'linkExpiryTime', None, None, ), # 7 + (8, TType.MAP, 'httpHeaders', (TType.STRING, 'UTF8', TType.STRING, 'UTF8', False), None, ), # 8 ) all_structs.append(TRowSet) TRowSet.thrift_spec = ( - None, # 0 - (1, TType.I64, 'startRowOffset', None, None, ), # 1 - (2, TType.LIST, 'rows', (TType.STRUCT, [TRow, None], False), None, ), # 2 - (3, TType.LIST, 'columns', (TType.STRUCT, [TColumn, None], False), None, ), # 3 - (4, TType.STRING, 'binaryColumns', 'BINARY', None, ), # 4 - (5, TType.I32, 'columnCount', None, None, ), # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - (1281, TType.LIST, 'arrowBatches', (TType.STRUCT, [TSparkArrowBatch, None], False), None, ), # 1281 - (1282, TType.LIST, 'resultLinks', (TType.STRUCT, [TSparkArrowResultLink, None], False), None, ), # 1282 - None, # 1283 - None, # 1284 - None, # 1285 - None, # 1286 - None, # 1287 - None, # 1288 - None, # 1289 - None, # 1290 - None, # 1291 - None, # 1292 - None, # 1293 - None, # 1294 - None, # 1295 - None, # 1296 - None, # 1297 - None, # 1298 - None, # 1299 - None, # 1300 - None, # 1301 - None, # 1302 - None, # 1303 - None, # 1304 - None, # 1305 - None, # 1306 - None, # 1307 - None, # 1308 - None, # 1309 - None, # 1310 - None, # 1311 - None, # 1312 - None, # 1313 - None, # 1314 - None, # 1315 - None, # 1316 - None, # 1317 - None, # 1318 - None, # 1319 - None, # 1320 - None, # 1321 - None, # 1322 - None, # 1323 - None, # 1324 - None, # 1325 - None, # 1326 - None, # 1327 - None, # 1328 - None, # 1329 - None, # 1330 - None, # 1331 - None, # 1332 - None, # 1333 - None, # 1334 - None, # 1335 - None, # 1336 - None, # 1337 - None, # 1338 - None, # 1339 - None, # 1340 - None, # 1341 - None, # 1342 - None, # 1343 - None, # 1344 - None, # 1345 - None, # 1346 - None, # 1347 - None, # 1348 - None, # 1349 - None, # 1350 - None, # 1351 - None, # 1352 - None, # 1353 - None, # 1354 - None, # 1355 - None, # 1356 - None, # 1357 - None, # 1358 - None, # 1359 - None, # 1360 - None, # 1361 - None, # 1362 - None, # 1363 - None, # 1364 - None, # 1365 - None, # 1366 - None, # 1367 - None, # 1368 - None, # 1369 - None, # 1370 - None, # 1371 - None, # 1372 - None, # 1373 - None, # 1374 - None, # 1375 - None, # 1376 - None, # 1377 - None, # 1378 - None, # 1379 - None, # 1380 - None, # 1381 - None, # 1382 - None, # 1383 - None, # 1384 - None, # 1385 - None, # 1386 - None, # 1387 - None, # 1388 - None, # 1389 - None, # 1390 - None, # 1391 - None, # 1392 - None, # 1393 - None, # 1394 - None, # 1395 - None, # 1396 - None, # 1397 - None, # 1398 - None, # 1399 - None, # 1400 - None, # 1401 - None, # 1402 - None, # 1403 - None, # 1404 - None, # 1405 - None, # 1406 - None, # 1407 - None, # 1408 - None, # 1409 - None, # 1410 - None, # 1411 - None, # 1412 - None, # 1413 - None, # 1414 - None, # 1415 - None, # 1416 - None, # 1417 - None, # 1418 - None, # 1419 - None, # 1420 - None, # 1421 - None, # 1422 - None, # 1423 - None, # 1424 - None, # 1425 - None, # 1426 - None, # 1427 - None, # 1428 - None, # 1429 - None, # 1430 - None, # 1431 - None, # 1432 - None, # 1433 - None, # 1434 - None, # 1435 - None, # 1436 - None, # 1437 - None, # 1438 - None, # 1439 - None, # 1440 - None, # 1441 - None, # 1442 - None, # 1443 - None, # 1444 - None, # 1445 - None, # 1446 - None, # 1447 - None, # 1448 - None, # 1449 - None, # 1450 - None, # 1451 - None, # 1452 - None, # 1453 - None, # 1454 - None, # 1455 - None, # 1456 - None, # 1457 - None, # 1458 - None, # 1459 - None, # 1460 - None, # 1461 - None, # 1462 - None, # 1463 - None, # 1464 - None, # 1465 - None, # 1466 - None, # 1467 - None, # 1468 - None, # 1469 - None, # 1470 - None, # 1471 - None, # 1472 - None, # 1473 - None, # 1474 - None, # 1475 - None, # 1476 - None, # 1477 - None, # 1478 - None, # 1479 - None, # 1480 - None, # 1481 - None, # 1482 - None, # 1483 - None, # 1484 - None, # 1485 - None, # 1486 - None, # 1487 - None, # 1488 - None, # 1489 - None, # 1490 - None, # 1491 - None, # 1492 - None, # 1493 - None, # 1494 - None, # 1495 - None, # 1496 - None, # 1497 - None, # 1498 - None, # 1499 - None, # 1500 - None, # 1501 - None, # 1502 - None, # 1503 - None, # 1504 - None, # 1505 - None, # 1506 - None, # 1507 - None, # 1508 - None, # 1509 - None, # 1510 - None, # 1511 - None, # 1512 - None, # 1513 - None, # 1514 - None, # 1515 - None, # 1516 - None, # 1517 - None, # 1518 - None, # 1519 - None, # 1520 - None, # 1521 - None, # 1522 - None, # 1523 - None, # 1524 - None, # 1525 - None, # 1526 - None, # 1527 - None, # 1528 - None, # 1529 - None, # 1530 - None, # 1531 - None, # 1532 - None, # 1533 - None, # 1534 - None, # 1535 - None, # 1536 - None, # 1537 - None, # 1538 - None, # 1539 - None, # 1540 - None, # 1541 - None, # 1542 - None, # 1543 - None, # 1544 - None, # 1545 - None, # 1546 - None, # 1547 - None, # 1548 - None, # 1549 - None, # 1550 - None, # 1551 - None, # 1552 - None, # 1553 - None, # 1554 - None, # 1555 - None, # 1556 - None, # 1557 - None, # 1558 - None, # 1559 - None, # 1560 - None, # 1561 - None, # 1562 - None, # 1563 - None, # 1564 - None, # 1565 - None, # 1566 - None, # 1567 - None, # 1568 - None, # 1569 - None, # 1570 - None, # 1571 - None, # 1572 - None, # 1573 - None, # 1574 - None, # 1575 - None, # 1576 - None, # 1577 - None, # 1578 - None, # 1579 - None, # 1580 - None, # 1581 - None, # 1582 - None, # 1583 - None, # 1584 - None, # 1585 - None, # 1586 - None, # 1587 - None, # 1588 - None, # 1589 - None, # 1590 - None, # 1591 - None, # 1592 - None, # 1593 - None, # 1594 - None, # 1595 - None, # 1596 - None, # 1597 - None, # 1598 - None, # 1599 - None, # 1600 - None, # 1601 - None, # 1602 - None, # 1603 - None, # 1604 - None, # 1605 - None, # 1606 - None, # 1607 - None, # 1608 - None, # 1609 - None, # 1610 - None, # 1611 - None, # 1612 - None, # 1613 - None, # 1614 - None, # 1615 - None, # 1616 - None, # 1617 - None, # 1618 - None, # 1619 - None, # 1620 - None, # 1621 - None, # 1622 - None, # 1623 - None, # 1624 - None, # 1625 - None, # 1626 - None, # 1627 - None, # 1628 - None, # 1629 - None, # 1630 - None, # 1631 - None, # 1632 - None, # 1633 - None, # 1634 - None, # 1635 - None, # 1636 - None, # 1637 - None, # 1638 - None, # 1639 - None, # 1640 - None, # 1641 - None, # 1642 - None, # 1643 - None, # 1644 - None, # 1645 - None, # 1646 - None, # 1647 - None, # 1648 - None, # 1649 - None, # 1650 - None, # 1651 - None, # 1652 - None, # 1653 - None, # 1654 - None, # 1655 - None, # 1656 - None, # 1657 - None, # 1658 - None, # 1659 - None, # 1660 - None, # 1661 - None, # 1662 - None, # 1663 - None, # 1664 - None, # 1665 - None, # 1666 - None, # 1667 - None, # 1668 - None, # 1669 - None, # 1670 - None, # 1671 - None, # 1672 - None, # 1673 - None, # 1674 - None, # 1675 - None, # 1676 - None, # 1677 - None, # 1678 - None, # 1679 - None, # 1680 - None, # 1681 - None, # 1682 - None, # 1683 - None, # 1684 - None, # 1685 - None, # 1686 - None, # 1687 - None, # 1688 - None, # 1689 - None, # 1690 - None, # 1691 - None, # 1692 - None, # 1693 - None, # 1694 - None, # 1695 - None, # 1696 - None, # 1697 - None, # 1698 - None, # 1699 - None, # 1700 - None, # 1701 - None, # 1702 - None, # 1703 - None, # 1704 - None, # 1705 - None, # 1706 - None, # 1707 - None, # 1708 - None, # 1709 - None, # 1710 - None, # 1711 - None, # 1712 - None, # 1713 - None, # 1714 - None, # 1715 - None, # 1716 - None, # 1717 - None, # 1718 - None, # 1719 - None, # 1720 - None, # 1721 - None, # 1722 - None, # 1723 - None, # 1724 - None, # 1725 - None, # 1726 - None, # 1727 - None, # 1728 - None, # 1729 - None, # 1730 - None, # 1731 - None, # 1732 - None, # 1733 - None, # 1734 - None, # 1735 - None, # 1736 - None, # 1737 - None, # 1738 - None, # 1739 - None, # 1740 - None, # 1741 - None, # 1742 - None, # 1743 - None, # 1744 - None, # 1745 - None, # 1746 - None, # 1747 - None, # 1748 - None, # 1749 - None, # 1750 - None, # 1751 - None, # 1752 - None, # 1753 - None, # 1754 - None, # 1755 - None, # 1756 - None, # 1757 - None, # 1758 - None, # 1759 - None, # 1760 - None, # 1761 - None, # 1762 - None, # 1763 - None, # 1764 - None, # 1765 - None, # 1766 - None, # 1767 - None, # 1768 - None, # 1769 - None, # 1770 - None, # 1771 - None, # 1772 - None, # 1773 - None, # 1774 - None, # 1775 - None, # 1776 - None, # 1777 - None, # 1778 - None, # 1779 - None, # 1780 - None, # 1781 - None, # 1782 - None, # 1783 - None, # 1784 - None, # 1785 - None, # 1786 - None, # 1787 - None, # 1788 - None, # 1789 - None, # 1790 - None, # 1791 - None, # 1792 - None, # 1793 - None, # 1794 - None, # 1795 - None, # 1796 - None, # 1797 - None, # 1798 - None, # 1799 - None, # 1800 - None, # 1801 - None, # 1802 - None, # 1803 - None, # 1804 - None, # 1805 - None, # 1806 - None, # 1807 - None, # 1808 - None, # 1809 - None, # 1810 - None, # 1811 - None, # 1812 - None, # 1813 - None, # 1814 - None, # 1815 - None, # 1816 - None, # 1817 - None, # 1818 - None, # 1819 - None, # 1820 - None, # 1821 - None, # 1822 - None, # 1823 - None, # 1824 - None, # 1825 - None, # 1826 - None, # 1827 - None, # 1828 - None, # 1829 - None, # 1830 - None, # 1831 - None, # 1832 - None, # 1833 - None, # 1834 - None, # 1835 - None, # 1836 - None, # 1837 - None, # 1838 - None, # 1839 - None, # 1840 - None, # 1841 - None, # 1842 - None, # 1843 - None, # 1844 - None, # 1845 - None, # 1846 - None, # 1847 - None, # 1848 - None, # 1849 - None, # 1850 - None, # 1851 - None, # 1852 - None, # 1853 - None, # 1854 - None, # 1855 - None, # 1856 - None, # 1857 - None, # 1858 - None, # 1859 - None, # 1860 - None, # 1861 - None, # 1862 - None, # 1863 - None, # 1864 - None, # 1865 - None, # 1866 - None, # 1867 - None, # 1868 - None, # 1869 - None, # 1870 - None, # 1871 - None, # 1872 - None, # 1873 - None, # 1874 - None, # 1875 - None, # 1876 - None, # 1877 - None, # 1878 - None, # 1879 - None, # 1880 - None, # 1881 - None, # 1882 - None, # 1883 - None, # 1884 - None, # 1885 - None, # 1886 - None, # 1887 - None, # 1888 - None, # 1889 - None, # 1890 - None, # 1891 - None, # 1892 - None, # 1893 - None, # 1894 - None, # 1895 - None, # 1896 - None, # 1897 - None, # 1898 - None, # 1899 - None, # 1900 - None, # 1901 - None, # 1902 - None, # 1903 - None, # 1904 - None, # 1905 - None, # 1906 - None, # 1907 - None, # 1908 - None, # 1909 - None, # 1910 - None, # 1911 - None, # 1912 - None, # 1913 - None, # 1914 - None, # 1915 - None, # 1916 - None, # 1917 - None, # 1918 - None, # 1919 - None, # 1920 - None, # 1921 - None, # 1922 - None, # 1923 - None, # 1924 - None, # 1925 - None, # 1926 - None, # 1927 - None, # 1928 - None, # 1929 - None, # 1930 - None, # 1931 - None, # 1932 - None, # 1933 - None, # 1934 - None, # 1935 - None, # 1936 - None, # 1937 - None, # 1938 - None, # 1939 - None, # 1940 - None, # 1941 - None, # 1942 - None, # 1943 - None, # 1944 - None, # 1945 - None, # 1946 - None, # 1947 - None, # 1948 - None, # 1949 - None, # 1950 - None, # 1951 - None, # 1952 - None, # 1953 - None, # 1954 - None, # 1955 - None, # 1956 - None, # 1957 - None, # 1958 - None, # 1959 - None, # 1960 - None, # 1961 - None, # 1962 - None, # 1963 - None, # 1964 - None, # 1965 - None, # 1966 - None, # 1967 - None, # 1968 - None, # 1969 - None, # 1970 - None, # 1971 - None, # 1972 - None, # 1973 - None, # 1974 - None, # 1975 - None, # 1976 - None, # 1977 - None, # 1978 - None, # 1979 - None, # 1980 - None, # 1981 - None, # 1982 - None, # 1983 - None, # 1984 - None, # 1985 - None, # 1986 - None, # 1987 - None, # 1988 - None, # 1989 - None, # 1990 - None, # 1991 - None, # 1992 - None, # 1993 - None, # 1994 - None, # 1995 - None, # 1996 - None, # 1997 - None, # 1998 - None, # 1999 - None, # 2000 - None, # 2001 - None, # 2002 - None, # 2003 - None, # 2004 - None, # 2005 - None, # 2006 - None, # 2007 - None, # 2008 - None, # 2009 - None, # 2010 - None, # 2011 - None, # 2012 - None, # 2013 - None, # 2014 - None, # 2015 - None, # 2016 - None, # 2017 - None, # 2018 - None, # 2019 - None, # 2020 - None, # 2021 - None, # 2022 - None, # 2023 - None, # 2024 - None, # 2025 - None, # 2026 - None, # 2027 - None, # 2028 - None, # 2029 - None, # 2030 - None, # 2031 - None, # 2032 - None, # 2033 - None, # 2034 - None, # 2035 - None, # 2036 - None, # 2037 - None, # 2038 - None, # 2039 - None, # 2040 - None, # 2041 - None, # 2042 - None, # 2043 - None, # 2044 - None, # 2045 - None, # 2046 - None, # 2047 - None, # 2048 - None, # 2049 - None, # 2050 - None, # 2051 - None, # 2052 - None, # 2053 - None, # 2054 - None, # 2055 - None, # 2056 - None, # 2057 - None, # 2058 - None, # 2059 - None, # 2060 - None, # 2061 - None, # 2062 - None, # 2063 - None, # 2064 - None, # 2065 - None, # 2066 - None, # 2067 - None, # 2068 - None, # 2069 - None, # 2070 - None, # 2071 - None, # 2072 - None, # 2073 - None, # 2074 - None, # 2075 - None, # 2076 - None, # 2077 - None, # 2078 - None, # 2079 - None, # 2080 - None, # 2081 - None, # 2082 - None, # 2083 - None, # 2084 - None, # 2085 - None, # 2086 - None, # 2087 - None, # 2088 - None, # 2089 - None, # 2090 - None, # 2091 - None, # 2092 - None, # 2093 - None, # 2094 - None, # 2095 - None, # 2096 - None, # 2097 - None, # 2098 - None, # 2099 - None, # 2100 - None, # 2101 - None, # 2102 - None, # 2103 - None, # 2104 - None, # 2105 - None, # 2106 - None, # 2107 - None, # 2108 - None, # 2109 - None, # 2110 - None, # 2111 - None, # 2112 - None, # 2113 - None, # 2114 - None, # 2115 - None, # 2116 - None, # 2117 - None, # 2118 - None, # 2119 - None, # 2120 - None, # 2121 - None, # 2122 - None, # 2123 - None, # 2124 - None, # 2125 - None, # 2126 - None, # 2127 - None, # 2128 - None, # 2129 - None, # 2130 - None, # 2131 - None, # 2132 - None, # 2133 - None, # 2134 - None, # 2135 - None, # 2136 - None, # 2137 - None, # 2138 - None, # 2139 - None, # 2140 - None, # 2141 - None, # 2142 - None, # 2143 - None, # 2144 - None, # 2145 - None, # 2146 - None, # 2147 - None, # 2148 - None, # 2149 - None, # 2150 - None, # 2151 - None, # 2152 - None, # 2153 - None, # 2154 - None, # 2155 - None, # 2156 - None, # 2157 - None, # 2158 - None, # 2159 - None, # 2160 - None, # 2161 - None, # 2162 - None, # 2163 - None, # 2164 - None, # 2165 - None, # 2166 - None, # 2167 - None, # 2168 - None, # 2169 - None, # 2170 - None, # 2171 - None, # 2172 - None, # 2173 - None, # 2174 - None, # 2175 - None, # 2176 - None, # 2177 - None, # 2178 - None, # 2179 - None, # 2180 - None, # 2181 - None, # 2182 - None, # 2183 - None, # 2184 - None, # 2185 - None, # 2186 - None, # 2187 - None, # 2188 - None, # 2189 - None, # 2190 - None, # 2191 - None, # 2192 - None, # 2193 - None, # 2194 - None, # 2195 - None, # 2196 - None, # 2197 - None, # 2198 - None, # 2199 - None, # 2200 - None, # 2201 - None, # 2202 - None, # 2203 - None, # 2204 - None, # 2205 - None, # 2206 - None, # 2207 - None, # 2208 - None, # 2209 - None, # 2210 - None, # 2211 - None, # 2212 - None, # 2213 - None, # 2214 - None, # 2215 - None, # 2216 - None, # 2217 - None, # 2218 - None, # 2219 - None, # 2220 - None, # 2221 - None, # 2222 - None, # 2223 - None, # 2224 - None, # 2225 - None, # 2226 - None, # 2227 - None, # 2228 - None, # 2229 - None, # 2230 - None, # 2231 - None, # 2232 - None, # 2233 - None, # 2234 - None, # 2235 - None, # 2236 - None, # 2237 - None, # 2238 - None, # 2239 - None, # 2240 - None, # 2241 - None, # 2242 - None, # 2243 - None, # 2244 - None, # 2245 - None, # 2246 - None, # 2247 - None, # 2248 - None, # 2249 - None, # 2250 - None, # 2251 - None, # 2252 - None, # 2253 - None, # 2254 - None, # 2255 - None, # 2256 - None, # 2257 - None, # 2258 - None, # 2259 - None, # 2260 - None, # 2261 - None, # 2262 - None, # 2263 - None, # 2264 - None, # 2265 - None, # 2266 - None, # 2267 - None, # 2268 - None, # 2269 - None, # 2270 - None, # 2271 - None, # 2272 - None, # 2273 - None, # 2274 - None, # 2275 - None, # 2276 - None, # 2277 - None, # 2278 - None, # 2279 - None, # 2280 - None, # 2281 - None, # 2282 - None, # 2283 - None, # 2284 - None, # 2285 - None, # 2286 - None, # 2287 - None, # 2288 - None, # 2289 - None, # 2290 - None, # 2291 - None, # 2292 - None, # 2293 - None, # 2294 - None, # 2295 - None, # 2296 - None, # 2297 - None, # 2298 - None, # 2299 - None, # 2300 - None, # 2301 - None, # 2302 - None, # 2303 - None, # 2304 - None, # 2305 - None, # 2306 - None, # 2307 - None, # 2308 - None, # 2309 - None, # 2310 - None, # 2311 - None, # 2312 - None, # 2313 - None, # 2314 - None, # 2315 - None, # 2316 - None, # 2317 - None, # 2318 - None, # 2319 - None, # 2320 - None, # 2321 - None, # 2322 - None, # 2323 - None, # 2324 - None, # 2325 - None, # 2326 - None, # 2327 - None, # 2328 - None, # 2329 - None, # 2330 - None, # 2331 - None, # 2332 - None, # 2333 - None, # 2334 - None, # 2335 - None, # 2336 - None, # 2337 - None, # 2338 - None, # 2339 - None, # 2340 - None, # 2341 - None, # 2342 - None, # 2343 - None, # 2344 - None, # 2345 - None, # 2346 - None, # 2347 - None, # 2348 - None, # 2349 - None, # 2350 - None, # 2351 - None, # 2352 - None, # 2353 - None, # 2354 - None, # 2355 - None, # 2356 - None, # 2357 - None, # 2358 - None, # 2359 - None, # 2360 - None, # 2361 - None, # 2362 - None, # 2363 - None, # 2364 - None, # 2365 - None, # 2366 - None, # 2367 - None, # 2368 - None, # 2369 - None, # 2370 - None, # 2371 - None, # 2372 - None, # 2373 - None, # 2374 - None, # 2375 - None, # 2376 - None, # 2377 - None, # 2378 - None, # 2379 - None, # 2380 - None, # 2381 - None, # 2382 - None, # 2383 - None, # 2384 - None, # 2385 - None, # 2386 - None, # 2387 - None, # 2388 - None, # 2389 - None, # 2390 - None, # 2391 - None, # 2392 - None, # 2393 - None, # 2394 - None, # 2395 - None, # 2396 - None, # 2397 - None, # 2398 - None, # 2399 - None, # 2400 - None, # 2401 - None, # 2402 - None, # 2403 - None, # 2404 - None, # 2405 - None, # 2406 - None, # 2407 - None, # 2408 - None, # 2409 - None, # 2410 - None, # 2411 - None, # 2412 - None, # 2413 - None, # 2414 - None, # 2415 - None, # 2416 - None, # 2417 - None, # 2418 - None, # 2419 - None, # 2420 - None, # 2421 - None, # 2422 - None, # 2423 - None, # 2424 - None, # 2425 - None, # 2426 - None, # 2427 - None, # 2428 - None, # 2429 - None, # 2430 - None, # 2431 - None, # 2432 - None, # 2433 - None, # 2434 - None, # 2435 - None, # 2436 - None, # 2437 - None, # 2438 - None, # 2439 - None, # 2440 - None, # 2441 - None, # 2442 - None, # 2443 - None, # 2444 - None, # 2445 - None, # 2446 - None, # 2447 - None, # 2448 - None, # 2449 - None, # 2450 - None, # 2451 - None, # 2452 - None, # 2453 - None, # 2454 - None, # 2455 - None, # 2456 - None, # 2457 - None, # 2458 - None, # 2459 - None, # 2460 - None, # 2461 - None, # 2462 - None, # 2463 - None, # 2464 - None, # 2465 - None, # 2466 - None, # 2467 - None, # 2468 - None, # 2469 - None, # 2470 - None, # 2471 - None, # 2472 - None, # 2473 - None, # 2474 - None, # 2475 - None, # 2476 - None, # 2477 - None, # 2478 - None, # 2479 - None, # 2480 - None, # 2481 - None, # 2482 - None, # 2483 - None, # 2484 - None, # 2485 - None, # 2486 - None, # 2487 - None, # 2488 - None, # 2489 - None, # 2490 - None, # 2491 - None, # 2492 - None, # 2493 - None, # 2494 - None, # 2495 - None, # 2496 - None, # 2497 - None, # 2498 - None, # 2499 - None, # 2500 - None, # 2501 - None, # 2502 - None, # 2503 - None, # 2504 - None, # 2505 - None, # 2506 - None, # 2507 - None, # 2508 - None, # 2509 - None, # 2510 - None, # 2511 - None, # 2512 - None, # 2513 - None, # 2514 - None, # 2515 - None, # 2516 - None, # 2517 - None, # 2518 - None, # 2519 - None, # 2520 - None, # 2521 - None, # 2522 - None, # 2523 - None, # 2524 - None, # 2525 - None, # 2526 - None, # 2527 - None, # 2528 - None, # 2529 - None, # 2530 - None, # 2531 - None, # 2532 - None, # 2533 - None, # 2534 - None, # 2535 - None, # 2536 - None, # 2537 - None, # 2538 - None, # 2539 - None, # 2540 - None, # 2541 - None, # 2542 - None, # 2543 - None, # 2544 - None, # 2545 - None, # 2546 - None, # 2547 - None, # 2548 - None, # 2549 - None, # 2550 - None, # 2551 - None, # 2552 - None, # 2553 - None, # 2554 - None, # 2555 - None, # 2556 - None, # 2557 - None, # 2558 - None, # 2559 - None, # 2560 - None, # 2561 - None, # 2562 - None, # 2563 - None, # 2564 - None, # 2565 - None, # 2566 - None, # 2567 - None, # 2568 - None, # 2569 - None, # 2570 - None, # 2571 - None, # 2572 - None, # 2573 - None, # 2574 - None, # 2575 - None, # 2576 - None, # 2577 - None, # 2578 - None, # 2579 - None, # 2580 - None, # 2581 - None, # 2582 - None, # 2583 - None, # 2584 - None, # 2585 - None, # 2586 - None, # 2587 - None, # 2588 - None, # 2589 - None, # 2590 - None, # 2591 - None, # 2592 - None, # 2593 - None, # 2594 - None, # 2595 - None, # 2596 - None, # 2597 - None, # 2598 - None, # 2599 - None, # 2600 - None, # 2601 - None, # 2602 - None, # 2603 - None, # 2604 - None, # 2605 - None, # 2606 - None, # 2607 - None, # 2608 - None, # 2609 - None, # 2610 - None, # 2611 - None, # 2612 - None, # 2613 - None, # 2614 - None, # 2615 - None, # 2616 - None, # 2617 - None, # 2618 - None, # 2619 - None, # 2620 - None, # 2621 - None, # 2622 - None, # 2623 - None, # 2624 - None, # 2625 - None, # 2626 - None, # 2627 - None, # 2628 - None, # 2629 - None, # 2630 - None, # 2631 - None, # 2632 - None, # 2633 - None, # 2634 - None, # 2635 - None, # 2636 - None, # 2637 - None, # 2638 - None, # 2639 - None, # 2640 - None, # 2641 - None, # 2642 - None, # 2643 - None, # 2644 - None, # 2645 - None, # 2646 - None, # 2647 - None, # 2648 - None, # 2649 - None, # 2650 - None, # 2651 - None, # 2652 - None, # 2653 - None, # 2654 - None, # 2655 - None, # 2656 - None, # 2657 - None, # 2658 - None, # 2659 - None, # 2660 - None, # 2661 - None, # 2662 - None, # 2663 - None, # 2664 - None, # 2665 - None, # 2666 - None, # 2667 - None, # 2668 - None, # 2669 - None, # 2670 - None, # 2671 - None, # 2672 - None, # 2673 - None, # 2674 - None, # 2675 - None, # 2676 - None, # 2677 - None, # 2678 - None, # 2679 - None, # 2680 - None, # 2681 - None, # 2682 - None, # 2683 - None, # 2684 - None, # 2685 - None, # 2686 - None, # 2687 - None, # 2688 - None, # 2689 - None, # 2690 - None, # 2691 - None, # 2692 - None, # 2693 - None, # 2694 - None, # 2695 - None, # 2696 - None, # 2697 - None, # 2698 - None, # 2699 - None, # 2700 - None, # 2701 - None, # 2702 - None, # 2703 - None, # 2704 - None, # 2705 - None, # 2706 - None, # 2707 - None, # 2708 - None, # 2709 - None, # 2710 - None, # 2711 - None, # 2712 - None, # 2713 - None, # 2714 - None, # 2715 - None, # 2716 - None, # 2717 - None, # 2718 - None, # 2719 - None, # 2720 - None, # 2721 - None, # 2722 - None, # 2723 - None, # 2724 - None, # 2725 - None, # 2726 - None, # 2727 - None, # 2728 - None, # 2729 - None, # 2730 - None, # 2731 - None, # 2732 - None, # 2733 - None, # 2734 - None, # 2735 - None, # 2736 - None, # 2737 - None, # 2738 - None, # 2739 - None, # 2740 - None, # 2741 - None, # 2742 - None, # 2743 - None, # 2744 - None, # 2745 - None, # 2746 - None, # 2747 - None, # 2748 - None, # 2749 - None, # 2750 - None, # 2751 - None, # 2752 - None, # 2753 - None, # 2754 - None, # 2755 - None, # 2756 - None, # 2757 - None, # 2758 - None, # 2759 - None, # 2760 - None, # 2761 - None, # 2762 - None, # 2763 - None, # 2764 - None, # 2765 - None, # 2766 - None, # 2767 - None, # 2768 - None, # 2769 - None, # 2770 - None, # 2771 - None, # 2772 - None, # 2773 - None, # 2774 - None, # 2775 - None, # 2776 - None, # 2777 - None, # 2778 - None, # 2779 - None, # 2780 - None, # 2781 - None, # 2782 - None, # 2783 - None, # 2784 - None, # 2785 - None, # 2786 - None, # 2787 - None, # 2788 - None, # 2789 - None, # 2790 - None, # 2791 - None, # 2792 - None, # 2793 - None, # 2794 - None, # 2795 - None, # 2796 - None, # 2797 - None, # 2798 - None, # 2799 - None, # 2800 - None, # 2801 - None, # 2802 - None, # 2803 - None, # 2804 - None, # 2805 - None, # 2806 - None, # 2807 - None, # 2808 - None, # 2809 - None, # 2810 - None, # 2811 - None, # 2812 - None, # 2813 - None, # 2814 - None, # 2815 - None, # 2816 - None, # 2817 - None, # 2818 - None, # 2819 - None, # 2820 - None, # 2821 - None, # 2822 - None, # 2823 - None, # 2824 - None, # 2825 - None, # 2826 - None, # 2827 - None, # 2828 - None, # 2829 - None, # 2830 - None, # 2831 - None, # 2832 - None, # 2833 - None, # 2834 - None, # 2835 - None, # 2836 - None, # 2837 - None, # 2838 - None, # 2839 - None, # 2840 - None, # 2841 - None, # 2842 - None, # 2843 - None, # 2844 - None, # 2845 - None, # 2846 - None, # 2847 - None, # 2848 - None, # 2849 - None, # 2850 - None, # 2851 - None, # 2852 - None, # 2853 - None, # 2854 - None, # 2855 - None, # 2856 - None, # 2857 - None, # 2858 - None, # 2859 - None, # 2860 - None, # 2861 - None, # 2862 - None, # 2863 - None, # 2864 - None, # 2865 - None, # 2866 - None, # 2867 - None, # 2868 - None, # 2869 - None, # 2870 - None, # 2871 - None, # 2872 - None, # 2873 - None, # 2874 - None, # 2875 - None, # 2876 - None, # 2877 - None, # 2878 - None, # 2879 - None, # 2880 - None, # 2881 - None, # 2882 - None, # 2883 - None, # 2884 - None, # 2885 - None, # 2886 - None, # 2887 - None, # 2888 - None, # 2889 - None, # 2890 - None, # 2891 - None, # 2892 - None, # 2893 - None, # 2894 - None, # 2895 - None, # 2896 - None, # 2897 - None, # 2898 - None, # 2899 - None, # 2900 - None, # 2901 - None, # 2902 - None, # 2903 - None, # 2904 - None, # 2905 - None, # 2906 - None, # 2907 - None, # 2908 - None, # 2909 - None, # 2910 - None, # 2911 - None, # 2912 - None, # 2913 - None, # 2914 - None, # 2915 - None, # 2916 - None, # 2917 - None, # 2918 - None, # 2919 - None, # 2920 - None, # 2921 - None, # 2922 - None, # 2923 - None, # 2924 - None, # 2925 - None, # 2926 - None, # 2927 - None, # 2928 - None, # 2929 - None, # 2930 - None, # 2931 - None, # 2932 - None, # 2933 - None, # 2934 - None, # 2935 - None, # 2936 - None, # 2937 - None, # 2938 - None, # 2939 - None, # 2940 - None, # 2941 - None, # 2942 - None, # 2943 - None, # 2944 - None, # 2945 - None, # 2946 - None, # 2947 - None, # 2948 - None, # 2949 - None, # 2950 - None, # 2951 - None, # 2952 - None, # 2953 - None, # 2954 - None, # 2955 - None, # 2956 - None, # 2957 - None, # 2958 - None, # 2959 - None, # 2960 - None, # 2961 - None, # 2962 - None, # 2963 - None, # 2964 - None, # 2965 - None, # 2966 - None, # 2967 - None, # 2968 - None, # 2969 - None, # 2970 - None, # 2971 - None, # 2972 - None, # 2973 - None, # 2974 - None, # 2975 - None, # 2976 - None, # 2977 - None, # 2978 - None, # 2979 - None, # 2980 - None, # 2981 - None, # 2982 - None, # 2983 - None, # 2984 - None, # 2985 - None, # 2986 - None, # 2987 - None, # 2988 - None, # 2989 - None, # 2990 - None, # 2991 - None, # 2992 - None, # 2993 - None, # 2994 - None, # 2995 - None, # 2996 - None, # 2997 - None, # 2998 - None, # 2999 - None, # 3000 - None, # 3001 - None, # 3002 - None, # 3003 - None, # 3004 - None, # 3005 - None, # 3006 - None, # 3007 - None, # 3008 - None, # 3009 - None, # 3010 - None, # 3011 - None, # 3012 - None, # 3013 - None, # 3014 - None, # 3015 - None, # 3016 - None, # 3017 - None, # 3018 - None, # 3019 - None, # 3020 - None, # 3021 - None, # 3022 - None, # 3023 - None, # 3024 - None, # 3025 - None, # 3026 - None, # 3027 - None, # 3028 - None, # 3029 - None, # 3030 - None, # 3031 - None, # 3032 - None, # 3033 - None, # 3034 - None, # 3035 - None, # 3036 - None, # 3037 - None, # 3038 - None, # 3039 - None, # 3040 - None, # 3041 - None, # 3042 - None, # 3043 - None, # 3044 - None, # 3045 - None, # 3046 - None, # 3047 - None, # 3048 - None, # 3049 - None, # 3050 - None, # 3051 - None, # 3052 - None, # 3053 - None, # 3054 - None, # 3055 - None, # 3056 - None, # 3057 - None, # 3058 - None, # 3059 - None, # 3060 - None, # 3061 - None, # 3062 - None, # 3063 - None, # 3064 - None, # 3065 - None, # 3066 - None, # 3067 - None, # 3068 - None, # 3069 - None, # 3070 - None, # 3071 - None, # 3072 - None, # 3073 - None, # 3074 - None, # 3075 - None, # 3076 - None, # 3077 - None, # 3078 - None, # 3079 - None, # 3080 - None, # 3081 - None, # 3082 - None, # 3083 - None, # 3084 - None, # 3085 - None, # 3086 - None, # 3087 - None, # 3088 - None, # 3089 - None, # 3090 - None, # 3091 - None, # 3092 - None, # 3093 - None, # 3094 - None, # 3095 - None, # 3096 - None, # 3097 - None, # 3098 - None, # 3099 - None, # 3100 - None, # 3101 - None, # 3102 - None, # 3103 - None, # 3104 - None, # 3105 - None, # 3106 - None, # 3107 - None, # 3108 - None, # 3109 - None, # 3110 - None, # 3111 - None, # 3112 - None, # 3113 - None, # 3114 - None, # 3115 - None, # 3116 - None, # 3117 - None, # 3118 - None, # 3119 - None, # 3120 - None, # 3121 - None, # 3122 - None, # 3123 - None, # 3124 - None, # 3125 - None, # 3126 - None, # 3127 - None, # 3128 - None, # 3129 - None, # 3130 - None, # 3131 - None, # 3132 - None, # 3133 - None, # 3134 - None, # 3135 - None, # 3136 - None, # 3137 - None, # 3138 - None, # 3139 - None, # 3140 - None, # 3141 - None, # 3142 - None, # 3143 - None, # 3144 - None, # 3145 - None, # 3146 - None, # 3147 - None, # 3148 - None, # 3149 - None, # 3150 - None, # 3151 - None, # 3152 - None, # 3153 - None, # 3154 - None, # 3155 - None, # 3156 - None, # 3157 - None, # 3158 - None, # 3159 - None, # 3160 - None, # 3161 - None, # 3162 - None, # 3163 - None, # 3164 - None, # 3165 - None, # 3166 - None, # 3167 - None, # 3168 - None, # 3169 - None, # 3170 - None, # 3171 - None, # 3172 - None, # 3173 - None, # 3174 - None, # 3175 - None, # 3176 - None, # 3177 - None, # 3178 - None, # 3179 - None, # 3180 - None, # 3181 - None, # 3182 - None, # 3183 - None, # 3184 - None, # 3185 - None, # 3186 - None, # 3187 - None, # 3188 - None, # 3189 - None, # 3190 - None, # 3191 - None, # 3192 - None, # 3193 - None, # 3194 - None, # 3195 - None, # 3196 - None, # 3197 - None, # 3198 - None, # 3199 - None, # 3200 - None, # 3201 - None, # 3202 - None, # 3203 - None, # 3204 - None, # 3205 - None, # 3206 - None, # 3207 - None, # 3208 - None, # 3209 - None, # 3210 - None, # 3211 - None, # 3212 - None, # 3213 - None, # 3214 - None, # 3215 - None, # 3216 - None, # 3217 - None, # 3218 - None, # 3219 - None, # 3220 - None, # 3221 - None, # 3222 - None, # 3223 - None, # 3224 - None, # 3225 - None, # 3226 - None, # 3227 - None, # 3228 - None, # 3229 - None, # 3230 - None, # 3231 - None, # 3232 - None, # 3233 - None, # 3234 - None, # 3235 - None, # 3236 - None, # 3237 - None, # 3238 - None, # 3239 - None, # 3240 - None, # 3241 - None, # 3242 - None, # 3243 - None, # 3244 - None, # 3245 - None, # 3246 - None, # 3247 - None, # 3248 - None, # 3249 - None, # 3250 - None, # 3251 - None, # 3252 - None, # 3253 - None, # 3254 - None, # 3255 - None, # 3256 - None, # 3257 - None, # 3258 - None, # 3259 - None, # 3260 - None, # 3261 - None, # 3262 - None, # 3263 - None, # 3264 - None, # 3265 - None, # 3266 - None, # 3267 - None, # 3268 - None, # 3269 - None, # 3270 - None, # 3271 - None, # 3272 - None, # 3273 - None, # 3274 - None, # 3275 - None, # 3276 - None, # 3277 - None, # 3278 - None, # 3279 - None, # 3280 - None, # 3281 - None, # 3282 - None, # 3283 - None, # 3284 - None, # 3285 - None, # 3286 - None, # 3287 - None, # 3288 - None, # 3289 - None, # 3290 - None, # 3291 - None, # 3292 - None, # 3293 - None, # 3294 - None, # 3295 - None, # 3296 - None, # 3297 - None, # 3298 - None, # 3299 - None, # 3300 - None, # 3301 - None, # 3302 - None, # 3303 - None, # 3304 - None, # 3305 - None, # 3306 - None, # 3307 - None, # 3308 - None, # 3309 - None, # 3310 - None, # 3311 - None, # 3312 - None, # 3313 - None, # 3314 - None, # 3315 - None, # 3316 - None, # 3317 - None, # 3318 - None, # 3319 - None, # 3320 - None, # 3321 - None, # 3322 - None, # 3323 - None, # 3324 - None, # 3325 - None, # 3326 - None, # 3327 - None, # 3328 - (3329, TType.LIST, 'cloudFetchResults', (TType.STRUCT, [TDBSqlCloudResultFile, None], False), None, ), # 3329 + None, # 0 + (1, TType.I64, 'startRowOffset', None, None, ), # 1 + (2, TType.LIST, 'rows', (TType.STRUCT, [TRow, None], False), None, ), # 2 + (3, TType.LIST, 'columns', (TType.STRUCT, [TColumn, None], False), None, ), # 3 + (4, TType.STRING, 'binaryColumns', 'BINARY', None, ), # 4 + (5, TType.I32, 'columnCount', None, None, ), # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + (1281, TType.LIST, 'arrowBatches', (TType.STRUCT, [TSparkArrowBatch, None], False), None, ), # 1281 + (1282, TType.LIST, 'resultLinks', (TType.STRUCT, [TSparkArrowResultLink, None], False), None, ), # 1282 + None, # 1283 + None, # 1284 + None, # 1285 + None, # 1286 + None, # 1287 + None, # 1288 + None, # 1289 + None, # 1290 + None, # 1291 + None, # 1292 + None, # 1293 + None, # 1294 + None, # 1295 + None, # 1296 + None, # 1297 + None, # 1298 + None, # 1299 + None, # 1300 + None, # 1301 + None, # 1302 + None, # 1303 + None, # 1304 + None, # 1305 + None, # 1306 + None, # 1307 + None, # 1308 + None, # 1309 + None, # 1310 + None, # 1311 + None, # 1312 + None, # 1313 + None, # 1314 + None, # 1315 + None, # 1316 + None, # 1317 + None, # 1318 + None, # 1319 + None, # 1320 + None, # 1321 + None, # 1322 + None, # 1323 + None, # 1324 + None, # 1325 + None, # 1326 + None, # 1327 + None, # 1328 + None, # 1329 + None, # 1330 + None, # 1331 + None, # 1332 + None, # 1333 + None, # 1334 + None, # 1335 + None, # 1336 + None, # 1337 + None, # 1338 + None, # 1339 + None, # 1340 + None, # 1341 + None, # 1342 + None, # 1343 + None, # 1344 + None, # 1345 + None, # 1346 + None, # 1347 + None, # 1348 + None, # 1349 + None, # 1350 + None, # 1351 + None, # 1352 + None, # 1353 + None, # 1354 + None, # 1355 + None, # 1356 + None, # 1357 + None, # 1358 + None, # 1359 + None, # 1360 + None, # 1361 + None, # 1362 + None, # 1363 + None, # 1364 + None, # 1365 + None, # 1366 + None, # 1367 + None, # 1368 + None, # 1369 + None, # 1370 + None, # 1371 + None, # 1372 + None, # 1373 + None, # 1374 + None, # 1375 + None, # 1376 + None, # 1377 + None, # 1378 + None, # 1379 + None, # 1380 + None, # 1381 + None, # 1382 + None, # 1383 + None, # 1384 + None, # 1385 + None, # 1386 + None, # 1387 + None, # 1388 + None, # 1389 + None, # 1390 + None, # 1391 + None, # 1392 + None, # 1393 + None, # 1394 + None, # 1395 + None, # 1396 + None, # 1397 + None, # 1398 + None, # 1399 + None, # 1400 + None, # 1401 + None, # 1402 + None, # 1403 + None, # 1404 + None, # 1405 + None, # 1406 + None, # 1407 + None, # 1408 + None, # 1409 + None, # 1410 + None, # 1411 + None, # 1412 + None, # 1413 + None, # 1414 + None, # 1415 + None, # 1416 + None, # 1417 + None, # 1418 + None, # 1419 + None, # 1420 + None, # 1421 + None, # 1422 + None, # 1423 + None, # 1424 + None, # 1425 + None, # 1426 + None, # 1427 + None, # 1428 + None, # 1429 + None, # 1430 + None, # 1431 + None, # 1432 + None, # 1433 + None, # 1434 + None, # 1435 + None, # 1436 + None, # 1437 + None, # 1438 + None, # 1439 + None, # 1440 + None, # 1441 + None, # 1442 + None, # 1443 + None, # 1444 + None, # 1445 + None, # 1446 + None, # 1447 + None, # 1448 + None, # 1449 + None, # 1450 + None, # 1451 + None, # 1452 + None, # 1453 + None, # 1454 + None, # 1455 + None, # 1456 + None, # 1457 + None, # 1458 + None, # 1459 + None, # 1460 + None, # 1461 + None, # 1462 + None, # 1463 + None, # 1464 + None, # 1465 + None, # 1466 + None, # 1467 + None, # 1468 + None, # 1469 + None, # 1470 + None, # 1471 + None, # 1472 + None, # 1473 + None, # 1474 + None, # 1475 + None, # 1476 + None, # 1477 + None, # 1478 + None, # 1479 + None, # 1480 + None, # 1481 + None, # 1482 + None, # 1483 + None, # 1484 + None, # 1485 + None, # 1486 + None, # 1487 + None, # 1488 + None, # 1489 + None, # 1490 + None, # 1491 + None, # 1492 + None, # 1493 + None, # 1494 + None, # 1495 + None, # 1496 + None, # 1497 + None, # 1498 + None, # 1499 + None, # 1500 + None, # 1501 + None, # 1502 + None, # 1503 + None, # 1504 + None, # 1505 + None, # 1506 + None, # 1507 + None, # 1508 + None, # 1509 + None, # 1510 + None, # 1511 + None, # 1512 + None, # 1513 + None, # 1514 + None, # 1515 + None, # 1516 + None, # 1517 + None, # 1518 + None, # 1519 + None, # 1520 + None, # 1521 + None, # 1522 + None, # 1523 + None, # 1524 + None, # 1525 + None, # 1526 + None, # 1527 + None, # 1528 + None, # 1529 + None, # 1530 + None, # 1531 + None, # 1532 + None, # 1533 + None, # 1534 + None, # 1535 + None, # 1536 + None, # 1537 + None, # 1538 + None, # 1539 + None, # 1540 + None, # 1541 + None, # 1542 + None, # 1543 + None, # 1544 + None, # 1545 + None, # 1546 + None, # 1547 + None, # 1548 + None, # 1549 + None, # 1550 + None, # 1551 + None, # 1552 + None, # 1553 + None, # 1554 + None, # 1555 + None, # 1556 + None, # 1557 + None, # 1558 + None, # 1559 + None, # 1560 + None, # 1561 + None, # 1562 + None, # 1563 + None, # 1564 + None, # 1565 + None, # 1566 + None, # 1567 + None, # 1568 + None, # 1569 + None, # 1570 + None, # 1571 + None, # 1572 + None, # 1573 + None, # 1574 + None, # 1575 + None, # 1576 + None, # 1577 + None, # 1578 + None, # 1579 + None, # 1580 + None, # 1581 + None, # 1582 + None, # 1583 + None, # 1584 + None, # 1585 + None, # 1586 + None, # 1587 + None, # 1588 + None, # 1589 + None, # 1590 + None, # 1591 + None, # 1592 + None, # 1593 + None, # 1594 + None, # 1595 + None, # 1596 + None, # 1597 + None, # 1598 + None, # 1599 + None, # 1600 + None, # 1601 + None, # 1602 + None, # 1603 + None, # 1604 + None, # 1605 + None, # 1606 + None, # 1607 + None, # 1608 + None, # 1609 + None, # 1610 + None, # 1611 + None, # 1612 + None, # 1613 + None, # 1614 + None, # 1615 + None, # 1616 + None, # 1617 + None, # 1618 + None, # 1619 + None, # 1620 + None, # 1621 + None, # 1622 + None, # 1623 + None, # 1624 + None, # 1625 + None, # 1626 + None, # 1627 + None, # 1628 + None, # 1629 + None, # 1630 + None, # 1631 + None, # 1632 + None, # 1633 + None, # 1634 + None, # 1635 + None, # 1636 + None, # 1637 + None, # 1638 + None, # 1639 + None, # 1640 + None, # 1641 + None, # 1642 + None, # 1643 + None, # 1644 + None, # 1645 + None, # 1646 + None, # 1647 + None, # 1648 + None, # 1649 + None, # 1650 + None, # 1651 + None, # 1652 + None, # 1653 + None, # 1654 + None, # 1655 + None, # 1656 + None, # 1657 + None, # 1658 + None, # 1659 + None, # 1660 + None, # 1661 + None, # 1662 + None, # 1663 + None, # 1664 + None, # 1665 + None, # 1666 + None, # 1667 + None, # 1668 + None, # 1669 + None, # 1670 + None, # 1671 + None, # 1672 + None, # 1673 + None, # 1674 + None, # 1675 + None, # 1676 + None, # 1677 + None, # 1678 + None, # 1679 + None, # 1680 + None, # 1681 + None, # 1682 + None, # 1683 + None, # 1684 + None, # 1685 + None, # 1686 + None, # 1687 + None, # 1688 + None, # 1689 + None, # 1690 + None, # 1691 + None, # 1692 + None, # 1693 + None, # 1694 + None, # 1695 + None, # 1696 + None, # 1697 + None, # 1698 + None, # 1699 + None, # 1700 + None, # 1701 + None, # 1702 + None, # 1703 + None, # 1704 + None, # 1705 + None, # 1706 + None, # 1707 + None, # 1708 + None, # 1709 + None, # 1710 + None, # 1711 + None, # 1712 + None, # 1713 + None, # 1714 + None, # 1715 + None, # 1716 + None, # 1717 + None, # 1718 + None, # 1719 + None, # 1720 + None, # 1721 + None, # 1722 + None, # 1723 + None, # 1724 + None, # 1725 + None, # 1726 + None, # 1727 + None, # 1728 + None, # 1729 + None, # 1730 + None, # 1731 + None, # 1732 + None, # 1733 + None, # 1734 + None, # 1735 + None, # 1736 + None, # 1737 + None, # 1738 + None, # 1739 + None, # 1740 + None, # 1741 + None, # 1742 + None, # 1743 + None, # 1744 + None, # 1745 + None, # 1746 + None, # 1747 + None, # 1748 + None, # 1749 + None, # 1750 + None, # 1751 + None, # 1752 + None, # 1753 + None, # 1754 + None, # 1755 + None, # 1756 + None, # 1757 + None, # 1758 + None, # 1759 + None, # 1760 + None, # 1761 + None, # 1762 + None, # 1763 + None, # 1764 + None, # 1765 + None, # 1766 + None, # 1767 + None, # 1768 + None, # 1769 + None, # 1770 + None, # 1771 + None, # 1772 + None, # 1773 + None, # 1774 + None, # 1775 + None, # 1776 + None, # 1777 + None, # 1778 + None, # 1779 + None, # 1780 + None, # 1781 + None, # 1782 + None, # 1783 + None, # 1784 + None, # 1785 + None, # 1786 + None, # 1787 + None, # 1788 + None, # 1789 + None, # 1790 + None, # 1791 + None, # 1792 + None, # 1793 + None, # 1794 + None, # 1795 + None, # 1796 + None, # 1797 + None, # 1798 + None, # 1799 + None, # 1800 + None, # 1801 + None, # 1802 + None, # 1803 + None, # 1804 + None, # 1805 + None, # 1806 + None, # 1807 + None, # 1808 + None, # 1809 + None, # 1810 + None, # 1811 + None, # 1812 + None, # 1813 + None, # 1814 + None, # 1815 + None, # 1816 + None, # 1817 + None, # 1818 + None, # 1819 + None, # 1820 + None, # 1821 + None, # 1822 + None, # 1823 + None, # 1824 + None, # 1825 + None, # 1826 + None, # 1827 + None, # 1828 + None, # 1829 + None, # 1830 + None, # 1831 + None, # 1832 + None, # 1833 + None, # 1834 + None, # 1835 + None, # 1836 + None, # 1837 + None, # 1838 + None, # 1839 + None, # 1840 + None, # 1841 + None, # 1842 + None, # 1843 + None, # 1844 + None, # 1845 + None, # 1846 + None, # 1847 + None, # 1848 + None, # 1849 + None, # 1850 + None, # 1851 + None, # 1852 + None, # 1853 + None, # 1854 + None, # 1855 + None, # 1856 + None, # 1857 + None, # 1858 + None, # 1859 + None, # 1860 + None, # 1861 + None, # 1862 + None, # 1863 + None, # 1864 + None, # 1865 + None, # 1866 + None, # 1867 + None, # 1868 + None, # 1869 + None, # 1870 + None, # 1871 + None, # 1872 + None, # 1873 + None, # 1874 + None, # 1875 + None, # 1876 + None, # 1877 + None, # 1878 + None, # 1879 + None, # 1880 + None, # 1881 + None, # 1882 + None, # 1883 + None, # 1884 + None, # 1885 + None, # 1886 + None, # 1887 + None, # 1888 + None, # 1889 + None, # 1890 + None, # 1891 + None, # 1892 + None, # 1893 + None, # 1894 + None, # 1895 + None, # 1896 + None, # 1897 + None, # 1898 + None, # 1899 + None, # 1900 + None, # 1901 + None, # 1902 + None, # 1903 + None, # 1904 + None, # 1905 + None, # 1906 + None, # 1907 + None, # 1908 + None, # 1909 + None, # 1910 + None, # 1911 + None, # 1912 + None, # 1913 + None, # 1914 + None, # 1915 + None, # 1916 + None, # 1917 + None, # 1918 + None, # 1919 + None, # 1920 + None, # 1921 + None, # 1922 + None, # 1923 + None, # 1924 + None, # 1925 + None, # 1926 + None, # 1927 + None, # 1928 + None, # 1929 + None, # 1930 + None, # 1931 + None, # 1932 + None, # 1933 + None, # 1934 + None, # 1935 + None, # 1936 + None, # 1937 + None, # 1938 + None, # 1939 + None, # 1940 + None, # 1941 + None, # 1942 + None, # 1943 + None, # 1944 + None, # 1945 + None, # 1946 + None, # 1947 + None, # 1948 + None, # 1949 + None, # 1950 + None, # 1951 + None, # 1952 + None, # 1953 + None, # 1954 + None, # 1955 + None, # 1956 + None, # 1957 + None, # 1958 + None, # 1959 + None, # 1960 + None, # 1961 + None, # 1962 + None, # 1963 + None, # 1964 + None, # 1965 + None, # 1966 + None, # 1967 + None, # 1968 + None, # 1969 + None, # 1970 + None, # 1971 + None, # 1972 + None, # 1973 + None, # 1974 + None, # 1975 + None, # 1976 + None, # 1977 + None, # 1978 + None, # 1979 + None, # 1980 + None, # 1981 + None, # 1982 + None, # 1983 + None, # 1984 + None, # 1985 + None, # 1986 + None, # 1987 + None, # 1988 + None, # 1989 + None, # 1990 + None, # 1991 + None, # 1992 + None, # 1993 + None, # 1994 + None, # 1995 + None, # 1996 + None, # 1997 + None, # 1998 + None, # 1999 + None, # 2000 + None, # 2001 + None, # 2002 + None, # 2003 + None, # 2004 + None, # 2005 + None, # 2006 + None, # 2007 + None, # 2008 + None, # 2009 + None, # 2010 + None, # 2011 + None, # 2012 + None, # 2013 + None, # 2014 + None, # 2015 + None, # 2016 + None, # 2017 + None, # 2018 + None, # 2019 + None, # 2020 + None, # 2021 + None, # 2022 + None, # 2023 + None, # 2024 + None, # 2025 + None, # 2026 + None, # 2027 + None, # 2028 + None, # 2029 + None, # 2030 + None, # 2031 + None, # 2032 + None, # 2033 + None, # 2034 + None, # 2035 + None, # 2036 + None, # 2037 + None, # 2038 + None, # 2039 + None, # 2040 + None, # 2041 + None, # 2042 + None, # 2043 + None, # 2044 + None, # 2045 + None, # 2046 + None, # 2047 + None, # 2048 + None, # 2049 + None, # 2050 + None, # 2051 + None, # 2052 + None, # 2053 + None, # 2054 + None, # 2055 + None, # 2056 + None, # 2057 + None, # 2058 + None, # 2059 + None, # 2060 + None, # 2061 + None, # 2062 + None, # 2063 + None, # 2064 + None, # 2065 + None, # 2066 + None, # 2067 + None, # 2068 + None, # 2069 + None, # 2070 + None, # 2071 + None, # 2072 + None, # 2073 + None, # 2074 + None, # 2075 + None, # 2076 + None, # 2077 + None, # 2078 + None, # 2079 + None, # 2080 + None, # 2081 + None, # 2082 + None, # 2083 + None, # 2084 + None, # 2085 + None, # 2086 + None, # 2087 + None, # 2088 + None, # 2089 + None, # 2090 + None, # 2091 + None, # 2092 + None, # 2093 + None, # 2094 + None, # 2095 + None, # 2096 + None, # 2097 + None, # 2098 + None, # 2099 + None, # 2100 + None, # 2101 + None, # 2102 + None, # 2103 + None, # 2104 + None, # 2105 + None, # 2106 + None, # 2107 + None, # 2108 + None, # 2109 + None, # 2110 + None, # 2111 + None, # 2112 + None, # 2113 + None, # 2114 + None, # 2115 + None, # 2116 + None, # 2117 + None, # 2118 + None, # 2119 + None, # 2120 + None, # 2121 + None, # 2122 + None, # 2123 + None, # 2124 + None, # 2125 + None, # 2126 + None, # 2127 + None, # 2128 + None, # 2129 + None, # 2130 + None, # 2131 + None, # 2132 + None, # 2133 + None, # 2134 + None, # 2135 + None, # 2136 + None, # 2137 + None, # 2138 + None, # 2139 + None, # 2140 + None, # 2141 + None, # 2142 + None, # 2143 + None, # 2144 + None, # 2145 + None, # 2146 + None, # 2147 + None, # 2148 + None, # 2149 + None, # 2150 + None, # 2151 + None, # 2152 + None, # 2153 + None, # 2154 + None, # 2155 + None, # 2156 + None, # 2157 + None, # 2158 + None, # 2159 + None, # 2160 + None, # 2161 + None, # 2162 + None, # 2163 + None, # 2164 + None, # 2165 + None, # 2166 + None, # 2167 + None, # 2168 + None, # 2169 + None, # 2170 + None, # 2171 + None, # 2172 + None, # 2173 + None, # 2174 + None, # 2175 + None, # 2176 + None, # 2177 + None, # 2178 + None, # 2179 + None, # 2180 + None, # 2181 + None, # 2182 + None, # 2183 + None, # 2184 + None, # 2185 + None, # 2186 + None, # 2187 + None, # 2188 + None, # 2189 + None, # 2190 + None, # 2191 + None, # 2192 + None, # 2193 + None, # 2194 + None, # 2195 + None, # 2196 + None, # 2197 + None, # 2198 + None, # 2199 + None, # 2200 + None, # 2201 + None, # 2202 + None, # 2203 + None, # 2204 + None, # 2205 + None, # 2206 + None, # 2207 + None, # 2208 + None, # 2209 + None, # 2210 + None, # 2211 + None, # 2212 + None, # 2213 + None, # 2214 + None, # 2215 + None, # 2216 + None, # 2217 + None, # 2218 + None, # 2219 + None, # 2220 + None, # 2221 + None, # 2222 + None, # 2223 + None, # 2224 + None, # 2225 + None, # 2226 + None, # 2227 + None, # 2228 + None, # 2229 + None, # 2230 + None, # 2231 + None, # 2232 + None, # 2233 + None, # 2234 + None, # 2235 + None, # 2236 + None, # 2237 + None, # 2238 + None, # 2239 + None, # 2240 + None, # 2241 + None, # 2242 + None, # 2243 + None, # 2244 + None, # 2245 + None, # 2246 + None, # 2247 + None, # 2248 + None, # 2249 + None, # 2250 + None, # 2251 + None, # 2252 + None, # 2253 + None, # 2254 + None, # 2255 + None, # 2256 + None, # 2257 + None, # 2258 + None, # 2259 + None, # 2260 + None, # 2261 + None, # 2262 + None, # 2263 + None, # 2264 + None, # 2265 + None, # 2266 + None, # 2267 + None, # 2268 + None, # 2269 + None, # 2270 + None, # 2271 + None, # 2272 + None, # 2273 + None, # 2274 + None, # 2275 + None, # 2276 + None, # 2277 + None, # 2278 + None, # 2279 + None, # 2280 + None, # 2281 + None, # 2282 + None, # 2283 + None, # 2284 + None, # 2285 + None, # 2286 + None, # 2287 + None, # 2288 + None, # 2289 + None, # 2290 + None, # 2291 + None, # 2292 + None, # 2293 + None, # 2294 + None, # 2295 + None, # 2296 + None, # 2297 + None, # 2298 + None, # 2299 + None, # 2300 + None, # 2301 + None, # 2302 + None, # 2303 + None, # 2304 + None, # 2305 + None, # 2306 + None, # 2307 + None, # 2308 + None, # 2309 + None, # 2310 + None, # 2311 + None, # 2312 + None, # 2313 + None, # 2314 + None, # 2315 + None, # 2316 + None, # 2317 + None, # 2318 + None, # 2319 + None, # 2320 + None, # 2321 + None, # 2322 + None, # 2323 + None, # 2324 + None, # 2325 + None, # 2326 + None, # 2327 + None, # 2328 + None, # 2329 + None, # 2330 + None, # 2331 + None, # 2332 + None, # 2333 + None, # 2334 + None, # 2335 + None, # 2336 + None, # 2337 + None, # 2338 + None, # 2339 + None, # 2340 + None, # 2341 + None, # 2342 + None, # 2343 + None, # 2344 + None, # 2345 + None, # 2346 + None, # 2347 + None, # 2348 + None, # 2349 + None, # 2350 + None, # 2351 + None, # 2352 + None, # 2353 + None, # 2354 + None, # 2355 + None, # 2356 + None, # 2357 + None, # 2358 + None, # 2359 + None, # 2360 + None, # 2361 + None, # 2362 + None, # 2363 + None, # 2364 + None, # 2365 + None, # 2366 + None, # 2367 + None, # 2368 + None, # 2369 + None, # 2370 + None, # 2371 + None, # 2372 + None, # 2373 + None, # 2374 + None, # 2375 + None, # 2376 + None, # 2377 + None, # 2378 + None, # 2379 + None, # 2380 + None, # 2381 + None, # 2382 + None, # 2383 + None, # 2384 + None, # 2385 + None, # 2386 + None, # 2387 + None, # 2388 + None, # 2389 + None, # 2390 + None, # 2391 + None, # 2392 + None, # 2393 + None, # 2394 + None, # 2395 + None, # 2396 + None, # 2397 + None, # 2398 + None, # 2399 + None, # 2400 + None, # 2401 + None, # 2402 + None, # 2403 + None, # 2404 + None, # 2405 + None, # 2406 + None, # 2407 + None, # 2408 + None, # 2409 + None, # 2410 + None, # 2411 + None, # 2412 + None, # 2413 + None, # 2414 + None, # 2415 + None, # 2416 + None, # 2417 + None, # 2418 + None, # 2419 + None, # 2420 + None, # 2421 + None, # 2422 + None, # 2423 + None, # 2424 + None, # 2425 + None, # 2426 + None, # 2427 + None, # 2428 + None, # 2429 + None, # 2430 + None, # 2431 + None, # 2432 + None, # 2433 + None, # 2434 + None, # 2435 + None, # 2436 + None, # 2437 + None, # 2438 + None, # 2439 + None, # 2440 + None, # 2441 + None, # 2442 + None, # 2443 + None, # 2444 + None, # 2445 + None, # 2446 + None, # 2447 + None, # 2448 + None, # 2449 + None, # 2450 + None, # 2451 + None, # 2452 + None, # 2453 + None, # 2454 + None, # 2455 + None, # 2456 + None, # 2457 + None, # 2458 + None, # 2459 + None, # 2460 + None, # 2461 + None, # 2462 + None, # 2463 + None, # 2464 + None, # 2465 + None, # 2466 + None, # 2467 + None, # 2468 + None, # 2469 + None, # 2470 + None, # 2471 + None, # 2472 + None, # 2473 + None, # 2474 + None, # 2475 + None, # 2476 + None, # 2477 + None, # 2478 + None, # 2479 + None, # 2480 + None, # 2481 + None, # 2482 + None, # 2483 + None, # 2484 + None, # 2485 + None, # 2486 + None, # 2487 + None, # 2488 + None, # 2489 + None, # 2490 + None, # 2491 + None, # 2492 + None, # 2493 + None, # 2494 + None, # 2495 + None, # 2496 + None, # 2497 + None, # 2498 + None, # 2499 + None, # 2500 + None, # 2501 + None, # 2502 + None, # 2503 + None, # 2504 + None, # 2505 + None, # 2506 + None, # 2507 + None, # 2508 + None, # 2509 + None, # 2510 + None, # 2511 + None, # 2512 + None, # 2513 + None, # 2514 + None, # 2515 + None, # 2516 + None, # 2517 + None, # 2518 + None, # 2519 + None, # 2520 + None, # 2521 + None, # 2522 + None, # 2523 + None, # 2524 + None, # 2525 + None, # 2526 + None, # 2527 + None, # 2528 + None, # 2529 + None, # 2530 + None, # 2531 + None, # 2532 + None, # 2533 + None, # 2534 + None, # 2535 + None, # 2536 + None, # 2537 + None, # 2538 + None, # 2539 + None, # 2540 + None, # 2541 + None, # 2542 + None, # 2543 + None, # 2544 + None, # 2545 + None, # 2546 + None, # 2547 + None, # 2548 + None, # 2549 + None, # 2550 + None, # 2551 + None, # 2552 + None, # 2553 + None, # 2554 + None, # 2555 + None, # 2556 + None, # 2557 + None, # 2558 + None, # 2559 + None, # 2560 + None, # 2561 + None, # 2562 + None, # 2563 + None, # 2564 + None, # 2565 + None, # 2566 + None, # 2567 + None, # 2568 + None, # 2569 + None, # 2570 + None, # 2571 + None, # 2572 + None, # 2573 + None, # 2574 + None, # 2575 + None, # 2576 + None, # 2577 + None, # 2578 + None, # 2579 + None, # 2580 + None, # 2581 + None, # 2582 + None, # 2583 + None, # 2584 + None, # 2585 + None, # 2586 + None, # 2587 + None, # 2588 + None, # 2589 + None, # 2590 + None, # 2591 + None, # 2592 + None, # 2593 + None, # 2594 + None, # 2595 + None, # 2596 + None, # 2597 + None, # 2598 + None, # 2599 + None, # 2600 + None, # 2601 + None, # 2602 + None, # 2603 + None, # 2604 + None, # 2605 + None, # 2606 + None, # 2607 + None, # 2608 + None, # 2609 + None, # 2610 + None, # 2611 + None, # 2612 + None, # 2613 + None, # 2614 + None, # 2615 + None, # 2616 + None, # 2617 + None, # 2618 + None, # 2619 + None, # 2620 + None, # 2621 + None, # 2622 + None, # 2623 + None, # 2624 + None, # 2625 + None, # 2626 + None, # 2627 + None, # 2628 + None, # 2629 + None, # 2630 + None, # 2631 + None, # 2632 + None, # 2633 + None, # 2634 + None, # 2635 + None, # 2636 + None, # 2637 + None, # 2638 + None, # 2639 + None, # 2640 + None, # 2641 + None, # 2642 + None, # 2643 + None, # 2644 + None, # 2645 + None, # 2646 + None, # 2647 + None, # 2648 + None, # 2649 + None, # 2650 + None, # 2651 + None, # 2652 + None, # 2653 + None, # 2654 + None, # 2655 + None, # 2656 + None, # 2657 + None, # 2658 + None, # 2659 + None, # 2660 + None, # 2661 + None, # 2662 + None, # 2663 + None, # 2664 + None, # 2665 + None, # 2666 + None, # 2667 + None, # 2668 + None, # 2669 + None, # 2670 + None, # 2671 + None, # 2672 + None, # 2673 + None, # 2674 + None, # 2675 + None, # 2676 + None, # 2677 + None, # 2678 + None, # 2679 + None, # 2680 + None, # 2681 + None, # 2682 + None, # 2683 + None, # 2684 + None, # 2685 + None, # 2686 + None, # 2687 + None, # 2688 + None, # 2689 + None, # 2690 + None, # 2691 + None, # 2692 + None, # 2693 + None, # 2694 + None, # 2695 + None, # 2696 + None, # 2697 + None, # 2698 + None, # 2699 + None, # 2700 + None, # 2701 + None, # 2702 + None, # 2703 + None, # 2704 + None, # 2705 + None, # 2706 + None, # 2707 + None, # 2708 + None, # 2709 + None, # 2710 + None, # 2711 + None, # 2712 + None, # 2713 + None, # 2714 + None, # 2715 + None, # 2716 + None, # 2717 + None, # 2718 + None, # 2719 + None, # 2720 + None, # 2721 + None, # 2722 + None, # 2723 + None, # 2724 + None, # 2725 + None, # 2726 + None, # 2727 + None, # 2728 + None, # 2729 + None, # 2730 + None, # 2731 + None, # 2732 + None, # 2733 + None, # 2734 + None, # 2735 + None, # 2736 + None, # 2737 + None, # 2738 + None, # 2739 + None, # 2740 + None, # 2741 + None, # 2742 + None, # 2743 + None, # 2744 + None, # 2745 + None, # 2746 + None, # 2747 + None, # 2748 + None, # 2749 + None, # 2750 + None, # 2751 + None, # 2752 + None, # 2753 + None, # 2754 + None, # 2755 + None, # 2756 + None, # 2757 + None, # 2758 + None, # 2759 + None, # 2760 + None, # 2761 + None, # 2762 + None, # 2763 + None, # 2764 + None, # 2765 + None, # 2766 + None, # 2767 + None, # 2768 + None, # 2769 + None, # 2770 + None, # 2771 + None, # 2772 + None, # 2773 + None, # 2774 + None, # 2775 + None, # 2776 + None, # 2777 + None, # 2778 + None, # 2779 + None, # 2780 + None, # 2781 + None, # 2782 + None, # 2783 + None, # 2784 + None, # 2785 + None, # 2786 + None, # 2787 + None, # 2788 + None, # 2789 + None, # 2790 + None, # 2791 + None, # 2792 + None, # 2793 + None, # 2794 + None, # 2795 + None, # 2796 + None, # 2797 + None, # 2798 + None, # 2799 + None, # 2800 + None, # 2801 + None, # 2802 + None, # 2803 + None, # 2804 + None, # 2805 + None, # 2806 + None, # 2807 + None, # 2808 + None, # 2809 + None, # 2810 + None, # 2811 + None, # 2812 + None, # 2813 + None, # 2814 + None, # 2815 + None, # 2816 + None, # 2817 + None, # 2818 + None, # 2819 + None, # 2820 + None, # 2821 + None, # 2822 + None, # 2823 + None, # 2824 + None, # 2825 + None, # 2826 + None, # 2827 + None, # 2828 + None, # 2829 + None, # 2830 + None, # 2831 + None, # 2832 + None, # 2833 + None, # 2834 + None, # 2835 + None, # 2836 + None, # 2837 + None, # 2838 + None, # 2839 + None, # 2840 + None, # 2841 + None, # 2842 + None, # 2843 + None, # 2844 + None, # 2845 + None, # 2846 + None, # 2847 + None, # 2848 + None, # 2849 + None, # 2850 + None, # 2851 + None, # 2852 + None, # 2853 + None, # 2854 + None, # 2855 + None, # 2856 + None, # 2857 + None, # 2858 + None, # 2859 + None, # 2860 + None, # 2861 + None, # 2862 + None, # 2863 + None, # 2864 + None, # 2865 + None, # 2866 + None, # 2867 + None, # 2868 + None, # 2869 + None, # 2870 + None, # 2871 + None, # 2872 + None, # 2873 + None, # 2874 + None, # 2875 + None, # 2876 + None, # 2877 + None, # 2878 + None, # 2879 + None, # 2880 + None, # 2881 + None, # 2882 + None, # 2883 + None, # 2884 + None, # 2885 + None, # 2886 + None, # 2887 + None, # 2888 + None, # 2889 + None, # 2890 + None, # 2891 + None, # 2892 + None, # 2893 + None, # 2894 + None, # 2895 + None, # 2896 + None, # 2897 + None, # 2898 + None, # 2899 + None, # 2900 + None, # 2901 + None, # 2902 + None, # 2903 + None, # 2904 + None, # 2905 + None, # 2906 + None, # 2907 + None, # 2908 + None, # 2909 + None, # 2910 + None, # 2911 + None, # 2912 + None, # 2913 + None, # 2914 + None, # 2915 + None, # 2916 + None, # 2917 + None, # 2918 + None, # 2919 + None, # 2920 + None, # 2921 + None, # 2922 + None, # 2923 + None, # 2924 + None, # 2925 + None, # 2926 + None, # 2927 + None, # 2928 + None, # 2929 + None, # 2930 + None, # 2931 + None, # 2932 + None, # 2933 + None, # 2934 + None, # 2935 + None, # 2936 + None, # 2937 + None, # 2938 + None, # 2939 + None, # 2940 + None, # 2941 + None, # 2942 + None, # 2943 + None, # 2944 + None, # 2945 + None, # 2946 + None, # 2947 + None, # 2948 + None, # 2949 + None, # 2950 + None, # 2951 + None, # 2952 + None, # 2953 + None, # 2954 + None, # 2955 + None, # 2956 + None, # 2957 + None, # 2958 + None, # 2959 + None, # 2960 + None, # 2961 + None, # 2962 + None, # 2963 + None, # 2964 + None, # 2965 + None, # 2966 + None, # 2967 + None, # 2968 + None, # 2969 + None, # 2970 + None, # 2971 + None, # 2972 + None, # 2973 + None, # 2974 + None, # 2975 + None, # 2976 + None, # 2977 + None, # 2978 + None, # 2979 + None, # 2980 + None, # 2981 + None, # 2982 + None, # 2983 + None, # 2984 + None, # 2985 + None, # 2986 + None, # 2987 + None, # 2988 + None, # 2989 + None, # 2990 + None, # 2991 + None, # 2992 + None, # 2993 + None, # 2994 + None, # 2995 + None, # 2996 + None, # 2997 + None, # 2998 + None, # 2999 + None, # 3000 + None, # 3001 + None, # 3002 + None, # 3003 + None, # 3004 + None, # 3005 + None, # 3006 + None, # 3007 + None, # 3008 + None, # 3009 + None, # 3010 + None, # 3011 + None, # 3012 + None, # 3013 + None, # 3014 + None, # 3015 + None, # 3016 + None, # 3017 + None, # 3018 + None, # 3019 + None, # 3020 + None, # 3021 + None, # 3022 + None, # 3023 + None, # 3024 + None, # 3025 + None, # 3026 + None, # 3027 + None, # 3028 + None, # 3029 + None, # 3030 + None, # 3031 + None, # 3032 + None, # 3033 + None, # 3034 + None, # 3035 + None, # 3036 + None, # 3037 + None, # 3038 + None, # 3039 + None, # 3040 + None, # 3041 + None, # 3042 + None, # 3043 + None, # 3044 + None, # 3045 + None, # 3046 + None, # 3047 + None, # 3048 + None, # 3049 + None, # 3050 + None, # 3051 + None, # 3052 + None, # 3053 + None, # 3054 + None, # 3055 + None, # 3056 + None, # 3057 + None, # 3058 + None, # 3059 + None, # 3060 + None, # 3061 + None, # 3062 + None, # 3063 + None, # 3064 + None, # 3065 + None, # 3066 + None, # 3067 + None, # 3068 + None, # 3069 + None, # 3070 + None, # 3071 + None, # 3072 + None, # 3073 + None, # 3074 + None, # 3075 + None, # 3076 + None, # 3077 + None, # 3078 + None, # 3079 + None, # 3080 + None, # 3081 + None, # 3082 + None, # 3083 + None, # 3084 + None, # 3085 + None, # 3086 + None, # 3087 + None, # 3088 + None, # 3089 + None, # 3090 + None, # 3091 + None, # 3092 + None, # 3093 + None, # 3094 + None, # 3095 + None, # 3096 + None, # 3097 + None, # 3098 + None, # 3099 + None, # 3100 + None, # 3101 + None, # 3102 + None, # 3103 + None, # 3104 + None, # 3105 + None, # 3106 + None, # 3107 + None, # 3108 + None, # 3109 + None, # 3110 + None, # 3111 + None, # 3112 + None, # 3113 + None, # 3114 + None, # 3115 + None, # 3116 + None, # 3117 + None, # 3118 + None, # 3119 + None, # 3120 + None, # 3121 + None, # 3122 + None, # 3123 + None, # 3124 + None, # 3125 + None, # 3126 + None, # 3127 + None, # 3128 + None, # 3129 + None, # 3130 + None, # 3131 + None, # 3132 + None, # 3133 + None, # 3134 + None, # 3135 + None, # 3136 + None, # 3137 + None, # 3138 + None, # 3139 + None, # 3140 + None, # 3141 + None, # 3142 + None, # 3143 + None, # 3144 + None, # 3145 + None, # 3146 + None, # 3147 + None, # 3148 + None, # 3149 + None, # 3150 + None, # 3151 + None, # 3152 + None, # 3153 + None, # 3154 + None, # 3155 + None, # 3156 + None, # 3157 + None, # 3158 + None, # 3159 + None, # 3160 + None, # 3161 + None, # 3162 + None, # 3163 + None, # 3164 + None, # 3165 + None, # 3166 + None, # 3167 + None, # 3168 + None, # 3169 + None, # 3170 + None, # 3171 + None, # 3172 + None, # 3173 + None, # 3174 + None, # 3175 + None, # 3176 + None, # 3177 + None, # 3178 + None, # 3179 + None, # 3180 + None, # 3181 + None, # 3182 + None, # 3183 + None, # 3184 + None, # 3185 + None, # 3186 + None, # 3187 + None, # 3188 + None, # 3189 + None, # 3190 + None, # 3191 + None, # 3192 + None, # 3193 + None, # 3194 + None, # 3195 + None, # 3196 + None, # 3197 + None, # 3198 + None, # 3199 + None, # 3200 + None, # 3201 + None, # 3202 + None, # 3203 + None, # 3204 + None, # 3205 + None, # 3206 + None, # 3207 + None, # 3208 + None, # 3209 + None, # 3210 + None, # 3211 + None, # 3212 + None, # 3213 + None, # 3214 + None, # 3215 + None, # 3216 + None, # 3217 + None, # 3218 + None, # 3219 + None, # 3220 + None, # 3221 + None, # 3222 + None, # 3223 + None, # 3224 + None, # 3225 + None, # 3226 + None, # 3227 + None, # 3228 + None, # 3229 + None, # 3230 + None, # 3231 + None, # 3232 + None, # 3233 + None, # 3234 + None, # 3235 + None, # 3236 + None, # 3237 + None, # 3238 + None, # 3239 + None, # 3240 + None, # 3241 + None, # 3242 + None, # 3243 + None, # 3244 + None, # 3245 + None, # 3246 + None, # 3247 + None, # 3248 + None, # 3249 + None, # 3250 + None, # 3251 + None, # 3252 + None, # 3253 + None, # 3254 + None, # 3255 + None, # 3256 + None, # 3257 + None, # 3258 + None, # 3259 + None, # 3260 + None, # 3261 + None, # 3262 + None, # 3263 + None, # 3264 + None, # 3265 + None, # 3266 + None, # 3267 + None, # 3268 + None, # 3269 + None, # 3270 + None, # 3271 + None, # 3272 + None, # 3273 + None, # 3274 + None, # 3275 + None, # 3276 + None, # 3277 + None, # 3278 + None, # 3279 + None, # 3280 + None, # 3281 + None, # 3282 + None, # 3283 + None, # 3284 + None, # 3285 + None, # 3286 + None, # 3287 + None, # 3288 + None, # 3289 + None, # 3290 + None, # 3291 + None, # 3292 + None, # 3293 + None, # 3294 + None, # 3295 + None, # 3296 + None, # 3297 + None, # 3298 + None, # 3299 + None, # 3300 + None, # 3301 + None, # 3302 + None, # 3303 + None, # 3304 + None, # 3305 + None, # 3306 + None, # 3307 + None, # 3308 + None, # 3309 + None, # 3310 + None, # 3311 + None, # 3312 + None, # 3313 + None, # 3314 + None, # 3315 + None, # 3316 + None, # 3317 + None, # 3318 + None, # 3319 + None, # 3320 + None, # 3321 + None, # 3322 + None, # 3323 + None, # 3324 + None, # 3325 + None, # 3326 + None, # 3327 + None, # 3328 + (3329, TType.LIST, 'cloudFetchResults', (TType.STRUCT, [TDBSqlCloudResultFile, None], False), None, ), # 3329 ) all_structs.append(TDBSqlTempView) TDBSqlTempView.thrift_spec = ( - None, # 0 - (1, TType.STRING, 'name', 'UTF8', None, ), # 1 - (2, TType.STRING, 'sqlStatement', 'UTF8', None, ), # 2 - (3, TType.MAP, 'properties', (TType.STRING, 'UTF8', TType.STRING, 'UTF8', False), None, ), # 3 - (4, TType.STRING, 'viewSchema', 'UTF8', None, ), # 4 + None, # 0 + (1, TType.STRING, 'name', 'UTF8', None, ), # 1 + (2, TType.STRING, 'sqlStatement', 'UTF8', None, ), # 2 + (3, TType.MAP, 'properties', (TType.STRING, 'UTF8', TType.STRING, 'UTF8', False), None, ), # 3 + (4, TType.STRING, 'viewSchema', 'UTF8', None, ), # 4 ) all_structs.append(TDBSqlSessionCapabilities) TDBSqlSessionCapabilities.thrift_spec = ( - None, # 0 - (1, TType.BOOL, 'supportsMultipleCatalogs', None, None, ), # 1 + None, # 0 + (1, TType.BOOL, 'supportsMultipleCatalogs', None, None, ), # 1 ) all_structs.append(TExpressionInfo) TExpressionInfo.thrift_spec = ( - None, # 0 - (1, TType.STRING, 'className', 'UTF8', None, ), # 1 - (2, TType.STRING, 'usage', 'UTF8', None, ), # 2 - (3, TType.STRING, 'name', 'UTF8', None, ), # 3 - (4, TType.STRING, 'extended', 'UTF8', None, ), # 4 - (5, TType.STRING, 'db', 'UTF8', None, ), # 5 - (6, TType.STRING, 'arguments', 'UTF8', None, ), # 6 - (7, TType.STRING, 'examples', 'UTF8', None, ), # 7 - (8, TType.STRING, 'note', 'UTF8', None, ), # 8 - (9, TType.STRING, 'group', 'UTF8', None, ), # 9 - (10, TType.STRING, 'since', 'UTF8', None, ), # 10 - (11, TType.STRING, 'deprecated', 'UTF8', None, ), # 11 - (12, TType.STRING, 'source', 'UTF8', None, ), # 12 + None, # 0 + (1, TType.STRING, 'className', 'UTF8', None, ), # 1 + (2, TType.STRING, 'usage', 'UTF8', None, ), # 2 + (3, TType.STRING, 'name', 'UTF8', None, ), # 3 + (4, TType.STRING, 'extended', 'UTF8', None, ), # 4 + (5, TType.STRING, 'db', 'UTF8', None, ), # 5 + (6, TType.STRING, 'arguments', 'UTF8', None, ), # 6 + (7, TType.STRING, 'examples', 'UTF8', None, ), # 7 + (8, TType.STRING, 'note', 'UTF8', None, ), # 8 + (9, TType.STRING, 'group', 'UTF8', None, ), # 9 + (10, TType.STRING, 'since', 'UTF8', None, ), # 10 + (11, TType.STRING, 'deprecated', 'UTF8', None, ), # 11 + (12, TType.STRING, 'source', 'UTF8', None, ), # 12 ) all_structs.append(TDBSqlConfValue) TDBSqlConfValue.thrift_spec = ( - None, # 0 - (1, TType.STRING, 'value', 'UTF8', None, ), # 1 + None, # 0 + (1, TType.STRING, 'value', 'UTF8', None, ), # 1 ) all_structs.append(TDBSqlSessionConf) TDBSqlSessionConf.thrift_spec = ( - None, # 0 - (1, TType.MAP, 'confs', (TType.STRING, 'UTF8', TType.STRING, 'UTF8', False), None, ), # 1 - (2, TType.LIST, 'tempViews', (TType.STRUCT, [TDBSqlTempView, None], False), None, ), # 2 - (3, TType.STRING, 'currentDatabase', 'UTF8', None, ), # 3 - (4, TType.STRING, 'currentCatalog', 'UTF8', None, ), # 4 - (5, TType.STRUCT, 'sessionCapabilities', [TDBSqlSessionCapabilities, None], None, ), # 5 - (6, TType.LIST, 'expressionsInfos', (TType.STRUCT, [TExpressionInfo, None], False), None, ), # 6 - (7, TType.MAP, 'internalConfs', (TType.STRING, 'UTF8', TType.STRUCT, [TDBSqlConfValue, None], False), None, ), # 7 + None, # 0 + (1, TType.MAP, 'confs', (TType.STRING, 'UTF8', TType.STRING, 'UTF8', False), None, ), # 1 + (2, TType.LIST, 'tempViews', (TType.STRUCT, [TDBSqlTempView, None], False), None, ), # 2 + (3, TType.STRING, 'currentDatabase', 'UTF8', None, ), # 3 + (4, TType.STRING, 'currentCatalog', 'UTF8', None, ), # 4 + (5, TType.STRUCT, 'sessionCapabilities', [TDBSqlSessionCapabilities, None], None, ), # 5 + (6, TType.LIST, 'expressionsInfos', (TType.STRUCT, [TExpressionInfo, None], False), None, ), # 6 + (7, TType.MAP, 'internalConfs', (TType.STRING, 'UTF8', TType.STRUCT, [TDBSqlConfValue, None], False), None, ), # 7 ) all_structs.append(TStatus) TStatus.thrift_spec = ( - None, # 0 - (1, TType.I32, 'statusCode', None, None, ), # 1 - (2, TType.LIST, 'infoMessages', (TType.STRING, 'UTF8', False), None, ), # 2 - (3, TType.STRING, 'sqlState', 'UTF8', None, ), # 3 - (4, TType.I32, 'errorCode', None, None, ), # 4 - (5, TType.STRING, 'errorMessage', 'UTF8', None, ), # 5 - (6, TType.STRING, 'displayMessage', 'UTF8', None, ), # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - (1281, TType.STRING, 'errorDetailsJson', 'UTF8', None, ), # 1281 - None, # 1282 - None, # 1283 - None, # 1284 - None, # 1285 - None, # 1286 - None, # 1287 - None, # 1288 - None, # 1289 - None, # 1290 - None, # 1291 - None, # 1292 - None, # 1293 - None, # 1294 - None, # 1295 - None, # 1296 - None, # 1297 - None, # 1298 - None, # 1299 - None, # 1300 - None, # 1301 - None, # 1302 - None, # 1303 - None, # 1304 - None, # 1305 - None, # 1306 - None, # 1307 - None, # 1308 - None, # 1309 - None, # 1310 - None, # 1311 - None, # 1312 - None, # 1313 - None, # 1314 - None, # 1315 - None, # 1316 - None, # 1317 - None, # 1318 - None, # 1319 - None, # 1320 - None, # 1321 - None, # 1322 - None, # 1323 - None, # 1324 - None, # 1325 - None, # 1326 - None, # 1327 - None, # 1328 - None, # 1329 - None, # 1330 - None, # 1331 - None, # 1332 - None, # 1333 - None, # 1334 - None, # 1335 - None, # 1336 - None, # 1337 - None, # 1338 - None, # 1339 - None, # 1340 - None, # 1341 - None, # 1342 - None, # 1343 - None, # 1344 - None, # 1345 - None, # 1346 - None, # 1347 - None, # 1348 - None, # 1349 - None, # 1350 - None, # 1351 - None, # 1352 - None, # 1353 - None, # 1354 - None, # 1355 - None, # 1356 - None, # 1357 - None, # 1358 - None, # 1359 - None, # 1360 - None, # 1361 - None, # 1362 - None, # 1363 - None, # 1364 - None, # 1365 - None, # 1366 - None, # 1367 - None, # 1368 - None, # 1369 - None, # 1370 - None, # 1371 - None, # 1372 - None, # 1373 - None, # 1374 - None, # 1375 - None, # 1376 - None, # 1377 - None, # 1378 - None, # 1379 - None, # 1380 - None, # 1381 - None, # 1382 - None, # 1383 - None, # 1384 - None, # 1385 - None, # 1386 - None, # 1387 - None, # 1388 - None, # 1389 - None, # 1390 - None, # 1391 - None, # 1392 - None, # 1393 - None, # 1394 - None, # 1395 - None, # 1396 - None, # 1397 - None, # 1398 - None, # 1399 - None, # 1400 - None, # 1401 - None, # 1402 - None, # 1403 - None, # 1404 - None, # 1405 - None, # 1406 - None, # 1407 - None, # 1408 - None, # 1409 - None, # 1410 - None, # 1411 - None, # 1412 - None, # 1413 - None, # 1414 - None, # 1415 - None, # 1416 - None, # 1417 - None, # 1418 - None, # 1419 - None, # 1420 - None, # 1421 - None, # 1422 - None, # 1423 - None, # 1424 - None, # 1425 - None, # 1426 - None, # 1427 - None, # 1428 - None, # 1429 - None, # 1430 - None, # 1431 - None, # 1432 - None, # 1433 - None, # 1434 - None, # 1435 - None, # 1436 - None, # 1437 - None, # 1438 - None, # 1439 - None, # 1440 - None, # 1441 - None, # 1442 - None, # 1443 - None, # 1444 - None, # 1445 - None, # 1446 - None, # 1447 - None, # 1448 - None, # 1449 - None, # 1450 - None, # 1451 - None, # 1452 - None, # 1453 - None, # 1454 - None, # 1455 - None, # 1456 - None, # 1457 - None, # 1458 - None, # 1459 - None, # 1460 - None, # 1461 - None, # 1462 - None, # 1463 - None, # 1464 - None, # 1465 - None, # 1466 - None, # 1467 - None, # 1468 - None, # 1469 - None, # 1470 - None, # 1471 - None, # 1472 - None, # 1473 - None, # 1474 - None, # 1475 - None, # 1476 - None, # 1477 - None, # 1478 - None, # 1479 - None, # 1480 - None, # 1481 - None, # 1482 - None, # 1483 - None, # 1484 - None, # 1485 - None, # 1486 - None, # 1487 - None, # 1488 - None, # 1489 - None, # 1490 - None, # 1491 - None, # 1492 - None, # 1493 - None, # 1494 - None, # 1495 - None, # 1496 - None, # 1497 - None, # 1498 - None, # 1499 - None, # 1500 - None, # 1501 - None, # 1502 - None, # 1503 - None, # 1504 - None, # 1505 - None, # 1506 - None, # 1507 - None, # 1508 - None, # 1509 - None, # 1510 - None, # 1511 - None, # 1512 - None, # 1513 - None, # 1514 - None, # 1515 - None, # 1516 - None, # 1517 - None, # 1518 - None, # 1519 - None, # 1520 - None, # 1521 - None, # 1522 - None, # 1523 - None, # 1524 - None, # 1525 - None, # 1526 - None, # 1527 - None, # 1528 - None, # 1529 - None, # 1530 - None, # 1531 - None, # 1532 - None, # 1533 - None, # 1534 - None, # 1535 - None, # 1536 - None, # 1537 - None, # 1538 - None, # 1539 - None, # 1540 - None, # 1541 - None, # 1542 - None, # 1543 - None, # 1544 - None, # 1545 - None, # 1546 - None, # 1547 - None, # 1548 - None, # 1549 - None, # 1550 - None, # 1551 - None, # 1552 - None, # 1553 - None, # 1554 - None, # 1555 - None, # 1556 - None, # 1557 - None, # 1558 - None, # 1559 - None, # 1560 - None, # 1561 - None, # 1562 - None, # 1563 - None, # 1564 - None, # 1565 - None, # 1566 - None, # 1567 - None, # 1568 - None, # 1569 - None, # 1570 - None, # 1571 - None, # 1572 - None, # 1573 - None, # 1574 - None, # 1575 - None, # 1576 - None, # 1577 - None, # 1578 - None, # 1579 - None, # 1580 - None, # 1581 - None, # 1582 - None, # 1583 - None, # 1584 - None, # 1585 - None, # 1586 - None, # 1587 - None, # 1588 - None, # 1589 - None, # 1590 - None, # 1591 - None, # 1592 - None, # 1593 - None, # 1594 - None, # 1595 - None, # 1596 - None, # 1597 - None, # 1598 - None, # 1599 - None, # 1600 - None, # 1601 - None, # 1602 - None, # 1603 - None, # 1604 - None, # 1605 - None, # 1606 - None, # 1607 - None, # 1608 - None, # 1609 - None, # 1610 - None, # 1611 - None, # 1612 - None, # 1613 - None, # 1614 - None, # 1615 - None, # 1616 - None, # 1617 - None, # 1618 - None, # 1619 - None, # 1620 - None, # 1621 - None, # 1622 - None, # 1623 - None, # 1624 - None, # 1625 - None, # 1626 - None, # 1627 - None, # 1628 - None, # 1629 - None, # 1630 - None, # 1631 - None, # 1632 - None, # 1633 - None, # 1634 - None, # 1635 - None, # 1636 - None, # 1637 - None, # 1638 - None, # 1639 - None, # 1640 - None, # 1641 - None, # 1642 - None, # 1643 - None, # 1644 - None, # 1645 - None, # 1646 - None, # 1647 - None, # 1648 - None, # 1649 - None, # 1650 - None, # 1651 - None, # 1652 - None, # 1653 - None, # 1654 - None, # 1655 - None, # 1656 - None, # 1657 - None, # 1658 - None, # 1659 - None, # 1660 - None, # 1661 - None, # 1662 - None, # 1663 - None, # 1664 - None, # 1665 - None, # 1666 - None, # 1667 - None, # 1668 - None, # 1669 - None, # 1670 - None, # 1671 - None, # 1672 - None, # 1673 - None, # 1674 - None, # 1675 - None, # 1676 - None, # 1677 - None, # 1678 - None, # 1679 - None, # 1680 - None, # 1681 - None, # 1682 - None, # 1683 - None, # 1684 - None, # 1685 - None, # 1686 - None, # 1687 - None, # 1688 - None, # 1689 - None, # 1690 - None, # 1691 - None, # 1692 - None, # 1693 - None, # 1694 - None, # 1695 - None, # 1696 - None, # 1697 - None, # 1698 - None, # 1699 - None, # 1700 - None, # 1701 - None, # 1702 - None, # 1703 - None, # 1704 - None, # 1705 - None, # 1706 - None, # 1707 - None, # 1708 - None, # 1709 - None, # 1710 - None, # 1711 - None, # 1712 - None, # 1713 - None, # 1714 - None, # 1715 - None, # 1716 - None, # 1717 - None, # 1718 - None, # 1719 - None, # 1720 - None, # 1721 - None, # 1722 - None, # 1723 - None, # 1724 - None, # 1725 - None, # 1726 - None, # 1727 - None, # 1728 - None, # 1729 - None, # 1730 - None, # 1731 - None, # 1732 - None, # 1733 - None, # 1734 - None, # 1735 - None, # 1736 - None, # 1737 - None, # 1738 - None, # 1739 - None, # 1740 - None, # 1741 - None, # 1742 - None, # 1743 - None, # 1744 - None, # 1745 - None, # 1746 - None, # 1747 - None, # 1748 - None, # 1749 - None, # 1750 - None, # 1751 - None, # 1752 - None, # 1753 - None, # 1754 - None, # 1755 - None, # 1756 - None, # 1757 - None, # 1758 - None, # 1759 - None, # 1760 - None, # 1761 - None, # 1762 - None, # 1763 - None, # 1764 - None, # 1765 - None, # 1766 - None, # 1767 - None, # 1768 - None, # 1769 - None, # 1770 - None, # 1771 - None, # 1772 - None, # 1773 - None, # 1774 - None, # 1775 - None, # 1776 - None, # 1777 - None, # 1778 - None, # 1779 - None, # 1780 - None, # 1781 - None, # 1782 - None, # 1783 - None, # 1784 - None, # 1785 - None, # 1786 - None, # 1787 - None, # 1788 - None, # 1789 - None, # 1790 - None, # 1791 - None, # 1792 - None, # 1793 - None, # 1794 - None, # 1795 - None, # 1796 - None, # 1797 - None, # 1798 - None, # 1799 - None, # 1800 - None, # 1801 - None, # 1802 - None, # 1803 - None, # 1804 - None, # 1805 - None, # 1806 - None, # 1807 - None, # 1808 - None, # 1809 - None, # 1810 - None, # 1811 - None, # 1812 - None, # 1813 - None, # 1814 - None, # 1815 - None, # 1816 - None, # 1817 - None, # 1818 - None, # 1819 - None, # 1820 - None, # 1821 - None, # 1822 - None, # 1823 - None, # 1824 - None, # 1825 - None, # 1826 - None, # 1827 - None, # 1828 - None, # 1829 - None, # 1830 - None, # 1831 - None, # 1832 - None, # 1833 - None, # 1834 - None, # 1835 - None, # 1836 - None, # 1837 - None, # 1838 - None, # 1839 - None, # 1840 - None, # 1841 - None, # 1842 - None, # 1843 - None, # 1844 - None, # 1845 - None, # 1846 - None, # 1847 - None, # 1848 - None, # 1849 - None, # 1850 - None, # 1851 - None, # 1852 - None, # 1853 - None, # 1854 - None, # 1855 - None, # 1856 - None, # 1857 - None, # 1858 - None, # 1859 - None, # 1860 - None, # 1861 - None, # 1862 - None, # 1863 - None, # 1864 - None, # 1865 - None, # 1866 - None, # 1867 - None, # 1868 - None, # 1869 - None, # 1870 - None, # 1871 - None, # 1872 - None, # 1873 - None, # 1874 - None, # 1875 - None, # 1876 - None, # 1877 - None, # 1878 - None, # 1879 - None, # 1880 - None, # 1881 - None, # 1882 - None, # 1883 - None, # 1884 - None, # 1885 - None, # 1886 - None, # 1887 - None, # 1888 - None, # 1889 - None, # 1890 - None, # 1891 - None, # 1892 - None, # 1893 - None, # 1894 - None, # 1895 - None, # 1896 - None, # 1897 - None, # 1898 - None, # 1899 - None, # 1900 - None, # 1901 - None, # 1902 - None, # 1903 - None, # 1904 - None, # 1905 - None, # 1906 - None, # 1907 - None, # 1908 - None, # 1909 - None, # 1910 - None, # 1911 - None, # 1912 - None, # 1913 - None, # 1914 - None, # 1915 - None, # 1916 - None, # 1917 - None, # 1918 - None, # 1919 - None, # 1920 - None, # 1921 - None, # 1922 - None, # 1923 - None, # 1924 - None, # 1925 - None, # 1926 - None, # 1927 - None, # 1928 - None, # 1929 - None, # 1930 - None, # 1931 - None, # 1932 - None, # 1933 - None, # 1934 - None, # 1935 - None, # 1936 - None, # 1937 - None, # 1938 - None, # 1939 - None, # 1940 - None, # 1941 - None, # 1942 - None, # 1943 - None, # 1944 - None, # 1945 - None, # 1946 - None, # 1947 - None, # 1948 - None, # 1949 - None, # 1950 - None, # 1951 - None, # 1952 - None, # 1953 - None, # 1954 - None, # 1955 - None, # 1956 - None, # 1957 - None, # 1958 - None, # 1959 - None, # 1960 - None, # 1961 - None, # 1962 - None, # 1963 - None, # 1964 - None, # 1965 - None, # 1966 - None, # 1967 - None, # 1968 - None, # 1969 - None, # 1970 - None, # 1971 - None, # 1972 - None, # 1973 - None, # 1974 - None, # 1975 - None, # 1976 - None, # 1977 - None, # 1978 - None, # 1979 - None, # 1980 - None, # 1981 - None, # 1982 - None, # 1983 - None, # 1984 - None, # 1985 - None, # 1986 - None, # 1987 - None, # 1988 - None, # 1989 - None, # 1990 - None, # 1991 - None, # 1992 - None, # 1993 - None, # 1994 - None, # 1995 - None, # 1996 - None, # 1997 - None, # 1998 - None, # 1999 - None, # 2000 - None, # 2001 - None, # 2002 - None, # 2003 - None, # 2004 - None, # 2005 - None, # 2006 - None, # 2007 - None, # 2008 - None, # 2009 - None, # 2010 - None, # 2011 - None, # 2012 - None, # 2013 - None, # 2014 - None, # 2015 - None, # 2016 - None, # 2017 - None, # 2018 - None, # 2019 - None, # 2020 - None, # 2021 - None, # 2022 - None, # 2023 - None, # 2024 - None, # 2025 - None, # 2026 - None, # 2027 - None, # 2028 - None, # 2029 - None, # 2030 - None, # 2031 - None, # 2032 - None, # 2033 - None, # 2034 - None, # 2035 - None, # 2036 - None, # 2037 - None, # 2038 - None, # 2039 - None, # 2040 - None, # 2041 - None, # 2042 - None, # 2043 - None, # 2044 - None, # 2045 - None, # 2046 - None, # 2047 - None, # 2048 - None, # 2049 - None, # 2050 - None, # 2051 - None, # 2052 - None, # 2053 - None, # 2054 - None, # 2055 - None, # 2056 - None, # 2057 - None, # 2058 - None, # 2059 - None, # 2060 - None, # 2061 - None, # 2062 - None, # 2063 - None, # 2064 - None, # 2065 - None, # 2066 - None, # 2067 - None, # 2068 - None, # 2069 - None, # 2070 - None, # 2071 - None, # 2072 - None, # 2073 - None, # 2074 - None, # 2075 - None, # 2076 - None, # 2077 - None, # 2078 - None, # 2079 - None, # 2080 - None, # 2081 - None, # 2082 - None, # 2083 - None, # 2084 - None, # 2085 - None, # 2086 - None, # 2087 - None, # 2088 - None, # 2089 - None, # 2090 - None, # 2091 - None, # 2092 - None, # 2093 - None, # 2094 - None, # 2095 - None, # 2096 - None, # 2097 - None, # 2098 - None, # 2099 - None, # 2100 - None, # 2101 - None, # 2102 - None, # 2103 - None, # 2104 - None, # 2105 - None, # 2106 - None, # 2107 - None, # 2108 - None, # 2109 - None, # 2110 - None, # 2111 - None, # 2112 - None, # 2113 - None, # 2114 - None, # 2115 - None, # 2116 - None, # 2117 - None, # 2118 - None, # 2119 - None, # 2120 - None, # 2121 - None, # 2122 - None, # 2123 - None, # 2124 - None, # 2125 - None, # 2126 - None, # 2127 - None, # 2128 - None, # 2129 - None, # 2130 - None, # 2131 - None, # 2132 - None, # 2133 - None, # 2134 - None, # 2135 - None, # 2136 - None, # 2137 - None, # 2138 - None, # 2139 - None, # 2140 - None, # 2141 - None, # 2142 - None, # 2143 - None, # 2144 - None, # 2145 - None, # 2146 - None, # 2147 - None, # 2148 - None, # 2149 - None, # 2150 - None, # 2151 - None, # 2152 - None, # 2153 - None, # 2154 - None, # 2155 - None, # 2156 - None, # 2157 - None, # 2158 - None, # 2159 - None, # 2160 - None, # 2161 - None, # 2162 - None, # 2163 - None, # 2164 - None, # 2165 - None, # 2166 - None, # 2167 - None, # 2168 - None, # 2169 - None, # 2170 - None, # 2171 - None, # 2172 - None, # 2173 - None, # 2174 - None, # 2175 - None, # 2176 - None, # 2177 - None, # 2178 - None, # 2179 - None, # 2180 - None, # 2181 - None, # 2182 - None, # 2183 - None, # 2184 - None, # 2185 - None, # 2186 - None, # 2187 - None, # 2188 - None, # 2189 - None, # 2190 - None, # 2191 - None, # 2192 - None, # 2193 - None, # 2194 - None, # 2195 - None, # 2196 - None, # 2197 - None, # 2198 - None, # 2199 - None, # 2200 - None, # 2201 - None, # 2202 - None, # 2203 - None, # 2204 - None, # 2205 - None, # 2206 - None, # 2207 - None, # 2208 - None, # 2209 - None, # 2210 - None, # 2211 - None, # 2212 - None, # 2213 - None, # 2214 - None, # 2215 - None, # 2216 - None, # 2217 - None, # 2218 - None, # 2219 - None, # 2220 - None, # 2221 - None, # 2222 - None, # 2223 - None, # 2224 - None, # 2225 - None, # 2226 - None, # 2227 - None, # 2228 - None, # 2229 - None, # 2230 - None, # 2231 - None, # 2232 - None, # 2233 - None, # 2234 - None, # 2235 - None, # 2236 - None, # 2237 - None, # 2238 - None, # 2239 - None, # 2240 - None, # 2241 - None, # 2242 - None, # 2243 - None, # 2244 - None, # 2245 - None, # 2246 - None, # 2247 - None, # 2248 - None, # 2249 - None, # 2250 - None, # 2251 - None, # 2252 - None, # 2253 - None, # 2254 - None, # 2255 - None, # 2256 - None, # 2257 - None, # 2258 - None, # 2259 - None, # 2260 - None, # 2261 - None, # 2262 - None, # 2263 - None, # 2264 - None, # 2265 - None, # 2266 - None, # 2267 - None, # 2268 - None, # 2269 - None, # 2270 - None, # 2271 - None, # 2272 - None, # 2273 - None, # 2274 - None, # 2275 - None, # 2276 - None, # 2277 - None, # 2278 - None, # 2279 - None, # 2280 - None, # 2281 - None, # 2282 - None, # 2283 - None, # 2284 - None, # 2285 - None, # 2286 - None, # 2287 - None, # 2288 - None, # 2289 - None, # 2290 - None, # 2291 - None, # 2292 - None, # 2293 - None, # 2294 - None, # 2295 - None, # 2296 - None, # 2297 - None, # 2298 - None, # 2299 - None, # 2300 - None, # 2301 - None, # 2302 - None, # 2303 - None, # 2304 - None, # 2305 - None, # 2306 - None, # 2307 - None, # 2308 - None, # 2309 - None, # 2310 - None, # 2311 - None, # 2312 - None, # 2313 - None, # 2314 - None, # 2315 - None, # 2316 - None, # 2317 - None, # 2318 - None, # 2319 - None, # 2320 - None, # 2321 - None, # 2322 - None, # 2323 - None, # 2324 - None, # 2325 - None, # 2326 - None, # 2327 - None, # 2328 - None, # 2329 - None, # 2330 - None, # 2331 - None, # 2332 - None, # 2333 - None, # 2334 - None, # 2335 - None, # 2336 - None, # 2337 - None, # 2338 - None, # 2339 - None, # 2340 - None, # 2341 - None, # 2342 - None, # 2343 - None, # 2344 - None, # 2345 - None, # 2346 - None, # 2347 - None, # 2348 - None, # 2349 - None, # 2350 - None, # 2351 - None, # 2352 - None, # 2353 - None, # 2354 - None, # 2355 - None, # 2356 - None, # 2357 - None, # 2358 - None, # 2359 - None, # 2360 - None, # 2361 - None, # 2362 - None, # 2363 - None, # 2364 - None, # 2365 - None, # 2366 - None, # 2367 - None, # 2368 - None, # 2369 - None, # 2370 - None, # 2371 - None, # 2372 - None, # 2373 - None, # 2374 - None, # 2375 - None, # 2376 - None, # 2377 - None, # 2378 - None, # 2379 - None, # 2380 - None, # 2381 - None, # 2382 - None, # 2383 - None, # 2384 - None, # 2385 - None, # 2386 - None, # 2387 - None, # 2388 - None, # 2389 - None, # 2390 - None, # 2391 - None, # 2392 - None, # 2393 - None, # 2394 - None, # 2395 - None, # 2396 - None, # 2397 - None, # 2398 - None, # 2399 - None, # 2400 - None, # 2401 - None, # 2402 - None, # 2403 - None, # 2404 - None, # 2405 - None, # 2406 - None, # 2407 - None, # 2408 - None, # 2409 - None, # 2410 - None, # 2411 - None, # 2412 - None, # 2413 - None, # 2414 - None, # 2415 - None, # 2416 - None, # 2417 - None, # 2418 - None, # 2419 - None, # 2420 - None, # 2421 - None, # 2422 - None, # 2423 - None, # 2424 - None, # 2425 - None, # 2426 - None, # 2427 - None, # 2428 - None, # 2429 - None, # 2430 - None, # 2431 - None, # 2432 - None, # 2433 - None, # 2434 - None, # 2435 - None, # 2436 - None, # 2437 - None, # 2438 - None, # 2439 - None, # 2440 - None, # 2441 - None, # 2442 - None, # 2443 - None, # 2444 - None, # 2445 - None, # 2446 - None, # 2447 - None, # 2448 - None, # 2449 - None, # 2450 - None, # 2451 - None, # 2452 - None, # 2453 - None, # 2454 - None, # 2455 - None, # 2456 - None, # 2457 - None, # 2458 - None, # 2459 - None, # 2460 - None, # 2461 - None, # 2462 - None, # 2463 - None, # 2464 - None, # 2465 - None, # 2466 - None, # 2467 - None, # 2468 - None, # 2469 - None, # 2470 - None, # 2471 - None, # 2472 - None, # 2473 - None, # 2474 - None, # 2475 - None, # 2476 - None, # 2477 - None, # 2478 - None, # 2479 - None, # 2480 - None, # 2481 - None, # 2482 - None, # 2483 - None, # 2484 - None, # 2485 - None, # 2486 - None, # 2487 - None, # 2488 - None, # 2489 - None, # 2490 - None, # 2491 - None, # 2492 - None, # 2493 - None, # 2494 - None, # 2495 - None, # 2496 - None, # 2497 - None, # 2498 - None, # 2499 - None, # 2500 - None, # 2501 - None, # 2502 - None, # 2503 - None, # 2504 - None, # 2505 - None, # 2506 - None, # 2507 - None, # 2508 - None, # 2509 - None, # 2510 - None, # 2511 - None, # 2512 - None, # 2513 - None, # 2514 - None, # 2515 - None, # 2516 - None, # 2517 - None, # 2518 - None, # 2519 - None, # 2520 - None, # 2521 - None, # 2522 - None, # 2523 - None, # 2524 - None, # 2525 - None, # 2526 - None, # 2527 - None, # 2528 - None, # 2529 - None, # 2530 - None, # 2531 - None, # 2532 - None, # 2533 - None, # 2534 - None, # 2535 - None, # 2536 - None, # 2537 - None, # 2538 - None, # 2539 - None, # 2540 - None, # 2541 - None, # 2542 - None, # 2543 - None, # 2544 - None, # 2545 - None, # 2546 - None, # 2547 - None, # 2548 - None, # 2549 - None, # 2550 - None, # 2551 - None, # 2552 - None, # 2553 - None, # 2554 - None, # 2555 - None, # 2556 - None, # 2557 - None, # 2558 - None, # 2559 - None, # 2560 - None, # 2561 - None, # 2562 - None, # 2563 - None, # 2564 - None, # 2565 - None, # 2566 - None, # 2567 - None, # 2568 - None, # 2569 - None, # 2570 - None, # 2571 - None, # 2572 - None, # 2573 - None, # 2574 - None, # 2575 - None, # 2576 - None, # 2577 - None, # 2578 - None, # 2579 - None, # 2580 - None, # 2581 - None, # 2582 - None, # 2583 - None, # 2584 - None, # 2585 - None, # 2586 - None, # 2587 - None, # 2588 - None, # 2589 - None, # 2590 - None, # 2591 - None, # 2592 - None, # 2593 - None, # 2594 - None, # 2595 - None, # 2596 - None, # 2597 - None, # 2598 - None, # 2599 - None, # 2600 - None, # 2601 - None, # 2602 - None, # 2603 - None, # 2604 - None, # 2605 - None, # 2606 - None, # 2607 - None, # 2608 - None, # 2609 - None, # 2610 - None, # 2611 - None, # 2612 - None, # 2613 - None, # 2614 - None, # 2615 - None, # 2616 - None, # 2617 - None, # 2618 - None, # 2619 - None, # 2620 - None, # 2621 - None, # 2622 - None, # 2623 - None, # 2624 - None, # 2625 - None, # 2626 - None, # 2627 - None, # 2628 - None, # 2629 - None, # 2630 - None, # 2631 - None, # 2632 - None, # 2633 - None, # 2634 - None, # 2635 - None, # 2636 - None, # 2637 - None, # 2638 - None, # 2639 - None, # 2640 - None, # 2641 - None, # 2642 - None, # 2643 - None, # 2644 - None, # 2645 - None, # 2646 - None, # 2647 - None, # 2648 - None, # 2649 - None, # 2650 - None, # 2651 - None, # 2652 - None, # 2653 - None, # 2654 - None, # 2655 - None, # 2656 - None, # 2657 - None, # 2658 - None, # 2659 - None, # 2660 - None, # 2661 - None, # 2662 - None, # 2663 - None, # 2664 - None, # 2665 - None, # 2666 - None, # 2667 - None, # 2668 - None, # 2669 - None, # 2670 - None, # 2671 - None, # 2672 - None, # 2673 - None, # 2674 - None, # 2675 - None, # 2676 - None, # 2677 - None, # 2678 - None, # 2679 - None, # 2680 - None, # 2681 - None, # 2682 - None, # 2683 - None, # 2684 - None, # 2685 - None, # 2686 - None, # 2687 - None, # 2688 - None, # 2689 - None, # 2690 - None, # 2691 - None, # 2692 - None, # 2693 - None, # 2694 - None, # 2695 - None, # 2696 - None, # 2697 - None, # 2698 - None, # 2699 - None, # 2700 - None, # 2701 - None, # 2702 - None, # 2703 - None, # 2704 - None, # 2705 - None, # 2706 - None, # 2707 - None, # 2708 - None, # 2709 - None, # 2710 - None, # 2711 - None, # 2712 - None, # 2713 - None, # 2714 - None, # 2715 - None, # 2716 - None, # 2717 - None, # 2718 - None, # 2719 - None, # 2720 - None, # 2721 - None, # 2722 - None, # 2723 - None, # 2724 - None, # 2725 - None, # 2726 - None, # 2727 - None, # 2728 - None, # 2729 - None, # 2730 - None, # 2731 - None, # 2732 - None, # 2733 - None, # 2734 - None, # 2735 - None, # 2736 - None, # 2737 - None, # 2738 - None, # 2739 - None, # 2740 - None, # 2741 - None, # 2742 - None, # 2743 - None, # 2744 - None, # 2745 - None, # 2746 - None, # 2747 - None, # 2748 - None, # 2749 - None, # 2750 - None, # 2751 - None, # 2752 - None, # 2753 - None, # 2754 - None, # 2755 - None, # 2756 - None, # 2757 - None, # 2758 - None, # 2759 - None, # 2760 - None, # 2761 - None, # 2762 - None, # 2763 - None, # 2764 - None, # 2765 - None, # 2766 - None, # 2767 - None, # 2768 - None, # 2769 - None, # 2770 - None, # 2771 - None, # 2772 - None, # 2773 - None, # 2774 - None, # 2775 - None, # 2776 - None, # 2777 - None, # 2778 - None, # 2779 - None, # 2780 - None, # 2781 - None, # 2782 - None, # 2783 - None, # 2784 - None, # 2785 - None, # 2786 - None, # 2787 - None, # 2788 - None, # 2789 - None, # 2790 - None, # 2791 - None, # 2792 - None, # 2793 - None, # 2794 - None, # 2795 - None, # 2796 - None, # 2797 - None, # 2798 - None, # 2799 - None, # 2800 - None, # 2801 - None, # 2802 - None, # 2803 - None, # 2804 - None, # 2805 - None, # 2806 - None, # 2807 - None, # 2808 - None, # 2809 - None, # 2810 - None, # 2811 - None, # 2812 - None, # 2813 - None, # 2814 - None, # 2815 - None, # 2816 - None, # 2817 - None, # 2818 - None, # 2819 - None, # 2820 - None, # 2821 - None, # 2822 - None, # 2823 - None, # 2824 - None, # 2825 - None, # 2826 - None, # 2827 - None, # 2828 - None, # 2829 - None, # 2830 - None, # 2831 - None, # 2832 - None, # 2833 - None, # 2834 - None, # 2835 - None, # 2836 - None, # 2837 - None, # 2838 - None, # 2839 - None, # 2840 - None, # 2841 - None, # 2842 - None, # 2843 - None, # 2844 - None, # 2845 - None, # 2846 - None, # 2847 - None, # 2848 - None, # 2849 - None, # 2850 - None, # 2851 - None, # 2852 - None, # 2853 - None, # 2854 - None, # 2855 - None, # 2856 - None, # 2857 - None, # 2858 - None, # 2859 - None, # 2860 - None, # 2861 - None, # 2862 - None, # 2863 - None, # 2864 - None, # 2865 - None, # 2866 - None, # 2867 - None, # 2868 - None, # 2869 - None, # 2870 - None, # 2871 - None, # 2872 - None, # 2873 - None, # 2874 - None, # 2875 - None, # 2876 - None, # 2877 - None, # 2878 - None, # 2879 - None, # 2880 - None, # 2881 - None, # 2882 - None, # 2883 - None, # 2884 - None, # 2885 - None, # 2886 - None, # 2887 - None, # 2888 - None, # 2889 - None, # 2890 - None, # 2891 - None, # 2892 - None, # 2893 - None, # 2894 - None, # 2895 - None, # 2896 - None, # 2897 - None, # 2898 - None, # 2899 - None, # 2900 - None, # 2901 - None, # 2902 - None, # 2903 - None, # 2904 - None, # 2905 - None, # 2906 - None, # 2907 - None, # 2908 - None, # 2909 - None, # 2910 - None, # 2911 - None, # 2912 - None, # 2913 - None, # 2914 - None, # 2915 - None, # 2916 - None, # 2917 - None, # 2918 - None, # 2919 - None, # 2920 - None, # 2921 - None, # 2922 - None, # 2923 - None, # 2924 - None, # 2925 - None, # 2926 - None, # 2927 - None, # 2928 - None, # 2929 - None, # 2930 - None, # 2931 - None, # 2932 - None, # 2933 - None, # 2934 - None, # 2935 - None, # 2936 - None, # 2937 - None, # 2938 - None, # 2939 - None, # 2940 - None, # 2941 - None, # 2942 - None, # 2943 - None, # 2944 - None, # 2945 - None, # 2946 - None, # 2947 - None, # 2948 - None, # 2949 - None, # 2950 - None, # 2951 - None, # 2952 - None, # 2953 - None, # 2954 - None, # 2955 - None, # 2956 - None, # 2957 - None, # 2958 - None, # 2959 - None, # 2960 - None, # 2961 - None, # 2962 - None, # 2963 - None, # 2964 - None, # 2965 - None, # 2966 - None, # 2967 - None, # 2968 - None, # 2969 - None, # 2970 - None, # 2971 - None, # 2972 - None, # 2973 - None, # 2974 - None, # 2975 - None, # 2976 - None, # 2977 - None, # 2978 - None, # 2979 - None, # 2980 - None, # 2981 - None, # 2982 - None, # 2983 - None, # 2984 - None, # 2985 - None, # 2986 - None, # 2987 - None, # 2988 - None, # 2989 - None, # 2990 - None, # 2991 - None, # 2992 - None, # 2993 - None, # 2994 - None, # 2995 - None, # 2996 - None, # 2997 - None, # 2998 - None, # 2999 - None, # 3000 - None, # 3001 - None, # 3002 - None, # 3003 - None, # 3004 - None, # 3005 - None, # 3006 - None, # 3007 - None, # 3008 - None, # 3009 - None, # 3010 - None, # 3011 - None, # 3012 - None, # 3013 - None, # 3014 - None, # 3015 - None, # 3016 - None, # 3017 - None, # 3018 - None, # 3019 - None, # 3020 - None, # 3021 - None, # 3022 - None, # 3023 - None, # 3024 - None, # 3025 - None, # 3026 - None, # 3027 - None, # 3028 - None, # 3029 - None, # 3030 - None, # 3031 - None, # 3032 - None, # 3033 - None, # 3034 - None, # 3035 - None, # 3036 - None, # 3037 - None, # 3038 - None, # 3039 - None, # 3040 - None, # 3041 - None, # 3042 - None, # 3043 - None, # 3044 - None, # 3045 - None, # 3046 - None, # 3047 - None, # 3048 - None, # 3049 - None, # 3050 - None, # 3051 - None, # 3052 - None, # 3053 - None, # 3054 - None, # 3055 - None, # 3056 - None, # 3057 - None, # 3058 - None, # 3059 - None, # 3060 - None, # 3061 - None, # 3062 - None, # 3063 - None, # 3064 - None, # 3065 - None, # 3066 - None, # 3067 - None, # 3068 - None, # 3069 - None, # 3070 - None, # 3071 - None, # 3072 - None, # 3073 - None, # 3074 - None, # 3075 - None, # 3076 - None, # 3077 - None, # 3078 - None, # 3079 - None, # 3080 - None, # 3081 - None, # 3082 - None, # 3083 - None, # 3084 - None, # 3085 - None, # 3086 - None, # 3087 - None, # 3088 - None, # 3089 - None, # 3090 - None, # 3091 - None, # 3092 - None, # 3093 - None, # 3094 - None, # 3095 - None, # 3096 - None, # 3097 - None, # 3098 - None, # 3099 - None, # 3100 - None, # 3101 - None, # 3102 - None, # 3103 - None, # 3104 - None, # 3105 - None, # 3106 - None, # 3107 - None, # 3108 - None, # 3109 - None, # 3110 - None, # 3111 - None, # 3112 - None, # 3113 - None, # 3114 - None, # 3115 - None, # 3116 - None, # 3117 - None, # 3118 - None, # 3119 - None, # 3120 - None, # 3121 - None, # 3122 - None, # 3123 - None, # 3124 - None, # 3125 - None, # 3126 - None, # 3127 - None, # 3128 - None, # 3129 - None, # 3130 - None, # 3131 - None, # 3132 - None, # 3133 - None, # 3134 - None, # 3135 - None, # 3136 - None, # 3137 - None, # 3138 - None, # 3139 - None, # 3140 - None, # 3141 - None, # 3142 - None, # 3143 - None, # 3144 - None, # 3145 - None, # 3146 - None, # 3147 - None, # 3148 - None, # 3149 - None, # 3150 - None, # 3151 - None, # 3152 - None, # 3153 - None, # 3154 - None, # 3155 - None, # 3156 - None, # 3157 - None, # 3158 - None, # 3159 - None, # 3160 - None, # 3161 - None, # 3162 - None, # 3163 - None, # 3164 - None, # 3165 - None, # 3166 - None, # 3167 - None, # 3168 - None, # 3169 - None, # 3170 - None, # 3171 - None, # 3172 - None, # 3173 - None, # 3174 - None, # 3175 - None, # 3176 - None, # 3177 - None, # 3178 - None, # 3179 - None, # 3180 - None, # 3181 - None, # 3182 - None, # 3183 - None, # 3184 - None, # 3185 - None, # 3186 - None, # 3187 - None, # 3188 - None, # 3189 - None, # 3190 - None, # 3191 - None, # 3192 - None, # 3193 - None, # 3194 - None, # 3195 - None, # 3196 - None, # 3197 - None, # 3198 - None, # 3199 - None, # 3200 - None, # 3201 - None, # 3202 - None, # 3203 - None, # 3204 - None, # 3205 - None, # 3206 - None, # 3207 - None, # 3208 - None, # 3209 - None, # 3210 - None, # 3211 - None, # 3212 - None, # 3213 - None, # 3214 - None, # 3215 - None, # 3216 - None, # 3217 - None, # 3218 - None, # 3219 - None, # 3220 - None, # 3221 - None, # 3222 - None, # 3223 - None, # 3224 - None, # 3225 - None, # 3226 - None, # 3227 - None, # 3228 - None, # 3229 - None, # 3230 - None, # 3231 - None, # 3232 - None, # 3233 - None, # 3234 - None, # 3235 - None, # 3236 - None, # 3237 - None, # 3238 - None, # 3239 - None, # 3240 - None, # 3241 - None, # 3242 - None, # 3243 - None, # 3244 - None, # 3245 - None, # 3246 - None, # 3247 - None, # 3248 - None, # 3249 - None, # 3250 - None, # 3251 - None, # 3252 - None, # 3253 - None, # 3254 - None, # 3255 - None, # 3256 - None, # 3257 - None, # 3258 - None, # 3259 - None, # 3260 - None, # 3261 - None, # 3262 - None, # 3263 - None, # 3264 - None, # 3265 - None, # 3266 - None, # 3267 - None, # 3268 - None, # 3269 - None, # 3270 - None, # 3271 - None, # 3272 - None, # 3273 - None, # 3274 - None, # 3275 - None, # 3276 - None, # 3277 - None, # 3278 - None, # 3279 - None, # 3280 - None, # 3281 - None, # 3282 - None, # 3283 - None, # 3284 - None, # 3285 - None, # 3286 - None, # 3287 - None, # 3288 - None, # 3289 - None, # 3290 - None, # 3291 - None, # 3292 - None, # 3293 - None, # 3294 - None, # 3295 - None, # 3296 - None, # 3297 - None, # 3298 - None, # 3299 - None, # 3300 - None, # 3301 - None, # 3302 - None, # 3303 - None, # 3304 - None, # 3305 - None, # 3306 - None, # 3307 - None, # 3308 - None, # 3309 - None, # 3310 - None, # 3311 - None, # 3312 - None, # 3313 - None, # 3314 - None, # 3315 - None, # 3316 - None, # 3317 - None, # 3318 - None, # 3319 - None, # 3320 - None, # 3321 - None, # 3322 - None, # 3323 - None, # 3324 - None, # 3325 - None, # 3326 - None, # 3327 - None, # 3328 - (3329, TType.STRING, 'responseValidation', 'BINARY', None, ), # 3329 + None, # 0 + (1, TType.I32, 'statusCode', None, None, ), # 1 + (2, TType.LIST, 'infoMessages', (TType.STRING, 'UTF8', False), None, ), # 2 + (3, TType.STRING, 'sqlState', 'UTF8', None, ), # 3 + (4, TType.I32, 'errorCode', None, None, ), # 4 + (5, TType.STRING, 'errorMessage', 'UTF8', None, ), # 5 + (6, TType.STRING, 'displayMessage', 'UTF8', None, ), # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + (1281, TType.STRING, 'errorDetailsJson', 'UTF8', None, ), # 1281 + None, # 1282 + None, # 1283 + None, # 1284 + None, # 1285 + None, # 1286 + None, # 1287 + None, # 1288 + None, # 1289 + None, # 1290 + None, # 1291 + None, # 1292 + None, # 1293 + None, # 1294 + None, # 1295 + None, # 1296 + None, # 1297 + None, # 1298 + None, # 1299 + None, # 1300 + None, # 1301 + None, # 1302 + None, # 1303 + None, # 1304 + None, # 1305 + None, # 1306 + None, # 1307 + None, # 1308 + None, # 1309 + None, # 1310 + None, # 1311 + None, # 1312 + None, # 1313 + None, # 1314 + None, # 1315 + None, # 1316 + None, # 1317 + None, # 1318 + None, # 1319 + None, # 1320 + None, # 1321 + None, # 1322 + None, # 1323 + None, # 1324 + None, # 1325 + None, # 1326 + None, # 1327 + None, # 1328 + None, # 1329 + None, # 1330 + None, # 1331 + None, # 1332 + None, # 1333 + None, # 1334 + None, # 1335 + None, # 1336 + None, # 1337 + None, # 1338 + None, # 1339 + None, # 1340 + None, # 1341 + None, # 1342 + None, # 1343 + None, # 1344 + None, # 1345 + None, # 1346 + None, # 1347 + None, # 1348 + None, # 1349 + None, # 1350 + None, # 1351 + None, # 1352 + None, # 1353 + None, # 1354 + None, # 1355 + None, # 1356 + None, # 1357 + None, # 1358 + None, # 1359 + None, # 1360 + None, # 1361 + None, # 1362 + None, # 1363 + None, # 1364 + None, # 1365 + None, # 1366 + None, # 1367 + None, # 1368 + None, # 1369 + None, # 1370 + None, # 1371 + None, # 1372 + None, # 1373 + None, # 1374 + None, # 1375 + None, # 1376 + None, # 1377 + None, # 1378 + None, # 1379 + None, # 1380 + None, # 1381 + None, # 1382 + None, # 1383 + None, # 1384 + None, # 1385 + None, # 1386 + None, # 1387 + None, # 1388 + None, # 1389 + None, # 1390 + None, # 1391 + None, # 1392 + None, # 1393 + None, # 1394 + None, # 1395 + None, # 1396 + None, # 1397 + None, # 1398 + None, # 1399 + None, # 1400 + None, # 1401 + None, # 1402 + None, # 1403 + None, # 1404 + None, # 1405 + None, # 1406 + None, # 1407 + None, # 1408 + None, # 1409 + None, # 1410 + None, # 1411 + None, # 1412 + None, # 1413 + None, # 1414 + None, # 1415 + None, # 1416 + None, # 1417 + None, # 1418 + None, # 1419 + None, # 1420 + None, # 1421 + None, # 1422 + None, # 1423 + None, # 1424 + None, # 1425 + None, # 1426 + None, # 1427 + None, # 1428 + None, # 1429 + None, # 1430 + None, # 1431 + None, # 1432 + None, # 1433 + None, # 1434 + None, # 1435 + None, # 1436 + None, # 1437 + None, # 1438 + None, # 1439 + None, # 1440 + None, # 1441 + None, # 1442 + None, # 1443 + None, # 1444 + None, # 1445 + None, # 1446 + None, # 1447 + None, # 1448 + None, # 1449 + None, # 1450 + None, # 1451 + None, # 1452 + None, # 1453 + None, # 1454 + None, # 1455 + None, # 1456 + None, # 1457 + None, # 1458 + None, # 1459 + None, # 1460 + None, # 1461 + None, # 1462 + None, # 1463 + None, # 1464 + None, # 1465 + None, # 1466 + None, # 1467 + None, # 1468 + None, # 1469 + None, # 1470 + None, # 1471 + None, # 1472 + None, # 1473 + None, # 1474 + None, # 1475 + None, # 1476 + None, # 1477 + None, # 1478 + None, # 1479 + None, # 1480 + None, # 1481 + None, # 1482 + None, # 1483 + None, # 1484 + None, # 1485 + None, # 1486 + None, # 1487 + None, # 1488 + None, # 1489 + None, # 1490 + None, # 1491 + None, # 1492 + None, # 1493 + None, # 1494 + None, # 1495 + None, # 1496 + None, # 1497 + None, # 1498 + None, # 1499 + None, # 1500 + None, # 1501 + None, # 1502 + None, # 1503 + None, # 1504 + None, # 1505 + None, # 1506 + None, # 1507 + None, # 1508 + None, # 1509 + None, # 1510 + None, # 1511 + None, # 1512 + None, # 1513 + None, # 1514 + None, # 1515 + None, # 1516 + None, # 1517 + None, # 1518 + None, # 1519 + None, # 1520 + None, # 1521 + None, # 1522 + None, # 1523 + None, # 1524 + None, # 1525 + None, # 1526 + None, # 1527 + None, # 1528 + None, # 1529 + None, # 1530 + None, # 1531 + None, # 1532 + None, # 1533 + None, # 1534 + None, # 1535 + None, # 1536 + None, # 1537 + None, # 1538 + None, # 1539 + None, # 1540 + None, # 1541 + None, # 1542 + None, # 1543 + None, # 1544 + None, # 1545 + None, # 1546 + None, # 1547 + None, # 1548 + None, # 1549 + None, # 1550 + None, # 1551 + None, # 1552 + None, # 1553 + None, # 1554 + None, # 1555 + None, # 1556 + None, # 1557 + None, # 1558 + None, # 1559 + None, # 1560 + None, # 1561 + None, # 1562 + None, # 1563 + None, # 1564 + None, # 1565 + None, # 1566 + None, # 1567 + None, # 1568 + None, # 1569 + None, # 1570 + None, # 1571 + None, # 1572 + None, # 1573 + None, # 1574 + None, # 1575 + None, # 1576 + None, # 1577 + None, # 1578 + None, # 1579 + None, # 1580 + None, # 1581 + None, # 1582 + None, # 1583 + None, # 1584 + None, # 1585 + None, # 1586 + None, # 1587 + None, # 1588 + None, # 1589 + None, # 1590 + None, # 1591 + None, # 1592 + None, # 1593 + None, # 1594 + None, # 1595 + None, # 1596 + None, # 1597 + None, # 1598 + None, # 1599 + None, # 1600 + None, # 1601 + None, # 1602 + None, # 1603 + None, # 1604 + None, # 1605 + None, # 1606 + None, # 1607 + None, # 1608 + None, # 1609 + None, # 1610 + None, # 1611 + None, # 1612 + None, # 1613 + None, # 1614 + None, # 1615 + None, # 1616 + None, # 1617 + None, # 1618 + None, # 1619 + None, # 1620 + None, # 1621 + None, # 1622 + None, # 1623 + None, # 1624 + None, # 1625 + None, # 1626 + None, # 1627 + None, # 1628 + None, # 1629 + None, # 1630 + None, # 1631 + None, # 1632 + None, # 1633 + None, # 1634 + None, # 1635 + None, # 1636 + None, # 1637 + None, # 1638 + None, # 1639 + None, # 1640 + None, # 1641 + None, # 1642 + None, # 1643 + None, # 1644 + None, # 1645 + None, # 1646 + None, # 1647 + None, # 1648 + None, # 1649 + None, # 1650 + None, # 1651 + None, # 1652 + None, # 1653 + None, # 1654 + None, # 1655 + None, # 1656 + None, # 1657 + None, # 1658 + None, # 1659 + None, # 1660 + None, # 1661 + None, # 1662 + None, # 1663 + None, # 1664 + None, # 1665 + None, # 1666 + None, # 1667 + None, # 1668 + None, # 1669 + None, # 1670 + None, # 1671 + None, # 1672 + None, # 1673 + None, # 1674 + None, # 1675 + None, # 1676 + None, # 1677 + None, # 1678 + None, # 1679 + None, # 1680 + None, # 1681 + None, # 1682 + None, # 1683 + None, # 1684 + None, # 1685 + None, # 1686 + None, # 1687 + None, # 1688 + None, # 1689 + None, # 1690 + None, # 1691 + None, # 1692 + None, # 1693 + None, # 1694 + None, # 1695 + None, # 1696 + None, # 1697 + None, # 1698 + None, # 1699 + None, # 1700 + None, # 1701 + None, # 1702 + None, # 1703 + None, # 1704 + None, # 1705 + None, # 1706 + None, # 1707 + None, # 1708 + None, # 1709 + None, # 1710 + None, # 1711 + None, # 1712 + None, # 1713 + None, # 1714 + None, # 1715 + None, # 1716 + None, # 1717 + None, # 1718 + None, # 1719 + None, # 1720 + None, # 1721 + None, # 1722 + None, # 1723 + None, # 1724 + None, # 1725 + None, # 1726 + None, # 1727 + None, # 1728 + None, # 1729 + None, # 1730 + None, # 1731 + None, # 1732 + None, # 1733 + None, # 1734 + None, # 1735 + None, # 1736 + None, # 1737 + None, # 1738 + None, # 1739 + None, # 1740 + None, # 1741 + None, # 1742 + None, # 1743 + None, # 1744 + None, # 1745 + None, # 1746 + None, # 1747 + None, # 1748 + None, # 1749 + None, # 1750 + None, # 1751 + None, # 1752 + None, # 1753 + None, # 1754 + None, # 1755 + None, # 1756 + None, # 1757 + None, # 1758 + None, # 1759 + None, # 1760 + None, # 1761 + None, # 1762 + None, # 1763 + None, # 1764 + None, # 1765 + None, # 1766 + None, # 1767 + None, # 1768 + None, # 1769 + None, # 1770 + None, # 1771 + None, # 1772 + None, # 1773 + None, # 1774 + None, # 1775 + None, # 1776 + None, # 1777 + None, # 1778 + None, # 1779 + None, # 1780 + None, # 1781 + None, # 1782 + None, # 1783 + None, # 1784 + None, # 1785 + None, # 1786 + None, # 1787 + None, # 1788 + None, # 1789 + None, # 1790 + None, # 1791 + None, # 1792 + None, # 1793 + None, # 1794 + None, # 1795 + None, # 1796 + None, # 1797 + None, # 1798 + None, # 1799 + None, # 1800 + None, # 1801 + None, # 1802 + None, # 1803 + None, # 1804 + None, # 1805 + None, # 1806 + None, # 1807 + None, # 1808 + None, # 1809 + None, # 1810 + None, # 1811 + None, # 1812 + None, # 1813 + None, # 1814 + None, # 1815 + None, # 1816 + None, # 1817 + None, # 1818 + None, # 1819 + None, # 1820 + None, # 1821 + None, # 1822 + None, # 1823 + None, # 1824 + None, # 1825 + None, # 1826 + None, # 1827 + None, # 1828 + None, # 1829 + None, # 1830 + None, # 1831 + None, # 1832 + None, # 1833 + None, # 1834 + None, # 1835 + None, # 1836 + None, # 1837 + None, # 1838 + None, # 1839 + None, # 1840 + None, # 1841 + None, # 1842 + None, # 1843 + None, # 1844 + None, # 1845 + None, # 1846 + None, # 1847 + None, # 1848 + None, # 1849 + None, # 1850 + None, # 1851 + None, # 1852 + None, # 1853 + None, # 1854 + None, # 1855 + None, # 1856 + None, # 1857 + None, # 1858 + None, # 1859 + None, # 1860 + None, # 1861 + None, # 1862 + None, # 1863 + None, # 1864 + None, # 1865 + None, # 1866 + None, # 1867 + None, # 1868 + None, # 1869 + None, # 1870 + None, # 1871 + None, # 1872 + None, # 1873 + None, # 1874 + None, # 1875 + None, # 1876 + None, # 1877 + None, # 1878 + None, # 1879 + None, # 1880 + None, # 1881 + None, # 1882 + None, # 1883 + None, # 1884 + None, # 1885 + None, # 1886 + None, # 1887 + None, # 1888 + None, # 1889 + None, # 1890 + None, # 1891 + None, # 1892 + None, # 1893 + None, # 1894 + None, # 1895 + None, # 1896 + None, # 1897 + None, # 1898 + None, # 1899 + None, # 1900 + None, # 1901 + None, # 1902 + None, # 1903 + None, # 1904 + None, # 1905 + None, # 1906 + None, # 1907 + None, # 1908 + None, # 1909 + None, # 1910 + None, # 1911 + None, # 1912 + None, # 1913 + None, # 1914 + None, # 1915 + None, # 1916 + None, # 1917 + None, # 1918 + None, # 1919 + None, # 1920 + None, # 1921 + None, # 1922 + None, # 1923 + None, # 1924 + None, # 1925 + None, # 1926 + None, # 1927 + None, # 1928 + None, # 1929 + None, # 1930 + None, # 1931 + None, # 1932 + None, # 1933 + None, # 1934 + None, # 1935 + None, # 1936 + None, # 1937 + None, # 1938 + None, # 1939 + None, # 1940 + None, # 1941 + None, # 1942 + None, # 1943 + None, # 1944 + None, # 1945 + None, # 1946 + None, # 1947 + None, # 1948 + None, # 1949 + None, # 1950 + None, # 1951 + None, # 1952 + None, # 1953 + None, # 1954 + None, # 1955 + None, # 1956 + None, # 1957 + None, # 1958 + None, # 1959 + None, # 1960 + None, # 1961 + None, # 1962 + None, # 1963 + None, # 1964 + None, # 1965 + None, # 1966 + None, # 1967 + None, # 1968 + None, # 1969 + None, # 1970 + None, # 1971 + None, # 1972 + None, # 1973 + None, # 1974 + None, # 1975 + None, # 1976 + None, # 1977 + None, # 1978 + None, # 1979 + None, # 1980 + None, # 1981 + None, # 1982 + None, # 1983 + None, # 1984 + None, # 1985 + None, # 1986 + None, # 1987 + None, # 1988 + None, # 1989 + None, # 1990 + None, # 1991 + None, # 1992 + None, # 1993 + None, # 1994 + None, # 1995 + None, # 1996 + None, # 1997 + None, # 1998 + None, # 1999 + None, # 2000 + None, # 2001 + None, # 2002 + None, # 2003 + None, # 2004 + None, # 2005 + None, # 2006 + None, # 2007 + None, # 2008 + None, # 2009 + None, # 2010 + None, # 2011 + None, # 2012 + None, # 2013 + None, # 2014 + None, # 2015 + None, # 2016 + None, # 2017 + None, # 2018 + None, # 2019 + None, # 2020 + None, # 2021 + None, # 2022 + None, # 2023 + None, # 2024 + None, # 2025 + None, # 2026 + None, # 2027 + None, # 2028 + None, # 2029 + None, # 2030 + None, # 2031 + None, # 2032 + None, # 2033 + None, # 2034 + None, # 2035 + None, # 2036 + None, # 2037 + None, # 2038 + None, # 2039 + None, # 2040 + None, # 2041 + None, # 2042 + None, # 2043 + None, # 2044 + None, # 2045 + None, # 2046 + None, # 2047 + None, # 2048 + None, # 2049 + None, # 2050 + None, # 2051 + None, # 2052 + None, # 2053 + None, # 2054 + None, # 2055 + None, # 2056 + None, # 2057 + None, # 2058 + None, # 2059 + None, # 2060 + None, # 2061 + None, # 2062 + None, # 2063 + None, # 2064 + None, # 2065 + None, # 2066 + None, # 2067 + None, # 2068 + None, # 2069 + None, # 2070 + None, # 2071 + None, # 2072 + None, # 2073 + None, # 2074 + None, # 2075 + None, # 2076 + None, # 2077 + None, # 2078 + None, # 2079 + None, # 2080 + None, # 2081 + None, # 2082 + None, # 2083 + None, # 2084 + None, # 2085 + None, # 2086 + None, # 2087 + None, # 2088 + None, # 2089 + None, # 2090 + None, # 2091 + None, # 2092 + None, # 2093 + None, # 2094 + None, # 2095 + None, # 2096 + None, # 2097 + None, # 2098 + None, # 2099 + None, # 2100 + None, # 2101 + None, # 2102 + None, # 2103 + None, # 2104 + None, # 2105 + None, # 2106 + None, # 2107 + None, # 2108 + None, # 2109 + None, # 2110 + None, # 2111 + None, # 2112 + None, # 2113 + None, # 2114 + None, # 2115 + None, # 2116 + None, # 2117 + None, # 2118 + None, # 2119 + None, # 2120 + None, # 2121 + None, # 2122 + None, # 2123 + None, # 2124 + None, # 2125 + None, # 2126 + None, # 2127 + None, # 2128 + None, # 2129 + None, # 2130 + None, # 2131 + None, # 2132 + None, # 2133 + None, # 2134 + None, # 2135 + None, # 2136 + None, # 2137 + None, # 2138 + None, # 2139 + None, # 2140 + None, # 2141 + None, # 2142 + None, # 2143 + None, # 2144 + None, # 2145 + None, # 2146 + None, # 2147 + None, # 2148 + None, # 2149 + None, # 2150 + None, # 2151 + None, # 2152 + None, # 2153 + None, # 2154 + None, # 2155 + None, # 2156 + None, # 2157 + None, # 2158 + None, # 2159 + None, # 2160 + None, # 2161 + None, # 2162 + None, # 2163 + None, # 2164 + None, # 2165 + None, # 2166 + None, # 2167 + None, # 2168 + None, # 2169 + None, # 2170 + None, # 2171 + None, # 2172 + None, # 2173 + None, # 2174 + None, # 2175 + None, # 2176 + None, # 2177 + None, # 2178 + None, # 2179 + None, # 2180 + None, # 2181 + None, # 2182 + None, # 2183 + None, # 2184 + None, # 2185 + None, # 2186 + None, # 2187 + None, # 2188 + None, # 2189 + None, # 2190 + None, # 2191 + None, # 2192 + None, # 2193 + None, # 2194 + None, # 2195 + None, # 2196 + None, # 2197 + None, # 2198 + None, # 2199 + None, # 2200 + None, # 2201 + None, # 2202 + None, # 2203 + None, # 2204 + None, # 2205 + None, # 2206 + None, # 2207 + None, # 2208 + None, # 2209 + None, # 2210 + None, # 2211 + None, # 2212 + None, # 2213 + None, # 2214 + None, # 2215 + None, # 2216 + None, # 2217 + None, # 2218 + None, # 2219 + None, # 2220 + None, # 2221 + None, # 2222 + None, # 2223 + None, # 2224 + None, # 2225 + None, # 2226 + None, # 2227 + None, # 2228 + None, # 2229 + None, # 2230 + None, # 2231 + None, # 2232 + None, # 2233 + None, # 2234 + None, # 2235 + None, # 2236 + None, # 2237 + None, # 2238 + None, # 2239 + None, # 2240 + None, # 2241 + None, # 2242 + None, # 2243 + None, # 2244 + None, # 2245 + None, # 2246 + None, # 2247 + None, # 2248 + None, # 2249 + None, # 2250 + None, # 2251 + None, # 2252 + None, # 2253 + None, # 2254 + None, # 2255 + None, # 2256 + None, # 2257 + None, # 2258 + None, # 2259 + None, # 2260 + None, # 2261 + None, # 2262 + None, # 2263 + None, # 2264 + None, # 2265 + None, # 2266 + None, # 2267 + None, # 2268 + None, # 2269 + None, # 2270 + None, # 2271 + None, # 2272 + None, # 2273 + None, # 2274 + None, # 2275 + None, # 2276 + None, # 2277 + None, # 2278 + None, # 2279 + None, # 2280 + None, # 2281 + None, # 2282 + None, # 2283 + None, # 2284 + None, # 2285 + None, # 2286 + None, # 2287 + None, # 2288 + None, # 2289 + None, # 2290 + None, # 2291 + None, # 2292 + None, # 2293 + None, # 2294 + None, # 2295 + None, # 2296 + None, # 2297 + None, # 2298 + None, # 2299 + None, # 2300 + None, # 2301 + None, # 2302 + None, # 2303 + None, # 2304 + None, # 2305 + None, # 2306 + None, # 2307 + None, # 2308 + None, # 2309 + None, # 2310 + None, # 2311 + None, # 2312 + None, # 2313 + None, # 2314 + None, # 2315 + None, # 2316 + None, # 2317 + None, # 2318 + None, # 2319 + None, # 2320 + None, # 2321 + None, # 2322 + None, # 2323 + None, # 2324 + None, # 2325 + None, # 2326 + None, # 2327 + None, # 2328 + None, # 2329 + None, # 2330 + None, # 2331 + None, # 2332 + None, # 2333 + None, # 2334 + None, # 2335 + None, # 2336 + None, # 2337 + None, # 2338 + None, # 2339 + None, # 2340 + None, # 2341 + None, # 2342 + None, # 2343 + None, # 2344 + None, # 2345 + None, # 2346 + None, # 2347 + None, # 2348 + None, # 2349 + None, # 2350 + None, # 2351 + None, # 2352 + None, # 2353 + None, # 2354 + None, # 2355 + None, # 2356 + None, # 2357 + None, # 2358 + None, # 2359 + None, # 2360 + None, # 2361 + None, # 2362 + None, # 2363 + None, # 2364 + None, # 2365 + None, # 2366 + None, # 2367 + None, # 2368 + None, # 2369 + None, # 2370 + None, # 2371 + None, # 2372 + None, # 2373 + None, # 2374 + None, # 2375 + None, # 2376 + None, # 2377 + None, # 2378 + None, # 2379 + None, # 2380 + None, # 2381 + None, # 2382 + None, # 2383 + None, # 2384 + None, # 2385 + None, # 2386 + None, # 2387 + None, # 2388 + None, # 2389 + None, # 2390 + None, # 2391 + None, # 2392 + None, # 2393 + None, # 2394 + None, # 2395 + None, # 2396 + None, # 2397 + None, # 2398 + None, # 2399 + None, # 2400 + None, # 2401 + None, # 2402 + None, # 2403 + None, # 2404 + None, # 2405 + None, # 2406 + None, # 2407 + None, # 2408 + None, # 2409 + None, # 2410 + None, # 2411 + None, # 2412 + None, # 2413 + None, # 2414 + None, # 2415 + None, # 2416 + None, # 2417 + None, # 2418 + None, # 2419 + None, # 2420 + None, # 2421 + None, # 2422 + None, # 2423 + None, # 2424 + None, # 2425 + None, # 2426 + None, # 2427 + None, # 2428 + None, # 2429 + None, # 2430 + None, # 2431 + None, # 2432 + None, # 2433 + None, # 2434 + None, # 2435 + None, # 2436 + None, # 2437 + None, # 2438 + None, # 2439 + None, # 2440 + None, # 2441 + None, # 2442 + None, # 2443 + None, # 2444 + None, # 2445 + None, # 2446 + None, # 2447 + None, # 2448 + None, # 2449 + None, # 2450 + None, # 2451 + None, # 2452 + None, # 2453 + None, # 2454 + None, # 2455 + None, # 2456 + None, # 2457 + None, # 2458 + None, # 2459 + None, # 2460 + None, # 2461 + None, # 2462 + None, # 2463 + None, # 2464 + None, # 2465 + None, # 2466 + None, # 2467 + None, # 2468 + None, # 2469 + None, # 2470 + None, # 2471 + None, # 2472 + None, # 2473 + None, # 2474 + None, # 2475 + None, # 2476 + None, # 2477 + None, # 2478 + None, # 2479 + None, # 2480 + None, # 2481 + None, # 2482 + None, # 2483 + None, # 2484 + None, # 2485 + None, # 2486 + None, # 2487 + None, # 2488 + None, # 2489 + None, # 2490 + None, # 2491 + None, # 2492 + None, # 2493 + None, # 2494 + None, # 2495 + None, # 2496 + None, # 2497 + None, # 2498 + None, # 2499 + None, # 2500 + None, # 2501 + None, # 2502 + None, # 2503 + None, # 2504 + None, # 2505 + None, # 2506 + None, # 2507 + None, # 2508 + None, # 2509 + None, # 2510 + None, # 2511 + None, # 2512 + None, # 2513 + None, # 2514 + None, # 2515 + None, # 2516 + None, # 2517 + None, # 2518 + None, # 2519 + None, # 2520 + None, # 2521 + None, # 2522 + None, # 2523 + None, # 2524 + None, # 2525 + None, # 2526 + None, # 2527 + None, # 2528 + None, # 2529 + None, # 2530 + None, # 2531 + None, # 2532 + None, # 2533 + None, # 2534 + None, # 2535 + None, # 2536 + None, # 2537 + None, # 2538 + None, # 2539 + None, # 2540 + None, # 2541 + None, # 2542 + None, # 2543 + None, # 2544 + None, # 2545 + None, # 2546 + None, # 2547 + None, # 2548 + None, # 2549 + None, # 2550 + None, # 2551 + None, # 2552 + None, # 2553 + None, # 2554 + None, # 2555 + None, # 2556 + None, # 2557 + None, # 2558 + None, # 2559 + None, # 2560 + None, # 2561 + None, # 2562 + None, # 2563 + None, # 2564 + None, # 2565 + None, # 2566 + None, # 2567 + None, # 2568 + None, # 2569 + None, # 2570 + None, # 2571 + None, # 2572 + None, # 2573 + None, # 2574 + None, # 2575 + None, # 2576 + None, # 2577 + None, # 2578 + None, # 2579 + None, # 2580 + None, # 2581 + None, # 2582 + None, # 2583 + None, # 2584 + None, # 2585 + None, # 2586 + None, # 2587 + None, # 2588 + None, # 2589 + None, # 2590 + None, # 2591 + None, # 2592 + None, # 2593 + None, # 2594 + None, # 2595 + None, # 2596 + None, # 2597 + None, # 2598 + None, # 2599 + None, # 2600 + None, # 2601 + None, # 2602 + None, # 2603 + None, # 2604 + None, # 2605 + None, # 2606 + None, # 2607 + None, # 2608 + None, # 2609 + None, # 2610 + None, # 2611 + None, # 2612 + None, # 2613 + None, # 2614 + None, # 2615 + None, # 2616 + None, # 2617 + None, # 2618 + None, # 2619 + None, # 2620 + None, # 2621 + None, # 2622 + None, # 2623 + None, # 2624 + None, # 2625 + None, # 2626 + None, # 2627 + None, # 2628 + None, # 2629 + None, # 2630 + None, # 2631 + None, # 2632 + None, # 2633 + None, # 2634 + None, # 2635 + None, # 2636 + None, # 2637 + None, # 2638 + None, # 2639 + None, # 2640 + None, # 2641 + None, # 2642 + None, # 2643 + None, # 2644 + None, # 2645 + None, # 2646 + None, # 2647 + None, # 2648 + None, # 2649 + None, # 2650 + None, # 2651 + None, # 2652 + None, # 2653 + None, # 2654 + None, # 2655 + None, # 2656 + None, # 2657 + None, # 2658 + None, # 2659 + None, # 2660 + None, # 2661 + None, # 2662 + None, # 2663 + None, # 2664 + None, # 2665 + None, # 2666 + None, # 2667 + None, # 2668 + None, # 2669 + None, # 2670 + None, # 2671 + None, # 2672 + None, # 2673 + None, # 2674 + None, # 2675 + None, # 2676 + None, # 2677 + None, # 2678 + None, # 2679 + None, # 2680 + None, # 2681 + None, # 2682 + None, # 2683 + None, # 2684 + None, # 2685 + None, # 2686 + None, # 2687 + None, # 2688 + None, # 2689 + None, # 2690 + None, # 2691 + None, # 2692 + None, # 2693 + None, # 2694 + None, # 2695 + None, # 2696 + None, # 2697 + None, # 2698 + None, # 2699 + None, # 2700 + None, # 2701 + None, # 2702 + None, # 2703 + None, # 2704 + None, # 2705 + None, # 2706 + None, # 2707 + None, # 2708 + None, # 2709 + None, # 2710 + None, # 2711 + None, # 2712 + None, # 2713 + None, # 2714 + None, # 2715 + None, # 2716 + None, # 2717 + None, # 2718 + None, # 2719 + None, # 2720 + None, # 2721 + None, # 2722 + None, # 2723 + None, # 2724 + None, # 2725 + None, # 2726 + None, # 2727 + None, # 2728 + None, # 2729 + None, # 2730 + None, # 2731 + None, # 2732 + None, # 2733 + None, # 2734 + None, # 2735 + None, # 2736 + None, # 2737 + None, # 2738 + None, # 2739 + None, # 2740 + None, # 2741 + None, # 2742 + None, # 2743 + None, # 2744 + None, # 2745 + None, # 2746 + None, # 2747 + None, # 2748 + None, # 2749 + None, # 2750 + None, # 2751 + None, # 2752 + None, # 2753 + None, # 2754 + None, # 2755 + None, # 2756 + None, # 2757 + None, # 2758 + None, # 2759 + None, # 2760 + None, # 2761 + None, # 2762 + None, # 2763 + None, # 2764 + None, # 2765 + None, # 2766 + None, # 2767 + None, # 2768 + None, # 2769 + None, # 2770 + None, # 2771 + None, # 2772 + None, # 2773 + None, # 2774 + None, # 2775 + None, # 2776 + None, # 2777 + None, # 2778 + None, # 2779 + None, # 2780 + None, # 2781 + None, # 2782 + None, # 2783 + None, # 2784 + None, # 2785 + None, # 2786 + None, # 2787 + None, # 2788 + None, # 2789 + None, # 2790 + None, # 2791 + None, # 2792 + None, # 2793 + None, # 2794 + None, # 2795 + None, # 2796 + None, # 2797 + None, # 2798 + None, # 2799 + None, # 2800 + None, # 2801 + None, # 2802 + None, # 2803 + None, # 2804 + None, # 2805 + None, # 2806 + None, # 2807 + None, # 2808 + None, # 2809 + None, # 2810 + None, # 2811 + None, # 2812 + None, # 2813 + None, # 2814 + None, # 2815 + None, # 2816 + None, # 2817 + None, # 2818 + None, # 2819 + None, # 2820 + None, # 2821 + None, # 2822 + None, # 2823 + None, # 2824 + None, # 2825 + None, # 2826 + None, # 2827 + None, # 2828 + None, # 2829 + None, # 2830 + None, # 2831 + None, # 2832 + None, # 2833 + None, # 2834 + None, # 2835 + None, # 2836 + None, # 2837 + None, # 2838 + None, # 2839 + None, # 2840 + None, # 2841 + None, # 2842 + None, # 2843 + None, # 2844 + None, # 2845 + None, # 2846 + None, # 2847 + None, # 2848 + None, # 2849 + None, # 2850 + None, # 2851 + None, # 2852 + None, # 2853 + None, # 2854 + None, # 2855 + None, # 2856 + None, # 2857 + None, # 2858 + None, # 2859 + None, # 2860 + None, # 2861 + None, # 2862 + None, # 2863 + None, # 2864 + None, # 2865 + None, # 2866 + None, # 2867 + None, # 2868 + None, # 2869 + None, # 2870 + None, # 2871 + None, # 2872 + None, # 2873 + None, # 2874 + None, # 2875 + None, # 2876 + None, # 2877 + None, # 2878 + None, # 2879 + None, # 2880 + None, # 2881 + None, # 2882 + None, # 2883 + None, # 2884 + None, # 2885 + None, # 2886 + None, # 2887 + None, # 2888 + None, # 2889 + None, # 2890 + None, # 2891 + None, # 2892 + None, # 2893 + None, # 2894 + None, # 2895 + None, # 2896 + None, # 2897 + None, # 2898 + None, # 2899 + None, # 2900 + None, # 2901 + None, # 2902 + None, # 2903 + None, # 2904 + None, # 2905 + None, # 2906 + None, # 2907 + None, # 2908 + None, # 2909 + None, # 2910 + None, # 2911 + None, # 2912 + None, # 2913 + None, # 2914 + None, # 2915 + None, # 2916 + None, # 2917 + None, # 2918 + None, # 2919 + None, # 2920 + None, # 2921 + None, # 2922 + None, # 2923 + None, # 2924 + None, # 2925 + None, # 2926 + None, # 2927 + None, # 2928 + None, # 2929 + None, # 2930 + None, # 2931 + None, # 2932 + None, # 2933 + None, # 2934 + None, # 2935 + None, # 2936 + None, # 2937 + None, # 2938 + None, # 2939 + None, # 2940 + None, # 2941 + None, # 2942 + None, # 2943 + None, # 2944 + None, # 2945 + None, # 2946 + None, # 2947 + None, # 2948 + None, # 2949 + None, # 2950 + None, # 2951 + None, # 2952 + None, # 2953 + None, # 2954 + None, # 2955 + None, # 2956 + None, # 2957 + None, # 2958 + None, # 2959 + None, # 2960 + None, # 2961 + None, # 2962 + None, # 2963 + None, # 2964 + None, # 2965 + None, # 2966 + None, # 2967 + None, # 2968 + None, # 2969 + None, # 2970 + None, # 2971 + None, # 2972 + None, # 2973 + None, # 2974 + None, # 2975 + None, # 2976 + None, # 2977 + None, # 2978 + None, # 2979 + None, # 2980 + None, # 2981 + None, # 2982 + None, # 2983 + None, # 2984 + None, # 2985 + None, # 2986 + None, # 2987 + None, # 2988 + None, # 2989 + None, # 2990 + None, # 2991 + None, # 2992 + None, # 2993 + None, # 2994 + None, # 2995 + None, # 2996 + None, # 2997 + None, # 2998 + None, # 2999 + None, # 3000 + None, # 3001 + None, # 3002 + None, # 3003 + None, # 3004 + None, # 3005 + None, # 3006 + None, # 3007 + None, # 3008 + None, # 3009 + None, # 3010 + None, # 3011 + None, # 3012 + None, # 3013 + None, # 3014 + None, # 3015 + None, # 3016 + None, # 3017 + None, # 3018 + None, # 3019 + None, # 3020 + None, # 3021 + None, # 3022 + None, # 3023 + None, # 3024 + None, # 3025 + None, # 3026 + None, # 3027 + None, # 3028 + None, # 3029 + None, # 3030 + None, # 3031 + None, # 3032 + None, # 3033 + None, # 3034 + None, # 3035 + None, # 3036 + None, # 3037 + None, # 3038 + None, # 3039 + None, # 3040 + None, # 3041 + None, # 3042 + None, # 3043 + None, # 3044 + None, # 3045 + None, # 3046 + None, # 3047 + None, # 3048 + None, # 3049 + None, # 3050 + None, # 3051 + None, # 3052 + None, # 3053 + None, # 3054 + None, # 3055 + None, # 3056 + None, # 3057 + None, # 3058 + None, # 3059 + None, # 3060 + None, # 3061 + None, # 3062 + None, # 3063 + None, # 3064 + None, # 3065 + None, # 3066 + None, # 3067 + None, # 3068 + None, # 3069 + None, # 3070 + None, # 3071 + None, # 3072 + None, # 3073 + None, # 3074 + None, # 3075 + None, # 3076 + None, # 3077 + None, # 3078 + None, # 3079 + None, # 3080 + None, # 3081 + None, # 3082 + None, # 3083 + None, # 3084 + None, # 3085 + None, # 3086 + None, # 3087 + None, # 3088 + None, # 3089 + None, # 3090 + None, # 3091 + None, # 3092 + None, # 3093 + None, # 3094 + None, # 3095 + None, # 3096 + None, # 3097 + None, # 3098 + None, # 3099 + None, # 3100 + None, # 3101 + None, # 3102 + None, # 3103 + None, # 3104 + None, # 3105 + None, # 3106 + None, # 3107 + None, # 3108 + None, # 3109 + None, # 3110 + None, # 3111 + None, # 3112 + None, # 3113 + None, # 3114 + None, # 3115 + None, # 3116 + None, # 3117 + None, # 3118 + None, # 3119 + None, # 3120 + None, # 3121 + None, # 3122 + None, # 3123 + None, # 3124 + None, # 3125 + None, # 3126 + None, # 3127 + None, # 3128 + None, # 3129 + None, # 3130 + None, # 3131 + None, # 3132 + None, # 3133 + None, # 3134 + None, # 3135 + None, # 3136 + None, # 3137 + None, # 3138 + None, # 3139 + None, # 3140 + None, # 3141 + None, # 3142 + None, # 3143 + None, # 3144 + None, # 3145 + None, # 3146 + None, # 3147 + None, # 3148 + None, # 3149 + None, # 3150 + None, # 3151 + None, # 3152 + None, # 3153 + None, # 3154 + None, # 3155 + None, # 3156 + None, # 3157 + None, # 3158 + None, # 3159 + None, # 3160 + None, # 3161 + None, # 3162 + None, # 3163 + None, # 3164 + None, # 3165 + None, # 3166 + None, # 3167 + None, # 3168 + None, # 3169 + None, # 3170 + None, # 3171 + None, # 3172 + None, # 3173 + None, # 3174 + None, # 3175 + None, # 3176 + None, # 3177 + None, # 3178 + None, # 3179 + None, # 3180 + None, # 3181 + None, # 3182 + None, # 3183 + None, # 3184 + None, # 3185 + None, # 3186 + None, # 3187 + None, # 3188 + None, # 3189 + None, # 3190 + None, # 3191 + None, # 3192 + None, # 3193 + None, # 3194 + None, # 3195 + None, # 3196 + None, # 3197 + None, # 3198 + None, # 3199 + None, # 3200 + None, # 3201 + None, # 3202 + None, # 3203 + None, # 3204 + None, # 3205 + None, # 3206 + None, # 3207 + None, # 3208 + None, # 3209 + None, # 3210 + None, # 3211 + None, # 3212 + None, # 3213 + None, # 3214 + None, # 3215 + None, # 3216 + None, # 3217 + None, # 3218 + None, # 3219 + None, # 3220 + None, # 3221 + None, # 3222 + None, # 3223 + None, # 3224 + None, # 3225 + None, # 3226 + None, # 3227 + None, # 3228 + None, # 3229 + None, # 3230 + None, # 3231 + None, # 3232 + None, # 3233 + None, # 3234 + None, # 3235 + None, # 3236 + None, # 3237 + None, # 3238 + None, # 3239 + None, # 3240 + None, # 3241 + None, # 3242 + None, # 3243 + None, # 3244 + None, # 3245 + None, # 3246 + None, # 3247 + None, # 3248 + None, # 3249 + None, # 3250 + None, # 3251 + None, # 3252 + None, # 3253 + None, # 3254 + None, # 3255 + None, # 3256 + None, # 3257 + None, # 3258 + None, # 3259 + None, # 3260 + None, # 3261 + None, # 3262 + None, # 3263 + None, # 3264 + None, # 3265 + None, # 3266 + None, # 3267 + None, # 3268 + None, # 3269 + None, # 3270 + None, # 3271 + None, # 3272 + None, # 3273 + None, # 3274 + None, # 3275 + None, # 3276 + None, # 3277 + None, # 3278 + None, # 3279 + None, # 3280 + None, # 3281 + None, # 3282 + None, # 3283 + None, # 3284 + None, # 3285 + None, # 3286 + None, # 3287 + None, # 3288 + None, # 3289 + None, # 3290 + None, # 3291 + None, # 3292 + None, # 3293 + None, # 3294 + None, # 3295 + None, # 3296 + None, # 3297 + None, # 3298 + None, # 3299 + None, # 3300 + None, # 3301 + None, # 3302 + None, # 3303 + None, # 3304 + None, # 3305 + None, # 3306 + None, # 3307 + None, # 3308 + None, # 3309 + None, # 3310 + None, # 3311 + None, # 3312 + None, # 3313 + None, # 3314 + None, # 3315 + None, # 3316 + None, # 3317 + None, # 3318 + None, # 3319 + None, # 3320 + None, # 3321 + None, # 3322 + None, # 3323 + None, # 3324 + None, # 3325 + None, # 3326 + None, # 3327 + None, # 3328 + (3329, TType.STRING, 'responseValidation', 'BINARY', None, ), # 3329 ) all_structs.append(TNamespace) TNamespace.thrift_spec = ( - None, # 0 - (1, TType.STRING, 'catalogName', 'UTF8', None, ), # 1 - (2, TType.STRING, 'schemaName', 'UTF8', None, ), # 2 + None, # 0 + (1, TType.STRING, 'catalogName', 'UTF8', None, ), # 1 + (2, TType.STRING, 'schemaName', 'UTF8', None, ), # 2 ) all_structs.append(THandleIdentifier) THandleIdentifier.thrift_spec = ( - None, # 0 - (1, TType.STRING, 'guid', 'BINARY', None, ), # 1 - (2, TType.STRING, 'secret', 'BINARY', None, ), # 2 - None, # 3 - None, # 4 - None, # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - None, # 1281 - None, # 1282 - None, # 1283 - None, # 1284 - None, # 1285 - None, # 1286 - None, # 1287 - None, # 1288 - None, # 1289 - None, # 1290 - None, # 1291 - None, # 1292 - None, # 1293 - None, # 1294 - None, # 1295 - None, # 1296 - None, # 1297 - None, # 1298 - None, # 1299 - None, # 1300 - None, # 1301 - None, # 1302 - None, # 1303 - None, # 1304 - None, # 1305 - None, # 1306 - None, # 1307 - None, # 1308 - None, # 1309 - None, # 1310 - None, # 1311 - None, # 1312 - None, # 1313 - None, # 1314 - None, # 1315 - None, # 1316 - None, # 1317 - None, # 1318 - None, # 1319 - None, # 1320 - None, # 1321 - None, # 1322 - None, # 1323 - None, # 1324 - None, # 1325 - None, # 1326 - None, # 1327 - None, # 1328 - None, # 1329 - None, # 1330 - None, # 1331 - None, # 1332 - None, # 1333 - None, # 1334 - None, # 1335 - None, # 1336 - None, # 1337 - None, # 1338 - None, # 1339 - None, # 1340 - None, # 1341 - None, # 1342 - None, # 1343 - None, # 1344 - None, # 1345 - None, # 1346 - None, # 1347 - None, # 1348 - None, # 1349 - None, # 1350 - None, # 1351 - None, # 1352 - None, # 1353 - None, # 1354 - None, # 1355 - None, # 1356 - None, # 1357 - None, # 1358 - None, # 1359 - None, # 1360 - None, # 1361 - None, # 1362 - None, # 1363 - None, # 1364 - None, # 1365 - None, # 1366 - None, # 1367 - None, # 1368 - None, # 1369 - None, # 1370 - None, # 1371 - None, # 1372 - None, # 1373 - None, # 1374 - None, # 1375 - None, # 1376 - None, # 1377 - None, # 1378 - None, # 1379 - None, # 1380 - None, # 1381 - None, # 1382 - None, # 1383 - None, # 1384 - None, # 1385 - None, # 1386 - None, # 1387 - None, # 1388 - None, # 1389 - None, # 1390 - None, # 1391 - None, # 1392 - None, # 1393 - None, # 1394 - None, # 1395 - None, # 1396 - None, # 1397 - None, # 1398 - None, # 1399 - None, # 1400 - None, # 1401 - None, # 1402 - None, # 1403 - None, # 1404 - None, # 1405 - None, # 1406 - None, # 1407 - None, # 1408 - None, # 1409 - None, # 1410 - None, # 1411 - None, # 1412 - None, # 1413 - None, # 1414 - None, # 1415 - None, # 1416 - None, # 1417 - None, # 1418 - None, # 1419 - None, # 1420 - None, # 1421 - None, # 1422 - None, # 1423 - None, # 1424 - None, # 1425 - None, # 1426 - None, # 1427 - None, # 1428 - None, # 1429 - None, # 1430 - None, # 1431 - None, # 1432 - None, # 1433 - None, # 1434 - None, # 1435 - None, # 1436 - None, # 1437 - None, # 1438 - None, # 1439 - None, # 1440 - None, # 1441 - None, # 1442 - None, # 1443 - None, # 1444 - None, # 1445 - None, # 1446 - None, # 1447 - None, # 1448 - None, # 1449 - None, # 1450 - None, # 1451 - None, # 1452 - None, # 1453 - None, # 1454 - None, # 1455 - None, # 1456 - None, # 1457 - None, # 1458 - None, # 1459 - None, # 1460 - None, # 1461 - None, # 1462 - None, # 1463 - None, # 1464 - None, # 1465 - None, # 1466 - None, # 1467 - None, # 1468 - None, # 1469 - None, # 1470 - None, # 1471 - None, # 1472 - None, # 1473 - None, # 1474 - None, # 1475 - None, # 1476 - None, # 1477 - None, # 1478 - None, # 1479 - None, # 1480 - None, # 1481 - None, # 1482 - None, # 1483 - None, # 1484 - None, # 1485 - None, # 1486 - None, # 1487 - None, # 1488 - None, # 1489 - None, # 1490 - None, # 1491 - None, # 1492 - None, # 1493 - None, # 1494 - None, # 1495 - None, # 1496 - None, # 1497 - None, # 1498 - None, # 1499 - None, # 1500 - None, # 1501 - None, # 1502 - None, # 1503 - None, # 1504 - None, # 1505 - None, # 1506 - None, # 1507 - None, # 1508 - None, # 1509 - None, # 1510 - None, # 1511 - None, # 1512 - None, # 1513 - None, # 1514 - None, # 1515 - None, # 1516 - None, # 1517 - None, # 1518 - None, # 1519 - None, # 1520 - None, # 1521 - None, # 1522 - None, # 1523 - None, # 1524 - None, # 1525 - None, # 1526 - None, # 1527 - None, # 1528 - None, # 1529 - None, # 1530 - None, # 1531 - None, # 1532 - None, # 1533 - None, # 1534 - None, # 1535 - None, # 1536 - None, # 1537 - None, # 1538 - None, # 1539 - None, # 1540 - None, # 1541 - None, # 1542 - None, # 1543 - None, # 1544 - None, # 1545 - None, # 1546 - None, # 1547 - None, # 1548 - None, # 1549 - None, # 1550 - None, # 1551 - None, # 1552 - None, # 1553 - None, # 1554 - None, # 1555 - None, # 1556 - None, # 1557 - None, # 1558 - None, # 1559 - None, # 1560 - None, # 1561 - None, # 1562 - None, # 1563 - None, # 1564 - None, # 1565 - None, # 1566 - None, # 1567 - None, # 1568 - None, # 1569 - None, # 1570 - None, # 1571 - None, # 1572 - None, # 1573 - None, # 1574 - None, # 1575 - None, # 1576 - None, # 1577 - None, # 1578 - None, # 1579 - None, # 1580 - None, # 1581 - None, # 1582 - None, # 1583 - None, # 1584 - None, # 1585 - None, # 1586 - None, # 1587 - None, # 1588 - None, # 1589 - None, # 1590 - None, # 1591 - None, # 1592 - None, # 1593 - None, # 1594 - None, # 1595 - None, # 1596 - None, # 1597 - None, # 1598 - None, # 1599 - None, # 1600 - None, # 1601 - None, # 1602 - None, # 1603 - None, # 1604 - None, # 1605 - None, # 1606 - None, # 1607 - None, # 1608 - None, # 1609 - None, # 1610 - None, # 1611 - None, # 1612 - None, # 1613 - None, # 1614 - None, # 1615 - None, # 1616 - None, # 1617 - None, # 1618 - None, # 1619 - None, # 1620 - None, # 1621 - None, # 1622 - None, # 1623 - None, # 1624 - None, # 1625 - None, # 1626 - None, # 1627 - None, # 1628 - None, # 1629 - None, # 1630 - None, # 1631 - None, # 1632 - None, # 1633 - None, # 1634 - None, # 1635 - None, # 1636 - None, # 1637 - None, # 1638 - None, # 1639 - None, # 1640 - None, # 1641 - None, # 1642 - None, # 1643 - None, # 1644 - None, # 1645 - None, # 1646 - None, # 1647 - None, # 1648 - None, # 1649 - None, # 1650 - None, # 1651 - None, # 1652 - None, # 1653 - None, # 1654 - None, # 1655 - None, # 1656 - None, # 1657 - None, # 1658 - None, # 1659 - None, # 1660 - None, # 1661 - None, # 1662 - None, # 1663 - None, # 1664 - None, # 1665 - None, # 1666 - None, # 1667 - None, # 1668 - None, # 1669 - None, # 1670 - None, # 1671 - None, # 1672 - None, # 1673 - None, # 1674 - None, # 1675 - None, # 1676 - None, # 1677 - None, # 1678 - None, # 1679 - None, # 1680 - None, # 1681 - None, # 1682 - None, # 1683 - None, # 1684 - None, # 1685 - None, # 1686 - None, # 1687 - None, # 1688 - None, # 1689 - None, # 1690 - None, # 1691 - None, # 1692 - None, # 1693 - None, # 1694 - None, # 1695 - None, # 1696 - None, # 1697 - None, # 1698 - None, # 1699 - None, # 1700 - None, # 1701 - None, # 1702 - None, # 1703 - None, # 1704 - None, # 1705 - None, # 1706 - None, # 1707 - None, # 1708 - None, # 1709 - None, # 1710 - None, # 1711 - None, # 1712 - None, # 1713 - None, # 1714 - None, # 1715 - None, # 1716 - None, # 1717 - None, # 1718 - None, # 1719 - None, # 1720 - None, # 1721 - None, # 1722 - None, # 1723 - None, # 1724 - None, # 1725 - None, # 1726 - None, # 1727 - None, # 1728 - None, # 1729 - None, # 1730 - None, # 1731 - None, # 1732 - None, # 1733 - None, # 1734 - None, # 1735 - None, # 1736 - None, # 1737 - None, # 1738 - None, # 1739 - None, # 1740 - None, # 1741 - None, # 1742 - None, # 1743 - None, # 1744 - None, # 1745 - None, # 1746 - None, # 1747 - None, # 1748 - None, # 1749 - None, # 1750 - None, # 1751 - None, # 1752 - None, # 1753 - None, # 1754 - None, # 1755 - None, # 1756 - None, # 1757 - None, # 1758 - None, # 1759 - None, # 1760 - None, # 1761 - None, # 1762 - None, # 1763 - None, # 1764 - None, # 1765 - None, # 1766 - None, # 1767 - None, # 1768 - None, # 1769 - None, # 1770 - None, # 1771 - None, # 1772 - None, # 1773 - None, # 1774 - None, # 1775 - None, # 1776 - None, # 1777 - None, # 1778 - None, # 1779 - None, # 1780 - None, # 1781 - None, # 1782 - None, # 1783 - None, # 1784 - None, # 1785 - None, # 1786 - None, # 1787 - None, # 1788 - None, # 1789 - None, # 1790 - None, # 1791 - None, # 1792 - None, # 1793 - None, # 1794 - None, # 1795 - None, # 1796 - None, # 1797 - None, # 1798 - None, # 1799 - None, # 1800 - None, # 1801 - None, # 1802 - None, # 1803 - None, # 1804 - None, # 1805 - None, # 1806 - None, # 1807 - None, # 1808 - None, # 1809 - None, # 1810 - None, # 1811 - None, # 1812 - None, # 1813 - None, # 1814 - None, # 1815 - None, # 1816 - None, # 1817 - None, # 1818 - None, # 1819 - None, # 1820 - None, # 1821 - None, # 1822 - None, # 1823 - None, # 1824 - None, # 1825 - None, # 1826 - None, # 1827 - None, # 1828 - None, # 1829 - None, # 1830 - None, # 1831 - None, # 1832 - None, # 1833 - None, # 1834 - None, # 1835 - None, # 1836 - None, # 1837 - None, # 1838 - None, # 1839 - None, # 1840 - None, # 1841 - None, # 1842 - None, # 1843 - None, # 1844 - None, # 1845 - None, # 1846 - None, # 1847 - None, # 1848 - None, # 1849 - None, # 1850 - None, # 1851 - None, # 1852 - None, # 1853 - None, # 1854 - None, # 1855 - None, # 1856 - None, # 1857 - None, # 1858 - None, # 1859 - None, # 1860 - None, # 1861 - None, # 1862 - None, # 1863 - None, # 1864 - None, # 1865 - None, # 1866 - None, # 1867 - None, # 1868 - None, # 1869 - None, # 1870 - None, # 1871 - None, # 1872 - None, # 1873 - None, # 1874 - None, # 1875 - None, # 1876 - None, # 1877 - None, # 1878 - None, # 1879 - None, # 1880 - None, # 1881 - None, # 1882 - None, # 1883 - None, # 1884 - None, # 1885 - None, # 1886 - None, # 1887 - None, # 1888 - None, # 1889 - None, # 1890 - None, # 1891 - None, # 1892 - None, # 1893 - None, # 1894 - None, # 1895 - None, # 1896 - None, # 1897 - None, # 1898 - None, # 1899 - None, # 1900 - None, # 1901 - None, # 1902 - None, # 1903 - None, # 1904 - None, # 1905 - None, # 1906 - None, # 1907 - None, # 1908 - None, # 1909 - None, # 1910 - None, # 1911 - None, # 1912 - None, # 1913 - None, # 1914 - None, # 1915 - None, # 1916 - None, # 1917 - None, # 1918 - None, # 1919 - None, # 1920 - None, # 1921 - None, # 1922 - None, # 1923 - None, # 1924 - None, # 1925 - None, # 1926 - None, # 1927 - None, # 1928 - None, # 1929 - None, # 1930 - None, # 1931 - None, # 1932 - None, # 1933 - None, # 1934 - None, # 1935 - None, # 1936 - None, # 1937 - None, # 1938 - None, # 1939 - None, # 1940 - None, # 1941 - None, # 1942 - None, # 1943 - None, # 1944 - None, # 1945 - None, # 1946 - None, # 1947 - None, # 1948 - None, # 1949 - None, # 1950 - None, # 1951 - None, # 1952 - None, # 1953 - None, # 1954 - None, # 1955 - None, # 1956 - None, # 1957 - None, # 1958 - None, # 1959 - None, # 1960 - None, # 1961 - None, # 1962 - None, # 1963 - None, # 1964 - None, # 1965 - None, # 1966 - None, # 1967 - None, # 1968 - None, # 1969 - None, # 1970 - None, # 1971 - None, # 1972 - None, # 1973 - None, # 1974 - None, # 1975 - None, # 1976 - None, # 1977 - None, # 1978 - None, # 1979 - None, # 1980 - None, # 1981 - None, # 1982 - None, # 1983 - None, # 1984 - None, # 1985 - None, # 1986 - None, # 1987 - None, # 1988 - None, # 1989 - None, # 1990 - None, # 1991 - None, # 1992 - None, # 1993 - None, # 1994 - None, # 1995 - None, # 1996 - None, # 1997 - None, # 1998 - None, # 1999 - None, # 2000 - None, # 2001 - None, # 2002 - None, # 2003 - None, # 2004 - None, # 2005 - None, # 2006 - None, # 2007 - None, # 2008 - None, # 2009 - None, # 2010 - None, # 2011 - None, # 2012 - None, # 2013 - None, # 2014 - None, # 2015 - None, # 2016 - None, # 2017 - None, # 2018 - None, # 2019 - None, # 2020 - None, # 2021 - None, # 2022 - None, # 2023 - None, # 2024 - None, # 2025 - None, # 2026 - None, # 2027 - None, # 2028 - None, # 2029 - None, # 2030 - None, # 2031 - None, # 2032 - None, # 2033 - None, # 2034 - None, # 2035 - None, # 2036 - None, # 2037 - None, # 2038 - None, # 2039 - None, # 2040 - None, # 2041 - None, # 2042 - None, # 2043 - None, # 2044 - None, # 2045 - None, # 2046 - None, # 2047 - None, # 2048 - None, # 2049 - None, # 2050 - None, # 2051 - None, # 2052 - None, # 2053 - None, # 2054 - None, # 2055 - None, # 2056 - None, # 2057 - None, # 2058 - None, # 2059 - None, # 2060 - None, # 2061 - None, # 2062 - None, # 2063 - None, # 2064 - None, # 2065 - None, # 2066 - None, # 2067 - None, # 2068 - None, # 2069 - None, # 2070 - None, # 2071 - None, # 2072 - None, # 2073 - None, # 2074 - None, # 2075 - None, # 2076 - None, # 2077 - None, # 2078 - None, # 2079 - None, # 2080 - None, # 2081 - None, # 2082 - None, # 2083 - None, # 2084 - None, # 2085 - None, # 2086 - None, # 2087 - None, # 2088 - None, # 2089 - None, # 2090 - None, # 2091 - None, # 2092 - None, # 2093 - None, # 2094 - None, # 2095 - None, # 2096 - None, # 2097 - None, # 2098 - None, # 2099 - None, # 2100 - None, # 2101 - None, # 2102 - None, # 2103 - None, # 2104 - None, # 2105 - None, # 2106 - None, # 2107 - None, # 2108 - None, # 2109 - None, # 2110 - None, # 2111 - None, # 2112 - None, # 2113 - None, # 2114 - None, # 2115 - None, # 2116 - None, # 2117 - None, # 2118 - None, # 2119 - None, # 2120 - None, # 2121 - None, # 2122 - None, # 2123 - None, # 2124 - None, # 2125 - None, # 2126 - None, # 2127 - None, # 2128 - None, # 2129 - None, # 2130 - None, # 2131 - None, # 2132 - None, # 2133 - None, # 2134 - None, # 2135 - None, # 2136 - None, # 2137 - None, # 2138 - None, # 2139 - None, # 2140 - None, # 2141 - None, # 2142 - None, # 2143 - None, # 2144 - None, # 2145 - None, # 2146 - None, # 2147 - None, # 2148 - None, # 2149 - None, # 2150 - None, # 2151 - None, # 2152 - None, # 2153 - None, # 2154 - None, # 2155 - None, # 2156 - None, # 2157 - None, # 2158 - None, # 2159 - None, # 2160 - None, # 2161 - None, # 2162 - None, # 2163 - None, # 2164 - None, # 2165 - None, # 2166 - None, # 2167 - None, # 2168 - None, # 2169 - None, # 2170 - None, # 2171 - None, # 2172 - None, # 2173 - None, # 2174 - None, # 2175 - None, # 2176 - None, # 2177 - None, # 2178 - None, # 2179 - None, # 2180 - None, # 2181 - None, # 2182 - None, # 2183 - None, # 2184 - None, # 2185 - None, # 2186 - None, # 2187 - None, # 2188 - None, # 2189 - None, # 2190 - None, # 2191 - None, # 2192 - None, # 2193 - None, # 2194 - None, # 2195 - None, # 2196 - None, # 2197 - None, # 2198 - None, # 2199 - None, # 2200 - None, # 2201 - None, # 2202 - None, # 2203 - None, # 2204 - None, # 2205 - None, # 2206 - None, # 2207 - None, # 2208 - None, # 2209 - None, # 2210 - None, # 2211 - None, # 2212 - None, # 2213 - None, # 2214 - None, # 2215 - None, # 2216 - None, # 2217 - None, # 2218 - None, # 2219 - None, # 2220 - None, # 2221 - None, # 2222 - None, # 2223 - None, # 2224 - None, # 2225 - None, # 2226 - None, # 2227 - None, # 2228 - None, # 2229 - None, # 2230 - None, # 2231 - None, # 2232 - None, # 2233 - None, # 2234 - None, # 2235 - None, # 2236 - None, # 2237 - None, # 2238 - None, # 2239 - None, # 2240 - None, # 2241 - None, # 2242 - None, # 2243 - None, # 2244 - None, # 2245 - None, # 2246 - None, # 2247 - None, # 2248 - None, # 2249 - None, # 2250 - None, # 2251 - None, # 2252 - None, # 2253 - None, # 2254 - None, # 2255 - None, # 2256 - None, # 2257 - None, # 2258 - None, # 2259 - None, # 2260 - None, # 2261 - None, # 2262 - None, # 2263 - None, # 2264 - None, # 2265 - None, # 2266 - None, # 2267 - None, # 2268 - None, # 2269 - None, # 2270 - None, # 2271 - None, # 2272 - None, # 2273 - None, # 2274 - None, # 2275 - None, # 2276 - None, # 2277 - None, # 2278 - None, # 2279 - None, # 2280 - None, # 2281 - None, # 2282 - None, # 2283 - None, # 2284 - None, # 2285 - None, # 2286 - None, # 2287 - None, # 2288 - None, # 2289 - None, # 2290 - None, # 2291 - None, # 2292 - None, # 2293 - None, # 2294 - None, # 2295 - None, # 2296 - None, # 2297 - None, # 2298 - None, # 2299 - None, # 2300 - None, # 2301 - None, # 2302 - None, # 2303 - None, # 2304 - None, # 2305 - None, # 2306 - None, # 2307 - None, # 2308 - None, # 2309 - None, # 2310 - None, # 2311 - None, # 2312 - None, # 2313 - None, # 2314 - None, # 2315 - None, # 2316 - None, # 2317 - None, # 2318 - None, # 2319 - None, # 2320 - None, # 2321 - None, # 2322 - None, # 2323 - None, # 2324 - None, # 2325 - None, # 2326 - None, # 2327 - None, # 2328 - None, # 2329 - None, # 2330 - None, # 2331 - None, # 2332 - None, # 2333 - None, # 2334 - None, # 2335 - None, # 2336 - None, # 2337 - None, # 2338 - None, # 2339 - None, # 2340 - None, # 2341 - None, # 2342 - None, # 2343 - None, # 2344 - None, # 2345 - None, # 2346 - None, # 2347 - None, # 2348 - None, # 2349 - None, # 2350 - None, # 2351 - None, # 2352 - None, # 2353 - None, # 2354 - None, # 2355 - None, # 2356 - None, # 2357 - None, # 2358 - None, # 2359 - None, # 2360 - None, # 2361 - None, # 2362 - None, # 2363 - None, # 2364 - None, # 2365 - None, # 2366 - None, # 2367 - None, # 2368 - None, # 2369 - None, # 2370 - None, # 2371 - None, # 2372 - None, # 2373 - None, # 2374 - None, # 2375 - None, # 2376 - None, # 2377 - None, # 2378 - None, # 2379 - None, # 2380 - None, # 2381 - None, # 2382 - None, # 2383 - None, # 2384 - None, # 2385 - None, # 2386 - None, # 2387 - None, # 2388 - None, # 2389 - None, # 2390 - None, # 2391 - None, # 2392 - None, # 2393 - None, # 2394 - None, # 2395 - None, # 2396 - None, # 2397 - None, # 2398 - None, # 2399 - None, # 2400 - None, # 2401 - None, # 2402 - None, # 2403 - None, # 2404 - None, # 2405 - None, # 2406 - None, # 2407 - None, # 2408 - None, # 2409 - None, # 2410 - None, # 2411 - None, # 2412 - None, # 2413 - None, # 2414 - None, # 2415 - None, # 2416 - None, # 2417 - None, # 2418 - None, # 2419 - None, # 2420 - None, # 2421 - None, # 2422 - None, # 2423 - None, # 2424 - None, # 2425 - None, # 2426 - None, # 2427 - None, # 2428 - None, # 2429 - None, # 2430 - None, # 2431 - None, # 2432 - None, # 2433 - None, # 2434 - None, # 2435 - None, # 2436 - None, # 2437 - None, # 2438 - None, # 2439 - None, # 2440 - None, # 2441 - None, # 2442 - None, # 2443 - None, # 2444 - None, # 2445 - None, # 2446 - None, # 2447 - None, # 2448 - None, # 2449 - None, # 2450 - None, # 2451 - None, # 2452 - None, # 2453 - None, # 2454 - None, # 2455 - None, # 2456 - None, # 2457 - None, # 2458 - None, # 2459 - None, # 2460 - None, # 2461 - None, # 2462 - None, # 2463 - None, # 2464 - None, # 2465 - None, # 2466 - None, # 2467 - None, # 2468 - None, # 2469 - None, # 2470 - None, # 2471 - None, # 2472 - None, # 2473 - None, # 2474 - None, # 2475 - None, # 2476 - None, # 2477 - None, # 2478 - None, # 2479 - None, # 2480 - None, # 2481 - None, # 2482 - None, # 2483 - None, # 2484 - None, # 2485 - None, # 2486 - None, # 2487 - None, # 2488 - None, # 2489 - None, # 2490 - None, # 2491 - None, # 2492 - None, # 2493 - None, # 2494 - None, # 2495 - None, # 2496 - None, # 2497 - None, # 2498 - None, # 2499 - None, # 2500 - None, # 2501 - None, # 2502 - None, # 2503 - None, # 2504 - None, # 2505 - None, # 2506 - None, # 2507 - None, # 2508 - None, # 2509 - None, # 2510 - None, # 2511 - None, # 2512 - None, # 2513 - None, # 2514 - None, # 2515 - None, # 2516 - None, # 2517 - None, # 2518 - None, # 2519 - None, # 2520 - None, # 2521 - None, # 2522 - None, # 2523 - None, # 2524 - None, # 2525 - None, # 2526 - None, # 2527 - None, # 2528 - None, # 2529 - None, # 2530 - None, # 2531 - None, # 2532 - None, # 2533 - None, # 2534 - None, # 2535 - None, # 2536 - None, # 2537 - None, # 2538 - None, # 2539 - None, # 2540 - None, # 2541 - None, # 2542 - None, # 2543 - None, # 2544 - None, # 2545 - None, # 2546 - None, # 2547 - None, # 2548 - None, # 2549 - None, # 2550 - None, # 2551 - None, # 2552 - None, # 2553 - None, # 2554 - None, # 2555 - None, # 2556 - None, # 2557 - None, # 2558 - None, # 2559 - None, # 2560 - None, # 2561 - None, # 2562 - None, # 2563 - None, # 2564 - None, # 2565 - None, # 2566 - None, # 2567 - None, # 2568 - None, # 2569 - None, # 2570 - None, # 2571 - None, # 2572 - None, # 2573 - None, # 2574 - None, # 2575 - None, # 2576 - None, # 2577 - None, # 2578 - None, # 2579 - None, # 2580 - None, # 2581 - None, # 2582 - None, # 2583 - None, # 2584 - None, # 2585 - None, # 2586 - None, # 2587 - None, # 2588 - None, # 2589 - None, # 2590 - None, # 2591 - None, # 2592 - None, # 2593 - None, # 2594 - None, # 2595 - None, # 2596 - None, # 2597 - None, # 2598 - None, # 2599 - None, # 2600 - None, # 2601 - None, # 2602 - None, # 2603 - None, # 2604 - None, # 2605 - None, # 2606 - None, # 2607 - None, # 2608 - None, # 2609 - None, # 2610 - None, # 2611 - None, # 2612 - None, # 2613 - None, # 2614 - None, # 2615 - None, # 2616 - None, # 2617 - None, # 2618 - None, # 2619 - None, # 2620 - None, # 2621 - None, # 2622 - None, # 2623 - None, # 2624 - None, # 2625 - None, # 2626 - None, # 2627 - None, # 2628 - None, # 2629 - None, # 2630 - None, # 2631 - None, # 2632 - None, # 2633 - None, # 2634 - None, # 2635 - None, # 2636 - None, # 2637 - None, # 2638 - None, # 2639 - None, # 2640 - None, # 2641 - None, # 2642 - None, # 2643 - None, # 2644 - None, # 2645 - None, # 2646 - None, # 2647 - None, # 2648 - None, # 2649 - None, # 2650 - None, # 2651 - None, # 2652 - None, # 2653 - None, # 2654 - None, # 2655 - None, # 2656 - None, # 2657 - None, # 2658 - None, # 2659 - None, # 2660 - None, # 2661 - None, # 2662 - None, # 2663 - None, # 2664 - None, # 2665 - None, # 2666 - None, # 2667 - None, # 2668 - None, # 2669 - None, # 2670 - None, # 2671 - None, # 2672 - None, # 2673 - None, # 2674 - None, # 2675 - None, # 2676 - None, # 2677 - None, # 2678 - None, # 2679 - None, # 2680 - None, # 2681 - None, # 2682 - None, # 2683 - None, # 2684 - None, # 2685 - None, # 2686 - None, # 2687 - None, # 2688 - None, # 2689 - None, # 2690 - None, # 2691 - None, # 2692 - None, # 2693 - None, # 2694 - None, # 2695 - None, # 2696 - None, # 2697 - None, # 2698 - None, # 2699 - None, # 2700 - None, # 2701 - None, # 2702 - None, # 2703 - None, # 2704 - None, # 2705 - None, # 2706 - None, # 2707 - None, # 2708 - None, # 2709 - None, # 2710 - None, # 2711 - None, # 2712 - None, # 2713 - None, # 2714 - None, # 2715 - None, # 2716 - None, # 2717 - None, # 2718 - None, # 2719 - None, # 2720 - None, # 2721 - None, # 2722 - None, # 2723 - None, # 2724 - None, # 2725 - None, # 2726 - None, # 2727 - None, # 2728 - None, # 2729 - None, # 2730 - None, # 2731 - None, # 2732 - None, # 2733 - None, # 2734 - None, # 2735 - None, # 2736 - None, # 2737 - None, # 2738 - None, # 2739 - None, # 2740 - None, # 2741 - None, # 2742 - None, # 2743 - None, # 2744 - None, # 2745 - None, # 2746 - None, # 2747 - None, # 2748 - None, # 2749 - None, # 2750 - None, # 2751 - None, # 2752 - None, # 2753 - None, # 2754 - None, # 2755 - None, # 2756 - None, # 2757 - None, # 2758 - None, # 2759 - None, # 2760 - None, # 2761 - None, # 2762 - None, # 2763 - None, # 2764 - None, # 2765 - None, # 2766 - None, # 2767 - None, # 2768 - None, # 2769 - None, # 2770 - None, # 2771 - None, # 2772 - None, # 2773 - None, # 2774 - None, # 2775 - None, # 2776 - None, # 2777 - None, # 2778 - None, # 2779 - None, # 2780 - None, # 2781 - None, # 2782 - None, # 2783 - None, # 2784 - None, # 2785 - None, # 2786 - None, # 2787 - None, # 2788 - None, # 2789 - None, # 2790 - None, # 2791 - None, # 2792 - None, # 2793 - None, # 2794 - None, # 2795 - None, # 2796 - None, # 2797 - None, # 2798 - None, # 2799 - None, # 2800 - None, # 2801 - None, # 2802 - None, # 2803 - None, # 2804 - None, # 2805 - None, # 2806 - None, # 2807 - None, # 2808 - None, # 2809 - None, # 2810 - None, # 2811 - None, # 2812 - None, # 2813 - None, # 2814 - None, # 2815 - None, # 2816 - None, # 2817 - None, # 2818 - None, # 2819 - None, # 2820 - None, # 2821 - None, # 2822 - None, # 2823 - None, # 2824 - None, # 2825 - None, # 2826 - None, # 2827 - None, # 2828 - None, # 2829 - None, # 2830 - None, # 2831 - None, # 2832 - None, # 2833 - None, # 2834 - None, # 2835 - None, # 2836 - None, # 2837 - None, # 2838 - None, # 2839 - None, # 2840 - None, # 2841 - None, # 2842 - None, # 2843 - None, # 2844 - None, # 2845 - None, # 2846 - None, # 2847 - None, # 2848 - None, # 2849 - None, # 2850 - None, # 2851 - None, # 2852 - None, # 2853 - None, # 2854 - None, # 2855 - None, # 2856 - None, # 2857 - None, # 2858 - None, # 2859 - None, # 2860 - None, # 2861 - None, # 2862 - None, # 2863 - None, # 2864 - None, # 2865 - None, # 2866 - None, # 2867 - None, # 2868 - None, # 2869 - None, # 2870 - None, # 2871 - None, # 2872 - None, # 2873 - None, # 2874 - None, # 2875 - None, # 2876 - None, # 2877 - None, # 2878 - None, # 2879 - None, # 2880 - None, # 2881 - None, # 2882 - None, # 2883 - None, # 2884 - None, # 2885 - None, # 2886 - None, # 2887 - None, # 2888 - None, # 2889 - None, # 2890 - None, # 2891 - None, # 2892 - None, # 2893 - None, # 2894 - None, # 2895 - None, # 2896 - None, # 2897 - None, # 2898 - None, # 2899 - None, # 2900 - None, # 2901 - None, # 2902 - None, # 2903 - None, # 2904 - None, # 2905 - None, # 2906 - None, # 2907 - None, # 2908 - None, # 2909 - None, # 2910 - None, # 2911 - None, # 2912 - None, # 2913 - None, # 2914 - None, # 2915 - None, # 2916 - None, # 2917 - None, # 2918 - None, # 2919 - None, # 2920 - None, # 2921 - None, # 2922 - None, # 2923 - None, # 2924 - None, # 2925 - None, # 2926 - None, # 2927 - None, # 2928 - None, # 2929 - None, # 2930 - None, # 2931 - None, # 2932 - None, # 2933 - None, # 2934 - None, # 2935 - None, # 2936 - None, # 2937 - None, # 2938 - None, # 2939 - None, # 2940 - None, # 2941 - None, # 2942 - None, # 2943 - None, # 2944 - None, # 2945 - None, # 2946 - None, # 2947 - None, # 2948 - None, # 2949 - None, # 2950 - None, # 2951 - None, # 2952 - None, # 2953 - None, # 2954 - None, # 2955 - None, # 2956 - None, # 2957 - None, # 2958 - None, # 2959 - None, # 2960 - None, # 2961 - None, # 2962 - None, # 2963 - None, # 2964 - None, # 2965 - None, # 2966 - None, # 2967 - None, # 2968 - None, # 2969 - None, # 2970 - None, # 2971 - None, # 2972 - None, # 2973 - None, # 2974 - None, # 2975 - None, # 2976 - None, # 2977 - None, # 2978 - None, # 2979 - None, # 2980 - None, # 2981 - None, # 2982 - None, # 2983 - None, # 2984 - None, # 2985 - None, # 2986 - None, # 2987 - None, # 2988 - None, # 2989 - None, # 2990 - None, # 2991 - None, # 2992 - None, # 2993 - None, # 2994 - None, # 2995 - None, # 2996 - None, # 2997 - None, # 2998 - None, # 2999 - None, # 3000 - None, # 3001 - None, # 3002 - None, # 3003 - None, # 3004 - None, # 3005 - None, # 3006 - None, # 3007 - None, # 3008 - None, # 3009 - None, # 3010 - None, # 3011 - None, # 3012 - None, # 3013 - None, # 3014 - None, # 3015 - None, # 3016 - None, # 3017 - None, # 3018 - None, # 3019 - None, # 3020 - None, # 3021 - None, # 3022 - None, # 3023 - None, # 3024 - None, # 3025 - None, # 3026 - None, # 3027 - None, # 3028 - None, # 3029 - None, # 3030 - None, # 3031 - None, # 3032 - None, # 3033 - None, # 3034 - None, # 3035 - None, # 3036 - None, # 3037 - None, # 3038 - None, # 3039 - None, # 3040 - None, # 3041 - None, # 3042 - None, # 3043 - None, # 3044 - None, # 3045 - None, # 3046 - None, # 3047 - None, # 3048 - None, # 3049 - None, # 3050 - None, # 3051 - None, # 3052 - None, # 3053 - None, # 3054 - None, # 3055 - None, # 3056 - None, # 3057 - None, # 3058 - None, # 3059 - None, # 3060 - None, # 3061 - None, # 3062 - None, # 3063 - None, # 3064 - None, # 3065 - None, # 3066 - None, # 3067 - None, # 3068 - None, # 3069 - None, # 3070 - None, # 3071 - None, # 3072 - None, # 3073 - None, # 3074 - None, # 3075 - None, # 3076 - None, # 3077 - None, # 3078 - None, # 3079 - None, # 3080 - None, # 3081 - None, # 3082 - None, # 3083 - None, # 3084 - None, # 3085 - None, # 3086 - None, # 3087 - None, # 3088 - None, # 3089 - None, # 3090 - None, # 3091 - None, # 3092 - None, # 3093 - None, # 3094 - None, # 3095 - None, # 3096 - None, # 3097 - None, # 3098 - None, # 3099 - None, # 3100 - None, # 3101 - None, # 3102 - None, # 3103 - None, # 3104 - None, # 3105 - None, # 3106 - None, # 3107 - None, # 3108 - None, # 3109 - None, # 3110 - None, # 3111 - None, # 3112 - None, # 3113 - None, # 3114 - None, # 3115 - None, # 3116 - None, # 3117 - None, # 3118 - None, # 3119 - None, # 3120 - None, # 3121 - None, # 3122 - None, # 3123 - None, # 3124 - None, # 3125 - None, # 3126 - None, # 3127 - None, # 3128 - None, # 3129 - None, # 3130 - None, # 3131 - None, # 3132 - None, # 3133 - None, # 3134 - None, # 3135 - None, # 3136 - None, # 3137 - None, # 3138 - None, # 3139 - None, # 3140 - None, # 3141 - None, # 3142 - None, # 3143 - None, # 3144 - None, # 3145 - None, # 3146 - None, # 3147 - None, # 3148 - None, # 3149 - None, # 3150 - None, # 3151 - None, # 3152 - None, # 3153 - None, # 3154 - None, # 3155 - None, # 3156 - None, # 3157 - None, # 3158 - None, # 3159 - None, # 3160 - None, # 3161 - None, # 3162 - None, # 3163 - None, # 3164 - None, # 3165 - None, # 3166 - None, # 3167 - None, # 3168 - None, # 3169 - None, # 3170 - None, # 3171 - None, # 3172 - None, # 3173 - None, # 3174 - None, # 3175 - None, # 3176 - None, # 3177 - None, # 3178 - None, # 3179 - None, # 3180 - None, # 3181 - None, # 3182 - None, # 3183 - None, # 3184 - None, # 3185 - None, # 3186 - None, # 3187 - None, # 3188 - None, # 3189 - None, # 3190 - None, # 3191 - None, # 3192 - None, # 3193 - None, # 3194 - None, # 3195 - None, # 3196 - None, # 3197 - None, # 3198 - None, # 3199 - None, # 3200 - None, # 3201 - None, # 3202 - None, # 3203 - None, # 3204 - None, # 3205 - None, # 3206 - None, # 3207 - None, # 3208 - None, # 3209 - None, # 3210 - None, # 3211 - None, # 3212 - None, # 3213 - None, # 3214 - None, # 3215 - None, # 3216 - None, # 3217 - None, # 3218 - None, # 3219 - None, # 3220 - None, # 3221 - None, # 3222 - None, # 3223 - None, # 3224 - None, # 3225 - None, # 3226 - None, # 3227 - None, # 3228 - None, # 3229 - None, # 3230 - None, # 3231 - None, # 3232 - None, # 3233 - None, # 3234 - None, # 3235 - None, # 3236 - None, # 3237 - None, # 3238 - None, # 3239 - None, # 3240 - None, # 3241 - None, # 3242 - None, # 3243 - None, # 3244 - None, # 3245 - None, # 3246 - None, # 3247 - None, # 3248 - None, # 3249 - None, # 3250 - None, # 3251 - None, # 3252 - None, # 3253 - None, # 3254 - None, # 3255 - None, # 3256 - None, # 3257 - None, # 3258 - None, # 3259 - None, # 3260 - None, # 3261 - None, # 3262 - None, # 3263 - None, # 3264 - None, # 3265 - None, # 3266 - None, # 3267 - None, # 3268 - None, # 3269 - None, # 3270 - None, # 3271 - None, # 3272 - None, # 3273 - None, # 3274 - None, # 3275 - None, # 3276 - None, # 3277 - None, # 3278 - None, # 3279 - None, # 3280 - None, # 3281 - None, # 3282 - None, # 3283 - None, # 3284 - None, # 3285 - None, # 3286 - None, # 3287 - None, # 3288 - None, # 3289 - None, # 3290 - None, # 3291 - None, # 3292 - None, # 3293 - None, # 3294 - None, # 3295 - None, # 3296 - None, # 3297 - None, # 3298 - None, # 3299 - None, # 3300 - None, # 3301 - None, # 3302 - None, # 3303 - None, # 3304 - None, # 3305 - None, # 3306 - None, # 3307 - None, # 3308 - None, # 3309 - None, # 3310 - None, # 3311 - None, # 3312 - None, # 3313 - None, # 3314 - None, # 3315 - None, # 3316 - None, # 3317 - None, # 3318 - None, # 3319 - None, # 3320 - None, # 3321 - None, # 3322 - None, # 3323 - None, # 3324 - None, # 3325 - None, # 3326 - None, # 3327 - None, # 3328 - (3329, TType.I16, 'executionVersion', None, None, ), # 3329 + None, # 0 + (1, TType.STRING, 'guid', 'BINARY', None, ), # 1 + (2, TType.STRING, 'secret', 'BINARY', None, ), # 2 + None, # 3 + None, # 4 + None, # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + None, # 1281 + None, # 1282 + None, # 1283 + None, # 1284 + None, # 1285 + None, # 1286 + None, # 1287 + None, # 1288 + None, # 1289 + None, # 1290 + None, # 1291 + None, # 1292 + None, # 1293 + None, # 1294 + None, # 1295 + None, # 1296 + None, # 1297 + None, # 1298 + None, # 1299 + None, # 1300 + None, # 1301 + None, # 1302 + None, # 1303 + None, # 1304 + None, # 1305 + None, # 1306 + None, # 1307 + None, # 1308 + None, # 1309 + None, # 1310 + None, # 1311 + None, # 1312 + None, # 1313 + None, # 1314 + None, # 1315 + None, # 1316 + None, # 1317 + None, # 1318 + None, # 1319 + None, # 1320 + None, # 1321 + None, # 1322 + None, # 1323 + None, # 1324 + None, # 1325 + None, # 1326 + None, # 1327 + None, # 1328 + None, # 1329 + None, # 1330 + None, # 1331 + None, # 1332 + None, # 1333 + None, # 1334 + None, # 1335 + None, # 1336 + None, # 1337 + None, # 1338 + None, # 1339 + None, # 1340 + None, # 1341 + None, # 1342 + None, # 1343 + None, # 1344 + None, # 1345 + None, # 1346 + None, # 1347 + None, # 1348 + None, # 1349 + None, # 1350 + None, # 1351 + None, # 1352 + None, # 1353 + None, # 1354 + None, # 1355 + None, # 1356 + None, # 1357 + None, # 1358 + None, # 1359 + None, # 1360 + None, # 1361 + None, # 1362 + None, # 1363 + None, # 1364 + None, # 1365 + None, # 1366 + None, # 1367 + None, # 1368 + None, # 1369 + None, # 1370 + None, # 1371 + None, # 1372 + None, # 1373 + None, # 1374 + None, # 1375 + None, # 1376 + None, # 1377 + None, # 1378 + None, # 1379 + None, # 1380 + None, # 1381 + None, # 1382 + None, # 1383 + None, # 1384 + None, # 1385 + None, # 1386 + None, # 1387 + None, # 1388 + None, # 1389 + None, # 1390 + None, # 1391 + None, # 1392 + None, # 1393 + None, # 1394 + None, # 1395 + None, # 1396 + None, # 1397 + None, # 1398 + None, # 1399 + None, # 1400 + None, # 1401 + None, # 1402 + None, # 1403 + None, # 1404 + None, # 1405 + None, # 1406 + None, # 1407 + None, # 1408 + None, # 1409 + None, # 1410 + None, # 1411 + None, # 1412 + None, # 1413 + None, # 1414 + None, # 1415 + None, # 1416 + None, # 1417 + None, # 1418 + None, # 1419 + None, # 1420 + None, # 1421 + None, # 1422 + None, # 1423 + None, # 1424 + None, # 1425 + None, # 1426 + None, # 1427 + None, # 1428 + None, # 1429 + None, # 1430 + None, # 1431 + None, # 1432 + None, # 1433 + None, # 1434 + None, # 1435 + None, # 1436 + None, # 1437 + None, # 1438 + None, # 1439 + None, # 1440 + None, # 1441 + None, # 1442 + None, # 1443 + None, # 1444 + None, # 1445 + None, # 1446 + None, # 1447 + None, # 1448 + None, # 1449 + None, # 1450 + None, # 1451 + None, # 1452 + None, # 1453 + None, # 1454 + None, # 1455 + None, # 1456 + None, # 1457 + None, # 1458 + None, # 1459 + None, # 1460 + None, # 1461 + None, # 1462 + None, # 1463 + None, # 1464 + None, # 1465 + None, # 1466 + None, # 1467 + None, # 1468 + None, # 1469 + None, # 1470 + None, # 1471 + None, # 1472 + None, # 1473 + None, # 1474 + None, # 1475 + None, # 1476 + None, # 1477 + None, # 1478 + None, # 1479 + None, # 1480 + None, # 1481 + None, # 1482 + None, # 1483 + None, # 1484 + None, # 1485 + None, # 1486 + None, # 1487 + None, # 1488 + None, # 1489 + None, # 1490 + None, # 1491 + None, # 1492 + None, # 1493 + None, # 1494 + None, # 1495 + None, # 1496 + None, # 1497 + None, # 1498 + None, # 1499 + None, # 1500 + None, # 1501 + None, # 1502 + None, # 1503 + None, # 1504 + None, # 1505 + None, # 1506 + None, # 1507 + None, # 1508 + None, # 1509 + None, # 1510 + None, # 1511 + None, # 1512 + None, # 1513 + None, # 1514 + None, # 1515 + None, # 1516 + None, # 1517 + None, # 1518 + None, # 1519 + None, # 1520 + None, # 1521 + None, # 1522 + None, # 1523 + None, # 1524 + None, # 1525 + None, # 1526 + None, # 1527 + None, # 1528 + None, # 1529 + None, # 1530 + None, # 1531 + None, # 1532 + None, # 1533 + None, # 1534 + None, # 1535 + None, # 1536 + None, # 1537 + None, # 1538 + None, # 1539 + None, # 1540 + None, # 1541 + None, # 1542 + None, # 1543 + None, # 1544 + None, # 1545 + None, # 1546 + None, # 1547 + None, # 1548 + None, # 1549 + None, # 1550 + None, # 1551 + None, # 1552 + None, # 1553 + None, # 1554 + None, # 1555 + None, # 1556 + None, # 1557 + None, # 1558 + None, # 1559 + None, # 1560 + None, # 1561 + None, # 1562 + None, # 1563 + None, # 1564 + None, # 1565 + None, # 1566 + None, # 1567 + None, # 1568 + None, # 1569 + None, # 1570 + None, # 1571 + None, # 1572 + None, # 1573 + None, # 1574 + None, # 1575 + None, # 1576 + None, # 1577 + None, # 1578 + None, # 1579 + None, # 1580 + None, # 1581 + None, # 1582 + None, # 1583 + None, # 1584 + None, # 1585 + None, # 1586 + None, # 1587 + None, # 1588 + None, # 1589 + None, # 1590 + None, # 1591 + None, # 1592 + None, # 1593 + None, # 1594 + None, # 1595 + None, # 1596 + None, # 1597 + None, # 1598 + None, # 1599 + None, # 1600 + None, # 1601 + None, # 1602 + None, # 1603 + None, # 1604 + None, # 1605 + None, # 1606 + None, # 1607 + None, # 1608 + None, # 1609 + None, # 1610 + None, # 1611 + None, # 1612 + None, # 1613 + None, # 1614 + None, # 1615 + None, # 1616 + None, # 1617 + None, # 1618 + None, # 1619 + None, # 1620 + None, # 1621 + None, # 1622 + None, # 1623 + None, # 1624 + None, # 1625 + None, # 1626 + None, # 1627 + None, # 1628 + None, # 1629 + None, # 1630 + None, # 1631 + None, # 1632 + None, # 1633 + None, # 1634 + None, # 1635 + None, # 1636 + None, # 1637 + None, # 1638 + None, # 1639 + None, # 1640 + None, # 1641 + None, # 1642 + None, # 1643 + None, # 1644 + None, # 1645 + None, # 1646 + None, # 1647 + None, # 1648 + None, # 1649 + None, # 1650 + None, # 1651 + None, # 1652 + None, # 1653 + None, # 1654 + None, # 1655 + None, # 1656 + None, # 1657 + None, # 1658 + None, # 1659 + None, # 1660 + None, # 1661 + None, # 1662 + None, # 1663 + None, # 1664 + None, # 1665 + None, # 1666 + None, # 1667 + None, # 1668 + None, # 1669 + None, # 1670 + None, # 1671 + None, # 1672 + None, # 1673 + None, # 1674 + None, # 1675 + None, # 1676 + None, # 1677 + None, # 1678 + None, # 1679 + None, # 1680 + None, # 1681 + None, # 1682 + None, # 1683 + None, # 1684 + None, # 1685 + None, # 1686 + None, # 1687 + None, # 1688 + None, # 1689 + None, # 1690 + None, # 1691 + None, # 1692 + None, # 1693 + None, # 1694 + None, # 1695 + None, # 1696 + None, # 1697 + None, # 1698 + None, # 1699 + None, # 1700 + None, # 1701 + None, # 1702 + None, # 1703 + None, # 1704 + None, # 1705 + None, # 1706 + None, # 1707 + None, # 1708 + None, # 1709 + None, # 1710 + None, # 1711 + None, # 1712 + None, # 1713 + None, # 1714 + None, # 1715 + None, # 1716 + None, # 1717 + None, # 1718 + None, # 1719 + None, # 1720 + None, # 1721 + None, # 1722 + None, # 1723 + None, # 1724 + None, # 1725 + None, # 1726 + None, # 1727 + None, # 1728 + None, # 1729 + None, # 1730 + None, # 1731 + None, # 1732 + None, # 1733 + None, # 1734 + None, # 1735 + None, # 1736 + None, # 1737 + None, # 1738 + None, # 1739 + None, # 1740 + None, # 1741 + None, # 1742 + None, # 1743 + None, # 1744 + None, # 1745 + None, # 1746 + None, # 1747 + None, # 1748 + None, # 1749 + None, # 1750 + None, # 1751 + None, # 1752 + None, # 1753 + None, # 1754 + None, # 1755 + None, # 1756 + None, # 1757 + None, # 1758 + None, # 1759 + None, # 1760 + None, # 1761 + None, # 1762 + None, # 1763 + None, # 1764 + None, # 1765 + None, # 1766 + None, # 1767 + None, # 1768 + None, # 1769 + None, # 1770 + None, # 1771 + None, # 1772 + None, # 1773 + None, # 1774 + None, # 1775 + None, # 1776 + None, # 1777 + None, # 1778 + None, # 1779 + None, # 1780 + None, # 1781 + None, # 1782 + None, # 1783 + None, # 1784 + None, # 1785 + None, # 1786 + None, # 1787 + None, # 1788 + None, # 1789 + None, # 1790 + None, # 1791 + None, # 1792 + None, # 1793 + None, # 1794 + None, # 1795 + None, # 1796 + None, # 1797 + None, # 1798 + None, # 1799 + None, # 1800 + None, # 1801 + None, # 1802 + None, # 1803 + None, # 1804 + None, # 1805 + None, # 1806 + None, # 1807 + None, # 1808 + None, # 1809 + None, # 1810 + None, # 1811 + None, # 1812 + None, # 1813 + None, # 1814 + None, # 1815 + None, # 1816 + None, # 1817 + None, # 1818 + None, # 1819 + None, # 1820 + None, # 1821 + None, # 1822 + None, # 1823 + None, # 1824 + None, # 1825 + None, # 1826 + None, # 1827 + None, # 1828 + None, # 1829 + None, # 1830 + None, # 1831 + None, # 1832 + None, # 1833 + None, # 1834 + None, # 1835 + None, # 1836 + None, # 1837 + None, # 1838 + None, # 1839 + None, # 1840 + None, # 1841 + None, # 1842 + None, # 1843 + None, # 1844 + None, # 1845 + None, # 1846 + None, # 1847 + None, # 1848 + None, # 1849 + None, # 1850 + None, # 1851 + None, # 1852 + None, # 1853 + None, # 1854 + None, # 1855 + None, # 1856 + None, # 1857 + None, # 1858 + None, # 1859 + None, # 1860 + None, # 1861 + None, # 1862 + None, # 1863 + None, # 1864 + None, # 1865 + None, # 1866 + None, # 1867 + None, # 1868 + None, # 1869 + None, # 1870 + None, # 1871 + None, # 1872 + None, # 1873 + None, # 1874 + None, # 1875 + None, # 1876 + None, # 1877 + None, # 1878 + None, # 1879 + None, # 1880 + None, # 1881 + None, # 1882 + None, # 1883 + None, # 1884 + None, # 1885 + None, # 1886 + None, # 1887 + None, # 1888 + None, # 1889 + None, # 1890 + None, # 1891 + None, # 1892 + None, # 1893 + None, # 1894 + None, # 1895 + None, # 1896 + None, # 1897 + None, # 1898 + None, # 1899 + None, # 1900 + None, # 1901 + None, # 1902 + None, # 1903 + None, # 1904 + None, # 1905 + None, # 1906 + None, # 1907 + None, # 1908 + None, # 1909 + None, # 1910 + None, # 1911 + None, # 1912 + None, # 1913 + None, # 1914 + None, # 1915 + None, # 1916 + None, # 1917 + None, # 1918 + None, # 1919 + None, # 1920 + None, # 1921 + None, # 1922 + None, # 1923 + None, # 1924 + None, # 1925 + None, # 1926 + None, # 1927 + None, # 1928 + None, # 1929 + None, # 1930 + None, # 1931 + None, # 1932 + None, # 1933 + None, # 1934 + None, # 1935 + None, # 1936 + None, # 1937 + None, # 1938 + None, # 1939 + None, # 1940 + None, # 1941 + None, # 1942 + None, # 1943 + None, # 1944 + None, # 1945 + None, # 1946 + None, # 1947 + None, # 1948 + None, # 1949 + None, # 1950 + None, # 1951 + None, # 1952 + None, # 1953 + None, # 1954 + None, # 1955 + None, # 1956 + None, # 1957 + None, # 1958 + None, # 1959 + None, # 1960 + None, # 1961 + None, # 1962 + None, # 1963 + None, # 1964 + None, # 1965 + None, # 1966 + None, # 1967 + None, # 1968 + None, # 1969 + None, # 1970 + None, # 1971 + None, # 1972 + None, # 1973 + None, # 1974 + None, # 1975 + None, # 1976 + None, # 1977 + None, # 1978 + None, # 1979 + None, # 1980 + None, # 1981 + None, # 1982 + None, # 1983 + None, # 1984 + None, # 1985 + None, # 1986 + None, # 1987 + None, # 1988 + None, # 1989 + None, # 1990 + None, # 1991 + None, # 1992 + None, # 1993 + None, # 1994 + None, # 1995 + None, # 1996 + None, # 1997 + None, # 1998 + None, # 1999 + None, # 2000 + None, # 2001 + None, # 2002 + None, # 2003 + None, # 2004 + None, # 2005 + None, # 2006 + None, # 2007 + None, # 2008 + None, # 2009 + None, # 2010 + None, # 2011 + None, # 2012 + None, # 2013 + None, # 2014 + None, # 2015 + None, # 2016 + None, # 2017 + None, # 2018 + None, # 2019 + None, # 2020 + None, # 2021 + None, # 2022 + None, # 2023 + None, # 2024 + None, # 2025 + None, # 2026 + None, # 2027 + None, # 2028 + None, # 2029 + None, # 2030 + None, # 2031 + None, # 2032 + None, # 2033 + None, # 2034 + None, # 2035 + None, # 2036 + None, # 2037 + None, # 2038 + None, # 2039 + None, # 2040 + None, # 2041 + None, # 2042 + None, # 2043 + None, # 2044 + None, # 2045 + None, # 2046 + None, # 2047 + None, # 2048 + None, # 2049 + None, # 2050 + None, # 2051 + None, # 2052 + None, # 2053 + None, # 2054 + None, # 2055 + None, # 2056 + None, # 2057 + None, # 2058 + None, # 2059 + None, # 2060 + None, # 2061 + None, # 2062 + None, # 2063 + None, # 2064 + None, # 2065 + None, # 2066 + None, # 2067 + None, # 2068 + None, # 2069 + None, # 2070 + None, # 2071 + None, # 2072 + None, # 2073 + None, # 2074 + None, # 2075 + None, # 2076 + None, # 2077 + None, # 2078 + None, # 2079 + None, # 2080 + None, # 2081 + None, # 2082 + None, # 2083 + None, # 2084 + None, # 2085 + None, # 2086 + None, # 2087 + None, # 2088 + None, # 2089 + None, # 2090 + None, # 2091 + None, # 2092 + None, # 2093 + None, # 2094 + None, # 2095 + None, # 2096 + None, # 2097 + None, # 2098 + None, # 2099 + None, # 2100 + None, # 2101 + None, # 2102 + None, # 2103 + None, # 2104 + None, # 2105 + None, # 2106 + None, # 2107 + None, # 2108 + None, # 2109 + None, # 2110 + None, # 2111 + None, # 2112 + None, # 2113 + None, # 2114 + None, # 2115 + None, # 2116 + None, # 2117 + None, # 2118 + None, # 2119 + None, # 2120 + None, # 2121 + None, # 2122 + None, # 2123 + None, # 2124 + None, # 2125 + None, # 2126 + None, # 2127 + None, # 2128 + None, # 2129 + None, # 2130 + None, # 2131 + None, # 2132 + None, # 2133 + None, # 2134 + None, # 2135 + None, # 2136 + None, # 2137 + None, # 2138 + None, # 2139 + None, # 2140 + None, # 2141 + None, # 2142 + None, # 2143 + None, # 2144 + None, # 2145 + None, # 2146 + None, # 2147 + None, # 2148 + None, # 2149 + None, # 2150 + None, # 2151 + None, # 2152 + None, # 2153 + None, # 2154 + None, # 2155 + None, # 2156 + None, # 2157 + None, # 2158 + None, # 2159 + None, # 2160 + None, # 2161 + None, # 2162 + None, # 2163 + None, # 2164 + None, # 2165 + None, # 2166 + None, # 2167 + None, # 2168 + None, # 2169 + None, # 2170 + None, # 2171 + None, # 2172 + None, # 2173 + None, # 2174 + None, # 2175 + None, # 2176 + None, # 2177 + None, # 2178 + None, # 2179 + None, # 2180 + None, # 2181 + None, # 2182 + None, # 2183 + None, # 2184 + None, # 2185 + None, # 2186 + None, # 2187 + None, # 2188 + None, # 2189 + None, # 2190 + None, # 2191 + None, # 2192 + None, # 2193 + None, # 2194 + None, # 2195 + None, # 2196 + None, # 2197 + None, # 2198 + None, # 2199 + None, # 2200 + None, # 2201 + None, # 2202 + None, # 2203 + None, # 2204 + None, # 2205 + None, # 2206 + None, # 2207 + None, # 2208 + None, # 2209 + None, # 2210 + None, # 2211 + None, # 2212 + None, # 2213 + None, # 2214 + None, # 2215 + None, # 2216 + None, # 2217 + None, # 2218 + None, # 2219 + None, # 2220 + None, # 2221 + None, # 2222 + None, # 2223 + None, # 2224 + None, # 2225 + None, # 2226 + None, # 2227 + None, # 2228 + None, # 2229 + None, # 2230 + None, # 2231 + None, # 2232 + None, # 2233 + None, # 2234 + None, # 2235 + None, # 2236 + None, # 2237 + None, # 2238 + None, # 2239 + None, # 2240 + None, # 2241 + None, # 2242 + None, # 2243 + None, # 2244 + None, # 2245 + None, # 2246 + None, # 2247 + None, # 2248 + None, # 2249 + None, # 2250 + None, # 2251 + None, # 2252 + None, # 2253 + None, # 2254 + None, # 2255 + None, # 2256 + None, # 2257 + None, # 2258 + None, # 2259 + None, # 2260 + None, # 2261 + None, # 2262 + None, # 2263 + None, # 2264 + None, # 2265 + None, # 2266 + None, # 2267 + None, # 2268 + None, # 2269 + None, # 2270 + None, # 2271 + None, # 2272 + None, # 2273 + None, # 2274 + None, # 2275 + None, # 2276 + None, # 2277 + None, # 2278 + None, # 2279 + None, # 2280 + None, # 2281 + None, # 2282 + None, # 2283 + None, # 2284 + None, # 2285 + None, # 2286 + None, # 2287 + None, # 2288 + None, # 2289 + None, # 2290 + None, # 2291 + None, # 2292 + None, # 2293 + None, # 2294 + None, # 2295 + None, # 2296 + None, # 2297 + None, # 2298 + None, # 2299 + None, # 2300 + None, # 2301 + None, # 2302 + None, # 2303 + None, # 2304 + None, # 2305 + None, # 2306 + None, # 2307 + None, # 2308 + None, # 2309 + None, # 2310 + None, # 2311 + None, # 2312 + None, # 2313 + None, # 2314 + None, # 2315 + None, # 2316 + None, # 2317 + None, # 2318 + None, # 2319 + None, # 2320 + None, # 2321 + None, # 2322 + None, # 2323 + None, # 2324 + None, # 2325 + None, # 2326 + None, # 2327 + None, # 2328 + None, # 2329 + None, # 2330 + None, # 2331 + None, # 2332 + None, # 2333 + None, # 2334 + None, # 2335 + None, # 2336 + None, # 2337 + None, # 2338 + None, # 2339 + None, # 2340 + None, # 2341 + None, # 2342 + None, # 2343 + None, # 2344 + None, # 2345 + None, # 2346 + None, # 2347 + None, # 2348 + None, # 2349 + None, # 2350 + None, # 2351 + None, # 2352 + None, # 2353 + None, # 2354 + None, # 2355 + None, # 2356 + None, # 2357 + None, # 2358 + None, # 2359 + None, # 2360 + None, # 2361 + None, # 2362 + None, # 2363 + None, # 2364 + None, # 2365 + None, # 2366 + None, # 2367 + None, # 2368 + None, # 2369 + None, # 2370 + None, # 2371 + None, # 2372 + None, # 2373 + None, # 2374 + None, # 2375 + None, # 2376 + None, # 2377 + None, # 2378 + None, # 2379 + None, # 2380 + None, # 2381 + None, # 2382 + None, # 2383 + None, # 2384 + None, # 2385 + None, # 2386 + None, # 2387 + None, # 2388 + None, # 2389 + None, # 2390 + None, # 2391 + None, # 2392 + None, # 2393 + None, # 2394 + None, # 2395 + None, # 2396 + None, # 2397 + None, # 2398 + None, # 2399 + None, # 2400 + None, # 2401 + None, # 2402 + None, # 2403 + None, # 2404 + None, # 2405 + None, # 2406 + None, # 2407 + None, # 2408 + None, # 2409 + None, # 2410 + None, # 2411 + None, # 2412 + None, # 2413 + None, # 2414 + None, # 2415 + None, # 2416 + None, # 2417 + None, # 2418 + None, # 2419 + None, # 2420 + None, # 2421 + None, # 2422 + None, # 2423 + None, # 2424 + None, # 2425 + None, # 2426 + None, # 2427 + None, # 2428 + None, # 2429 + None, # 2430 + None, # 2431 + None, # 2432 + None, # 2433 + None, # 2434 + None, # 2435 + None, # 2436 + None, # 2437 + None, # 2438 + None, # 2439 + None, # 2440 + None, # 2441 + None, # 2442 + None, # 2443 + None, # 2444 + None, # 2445 + None, # 2446 + None, # 2447 + None, # 2448 + None, # 2449 + None, # 2450 + None, # 2451 + None, # 2452 + None, # 2453 + None, # 2454 + None, # 2455 + None, # 2456 + None, # 2457 + None, # 2458 + None, # 2459 + None, # 2460 + None, # 2461 + None, # 2462 + None, # 2463 + None, # 2464 + None, # 2465 + None, # 2466 + None, # 2467 + None, # 2468 + None, # 2469 + None, # 2470 + None, # 2471 + None, # 2472 + None, # 2473 + None, # 2474 + None, # 2475 + None, # 2476 + None, # 2477 + None, # 2478 + None, # 2479 + None, # 2480 + None, # 2481 + None, # 2482 + None, # 2483 + None, # 2484 + None, # 2485 + None, # 2486 + None, # 2487 + None, # 2488 + None, # 2489 + None, # 2490 + None, # 2491 + None, # 2492 + None, # 2493 + None, # 2494 + None, # 2495 + None, # 2496 + None, # 2497 + None, # 2498 + None, # 2499 + None, # 2500 + None, # 2501 + None, # 2502 + None, # 2503 + None, # 2504 + None, # 2505 + None, # 2506 + None, # 2507 + None, # 2508 + None, # 2509 + None, # 2510 + None, # 2511 + None, # 2512 + None, # 2513 + None, # 2514 + None, # 2515 + None, # 2516 + None, # 2517 + None, # 2518 + None, # 2519 + None, # 2520 + None, # 2521 + None, # 2522 + None, # 2523 + None, # 2524 + None, # 2525 + None, # 2526 + None, # 2527 + None, # 2528 + None, # 2529 + None, # 2530 + None, # 2531 + None, # 2532 + None, # 2533 + None, # 2534 + None, # 2535 + None, # 2536 + None, # 2537 + None, # 2538 + None, # 2539 + None, # 2540 + None, # 2541 + None, # 2542 + None, # 2543 + None, # 2544 + None, # 2545 + None, # 2546 + None, # 2547 + None, # 2548 + None, # 2549 + None, # 2550 + None, # 2551 + None, # 2552 + None, # 2553 + None, # 2554 + None, # 2555 + None, # 2556 + None, # 2557 + None, # 2558 + None, # 2559 + None, # 2560 + None, # 2561 + None, # 2562 + None, # 2563 + None, # 2564 + None, # 2565 + None, # 2566 + None, # 2567 + None, # 2568 + None, # 2569 + None, # 2570 + None, # 2571 + None, # 2572 + None, # 2573 + None, # 2574 + None, # 2575 + None, # 2576 + None, # 2577 + None, # 2578 + None, # 2579 + None, # 2580 + None, # 2581 + None, # 2582 + None, # 2583 + None, # 2584 + None, # 2585 + None, # 2586 + None, # 2587 + None, # 2588 + None, # 2589 + None, # 2590 + None, # 2591 + None, # 2592 + None, # 2593 + None, # 2594 + None, # 2595 + None, # 2596 + None, # 2597 + None, # 2598 + None, # 2599 + None, # 2600 + None, # 2601 + None, # 2602 + None, # 2603 + None, # 2604 + None, # 2605 + None, # 2606 + None, # 2607 + None, # 2608 + None, # 2609 + None, # 2610 + None, # 2611 + None, # 2612 + None, # 2613 + None, # 2614 + None, # 2615 + None, # 2616 + None, # 2617 + None, # 2618 + None, # 2619 + None, # 2620 + None, # 2621 + None, # 2622 + None, # 2623 + None, # 2624 + None, # 2625 + None, # 2626 + None, # 2627 + None, # 2628 + None, # 2629 + None, # 2630 + None, # 2631 + None, # 2632 + None, # 2633 + None, # 2634 + None, # 2635 + None, # 2636 + None, # 2637 + None, # 2638 + None, # 2639 + None, # 2640 + None, # 2641 + None, # 2642 + None, # 2643 + None, # 2644 + None, # 2645 + None, # 2646 + None, # 2647 + None, # 2648 + None, # 2649 + None, # 2650 + None, # 2651 + None, # 2652 + None, # 2653 + None, # 2654 + None, # 2655 + None, # 2656 + None, # 2657 + None, # 2658 + None, # 2659 + None, # 2660 + None, # 2661 + None, # 2662 + None, # 2663 + None, # 2664 + None, # 2665 + None, # 2666 + None, # 2667 + None, # 2668 + None, # 2669 + None, # 2670 + None, # 2671 + None, # 2672 + None, # 2673 + None, # 2674 + None, # 2675 + None, # 2676 + None, # 2677 + None, # 2678 + None, # 2679 + None, # 2680 + None, # 2681 + None, # 2682 + None, # 2683 + None, # 2684 + None, # 2685 + None, # 2686 + None, # 2687 + None, # 2688 + None, # 2689 + None, # 2690 + None, # 2691 + None, # 2692 + None, # 2693 + None, # 2694 + None, # 2695 + None, # 2696 + None, # 2697 + None, # 2698 + None, # 2699 + None, # 2700 + None, # 2701 + None, # 2702 + None, # 2703 + None, # 2704 + None, # 2705 + None, # 2706 + None, # 2707 + None, # 2708 + None, # 2709 + None, # 2710 + None, # 2711 + None, # 2712 + None, # 2713 + None, # 2714 + None, # 2715 + None, # 2716 + None, # 2717 + None, # 2718 + None, # 2719 + None, # 2720 + None, # 2721 + None, # 2722 + None, # 2723 + None, # 2724 + None, # 2725 + None, # 2726 + None, # 2727 + None, # 2728 + None, # 2729 + None, # 2730 + None, # 2731 + None, # 2732 + None, # 2733 + None, # 2734 + None, # 2735 + None, # 2736 + None, # 2737 + None, # 2738 + None, # 2739 + None, # 2740 + None, # 2741 + None, # 2742 + None, # 2743 + None, # 2744 + None, # 2745 + None, # 2746 + None, # 2747 + None, # 2748 + None, # 2749 + None, # 2750 + None, # 2751 + None, # 2752 + None, # 2753 + None, # 2754 + None, # 2755 + None, # 2756 + None, # 2757 + None, # 2758 + None, # 2759 + None, # 2760 + None, # 2761 + None, # 2762 + None, # 2763 + None, # 2764 + None, # 2765 + None, # 2766 + None, # 2767 + None, # 2768 + None, # 2769 + None, # 2770 + None, # 2771 + None, # 2772 + None, # 2773 + None, # 2774 + None, # 2775 + None, # 2776 + None, # 2777 + None, # 2778 + None, # 2779 + None, # 2780 + None, # 2781 + None, # 2782 + None, # 2783 + None, # 2784 + None, # 2785 + None, # 2786 + None, # 2787 + None, # 2788 + None, # 2789 + None, # 2790 + None, # 2791 + None, # 2792 + None, # 2793 + None, # 2794 + None, # 2795 + None, # 2796 + None, # 2797 + None, # 2798 + None, # 2799 + None, # 2800 + None, # 2801 + None, # 2802 + None, # 2803 + None, # 2804 + None, # 2805 + None, # 2806 + None, # 2807 + None, # 2808 + None, # 2809 + None, # 2810 + None, # 2811 + None, # 2812 + None, # 2813 + None, # 2814 + None, # 2815 + None, # 2816 + None, # 2817 + None, # 2818 + None, # 2819 + None, # 2820 + None, # 2821 + None, # 2822 + None, # 2823 + None, # 2824 + None, # 2825 + None, # 2826 + None, # 2827 + None, # 2828 + None, # 2829 + None, # 2830 + None, # 2831 + None, # 2832 + None, # 2833 + None, # 2834 + None, # 2835 + None, # 2836 + None, # 2837 + None, # 2838 + None, # 2839 + None, # 2840 + None, # 2841 + None, # 2842 + None, # 2843 + None, # 2844 + None, # 2845 + None, # 2846 + None, # 2847 + None, # 2848 + None, # 2849 + None, # 2850 + None, # 2851 + None, # 2852 + None, # 2853 + None, # 2854 + None, # 2855 + None, # 2856 + None, # 2857 + None, # 2858 + None, # 2859 + None, # 2860 + None, # 2861 + None, # 2862 + None, # 2863 + None, # 2864 + None, # 2865 + None, # 2866 + None, # 2867 + None, # 2868 + None, # 2869 + None, # 2870 + None, # 2871 + None, # 2872 + None, # 2873 + None, # 2874 + None, # 2875 + None, # 2876 + None, # 2877 + None, # 2878 + None, # 2879 + None, # 2880 + None, # 2881 + None, # 2882 + None, # 2883 + None, # 2884 + None, # 2885 + None, # 2886 + None, # 2887 + None, # 2888 + None, # 2889 + None, # 2890 + None, # 2891 + None, # 2892 + None, # 2893 + None, # 2894 + None, # 2895 + None, # 2896 + None, # 2897 + None, # 2898 + None, # 2899 + None, # 2900 + None, # 2901 + None, # 2902 + None, # 2903 + None, # 2904 + None, # 2905 + None, # 2906 + None, # 2907 + None, # 2908 + None, # 2909 + None, # 2910 + None, # 2911 + None, # 2912 + None, # 2913 + None, # 2914 + None, # 2915 + None, # 2916 + None, # 2917 + None, # 2918 + None, # 2919 + None, # 2920 + None, # 2921 + None, # 2922 + None, # 2923 + None, # 2924 + None, # 2925 + None, # 2926 + None, # 2927 + None, # 2928 + None, # 2929 + None, # 2930 + None, # 2931 + None, # 2932 + None, # 2933 + None, # 2934 + None, # 2935 + None, # 2936 + None, # 2937 + None, # 2938 + None, # 2939 + None, # 2940 + None, # 2941 + None, # 2942 + None, # 2943 + None, # 2944 + None, # 2945 + None, # 2946 + None, # 2947 + None, # 2948 + None, # 2949 + None, # 2950 + None, # 2951 + None, # 2952 + None, # 2953 + None, # 2954 + None, # 2955 + None, # 2956 + None, # 2957 + None, # 2958 + None, # 2959 + None, # 2960 + None, # 2961 + None, # 2962 + None, # 2963 + None, # 2964 + None, # 2965 + None, # 2966 + None, # 2967 + None, # 2968 + None, # 2969 + None, # 2970 + None, # 2971 + None, # 2972 + None, # 2973 + None, # 2974 + None, # 2975 + None, # 2976 + None, # 2977 + None, # 2978 + None, # 2979 + None, # 2980 + None, # 2981 + None, # 2982 + None, # 2983 + None, # 2984 + None, # 2985 + None, # 2986 + None, # 2987 + None, # 2988 + None, # 2989 + None, # 2990 + None, # 2991 + None, # 2992 + None, # 2993 + None, # 2994 + None, # 2995 + None, # 2996 + None, # 2997 + None, # 2998 + None, # 2999 + None, # 3000 + None, # 3001 + None, # 3002 + None, # 3003 + None, # 3004 + None, # 3005 + None, # 3006 + None, # 3007 + None, # 3008 + None, # 3009 + None, # 3010 + None, # 3011 + None, # 3012 + None, # 3013 + None, # 3014 + None, # 3015 + None, # 3016 + None, # 3017 + None, # 3018 + None, # 3019 + None, # 3020 + None, # 3021 + None, # 3022 + None, # 3023 + None, # 3024 + None, # 3025 + None, # 3026 + None, # 3027 + None, # 3028 + None, # 3029 + None, # 3030 + None, # 3031 + None, # 3032 + None, # 3033 + None, # 3034 + None, # 3035 + None, # 3036 + None, # 3037 + None, # 3038 + None, # 3039 + None, # 3040 + None, # 3041 + None, # 3042 + None, # 3043 + None, # 3044 + None, # 3045 + None, # 3046 + None, # 3047 + None, # 3048 + None, # 3049 + None, # 3050 + None, # 3051 + None, # 3052 + None, # 3053 + None, # 3054 + None, # 3055 + None, # 3056 + None, # 3057 + None, # 3058 + None, # 3059 + None, # 3060 + None, # 3061 + None, # 3062 + None, # 3063 + None, # 3064 + None, # 3065 + None, # 3066 + None, # 3067 + None, # 3068 + None, # 3069 + None, # 3070 + None, # 3071 + None, # 3072 + None, # 3073 + None, # 3074 + None, # 3075 + None, # 3076 + None, # 3077 + None, # 3078 + None, # 3079 + None, # 3080 + None, # 3081 + None, # 3082 + None, # 3083 + None, # 3084 + None, # 3085 + None, # 3086 + None, # 3087 + None, # 3088 + None, # 3089 + None, # 3090 + None, # 3091 + None, # 3092 + None, # 3093 + None, # 3094 + None, # 3095 + None, # 3096 + None, # 3097 + None, # 3098 + None, # 3099 + None, # 3100 + None, # 3101 + None, # 3102 + None, # 3103 + None, # 3104 + None, # 3105 + None, # 3106 + None, # 3107 + None, # 3108 + None, # 3109 + None, # 3110 + None, # 3111 + None, # 3112 + None, # 3113 + None, # 3114 + None, # 3115 + None, # 3116 + None, # 3117 + None, # 3118 + None, # 3119 + None, # 3120 + None, # 3121 + None, # 3122 + None, # 3123 + None, # 3124 + None, # 3125 + None, # 3126 + None, # 3127 + None, # 3128 + None, # 3129 + None, # 3130 + None, # 3131 + None, # 3132 + None, # 3133 + None, # 3134 + None, # 3135 + None, # 3136 + None, # 3137 + None, # 3138 + None, # 3139 + None, # 3140 + None, # 3141 + None, # 3142 + None, # 3143 + None, # 3144 + None, # 3145 + None, # 3146 + None, # 3147 + None, # 3148 + None, # 3149 + None, # 3150 + None, # 3151 + None, # 3152 + None, # 3153 + None, # 3154 + None, # 3155 + None, # 3156 + None, # 3157 + None, # 3158 + None, # 3159 + None, # 3160 + None, # 3161 + None, # 3162 + None, # 3163 + None, # 3164 + None, # 3165 + None, # 3166 + None, # 3167 + None, # 3168 + None, # 3169 + None, # 3170 + None, # 3171 + None, # 3172 + None, # 3173 + None, # 3174 + None, # 3175 + None, # 3176 + None, # 3177 + None, # 3178 + None, # 3179 + None, # 3180 + None, # 3181 + None, # 3182 + None, # 3183 + None, # 3184 + None, # 3185 + None, # 3186 + None, # 3187 + None, # 3188 + None, # 3189 + None, # 3190 + None, # 3191 + None, # 3192 + None, # 3193 + None, # 3194 + None, # 3195 + None, # 3196 + None, # 3197 + None, # 3198 + None, # 3199 + None, # 3200 + None, # 3201 + None, # 3202 + None, # 3203 + None, # 3204 + None, # 3205 + None, # 3206 + None, # 3207 + None, # 3208 + None, # 3209 + None, # 3210 + None, # 3211 + None, # 3212 + None, # 3213 + None, # 3214 + None, # 3215 + None, # 3216 + None, # 3217 + None, # 3218 + None, # 3219 + None, # 3220 + None, # 3221 + None, # 3222 + None, # 3223 + None, # 3224 + None, # 3225 + None, # 3226 + None, # 3227 + None, # 3228 + None, # 3229 + None, # 3230 + None, # 3231 + None, # 3232 + None, # 3233 + None, # 3234 + None, # 3235 + None, # 3236 + None, # 3237 + None, # 3238 + None, # 3239 + None, # 3240 + None, # 3241 + None, # 3242 + None, # 3243 + None, # 3244 + None, # 3245 + None, # 3246 + None, # 3247 + None, # 3248 + None, # 3249 + None, # 3250 + None, # 3251 + None, # 3252 + None, # 3253 + None, # 3254 + None, # 3255 + None, # 3256 + None, # 3257 + None, # 3258 + None, # 3259 + None, # 3260 + None, # 3261 + None, # 3262 + None, # 3263 + None, # 3264 + None, # 3265 + None, # 3266 + None, # 3267 + None, # 3268 + None, # 3269 + None, # 3270 + None, # 3271 + None, # 3272 + None, # 3273 + None, # 3274 + None, # 3275 + None, # 3276 + None, # 3277 + None, # 3278 + None, # 3279 + None, # 3280 + None, # 3281 + None, # 3282 + None, # 3283 + None, # 3284 + None, # 3285 + None, # 3286 + None, # 3287 + None, # 3288 + None, # 3289 + None, # 3290 + None, # 3291 + None, # 3292 + None, # 3293 + None, # 3294 + None, # 3295 + None, # 3296 + None, # 3297 + None, # 3298 + None, # 3299 + None, # 3300 + None, # 3301 + None, # 3302 + None, # 3303 + None, # 3304 + None, # 3305 + None, # 3306 + None, # 3307 + None, # 3308 + None, # 3309 + None, # 3310 + None, # 3311 + None, # 3312 + None, # 3313 + None, # 3314 + None, # 3315 + None, # 3316 + None, # 3317 + None, # 3318 + None, # 3319 + None, # 3320 + None, # 3321 + None, # 3322 + None, # 3323 + None, # 3324 + None, # 3325 + None, # 3326 + None, # 3327 + None, # 3328 + (3329, TType.I16, 'executionVersion', None, None, ), # 3329 ) all_structs.append(TSessionHandle) TSessionHandle.thrift_spec = ( - None, # 0 - (1, TType.STRUCT, 'sessionId', [THandleIdentifier, None], None, ), # 1 - None, # 2 - None, # 3 - None, # 4 - None, # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - None, # 1281 - None, # 1282 - None, # 1283 - None, # 1284 - None, # 1285 - None, # 1286 - None, # 1287 - None, # 1288 - None, # 1289 - None, # 1290 - None, # 1291 - None, # 1292 - None, # 1293 - None, # 1294 - None, # 1295 - None, # 1296 - None, # 1297 - None, # 1298 - None, # 1299 - None, # 1300 - None, # 1301 - None, # 1302 - None, # 1303 - None, # 1304 - None, # 1305 - None, # 1306 - None, # 1307 - None, # 1308 - None, # 1309 - None, # 1310 - None, # 1311 - None, # 1312 - None, # 1313 - None, # 1314 - None, # 1315 - None, # 1316 - None, # 1317 - None, # 1318 - None, # 1319 - None, # 1320 - None, # 1321 - None, # 1322 - None, # 1323 - None, # 1324 - None, # 1325 - None, # 1326 - None, # 1327 - None, # 1328 - None, # 1329 - None, # 1330 - None, # 1331 - None, # 1332 - None, # 1333 - None, # 1334 - None, # 1335 - None, # 1336 - None, # 1337 - None, # 1338 - None, # 1339 - None, # 1340 - None, # 1341 - None, # 1342 - None, # 1343 - None, # 1344 - None, # 1345 - None, # 1346 - None, # 1347 - None, # 1348 - None, # 1349 - None, # 1350 - None, # 1351 - None, # 1352 - None, # 1353 - None, # 1354 - None, # 1355 - None, # 1356 - None, # 1357 - None, # 1358 - None, # 1359 - None, # 1360 - None, # 1361 - None, # 1362 - None, # 1363 - None, # 1364 - None, # 1365 - None, # 1366 - None, # 1367 - None, # 1368 - None, # 1369 - None, # 1370 - None, # 1371 - None, # 1372 - None, # 1373 - None, # 1374 - None, # 1375 - None, # 1376 - None, # 1377 - None, # 1378 - None, # 1379 - None, # 1380 - None, # 1381 - None, # 1382 - None, # 1383 - None, # 1384 - None, # 1385 - None, # 1386 - None, # 1387 - None, # 1388 - None, # 1389 - None, # 1390 - None, # 1391 - None, # 1392 - None, # 1393 - None, # 1394 - None, # 1395 - None, # 1396 - None, # 1397 - None, # 1398 - None, # 1399 - None, # 1400 - None, # 1401 - None, # 1402 - None, # 1403 - None, # 1404 - None, # 1405 - None, # 1406 - None, # 1407 - None, # 1408 - None, # 1409 - None, # 1410 - None, # 1411 - None, # 1412 - None, # 1413 - None, # 1414 - None, # 1415 - None, # 1416 - None, # 1417 - None, # 1418 - None, # 1419 - None, # 1420 - None, # 1421 - None, # 1422 - None, # 1423 - None, # 1424 - None, # 1425 - None, # 1426 - None, # 1427 - None, # 1428 - None, # 1429 - None, # 1430 - None, # 1431 - None, # 1432 - None, # 1433 - None, # 1434 - None, # 1435 - None, # 1436 - None, # 1437 - None, # 1438 - None, # 1439 - None, # 1440 - None, # 1441 - None, # 1442 - None, # 1443 - None, # 1444 - None, # 1445 - None, # 1446 - None, # 1447 - None, # 1448 - None, # 1449 - None, # 1450 - None, # 1451 - None, # 1452 - None, # 1453 - None, # 1454 - None, # 1455 - None, # 1456 - None, # 1457 - None, # 1458 - None, # 1459 - None, # 1460 - None, # 1461 - None, # 1462 - None, # 1463 - None, # 1464 - None, # 1465 - None, # 1466 - None, # 1467 - None, # 1468 - None, # 1469 - None, # 1470 - None, # 1471 - None, # 1472 - None, # 1473 - None, # 1474 - None, # 1475 - None, # 1476 - None, # 1477 - None, # 1478 - None, # 1479 - None, # 1480 - None, # 1481 - None, # 1482 - None, # 1483 - None, # 1484 - None, # 1485 - None, # 1486 - None, # 1487 - None, # 1488 - None, # 1489 - None, # 1490 - None, # 1491 - None, # 1492 - None, # 1493 - None, # 1494 - None, # 1495 - None, # 1496 - None, # 1497 - None, # 1498 - None, # 1499 - None, # 1500 - None, # 1501 - None, # 1502 - None, # 1503 - None, # 1504 - None, # 1505 - None, # 1506 - None, # 1507 - None, # 1508 - None, # 1509 - None, # 1510 - None, # 1511 - None, # 1512 - None, # 1513 - None, # 1514 - None, # 1515 - None, # 1516 - None, # 1517 - None, # 1518 - None, # 1519 - None, # 1520 - None, # 1521 - None, # 1522 - None, # 1523 - None, # 1524 - None, # 1525 - None, # 1526 - None, # 1527 - None, # 1528 - None, # 1529 - None, # 1530 - None, # 1531 - None, # 1532 - None, # 1533 - None, # 1534 - None, # 1535 - None, # 1536 - None, # 1537 - None, # 1538 - None, # 1539 - None, # 1540 - None, # 1541 - None, # 1542 - None, # 1543 - None, # 1544 - None, # 1545 - None, # 1546 - None, # 1547 - None, # 1548 - None, # 1549 - None, # 1550 - None, # 1551 - None, # 1552 - None, # 1553 - None, # 1554 - None, # 1555 - None, # 1556 - None, # 1557 - None, # 1558 - None, # 1559 - None, # 1560 - None, # 1561 - None, # 1562 - None, # 1563 - None, # 1564 - None, # 1565 - None, # 1566 - None, # 1567 - None, # 1568 - None, # 1569 - None, # 1570 - None, # 1571 - None, # 1572 - None, # 1573 - None, # 1574 - None, # 1575 - None, # 1576 - None, # 1577 - None, # 1578 - None, # 1579 - None, # 1580 - None, # 1581 - None, # 1582 - None, # 1583 - None, # 1584 - None, # 1585 - None, # 1586 - None, # 1587 - None, # 1588 - None, # 1589 - None, # 1590 - None, # 1591 - None, # 1592 - None, # 1593 - None, # 1594 - None, # 1595 - None, # 1596 - None, # 1597 - None, # 1598 - None, # 1599 - None, # 1600 - None, # 1601 - None, # 1602 - None, # 1603 - None, # 1604 - None, # 1605 - None, # 1606 - None, # 1607 - None, # 1608 - None, # 1609 - None, # 1610 - None, # 1611 - None, # 1612 - None, # 1613 - None, # 1614 - None, # 1615 - None, # 1616 - None, # 1617 - None, # 1618 - None, # 1619 - None, # 1620 - None, # 1621 - None, # 1622 - None, # 1623 - None, # 1624 - None, # 1625 - None, # 1626 - None, # 1627 - None, # 1628 - None, # 1629 - None, # 1630 - None, # 1631 - None, # 1632 - None, # 1633 - None, # 1634 - None, # 1635 - None, # 1636 - None, # 1637 - None, # 1638 - None, # 1639 - None, # 1640 - None, # 1641 - None, # 1642 - None, # 1643 - None, # 1644 - None, # 1645 - None, # 1646 - None, # 1647 - None, # 1648 - None, # 1649 - None, # 1650 - None, # 1651 - None, # 1652 - None, # 1653 - None, # 1654 - None, # 1655 - None, # 1656 - None, # 1657 - None, # 1658 - None, # 1659 - None, # 1660 - None, # 1661 - None, # 1662 - None, # 1663 - None, # 1664 - None, # 1665 - None, # 1666 - None, # 1667 - None, # 1668 - None, # 1669 - None, # 1670 - None, # 1671 - None, # 1672 - None, # 1673 - None, # 1674 - None, # 1675 - None, # 1676 - None, # 1677 - None, # 1678 - None, # 1679 - None, # 1680 - None, # 1681 - None, # 1682 - None, # 1683 - None, # 1684 - None, # 1685 - None, # 1686 - None, # 1687 - None, # 1688 - None, # 1689 - None, # 1690 - None, # 1691 - None, # 1692 - None, # 1693 - None, # 1694 - None, # 1695 - None, # 1696 - None, # 1697 - None, # 1698 - None, # 1699 - None, # 1700 - None, # 1701 - None, # 1702 - None, # 1703 - None, # 1704 - None, # 1705 - None, # 1706 - None, # 1707 - None, # 1708 - None, # 1709 - None, # 1710 - None, # 1711 - None, # 1712 - None, # 1713 - None, # 1714 - None, # 1715 - None, # 1716 - None, # 1717 - None, # 1718 - None, # 1719 - None, # 1720 - None, # 1721 - None, # 1722 - None, # 1723 - None, # 1724 - None, # 1725 - None, # 1726 - None, # 1727 - None, # 1728 - None, # 1729 - None, # 1730 - None, # 1731 - None, # 1732 - None, # 1733 - None, # 1734 - None, # 1735 - None, # 1736 - None, # 1737 - None, # 1738 - None, # 1739 - None, # 1740 - None, # 1741 - None, # 1742 - None, # 1743 - None, # 1744 - None, # 1745 - None, # 1746 - None, # 1747 - None, # 1748 - None, # 1749 - None, # 1750 - None, # 1751 - None, # 1752 - None, # 1753 - None, # 1754 - None, # 1755 - None, # 1756 - None, # 1757 - None, # 1758 - None, # 1759 - None, # 1760 - None, # 1761 - None, # 1762 - None, # 1763 - None, # 1764 - None, # 1765 - None, # 1766 - None, # 1767 - None, # 1768 - None, # 1769 - None, # 1770 - None, # 1771 - None, # 1772 - None, # 1773 - None, # 1774 - None, # 1775 - None, # 1776 - None, # 1777 - None, # 1778 - None, # 1779 - None, # 1780 - None, # 1781 - None, # 1782 - None, # 1783 - None, # 1784 - None, # 1785 - None, # 1786 - None, # 1787 - None, # 1788 - None, # 1789 - None, # 1790 - None, # 1791 - None, # 1792 - None, # 1793 - None, # 1794 - None, # 1795 - None, # 1796 - None, # 1797 - None, # 1798 - None, # 1799 - None, # 1800 - None, # 1801 - None, # 1802 - None, # 1803 - None, # 1804 - None, # 1805 - None, # 1806 - None, # 1807 - None, # 1808 - None, # 1809 - None, # 1810 - None, # 1811 - None, # 1812 - None, # 1813 - None, # 1814 - None, # 1815 - None, # 1816 - None, # 1817 - None, # 1818 - None, # 1819 - None, # 1820 - None, # 1821 - None, # 1822 - None, # 1823 - None, # 1824 - None, # 1825 - None, # 1826 - None, # 1827 - None, # 1828 - None, # 1829 - None, # 1830 - None, # 1831 - None, # 1832 - None, # 1833 - None, # 1834 - None, # 1835 - None, # 1836 - None, # 1837 - None, # 1838 - None, # 1839 - None, # 1840 - None, # 1841 - None, # 1842 - None, # 1843 - None, # 1844 - None, # 1845 - None, # 1846 - None, # 1847 - None, # 1848 - None, # 1849 - None, # 1850 - None, # 1851 - None, # 1852 - None, # 1853 - None, # 1854 - None, # 1855 - None, # 1856 - None, # 1857 - None, # 1858 - None, # 1859 - None, # 1860 - None, # 1861 - None, # 1862 - None, # 1863 - None, # 1864 - None, # 1865 - None, # 1866 - None, # 1867 - None, # 1868 - None, # 1869 - None, # 1870 - None, # 1871 - None, # 1872 - None, # 1873 - None, # 1874 - None, # 1875 - None, # 1876 - None, # 1877 - None, # 1878 - None, # 1879 - None, # 1880 - None, # 1881 - None, # 1882 - None, # 1883 - None, # 1884 - None, # 1885 - None, # 1886 - None, # 1887 - None, # 1888 - None, # 1889 - None, # 1890 - None, # 1891 - None, # 1892 - None, # 1893 - None, # 1894 - None, # 1895 - None, # 1896 - None, # 1897 - None, # 1898 - None, # 1899 - None, # 1900 - None, # 1901 - None, # 1902 - None, # 1903 - None, # 1904 - None, # 1905 - None, # 1906 - None, # 1907 - None, # 1908 - None, # 1909 - None, # 1910 - None, # 1911 - None, # 1912 - None, # 1913 - None, # 1914 - None, # 1915 - None, # 1916 - None, # 1917 - None, # 1918 - None, # 1919 - None, # 1920 - None, # 1921 - None, # 1922 - None, # 1923 - None, # 1924 - None, # 1925 - None, # 1926 - None, # 1927 - None, # 1928 - None, # 1929 - None, # 1930 - None, # 1931 - None, # 1932 - None, # 1933 - None, # 1934 - None, # 1935 - None, # 1936 - None, # 1937 - None, # 1938 - None, # 1939 - None, # 1940 - None, # 1941 - None, # 1942 - None, # 1943 - None, # 1944 - None, # 1945 - None, # 1946 - None, # 1947 - None, # 1948 - None, # 1949 - None, # 1950 - None, # 1951 - None, # 1952 - None, # 1953 - None, # 1954 - None, # 1955 - None, # 1956 - None, # 1957 - None, # 1958 - None, # 1959 - None, # 1960 - None, # 1961 - None, # 1962 - None, # 1963 - None, # 1964 - None, # 1965 - None, # 1966 - None, # 1967 - None, # 1968 - None, # 1969 - None, # 1970 - None, # 1971 - None, # 1972 - None, # 1973 - None, # 1974 - None, # 1975 - None, # 1976 - None, # 1977 - None, # 1978 - None, # 1979 - None, # 1980 - None, # 1981 - None, # 1982 - None, # 1983 - None, # 1984 - None, # 1985 - None, # 1986 - None, # 1987 - None, # 1988 - None, # 1989 - None, # 1990 - None, # 1991 - None, # 1992 - None, # 1993 - None, # 1994 - None, # 1995 - None, # 1996 - None, # 1997 - None, # 1998 - None, # 1999 - None, # 2000 - None, # 2001 - None, # 2002 - None, # 2003 - None, # 2004 - None, # 2005 - None, # 2006 - None, # 2007 - None, # 2008 - None, # 2009 - None, # 2010 - None, # 2011 - None, # 2012 - None, # 2013 - None, # 2014 - None, # 2015 - None, # 2016 - None, # 2017 - None, # 2018 - None, # 2019 - None, # 2020 - None, # 2021 - None, # 2022 - None, # 2023 - None, # 2024 - None, # 2025 - None, # 2026 - None, # 2027 - None, # 2028 - None, # 2029 - None, # 2030 - None, # 2031 - None, # 2032 - None, # 2033 - None, # 2034 - None, # 2035 - None, # 2036 - None, # 2037 - None, # 2038 - None, # 2039 - None, # 2040 - None, # 2041 - None, # 2042 - None, # 2043 - None, # 2044 - None, # 2045 - None, # 2046 - None, # 2047 - None, # 2048 - None, # 2049 - None, # 2050 - None, # 2051 - None, # 2052 - None, # 2053 - None, # 2054 - None, # 2055 - None, # 2056 - None, # 2057 - None, # 2058 - None, # 2059 - None, # 2060 - None, # 2061 - None, # 2062 - None, # 2063 - None, # 2064 - None, # 2065 - None, # 2066 - None, # 2067 - None, # 2068 - None, # 2069 - None, # 2070 - None, # 2071 - None, # 2072 - None, # 2073 - None, # 2074 - None, # 2075 - None, # 2076 - None, # 2077 - None, # 2078 - None, # 2079 - None, # 2080 - None, # 2081 - None, # 2082 - None, # 2083 - None, # 2084 - None, # 2085 - None, # 2086 - None, # 2087 - None, # 2088 - None, # 2089 - None, # 2090 - None, # 2091 - None, # 2092 - None, # 2093 - None, # 2094 - None, # 2095 - None, # 2096 - None, # 2097 - None, # 2098 - None, # 2099 - None, # 2100 - None, # 2101 - None, # 2102 - None, # 2103 - None, # 2104 - None, # 2105 - None, # 2106 - None, # 2107 - None, # 2108 - None, # 2109 - None, # 2110 - None, # 2111 - None, # 2112 - None, # 2113 - None, # 2114 - None, # 2115 - None, # 2116 - None, # 2117 - None, # 2118 - None, # 2119 - None, # 2120 - None, # 2121 - None, # 2122 - None, # 2123 - None, # 2124 - None, # 2125 - None, # 2126 - None, # 2127 - None, # 2128 - None, # 2129 - None, # 2130 - None, # 2131 - None, # 2132 - None, # 2133 - None, # 2134 - None, # 2135 - None, # 2136 - None, # 2137 - None, # 2138 - None, # 2139 - None, # 2140 - None, # 2141 - None, # 2142 - None, # 2143 - None, # 2144 - None, # 2145 - None, # 2146 - None, # 2147 - None, # 2148 - None, # 2149 - None, # 2150 - None, # 2151 - None, # 2152 - None, # 2153 - None, # 2154 - None, # 2155 - None, # 2156 - None, # 2157 - None, # 2158 - None, # 2159 - None, # 2160 - None, # 2161 - None, # 2162 - None, # 2163 - None, # 2164 - None, # 2165 - None, # 2166 - None, # 2167 - None, # 2168 - None, # 2169 - None, # 2170 - None, # 2171 - None, # 2172 - None, # 2173 - None, # 2174 - None, # 2175 - None, # 2176 - None, # 2177 - None, # 2178 - None, # 2179 - None, # 2180 - None, # 2181 - None, # 2182 - None, # 2183 - None, # 2184 - None, # 2185 - None, # 2186 - None, # 2187 - None, # 2188 - None, # 2189 - None, # 2190 - None, # 2191 - None, # 2192 - None, # 2193 - None, # 2194 - None, # 2195 - None, # 2196 - None, # 2197 - None, # 2198 - None, # 2199 - None, # 2200 - None, # 2201 - None, # 2202 - None, # 2203 - None, # 2204 - None, # 2205 - None, # 2206 - None, # 2207 - None, # 2208 - None, # 2209 - None, # 2210 - None, # 2211 - None, # 2212 - None, # 2213 - None, # 2214 - None, # 2215 - None, # 2216 - None, # 2217 - None, # 2218 - None, # 2219 - None, # 2220 - None, # 2221 - None, # 2222 - None, # 2223 - None, # 2224 - None, # 2225 - None, # 2226 - None, # 2227 - None, # 2228 - None, # 2229 - None, # 2230 - None, # 2231 - None, # 2232 - None, # 2233 - None, # 2234 - None, # 2235 - None, # 2236 - None, # 2237 - None, # 2238 - None, # 2239 - None, # 2240 - None, # 2241 - None, # 2242 - None, # 2243 - None, # 2244 - None, # 2245 - None, # 2246 - None, # 2247 - None, # 2248 - None, # 2249 - None, # 2250 - None, # 2251 - None, # 2252 - None, # 2253 - None, # 2254 - None, # 2255 - None, # 2256 - None, # 2257 - None, # 2258 - None, # 2259 - None, # 2260 - None, # 2261 - None, # 2262 - None, # 2263 - None, # 2264 - None, # 2265 - None, # 2266 - None, # 2267 - None, # 2268 - None, # 2269 - None, # 2270 - None, # 2271 - None, # 2272 - None, # 2273 - None, # 2274 - None, # 2275 - None, # 2276 - None, # 2277 - None, # 2278 - None, # 2279 - None, # 2280 - None, # 2281 - None, # 2282 - None, # 2283 - None, # 2284 - None, # 2285 - None, # 2286 - None, # 2287 - None, # 2288 - None, # 2289 - None, # 2290 - None, # 2291 - None, # 2292 - None, # 2293 - None, # 2294 - None, # 2295 - None, # 2296 - None, # 2297 - None, # 2298 - None, # 2299 - None, # 2300 - None, # 2301 - None, # 2302 - None, # 2303 - None, # 2304 - None, # 2305 - None, # 2306 - None, # 2307 - None, # 2308 - None, # 2309 - None, # 2310 - None, # 2311 - None, # 2312 - None, # 2313 - None, # 2314 - None, # 2315 - None, # 2316 - None, # 2317 - None, # 2318 - None, # 2319 - None, # 2320 - None, # 2321 - None, # 2322 - None, # 2323 - None, # 2324 - None, # 2325 - None, # 2326 - None, # 2327 - None, # 2328 - None, # 2329 - None, # 2330 - None, # 2331 - None, # 2332 - None, # 2333 - None, # 2334 - None, # 2335 - None, # 2336 - None, # 2337 - None, # 2338 - None, # 2339 - None, # 2340 - None, # 2341 - None, # 2342 - None, # 2343 - None, # 2344 - None, # 2345 - None, # 2346 - None, # 2347 - None, # 2348 - None, # 2349 - None, # 2350 - None, # 2351 - None, # 2352 - None, # 2353 - None, # 2354 - None, # 2355 - None, # 2356 - None, # 2357 - None, # 2358 - None, # 2359 - None, # 2360 - None, # 2361 - None, # 2362 - None, # 2363 - None, # 2364 - None, # 2365 - None, # 2366 - None, # 2367 - None, # 2368 - None, # 2369 - None, # 2370 - None, # 2371 - None, # 2372 - None, # 2373 - None, # 2374 - None, # 2375 - None, # 2376 - None, # 2377 - None, # 2378 - None, # 2379 - None, # 2380 - None, # 2381 - None, # 2382 - None, # 2383 - None, # 2384 - None, # 2385 - None, # 2386 - None, # 2387 - None, # 2388 - None, # 2389 - None, # 2390 - None, # 2391 - None, # 2392 - None, # 2393 - None, # 2394 - None, # 2395 - None, # 2396 - None, # 2397 - None, # 2398 - None, # 2399 - None, # 2400 - None, # 2401 - None, # 2402 - None, # 2403 - None, # 2404 - None, # 2405 - None, # 2406 - None, # 2407 - None, # 2408 - None, # 2409 - None, # 2410 - None, # 2411 - None, # 2412 - None, # 2413 - None, # 2414 - None, # 2415 - None, # 2416 - None, # 2417 - None, # 2418 - None, # 2419 - None, # 2420 - None, # 2421 - None, # 2422 - None, # 2423 - None, # 2424 - None, # 2425 - None, # 2426 - None, # 2427 - None, # 2428 - None, # 2429 - None, # 2430 - None, # 2431 - None, # 2432 - None, # 2433 - None, # 2434 - None, # 2435 - None, # 2436 - None, # 2437 - None, # 2438 - None, # 2439 - None, # 2440 - None, # 2441 - None, # 2442 - None, # 2443 - None, # 2444 - None, # 2445 - None, # 2446 - None, # 2447 - None, # 2448 - None, # 2449 - None, # 2450 - None, # 2451 - None, # 2452 - None, # 2453 - None, # 2454 - None, # 2455 - None, # 2456 - None, # 2457 - None, # 2458 - None, # 2459 - None, # 2460 - None, # 2461 - None, # 2462 - None, # 2463 - None, # 2464 - None, # 2465 - None, # 2466 - None, # 2467 - None, # 2468 - None, # 2469 - None, # 2470 - None, # 2471 - None, # 2472 - None, # 2473 - None, # 2474 - None, # 2475 - None, # 2476 - None, # 2477 - None, # 2478 - None, # 2479 - None, # 2480 - None, # 2481 - None, # 2482 - None, # 2483 - None, # 2484 - None, # 2485 - None, # 2486 - None, # 2487 - None, # 2488 - None, # 2489 - None, # 2490 - None, # 2491 - None, # 2492 - None, # 2493 - None, # 2494 - None, # 2495 - None, # 2496 - None, # 2497 - None, # 2498 - None, # 2499 - None, # 2500 - None, # 2501 - None, # 2502 - None, # 2503 - None, # 2504 - None, # 2505 - None, # 2506 - None, # 2507 - None, # 2508 - None, # 2509 - None, # 2510 - None, # 2511 - None, # 2512 - None, # 2513 - None, # 2514 - None, # 2515 - None, # 2516 - None, # 2517 - None, # 2518 - None, # 2519 - None, # 2520 - None, # 2521 - None, # 2522 - None, # 2523 - None, # 2524 - None, # 2525 - None, # 2526 - None, # 2527 - None, # 2528 - None, # 2529 - None, # 2530 - None, # 2531 - None, # 2532 - None, # 2533 - None, # 2534 - None, # 2535 - None, # 2536 - None, # 2537 - None, # 2538 - None, # 2539 - None, # 2540 - None, # 2541 - None, # 2542 - None, # 2543 - None, # 2544 - None, # 2545 - None, # 2546 - None, # 2547 - None, # 2548 - None, # 2549 - None, # 2550 - None, # 2551 - None, # 2552 - None, # 2553 - None, # 2554 - None, # 2555 - None, # 2556 - None, # 2557 - None, # 2558 - None, # 2559 - None, # 2560 - None, # 2561 - None, # 2562 - None, # 2563 - None, # 2564 - None, # 2565 - None, # 2566 - None, # 2567 - None, # 2568 - None, # 2569 - None, # 2570 - None, # 2571 - None, # 2572 - None, # 2573 - None, # 2574 - None, # 2575 - None, # 2576 - None, # 2577 - None, # 2578 - None, # 2579 - None, # 2580 - None, # 2581 - None, # 2582 - None, # 2583 - None, # 2584 - None, # 2585 - None, # 2586 - None, # 2587 - None, # 2588 - None, # 2589 - None, # 2590 - None, # 2591 - None, # 2592 - None, # 2593 - None, # 2594 - None, # 2595 - None, # 2596 - None, # 2597 - None, # 2598 - None, # 2599 - None, # 2600 - None, # 2601 - None, # 2602 - None, # 2603 - None, # 2604 - None, # 2605 - None, # 2606 - None, # 2607 - None, # 2608 - None, # 2609 - None, # 2610 - None, # 2611 - None, # 2612 - None, # 2613 - None, # 2614 - None, # 2615 - None, # 2616 - None, # 2617 - None, # 2618 - None, # 2619 - None, # 2620 - None, # 2621 - None, # 2622 - None, # 2623 - None, # 2624 - None, # 2625 - None, # 2626 - None, # 2627 - None, # 2628 - None, # 2629 - None, # 2630 - None, # 2631 - None, # 2632 - None, # 2633 - None, # 2634 - None, # 2635 - None, # 2636 - None, # 2637 - None, # 2638 - None, # 2639 - None, # 2640 - None, # 2641 - None, # 2642 - None, # 2643 - None, # 2644 - None, # 2645 - None, # 2646 - None, # 2647 - None, # 2648 - None, # 2649 - None, # 2650 - None, # 2651 - None, # 2652 - None, # 2653 - None, # 2654 - None, # 2655 - None, # 2656 - None, # 2657 - None, # 2658 - None, # 2659 - None, # 2660 - None, # 2661 - None, # 2662 - None, # 2663 - None, # 2664 - None, # 2665 - None, # 2666 - None, # 2667 - None, # 2668 - None, # 2669 - None, # 2670 - None, # 2671 - None, # 2672 - None, # 2673 - None, # 2674 - None, # 2675 - None, # 2676 - None, # 2677 - None, # 2678 - None, # 2679 - None, # 2680 - None, # 2681 - None, # 2682 - None, # 2683 - None, # 2684 - None, # 2685 - None, # 2686 - None, # 2687 - None, # 2688 - None, # 2689 - None, # 2690 - None, # 2691 - None, # 2692 - None, # 2693 - None, # 2694 - None, # 2695 - None, # 2696 - None, # 2697 - None, # 2698 - None, # 2699 - None, # 2700 - None, # 2701 - None, # 2702 - None, # 2703 - None, # 2704 - None, # 2705 - None, # 2706 - None, # 2707 - None, # 2708 - None, # 2709 - None, # 2710 - None, # 2711 - None, # 2712 - None, # 2713 - None, # 2714 - None, # 2715 - None, # 2716 - None, # 2717 - None, # 2718 - None, # 2719 - None, # 2720 - None, # 2721 - None, # 2722 - None, # 2723 - None, # 2724 - None, # 2725 - None, # 2726 - None, # 2727 - None, # 2728 - None, # 2729 - None, # 2730 - None, # 2731 - None, # 2732 - None, # 2733 - None, # 2734 - None, # 2735 - None, # 2736 - None, # 2737 - None, # 2738 - None, # 2739 - None, # 2740 - None, # 2741 - None, # 2742 - None, # 2743 - None, # 2744 - None, # 2745 - None, # 2746 - None, # 2747 - None, # 2748 - None, # 2749 - None, # 2750 - None, # 2751 - None, # 2752 - None, # 2753 - None, # 2754 - None, # 2755 - None, # 2756 - None, # 2757 - None, # 2758 - None, # 2759 - None, # 2760 - None, # 2761 - None, # 2762 - None, # 2763 - None, # 2764 - None, # 2765 - None, # 2766 - None, # 2767 - None, # 2768 - None, # 2769 - None, # 2770 - None, # 2771 - None, # 2772 - None, # 2773 - None, # 2774 - None, # 2775 - None, # 2776 - None, # 2777 - None, # 2778 - None, # 2779 - None, # 2780 - None, # 2781 - None, # 2782 - None, # 2783 - None, # 2784 - None, # 2785 - None, # 2786 - None, # 2787 - None, # 2788 - None, # 2789 - None, # 2790 - None, # 2791 - None, # 2792 - None, # 2793 - None, # 2794 - None, # 2795 - None, # 2796 - None, # 2797 - None, # 2798 - None, # 2799 - None, # 2800 - None, # 2801 - None, # 2802 - None, # 2803 - None, # 2804 - None, # 2805 - None, # 2806 - None, # 2807 - None, # 2808 - None, # 2809 - None, # 2810 - None, # 2811 - None, # 2812 - None, # 2813 - None, # 2814 - None, # 2815 - None, # 2816 - None, # 2817 - None, # 2818 - None, # 2819 - None, # 2820 - None, # 2821 - None, # 2822 - None, # 2823 - None, # 2824 - None, # 2825 - None, # 2826 - None, # 2827 - None, # 2828 - None, # 2829 - None, # 2830 - None, # 2831 - None, # 2832 - None, # 2833 - None, # 2834 - None, # 2835 - None, # 2836 - None, # 2837 - None, # 2838 - None, # 2839 - None, # 2840 - None, # 2841 - None, # 2842 - None, # 2843 - None, # 2844 - None, # 2845 - None, # 2846 - None, # 2847 - None, # 2848 - None, # 2849 - None, # 2850 - None, # 2851 - None, # 2852 - None, # 2853 - None, # 2854 - None, # 2855 - None, # 2856 - None, # 2857 - None, # 2858 - None, # 2859 - None, # 2860 - None, # 2861 - None, # 2862 - None, # 2863 - None, # 2864 - None, # 2865 - None, # 2866 - None, # 2867 - None, # 2868 - None, # 2869 - None, # 2870 - None, # 2871 - None, # 2872 - None, # 2873 - None, # 2874 - None, # 2875 - None, # 2876 - None, # 2877 - None, # 2878 - None, # 2879 - None, # 2880 - None, # 2881 - None, # 2882 - None, # 2883 - None, # 2884 - None, # 2885 - None, # 2886 - None, # 2887 - None, # 2888 - None, # 2889 - None, # 2890 - None, # 2891 - None, # 2892 - None, # 2893 - None, # 2894 - None, # 2895 - None, # 2896 - None, # 2897 - None, # 2898 - None, # 2899 - None, # 2900 - None, # 2901 - None, # 2902 - None, # 2903 - None, # 2904 - None, # 2905 - None, # 2906 - None, # 2907 - None, # 2908 - None, # 2909 - None, # 2910 - None, # 2911 - None, # 2912 - None, # 2913 - None, # 2914 - None, # 2915 - None, # 2916 - None, # 2917 - None, # 2918 - None, # 2919 - None, # 2920 - None, # 2921 - None, # 2922 - None, # 2923 - None, # 2924 - None, # 2925 - None, # 2926 - None, # 2927 - None, # 2928 - None, # 2929 - None, # 2930 - None, # 2931 - None, # 2932 - None, # 2933 - None, # 2934 - None, # 2935 - None, # 2936 - None, # 2937 - None, # 2938 - None, # 2939 - None, # 2940 - None, # 2941 - None, # 2942 - None, # 2943 - None, # 2944 - None, # 2945 - None, # 2946 - None, # 2947 - None, # 2948 - None, # 2949 - None, # 2950 - None, # 2951 - None, # 2952 - None, # 2953 - None, # 2954 - None, # 2955 - None, # 2956 - None, # 2957 - None, # 2958 - None, # 2959 - None, # 2960 - None, # 2961 - None, # 2962 - None, # 2963 - None, # 2964 - None, # 2965 - None, # 2966 - None, # 2967 - None, # 2968 - None, # 2969 - None, # 2970 - None, # 2971 - None, # 2972 - None, # 2973 - None, # 2974 - None, # 2975 - None, # 2976 - None, # 2977 - None, # 2978 - None, # 2979 - None, # 2980 - None, # 2981 - None, # 2982 - None, # 2983 - None, # 2984 - None, # 2985 - None, # 2986 - None, # 2987 - None, # 2988 - None, # 2989 - None, # 2990 - None, # 2991 - None, # 2992 - None, # 2993 - None, # 2994 - None, # 2995 - None, # 2996 - None, # 2997 - None, # 2998 - None, # 2999 - None, # 3000 - None, # 3001 - None, # 3002 - None, # 3003 - None, # 3004 - None, # 3005 - None, # 3006 - None, # 3007 - None, # 3008 - None, # 3009 - None, # 3010 - None, # 3011 - None, # 3012 - None, # 3013 - None, # 3014 - None, # 3015 - None, # 3016 - None, # 3017 - None, # 3018 - None, # 3019 - None, # 3020 - None, # 3021 - None, # 3022 - None, # 3023 - None, # 3024 - None, # 3025 - None, # 3026 - None, # 3027 - None, # 3028 - None, # 3029 - None, # 3030 - None, # 3031 - None, # 3032 - None, # 3033 - None, # 3034 - None, # 3035 - None, # 3036 - None, # 3037 - None, # 3038 - None, # 3039 - None, # 3040 - None, # 3041 - None, # 3042 - None, # 3043 - None, # 3044 - None, # 3045 - None, # 3046 - None, # 3047 - None, # 3048 - None, # 3049 - None, # 3050 - None, # 3051 - None, # 3052 - None, # 3053 - None, # 3054 - None, # 3055 - None, # 3056 - None, # 3057 - None, # 3058 - None, # 3059 - None, # 3060 - None, # 3061 - None, # 3062 - None, # 3063 - None, # 3064 - None, # 3065 - None, # 3066 - None, # 3067 - None, # 3068 - None, # 3069 - None, # 3070 - None, # 3071 - None, # 3072 - None, # 3073 - None, # 3074 - None, # 3075 - None, # 3076 - None, # 3077 - None, # 3078 - None, # 3079 - None, # 3080 - None, # 3081 - None, # 3082 - None, # 3083 - None, # 3084 - None, # 3085 - None, # 3086 - None, # 3087 - None, # 3088 - None, # 3089 - None, # 3090 - None, # 3091 - None, # 3092 - None, # 3093 - None, # 3094 - None, # 3095 - None, # 3096 - None, # 3097 - None, # 3098 - None, # 3099 - None, # 3100 - None, # 3101 - None, # 3102 - None, # 3103 - None, # 3104 - None, # 3105 - None, # 3106 - None, # 3107 - None, # 3108 - None, # 3109 - None, # 3110 - None, # 3111 - None, # 3112 - None, # 3113 - None, # 3114 - None, # 3115 - None, # 3116 - None, # 3117 - None, # 3118 - None, # 3119 - None, # 3120 - None, # 3121 - None, # 3122 - None, # 3123 - None, # 3124 - None, # 3125 - None, # 3126 - None, # 3127 - None, # 3128 - None, # 3129 - None, # 3130 - None, # 3131 - None, # 3132 - None, # 3133 - None, # 3134 - None, # 3135 - None, # 3136 - None, # 3137 - None, # 3138 - None, # 3139 - None, # 3140 - None, # 3141 - None, # 3142 - None, # 3143 - None, # 3144 - None, # 3145 - None, # 3146 - None, # 3147 - None, # 3148 - None, # 3149 - None, # 3150 - None, # 3151 - None, # 3152 - None, # 3153 - None, # 3154 - None, # 3155 - None, # 3156 - None, # 3157 - None, # 3158 - None, # 3159 - None, # 3160 - None, # 3161 - None, # 3162 - None, # 3163 - None, # 3164 - None, # 3165 - None, # 3166 - None, # 3167 - None, # 3168 - None, # 3169 - None, # 3170 - None, # 3171 - None, # 3172 - None, # 3173 - None, # 3174 - None, # 3175 - None, # 3176 - None, # 3177 - None, # 3178 - None, # 3179 - None, # 3180 - None, # 3181 - None, # 3182 - None, # 3183 - None, # 3184 - None, # 3185 - None, # 3186 - None, # 3187 - None, # 3188 - None, # 3189 - None, # 3190 - None, # 3191 - None, # 3192 - None, # 3193 - None, # 3194 - None, # 3195 - None, # 3196 - None, # 3197 - None, # 3198 - None, # 3199 - None, # 3200 - None, # 3201 - None, # 3202 - None, # 3203 - None, # 3204 - None, # 3205 - None, # 3206 - None, # 3207 - None, # 3208 - None, # 3209 - None, # 3210 - None, # 3211 - None, # 3212 - None, # 3213 - None, # 3214 - None, # 3215 - None, # 3216 - None, # 3217 - None, # 3218 - None, # 3219 - None, # 3220 - None, # 3221 - None, # 3222 - None, # 3223 - None, # 3224 - None, # 3225 - None, # 3226 - None, # 3227 - None, # 3228 - None, # 3229 - None, # 3230 - None, # 3231 - None, # 3232 - None, # 3233 - None, # 3234 - None, # 3235 - None, # 3236 - None, # 3237 - None, # 3238 - None, # 3239 - None, # 3240 - None, # 3241 - None, # 3242 - None, # 3243 - None, # 3244 - None, # 3245 - None, # 3246 - None, # 3247 - None, # 3248 - None, # 3249 - None, # 3250 - None, # 3251 - None, # 3252 - None, # 3253 - None, # 3254 - None, # 3255 - None, # 3256 - None, # 3257 - None, # 3258 - None, # 3259 - None, # 3260 - None, # 3261 - None, # 3262 - None, # 3263 - None, # 3264 - None, # 3265 - None, # 3266 - None, # 3267 - None, # 3268 - None, # 3269 - None, # 3270 - None, # 3271 - None, # 3272 - None, # 3273 - None, # 3274 - None, # 3275 - None, # 3276 - None, # 3277 - None, # 3278 - None, # 3279 - None, # 3280 - None, # 3281 - None, # 3282 - None, # 3283 - None, # 3284 - None, # 3285 - None, # 3286 - None, # 3287 - None, # 3288 - None, # 3289 - None, # 3290 - None, # 3291 - None, # 3292 - None, # 3293 - None, # 3294 - None, # 3295 - None, # 3296 - None, # 3297 - None, # 3298 - None, # 3299 - None, # 3300 - None, # 3301 - None, # 3302 - None, # 3303 - None, # 3304 - None, # 3305 - None, # 3306 - None, # 3307 - None, # 3308 - None, # 3309 - None, # 3310 - None, # 3311 - None, # 3312 - None, # 3313 - None, # 3314 - None, # 3315 - None, # 3316 - None, # 3317 - None, # 3318 - None, # 3319 - None, # 3320 - None, # 3321 - None, # 3322 - None, # 3323 - None, # 3324 - None, # 3325 - None, # 3326 - None, # 3327 - None, # 3328 - (3329, TType.I32, 'serverProtocolVersion', None, None, ), # 3329 + None, # 0 + (1, TType.STRUCT, 'sessionId', [THandleIdentifier, None], None, ), # 1 + None, # 2 + None, # 3 + None, # 4 + None, # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + None, # 1281 + None, # 1282 + None, # 1283 + None, # 1284 + None, # 1285 + None, # 1286 + None, # 1287 + None, # 1288 + None, # 1289 + None, # 1290 + None, # 1291 + None, # 1292 + None, # 1293 + None, # 1294 + None, # 1295 + None, # 1296 + None, # 1297 + None, # 1298 + None, # 1299 + None, # 1300 + None, # 1301 + None, # 1302 + None, # 1303 + None, # 1304 + None, # 1305 + None, # 1306 + None, # 1307 + None, # 1308 + None, # 1309 + None, # 1310 + None, # 1311 + None, # 1312 + None, # 1313 + None, # 1314 + None, # 1315 + None, # 1316 + None, # 1317 + None, # 1318 + None, # 1319 + None, # 1320 + None, # 1321 + None, # 1322 + None, # 1323 + None, # 1324 + None, # 1325 + None, # 1326 + None, # 1327 + None, # 1328 + None, # 1329 + None, # 1330 + None, # 1331 + None, # 1332 + None, # 1333 + None, # 1334 + None, # 1335 + None, # 1336 + None, # 1337 + None, # 1338 + None, # 1339 + None, # 1340 + None, # 1341 + None, # 1342 + None, # 1343 + None, # 1344 + None, # 1345 + None, # 1346 + None, # 1347 + None, # 1348 + None, # 1349 + None, # 1350 + None, # 1351 + None, # 1352 + None, # 1353 + None, # 1354 + None, # 1355 + None, # 1356 + None, # 1357 + None, # 1358 + None, # 1359 + None, # 1360 + None, # 1361 + None, # 1362 + None, # 1363 + None, # 1364 + None, # 1365 + None, # 1366 + None, # 1367 + None, # 1368 + None, # 1369 + None, # 1370 + None, # 1371 + None, # 1372 + None, # 1373 + None, # 1374 + None, # 1375 + None, # 1376 + None, # 1377 + None, # 1378 + None, # 1379 + None, # 1380 + None, # 1381 + None, # 1382 + None, # 1383 + None, # 1384 + None, # 1385 + None, # 1386 + None, # 1387 + None, # 1388 + None, # 1389 + None, # 1390 + None, # 1391 + None, # 1392 + None, # 1393 + None, # 1394 + None, # 1395 + None, # 1396 + None, # 1397 + None, # 1398 + None, # 1399 + None, # 1400 + None, # 1401 + None, # 1402 + None, # 1403 + None, # 1404 + None, # 1405 + None, # 1406 + None, # 1407 + None, # 1408 + None, # 1409 + None, # 1410 + None, # 1411 + None, # 1412 + None, # 1413 + None, # 1414 + None, # 1415 + None, # 1416 + None, # 1417 + None, # 1418 + None, # 1419 + None, # 1420 + None, # 1421 + None, # 1422 + None, # 1423 + None, # 1424 + None, # 1425 + None, # 1426 + None, # 1427 + None, # 1428 + None, # 1429 + None, # 1430 + None, # 1431 + None, # 1432 + None, # 1433 + None, # 1434 + None, # 1435 + None, # 1436 + None, # 1437 + None, # 1438 + None, # 1439 + None, # 1440 + None, # 1441 + None, # 1442 + None, # 1443 + None, # 1444 + None, # 1445 + None, # 1446 + None, # 1447 + None, # 1448 + None, # 1449 + None, # 1450 + None, # 1451 + None, # 1452 + None, # 1453 + None, # 1454 + None, # 1455 + None, # 1456 + None, # 1457 + None, # 1458 + None, # 1459 + None, # 1460 + None, # 1461 + None, # 1462 + None, # 1463 + None, # 1464 + None, # 1465 + None, # 1466 + None, # 1467 + None, # 1468 + None, # 1469 + None, # 1470 + None, # 1471 + None, # 1472 + None, # 1473 + None, # 1474 + None, # 1475 + None, # 1476 + None, # 1477 + None, # 1478 + None, # 1479 + None, # 1480 + None, # 1481 + None, # 1482 + None, # 1483 + None, # 1484 + None, # 1485 + None, # 1486 + None, # 1487 + None, # 1488 + None, # 1489 + None, # 1490 + None, # 1491 + None, # 1492 + None, # 1493 + None, # 1494 + None, # 1495 + None, # 1496 + None, # 1497 + None, # 1498 + None, # 1499 + None, # 1500 + None, # 1501 + None, # 1502 + None, # 1503 + None, # 1504 + None, # 1505 + None, # 1506 + None, # 1507 + None, # 1508 + None, # 1509 + None, # 1510 + None, # 1511 + None, # 1512 + None, # 1513 + None, # 1514 + None, # 1515 + None, # 1516 + None, # 1517 + None, # 1518 + None, # 1519 + None, # 1520 + None, # 1521 + None, # 1522 + None, # 1523 + None, # 1524 + None, # 1525 + None, # 1526 + None, # 1527 + None, # 1528 + None, # 1529 + None, # 1530 + None, # 1531 + None, # 1532 + None, # 1533 + None, # 1534 + None, # 1535 + None, # 1536 + None, # 1537 + None, # 1538 + None, # 1539 + None, # 1540 + None, # 1541 + None, # 1542 + None, # 1543 + None, # 1544 + None, # 1545 + None, # 1546 + None, # 1547 + None, # 1548 + None, # 1549 + None, # 1550 + None, # 1551 + None, # 1552 + None, # 1553 + None, # 1554 + None, # 1555 + None, # 1556 + None, # 1557 + None, # 1558 + None, # 1559 + None, # 1560 + None, # 1561 + None, # 1562 + None, # 1563 + None, # 1564 + None, # 1565 + None, # 1566 + None, # 1567 + None, # 1568 + None, # 1569 + None, # 1570 + None, # 1571 + None, # 1572 + None, # 1573 + None, # 1574 + None, # 1575 + None, # 1576 + None, # 1577 + None, # 1578 + None, # 1579 + None, # 1580 + None, # 1581 + None, # 1582 + None, # 1583 + None, # 1584 + None, # 1585 + None, # 1586 + None, # 1587 + None, # 1588 + None, # 1589 + None, # 1590 + None, # 1591 + None, # 1592 + None, # 1593 + None, # 1594 + None, # 1595 + None, # 1596 + None, # 1597 + None, # 1598 + None, # 1599 + None, # 1600 + None, # 1601 + None, # 1602 + None, # 1603 + None, # 1604 + None, # 1605 + None, # 1606 + None, # 1607 + None, # 1608 + None, # 1609 + None, # 1610 + None, # 1611 + None, # 1612 + None, # 1613 + None, # 1614 + None, # 1615 + None, # 1616 + None, # 1617 + None, # 1618 + None, # 1619 + None, # 1620 + None, # 1621 + None, # 1622 + None, # 1623 + None, # 1624 + None, # 1625 + None, # 1626 + None, # 1627 + None, # 1628 + None, # 1629 + None, # 1630 + None, # 1631 + None, # 1632 + None, # 1633 + None, # 1634 + None, # 1635 + None, # 1636 + None, # 1637 + None, # 1638 + None, # 1639 + None, # 1640 + None, # 1641 + None, # 1642 + None, # 1643 + None, # 1644 + None, # 1645 + None, # 1646 + None, # 1647 + None, # 1648 + None, # 1649 + None, # 1650 + None, # 1651 + None, # 1652 + None, # 1653 + None, # 1654 + None, # 1655 + None, # 1656 + None, # 1657 + None, # 1658 + None, # 1659 + None, # 1660 + None, # 1661 + None, # 1662 + None, # 1663 + None, # 1664 + None, # 1665 + None, # 1666 + None, # 1667 + None, # 1668 + None, # 1669 + None, # 1670 + None, # 1671 + None, # 1672 + None, # 1673 + None, # 1674 + None, # 1675 + None, # 1676 + None, # 1677 + None, # 1678 + None, # 1679 + None, # 1680 + None, # 1681 + None, # 1682 + None, # 1683 + None, # 1684 + None, # 1685 + None, # 1686 + None, # 1687 + None, # 1688 + None, # 1689 + None, # 1690 + None, # 1691 + None, # 1692 + None, # 1693 + None, # 1694 + None, # 1695 + None, # 1696 + None, # 1697 + None, # 1698 + None, # 1699 + None, # 1700 + None, # 1701 + None, # 1702 + None, # 1703 + None, # 1704 + None, # 1705 + None, # 1706 + None, # 1707 + None, # 1708 + None, # 1709 + None, # 1710 + None, # 1711 + None, # 1712 + None, # 1713 + None, # 1714 + None, # 1715 + None, # 1716 + None, # 1717 + None, # 1718 + None, # 1719 + None, # 1720 + None, # 1721 + None, # 1722 + None, # 1723 + None, # 1724 + None, # 1725 + None, # 1726 + None, # 1727 + None, # 1728 + None, # 1729 + None, # 1730 + None, # 1731 + None, # 1732 + None, # 1733 + None, # 1734 + None, # 1735 + None, # 1736 + None, # 1737 + None, # 1738 + None, # 1739 + None, # 1740 + None, # 1741 + None, # 1742 + None, # 1743 + None, # 1744 + None, # 1745 + None, # 1746 + None, # 1747 + None, # 1748 + None, # 1749 + None, # 1750 + None, # 1751 + None, # 1752 + None, # 1753 + None, # 1754 + None, # 1755 + None, # 1756 + None, # 1757 + None, # 1758 + None, # 1759 + None, # 1760 + None, # 1761 + None, # 1762 + None, # 1763 + None, # 1764 + None, # 1765 + None, # 1766 + None, # 1767 + None, # 1768 + None, # 1769 + None, # 1770 + None, # 1771 + None, # 1772 + None, # 1773 + None, # 1774 + None, # 1775 + None, # 1776 + None, # 1777 + None, # 1778 + None, # 1779 + None, # 1780 + None, # 1781 + None, # 1782 + None, # 1783 + None, # 1784 + None, # 1785 + None, # 1786 + None, # 1787 + None, # 1788 + None, # 1789 + None, # 1790 + None, # 1791 + None, # 1792 + None, # 1793 + None, # 1794 + None, # 1795 + None, # 1796 + None, # 1797 + None, # 1798 + None, # 1799 + None, # 1800 + None, # 1801 + None, # 1802 + None, # 1803 + None, # 1804 + None, # 1805 + None, # 1806 + None, # 1807 + None, # 1808 + None, # 1809 + None, # 1810 + None, # 1811 + None, # 1812 + None, # 1813 + None, # 1814 + None, # 1815 + None, # 1816 + None, # 1817 + None, # 1818 + None, # 1819 + None, # 1820 + None, # 1821 + None, # 1822 + None, # 1823 + None, # 1824 + None, # 1825 + None, # 1826 + None, # 1827 + None, # 1828 + None, # 1829 + None, # 1830 + None, # 1831 + None, # 1832 + None, # 1833 + None, # 1834 + None, # 1835 + None, # 1836 + None, # 1837 + None, # 1838 + None, # 1839 + None, # 1840 + None, # 1841 + None, # 1842 + None, # 1843 + None, # 1844 + None, # 1845 + None, # 1846 + None, # 1847 + None, # 1848 + None, # 1849 + None, # 1850 + None, # 1851 + None, # 1852 + None, # 1853 + None, # 1854 + None, # 1855 + None, # 1856 + None, # 1857 + None, # 1858 + None, # 1859 + None, # 1860 + None, # 1861 + None, # 1862 + None, # 1863 + None, # 1864 + None, # 1865 + None, # 1866 + None, # 1867 + None, # 1868 + None, # 1869 + None, # 1870 + None, # 1871 + None, # 1872 + None, # 1873 + None, # 1874 + None, # 1875 + None, # 1876 + None, # 1877 + None, # 1878 + None, # 1879 + None, # 1880 + None, # 1881 + None, # 1882 + None, # 1883 + None, # 1884 + None, # 1885 + None, # 1886 + None, # 1887 + None, # 1888 + None, # 1889 + None, # 1890 + None, # 1891 + None, # 1892 + None, # 1893 + None, # 1894 + None, # 1895 + None, # 1896 + None, # 1897 + None, # 1898 + None, # 1899 + None, # 1900 + None, # 1901 + None, # 1902 + None, # 1903 + None, # 1904 + None, # 1905 + None, # 1906 + None, # 1907 + None, # 1908 + None, # 1909 + None, # 1910 + None, # 1911 + None, # 1912 + None, # 1913 + None, # 1914 + None, # 1915 + None, # 1916 + None, # 1917 + None, # 1918 + None, # 1919 + None, # 1920 + None, # 1921 + None, # 1922 + None, # 1923 + None, # 1924 + None, # 1925 + None, # 1926 + None, # 1927 + None, # 1928 + None, # 1929 + None, # 1930 + None, # 1931 + None, # 1932 + None, # 1933 + None, # 1934 + None, # 1935 + None, # 1936 + None, # 1937 + None, # 1938 + None, # 1939 + None, # 1940 + None, # 1941 + None, # 1942 + None, # 1943 + None, # 1944 + None, # 1945 + None, # 1946 + None, # 1947 + None, # 1948 + None, # 1949 + None, # 1950 + None, # 1951 + None, # 1952 + None, # 1953 + None, # 1954 + None, # 1955 + None, # 1956 + None, # 1957 + None, # 1958 + None, # 1959 + None, # 1960 + None, # 1961 + None, # 1962 + None, # 1963 + None, # 1964 + None, # 1965 + None, # 1966 + None, # 1967 + None, # 1968 + None, # 1969 + None, # 1970 + None, # 1971 + None, # 1972 + None, # 1973 + None, # 1974 + None, # 1975 + None, # 1976 + None, # 1977 + None, # 1978 + None, # 1979 + None, # 1980 + None, # 1981 + None, # 1982 + None, # 1983 + None, # 1984 + None, # 1985 + None, # 1986 + None, # 1987 + None, # 1988 + None, # 1989 + None, # 1990 + None, # 1991 + None, # 1992 + None, # 1993 + None, # 1994 + None, # 1995 + None, # 1996 + None, # 1997 + None, # 1998 + None, # 1999 + None, # 2000 + None, # 2001 + None, # 2002 + None, # 2003 + None, # 2004 + None, # 2005 + None, # 2006 + None, # 2007 + None, # 2008 + None, # 2009 + None, # 2010 + None, # 2011 + None, # 2012 + None, # 2013 + None, # 2014 + None, # 2015 + None, # 2016 + None, # 2017 + None, # 2018 + None, # 2019 + None, # 2020 + None, # 2021 + None, # 2022 + None, # 2023 + None, # 2024 + None, # 2025 + None, # 2026 + None, # 2027 + None, # 2028 + None, # 2029 + None, # 2030 + None, # 2031 + None, # 2032 + None, # 2033 + None, # 2034 + None, # 2035 + None, # 2036 + None, # 2037 + None, # 2038 + None, # 2039 + None, # 2040 + None, # 2041 + None, # 2042 + None, # 2043 + None, # 2044 + None, # 2045 + None, # 2046 + None, # 2047 + None, # 2048 + None, # 2049 + None, # 2050 + None, # 2051 + None, # 2052 + None, # 2053 + None, # 2054 + None, # 2055 + None, # 2056 + None, # 2057 + None, # 2058 + None, # 2059 + None, # 2060 + None, # 2061 + None, # 2062 + None, # 2063 + None, # 2064 + None, # 2065 + None, # 2066 + None, # 2067 + None, # 2068 + None, # 2069 + None, # 2070 + None, # 2071 + None, # 2072 + None, # 2073 + None, # 2074 + None, # 2075 + None, # 2076 + None, # 2077 + None, # 2078 + None, # 2079 + None, # 2080 + None, # 2081 + None, # 2082 + None, # 2083 + None, # 2084 + None, # 2085 + None, # 2086 + None, # 2087 + None, # 2088 + None, # 2089 + None, # 2090 + None, # 2091 + None, # 2092 + None, # 2093 + None, # 2094 + None, # 2095 + None, # 2096 + None, # 2097 + None, # 2098 + None, # 2099 + None, # 2100 + None, # 2101 + None, # 2102 + None, # 2103 + None, # 2104 + None, # 2105 + None, # 2106 + None, # 2107 + None, # 2108 + None, # 2109 + None, # 2110 + None, # 2111 + None, # 2112 + None, # 2113 + None, # 2114 + None, # 2115 + None, # 2116 + None, # 2117 + None, # 2118 + None, # 2119 + None, # 2120 + None, # 2121 + None, # 2122 + None, # 2123 + None, # 2124 + None, # 2125 + None, # 2126 + None, # 2127 + None, # 2128 + None, # 2129 + None, # 2130 + None, # 2131 + None, # 2132 + None, # 2133 + None, # 2134 + None, # 2135 + None, # 2136 + None, # 2137 + None, # 2138 + None, # 2139 + None, # 2140 + None, # 2141 + None, # 2142 + None, # 2143 + None, # 2144 + None, # 2145 + None, # 2146 + None, # 2147 + None, # 2148 + None, # 2149 + None, # 2150 + None, # 2151 + None, # 2152 + None, # 2153 + None, # 2154 + None, # 2155 + None, # 2156 + None, # 2157 + None, # 2158 + None, # 2159 + None, # 2160 + None, # 2161 + None, # 2162 + None, # 2163 + None, # 2164 + None, # 2165 + None, # 2166 + None, # 2167 + None, # 2168 + None, # 2169 + None, # 2170 + None, # 2171 + None, # 2172 + None, # 2173 + None, # 2174 + None, # 2175 + None, # 2176 + None, # 2177 + None, # 2178 + None, # 2179 + None, # 2180 + None, # 2181 + None, # 2182 + None, # 2183 + None, # 2184 + None, # 2185 + None, # 2186 + None, # 2187 + None, # 2188 + None, # 2189 + None, # 2190 + None, # 2191 + None, # 2192 + None, # 2193 + None, # 2194 + None, # 2195 + None, # 2196 + None, # 2197 + None, # 2198 + None, # 2199 + None, # 2200 + None, # 2201 + None, # 2202 + None, # 2203 + None, # 2204 + None, # 2205 + None, # 2206 + None, # 2207 + None, # 2208 + None, # 2209 + None, # 2210 + None, # 2211 + None, # 2212 + None, # 2213 + None, # 2214 + None, # 2215 + None, # 2216 + None, # 2217 + None, # 2218 + None, # 2219 + None, # 2220 + None, # 2221 + None, # 2222 + None, # 2223 + None, # 2224 + None, # 2225 + None, # 2226 + None, # 2227 + None, # 2228 + None, # 2229 + None, # 2230 + None, # 2231 + None, # 2232 + None, # 2233 + None, # 2234 + None, # 2235 + None, # 2236 + None, # 2237 + None, # 2238 + None, # 2239 + None, # 2240 + None, # 2241 + None, # 2242 + None, # 2243 + None, # 2244 + None, # 2245 + None, # 2246 + None, # 2247 + None, # 2248 + None, # 2249 + None, # 2250 + None, # 2251 + None, # 2252 + None, # 2253 + None, # 2254 + None, # 2255 + None, # 2256 + None, # 2257 + None, # 2258 + None, # 2259 + None, # 2260 + None, # 2261 + None, # 2262 + None, # 2263 + None, # 2264 + None, # 2265 + None, # 2266 + None, # 2267 + None, # 2268 + None, # 2269 + None, # 2270 + None, # 2271 + None, # 2272 + None, # 2273 + None, # 2274 + None, # 2275 + None, # 2276 + None, # 2277 + None, # 2278 + None, # 2279 + None, # 2280 + None, # 2281 + None, # 2282 + None, # 2283 + None, # 2284 + None, # 2285 + None, # 2286 + None, # 2287 + None, # 2288 + None, # 2289 + None, # 2290 + None, # 2291 + None, # 2292 + None, # 2293 + None, # 2294 + None, # 2295 + None, # 2296 + None, # 2297 + None, # 2298 + None, # 2299 + None, # 2300 + None, # 2301 + None, # 2302 + None, # 2303 + None, # 2304 + None, # 2305 + None, # 2306 + None, # 2307 + None, # 2308 + None, # 2309 + None, # 2310 + None, # 2311 + None, # 2312 + None, # 2313 + None, # 2314 + None, # 2315 + None, # 2316 + None, # 2317 + None, # 2318 + None, # 2319 + None, # 2320 + None, # 2321 + None, # 2322 + None, # 2323 + None, # 2324 + None, # 2325 + None, # 2326 + None, # 2327 + None, # 2328 + None, # 2329 + None, # 2330 + None, # 2331 + None, # 2332 + None, # 2333 + None, # 2334 + None, # 2335 + None, # 2336 + None, # 2337 + None, # 2338 + None, # 2339 + None, # 2340 + None, # 2341 + None, # 2342 + None, # 2343 + None, # 2344 + None, # 2345 + None, # 2346 + None, # 2347 + None, # 2348 + None, # 2349 + None, # 2350 + None, # 2351 + None, # 2352 + None, # 2353 + None, # 2354 + None, # 2355 + None, # 2356 + None, # 2357 + None, # 2358 + None, # 2359 + None, # 2360 + None, # 2361 + None, # 2362 + None, # 2363 + None, # 2364 + None, # 2365 + None, # 2366 + None, # 2367 + None, # 2368 + None, # 2369 + None, # 2370 + None, # 2371 + None, # 2372 + None, # 2373 + None, # 2374 + None, # 2375 + None, # 2376 + None, # 2377 + None, # 2378 + None, # 2379 + None, # 2380 + None, # 2381 + None, # 2382 + None, # 2383 + None, # 2384 + None, # 2385 + None, # 2386 + None, # 2387 + None, # 2388 + None, # 2389 + None, # 2390 + None, # 2391 + None, # 2392 + None, # 2393 + None, # 2394 + None, # 2395 + None, # 2396 + None, # 2397 + None, # 2398 + None, # 2399 + None, # 2400 + None, # 2401 + None, # 2402 + None, # 2403 + None, # 2404 + None, # 2405 + None, # 2406 + None, # 2407 + None, # 2408 + None, # 2409 + None, # 2410 + None, # 2411 + None, # 2412 + None, # 2413 + None, # 2414 + None, # 2415 + None, # 2416 + None, # 2417 + None, # 2418 + None, # 2419 + None, # 2420 + None, # 2421 + None, # 2422 + None, # 2423 + None, # 2424 + None, # 2425 + None, # 2426 + None, # 2427 + None, # 2428 + None, # 2429 + None, # 2430 + None, # 2431 + None, # 2432 + None, # 2433 + None, # 2434 + None, # 2435 + None, # 2436 + None, # 2437 + None, # 2438 + None, # 2439 + None, # 2440 + None, # 2441 + None, # 2442 + None, # 2443 + None, # 2444 + None, # 2445 + None, # 2446 + None, # 2447 + None, # 2448 + None, # 2449 + None, # 2450 + None, # 2451 + None, # 2452 + None, # 2453 + None, # 2454 + None, # 2455 + None, # 2456 + None, # 2457 + None, # 2458 + None, # 2459 + None, # 2460 + None, # 2461 + None, # 2462 + None, # 2463 + None, # 2464 + None, # 2465 + None, # 2466 + None, # 2467 + None, # 2468 + None, # 2469 + None, # 2470 + None, # 2471 + None, # 2472 + None, # 2473 + None, # 2474 + None, # 2475 + None, # 2476 + None, # 2477 + None, # 2478 + None, # 2479 + None, # 2480 + None, # 2481 + None, # 2482 + None, # 2483 + None, # 2484 + None, # 2485 + None, # 2486 + None, # 2487 + None, # 2488 + None, # 2489 + None, # 2490 + None, # 2491 + None, # 2492 + None, # 2493 + None, # 2494 + None, # 2495 + None, # 2496 + None, # 2497 + None, # 2498 + None, # 2499 + None, # 2500 + None, # 2501 + None, # 2502 + None, # 2503 + None, # 2504 + None, # 2505 + None, # 2506 + None, # 2507 + None, # 2508 + None, # 2509 + None, # 2510 + None, # 2511 + None, # 2512 + None, # 2513 + None, # 2514 + None, # 2515 + None, # 2516 + None, # 2517 + None, # 2518 + None, # 2519 + None, # 2520 + None, # 2521 + None, # 2522 + None, # 2523 + None, # 2524 + None, # 2525 + None, # 2526 + None, # 2527 + None, # 2528 + None, # 2529 + None, # 2530 + None, # 2531 + None, # 2532 + None, # 2533 + None, # 2534 + None, # 2535 + None, # 2536 + None, # 2537 + None, # 2538 + None, # 2539 + None, # 2540 + None, # 2541 + None, # 2542 + None, # 2543 + None, # 2544 + None, # 2545 + None, # 2546 + None, # 2547 + None, # 2548 + None, # 2549 + None, # 2550 + None, # 2551 + None, # 2552 + None, # 2553 + None, # 2554 + None, # 2555 + None, # 2556 + None, # 2557 + None, # 2558 + None, # 2559 + None, # 2560 + None, # 2561 + None, # 2562 + None, # 2563 + None, # 2564 + None, # 2565 + None, # 2566 + None, # 2567 + None, # 2568 + None, # 2569 + None, # 2570 + None, # 2571 + None, # 2572 + None, # 2573 + None, # 2574 + None, # 2575 + None, # 2576 + None, # 2577 + None, # 2578 + None, # 2579 + None, # 2580 + None, # 2581 + None, # 2582 + None, # 2583 + None, # 2584 + None, # 2585 + None, # 2586 + None, # 2587 + None, # 2588 + None, # 2589 + None, # 2590 + None, # 2591 + None, # 2592 + None, # 2593 + None, # 2594 + None, # 2595 + None, # 2596 + None, # 2597 + None, # 2598 + None, # 2599 + None, # 2600 + None, # 2601 + None, # 2602 + None, # 2603 + None, # 2604 + None, # 2605 + None, # 2606 + None, # 2607 + None, # 2608 + None, # 2609 + None, # 2610 + None, # 2611 + None, # 2612 + None, # 2613 + None, # 2614 + None, # 2615 + None, # 2616 + None, # 2617 + None, # 2618 + None, # 2619 + None, # 2620 + None, # 2621 + None, # 2622 + None, # 2623 + None, # 2624 + None, # 2625 + None, # 2626 + None, # 2627 + None, # 2628 + None, # 2629 + None, # 2630 + None, # 2631 + None, # 2632 + None, # 2633 + None, # 2634 + None, # 2635 + None, # 2636 + None, # 2637 + None, # 2638 + None, # 2639 + None, # 2640 + None, # 2641 + None, # 2642 + None, # 2643 + None, # 2644 + None, # 2645 + None, # 2646 + None, # 2647 + None, # 2648 + None, # 2649 + None, # 2650 + None, # 2651 + None, # 2652 + None, # 2653 + None, # 2654 + None, # 2655 + None, # 2656 + None, # 2657 + None, # 2658 + None, # 2659 + None, # 2660 + None, # 2661 + None, # 2662 + None, # 2663 + None, # 2664 + None, # 2665 + None, # 2666 + None, # 2667 + None, # 2668 + None, # 2669 + None, # 2670 + None, # 2671 + None, # 2672 + None, # 2673 + None, # 2674 + None, # 2675 + None, # 2676 + None, # 2677 + None, # 2678 + None, # 2679 + None, # 2680 + None, # 2681 + None, # 2682 + None, # 2683 + None, # 2684 + None, # 2685 + None, # 2686 + None, # 2687 + None, # 2688 + None, # 2689 + None, # 2690 + None, # 2691 + None, # 2692 + None, # 2693 + None, # 2694 + None, # 2695 + None, # 2696 + None, # 2697 + None, # 2698 + None, # 2699 + None, # 2700 + None, # 2701 + None, # 2702 + None, # 2703 + None, # 2704 + None, # 2705 + None, # 2706 + None, # 2707 + None, # 2708 + None, # 2709 + None, # 2710 + None, # 2711 + None, # 2712 + None, # 2713 + None, # 2714 + None, # 2715 + None, # 2716 + None, # 2717 + None, # 2718 + None, # 2719 + None, # 2720 + None, # 2721 + None, # 2722 + None, # 2723 + None, # 2724 + None, # 2725 + None, # 2726 + None, # 2727 + None, # 2728 + None, # 2729 + None, # 2730 + None, # 2731 + None, # 2732 + None, # 2733 + None, # 2734 + None, # 2735 + None, # 2736 + None, # 2737 + None, # 2738 + None, # 2739 + None, # 2740 + None, # 2741 + None, # 2742 + None, # 2743 + None, # 2744 + None, # 2745 + None, # 2746 + None, # 2747 + None, # 2748 + None, # 2749 + None, # 2750 + None, # 2751 + None, # 2752 + None, # 2753 + None, # 2754 + None, # 2755 + None, # 2756 + None, # 2757 + None, # 2758 + None, # 2759 + None, # 2760 + None, # 2761 + None, # 2762 + None, # 2763 + None, # 2764 + None, # 2765 + None, # 2766 + None, # 2767 + None, # 2768 + None, # 2769 + None, # 2770 + None, # 2771 + None, # 2772 + None, # 2773 + None, # 2774 + None, # 2775 + None, # 2776 + None, # 2777 + None, # 2778 + None, # 2779 + None, # 2780 + None, # 2781 + None, # 2782 + None, # 2783 + None, # 2784 + None, # 2785 + None, # 2786 + None, # 2787 + None, # 2788 + None, # 2789 + None, # 2790 + None, # 2791 + None, # 2792 + None, # 2793 + None, # 2794 + None, # 2795 + None, # 2796 + None, # 2797 + None, # 2798 + None, # 2799 + None, # 2800 + None, # 2801 + None, # 2802 + None, # 2803 + None, # 2804 + None, # 2805 + None, # 2806 + None, # 2807 + None, # 2808 + None, # 2809 + None, # 2810 + None, # 2811 + None, # 2812 + None, # 2813 + None, # 2814 + None, # 2815 + None, # 2816 + None, # 2817 + None, # 2818 + None, # 2819 + None, # 2820 + None, # 2821 + None, # 2822 + None, # 2823 + None, # 2824 + None, # 2825 + None, # 2826 + None, # 2827 + None, # 2828 + None, # 2829 + None, # 2830 + None, # 2831 + None, # 2832 + None, # 2833 + None, # 2834 + None, # 2835 + None, # 2836 + None, # 2837 + None, # 2838 + None, # 2839 + None, # 2840 + None, # 2841 + None, # 2842 + None, # 2843 + None, # 2844 + None, # 2845 + None, # 2846 + None, # 2847 + None, # 2848 + None, # 2849 + None, # 2850 + None, # 2851 + None, # 2852 + None, # 2853 + None, # 2854 + None, # 2855 + None, # 2856 + None, # 2857 + None, # 2858 + None, # 2859 + None, # 2860 + None, # 2861 + None, # 2862 + None, # 2863 + None, # 2864 + None, # 2865 + None, # 2866 + None, # 2867 + None, # 2868 + None, # 2869 + None, # 2870 + None, # 2871 + None, # 2872 + None, # 2873 + None, # 2874 + None, # 2875 + None, # 2876 + None, # 2877 + None, # 2878 + None, # 2879 + None, # 2880 + None, # 2881 + None, # 2882 + None, # 2883 + None, # 2884 + None, # 2885 + None, # 2886 + None, # 2887 + None, # 2888 + None, # 2889 + None, # 2890 + None, # 2891 + None, # 2892 + None, # 2893 + None, # 2894 + None, # 2895 + None, # 2896 + None, # 2897 + None, # 2898 + None, # 2899 + None, # 2900 + None, # 2901 + None, # 2902 + None, # 2903 + None, # 2904 + None, # 2905 + None, # 2906 + None, # 2907 + None, # 2908 + None, # 2909 + None, # 2910 + None, # 2911 + None, # 2912 + None, # 2913 + None, # 2914 + None, # 2915 + None, # 2916 + None, # 2917 + None, # 2918 + None, # 2919 + None, # 2920 + None, # 2921 + None, # 2922 + None, # 2923 + None, # 2924 + None, # 2925 + None, # 2926 + None, # 2927 + None, # 2928 + None, # 2929 + None, # 2930 + None, # 2931 + None, # 2932 + None, # 2933 + None, # 2934 + None, # 2935 + None, # 2936 + None, # 2937 + None, # 2938 + None, # 2939 + None, # 2940 + None, # 2941 + None, # 2942 + None, # 2943 + None, # 2944 + None, # 2945 + None, # 2946 + None, # 2947 + None, # 2948 + None, # 2949 + None, # 2950 + None, # 2951 + None, # 2952 + None, # 2953 + None, # 2954 + None, # 2955 + None, # 2956 + None, # 2957 + None, # 2958 + None, # 2959 + None, # 2960 + None, # 2961 + None, # 2962 + None, # 2963 + None, # 2964 + None, # 2965 + None, # 2966 + None, # 2967 + None, # 2968 + None, # 2969 + None, # 2970 + None, # 2971 + None, # 2972 + None, # 2973 + None, # 2974 + None, # 2975 + None, # 2976 + None, # 2977 + None, # 2978 + None, # 2979 + None, # 2980 + None, # 2981 + None, # 2982 + None, # 2983 + None, # 2984 + None, # 2985 + None, # 2986 + None, # 2987 + None, # 2988 + None, # 2989 + None, # 2990 + None, # 2991 + None, # 2992 + None, # 2993 + None, # 2994 + None, # 2995 + None, # 2996 + None, # 2997 + None, # 2998 + None, # 2999 + None, # 3000 + None, # 3001 + None, # 3002 + None, # 3003 + None, # 3004 + None, # 3005 + None, # 3006 + None, # 3007 + None, # 3008 + None, # 3009 + None, # 3010 + None, # 3011 + None, # 3012 + None, # 3013 + None, # 3014 + None, # 3015 + None, # 3016 + None, # 3017 + None, # 3018 + None, # 3019 + None, # 3020 + None, # 3021 + None, # 3022 + None, # 3023 + None, # 3024 + None, # 3025 + None, # 3026 + None, # 3027 + None, # 3028 + None, # 3029 + None, # 3030 + None, # 3031 + None, # 3032 + None, # 3033 + None, # 3034 + None, # 3035 + None, # 3036 + None, # 3037 + None, # 3038 + None, # 3039 + None, # 3040 + None, # 3041 + None, # 3042 + None, # 3043 + None, # 3044 + None, # 3045 + None, # 3046 + None, # 3047 + None, # 3048 + None, # 3049 + None, # 3050 + None, # 3051 + None, # 3052 + None, # 3053 + None, # 3054 + None, # 3055 + None, # 3056 + None, # 3057 + None, # 3058 + None, # 3059 + None, # 3060 + None, # 3061 + None, # 3062 + None, # 3063 + None, # 3064 + None, # 3065 + None, # 3066 + None, # 3067 + None, # 3068 + None, # 3069 + None, # 3070 + None, # 3071 + None, # 3072 + None, # 3073 + None, # 3074 + None, # 3075 + None, # 3076 + None, # 3077 + None, # 3078 + None, # 3079 + None, # 3080 + None, # 3081 + None, # 3082 + None, # 3083 + None, # 3084 + None, # 3085 + None, # 3086 + None, # 3087 + None, # 3088 + None, # 3089 + None, # 3090 + None, # 3091 + None, # 3092 + None, # 3093 + None, # 3094 + None, # 3095 + None, # 3096 + None, # 3097 + None, # 3098 + None, # 3099 + None, # 3100 + None, # 3101 + None, # 3102 + None, # 3103 + None, # 3104 + None, # 3105 + None, # 3106 + None, # 3107 + None, # 3108 + None, # 3109 + None, # 3110 + None, # 3111 + None, # 3112 + None, # 3113 + None, # 3114 + None, # 3115 + None, # 3116 + None, # 3117 + None, # 3118 + None, # 3119 + None, # 3120 + None, # 3121 + None, # 3122 + None, # 3123 + None, # 3124 + None, # 3125 + None, # 3126 + None, # 3127 + None, # 3128 + None, # 3129 + None, # 3130 + None, # 3131 + None, # 3132 + None, # 3133 + None, # 3134 + None, # 3135 + None, # 3136 + None, # 3137 + None, # 3138 + None, # 3139 + None, # 3140 + None, # 3141 + None, # 3142 + None, # 3143 + None, # 3144 + None, # 3145 + None, # 3146 + None, # 3147 + None, # 3148 + None, # 3149 + None, # 3150 + None, # 3151 + None, # 3152 + None, # 3153 + None, # 3154 + None, # 3155 + None, # 3156 + None, # 3157 + None, # 3158 + None, # 3159 + None, # 3160 + None, # 3161 + None, # 3162 + None, # 3163 + None, # 3164 + None, # 3165 + None, # 3166 + None, # 3167 + None, # 3168 + None, # 3169 + None, # 3170 + None, # 3171 + None, # 3172 + None, # 3173 + None, # 3174 + None, # 3175 + None, # 3176 + None, # 3177 + None, # 3178 + None, # 3179 + None, # 3180 + None, # 3181 + None, # 3182 + None, # 3183 + None, # 3184 + None, # 3185 + None, # 3186 + None, # 3187 + None, # 3188 + None, # 3189 + None, # 3190 + None, # 3191 + None, # 3192 + None, # 3193 + None, # 3194 + None, # 3195 + None, # 3196 + None, # 3197 + None, # 3198 + None, # 3199 + None, # 3200 + None, # 3201 + None, # 3202 + None, # 3203 + None, # 3204 + None, # 3205 + None, # 3206 + None, # 3207 + None, # 3208 + None, # 3209 + None, # 3210 + None, # 3211 + None, # 3212 + None, # 3213 + None, # 3214 + None, # 3215 + None, # 3216 + None, # 3217 + None, # 3218 + None, # 3219 + None, # 3220 + None, # 3221 + None, # 3222 + None, # 3223 + None, # 3224 + None, # 3225 + None, # 3226 + None, # 3227 + None, # 3228 + None, # 3229 + None, # 3230 + None, # 3231 + None, # 3232 + None, # 3233 + None, # 3234 + None, # 3235 + None, # 3236 + None, # 3237 + None, # 3238 + None, # 3239 + None, # 3240 + None, # 3241 + None, # 3242 + None, # 3243 + None, # 3244 + None, # 3245 + None, # 3246 + None, # 3247 + None, # 3248 + None, # 3249 + None, # 3250 + None, # 3251 + None, # 3252 + None, # 3253 + None, # 3254 + None, # 3255 + None, # 3256 + None, # 3257 + None, # 3258 + None, # 3259 + None, # 3260 + None, # 3261 + None, # 3262 + None, # 3263 + None, # 3264 + None, # 3265 + None, # 3266 + None, # 3267 + None, # 3268 + None, # 3269 + None, # 3270 + None, # 3271 + None, # 3272 + None, # 3273 + None, # 3274 + None, # 3275 + None, # 3276 + None, # 3277 + None, # 3278 + None, # 3279 + None, # 3280 + None, # 3281 + None, # 3282 + None, # 3283 + None, # 3284 + None, # 3285 + None, # 3286 + None, # 3287 + None, # 3288 + None, # 3289 + None, # 3290 + None, # 3291 + None, # 3292 + None, # 3293 + None, # 3294 + None, # 3295 + None, # 3296 + None, # 3297 + None, # 3298 + None, # 3299 + None, # 3300 + None, # 3301 + None, # 3302 + None, # 3303 + None, # 3304 + None, # 3305 + None, # 3306 + None, # 3307 + None, # 3308 + None, # 3309 + None, # 3310 + None, # 3311 + None, # 3312 + None, # 3313 + None, # 3314 + None, # 3315 + None, # 3316 + None, # 3317 + None, # 3318 + None, # 3319 + None, # 3320 + None, # 3321 + None, # 3322 + None, # 3323 + None, # 3324 + None, # 3325 + None, # 3326 + None, # 3327 + None, # 3328 + (3329, TType.I32, 'serverProtocolVersion', None, None, ), # 3329 ) all_structs.append(TOperationHandle) TOperationHandle.thrift_spec = ( - None, # 0 - (1, TType.STRUCT, 'operationId', [THandleIdentifier, None], None, ), # 1 - (2, TType.I32, 'operationType', None, None, ), # 2 - (3, TType.BOOL, 'hasResultSet', None, None, ), # 3 - (4, TType.DOUBLE, 'modifiedRowCount', None, None, ), # 4 + None, # 0 + (1, TType.STRUCT, 'operationId', [THandleIdentifier, None], None, ), # 1 + (2, TType.I32, 'operationType', None, None, ), # 2 + (3, TType.BOOL, 'hasResultSet', None, None, ), # 3 + (4, TType.DOUBLE, 'modifiedRowCount', None, None, ), # 4 ) all_structs.append(TOpenSessionReq) TOpenSessionReq.thrift_spec = ( - None, # 0 - (1, TType.I32, 'client_protocol', None, -7, ), # 1 - (2, TType.STRING, 'username', 'UTF8', None, ), # 2 - (3, TType.STRING, 'password', 'UTF8', None, ), # 3 - (4, TType.MAP, 'configuration', (TType.STRING, 'UTF8', TType.STRING, 'UTF8', False), None, ), # 4 - None, # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - (1281, TType.LIST, 'getInfos', (TType.I32, None, False), None, ), # 1281 - (1282, TType.I64, 'client_protocol_i64', None, None, ), # 1282 - (1283, TType.MAP, 'connectionProperties', (TType.STRING, 'UTF8', TType.STRING, 'UTF8', False), None, ), # 1283 - (1284, TType.STRUCT, 'initialNamespace', [TNamespace, None], None, ), # 1284 - (1285, TType.BOOL, 'canUseMultipleCatalogs', None, None, ), # 1285 - None, # 1286 - None, # 1287 - None, # 1288 - None, # 1289 - None, # 1290 - None, # 1291 - None, # 1292 - None, # 1293 - None, # 1294 - None, # 1295 - None, # 1296 - None, # 1297 - None, # 1298 - None, # 1299 - None, # 1300 - None, # 1301 - None, # 1302 - None, # 1303 - None, # 1304 - None, # 1305 - None, # 1306 - None, # 1307 - None, # 1308 - None, # 1309 - None, # 1310 - None, # 1311 - None, # 1312 - None, # 1313 - None, # 1314 - None, # 1315 - None, # 1316 - None, # 1317 - None, # 1318 - None, # 1319 - None, # 1320 - None, # 1321 - None, # 1322 - None, # 1323 - None, # 1324 - None, # 1325 - None, # 1326 - None, # 1327 - None, # 1328 - None, # 1329 - None, # 1330 - None, # 1331 - None, # 1332 - None, # 1333 - None, # 1334 - None, # 1335 - None, # 1336 - None, # 1337 - None, # 1338 - None, # 1339 - None, # 1340 - None, # 1341 - None, # 1342 - None, # 1343 - None, # 1344 - None, # 1345 - None, # 1346 - None, # 1347 - None, # 1348 - None, # 1349 - None, # 1350 - None, # 1351 - None, # 1352 - None, # 1353 - None, # 1354 - None, # 1355 - None, # 1356 - None, # 1357 - None, # 1358 - None, # 1359 - None, # 1360 - None, # 1361 - None, # 1362 - None, # 1363 - None, # 1364 - None, # 1365 - None, # 1366 - None, # 1367 - None, # 1368 - None, # 1369 - None, # 1370 - None, # 1371 - None, # 1372 - None, # 1373 - None, # 1374 - None, # 1375 - None, # 1376 - None, # 1377 - None, # 1378 - None, # 1379 - None, # 1380 - None, # 1381 - None, # 1382 - None, # 1383 - None, # 1384 - None, # 1385 - None, # 1386 - None, # 1387 - None, # 1388 - None, # 1389 - None, # 1390 - None, # 1391 - None, # 1392 - None, # 1393 - None, # 1394 - None, # 1395 - None, # 1396 - None, # 1397 - None, # 1398 - None, # 1399 - None, # 1400 - None, # 1401 - None, # 1402 - None, # 1403 - None, # 1404 - None, # 1405 - None, # 1406 - None, # 1407 - None, # 1408 - None, # 1409 - None, # 1410 - None, # 1411 - None, # 1412 - None, # 1413 - None, # 1414 - None, # 1415 - None, # 1416 - None, # 1417 - None, # 1418 - None, # 1419 - None, # 1420 - None, # 1421 - None, # 1422 - None, # 1423 - None, # 1424 - None, # 1425 - None, # 1426 - None, # 1427 - None, # 1428 - None, # 1429 - None, # 1430 - None, # 1431 - None, # 1432 - None, # 1433 - None, # 1434 - None, # 1435 - None, # 1436 - None, # 1437 - None, # 1438 - None, # 1439 - None, # 1440 - None, # 1441 - None, # 1442 - None, # 1443 - None, # 1444 - None, # 1445 - None, # 1446 - None, # 1447 - None, # 1448 - None, # 1449 - None, # 1450 - None, # 1451 - None, # 1452 - None, # 1453 - None, # 1454 - None, # 1455 - None, # 1456 - None, # 1457 - None, # 1458 - None, # 1459 - None, # 1460 - None, # 1461 - None, # 1462 - None, # 1463 - None, # 1464 - None, # 1465 - None, # 1466 - None, # 1467 - None, # 1468 - None, # 1469 - None, # 1470 - None, # 1471 - None, # 1472 - None, # 1473 - None, # 1474 - None, # 1475 - None, # 1476 - None, # 1477 - None, # 1478 - None, # 1479 - None, # 1480 - None, # 1481 - None, # 1482 - None, # 1483 - None, # 1484 - None, # 1485 - None, # 1486 - None, # 1487 - None, # 1488 - None, # 1489 - None, # 1490 - None, # 1491 - None, # 1492 - None, # 1493 - None, # 1494 - None, # 1495 - None, # 1496 - None, # 1497 - None, # 1498 - None, # 1499 - None, # 1500 - None, # 1501 - None, # 1502 - None, # 1503 - None, # 1504 - None, # 1505 - None, # 1506 - None, # 1507 - None, # 1508 - None, # 1509 - None, # 1510 - None, # 1511 - None, # 1512 - None, # 1513 - None, # 1514 - None, # 1515 - None, # 1516 - None, # 1517 - None, # 1518 - None, # 1519 - None, # 1520 - None, # 1521 - None, # 1522 - None, # 1523 - None, # 1524 - None, # 1525 - None, # 1526 - None, # 1527 - None, # 1528 - None, # 1529 - None, # 1530 - None, # 1531 - None, # 1532 - None, # 1533 - None, # 1534 - None, # 1535 - None, # 1536 - None, # 1537 - None, # 1538 - None, # 1539 - None, # 1540 - None, # 1541 - None, # 1542 - None, # 1543 - None, # 1544 - None, # 1545 - None, # 1546 - None, # 1547 - None, # 1548 - None, # 1549 - None, # 1550 - None, # 1551 - None, # 1552 - None, # 1553 - None, # 1554 - None, # 1555 - None, # 1556 - None, # 1557 - None, # 1558 - None, # 1559 - None, # 1560 - None, # 1561 - None, # 1562 - None, # 1563 - None, # 1564 - None, # 1565 - None, # 1566 - None, # 1567 - None, # 1568 - None, # 1569 - None, # 1570 - None, # 1571 - None, # 1572 - None, # 1573 - None, # 1574 - None, # 1575 - None, # 1576 - None, # 1577 - None, # 1578 - None, # 1579 - None, # 1580 - None, # 1581 - None, # 1582 - None, # 1583 - None, # 1584 - None, # 1585 - None, # 1586 - None, # 1587 - None, # 1588 - None, # 1589 - None, # 1590 - None, # 1591 - None, # 1592 - None, # 1593 - None, # 1594 - None, # 1595 - None, # 1596 - None, # 1597 - None, # 1598 - None, # 1599 - None, # 1600 - None, # 1601 - None, # 1602 - None, # 1603 - None, # 1604 - None, # 1605 - None, # 1606 - None, # 1607 - None, # 1608 - None, # 1609 - None, # 1610 - None, # 1611 - None, # 1612 - None, # 1613 - None, # 1614 - None, # 1615 - None, # 1616 - None, # 1617 - None, # 1618 - None, # 1619 - None, # 1620 - None, # 1621 - None, # 1622 - None, # 1623 - None, # 1624 - None, # 1625 - None, # 1626 - None, # 1627 - None, # 1628 - None, # 1629 - None, # 1630 - None, # 1631 - None, # 1632 - None, # 1633 - None, # 1634 - None, # 1635 - None, # 1636 - None, # 1637 - None, # 1638 - None, # 1639 - None, # 1640 - None, # 1641 - None, # 1642 - None, # 1643 - None, # 1644 - None, # 1645 - None, # 1646 - None, # 1647 - None, # 1648 - None, # 1649 - None, # 1650 - None, # 1651 - None, # 1652 - None, # 1653 - None, # 1654 - None, # 1655 - None, # 1656 - None, # 1657 - None, # 1658 - None, # 1659 - None, # 1660 - None, # 1661 - None, # 1662 - None, # 1663 - None, # 1664 - None, # 1665 - None, # 1666 - None, # 1667 - None, # 1668 - None, # 1669 - None, # 1670 - None, # 1671 - None, # 1672 - None, # 1673 - None, # 1674 - None, # 1675 - None, # 1676 - None, # 1677 - None, # 1678 - None, # 1679 - None, # 1680 - None, # 1681 - None, # 1682 - None, # 1683 - None, # 1684 - None, # 1685 - None, # 1686 - None, # 1687 - None, # 1688 - None, # 1689 - None, # 1690 - None, # 1691 - None, # 1692 - None, # 1693 - None, # 1694 - None, # 1695 - None, # 1696 - None, # 1697 - None, # 1698 - None, # 1699 - None, # 1700 - None, # 1701 - None, # 1702 - None, # 1703 - None, # 1704 - None, # 1705 - None, # 1706 - None, # 1707 - None, # 1708 - None, # 1709 - None, # 1710 - None, # 1711 - None, # 1712 - None, # 1713 - None, # 1714 - None, # 1715 - None, # 1716 - None, # 1717 - None, # 1718 - None, # 1719 - None, # 1720 - None, # 1721 - None, # 1722 - None, # 1723 - None, # 1724 - None, # 1725 - None, # 1726 - None, # 1727 - None, # 1728 - None, # 1729 - None, # 1730 - None, # 1731 - None, # 1732 - None, # 1733 - None, # 1734 - None, # 1735 - None, # 1736 - None, # 1737 - None, # 1738 - None, # 1739 - None, # 1740 - None, # 1741 - None, # 1742 - None, # 1743 - None, # 1744 - None, # 1745 - None, # 1746 - None, # 1747 - None, # 1748 - None, # 1749 - None, # 1750 - None, # 1751 - None, # 1752 - None, # 1753 - None, # 1754 - None, # 1755 - None, # 1756 - None, # 1757 - None, # 1758 - None, # 1759 - None, # 1760 - None, # 1761 - None, # 1762 - None, # 1763 - None, # 1764 - None, # 1765 - None, # 1766 - None, # 1767 - None, # 1768 - None, # 1769 - None, # 1770 - None, # 1771 - None, # 1772 - None, # 1773 - None, # 1774 - None, # 1775 - None, # 1776 - None, # 1777 - None, # 1778 - None, # 1779 - None, # 1780 - None, # 1781 - None, # 1782 - None, # 1783 - None, # 1784 - None, # 1785 - None, # 1786 - None, # 1787 - None, # 1788 - None, # 1789 - None, # 1790 - None, # 1791 - None, # 1792 - None, # 1793 - None, # 1794 - None, # 1795 - None, # 1796 - None, # 1797 - None, # 1798 - None, # 1799 - None, # 1800 - None, # 1801 - None, # 1802 - None, # 1803 - None, # 1804 - None, # 1805 - None, # 1806 - None, # 1807 - None, # 1808 - None, # 1809 - None, # 1810 - None, # 1811 - None, # 1812 - None, # 1813 - None, # 1814 - None, # 1815 - None, # 1816 - None, # 1817 - None, # 1818 - None, # 1819 - None, # 1820 - None, # 1821 - None, # 1822 - None, # 1823 - None, # 1824 - None, # 1825 - None, # 1826 - None, # 1827 - None, # 1828 - None, # 1829 - None, # 1830 - None, # 1831 - None, # 1832 - None, # 1833 - None, # 1834 - None, # 1835 - None, # 1836 - None, # 1837 - None, # 1838 - None, # 1839 - None, # 1840 - None, # 1841 - None, # 1842 - None, # 1843 - None, # 1844 - None, # 1845 - None, # 1846 - None, # 1847 - None, # 1848 - None, # 1849 - None, # 1850 - None, # 1851 - None, # 1852 - None, # 1853 - None, # 1854 - None, # 1855 - None, # 1856 - None, # 1857 - None, # 1858 - None, # 1859 - None, # 1860 - None, # 1861 - None, # 1862 - None, # 1863 - None, # 1864 - None, # 1865 - None, # 1866 - None, # 1867 - None, # 1868 - None, # 1869 - None, # 1870 - None, # 1871 - None, # 1872 - None, # 1873 - None, # 1874 - None, # 1875 - None, # 1876 - None, # 1877 - None, # 1878 - None, # 1879 - None, # 1880 - None, # 1881 - None, # 1882 - None, # 1883 - None, # 1884 - None, # 1885 - None, # 1886 - None, # 1887 - None, # 1888 - None, # 1889 - None, # 1890 - None, # 1891 - None, # 1892 - None, # 1893 - None, # 1894 - None, # 1895 - None, # 1896 - None, # 1897 - None, # 1898 - None, # 1899 - None, # 1900 - None, # 1901 - None, # 1902 - None, # 1903 - None, # 1904 - None, # 1905 - None, # 1906 - None, # 1907 - None, # 1908 - None, # 1909 - None, # 1910 - None, # 1911 - None, # 1912 - None, # 1913 - None, # 1914 - None, # 1915 - None, # 1916 - None, # 1917 - None, # 1918 - None, # 1919 - None, # 1920 - None, # 1921 - None, # 1922 - None, # 1923 - None, # 1924 - None, # 1925 - None, # 1926 - None, # 1927 - None, # 1928 - None, # 1929 - None, # 1930 - None, # 1931 - None, # 1932 - None, # 1933 - None, # 1934 - None, # 1935 - None, # 1936 - None, # 1937 - None, # 1938 - None, # 1939 - None, # 1940 - None, # 1941 - None, # 1942 - None, # 1943 - None, # 1944 - None, # 1945 - None, # 1946 - None, # 1947 - None, # 1948 - None, # 1949 - None, # 1950 - None, # 1951 - None, # 1952 - None, # 1953 - None, # 1954 - None, # 1955 - None, # 1956 - None, # 1957 - None, # 1958 - None, # 1959 - None, # 1960 - None, # 1961 - None, # 1962 - None, # 1963 - None, # 1964 - None, # 1965 - None, # 1966 - None, # 1967 - None, # 1968 - None, # 1969 - None, # 1970 - None, # 1971 - None, # 1972 - None, # 1973 - None, # 1974 - None, # 1975 - None, # 1976 - None, # 1977 - None, # 1978 - None, # 1979 - None, # 1980 - None, # 1981 - None, # 1982 - None, # 1983 - None, # 1984 - None, # 1985 - None, # 1986 - None, # 1987 - None, # 1988 - None, # 1989 - None, # 1990 - None, # 1991 - None, # 1992 - None, # 1993 - None, # 1994 - None, # 1995 - None, # 1996 - None, # 1997 - None, # 1998 - None, # 1999 - None, # 2000 - None, # 2001 - None, # 2002 - None, # 2003 - None, # 2004 - None, # 2005 - None, # 2006 - None, # 2007 - None, # 2008 - None, # 2009 - None, # 2010 - None, # 2011 - None, # 2012 - None, # 2013 - None, # 2014 - None, # 2015 - None, # 2016 - None, # 2017 - None, # 2018 - None, # 2019 - None, # 2020 - None, # 2021 - None, # 2022 - None, # 2023 - None, # 2024 - None, # 2025 - None, # 2026 - None, # 2027 - None, # 2028 - None, # 2029 - None, # 2030 - None, # 2031 - None, # 2032 - None, # 2033 - None, # 2034 - None, # 2035 - None, # 2036 - None, # 2037 - None, # 2038 - None, # 2039 - None, # 2040 - None, # 2041 - None, # 2042 - None, # 2043 - None, # 2044 - None, # 2045 - None, # 2046 - None, # 2047 - None, # 2048 - None, # 2049 - None, # 2050 - None, # 2051 - None, # 2052 - None, # 2053 - None, # 2054 - None, # 2055 - None, # 2056 - None, # 2057 - None, # 2058 - None, # 2059 - None, # 2060 - None, # 2061 - None, # 2062 - None, # 2063 - None, # 2064 - None, # 2065 - None, # 2066 - None, # 2067 - None, # 2068 - None, # 2069 - None, # 2070 - None, # 2071 - None, # 2072 - None, # 2073 - None, # 2074 - None, # 2075 - None, # 2076 - None, # 2077 - None, # 2078 - None, # 2079 - None, # 2080 - None, # 2081 - None, # 2082 - None, # 2083 - None, # 2084 - None, # 2085 - None, # 2086 - None, # 2087 - None, # 2088 - None, # 2089 - None, # 2090 - None, # 2091 - None, # 2092 - None, # 2093 - None, # 2094 - None, # 2095 - None, # 2096 - None, # 2097 - None, # 2098 - None, # 2099 - None, # 2100 - None, # 2101 - None, # 2102 - None, # 2103 - None, # 2104 - None, # 2105 - None, # 2106 - None, # 2107 - None, # 2108 - None, # 2109 - None, # 2110 - None, # 2111 - None, # 2112 - None, # 2113 - None, # 2114 - None, # 2115 - None, # 2116 - None, # 2117 - None, # 2118 - None, # 2119 - None, # 2120 - None, # 2121 - None, # 2122 - None, # 2123 - None, # 2124 - None, # 2125 - None, # 2126 - None, # 2127 - None, # 2128 - None, # 2129 - None, # 2130 - None, # 2131 - None, # 2132 - None, # 2133 - None, # 2134 - None, # 2135 - None, # 2136 - None, # 2137 - None, # 2138 - None, # 2139 - None, # 2140 - None, # 2141 - None, # 2142 - None, # 2143 - None, # 2144 - None, # 2145 - None, # 2146 - None, # 2147 - None, # 2148 - None, # 2149 - None, # 2150 - None, # 2151 - None, # 2152 - None, # 2153 - None, # 2154 - None, # 2155 - None, # 2156 - None, # 2157 - None, # 2158 - None, # 2159 - None, # 2160 - None, # 2161 - None, # 2162 - None, # 2163 - None, # 2164 - None, # 2165 - None, # 2166 - None, # 2167 - None, # 2168 - None, # 2169 - None, # 2170 - None, # 2171 - None, # 2172 - None, # 2173 - None, # 2174 - None, # 2175 - None, # 2176 - None, # 2177 - None, # 2178 - None, # 2179 - None, # 2180 - None, # 2181 - None, # 2182 - None, # 2183 - None, # 2184 - None, # 2185 - None, # 2186 - None, # 2187 - None, # 2188 - None, # 2189 - None, # 2190 - None, # 2191 - None, # 2192 - None, # 2193 - None, # 2194 - None, # 2195 - None, # 2196 - None, # 2197 - None, # 2198 - None, # 2199 - None, # 2200 - None, # 2201 - None, # 2202 - None, # 2203 - None, # 2204 - None, # 2205 - None, # 2206 - None, # 2207 - None, # 2208 - None, # 2209 - None, # 2210 - None, # 2211 - None, # 2212 - None, # 2213 - None, # 2214 - None, # 2215 - None, # 2216 - None, # 2217 - None, # 2218 - None, # 2219 - None, # 2220 - None, # 2221 - None, # 2222 - None, # 2223 - None, # 2224 - None, # 2225 - None, # 2226 - None, # 2227 - None, # 2228 - None, # 2229 - None, # 2230 - None, # 2231 - None, # 2232 - None, # 2233 - None, # 2234 - None, # 2235 - None, # 2236 - None, # 2237 - None, # 2238 - None, # 2239 - None, # 2240 - None, # 2241 - None, # 2242 - None, # 2243 - None, # 2244 - None, # 2245 - None, # 2246 - None, # 2247 - None, # 2248 - None, # 2249 - None, # 2250 - None, # 2251 - None, # 2252 - None, # 2253 - None, # 2254 - None, # 2255 - None, # 2256 - None, # 2257 - None, # 2258 - None, # 2259 - None, # 2260 - None, # 2261 - None, # 2262 - None, # 2263 - None, # 2264 - None, # 2265 - None, # 2266 - None, # 2267 - None, # 2268 - None, # 2269 - None, # 2270 - None, # 2271 - None, # 2272 - None, # 2273 - None, # 2274 - None, # 2275 - None, # 2276 - None, # 2277 - None, # 2278 - None, # 2279 - None, # 2280 - None, # 2281 - None, # 2282 - None, # 2283 - None, # 2284 - None, # 2285 - None, # 2286 - None, # 2287 - None, # 2288 - None, # 2289 - None, # 2290 - None, # 2291 - None, # 2292 - None, # 2293 - None, # 2294 - None, # 2295 - None, # 2296 - None, # 2297 - None, # 2298 - None, # 2299 - None, # 2300 - None, # 2301 - None, # 2302 - None, # 2303 - None, # 2304 - None, # 2305 - None, # 2306 - None, # 2307 - None, # 2308 - None, # 2309 - None, # 2310 - None, # 2311 - None, # 2312 - None, # 2313 - None, # 2314 - None, # 2315 - None, # 2316 - None, # 2317 - None, # 2318 - None, # 2319 - None, # 2320 - None, # 2321 - None, # 2322 - None, # 2323 - None, # 2324 - None, # 2325 - None, # 2326 - None, # 2327 - None, # 2328 - None, # 2329 - None, # 2330 - None, # 2331 - None, # 2332 - None, # 2333 - None, # 2334 - None, # 2335 - None, # 2336 - None, # 2337 - None, # 2338 - None, # 2339 - None, # 2340 - None, # 2341 - None, # 2342 - None, # 2343 - None, # 2344 - None, # 2345 - None, # 2346 - None, # 2347 - None, # 2348 - None, # 2349 - None, # 2350 - None, # 2351 - None, # 2352 - None, # 2353 - None, # 2354 - None, # 2355 - None, # 2356 - None, # 2357 - None, # 2358 - None, # 2359 - None, # 2360 - None, # 2361 - None, # 2362 - None, # 2363 - None, # 2364 - None, # 2365 - None, # 2366 - None, # 2367 - None, # 2368 - None, # 2369 - None, # 2370 - None, # 2371 - None, # 2372 - None, # 2373 - None, # 2374 - None, # 2375 - None, # 2376 - None, # 2377 - None, # 2378 - None, # 2379 - None, # 2380 - None, # 2381 - None, # 2382 - None, # 2383 - None, # 2384 - None, # 2385 - None, # 2386 - None, # 2387 - None, # 2388 - None, # 2389 - None, # 2390 - None, # 2391 - None, # 2392 - None, # 2393 - None, # 2394 - None, # 2395 - None, # 2396 - None, # 2397 - None, # 2398 - None, # 2399 - None, # 2400 - None, # 2401 - None, # 2402 - None, # 2403 - None, # 2404 - None, # 2405 - None, # 2406 - None, # 2407 - None, # 2408 - None, # 2409 - None, # 2410 - None, # 2411 - None, # 2412 - None, # 2413 - None, # 2414 - None, # 2415 - None, # 2416 - None, # 2417 - None, # 2418 - None, # 2419 - None, # 2420 - None, # 2421 - None, # 2422 - None, # 2423 - None, # 2424 - None, # 2425 - None, # 2426 - None, # 2427 - None, # 2428 - None, # 2429 - None, # 2430 - None, # 2431 - None, # 2432 - None, # 2433 - None, # 2434 - None, # 2435 - None, # 2436 - None, # 2437 - None, # 2438 - None, # 2439 - None, # 2440 - None, # 2441 - None, # 2442 - None, # 2443 - None, # 2444 - None, # 2445 - None, # 2446 - None, # 2447 - None, # 2448 - None, # 2449 - None, # 2450 - None, # 2451 - None, # 2452 - None, # 2453 - None, # 2454 - None, # 2455 - None, # 2456 - None, # 2457 - None, # 2458 - None, # 2459 - None, # 2460 - None, # 2461 - None, # 2462 - None, # 2463 - None, # 2464 - None, # 2465 - None, # 2466 - None, # 2467 - None, # 2468 - None, # 2469 - None, # 2470 - None, # 2471 - None, # 2472 - None, # 2473 - None, # 2474 - None, # 2475 - None, # 2476 - None, # 2477 - None, # 2478 - None, # 2479 - None, # 2480 - None, # 2481 - None, # 2482 - None, # 2483 - None, # 2484 - None, # 2485 - None, # 2486 - None, # 2487 - None, # 2488 - None, # 2489 - None, # 2490 - None, # 2491 - None, # 2492 - None, # 2493 - None, # 2494 - None, # 2495 - None, # 2496 - None, # 2497 - None, # 2498 - None, # 2499 - None, # 2500 - None, # 2501 - None, # 2502 - None, # 2503 - None, # 2504 - None, # 2505 - None, # 2506 - None, # 2507 - None, # 2508 - None, # 2509 - None, # 2510 - None, # 2511 - None, # 2512 - None, # 2513 - None, # 2514 - None, # 2515 - None, # 2516 - None, # 2517 - None, # 2518 - None, # 2519 - None, # 2520 - None, # 2521 - None, # 2522 - None, # 2523 - None, # 2524 - None, # 2525 - None, # 2526 - None, # 2527 - None, # 2528 - None, # 2529 - None, # 2530 - None, # 2531 - None, # 2532 - None, # 2533 - None, # 2534 - None, # 2535 - None, # 2536 - None, # 2537 - None, # 2538 - None, # 2539 - None, # 2540 - None, # 2541 - None, # 2542 - None, # 2543 - None, # 2544 - None, # 2545 - None, # 2546 - None, # 2547 - None, # 2548 - None, # 2549 - None, # 2550 - None, # 2551 - None, # 2552 - None, # 2553 - None, # 2554 - None, # 2555 - None, # 2556 - None, # 2557 - None, # 2558 - None, # 2559 - None, # 2560 - None, # 2561 - None, # 2562 - None, # 2563 - None, # 2564 - None, # 2565 - None, # 2566 - None, # 2567 - None, # 2568 - None, # 2569 - None, # 2570 - None, # 2571 - None, # 2572 - None, # 2573 - None, # 2574 - None, # 2575 - None, # 2576 - None, # 2577 - None, # 2578 - None, # 2579 - None, # 2580 - None, # 2581 - None, # 2582 - None, # 2583 - None, # 2584 - None, # 2585 - None, # 2586 - None, # 2587 - None, # 2588 - None, # 2589 - None, # 2590 - None, # 2591 - None, # 2592 - None, # 2593 - None, # 2594 - None, # 2595 - None, # 2596 - None, # 2597 - None, # 2598 - None, # 2599 - None, # 2600 - None, # 2601 - None, # 2602 - None, # 2603 - None, # 2604 - None, # 2605 - None, # 2606 - None, # 2607 - None, # 2608 - None, # 2609 - None, # 2610 - None, # 2611 - None, # 2612 - None, # 2613 - None, # 2614 - None, # 2615 - None, # 2616 - None, # 2617 - None, # 2618 - None, # 2619 - None, # 2620 - None, # 2621 - None, # 2622 - None, # 2623 - None, # 2624 - None, # 2625 - None, # 2626 - None, # 2627 - None, # 2628 - None, # 2629 - None, # 2630 - None, # 2631 - None, # 2632 - None, # 2633 - None, # 2634 - None, # 2635 - None, # 2636 - None, # 2637 - None, # 2638 - None, # 2639 - None, # 2640 - None, # 2641 - None, # 2642 - None, # 2643 - None, # 2644 - None, # 2645 - None, # 2646 - None, # 2647 - None, # 2648 - None, # 2649 - None, # 2650 - None, # 2651 - None, # 2652 - None, # 2653 - None, # 2654 - None, # 2655 - None, # 2656 - None, # 2657 - None, # 2658 - None, # 2659 - None, # 2660 - None, # 2661 - None, # 2662 - None, # 2663 - None, # 2664 - None, # 2665 - None, # 2666 - None, # 2667 - None, # 2668 - None, # 2669 - None, # 2670 - None, # 2671 - None, # 2672 - None, # 2673 - None, # 2674 - None, # 2675 - None, # 2676 - None, # 2677 - None, # 2678 - None, # 2679 - None, # 2680 - None, # 2681 - None, # 2682 - None, # 2683 - None, # 2684 - None, # 2685 - None, # 2686 - None, # 2687 - None, # 2688 - None, # 2689 - None, # 2690 - None, # 2691 - None, # 2692 - None, # 2693 - None, # 2694 - None, # 2695 - None, # 2696 - None, # 2697 - None, # 2698 - None, # 2699 - None, # 2700 - None, # 2701 - None, # 2702 - None, # 2703 - None, # 2704 - None, # 2705 - None, # 2706 - None, # 2707 - None, # 2708 - None, # 2709 - None, # 2710 - None, # 2711 - None, # 2712 - None, # 2713 - None, # 2714 - None, # 2715 - None, # 2716 - None, # 2717 - None, # 2718 - None, # 2719 - None, # 2720 - None, # 2721 - None, # 2722 - None, # 2723 - None, # 2724 - None, # 2725 - None, # 2726 - None, # 2727 - None, # 2728 - None, # 2729 - None, # 2730 - None, # 2731 - None, # 2732 - None, # 2733 - None, # 2734 - None, # 2735 - None, # 2736 - None, # 2737 - None, # 2738 - None, # 2739 - None, # 2740 - None, # 2741 - None, # 2742 - None, # 2743 - None, # 2744 - None, # 2745 - None, # 2746 - None, # 2747 - None, # 2748 - None, # 2749 - None, # 2750 - None, # 2751 - None, # 2752 - None, # 2753 - None, # 2754 - None, # 2755 - None, # 2756 - None, # 2757 - None, # 2758 - None, # 2759 - None, # 2760 - None, # 2761 - None, # 2762 - None, # 2763 - None, # 2764 - None, # 2765 - None, # 2766 - None, # 2767 - None, # 2768 - None, # 2769 - None, # 2770 - None, # 2771 - None, # 2772 - None, # 2773 - None, # 2774 - None, # 2775 - None, # 2776 - None, # 2777 - None, # 2778 - None, # 2779 - None, # 2780 - None, # 2781 - None, # 2782 - None, # 2783 - None, # 2784 - None, # 2785 - None, # 2786 - None, # 2787 - None, # 2788 - None, # 2789 - None, # 2790 - None, # 2791 - None, # 2792 - None, # 2793 - None, # 2794 - None, # 2795 - None, # 2796 - None, # 2797 - None, # 2798 - None, # 2799 - None, # 2800 - None, # 2801 - None, # 2802 - None, # 2803 - None, # 2804 - None, # 2805 - None, # 2806 - None, # 2807 - None, # 2808 - None, # 2809 - None, # 2810 - None, # 2811 - None, # 2812 - None, # 2813 - None, # 2814 - None, # 2815 - None, # 2816 - None, # 2817 - None, # 2818 - None, # 2819 - None, # 2820 - None, # 2821 - None, # 2822 - None, # 2823 - None, # 2824 - None, # 2825 - None, # 2826 - None, # 2827 - None, # 2828 - None, # 2829 - None, # 2830 - None, # 2831 - None, # 2832 - None, # 2833 - None, # 2834 - None, # 2835 - None, # 2836 - None, # 2837 - None, # 2838 - None, # 2839 - None, # 2840 - None, # 2841 - None, # 2842 - None, # 2843 - None, # 2844 - None, # 2845 - None, # 2846 - None, # 2847 - None, # 2848 - None, # 2849 - None, # 2850 - None, # 2851 - None, # 2852 - None, # 2853 - None, # 2854 - None, # 2855 - None, # 2856 - None, # 2857 - None, # 2858 - None, # 2859 - None, # 2860 - None, # 2861 - None, # 2862 - None, # 2863 - None, # 2864 - None, # 2865 - None, # 2866 - None, # 2867 - None, # 2868 - None, # 2869 - None, # 2870 - None, # 2871 - None, # 2872 - None, # 2873 - None, # 2874 - None, # 2875 - None, # 2876 - None, # 2877 - None, # 2878 - None, # 2879 - None, # 2880 - None, # 2881 - None, # 2882 - None, # 2883 - None, # 2884 - None, # 2885 - None, # 2886 - None, # 2887 - None, # 2888 - None, # 2889 - None, # 2890 - None, # 2891 - None, # 2892 - None, # 2893 - None, # 2894 - None, # 2895 - None, # 2896 - None, # 2897 - None, # 2898 - None, # 2899 - None, # 2900 - None, # 2901 - None, # 2902 - None, # 2903 - None, # 2904 - None, # 2905 - None, # 2906 - None, # 2907 - None, # 2908 - None, # 2909 - None, # 2910 - None, # 2911 - None, # 2912 - None, # 2913 - None, # 2914 - None, # 2915 - None, # 2916 - None, # 2917 - None, # 2918 - None, # 2919 - None, # 2920 - None, # 2921 - None, # 2922 - None, # 2923 - None, # 2924 - None, # 2925 - None, # 2926 - None, # 2927 - None, # 2928 - None, # 2929 - None, # 2930 - None, # 2931 - None, # 2932 - None, # 2933 - None, # 2934 - None, # 2935 - None, # 2936 - None, # 2937 - None, # 2938 - None, # 2939 - None, # 2940 - None, # 2941 - None, # 2942 - None, # 2943 - None, # 2944 - None, # 2945 - None, # 2946 - None, # 2947 - None, # 2948 - None, # 2949 - None, # 2950 - None, # 2951 - None, # 2952 - None, # 2953 - None, # 2954 - None, # 2955 - None, # 2956 - None, # 2957 - None, # 2958 - None, # 2959 - None, # 2960 - None, # 2961 - None, # 2962 - None, # 2963 - None, # 2964 - None, # 2965 - None, # 2966 - None, # 2967 - None, # 2968 - None, # 2969 - None, # 2970 - None, # 2971 - None, # 2972 - None, # 2973 - None, # 2974 - None, # 2975 - None, # 2976 - None, # 2977 - None, # 2978 - None, # 2979 - None, # 2980 - None, # 2981 - None, # 2982 - None, # 2983 - None, # 2984 - None, # 2985 - None, # 2986 - None, # 2987 - None, # 2988 - None, # 2989 - None, # 2990 - None, # 2991 - None, # 2992 - None, # 2993 - None, # 2994 - None, # 2995 - None, # 2996 - None, # 2997 - None, # 2998 - None, # 2999 - None, # 3000 - None, # 3001 - None, # 3002 - None, # 3003 - None, # 3004 - None, # 3005 - None, # 3006 - None, # 3007 - None, # 3008 - None, # 3009 - None, # 3010 - None, # 3011 - None, # 3012 - None, # 3013 - None, # 3014 - None, # 3015 - None, # 3016 - None, # 3017 - None, # 3018 - None, # 3019 - None, # 3020 - None, # 3021 - None, # 3022 - None, # 3023 - None, # 3024 - None, # 3025 - None, # 3026 - None, # 3027 - None, # 3028 - None, # 3029 - None, # 3030 - None, # 3031 - None, # 3032 - None, # 3033 - None, # 3034 - None, # 3035 - None, # 3036 - None, # 3037 - None, # 3038 - None, # 3039 - None, # 3040 - None, # 3041 - None, # 3042 - None, # 3043 - None, # 3044 - None, # 3045 - None, # 3046 - None, # 3047 - None, # 3048 - None, # 3049 - None, # 3050 - None, # 3051 - None, # 3052 - None, # 3053 - None, # 3054 - None, # 3055 - None, # 3056 - None, # 3057 - None, # 3058 - None, # 3059 - None, # 3060 - None, # 3061 - None, # 3062 - None, # 3063 - None, # 3064 - None, # 3065 - None, # 3066 - None, # 3067 - None, # 3068 - None, # 3069 - None, # 3070 - None, # 3071 - None, # 3072 - None, # 3073 - None, # 3074 - None, # 3075 - None, # 3076 - None, # 3077 - None, # 3078 - None, # 3079 - None, # 3080 - None, # 3081 - None, # 3082 - None, # 3083 - None, # 3084 - None, # 3085 - None, # 3086 - None, # 3087 - None, # 3088 - None, # 3089 - None, # 3090 - None, # 3091 - None, # 3092 - None, # 3093 - None, # 3094 - None, # 3095 - None, # 3096 - None, # 3097 - None, # 3098 - None, # 3099 - None, # 3100 - None, # 3101 - None, # 3102 - None, # 3103 - None, # 3104 - None, # 3105 - None, # 3106 - None, # 3107 - None, # 3108 - None, # 3109 - None, # 3110 - None, # 3111 - None, # 3112 - None, # 3113 - None, # 3114 - None, # 3115 - None, # 3116 - None, # 3117 - None, # 3118 - None, # 3119 - None, # 3120 - None, # 3121 - None, # 3122 - None, # 3123 - None, # 3124 - None, # 3125 - None, # 3126 - None, # 3127 - None, # 3128 - None, # 3129 - None, # 3130 - None, # 3131 - None, # 3132 - None, # 3133 - None, # 3134 - None, # 3135 - None, # 3136 - None, # 3137 - None, # 3138 - None, # 3139 - None, # 3140 - None, # 3141 - None, # 3142 - None, # 3143 - None, # 3144 - None, # 3145 - None, # 3146 - None, # 3147 - None, # 3148 - None, # 3149 - None, # 3150 - None, # 3151 - None, # 3152 - None, # 3153 - None, # 3154 - None, # 3155 - None, # 3156 - None, # 3157 - None, # 3158 - None, # 3159 - None, # 3160 - None, # 3161 - None, # 3162 - None, # 3163 - None, # 3164 - None, # 3165 - None, # 3166 - None, # 3167 - None, # 3168 - None, # 3169 - None, # 3170 - None, # 3171 - None, # 3172 - None, # 3173 - None, # 3174 - None, # 3175 - None, # 3176 - None, # 3177 - None, # 3178 - None, # 3179 - None, # 3180 - None, # 3181 - None, # 3182 - None, # 3183 - None, # 3184 - None, # 3185 - None, # 3186 - None, # 3187 - None, # 3188 - None, # 3189 - None, # 3190 - None, # 3191 - None, # 3192 - None, # 3193 - None, # 3194 - None, # 3195 - None, # 3196 - None, # 3197 - None, # 3198 - None, # 3199 - None, # 3200 - None, # 3201 - None, # 3202 - None, # 3203 - None, # 3204 - None, # 3205 - None, # 3206 - None, # 3207 - None, # 3208 - None, # 3209 - None, # 3210 - None, # 3211 - None, # 3212 - None, # 3213 - None, # 3214 - None, # 3215 - None, # 3216 - None, # 3217 - None, # 3218 - None, # 3219 - None, # 3220 - None, # 3221 - None, # 3222 - None, # 3223 - None, # 3224 - None, # 3225 - None, # 3226 - None, # 3227 - None, # 3228 - None, # 3229 - None, # 3230 - None, # 3231 - None, # 3232 - None, # 3233 - None, # 3234 - None, # 3235 - None, # 3236 - None, # 3237 - None, # 3238 - None, # 3239 - None, # 3240 - None, # 3241 - None, # 3242 - None, # 3243 - None, # 3244 - None, # 3245 - None, # 3246 - None, # 3247 - None, # 3248 - None, # 3249 - None, # 3250 - None, # 3251 - None, # 3252 - None, # 3253 - None, # 3254 - None, # 3255 - None, # 3256 - None, # 3257 - None, # 3258 - None, # 3259 - None, # 3260 - None, # 3261 - None, # 3262 - None, # 3263 - None, # 3264 - None, # 3265 - None, # 3266 - None, # 3267 - None, # 3268 - None, # 3269 - None, # 3270 - None, # 3271 - None, # 3272 - None, # 3273 - None, # 3274 - None, # 3275 - None, # 3276 - None, # 3277 - None, # 3278 - None, # 3279 - None, # 3280 - None, # 3281 - None, # 3282 - None, # 3283 - None, # 3284 - None, # 3285 - None, # 3286 - None, # 3287 - None, # 3288 - None, # 3289 - None, # 3290 - None, # 3291 - None, # 3292 - None, # 3293 - None, # 3294 - None, # 3295 - None, # 3296 - None, # 3297 - None, # 3298 - None, # 3299 - None, # 3300 - None, # 3301 - None, # 3302 - None, # 3303 - None, # 3304 - None, # 3305 - None, # 3306 - None, # 3307 - None, # 3308 - None, # 3309 - None, # 3310 - None, # 3311 - None, # 3312 - None, # 3313 - None, # 3314 - None, # 3315 - None, # 3316 - None, # 3317 - None, # 3318 - None, # 3319 - None, # 3320 - None, # 3321 - None, # 3322 - None, # 3323 - None, # 3324 - None, # 3325 - None, # 3326 - None, # 3327 - None, # 3328 - (3329, TType.STRUCT, 'sessionId', [THandleIdentifier, None], None, ), # 3329 + None, # 0 + (1, TType.I32, 'client_protocol', None, -7, ), # 1 + (2, TType.STRING, 'username', 'UTF8', None, ), # 2 + (3, TType.STRING, 'password', 'UTF8', None, ), # 3 + (4, TType.MAP, 'configuration', (TType.STRING, 'UTF8', TType.STRING, 'UTF8', False), None, ), # 4 + None, # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + (1281, TType.LIST, 'getInfos', (TType.I32, None, False), None, ), # 1281 + (1282, TType.I64, 'client_protocol_i64', None, None, ), # 1282 + (1283, TType.MAP, 'connectionProperties', (TType.STRING, 'UTF8', TType.STRING, 'UTF8', False), None, ), # 1283 + (1284, TType.STRUCT, 'initialNamespace', [TNamespace, None], None, ), # 1284 + (1285, TType.BOOL, 'canUseMultipleCatalogs', None, None, ), # 1285 + None, # 1286 + None, # 1287 + None, # 1288 + None, # 1289 + None, # 1290 + None, # 1291 + None, # 1292 + None, # 1293 + None, # 1294 + None, # 1295 + None, # 1296 + None, # 1297 + None, # 1298 + None, # 1299 + None, # 1300 + None, # 1301 + None, # 1302 + None, # 1303 + None, # 1304 + None, # 1305 + None, # 1306 + None, # 1307 + None, # 1308 + None, # 1309 + None, # 1310 + None, # 1311 + None, # 1312 + None, # 1313 + None, # 1314 + None, # 1315 + None, # 1316 + None, # 1317 + None, # 1318 + None, # 1319 + None, # 1320 + None, # 1321 + None, # 1322 + None, # 1323 + None, # 1324 + None, # 1325 + None, # 1326 + None, # 1327 + None, # 1328 + None, # 1329 + None, # 1330 + None, # 1331 + None, # 1332 + None, # 1333 + None, # 1334 + None, # 1335 + None, # 1336 + None, # 1337 + None, # 1338 + None, # 1339 + None, # 1340 + None, # 1341 + None, # 1342 + None, # 1343 + None, # 1344 + None, # 1345 + None, # 1346 + None, # 1347 + None, # 1348 + None, # 1349 + None, # 1350 + None, # 1351 + None, # 1352 + None, # 1353 + None, # 1354 + None, # 1355 + None, # 1356 + None, # 1357 + None, # 1358 + None, # 1359 + None, # 1360 + None, # 1361 + None, # 1362 + None, # 1363 + None, # 1364 + None, # 1365 + None, # 1366 + None, # 1367 + None, # 1368 + None, # 1369 + None, # 1370 + None, # 1371 + None, # 1372 + None, # 1373 + None, # 1374 + None, # 1375 + None, # 1376 + None, # 1377 + None, # 1378 + None, # 1379 + None, # 1380 + None, # 1381 + None, # 1382 + None, # 1383 + None, # 1384 + None, # 1385 + None, # 1386 + None, # 1387 + None, # 1388 + None, # 1389 + None, # 1390 + None, # 1391 + None, # 1392 + None, # 1393 + None, # 1394 + None, # 1395 + None, # 1396 + None, # 1397 + None, # 1398 + None, # 1399 + None, # 1400 + None, # 1401 + None, # 1402 + None, # 1403 + None, # 1404 + None, # 1405 + None, # 1406 + None, # 1407 + None, # 1408 + None, # 1409 + None, # 1410 + None, # 1411 + None, # 1412 + None, # 1413 + None, # 1414 + None, # 1415 + None, # 1416 + None, # 1417 + None, # 1418 + None, # 1419 + None, # 1420 + None, # 1421 + None, # 1422 + None, # 1423 + None, # 1424 + None, # 1425 + None, # 1426 + None, # 1427 + None, # 1428 + None, # 1429 + None, # 1430 + None, # 1431 + None, # 1432 + None, # 1433 + None, # 1434 + None, # 1435 + None, # 1436 + None, # 1437 + None, # 1438 + None, # 1439 + None, # 1440 + None, # 1441 + None, # 1442 + None, # 1443 + None, # 1444 + None, # 1445 + None, # 1446 + None, # 1447 + None, # 1448 + None, # 1449 + None, # 1450 + None, # 1451 + None, # 1452 + None, # 1453 + None, # 1454 + None, # 1455 + None, # 1456 + None, # 1457 + None, # 1458 + None, # 1459 + None, # 1460 + None, # 1461 + None, # 1462 + None, # 1463 + None, # 1464 + None, # 1465 + None, # 1466 + None, # 1467 + None, # 1468 + None, # 1469 + None, # 1470 + None, # 1471 + None, # 1472 + None, # 1473 + None, # 1474 + None, # 1475 + None, # 1476 + None, # 1477 + None, # 1478 + None, # 1479 + None, # 1480 + None, # 1481 + None, # 1482 + None, # 1483 + None, # 1484 + None, # 1485 + None, # 1486 + None, # 1487 + None, # 1488 + None, # 1489 + None, # 1490 + None, # 1491 + None, # 1492 + None, # 1493 + None, # 1494 + None, # 1495 + None, # 1496 + None, # 1497 + None, # 1498 + None, # 1499 + None, # 1500 + None, # 1501 + None, # 1502 + None, # 1503 + None, # 1504 + None, # 1505 + None, # 1506 + None, # 1507 + None, # 1508 + None, # 1509 + None, # 1510 + None, # 1511 + None, # 1512 + None, # 1513 + None, # 1514 + None, # 1515 + None, # 1516 + None, # 1517 + None, # 1518 + None, # 1519 + None, # 1520 + None, # 1521 + None, # 1522 + None, # 1523 + None, # 1524 + None, # 1525 + None, # 1526 + None, # 1527 + None, # 1528 + None, # 1529 + None, # 1530 + None, # 1531 + None, # 1532 + None, # 1533 + None, # 1534 + None, # 1535 + None, # 1536 + None, # 1537 + None, # 1538 + None, # 1539 + None, # 1540 + None, # 1541 + None, # 1542 + None, # 1543 + None, # 1544 + None, # 1545 + None, # 1546 + None, # 1547 + None, # 1548 + None, # 1549 + None, # 1550 + None, # 1551 + None, # 1552 + None, # 1553 + None, # 1554 + None, # 1555 + None, # 1556 + None, # 1557 + None, # 1558 + None, # 1559 + None, # 1560 + None, # 1561 + None, # 1562 + None, # 1563 + None, # 1564 + None, # 1565 + None, # 1566 + None, # 1567 + None, # 1568 + None, # 1569 + None, # 1570 + None, # 1571 + None, # 1572 + None, # 1573 + None, # 1574 + None, # 1575 + None, # 1576 + None, # 1577 + None, # 1578 + None, # 1579 + None, # 1580 + None, # 1581 + None, # 1582 + None, # 1583 + None, # 1584 + None, # 1585 + None, # 1586 + None, # 1587 + None, # 1588 + None, # 1589 + None, # 1590 + None, # 1591 + None, # 1592 + None, # 1593 + None, # 1594 + None, # 1595 + None, # 1596 + None, # 1597 + None, # 1598 + None, # 1599 + None, # 1600 + None, # 1601 + None, # 1602 + None, # 1603 + None, # 1604 + None, # 1605 + None, # 1606 + None, # 1607 + None, # 1608 + None, # 1609 + None, # 1610 + None, # 1611 + None, # 1612 + None, # 1613 + None, # 1614 + None, # 1615 + None, # 1616 + None, # 1617 + None, # 1618 + None, # 1619 + None, # 1620 + None, # 1621 + None, # 1622 + None, # 1623 + None, # 1624 + None, # 1625 + None, # 1626 + None, # 1627 + None, # 1628 + None, # 1629 + None, # 1630 + None, # 1631 + None, # 1632 + None, # 1633 + None, # 1634 + None, # 1635 + None, # 1636 + None, # 1637 + None, # 1638 + None, # 1639 + None, # 1640 + None, # 1641 + None, # 1642 + None, # 1643 + None, # 1644 + None, # 1645 + None, # 1646 + None, # 1647 + None, # 1648 + None, # 1649 + None, # 1650 + None, # 1651 + None, # 1652 + None, # 1653 + None, # 1654 + None, # 1655 + None, # 1656 + None, # 1657 + None, # 1658 + None, # 1659 + None, # 1660 + None, # 1661 + None, # 1662 + None, # 1663 + None, # 1664 + None, # 1665 + None, # 1666 + None, # 1667 + None, # 1668 + None, # 1669 + None, # 1670 + None, # 1671 + None, # 1672 + None, # 1673 + None, # 1674 + None, # 1675 + None, # 1676 + None, # 1677 + None, # 1678 + None, # 1679 + None, # 1680 + None, # 1681 + None, # 1682 + None, # 1683 + None, # 1684 + None, # 1685 + None, # 1686 + None, # 1687 + None, # 1688 + None, # 1689 + None, # 1690 + None, # 1691 + None, # 1692 + None, # 1693 + None, # 1694 + None, # 1695 + None, # 1696 + None, # 1697 + None, # 1698 + None, # 1699 + None, # 1700 + None, # 1701 + None, # 1702 + None, # 1703 + None, # 1704 + None, # 1705 + None, # 1706 + None, # 1707 + None, # 1708 + None, # 1709 + None, # 1710 + None, # 1711 + None, # 1712 + None, # 1713 + None, # 1714 + None, # 1715 + None, # 1716 + None, # 1717 + None, # 1718 + None, # 1719 + None, # 1720 + None, # 1721 + None, # 1722 + None, # 1723 + None, # 1724 + None, # 1725 + None, # 1726 + None, # 1727 + None, # 1728 + None, # 1729 + None, # 1730 + None, # 1731 + None, # 1732 + None, # 1733 + None, # 1734 + None, # 1735 + None, # 1736 + None, # 1737 + None, # 1738 + None, # 1739 + None, # 1740 + None, # 1741 + None, # 1742 + None, # 1743 + None, # 1744 + None, # 1745 + None, # 1746 + None, # 1747 + None, # 1748 + None, # 1749 + None, # 1750 + None, # 1751 + None, # 1752 + None, # 1753 + None, # 1754 + None, # 1755 + None, # 1756 + None, # 1757 + None, # 1758 + None, # 1759 + None, # 1760 + None, # 1761 + None, # 1762 + None, # 1763 + None, # 1764 + None, # 1765 + None, # 1766 + None, # 1767 + None, # 1768 + None, # 1769 + None, # 1770 + None, # 1771 + None, # 1772 + None, # 1773 + None, # 1774 + None, # 1775 + None, # 1776 + None, # 1777 + None, # 1778 + None, # 1779 + None, # 1780 + None, # 1781 + None, # 1782 + None, # 1783 + None, # 1784 + None, # 1785 + None, # 1786 + None, # 1787 + None, # 1788 + None, # 1789 + None, # 1790 + None, # 1791 + None, # 1792 + None, # 1793 + None, # 1794 + None, # 1795 + None, # 1796 + None, # 1797 + None, # 1798 + None, # 1799 + None, # 1800 + None, # 1801 + None, # 1802 + None, # 1803 + None, # 1804 + None, # 1805 + None, # 1806 + None, # 1807 + None, # 1808 + None, # 1809 + None, # 1810 + None, # 1811 + None, # 1812 + None, # 1813 + None, # 1814 + None, # 1815 + None, # 1816 + None, # 1817 + None, # 1818 + None, # 1819 + None, # 1820 + None, # 1821 + None, # 1822 + None, # 1823 + None, # 1824 + None, # 1825 + None, # 1826 + None, # 1827 + None, # 1828 + None, # 1829 + None, # 1830 + None, # 1831 + None, # 1832 + None, # 1833 + None, # 1834 + None, # 1835 + None, # 1836 + None, # 1837 + None, # 1838 + None, # 1839 + None, # 1840 + None, # 1841 + None, # 1842 + None, # 1843 + None, # 1844 + None, # 1845 + None, # 1846 + None, # 1847 + None, # 1848 + None, # 1849 + None, # 1850 + None, # 1851 + None, # 1852 + None, # 1853 + None, # 1854 + None, # 1855 + None, # 1856 + None, # 1857 + None, # 1858 + None, # 1859 + None, # 1860 + None, # 1861 + None, # 1862 + None, # 1863 + None, # 1864 + None, # 1865 + None, # 1866 + None, # 1867 + None, # 1868 + None, # 1869 + None, # 1870 + None, # 1871 + None, # 1872 + None, # 1873 + None, # 1874 + None, # 1875 + None, # 1876 + None, # 1877 + None, # 1878 + None, # 1879 + None, # 1880 + None, # 1881 + None, # 1882 + None, # 1883 + None, # 1884 + None, # 1885 + None, # 1886 + None, # 1887 + None, # 1888 + None, # 1889 + None, # 1890 + None, # 1891 + None, # 1892 + None, # 1893 + None, # 1894 + None, # 1895 + None, # 1896 + None, # 1897 + None, # 1898 + None, # 1899 + None, # 1900 + None, # 1901 + None, # 1902 + None, # 1903 + None, # 1904 + None, # 1905 + None, # 1906 + None, # 1907 + None, # 1908 + None, # 1909 + None, # 1910 + None, # 1911 + None, # 1912 + None, # 1913 + None, # 1914 + None, # 1915 + None, # 1916 + None, # 1917 + None, # 1918 + None, # 1919 + None, # 1920 + None, # 1921 + None, # 1922 + None, # 1923 + None, # 1924 + None, # 1925 + None, # 1926 + None, # 1927 + None, # 1928 + None, # 1929 + None, # 1930 + None, # 1931 + None, # 1932 + None, # 1933 + None, # 1934 + None, # 1935 + None, # 1936 + None, # 1937 + None, # 1938 + None, # 1939 + None, # 1940 + None, # 1941 + None, # 1942 + None, # 1943 + None, # 1944 + None, # 1945 + None, # 1946 + None, # 1947 + None, # 1948 + None, # 1949 + None, # 1950 + None, # 1951 + None, # 1952 + None, # 1953 + None, # 1954 + None, # 1955 + None, # 1956 + None, # 1957 + None, # 1958 + None, # 1959 + None, # 1960 + None, # 1961 + None, # 1962 + None, # 1963 + None, # 1964 + None, # 1965 + None, # 1966 + None, # 1967 + None, # 1968 + None, # 1969 + None, # 1970 + None, # 1971 + None, # 1972 + None, # 1973 + None, # 1974 + None, # 1975 + None, # 1976 + None, # 1977 + None, # 1978 + None, # 1979 + None, # 1980 + None, # 1981 + None, # 1982 + None, # 1983 + None, # 1984 + None, # 1985 + None, # 1986 + None, # 1987 + None, # 1988 + None, # 1989 + None, # 1990 + None, # 1991 + None, # 1992 + None, # 1993 + None, # 1994 + None, # 1995 + None, # 1996 + None, # 1997 + None, # 1998 + None, # 1999 + None, # 2000 + None, # 2001 + None, # 2002 + None, # 2003 + None, # 2004 + None, # 2005 + None, # 2006 + None, # 2007 + None, # 2008 + None, # 2009 + None, # 2010 + None, # 2011 + None, # 2012 + None, # 2013 + None, # 2014 + None, # 2015 + None, # 2016 + None, # 2017 + None, # 2018 + None, # 2019 + None, # 2020 + None, # 2021 + None, # 2022 + None, # 2023 + None, # 2024 + None, # 2025 + None, # 2026 + None, # 2027 + None, # 2028 + None, # 2029 + None, # 2030 + None, # 2031 + None, # 2032 + None, # 2033 + None, # 2034 + None, # 2035 + None, # 2036 + None, # 2037 + None, # 2038 + None, # 2039 + None, # 2040 + None, # 2041 + None, # 2042 + None, # 2043 + None, # 2044 + None, # 2045 + None, # 2046 + None, # 2047 + None, # 2048 + None, # 2049 + None, # 2050 + None, # 2051 + None, # 2052 + None, # 2053 + None, # 2054 + None, # 2055 + None, # 2056 + None, # 2057 + None, # 2058 + None, # 2059 + None, # 2060 + None, # 2061 + None, # 2062 + None, # 2063 + None, # 2064 + None, # 2065 + None, # 2066 + None, # 2067 + None, # 2068 + None, # 2069 + None, # 2070 + None, # 2071 + None, # 2072 + None, # 2073 + None, # 2074 + None, # 2075 + None, # 2076 + None, # 2077 + None, # 2078 + None, # 2079 + None, # 2080 + None, # 2081 + None, # 2082 + None, # 2083 + None, # 2084 + None, # 2085 + None, # 2086 + None, # 2087 + None, # 2088 + None, # 2089 + None, # 2090 + None, # 2091 + None, # 2092 + None, # 2093 + None, # 2094 + None, # 2095 + None, # 2096 + None, # 2097 + None, # 2098 + None, # 2099 + None, # 2100 + None, # 2101 + None, # 2102 + None, # 2103 + None, # 2104 + None, # 2105 + None, # 2106 + None, # 2107 + None, # 2108 + None, # 2109 + None, # 2110 + None, # 2111 + None, # 2112 + None, # 2113 + None, # 2114 + None, # 2115 + None, # 2116 + None, # 2117 + None, # 2118 + None, # 2119 + None, # 2120 + None, # 2121 + None, # 2122 + None, # 2123 + None, # 2124 + None, # 2125 + None, # 2126 + None, # 2127 + None, # 2128 + None, # 2129 + None, # 2130 + None, # 2131 + None, # 2132 + None, # 2133 + None, # 2134 + None, # 2135 + None, # 2136 + None, # 2137 + None, # 2138 + None, # 2139 + None, # 2140 + None, # 2141 + None, # 2142 + None, # 2143 + None, # 2144 + None, # 2145 + None, # 2146 + None, # 2147 + None, # 2148 + None, # 2149 + None, # 2150 + None, # 2151 + None, # 2152 + None, # 2153 + None, # 2154 + None, # 2155 + None, # 2156 + None, # 2157 + None, # 2158 + None, # 2159 + None, # 2160 + None, # 2161 + None, # 2162 + None, # 2163 + None, # 2164 + None, # 2165 + None, # 2166 + None, # 2167 + None, # 2168 + None, # 2169 + None, # 2170 + None, # 2171 + None, # 2172 + None, # 2173 + None, # 2174 + None, # 2175 + None, # 2176 + None, # 2177 + None, # 2178 + None, # 2179 + None, # 2180 + None, # 2181 + None, # 2182 + None, # 2183 + None, # 2184 + None, # 2185 + None, # 2186 + None, # 2187 + None, # 2188 + None, # 2189 + None, # 2190 + None, # 2191 + None, # 2192 + None, # 2193 + None, # 2194 + None, # 2195 + None, # 2196 + None, # 2197 + None, # 2198 + None, # 2199 + None, # 2200 + None, # 2201 + None, # 2202 + None, # 2203 + None, # 2204 + None, # 2205 + None, # 2206 + None, # 2207 + None, # 2208 + None, # 2209 + None, # 2210 + None, # 2211 + None, # 2212 + None, # 2213 + None, # 2214 + None, # 2215 + None, # 2216 + None, # 2217 + None, # 2218 + None, # 2219 + None, # 2220 + None, # 2221 + None, # 2222 + None, # 2223 + None, # 2224 + None, # 2225 + None, # 2226 + None, # 2227 + None, # 2228 + None, # 2229 + None, # 2230 + None, # 2231 + None, # 2232 + None, # 2233 + None, # 2234 + None, # 2235 + None, # 2236 + None, # 2237 + None, # 2238 + None, # 2239 + None, # 2240 + None, # 2241 + None, # 2242 + None, # 2243 + None, # 2244 + None, # 2245 + None, # 2246 + None, # 2247 + None, # 2248 + None, # 2249 + None, # 2250 + None, # 2251 + None, # 2252 + None, # 2253 + None, # 2254 + None, # 2255 + None, # 2256 + None, # 2257 + None, # 2258 + None, # 2259 + None, # 2260 + None, # 2261 + None, # 2262 + None, # 2263 + None, # 2264 + None, # 2265 + None, # 2266 + None, # 2267 + None, # 2268 + None, # 2269 + None, # 2270 + None, # 2271 + None, # 2272 + None, # 2273 + None, # 2274 + None, # 2275 + None, # 2276 + None, # 2277 + None, # 2278 + None, # 2279 + None, # 2280 + None, # 2281 + None, # 2282 + None, # 2283 + None, # 2284 + None, # 2285 + None, # 2286 + None, # 2287 + None, # 2288 + None, # 2289 + None, # 2290 + None, # 2291 + None, # 2292 + None, # 2293 + None, # 2294 + None, # 2295 + None, # 2296 + None, # 2297 + None, # 2298 + None, # 2299 + None, # 2300 + None, # 2301 + None, # 2302 + None, # 2303 + None, # 2304 + None, # 2305 + None, # 2306 + None, # 2307 + None, # 2308 + None, # 2309 + None, # 2310 + None, # 2311 + None, # 2312 + None, # 2313 + None, # 2314 + None, # 2315 + None, # 2316 + None, # 2317 + None, # 2318 + None, # 2319 + None, # 2320 + None, # 2321 + None, # 2322 + None, # 2323 + None, # 2324 + None, # 2325 + None, # 2326 + None, # 2327 + None, # 2328 + None, # 2329 + None, # 2330 + None, # 2331 + None, # 2332 + None, # 2333 + None, # 2334 + None, # 2335 + None, # 2336 + None, # 2337 + None, # 2338 + None, # 2339 + None, # 2340 + None, # 2341 + None, # 2342 + None, # 2343 + None, # 2344 + None, # 2345 + None, # 2346 + None, # 2347 + None, # 2348 + None, # 2349 + None, # 2350 + None, # 2351 + None, # 2352 + None, # 2353 + None, # 2354 + None, # 2355 + None, # 2356 + None, # 2357 + None, # 2358 + None, # 2359 + None, # 2360 + None, # 2361 + None, # 2362 + None, # 2363 + None, # 2364 + None, # 2365 + None, # 2366 + None, # 2367 + None, # 2368 + None, # 2369 + None, # 2370 + None, # 2371 + None, # 2372 + None, # 2373 + None, # 2374 + None, # 2375 + None, # 2376 + None, # 2377 + None, # 2378 + None, # 2379 + None, # 2380 + None, # 2381 + None, # 2382 + None, # 2383 + None, # 2384 + None, # 2385 + None, # 2386 + None, # 2387 + None, # 2388 + None, # 2389 + None, # 2390 + None, # 2391 + None, # 2392 + None, # 2393 + None, # 2394 + None, # 2395 + None, # 2396 + None, # 2397 + None, # 2398 + None, # 2399 + None, # 2400 + None, # 2401 + None, # 2402 + None, # 2403 + None, # 2404 + None, # 2405 + None, # 2406 + None, # 2407 + None, # 2408 + None, # 2409 + None, # 2410 + None, # 2411 + None, # 2412 + None, # 2413 + None, # 2414 + None, # 2415 + None, # 2416 + None, # 2417 + None, # 2418 + None, # 2419 + None, # 2420 + None, # 2421 + None, # 2422 + None, # 2423 + None, # 2424 + None, # 2425 + None, # 2426 + None, # 2427 + None, # 2428 + None, # 2429 + None, # 2430 + None, # 2431 + None, # 2432 + None, # 2433 + None, # 2434 + None, # 2435 + None, # 2436 + None, # 2437 + None, # 2438 + None, # 2439 + None, # 2440 + None, # 2441 + None, # 2442 + None, # 2443 + None, # 2444 + None, # 2445 + None, # 2446 + None, # 2447 + None, # 2448 + None, # 2449 + None, # 2450 + None, # 2451 + None, # 2452 + None, # 2453 + None, # 2454 + None, # 2455 + None, # 2456 + None, # 2457 + None, # 2458 + None, # 2459 + None, # 2460 + None, # 2461 + None, # 2462 + None, # 2463 + None, # 2464 + None, # 2465 + None, # 2466 + None, # 2467 + None, # 2468 + None, # 2469 + None, # 2470 + None, # 2471 + None, # 2472 + None, # 2473 + None, # 2474 + None, # 2475 + None, # 2476 + None, # 2477 + None, # 2478 + None, # 2479 + None, # 2480 + None, # 2481 + None, # 2482 + None, # 2483 + None, # 2484 + None, # 2485 + None, # 2486 + None, # 2487 + None, # 2488 + None, # 2489 + None, # 2490 + None, # 2491 + None, # 2492 + None, # 2493 + None, # 2494 + None, # 2495 + None, # 2496 + None, # 2497 + None, # 2498 + None, # 2499 + None, # 2500 + None, # 2501 + None, # 2502 + None, # 2503 + None, # 2504 + None, # 2505 + None, # 2506 + None, # 2507 + None, # 2508 + None, # 2509 + None, # 2510 + None, # 2511 + None, # 2512 + None, # 2513 + None, # 2514 + None, # 2515 + None, # 2516 + None, # 2517 + None, # 2518 + None, # 2519 + None, # 2520 + None, # 2521 + None, # 2522 + None, # 2523 + None, # 2524 + None, # 2525 + None, # 2526 + None, # 2527 + None, # 2528 + None, # 2529 + None, # 2530 + None, # 2531 + None, # 2532 + None, # 2533 + None, # 2534 + None, # 2535 + None, # 2536 + None, # 2537 + None, # 2538 + None, # 2539 + None, # 2540 + None, # 2541 + None, # 2542 + None, # 2543 + None, # 2544 + None, # 2545 + None, # 2546 + None, # 2547 + None, # 2548 + None, # 2549 + None, # 2550 + None, # 2551 + None, # 2552 + None, # 2553 + None, # 2554 + None, # 2555 + None, # 2556 + None, # 2557 + None, # 2558 + None, # 2559 + None, # 2560 + None, # 2561 + None, # 2562 + None, # 2563 + None, # 2564 + None, # 2565 + None, # 2566 + None, # 2567 + None, # 2568 + None, # 2569 + None, # 2570 + None, # 2571 + None, # 2572 + None, # 2573 + None, # 2574 + None, # 2575 + None, # 2576 + None, # 2577 + None, # 2578 + None, # 2579 + None, # 2580 + None, # 2581 + None, # 2582 + None, # 2583 + None, # 2584 + None, # 2585 + None, # 2586 + None, # 2587 + None, # 2588 + None, # 2589 + None, # 2590 + None, # 2591 + None, # 2592 + None, # 2593 + None, # 2594 + None, # 2595 + None, # 2596 + None, # 2597 + None, # 2598 + None, # 2599 + None, # 2600 + None, # 2601 + None, # 2602 + None, # 2603 + None, # 2604 + None, # 2605 + None, # 2606 + None, # 2607 + None, # 2608 + None, # 2609 + None, # 2610 + None, # 2611 + None, # 2612 + None, # 2613 + None, # 2614 + None, # 2615 + None, # 2616 + None, # 2617 + None, # 2618 + None, # 2619 + None, # 2620 + None, # 2621 + None, # 2622 + None, # 2623 + None, # 2624 + None, # 2625 + None, # 2626 + None, # 2627 + None, # 2628 + None, # 2629 + None, # 2630 + None, # 2631 + None, # 2632 + None, # 2633 + None, # 2634 + None, # 2635 + None, # 2636 + None, # 2637 + None, # 2638 + None, # 2639 + None, # 2640 + None, # 2641 + None, # 2642 + None, # 2643 + None, # 2644 + None, # 2645 + None, # 2646 + None, # 2647 + None, # 2648 + None, # 2649 + None, # 2650 + None, # 2651 + None, # 2652 + None, # 2653 + None, # 2654 + None, # 2655 + None, # 2656 + None, # 2657 + None, # 2658 + None, # 2659 + None, # 2660 + None, # 2661 + None, # 2662 + None, # 2663 + None, # 2664 + None, # 2665 + None, # 2666 + None, # 2667 + None, # 2668 + None, # 2669 + None, # 2670 + None, # 2671 + None, # 2672 + None, # 2673 + None, # 2674 + None, # 2675 + None, # 2676 + None, # 2677 + None, # 2678 + None, # 2679 + None, # 2680 + None, # 2681 + None, # 2682 + None, # 2683 + None, # 2684 + None, # 2685 + None, # 2686 + None, # 2687 + None, # 2688 + None, # 2689 + None, # 2690 + None, # 2691 + None, # 2692 + None, # 2693 + None, # 2694 + None, # 2695 + None, # 2696 + None, # 2697 + None, # 2698 + None, # 2699 + None, # 2700 + None, # 2701 + None, # 2702 + None, # 2703 + None, # 2704 + None, # 2705 + None, # 2706 + None, # 2707 + None, # 2708 + None, # 2709 + None, # 2710 + None, # 2711 + None, # 2712 + None, # 2713 + None, # 2714 + None, # 2715 + None, # 2716 + None, # 2717 + None, # 2718 + None, # 2719 + None, # 2720 + None, # 2721 + None, # 2722 + None, # 2723 + None, # 2724 + None, # 2725 + None, # 2726 + None, # 2727 + None, # 2728 + None, # 2729 + None, # 2730 + None, # 2731 + None, # 2732 + None, # 2733 + None, # 2734 + None, # 2735 + None, # 2736 + None, # 2737 + None, # 2738 + None, # 2739 + None, # 2740 + None, # 2741 + None, # 2742 + None, # 2743 + None, # 2744 + None, # 2745 + None, # 2746 + None, # 2747 + None, # 2748 + None, # 2749 + None, # 2750 + None, # 2751 + None, # 2752 + None, # 2753 + None, # 2754 + None, # 2755 + None, # 2756 + None, # 2757 + None, # 2758 + None, # 2759 + None, # 2760 + None, # 2761 + None, # 2762 + None, # 2763 + None, # 2764 + None, # 2765 + None, # 2766 + None, # 2767 + None, # 2768 + None, # 2769 + None, # 2770 + None, # 2771 + None, # 2772 + None, # 2773 + None, # 2774 + None, # 2775 + None, # 2776 + None, # 2777 + None, # 2778 + None, # 2779 + None, # 2780 + None, # 2781 + None, # 2782 + None, # 2783 + None, # 2784 + None, # 2785 + None, # 2786 + None, # 2787 + None, # 2788 + None, # 2789 + None, # 2790 + None, # 2791 + None, # 2792 + None, # 2793 + None, # 2794 + None, # 2795 + None, # 2796 + None, # 2797 + None, # 2798 + None, # 2799 + None, # 2800 + None, # 2801 + None, # 2802 + None, # 2803 + None, # 2804 + None, # 2805 + None, # 2806 + None, # 2807 + None, # 2808 + None, # 2809 + None, # 2810 + None, # 2811 + None, # 2812 + None, # 2813 + None, # 2814 + None, # 2815 + None, # 2816 + None, # 2817 + None, # 2818 + None, # 2819 + None, # 2820 + None, # 2821 + None, # 2822 + None, # 2823 + None, # 2824 + None, # 2825 + None, # 2826 + None, # 2827 + None, # 2828 + None, # 2829 + None, # 2830 + None, # 2831 + None, # 2832 + None, # 2833 + None, # 2834 + None, # 2835 + None, # 2836 + None, # 2837 + None, # 2838 + None, # 2839 + None, # 2840 + None, # 2841 + None, # 2842 + None, # 2843 + None, # 2844 + None, # 2845 + None, # 2846 + None, # 2847 + None, # 2848 + None, # 2849 + None, # 2850 + None, # 2851 + None, # 2852 + None, # 2853 + None, # 2854 + None, # 2855 + None, # 2856 + None, # 2857 + None, # 2858 + None, # 2859 + None, # 2860 + None, # 2861 + None, # 2862 + None, # 2863 + None, # 2864 + None, # 2865 + None, # 2866 + None, # 2867 + None, # 2868 + None, # 2869 + None, # 2870 + None, # 2871 + None, # 2872 + None, # 2873 + None, # 2874 + None, # 2875 + None, # 2876 + None, # 2877 + None, # 2878 + None, # 2879 + None, # 2880 + None, # 2881 + None, # 2882 + None, # 2883 + None, # 2884 + None, # 2885 + None, # 2886 + None, # 2887 + None, # 2888 + None, # 2889 + None, # 2890 + None, # 2891 + None, # 2892 + None, # 2893 + None, # 2894 + None, # 2895 + None, # 2896 + None, # 2897 + None, # 2898 + None, # 2899 + None, # 2900 + None, # 2901 + None, # 2902 + None, # 2903 + None, # 2904 + None, # 2905 + None, # 2906 + None, # 2907 + None, # 2908 + None, # 2909 + None, # 2910 + None, # 2911 + None, # 2912 + None, # 2913 + None, # 2914 + None, # 2915 + None, # 2916 + None, # 2917 + None, # 2918 + None, # 2919 + None, # 2920 + None, # 2921 + None, # 2922 + None, # 2923 + None, # 2924 + None, # 2925 + None, # 2926 + None, # 2927 + None, # 2928 + None, # 2929 + None, # 2930 + None, # 2931 + None, # 2932 + None, # 2933 + None, # 2934 + None, # 2935 + None, # 2936 + None, # 2937 + None, # 2938 + None, # 2939 + None, # 2940 + None, # 2941 + None, # 2942 + None, # 2943 + None, # 2944 + None, # 2945 + None, # 2946 + None, # 2947 + None, # 2948 + None, # 2949 + None, # 2950 + None, # 2951 + None, # 2952 + None, # 2953 + None, # 2954 + None, # 2955 + None, # 2956 + None, # 2957 + None, # 2958 + None, # 2959 + None, # 2960 + None, # 2961 + None, # 2962 + None, # 2963 + None, # 2964 + None, # 2965 + None, # 2966 + None, # 2967 + None, # 2968 + None, # 2969 + None, # 2970 + None, # 2971 + None, # 2972 + None, # 2973 + None, # 2974 + None, # 2975 + None, # 2976 + None, # 2977 + None, # 2978 + None, # 2979 + None, # 2980 + None, # 2981 + None, # 2982 + None, # 2983 + None, # 2984 + None, # 2985 + None, # 2986 + None, # 2987 + None, # 2988 + None, # 2989 + None, # 2990 + None, # 2991 + None, # 2992 + None, # 2993 + None, # 2994 + None, # 2995 + None, # 2996 + None, # 2997 + None, # 2998 + None, # 2999 + None, # 3000 + None, # 3001 + None, # 3002 + None, # 3003 + None, # 3004 + None, # 3005 + None, # 3006 + None, # 3007 + None, # 3008 + None, # 3009 + None, # 3010 + None, # 3011 + None, # 3012 + None, # 3013 + None, # 3014 + None, # 3015 + None, # 3016 + None, # 3017 + None, # 3018 + None, # 3019 + None, # 3020 + None, # 3021 + None, # 3022 + None, # 3023 + None, # 3024 + None, # 3025 + None, # 3026 + None, # 3027 + None, # 3028 + None, # 3029 + None, # 3030 + None, # 3031 + None, # 3032 + None, # 3033 + None, # 3034 + None, # 3035 + None, # 3036 + None, # 3037 + None, # 3038 + None, # 3039 + None, # 3040 + None, # 3041 + None, # 3042 + None, # 3043 + None, # 3044 + None, # 3045 + None, # 3046 + None, # 3047 + None, # 3048 + None, # 3049 + None, # 3050 + None, # 3051 + None, # 3052 + None, # 3053 + None, # 3054 + None, # 3055 + None, # 3056 + None, # 3057 + None, # 3058 + None, # 3059 + None, # 3060 + None, # 3061 + None, # 3062 + None, # 3063 + None, # 3064 + None, # 3065 + None, # 3066 + None, # 3067 + None, # 3068 + None, # 3069 + None, # 3070 + None, # 3071 + None, # 3072 + None, # 3073 + None, # 3074 + None, # 3075 + None, # 3076 + None, # 3077 + None, # 3078 + None, # 3079 + None, # 3080 + None, # 3081 + None, # 3082 + None, # 3083 + None, # 3084 + None, # 3085 + None, # 3086 + None, # 3087 + None, # 3088 + None, # 3089 + None, # 3090 + None, # 3091 + None, # 3092 + None, # 3093 + None, # 3094 + None, # 3095 + None, # 3096 + None, # 3097 + None, # 3098 + None, # 3099 + None, # 3100 + None, # 3101 + None, # 3102 + None, # 3103 + None, # 3104 + None, # 3105 + None, # 3106 + None, # 3107 + None, # 3108 + None, # 3109 + None, # 3110 + None, # 3111 + None, # 3112 + None, # 3113 + None, # 3114 + None, # 3115 + None, # 3116 + None, # 3117 + None, # 3118 + None, # 3119 + None, # 3120 + None, # 3121 + None, # 3122 + None, # 3123 + None, # 3124 + None, # 3125 + None, # 3126 + None, # 3127 + None, # 3128 + None, # 3129 + None, # 3130 + None, # 3131 + None, # 3132 + None, # 3133 + None, # 3134 + None, # 3135 + None, # 3136 + None, # 3137 + None, # 3138 + None, # 3139 + None, # 3140 + None, # 3141 + None, # 3142 + None, # 3143 + None, # 3144 + None, # 3145 + None, # 3146 + None, # 3147 + None, # 3148 + None, # 3149 + None, # 3150 + None, # 3151 + None, # 3152 + None, # 3153 + None, # 3154 + None, # 3155 + None, # 3156 + None, # 3157 + None, # 3158 + None, # 3159 + None, # 3160 + None, # 3161 + None, # 3162 + None, # 3163 + None, # 3164 + None, # 3165 + None, # 3166 + None, # 3167 + None, # 3168 + None, # 3169 + None, # 3170 + None, # 3171 + None, # 3172 + None, # 3173 + None, # 3174 + None, # 3175 + None, # 3176 + None, # 3177 + None, # 3178 + None, # 3179 + None, # 3180 + None, # 3181 + None, # 3182 + None, # 3183 + None, # 3184 + None, # 3185 + None, # 3186 + None, # 3187 + None, # 3188 + None, # 3189 + None, # 3190 + None, # 3191 + None, # 3192 + None, # 3193 + None, # 3194 + None, # 3195 + None, # 3196 + None, # 3197 + None, # 3198 + None, # 3199 + None, # 3200 + None, # 3201 + None, # 3202 + None, # 3203 + None, # 3204 + None, # 3205 + None, # 3206 + None, # 3207 + None, # 3208 + None, # 3209 + None, # 3210 + None, # 3211 + None, # 3212 + None, # 3213 + None, # 3214 + None, # 3215 + None, # 3216 + None, # 3217 + None, # 3218 + None, # 3219 + None, # 3220 + None, # 3221 + None, # 3222 + None, # 3223 + None, # 3224 + None, # 3225 + None, # 3226 + None, # 3227 + None, # 3228 + None, # 3229 + None, # 3230 + None, # 3231 + None, # 3232 + None, # 3233 + None, # 3234 + None, # 3235 + None, # 3236 + None, # 3237 + None, # 3238 + None, # 3239 + None, # 3240 + None, # 3241 + None, # 3242 + None, # 3243 + None, # 3244 + None, # 3245 + None, # 3246 + None, # 3247 + None, # 3248 + None, # 3249 + None, # 3250 + None, # 3251 + None, # 3252 + None, # 3253 + None, # 3254 + None, # 3255 + None, # 3256 + None, # 3257 + None, # 3258 + None, # 3259 + None, # 3260 + None, # 3261 + None, # 3262 + None, # 3263 + None, # 3264 + None, # 3265 + None, # 3266 + None, # 3267 + None, # 3268 + None, # 3269 + None, # 3270 + None, # 3271 + None, # 3272 + None, # 3273 + None, # 3274 + None, # 3275 + None, # 3276 + None, # 3277 + None, # 3278 + None, # 3279 + None, # 3280 + None, # 3281 + None, # 3282 + None, # 3283 + None, # 3284 + None, # 3285 + None, # 3286 + None, # 3287 + None, # 3288 + None, # 3289 + None, # 3290 + None, # 3291 + None, # 3292 + None, # 3293 + None, # 3294 + None, # 3295 + None, # 3296 + None, # 3297 + None, # 3298 + None, # 3299 + None, # 3300 + None, # 3301 + None, # 3302 + None, # 3303 + None, # 3304 + None, # 3305 + None, # 3306 + None, # 3307 + None, # 3308 + None, # 3309 + None, # 3310 + None, # 3311 + None, # 3312 + None, # 3313 + None, # 3314 + None, # 3315 + None, # 3316 + None, # 3317 + None, # 3318 + None, # 3319 + None, # 3320 + None, # 3321 + None, # 3322 + None, # 3323 + None, # 3324 + None, # 3325 + None, # 3326 + None, # 3327 + None, # 3328 + (3329, TType.STRUCT, 'sessionId', [THandleIdentifier, None], None, ), # 3329 ) all_structs.append(TOpenSessionResp) TOpenSessionResp.thrift_spec = ( - None, # 0 - (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 - (2, TType.I32, 'serverProtocolVersion', None, None, ), # 2 - (3, TType.STRUCT, 'sessionHandle', [TSessionHandle, None], None, ), # 3 - (4, TType.MAP, 'configuration', (TType.STRING, 'UTF8', TType.STRING, 'UTF8', False), None, ), # 4 - None, # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - (1281, TType.LIST, 'getInfos', (TType.STRUCT, [TGetInfoValue, None], False), None, ), # 1281 - None, # 1282 - None, # 1283 - (1284, TType.STRUCT, 'initialNamespace', [TNamespace, None], None, ), # 1284 - (1285, TType.BOOL, 'canUseMultipleCatalogs', None, None, ), # 1285 + None, # 0 + (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 + (2, TType.I32, 'serverProtocolVersion', None, None, ), # 2 + (3, TType.STRUCT, 'sessionHandle', [TSessionHandle, None], None, ), # 3 + (4, TType.MAP, 'configuration', (TType.STRING, 'UTF8', TType.STRING, 'UTF8', False), None, ), # 4 + None, # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + (1281, TType.LIST, 'getInfos', (TType.STRUCT, [TGetInfoValue, None], False), None, ), # 1281 + None, # 1282 + None, # 1283 + (1284, TType.STRUCT, 'initialNamespace', [TNamespace, None], None, ), # 1284 + (1285, TType.BOOL, 'canUseMultipleCatalogs', None, None, ), # 1285 ) all_structs.append(TCloseSessionReq) TCloseSessionReq.thrift_spec = ( - None, # 0 - (1, TType.STRUCT, 'sessionHandle', [TSessionHandle, None], None, ), # 1 + None, # 0 + (1, TType.STRUCT, 'sessionHandle', [TSessionHandle, None], None, ), # 1 ) all_structs.append(TCloseSessionResp) TCloseSessionResp.thrift_spec = ( - None, # 0 - (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 + None, # 0 + (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 ) all_structs.append(TGetInfoValue) TGetInfoValue.thrift_spec = ( - None, # 0 - (1, TType.STRING, 'stringValue', 'UTF8', None, ), # 1 - (2, TType.I16, 'smallIntValue', None, None, ), # 2 - (3, TType.I32, 'integerBitmask', None, None, ), # 3 - (4, TType.I32, 'integerFlag', None, None, ), # 4 - (5, TType.I32, 'binaryValue', None, None, ), # 5 - (6, TType.I64, 'lenValue', None, None, ), # 6 + None, # 0 + (1, TType.STRING, 'stringValue', 'UTF8', None, ), # 1 + (2, TType.I16, 'smallIntValue', None, None, ), # 2 + (3, TType.I32, 'integerBitmask', None, None, ), # 3 + (4, TType.I32, 'integerFlag', None, None, ), # 4 + (5, TType.I32, 'binaryValue', None, None, ), # 5 + (6, TType.I64, 'lenValue', None, None, ), # 6 ) all_structs.append(TGetInfoReq) TGetInfoReq.thrift_spec = ( - None, # 0 - (1, TType.STRUCT, 'sessionHandle', [TSessionHandle, None], None, ), # 1 - (2, TType.I32, 'infoType', None, None, ), # 2 - None, # 3 - None, # 4 - None, # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - None, # 1281 - None, # 1282 - None, # 1283 - None, # 1284 - None, # 1285 - None, # 1286 - None, # 1287 - None, # 1288 - None, # 1289 - None, # 1290 - None, # 1291 - None, # 1292 - None, # 1293 - None, # 1294 - None, # 1295 - None, # 1296 - None, # 1297 - None, # 1298 - None, # 1299 - None, # 1300 - None, # 1301 - None, # 1302 - None, # 1303 - None, # 1304 - None, # 1305 - None, # 1306 - None, # 1307 - None, # 1308 - None, # 1309 - None, # 1310 - None, # 1311 - None, # 1312 - None, # 1313 - None, # 1314 - None, # 1315 - None, # 1316 - None, # 1317 - None, # 1318 - None, # 1319 - None, # 1320 - None, # 1321 - None, # 1322 - None, # 1323 - None, # 1324 - None, # 1325 - None, # 1326 - None, # 1327 - None, # 1328 - None, # 1329 - None, # 1330 - None, # 1331 - None, # 1332 - None, # 1333 - None, # 1334 - None, # 1335 - None, # 1336 - None, # 1337 - None, # 1338 - None, # 1339 - None, # 1340 - None, # 1341 - None, # 1342 - None, # 1343 - None, # 1344 - None, # 1345 - None, # 1346 - None, # 1347 - None, # 1348 - None, # 1349 - None, # 1350 - None, # 1351 - None, # 1352 - None, # 1353 - None, # 1354 - None, # 1355 - None, # 1356 - None, # 1357 - None, # 1358 - None, # 1359 - None, # 1360 - None, # 1361 - None, # 1362 - None, # 1363 - None, # 1364 - None, # 1365 - None, # 1366 - None, # 1367 - None, # 1368 - None, # 1369 - None, # 1370 - None, # 1371 - None, # 1372 - None, # 1373 - None, # 1374 - None, # 1375 - None, # 1376 - None, # 1377 - None, # 1378 - None, # 1379 - None, # 1380 - None, # 1381 - None, # 1382 - None, # 1383 - None, # 1384 - None, # 1385 - None, # 1386 - None, # 1387 - None, # 1388 - None, # 1389 - None, # 1390 - None, # 1391 - None, # 1392 - None, # 1393 - None, # 1394 - None, # 1395 - None, # 1396 - None, # 1397 - None, # 1398 - None, # 1399 - None, # 1400 - None, # 1401 - None, # 1402 - None, # 1403 - None, # 1404 - None, # 1405 - None, # 1406 - None, # 1407 - None, # 1408 - None, # 1409 - None, # 1410 - None, # 1411 - None, # 1412 - None, # 1413 - None, # 1414 - None, # 1415 - None, # 1416 - None, # 1417 - None, # 1418 - None, # 1419 - None, # 1420 - None, # 1421 - None, # 1422 - None, # 1423 - None, # 1424 - None, # 1425 - None, # 1426 - None, # 1427 - None, # 1428 - None, # 1429 - None, # 1430 - None, # 1431 - None, # 1432 - None, # 1433 - None, # 1434 - None, # 1435 - None, # 1436 - None, # 1437 - None, # 1438 - None, # 1439 - None, # 1440 - None, # 1441 - None, # 1442 - None, # 1443 - None, # 1444 - None, # 1445 - None, # 1446 - None, # 1447 - None, # 1448 - None, # 1449 - None, # 1450 - None, # 1451 - None, # 1452 - None, # 1453 - None, # 1454 - None, # 1455 - None, # 1456 - None, # 1457 - None, # 1458 - None, # 1459 - None, # 1460 - None, # 1461 - None, # 1462 - None, # 1463 - None, # 1464 - None, # 1465 - None, # 1466 - None, # 1467 - None, # 1468 - None, # 1469 - None, # 1470 - None, # 1471 - None, # 1472 - None, # 1473 - None, # 1474 - None, # 1475 - None, # 1476 - None, # 1477 - None, # 1478 - None, # 1479 - None, # 1480 - None, # 1481 - None, # 1482 - None, # 1483 - None, # 1484 - None, # 1485 - None, # 1486 - None, # 1487 - None, # 1488 - None, # 1489 - None, # 1490 - None, # 1491 - None, # 1492 - None, # 1493 - None, # 1494 - None, # 1495 - None, # 1496 - None, # 1497 - None, # 1498 - None, # 1499 - None, # 1500 - None, # 1501 - None, # 1502 - None, # 1503 - None, # 1504 - None, # 1505 - None, # 1506 - None, # 1507 - None, # 1508 - None, # 1509 - None, # 1510 - None, # 1511 - None, # 1512 - None, # 1513 - None, # 1514 - None, # 1515 - None, # 1516 - None, # 1517 - None, # 1518 - None, # 1519 - None, # 1520 - None, # 1521 - None, # 1522 - None, # 1523 - None, # 1524 - None, # 1525 - None, # 1526 - None, # 1527 - None, # 1528 - None, # 1529 - None, # 1530 - None, # 1531 - None, # 1532 - None, # 1533 - None, # 1534 - None, # 1535 - None, # 1536 - None, # 1537 - None, # 1538 - None, # 1539 - None, # 1540 - None, # 1541 - None, # 1542 - None, # 1543 - None, # 1544 - None, # 1545 - None, # 1546 - None, # 1547 - None, # 1548 - None, # 1549 - None, # 1550 - None, # 1551 - None, # 1552 - None, # 1553 - None, # 1554 - None, # 1555 - None, # 1556 - None, # 1557 - None, # 1558 - None, # 1559 - None, # 1560 - None, # 1561 - None, # 1562 - None, # 1563 - None, # 1564 - None, # 1565 - None, # 1566 - None, # 1567 - None, # 1568 - None, # 1569 - None, # 1570 - None, # 1571 - None, # 1572 - None, # 1573 - None, # 1574 - None, # 1575 - None, # 1576 - None, # 1577 - None, # 1578 - None, # 1579 - None, # 1580 - None, # 1581 - None, # 1582 - None, # 1583 - None, # 1584 - None, # 1585 - None, # 1586 - None, # 1587 - None, # 1588 - None, # 1589 - None, # 1590 - None, # 1591 - None, # 1592 - None, # 1593 - None, # 1594 - None, # 1595 - None, # 1596 - None, # 1597 - None, # 1598 - None, # 1599 - None, # 1600 - None, # 1601 - None, # 1602 - None, # 1603 - None, # 1604 - None, # 1605 - None, # 1606 - None, # 1607 - None, # 1608 - None, # 1609 - None, # 1610 - None, # 1611 - None, # 1612 - None, # 1613 - None, # 1614 - None, # 1615 - None, # 1616 - None, # 1617 - None, # 1618 - None, # 1619 - None, # 1620 - None, # 1621 - None, # 1622 - None, # 1623 - None, # 1624 - None, # 1625 - None, # 1626 - None, # 1627 - None, # 1628 - None, # 1629 - None, # 1630 - None, # 1631 - None, # 1632 - None, # 1633 - None, # 1634 - None, # 1635 - None, # 1636 - None, # 1637 - None, # 1638 - None, # 1639 - None, # 1640 - None, # 1641 - None, # 1642 - None, # 1643 - None, # 1644 - None, # 1645 - None, # 1646 - None, # 1647 - None, # 1648 - None, # 1649 - None, # 1650 - None, # 1651 - None, # 1652 - None, # 1653 - None, # 1654 - None, # 1655 - None, # 1656 - None, # 1657 - None, # 1658 - None, # 1659 - None, # 1660 - None, # 1661 - None, # 1662 - None, # 1663 - None, # 1664 - None, # 1665 - None, # 1666 - None, # 1667 - None, # 1668 - None, # 1669 - None, # 1670 - None, # 1671 - None, # 1672 - None, # 1673 - None, # 1674 - None, # 1675 - None, # 1676 - None, # 1677 - None, # 1678 - None, # 1679 - None, # 1680 - None, # 1681 - None, # 1682 - None, # 1683 - None, # 1684 - None, # 1685 - None, # 1686 - None, # 1687 - None, # 1688 - None, # 1689 - None, # 1690 - None, # 1691 - None, # 1692 - None, # 1693 - None, # 1694 - None, # 1695 - None, # 1696 - None, # 1697 - None, # 1698 - None, # 1699 - None, # 1700 - None, # 1701 - None, # 1702 - None, # 1703 - None, # 1704 - None, # 1705 - None, # 1706 - None, # 1707 - None, # 1708 - None, # 1709 - None, # 1710 - None, # 1711 - None, # 1712 - None, # 1713 - None, # 1714 - None, # 1715 - None, # 1716 - None, # 1717 - None, # 1718 - None, # 1719 - None, # 1720 - None, # 1721 - None, # 1722 - None, # 1723 - None, # 1724 - None, # 1725 - None, # 1726 - None, # 1727 - None, # 1728 - None, # 1729 - None, # 1730 - None, # 1731 - None, # 1732 - None, # 1733 - None, # 1734 - None, # 1735 - None, # 1736 - None, # 1737 - None, # 1738 - None, # 1739 - None, # 1740 - None, # 1741 - None, # 1742 - None, # 1743 - None, # 1744 - None, # 1745 - None, # 1746 - None, # 1747 - None, # 1748 - None, # 1749 - None, # 1750 - None, # 1751 - None, # 1752 - None, # 1753 - None, # 1754 - None, # 1755 - None, # 1756 - None, # 1757 - None, # 1758 - None, # 1759 - None, # 1760 - None, # 1761 - None, # 1762 - None, # 1763 - None, # 1764 - None, # 1765 - None, # 1766 - None, # 1767 - None, # 1768 - None, # 1769 - None, # 1770 - None, # 1771 - None, # 1772 - None, # 1773 - None, # 1774 - None, # 1775 - None, # 1776 - None, # 1777 - None, # 1778 - None, # 1779 - None, # 1780 - None, # 1781 - None, # 1782 - None, # 1783 - None, # 1784 - None, # 1785 - None, # 1786 - None, # 1787 - None, # 1788 - None, # 1789 - None, # 1790 - None, # 1791 - None, # 1792 - None, # 1793 - None, # 1794 - None, # 1795 - None, # 1796 - None, # 1797 - None, # 1798 - None, # 1799 - None, # 1800 - None, # 1801 - None, # 1802 - None, # 1803 - None, # 1804 - None, # 1805 - None, # 1806 - None, # 1807 - None, # 1808 - None, # 1809 - None, # 1810 - None, # 1811 - None, # 1812 - None, # 1813 - None, # 1814 - None, # 1815 - None, # 1816 - None, # 1817 - None, # 1818 - None, # 1819 - None, # 1820 - None, # 1821 - None, # 1822 - None, # 1823 - None, # 1824 - None, # 1825 - None, # 1826 - None, # 1827 - None, # 1828 - None, # 1829 - None, # 1830 - None, # 1831 - None, # 1832 - None, # 1833 - None, # 1834 - None, # 1835 - None, # 1836 - None, # 1837 - None, # 1838 - None, # 1839 - None, # 1840 - None, # 1841 - None, # 1842 - None, # 1843 - None, # 1844 - None, # 1845 - None, # 1846 - None, # 1847 - None, # 1848 - None, # 1849 - None, # 1850 - None, # 1851 - None, # 1852 - None, # 1853 - None, # 1854 - None, # 1855 - None, # 1856 - None, # 1857 - None, # 1858 - None, # 1859 - None, # 1860 - None, # 1861 - None, # 1862 - None, # 1863 - None, # 1864 - None, # 1865 - None, # 1866 - None, # 1867 - None, # 1868 - None, # 1869 - None, # 1870 - None, # 1871 - None, # 1872 - None, # 1873 - None, # 1874 - None, # 1875 - None, # 1876 - None, # 1877 - None, # 1878 - None, # 1879 - None, # 1880 - None, # 1881 - None, # 1882 - None, # 1883 - None, # 1884 - None, # 1885 - None, # 1886 - None, # 1887 - None, # 1888 - None, # 1889 - None, # 1890 - None, # 1891 - None, # 1892 - None, # 1893 - None, # 1894 - None, # 1895 - None, # 1896 - None, # 1897 - None, # 1898 - None, # 1899 - None, # 1900 - None, # 1901 - None, # 1902 - None, # 1903 - None, # 1904 - None, # 1905 - None, # 1906 - None, # 1907 - None, # 1908 - None, # 1909 - None, # 1910 - None, # 1911 - None, # 1912 - None, # 1913 - None, # 1914 - None, # 1915 - None, # 1916 - None, # 1917 - None, # 1918 - None, # 1919 - None, # 1920 - None, # 1921 - None, # 1922 - None, # 1923 - None, # 1924 - None, # 1925 - None, # 1926 - None, # 1927 - None, # 1928 - None, # 1929 - None, # 1930 - None, # 1931 - None, # 1932 - None, # 1933 - None, # 1934 - None, # 1935 - None, # 1936 - None, # 1937 - None, # 1938 - None, # 1939 - None, # 1940 - None, # 1941 - None, # 1942 - None, # 1943 - None, # 1944 - None, # 1945 - None, # 1946 - None, # 1947 - None, # 1948 - None, # 1949 - None, # 1950 - None, # 1951 - None, # 1952 - None, # 1953 - None, # 1954 - None, # 1955 - None, # 1956 - None, # 1957 - None, # 1958 - None, # 1959 - None, # 1960 - None, # 1961 - None, # 1962 - None, # 1963 - None, # 1964 - None, # 1965 - None, # 1966 - None, # 1967 - None, # 1968 - None, # 1969 - None, # 1970 - None, # 1971 - None, # 1972 - None, # 1973 - None, # 1974 - None, # 1975 - None, # 1976 - None, # 1977 - None, # 1978 - None, # 1979 - None, # 1980 - None, # 1981 - None, # 1982 - None, # 1983 - None, # 1984 - None, # 1985 - None, # 1986 - None, # 1987 - None, # 1988 - None, # 1989 - None, # 1990 - None, # 1991 - None, # 1992 - None, # 1993 - None, # 1994 - None, # 1995 - None, # 1996 - None, # 1997 - None, # 1998 - None, # 1999 - None, # 2000 - None, # 2001 - None, # 2002 - None, # 2003 - None, # 2004 - None, # 2005 - None, # 2006 - None, # 2007 - None, # 2008 - None, # 2009 - None, # 2010 - None, # 2011 - None, # 2012 - None, # 2013 - None, # 2014 - None, # 2015 - None, # 2016 - None, # 2017 - None, # 2018 - None, # 2019 - None, # 2020 - None, # 2021 - None, # 2022 - None, # 2023 - None, # 2024 - None, # 2025 - None, # 2026 - None, # 2027 - None, # 2028 - None, # 2029 - None, # 2030 - None, # 2031 - None, # 2032 - None, # 2033 - None, # 2034 - None, # 2035 - None, # 2036 - None, # 2037 - None, # 2038 - None, # 2039 - None, # 2040 - None, # 2041 - None, # 2042 - None, # 2043 - None, # 2044 - None, # 2045 - None, # 2046 - None, # 2047 - None, # 2048 - None, # 2049 - None, # 2050 - None, # 2051 - None, # 2052 - None, # 2053 - None, # 2054 - None, # 2055 - None, # 2056 - None, # 2057 - None, # 2058 - None, # 2059 - None, # 2060 - None, # 2061 - None, # 2062 - None, # 2063 - None, # 2064 - None, # 2065 - None, # 2066 - None, # 2067 - None, # 2068 - None, # 2069 - None, # 2070 - None, # 2071 - None, # 2072 - None, # 2073 - None, # 2074 - None, # 2075 - None, # 2076 - None, # 2077 - None, # 2078 - None, # 2079 - None, # 2080 - None, # 2081 - None, # 2082 - None, # 2083 - None, # 2084 - None, # 2085 - None, # 2086 - None, # 2087 - None, # 2088 - None, # 2089 - None, # 2090 - None, # 2091 - None, # 2092 - None, # 2093 - None, # 2094 - None, # 2095 - None, # 2096 - None, # 2097 - None, # 2098 - None, # 2099 - None, # 2100 - None, # 2101 - None, # 2102 - None, # 2103 - None, # 2104 - None, # 2105 - None, # 2106 - None, # 2107 - None, # 2108 - None, # 2109 - None, # 2110 - None, # 2111 - None, # 2112 - None, # 2113 - None, # 2114 - None, # 2115 - None, # 2116 - None, # 2117 - None, # 2118 - None, # 2119 - None, # 2120 - None, # 2121 - None, # 2122 - None, # 2123 - None, # 2124 - None, # 2125 - None, # 2126 - None, # 2127 - None, # 2128 - None, # 2129 - None, # 2130 - None, # 2131 - None, # 2132 - None, # 2133 - None, # 2134 - None, # 2135 - None, # 2136 - None, # 2137 - None, # 2138 - None, # 2139 - None, # 2140 - None, # 2141 - None, # 2142 - None, # 2143 - None, # 2144 - None, # 2145 - None, # 2146 - None, # 2147 - None, # 2148 - None, # 2149 - None, # 2150 - None, # 2151 - None, # 2152 - None, # 2153 - None, # 2154 - None, # 2155 - None, # 2156 - None, # 2157 - None, # 2158 - None, # 2159 - None, # 2160 - None, # 2161 - None, # 2162 - None, # 2163 - None, # 2164 - None, # 2165 - None, # 2166 - None, # 2167 - None, # 2168 - None, # 2169 - None, # 2170 - None, # 2171 - None, # 2172 - None, # 2173 - None, # 2174 - None, # 2175 - None, # 2176 - None, # 2177 - None, # 2178 - None, # 2179 - None, # 2180 - None, # 2181 - None, # 2182 - None, # 2183 - None, # 2184 - None, # 2185 - None, # 2186 - None, # 2187 - None, # 2188 - None, # 2189 - None, # 2190 - None, # 2191 - None, # 2192 - None, # 2193 - None, # 2194 - None, # 2195 - None, # 2196 - None, # 2197 - None, # 2198 - None, # 2199 - None, # 2200 - None, # 2201 - None, # 2202 - None, # 2203 - None, # 2204 - None, # 2205 - None, # 2206 - None, # 2207 - None, # 2208 - None, # 2209 - None, # 2210 - None, # 2211 - None, # 2212 - None, # 2213 - None, # 2214 - None, # 2215 - None, # 2216 - None, # 2217 - None, # 2218 - None, # 2219 - None, # 2220 - None, # 2221 - None, # 2222 - None, # 2223 - None, # 2224 - None, # 2225 - None, # 2226 - None, # 2227 - None, # 2228 - None, # 2229 - None, # 2230 - None, # 2231 - None, # 2232 - None, # 2233 - None, # 2234 - None, # 2235 - None, # 2236 - None, # 2237 - None, # 2238 - None, # 2239 - None, # 2240 - None, # 2241 - None, # 2242 - None, # 2243 - None, # 2244 - None, # 2245 - None, # 2246 - None, # 2247 - None, # 2248 - None, # 2249 - None, # 2250 - None, # 2251 - None, # 2252 - None, # 2253 - None, # 2254 - None, # 2255 - None, # 2256 - None, # 2257 - None, # 2258 - None, # 2259 - None, # 2260 - None, # 2261 - None, # 2262 - None, # 2263 - None, # 2264 - None, # 2265 - None, # 2266 - None, # 2267 - None, # 2268 - None, # 2269 - None, # 2270 - None, # 2271 - None, # 2272 - None, # 2273 - None, # 2274 - None, # 2275 - None, # 2276 - None, # 2277 - None, # 2278 - None, # 2279 - None, # 2280 - None, # 2281 - None, # 2282 - None, # 2283 - None, # 2284 - None, # 2285 - None, # 2286 - None, # 2287 - None, # 2288 - None, # 2289 - None, # 2290 - None, # 2291 - None, # 2292 - None, # 2293 - None, # 2294 - None, # 2295 - None, # 2296 - None, # 2297 - None, # 2298 - None, # 2299 - None, # 2300 - None, # 2301 - None, # 2302 - None, # 2303 - None, # 2304 - None, # 2305 - None, # 2306 - None, # 2307 - None, # 2308 - None, # 2309 - None, # 2310 - None, # 2311 - None, # 2312 - None, # 2313 - None, # 2314 - None, # 2315 - None, # 2316 - None, # 2317 - None, # 2318 - None, # 2319 - None, # 2320 - None, # 2321 - None, # 2322 - None, # 2323 - None, # 2324 - None, # 2325 - None, # 2326 - None, # 2327 - None, # 2328 - None, # 2329 - None, # 2330 - None, # 2331 - None, # 2332 - None, # 2333 - None, # 2334 - None, # 2335 - None, # 2336 - None, # 2337 - None, # 2338 - None, # 2339 - None, # 2340 - None, # 2341 - None, # 2342 - None, # 2343 - None, # 2344 - None, # 2345 - None, # 2346 - None, # 2347 - None, # 2348 - None, # 2349 - None, # 2350 - None, # 2351 - None, # 2352 - None, # 2353 - None, # 2354 - None, # 2355 - None, # 2356 - None, # 2357 - None, # 2358 - None, # 2359 - None, # 2360 - None, # 2361 - None, # 2362 - None, # 2363 - None, # 2364 - None, # 2365 - None, # 2366 - None, # 2367 - None, # 2368 - None, # 2369 - None, # 2370 - None, # 2371 - None, # 2372 - None, # 2373 - None, # 2374 - None, # 2375 - None, # 2376 - None, # 2377 - None, # 2378 - None, # 2379 - None, # 2380 - None, # 2381 - None, # 2382 - None, # 2383 - None, # 2384 - None, # 2385 - None, # 2386 - None, # 2387 - None, # 2388 - None, # 2389 - None, # 2390 - None, # 2391 - None, # 2392 - None, # 2393 - None, # 2394 - None, # 2395 - None, # 2396 - None, # 2397 - None, # 2398 - None, # 2399 - None, # 2400 - None, # 2401 - None, # 2402 - None, # 2403 - None, # 2404 - None, # 2405 - None, # 2406 - None, # 2407 - None, # 2408 - None, # 2409 - None, # 2410 - None, # 2411 - None, # 2412 - None, # 2413 - None, # 2414 - None, # 2415 - None, # 2416 - None, # 2417 - None, # 2418 - None, # 2419 - None, # 2420 - None, # 2421 - None, # 2422 - None, # 2423 - None, # 2424 - None, # 2425 - None, # 2426 - None, # 2427 - None, # 2428 - None, # 2429 - None, # 2430 - None, # 2431 - None, # 2432 - None, # 2433 - None, # 2434 - None, # 2435 - None, # 2436 - None, # 2437 - None, # 2438 - None, # 2439 - None, # 2440 - None, # 2441 - None, # 2442 - None, # 2443 - None, # 2444 - None, # 2445 - None, # 2446 - None, # 2447 - None, # 2448 - None, # 2449 - None, # 2450 - None, # 2451 - None, # 2452 - None, # 2453 - None, # 2454 - None, # 2455 - None, # 2456 - None, # 2457 - None, # 2458 - None, # 2459 - None, # 2460 - None, # 2461 - None, # 2462 - None, # 2463 - None, # 2464 - None, # 2465 - None, # 2466 - None, # 2467 - None, # 2468 - None, # 2469 - None, # 2470 - None, # 2471 - None, # 2472 - None, # 2473 - None, # 2474 - None, # 2475 - None, # 2476 - None, # 2477 - None, # 2478 - None, # 2479 - None, # 2480 - None, # 2481 - None, # 2482 - None, # 2483 - None, # 2484 - None, # 2485 - None, # 2486 - None, # 2487 - None, # 2488 - None, # 2489 - None, # 2490 - None, # 2491 - None, # 2492 - None, # 2493 - None, # 2494 - None, # 2495 - None, # 2496 - None, # 2497 - None, # 2498 - None, # 2499 - None, # 2500 - None, # 2501 - None, # 2502 - None, # 2503 - None, # 2504 - None, # 2505 - None, # 2506 - None, # 2507 - None, # 2508 - None, # 2509 - None, # 2510 - None, # 2511 - None, # 2512 - None, # 2513 - None, # 2514 - None, # 2515 - None, # 2516 - None, # 2517 - None, # 2518 - None, # 2519 - None, # 2520 - None, # 2521 - None, # 2522 - None, # 2523 - None, # 2524 - None, # 2525 - None, # 2526 - None, # 2527 - None, # 2528 - None, # 2529 - None, # 2530 - None, # 2531 - None, # 2532 - None, # 2533 - None, # 2534 - None, # 2535 - None, # 2536 - None, # 2537 - None, # 2538 - None, # 2539 - None, # 2540 - None, # 2541 - None, # 2542 - None, # 2543 - None, # 2544 - None, # 2545 - None, # 2546 - None, # 2547 - None, # 2548 - None, # 2549 - None, # 2550 - None, # 2551 - None, # 2552 - None, # 2553 - None, # 2554 - None, # 2555 - None, # 2556 - None, # 2557 - None, # 2558 - None, # 2559 - None, # 2560 - None, # 2561 - None, # 2562 - None, # 2563 - None, # 2564 - None, # 2565 - None, # 2566 - None, # 2567 - None, # 2568 - None, # 2569 - None, # 2570 - None, # 2571 - None, # 2572 - None, # 2573 - None, # 2574 - None, # 2575 - None, # 2576 - None, # 2577 - None, # 2578 - None, # 2579 - None, # 2580 - None, # 2581 - None, # 2582 - None, # 2583 - None, # 2584 - None, # 2585 - None, # 2586 - None, # 2587 - None, # 2588 - None, # 2589 - None, # 2590 - None, # 2591 - None, # 2592 - None, # 2593 - None, # 2594 - None, # 2595 - None, # 2596 - None, # 2597 - None, # 2598 - None, # 2599 - None, # 2600 - None, # 2601 - None, # 2602 - None, # 2603 - None, # 2604 - None, # 2605 - None, # 2606 - None, # 2607 - None, # 2608 - None, # 2609 - None, # 2610 - None, # 2611 - None, # 2612 - None, # 2613 - None, # 2614 - None, # 2615 - None, # 2616 - None, # 2617 - None, # 2618 - None, # 2619 - None, # 2620 - None, # 2621 - None, # 2622 - None, # 2623 - None, # 2624 - None, # 2625 - None, # 2626 - None, # 2627 - None, # 2628 - None, # 2629 - None, # 2630 - None, # 2631 - None, # 2632 - None, # 2633 - None, # 2634 - None, # 2635 - None, # 2636 - None, # 2637 - None, # 2638 - None, # 2639 - None, # 2640 - None, # 2641 - None, # 2642 - None, # 2643 - None, # 2644 - None, # 2645 - None, # 2646 - None, # 2647 - None, # 2648 - None, # 2649 - None, # 2650 - None, # 2651 - None, # 2652 - None, # 2653 - None, # 2654 - None, # 2655 - None, # 2656 - None, # 2657 - None, # 2658 - None, # 2659 - None, # 2660 - None, # 2661 - None, # 2662 - None, # 2663 - None, # 2664 - None, # 2665 - None, # 2666 - None, # 2667 - None, # 2668 - None, # 2669 - None, # 2670 - None, # 2671 - None, # 2672 - None, # 2673 - None, # 2674 - None, # 2675 - None, # 2676 - None, # 2677 - None, # 2678 - None, # 2679 - None, # 2680 - None, # 2681 - None, # 2682 - None, # 2683 - None, # 2684 - None, # 2685 - None, # 2686 - None, # 2687 - None, # 2688 - None, # 2689 - None, # 2690 - None, # 2691 - None, # 2692 - None, # 2693 - None, # 2694 - None, # 2695 - None, # 2696 - None, # 2697 - None, # 2698 - None, # 2699 - None, # 2700 - None, # 2701 - None, # 2702 - None, # 2703 - None, # 2704 - None, # 2705 - None, # 2706 - None, # 2707 - None, # 2708 - None, # 2709 - None, # 2710 - None, # 2711 - None, # 2712 - None, # 2713 - None, # 2714 - None, # 2715 - None, # 2716 - None, # 2717 - None, # 2718 - None, # 2719 - None, # 2720 - None, # 2721 - None, # 2722 - None, # 2723 - None, # 2724 - None, # 2725 - None, # 2726 - None, # 2727 - None, # 2728 - None, # 2729 - None, # 2730 - None, # 2731 - None, # 2732 - None, # 2733 - None, # 2734 - None, # 2735 - None, # 2736 - None, # 2737 - None, # 2738 - None, # 2739 - None, # 2740 - None, # 2741 - None, # 2742 - None, # 2743 - None, # 2744 - None, # 2745 - None, # 2746 - None, # 2747 - None, # 2748 - None, # 2749 - None, # 2750 - None, # 2751 - None, # 2752 - None, # 2753 - None, # 2754 - None, # 2755 - None, # 2756 - None, # 2757 - None, # 2758 - None, # 2759 - None, # 2760 - None, # 2761 - None, # 2762 - None, # 2763 - None, # 2764 - None, # 2765 - None, # 2766 - None, # 2767 - None, # 2768 - None, # 2769 - None, # 2770 - None, # 2771 - None, # 2772 - None, # 2773 - None, # 2774 - None, # 2775 - None, # 2776 - None, # 2777 - None, # 2778 - None, # 2779 - None, # 2780 - None, # 2781 - None, # 2782 - None, # 2783 - None, # 2784 - None, # 2785 - None, # 2786 - None, # 2787 - None, # 2788 - None, # 2789 - None, # 2790 - None, # 2791 - None, # 2792 - None, # 2793 - None, # 2794 - None, # 2795 - None, # 2796 - None, # 2797 - None, # 2798 - None, # 2799 - None, # 2800 - None, # 2801 - None, # 2802 - None, # 2803 - None, # 2804 - None, # 2805 - None, # 2806 - None, # 2807 - None, # 2808 - None, # 2809 - None, # 2810 - None, # 2811 - None, # 2812 - None, # 2813 - None, # 2814 - None, # 2815 - None, # 2816 - None, # 2817 - None, # 2818 - None, # 2819 - None, # 2820 - None, # 2821 - None, # 2822 - None, # 2823 - None, # 2824 - None, # 2825 - None, # 2826 - None, # 2827 - None, # 2828 - None, # 2829 - None, # 2830 - None, # 2831 - None, # 2832 - None, # 2833 - None, # 2834 - None, # 2835 - None, # 2836 - None, # 2837 - None, # 2838 - None, # 2839 - None, # 2840 - None, # 2841 - None, # 2842 - None, # 2843 - None, # 2844 - None, # 2845 - None, # 2846 - None, # 2847 - None, # 2848 - None, # 2849 - None, # 2850 - None, # 2851 - None, # 2852 - None, # 2853 - None, # 2854 - None, # 2855 - None, # 2856 - None, # 2857 - None, # 2858 - None, # 2859 - None, # 2860 - None, # 2861 - None, # 2862 - None, # 2863 - None, # 2864 - None, # 2865 - None, # 2866 - None, # 2867 - None, # 2868 - None, # 2869 - None, # 2870 - None, # 2871 - None, # 2872 - None, # 2873 - None, # 2874 - None, # 2875 - None, # 2876 - None, # 2877 - None, # 2878 - None, # 2879 - None, # 2880 - None, # 2881 - None, # 2882 - None, # 2883 - None, # 2884 - None, # 2885 - None, # 2886 - None, # 2887 - None, # 2888 - None, # 2889 - None, # 2890 - None, # 2891 - None, # 2892 - None, # 2893 - None, # 2894 - None, # 2895 - None, # 2896 - None, # 2897 - None, # 2898 - None, # 2899 - None, # 2900 - None, # 2901 - None, # 2902 - None, # 2903 - None, # 2904 - None, # 2905 - None, # 2906 - None, # 2907 - None, # 2908 - None, # 2909 - None, # 2910 - None, # 2911 - None, # 2912 - None, # 2913 - None, # 2914 - None, # 2915 - None, # 2916 - None, # 2917 - None, # 2918 - None, # 2919 - None, # 2920 - None, # 2921 - None, # 2922 - None, # 2923 - None, # 2924 - None, # 2925 - None, # 2926 - None, # 2927 - None, # 2928 - None, # 2929 - None, # 2930 - None, # 2931 - None, # 2932 - None, # 2933 - None, # 2934 - None, # 2935 - None, # 2936 - None, # 2937 - None, # 2938 - None, # 2939 - None, # 2940 - None, # 2941 - None, # 2942 - None, # 2943 - None, # 2944 - None, # 2945 - None, # 2946 - None, # 2947 - None, # 2948 - None, # 2949 - None, # 2950 - None, # 2951 - None, # 2952 - None, # 2953 - None, # 2954 - None, # 2955 - None, # 2956 - None, # 2957 - None, # 2958 - None, # 2959 - None, # 2960 - None, # 2961 - None, # 2962 - None, # 2963 - None, # 2964 - None, # 2965 - None, # 2966 - None, # 2967 - None, # 2968 - None, # 2969 - None, # 2970 - None, # 2971 - None, # 2972 - None, # 2973 - None, # 2974 - None, # 2975 - None, # 2976 - None, # 2977 - None, # 2978 - None, # 2979 - None, # 2980 - None, # 2981 - None, # 2982 - None, # 2983 - None, # 2984 - None, # 2985 - None, # 2986 - None, # 2987 - None, # 2988 - None, # 2989 - None, # 2990 - None, # 2991 - None, # 2992 - None, # 2993 - None, # 2994 - None, # 2995 - None, # 2996 - None, # 2997 - None, # 2998 - None, # 2999 - None, # 3000 - None, # 3001 - None, # 3002 - None, # 3003 - None, # 3004 - None, # 3005 - None, # 3006 - None, # 3007 - None, # 3008 - None, # 3009 - None, # 3010 - None, # 3011 - None, # 3012 - None, # 3013 - None, # 3014 - None, # 3015 - None, # 3016 - None, # 3017 - None, # 3018 - None, # 3019 - None, # 3020 - None, # 3021 - None, # 3022 - None, # 3023 - None, # 3024 - None, # 3025 - None, # 3026 - None, # 3027 - None, # 3028 - None, # 3029 - None, # 3030 - None, # 3031 - None, # 3032 - None, # 3033 - None, # 3034 - None, # 3035 - None, # 3036 - None, # 3037 - None, # 3038 - None, # 3039 - None, # 3040 - None, # 3041 - None, # 3042 - None, # 3043 - None, # 3044 - None, # 3045 - None, # 3046 - None, # 3047 - None, # 3048 - None, # 3049 - None, # 3050 - None, # 3051 - None, # 3052 - None, # 3053 - None, # 3054 - None, # 3055 - None, # 3056 - None, # 3057 - None, # 3058 - None, # 3059 - None, # 3060 - None, # 3061 - None, # 3062 - None, # 3063 - None, # 3064 - None, # 3065 - None, # 3066 - None, # 3067 - None, # 3068 - None, # 3069 - None, # 3070 - None, # 3071 - None, # 3072 - None, # 3073 - None, # 3074 - None, # 3075 - None, # 3076 - None, # 3077 - None, # 3078 - None, # 3079 - None, # 3080 - None, # 3081 - None, # 3082 - None, # 3083 - None, # 3084 - None, # 3085 - None, # 3086 - None, # 3087 - None, # 3088 - None, # 3089 - None, # 3090 - None, # 3091 - None, # 3092 - None, # 3093 - None, # 3094 - None, # 3095 - None, # 3096 - None, # 3097 - None, # 3098 - None, # 3099 - None, # 3100 - None, # 3101 - None, # 3102 - None, # 3103 - None, # 3104 - None, # 3105 - None, # 3106 - None, # 3107 - None, # 3108 - None, # 3109 - None, # 3110 - None, # 3111 - None, # 3112 - None, # 3113 - None, # 3114 - None, # 3115 - None, # 3116 - None, # 3117 - None, # 3118 - None, # 3119 - None, # 3120 - None, # 3121 - None, # 3122 - None, # 3123 - None, # 3124 - None, # 3125 - None, # 3126 - None, # 3127 - None, # 3128 - None, # 3129 - None, # 3130 - None, # 3131 - None, # 3132 - None, # 3133 - None, # 3134 - None, # 3135 - None, # 3136 - None, # 3137 - None, # 3138 - None, # 3139 - None, # 3140 - None, # 3141 - None, # 3142 - None, # 3143 - None, # 3144 - None, # 3145 - None, # 3146 - None, # 3147 - None, # 3148 - None, # 3149 - None, # 3150 - None, # 3151 - None, # 3152 - None, # 3153 - None, # 3154 - None, # 3155 - None, # 3156 - None, # 3157 - None, # 3158 - None, # 3159 - None, # 3160 - None, # 3161 - None, # 3162 - None, # 3163 - None, # 3164 - None, # 3165 - None, # 3166 - None, # 3167 - None, # 3168 - None, # 3169 - None, # 3170 - None, # 3171 - None, # 3172 - None, # 3173 - None, # 3174 - None, # 3175 - None, # 3176 - None, # 3177 - None, # 3178 - None, # 3179 - None, # 3180 - None, # 3181 - None, # 3182 - None, # 3183 - None, # 3184 - None, # 3185 - None, # 3186 - None, # 3187 - None, # 3188 - None, # 3189 - None, # 3190 - None, # 3191 - None, # 3192 - None, # 3193 - None, # 3194 - None, # 3195 - None, # 3196 - None, # 3197 - None, # 3198 - None, # 3199 - None, # 3200 - None, # 3201 - None, # 3202 - None, # 3203 - None, # 3204 - None, # 3205 - None, # 3206 - None, # 3207 - None, # 3208 - None, # 3209 - None, # 3210 - None, # 3211 - None, # 3212 - None, # 3213 - None, # 3214 - None, # 3215 - None, # 3216 - None, # 3217 - None, # 3218 - None, # 3219 - None, # 3220 - None, # 3221 - None, # 3222 - None, # 3223 - None, # 3224 - None, # 3225 - None, # 3226 - None, # 3227 - None, # 3228 - None, # 3229 - None, # 3230 - None, # 3231 - None, # 3232 - None, # 3233 - None, # 3234 - None, # 3235 - None, # 3236 - None, # 3237 - None, # 3238 - None, # 3239 - None, # 3240 - None, # 3241 - None, # 3242 - None, # 3243 - None, # 3244 - None, # 3245 - None, # 3246 - None, # 3247 - None, # 3248 - None, # 3249 - None, # 3250 - None, # 3251 - None, # 3252 - None, # 3253 - None, # 3254 - None, # 3255 - None, # 3256 - None, # 3257 - None, # 3258 - None, # 3259 - None, # 3260 - None, # 3261 - None, # 3262 - None, # 3263 - None, # 3264 - None, # 3265 - None, # 3266 - None, # 3267 - None, # 3268 - None, # 3269 - None, # 3270 - None, # 3271 - None, # 3272 - None, # 3273 - None, # 3274 - None, # 3275 - None, # 3276 - None, # 3277 - None, # 3278 - None, # 3279 - None, # 3280 - None, # 3281 - None, # 3282 - None, # 3283 - None, # 3284 - None, # 3285 - None, # 3286 - None, # 3287 - None, # 3288 - None, # 3289 - None, # 3290 - None, # 3291 - None, # 3292 - None, # 3293 - None, # 3294 - None, # 3295 - None, # 3296 - None, # 3297 - None, # 3298 - None, # 3299 - None, # 3300 - None, # 3301 - None, # 3302 - None, # 3303 - None, # 3304 - None, # 3305 - None, # 3306 - None, # 3307 - None, # 3308 - None, # 3309 - None, # 3310 - None, # 3311 - None, # 3312 - None, # 3313 - None, # 3314 - None, # 3315 - None, # 3316 - None, # 3317 - None, # 3318 - None, # 3319 - None, # 3320 - None, # 3321 - None, # 3322 - None, # 3323 - None, # 3324 - None, # 3325 - None, # 3326 - None, # 3327 - None, # 3328 - (3329, TType.STRUCT, 'sessionConf', [TDBSqlSessionConf, None], None, ), # 3329 + None, # 0 + (1, TType.STRUCT, 'sessionHandle', [TSessionHandle, None], None, ), # 1 + (2, TType.I32, 'infoType', None, None, ), # 2 + None, # 3 + None, # 4 + None, # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + None, # 1281 + None, # 1282 + None, # 1283 + None, # 1284 + None, # 1285 + None, # 1286 + None, # 1287 + None, # 1288 + None, # 1289 + None, # 1290 + None, # 1291 + None, # 1292 + None, # 1293 + None, # 1294 + None, # 1295 + None, # 1296 + None, # 1297 + None, # 1298 + None, # 1299 + None, # 1300 + None, # 1301 + None, # 1302 + None, # 1303 + None, # 1304 + None, # 1305 + None, # 1306 + None, # 1307 + None, # 1308 + None, # 1309 + None, # 1310 + None, # 1311 + None, # 1312 + None, # 1313 + None, # 1314 + None, # 1315 + None, # 1316 + None, # 1317 + None, # 1318 + None, # 1319 + None, # 1320 + None, # 1321 + None, # 1322 + None, # 1323 + None, # 1324 + None, # 1325 + None, # 1326 + None, # 1327 + None, # 1328 + None, # 1329 + None, # 1330 + None, # 1331 + None, # 1332 + None, # 1333 + None, # 1334 + None, # 1335 + None, # 1336 + None, # 1337 + None, # 1338 + None, # 1339 + None, # 1340 + None, # 1341 + None, # 1342 + None, # 1343 + None, # 1344 + None, # 1345 + None, # 1346 + None, # 1347 + None, # 1348 + None, # 1349 + None, # 1350 + None, # 1351 + None, # 1352 + None, # 1353 + None, # 1354 + None, # 1355 + None, # 1356 + None, # 1357 + None, # 1358 + None, # 1359 + None, # 1360 + None, # 1361 + None, # 1362 + None, # 1363 + None, # 1364 + None, # 1365 + None, # 1366 + None, # 1367 + None, # 1368 + None, # 1369 + None, # 1370 + None, # 1371 + None, # 1372 + None, # 1373 + None, # 1374 + None, # 1375 + None, # 1376 + None, # 1377 + None, # 1378 + None, # 1379 + None, # 1380 + None, # 1381 + None, # 1382 + None, # 1383 + None, # 1384 + None, # 1385 + None, # 1386 + None, # 1387 + None, # 1388 + None, # 1389 + None, # 1390 + None, # 1391 + None, # 1392 + None, # 1393 + None, # 1394 + None, # 1395 + None, # 1396 + None, # 1397 + None, # 1398 + None, # 1399 + None, # 1400 + None, # 1401 + None, # 1402 + None, # 1403 + None, # 1404 + None, # 1405 + None, # 1406 + None, # 1407 + None, # 1408 + None, # 1409 + None, # 1410 + None, # 1411 + None, # 1412 + None, # 1413 + None, # 1414 + None, # 1415 + None, # 1416 + None, # 1417 + None, # 1418 + None, # 1419 + None, # 1420 + None, # 1421 + None, # 1422 + None, # 1423 + None, # 1424 + None, # 1425 + None, # 1426 + None, # 1427 + None, # 1428 + None, # 1429 + None, # 1430 + None, # 1431 + None, # 1432 + None, # 1433 + None, # 1434 + None, # 1435 + None, # 1436 + None, # 1437 + None, # 1438 + None, # 1439 + None, # 1440 + None, # 1441 + None, # 1442 + None, # 1443 + None, # 1444 + None, # 1445 + None, # 1446 + None, # 1447 + None, # 1448 + None, # 1449 + None, # 1450 + None, # 1451 + None, # 1452 + None, # 1453 + None, # 1454 + None, # 1455 + None, # 1456 + None, # 1457 + None, # 1458 + None, # 1459 + None, # 1460 + None, # 1461 + None, # 1462 + None, # 1463 + None, # 1464 + None, # 1465 + None, # 1466 + None, # 1467 + None, # 1468 + None, # 1469 + None, # 1470 + None, # 1471 + None, # 1472 + None, # 1473 + None, # 1474 + None, # 1475 + None, # 1476 + None, # 1477 + None, # 1478 + None, # 1479 + None, # 1480 + None, # 1481 + None, # 1482 + None, # 1483 + None, # 1484 + None, # 1485 + None, # 1486 + None, # 1487 + None, # 1488 + None, # 1489 + None, # 1490 + None, # 1491 + None, # 1492 + None, # 1493 + None, # 1494 + None, # 1495 + None, # 1496 + None, # 1497 + None, # 1498 + None, # 1499 + None, # 1500 + None, # 1501 + None, # 1502 + None, # 1503 + None, # 1504 + None, # 1505 + None, # 1506 + None, # 1507 + None, # 1508 + None, # 1509 + None, # 1510 + None, # 1511 + None, # 1512 + None, # 1513 + None, # 1514 + None, # 1515 + None, # 1516 + None, # 1517 + None, # 1518 + None, # 1519 + None, # 1520 + None, # 1521 + None, # 1522 + None, # 1523 + None, # 1524 + None, # 1525 + None, # 1526 + None, # 1527 + None, # 1528 + None, # 1529 + None, # 1530 + None, # 1531 + None, # 1532 + None, # 1533 + None, # 1534 + None, # 1535 + None, # 1536 + None, # 1537 + None, # 1538 + None, # 1539 + None, # 1540 + None, # 1541 + None, # 1542 + None, # 1543 + None, # 1544 + None, # 1545 + None, # 1546 + None, # 1547 + None, # 1548 + None, # 1549 + None, # 1550 + None, # 1551 + None, # 1552 + None, # 1553 + None, # 1554 + None, # 1555 + None, # 1556 + None, # 1557 + None, # 1558 + None, # 1559 + None, # 1560 + None, # 1561 + None, # 1562 + None, # 1563 + None, # 1564 + None, # 1565 + None, # 1566 + None, # 1567 + None, # 1568 + None, # 1569 + None, # 1570 + None, # 1571 + None, # 1572 + None, # 1573 + None, # 1574 + None, # 1575 + None, # 1576 + None, # 1577 + None, # 1578 + None, # 1579 + None, # 1580 + None, # 1581 + None, # 1582 + None, # 1583 + None, # 1584 + None, # 1585 + None, # 1586 + None, # 1587 + None, # 1588 + None, # 1589 + None, # 1590 + None, # 1591 + None, # 1592 + None, # 1593 + None, # 1594 + None, # 1595 + None, # 1596 + None, # 1597 + None, # 1598 + None, # 1599 + None, # 1600 + None, # 1601 + None, # 1602 + None, # 1603 + None, # 1604 + None, # 1605 + None, # 1606 + None, # 1607 + None, # 1608 + None, # 1609 + None, # 1610 + None, # 1611 + None, # 1612 + None, # 1613 + None, # 1614 + None, # 1615 + None, # 1616 + None, # 1617 + None, # 1618 + None, # 1619 + None, # 1620 + None, # 1621 + None, # 1622 + None, # 1623 + None, # 1624 + None, # 1625 + None, # 1626 + None, # 1627 + None, # 1628 + None, # 1629 + None, # 1630 + None, # 1631 + None, # 1632 + None, # 1633 + None, # 1634 + None, # 1635 + None, # 1636 + None, # 1637 + None, # 1638 + None, # 1639 + None, # 1640 + None, # 1641 + None, # 1642 + None, # 1643 + None, # 1644 + None, # 1645 + None, # 1646 + None, # 1647 + None, # 1648 + None, # 1649 + None, # 1650 + None, # 1651 + None, # 1652 + None, # 1653 + None, # 1654 + None, # 1655 + None, # 1656 + None, # 1657 + None, # 1658 + None, # 1659 + None, # 1660 + None, # 1661 + None, # 1662 + None, # 1663 + None, # 1664 + None, # 1665 + None, # 1666 + None, # 1667 + None, # 1668 + None, # 1669 + None, # 1670 + None, # 1671 + None, # 1672 + None, # 1673 + None, # 1674 + None, # 1675 + None, # 1676 + None, # 1677 + None, # 1678 + None, # 1679 + None, # 1680 + None, # 1681 + None, # 1682 + None, # 1683 + None, # 1684 + None, # 1685 + None, # 1686 + None, # 1687 + None, # 1688 + None, # 1689 + None, # 1690 + None, # 1691 + None, # 1692 + None, # 1693 + None, # 1694 + None, # 1695 + None, # 1696 + None, # 1697 + None, # 1698 + None, # 1699 + None, # 1700 + None, # 1701 + None, # 1702 + None, # 1703 + None, # 1704 + None, # 1705 + None, # 1706 + None, # 1707 + None, # 1708 + None, # 1709 + None, # 1710 + None, # 1711 + None, # 1712 + None, # 1713 + None, # 1714 + None, # 1715 + None, # 1716 + None, # 1717 + None, # 1718 + None, # 1719 + None, # 1720 + None, # 1721 + None, # 1722 + None, # 1723 + None, # 1724 + None, # 1725 + None, # 1726 + None, # 1727 + None, # 1728 + None, # 1729 + None, # 1730 + None, # 1731 + None, # 1732 + None, # 1733 + None, # 1734 + None, # 1735 + None, # 1736 + None, # 1737 + None, # 1738 + None, # 1739 + None, # 1740 + None, # 1741 + None, # 1742 + None, # 1743 + None, # 1744 + None, # 1745 + None, # 1746 + None, # 1747 + None, # 1748 + None, # 1749 + None, # 1750 + None, # 1751 + None, # 1752 + None, # 1753 + None, # 1754 + None, # 1755 + None, # 1756 + None, # 1757 + None, # 1758 + None, # 1759 + None, # 1760 + None, # 1761 + None, # 1762 + None, # 1763 + None, # 1764 + None, # 1765 + None, # 1766 + None, # 1767 + None, # 1768 + None, # 1769 + None, # 1770 + None, # 1771 + None, # 1772 + None, # 1773 + None, # 1774 + None, # 1775 + None, # 1776 + None, # 1777 + None, # 1778 + None, # 1779 + None, # 1780 + None, # 1781 + None, # 1782 + None, # 1783 + None, # 1784 + None, # 1785 + None, # 1786 + None, # 1787 + None, # 1788 + None, # 1789 + None, # 1790 + None, # 1791 + None, # 1792 + None, # 1793 + None, # 1794 + None, # 1795 + None, # 1796 + None, # 1797 + None, # 1798 + None, # 1799 + None, # 1800 + None, # 1801 + None, # 1802 + None, # 1803 + None, # 1804 + None, # 1805 + None, # 1806 + None, # 1807 + None, # 1808 + None, # 1809 + None, # 1810 + None, # 1811 + None, # 1812 + None, # 1813 + None, # 1814 + None, # 1815 + None, # 1816 + None, # 1817 + None, # 1818 + None, # 1819 + None, # 1820 + None, # 1821 + None, # 1822 + None, # 1823 + None, # 1824 + None, # 1825 + None, # 1826 + None, # 1827 + None, # 1828 + None, # 1829 + None, # 1830 + None, # 1831 + None, # 1832 + None, # 1833 + None, # 1834 + None, # 1835 + None, # 1836 + None, # 1837 + None, # 1838 + None, # 1839 + None, # 1840 + None, # 1841 + None, # 1842 + None, # 1843 + None, # 1844 + None, # 1845 + None, # 1846 + None, # 1847 + None, # 1848 + None, # 1849 + None, # 1850 + None, # 1851 + None, # 1852 + None, # 1853 + None, # 1854 + None, # 1855 + None, # 1856 + None, # 1857 + None, # 1858 + None, # 1859 + None, # 1860 + None, # 1861 + None, # 1862 + None, # 1863 + None, # 1864 + None, # 1865 + None, # 1866 + None, # 1867 + None, # 1868 + None, # 1869 + None, # 1870 + None, # 1871 + None, # 1872 + None, # 1873 + None, # 1874 + None, # 1875 + None, # 1876 + None, # 1877 + None, # 1878 + None, # 1879 + None, # 1880 + None, # 1881 + None, # 1882 + None, # 1883 + None, # 1884 + None, # 1885 + None, # 1886 + None, # 1887 + None, # 1888 + None, # 1889 + None, # 1890 + None, # 1891 + None, # 1892 + None, # 1893 + None, # 1894 + None, # 1895 + None, # 1896 + None, # 1897 + None, # 1898 + None, # 1899 + None, # 1900 + None, # 1901 + None, # 1902 + None, # 1903 + None, # 1904 + None, # 1905 + None, # 1906 + None, # 1907 + None, # 1908 + None, # 1909 + None, # 1910 + None, # 1911 + None, # 1912 + None, # 1913 + None, # 1914 + None, # 1915 + None, # 1916 + None, # 1917 + None, # 1918 + None, # 1919 + None, # 1920 + None, # 1921 + None, # 1922 + None, # 1923 + None, # 1924 + None, # 1925 + None, # 1926 + None, # 1927 + None, # 1928 + None, # 1929 + None, # 1930 + None, # 1931 + None, # 1932 + None, # 1933 + None, # 1934 + None, # 1935 + None, # 1936 + None, # 1937 + None, # 1938 + None, # 1939 + None, # 1940 + None, # 1941 + None, # 1942 + None, # 1943 + None, # 1944 + None, # 1945 + None, # 1946 + None, # 1947 + None, # 1948 + None, # 1949 + None, # 1950 + None, # 1951 + None, # 1952 + None, # 1953 + None, # 1954 + None, # 1955 + None, # 1956 + None, # 1957 + None, # 1958 + None, # 1959 + None, # 1960 + None, # 1961 + None, # 1962 + None, # 1963 + None, # 1964 + None, # 1965 + None, # 1966 + None, # 1967 + None, # 1968 + None, # 1969 + None, # 1970 + None, # 1971 + None, # 1972 + None, # 1973 + None, # 1974 + None, # 1975 + None, # 1976 + None, # 1977 + None, # 1978 + None, # 1979 + None, # 1980 + None, # 1981 + None, # 1982 + None, # 1983 + None, # 1984 + None, # 1985 + None, # 1986 + None, # 1987 + None, # 1988 + None, # 1989 + None, # 1990 + None, # 1991 + None, # 1992 + None, # 1993 + None, # 1994 + None, # 1995 + None, # 1996 + None, # 1997 + None, # 1998 + None, # 1999 + None, # 2000 + None, # 2001 + None, # 2002 + None, # 2003 + None, # 2004 + None, # 2005 + None, # 2006 + None, # 2007 + None, # 2008 + None, # 2009 + None, # 2010 + None, # 2011 + None, # 2012 + None, # 2013 + None, # 2014 + None, # 2015 + None, # 2016 + None, # 2017 + None, # 2018 + None, # 2019 + None, # 2020 + None, # 2021 + None, # 2022 + None, # 2023 + None, # 2024 + None, # 2025 + None, # 2026 + None, # 2027 + None, # 2028 + None, # 2029 + None, # 2030 + None, # 2031 + None, # 2032 + None, # 2033 + None, # 2034 + None, # 2035 + None, # 2036 + None, # 2037 + None, # 2038 + None, # 2039 + None, # 2040 + None, # 2041 + None, # 2042 + None, # 2043 + None, # 2044 + None, # 2045 + None, # 2046 + None, # 2047 + None, # 2048 + None, # 2049 + None, # 2050 + None, # 2051 + None, # 2052 + None, # 2053 + None, # 2054 + None, # 2055 + None, # 2056 + None, # 2057 + None, # 2058 + None, # 2059 + None, # 2060 + None, # 2061 + None, # 2062 + None, # 2063 + None, # 2064 + None, # 2065 + None, # 2066 + None, # 2067 + None, # 2068 + None, # 2069 + None, # 2070 + None, # 2071 + None, # 2072 + None, # 2073 + None, # 2074 + None, # 2075 + None, # 2076 + None, # 2077 + None, # 2078 + None, # 2079 + None, # 2080 + None, # 2081 + None, # 2082 + None, # 2083 + None, # 2084 + None, # 2085 + None, # 2086 + None, # 2087 + None, # 2088 + None, # 2089 + None, # 2090 + None, # 2091 + None, # 2092 + None, # 2093 + None, # 2094 + None, # 2095 + None, # 2096 + None, # 2097 + None, # 2098 + None, # 2099 + None, # 2100 + None, # 2101 + None, # 2102 + None, # 2103 + None, # 2104 + None, # 2105 + None, # 2106 + None, # 2107 + None, # 2108 + None, # 2109 + None, # 2110 + None, # 2111 + None, # 2112 + None, # 2113 + None, # 2114 + None, # 2115 + None, # 2116 + None, # 2117 + None, # 2118 + None, # 2119 + None, # 2120 + None, # 2121 + None, # 2122 + None, # 2123 + None, # 2124 + None, # 2125 + None, # 2126 + None, # 2127 + None, # 2128 + None, # 2129 + None, # 2130 + None, # 2131 + None, # 2132 + None, # 2133 + None, # 2134 + None, # 2135 + None, # 2136 + None, # 2137 + None, # 2138 + None, # 2139 + None, # 2140 + None, # 2141 + None, # 2142 + None, # 2143 + None, # 2144 + None, # 2145 + None, # 2146 + None, # 2147 + None, # 2148 + None, # 2149 + None, # 2150 + None, # 2151 + None, # 2152 + None, # 2153 + None, # 2154 + None, # 2155 + None, # 2156 + None, # 2157 + None, # 2158 + None, # 2159 + None, # 2160 + None, # 2161 + None, # 2162 + None, # 2163 + None, # 2164 + None, # 2165 + None, # 2166 + None, # 2167 + None, # 2168 + None, # 2169 + None, # 2170 + None, # 2171 + None, # 2172 + None, # 2173 + None, # 2174 + None, # 2175 + None, # 2176 + None, # 2177 + None, # 2178 + None, # 2179 + None, # 2180 + None, # 2181 + None, # 2182 + None, # 2183 + None, # 2184 + None, # 2185 + None, # 2186 + None, # 2187 + None, # 2188 + None, # 2189 + None, # 2190 + None, # 2191 + None, # 2192 + None, # 2193 + None, # 2194 + None, # 2195 + None, # 2196 + None, # 2197 + None, # 2198 + None, # 2199 + None, # 2200 + None, # 2201 + None, # 2202 + None, # 2203 + None, # 2204 + None, # 2205 + None, # 2206 + None, # 2207 + None, # 2208 + None, # 2209 + None, # 2210 + None, # 2211 + None, # 2212 + None, # 2213 + None, # 2214 + None, # 2215 + None, # 2216 + None, # 2217 + None, # 2218 + None, # 2219 + None, # 2220 + None, # 2221 + None, # 2222 + None, # 2223 + None, # 2224 + None, # 2225 + None, # 2226 + None, # 2227 + None, # 2228 + None, # 2229 + None, # 2230 + None, # 2231 + None, # 2232 + None, # 2233 + None, # 2234 + None, # 2235 + None, # 2236 + None, # 2237 + None, # 2238 + None, # 2239 + None, # 2240 + None, # 2241 + None, # 2242 + None, # 2243 + None, # 2244 + None, # 2245 + None, # 2246 + None, # 2247 + None, # 2248 + None, # 2249 + None, # 2250 + None, # 2251 + None, # 2252 + None, # 2253 + None, # 2254 + None, # 2255 + None, # 2256 + None, # 2257 + None, # 2258 + None, # 2259 + None, # 2260 + None, # 2261 + None, # 2262 + None, # 2263 + None, # 2264 + None, # 2265 + None, # 2266 + None, # 2267 + None, # 2268 + None, # 2269 + None, # 2270 + None, # 2271 + None, # 2272 + None, # 2273 + None, # 2274 + None, # 2275 + None, # 2276 + None, # 2277 + None, # 2278 + None, # 2279 + None, # 2280 + None, # 2281 + None, # 2282 + None, # 2283 + None, # 2284 + None, # 2285 + None, # 2286 + None, # 2287 + None, # 2288 + None, # 2289 + None, # 2290 + None, # 2291 + None, # 2292 + None, # 2293 + None, # 2294 + None, # 2295 + None, # 2296 + None, # 2297 + None, # 2298 + None, # 2299 + None, # 2300 + None, # 2301 + None, # 2302 + None, # 2303 + None, # 2304 + None, # 2305 + None, # 2306 + None, # 2307 + None, # 2308 + None, # 2309 + None, # 2310 + None, # 2311 + None, # 2312 + None, # 2313 + None, # 2314 + None, # 2315 + None, # 2316 + None, # 2317 + None, # 2318 + None, # 2319 + None, # 2320 + None, # 2321 + None, # 2322 + None, # 2323 + None, # 2324 + None, # 2325 + None, # 2326 + None, # 2327 + None, # 2328 + None, # 2329 + None, # 2330 + None, # 2331 + None, # 2332 + None, # 2333 + None, # 2334 + None, # 2335 + None, # 2336 + None, # 2337 + None, # 2338 + None, # 2339 + None, # 2340 + None, # 2341 + None, # 2342 + None, # 2343 + None, # 2344 + None, # 2345 + None, # 2346 + None, # 2347 + None, # 2348 + None, # 2349 + None, # 2350 + None, # 2351 + None, # 2352 + None, # 2353 + None, # 2354 + None, # 2355 + None, # 2356 + None, # 2357 + None, # 2358 + None, # 2359 + None, # 2360 + None, # 2361 + None, # 2362 + None, # 2363 + None, # 2364 + None, # 2365 + None, # 2366 + None, # 2367 + None, # 2368 + None, # 2369 + None, # 2370 + None, # 2371 + None, # 2372 + None, # 2373 + None, # 2374 + None, # 2375 + None, # 2376 + None, # 2377 + None, # 2378 + None, # 2379 + None, # 2380 + None, # 2381 + None, # 2382 + None, # 2383 + None, # 2384 + None, # 2385 + None, # 2386 + None, # 2387 + None, # 2388 + None, # 2389 + None, # 2390 + None, # 2391 + None, # 2392 + None, # 2393 + None, # 2394 + None, # 2395 + None, # 2396 + None, # 2397 + None, # 2398 + None, # 2399 + None, # 2400 + None, # 2401 + None, # 2402 + None, # 2403 + None, # 2404 + None, # 2405 + None, # 2406 + None, # 2407 + None, # 2408 + None, # 2409 + None, # 2410 + None, # 2411 + None, # 2412 + None, # 2413 + None, # 2414 + None, # 2415 + None, # 2416 + None, # 2417 + None, # 2418 + None, # 2419 + None, # 2420 + None, # 2421 + None, # 2422 + None, # 2423 + None, # 2424 + None, # 2425 + None, # 2426 + None, # 2427 + None, # 2428 + None, # 2429 + None, # 2430 + None, # 2431 + None, # 2432 + None, # 2433 + None, # 2434 + None, # 2435 + None, # 2436 + None, # 2437 + None, # 2438 + None, # 2439 + None, # 2440 + None, # 2441 + None, # 2442 + None, # 2443 + None, # 2444 + None, # 2445 + None, # 2446 + None, # 2447 + None, # 2448 + None, # 2449 + None, # 2450 + None, # 2451 + None, # 2452 + None, # 2453 + None, # 2454 + None, # 2455 + None, # 2456 + None, # 2457 + None, # 2458 + None, # 2459 + None, # 2460 + None, # 2461 + None, # 2462 + None, # 2463 + None, # 2464 + None, # 2465 + None, # 2466 + None, # 2467 + None, # 2468 + None, # 2469 + None, # 2470 + None, # 2471 + None, # 2472 + None, # 2473 + None, # 2474 + None, # 2475 + None, # 2476 + None, # 2477 + None, # 2478 + None, # 2479 + None, # 2480 + None, # 2481 + None, # 2482 + None, # 2483 + None, # 2484 + None, # 2485 + None, # 2486 + None, # 2487 + None, # 2488 + None, # 2489 + None, # 2490 + None, # 2491 + None, # 2492 + None, # 2493 + None, # 2494 + None, # 2495 + None, # 2496 + None, # 2497 + None, # 2498 + None, # 2499 + None, # 2500 + None, # 2501 + None, # 2502 + None, # 2503 + None, # 2504 + None, # 2505 + None, # 2506 + None, # 2507 + None, # 2508 + None, # 2509 + None, # 2510 + None, # 2511 + None, # 2512 + None, # 2513 + None, # 2514 + None, # 2515 + None, # 2516 + None, # 2517 + None, # 2518 + None, # 2519 + None, # 2520 + None, # 2521 + None, # 2522 + None, # 2523 + None, # 2524 + None, # 2525 + None, # 2526 + None, # 2527 + None, # 2528 + None, # 2529 + None, # 2530 + None, # 2531 + None, # 2532 + None, # 2533 + None, # 2534 + None, # 2535 + None, # 2536 + None, # 2537 + None, # 2538 + None, # 2539 + None, # 2540 + None, # 2541 + None, # 2542 + None, # 2543 + None, # 2544 + None, # 2545 + None, # 2546 + None, # 2547 + None, # 2548 + None, # 2549 + None, # 2550 + None, # 2551 + None, # 2552 + None, # 2553 + None, # 2554 + None, # 2555 + None, # 2556 + None, # 2557 + None, # 2558 + None, # 2559 + None, # 2560 + None, # 2561 + None, # 2562 + None, # 2563 + None, # 2564 + None, # 2565 + None, # 2566 + None, # 2567 + None, # 2568 + None, # 2569 + None, # 2570 + None, # 2571 + None, # 2572 + None, # 2573 + None, # 2574 + None, # 2575 + None, # 2576 + None, # 2577 + None, # 2578 + None, # 2579 + None, # 2580 + None, # 2581 + None, # 2582 + None, # 2583 + None, # 2584 + None, # 2585 + None, # 2586 + None, # 2587 + None, # 2588 + None, # 2589 + None, # 2590 + None, # 2591 + None, # 2592 + None, # 2593 + None, # 2594 + None, # 2595 + None, # 2596 + None, # 2597 + None, # 2598 + None, # 2599 + None, # 2600 + None, # 2601 + None, # 2602 + None, # 2603 + None, # 2604 + None, # 2605 + None, # 2606 + None, # 2607 + None, # 2608 + None, # 2609 + None, # 2610 + None, # 2611 + None, # 2612 + None, # 2613 + None, # 2614 + None, # 2615 + None, # 2616 + None, # 2617 + None, # 2618 + None, # 2619 + None, # 2620 + None, # 2621 + None, # 2622 + None, # 2623 + None, # 2624 + None, # 2625 + None, # 2626 + None, # 2627 + None, # 2628 + None, # 2629 + None, # 2630 + None, # 2631 + None, # 2632 + None, # 2633 + None, # 2634 + None, # 2635 + None, # 2636 + None, # 2637 + None, # 2638 + None, # 2639 + None, # 2640 + None, # 2641 + None, # 2642 + None, # 2643 + None, # 2644 + None, # 2645 + None, # 2646 + None, # 2647 + None, # 2648 + None, # 2649 + None, # 2650 + None, # 2651 + None, # 2652 + None, # 2653 + None, # 2654 + None, # 2655 + None, # 2656 + None, # 2657 + None, # 2658 + None, # 2659 + None, # 2660 + None, # 2661 + None, # 2662 + None, # 2663 + None, # 2664 + None, # 2665 + None, # 2666 + None, # 2667 + None, # 2668 + None, # 2669 + None, # 2670 + None, # 2671 + None, # 2672 + None, # 2673 + None, # 2674 + None, # 2675 + None, # 2676 + None, # 2677 + None, # 2678 + None, # 2679 + None, # 2680 + None, # 2681 + None, # 2682 + None, # 2683 + None, # 2684 + None, # 2685 + None, # 2686 + None, # 2687 + None, # 2688 + None, # 2689 + None, # 2690 + None, # 2691 + None, # 2692 + None, # 2693 + None, # 2694 + None, # 2695 + None, # 2696 + None, # 2697 + None, # 2698 + None, # 2699 + None, # 2700 + None, # 2701 + None, # 2702 + None, # 2703 + None, # 2704 + None, # 2705 + None, # 2706 + None, # 2707 + None, # 2708 + None, # 2709 + None, # 2710 + None, # 2711 + None, # 2712 + None, # 2713 + None, # 2714 + None, # 2715 + None, # 2716 + None, # 2717 + None, # 2718 + None, # 2719 + None, # 2720 + None, # 2721 + None, # 2722 + None, # 2723 + None, # 2724 + None, # 2725 + None, # 2726 + None, # 2727 + None, # 2728 + None, # 2729 + None, # 2730 + None, # 2731 + None, # 2732 + None, # 2733 + None, # 2734 + None, # 2735 + None, # 2736 + None, # 2737 + None, # 2738 + None, # 2739 + None, # 2740 + None, # 2741 + None, # 2742 + None, # 2743 + None, # 2744 + None, # 2745 + None, # 2746 + None, # 2747 + None, # 2748 + None, # 2749 + None, # 2750 + None, # 2751 + None, # 2752 + None, # 2753 + None, # 2754 + None, # 2755 + None, # 2756 + None, # 2757 + None, # 2758 + None, # 2759 + None, # 2760 + None, # 2761 + None, # 2762 + None, # 2763 + None, # 2764 + None, # 2765 + None, # 2766 + None, # 2767 + None, # 2768 + None, # 2769 + None, # 2770 + None, # 2771 + None, # 2772 + None, # 2773 + None, # 2774 + None, # 2775 + None, # 2776 + None, # 2777 + None, # 2778 + None, # 2779 + None, # 2780 + None, # 2781 + None, # 2782 + None, # 2783 + None, # 2784 + None, # 2785 + None, # 2786 + None, # 2787 + None, # 2788 + None, # 2789 + None, # 2790 + None, # 2791 + None, # 2792 + None, # 2793 + None, # 2794 + None, # 2795 + None, # 2796 + None, # 2797 + None, # 2798 + None, # 2799 + None, # 2800 + None, # 2801 + None, # 2802 + None, # 2803 + None, # 2804 + None, # 2805 + None, # 2806 + None, # 2807 + None, # 2808 + None, # 2809 + None, # 2810 + None, # 2811 + None, # 2812 + None, # 2813 + None, # 2814 + None, # 2815 + None, # 2816 + None, # 2817 + None, # 2818 + None, # 2819 + None, # 2820 + None, # 2821 + None, # 2822 + None, # 2823 + None, # 2824 + None, # 2825 + None, # 2826 + None, # 2827 + None, # 2828 + None, # 2829 + None, # 2830 + None, # 2831 + None, # 2832 + None, # 2833 + None, # 2834 + None, # 2835 + None, # 2836 + None, # 2837 + None, # 2838 + None, # 2839 + None, # 2840 + None, # 2841 + None, # 2842 + None, # 2843 + None, # 2844 + None, # 2845 + None, # 2846 + None, # 2847 + None, # 2848 + None, # 2849 + None, # 2850 + None, # 2851 + None, # 2852 + None, # 2853 + None, # 2854 + None, # 2855 + None, # 2856 + None, # 2857 + None, # 2858 + None, # 2859 + None, # 2860 + None, # 2861 + None, # 2862 + None, # 2863 + None, # 2864 + None, # 2865 + None, # 2866 + None, # 2867 + None, # 2868 + None, # 2869 + None, # 2870 + None, # 2871 + None, # 2872 + None, # 2873 + None, # 2874 + None, # 2875 + None, # 2876 + None, # 2877 + None, # 2878 + None, # 2879 + None, # 2880 + None, # 2881 + None, # 2882 + None, # 2883 + None, # 2884 + None, # 2885 + None, # 2886 + None, # 2887 + None, # 2888 + None, # 2889 + None, # 2890 + None, # 2891 + None, # 2892 + None, # 2893 + None, # 2894 + None, # 2895 + None, # 2896 + None, # 2897 + None, # 2898 + None, # 2899 + None, # 2900 + None, # 2901 + None, # 2902 + None, # 2903 + None, # 2904 + None, # 2905 + None, # 2906 + None, # 2907 + None, # 2908 + None, # 2909 + None, # 2910 + None, # 2911 + None, # 2912 + None, # 2913 + None, # 2914 + None, # 2915 + None, # 2916 + None, # 2917 + None, # 2918 + None, # 2919 + None, # 2920 + None, # 2921 + None, # 2922 + None, # 2923 + None, # 2924 + None, # 2925 + None, # 2926 + None, # 2927 + None, # 2928 + None, # 2929 + None, # 2930 + None, # 2931 + None, # 2932 + None, # 2933 + None, # 2934 + None, # 2935 + None, # 2936 + None, # 2937 + None, # 2938 + None, # 2939 + None, # 2940 + None, # 2941 + None, # 2942 + None, # 2943 + None, # 2944 + None, # 2945 + None, # 2946 + None, # 2947 + None, # 2948 + None, # 2949 + None, # 2950 + None, # 2951 + None, # 2952 + None, # 2953 + None, # 2954 + None, # 2955 + None, # 2956 + None, # 2957 + None, # 2958 + None, # 2959 + None, # 2960 + None, # 2961 + None, # 2962 + None, # 2963 + None, # 2964 + None, # 2965 + None, # 2966 + None, # 2967 + None, # 2968 + None, # 2969 + None, # 2970 + None, # 2971 + None, # 2972 + None, # 2973 + None, # 2974 + None, # 2975 + None, # 2976 + None, # 2977 + None, # 2978 + None, # 2979 + None, # 2980 + None, # 2981 + None, # 2982 + None, # 2983 + None, # 2984 + None, # 2985 + None, # 2986 + None, # 2987 + None, # 2988 + None, # 2989 + None, # 2990 + None, # 2991 + None, # 2992 + None, # 2993 + None, # 2994 + None, # 2995 + None, # 2996 + None, # 2997 + None, # 2998 + None, # 2999 + None, # 3000 + None, # 3001 + None, # 3002 + None, # 3003 + None, # 3004 + None, # 3005 + None, # 3006 + None, # 3007 + None, # 3008 + None, # 3009 + None, # 3010 + None, # 3011 + None, # 3012 + None, # 3013 + None, # 3014 + None, # 3015 + None, # 3016 + None, # 3017 + None, # 3018 + None, # 3019 + None, # 3020 + None, # 3021 + None, # 3022 + None, # 3023 + None, # 3024 + None, # 3025 + None, # 3026 + None, # 3027 + None, # 3028 + None, # 3029 + None, # 3030 + None, # 3031 + None, # 3032 + None, # 3033 + None, # 3034 + None, # 3035 + None, # 3036 + None, # 3037 + None, # 3038 + None, # 3039 + None, # 3040 + None, # 3041 + None, # 3042 + None, # 3043 + None, # 3044 + None, # 3045 + None, # 3046 + None, # 3047 + None, # 3048 + None, # 3049 + None, # 3050 + None, # 3051 + None, # 3052 + None, # 3053 + None, # 3054 + None, # 3055 + None, # 3056 + None, # 3057 + None, # 3058 + None, # 3059 + None, # 3060 + None, # 3061 + None, # 3062 + None, # 3063 + None, # 3064 + None, # 3065 + None, # 3066 + None, # 3067 + None, # 3068 + None, # 3069 + None, # 3070 + None, # 3071 + None, # 3072 + None, # 3073 + None, # 3074 + None, # 3075 + None, # 3076 + None, # 3077 + None, # 3078 + None, # 3079 + None, # 3080 + None, # 3081 + None, # 3082 + None, # 3083 + None, # 3084 + None, # 3085 + None, # 3086 + None, # 3087 + None, # 3088 + None, # 3089 + None, # 3090 + None, # 3091 + None, # 3092 + None, # 3093 + None, # 3094 + None, # 3095 + None, # 3096 + None, # 3097 + None, # 3098 + None, # 3099 + None, # 3100 + None, # 3101 + None, # 3102 + None, # 3103 + None, # 3104 + None, # 3105 + None, # 3106 + None, # 3107 + None, # 3108 + None, # 3109 + None, # 3110 + None, # 3111 + None, # 3112 + None, # 3113 + None, # 3114 + None, # 3115 + None, # 3116 + None, # 3117 + None, # 3118 + None, # 3119 + None, # 3120 + None, # 3121 + None, # 3122 + None, # 3123 + None, # 3124 + None, # 3125 + None, # 3126 + None, # 3127 + None, # 3128 + None, # 3129 + None, # 3130 + None, # 3131 + None, # 3132 + None, # 3133 + None, # 3134 + None, # 3135 + None, # 3136 + None, # 3137 + None, # 3138 + None, # 3139 + None, # 3140 + None, # 3141 + None, # 3142 + None, # 3143 + None, # 3144 + None, # 3145 + None, # 3146 + None, # 3147 + None, # 3148 + None, # 3149 + None, # 3150 + None, # 3151 + None, # 3152 + None, # 3153 + None, # 3154 + None, # 3155 + None, # 3156 + None, # 3157 + None, # 3158 + None, # 3159 + None, # 3160 + None, # 3161 + None, # 3162 + None, # 3163 + None, # 3164 + None, # 3165 + None, # 3166 + None, # 3167 + None, # 3168 + None, # 3169 + None, # 3170 + None, # 3171 + None, # 3172 + None, # 3173 + None, # 3174 + None, # 3175 + None, # 3176 + None, # 3177 + None, # 3178 + None, # 3179 + None, # 3180 + None, # 3181 + None, # 3182 + None, # 3183 + None, # 3184 + None, # 3185 + None, # 3186 + None, # 3187 + None, # 3188 + None, # 3189 + None, # 3190 + None, # 3191 + None, # 3192 + None, # 3193 + None, # 3194 + None, # 3195 + None, # 3196 + None, # 3197 + None, # 3198 + None, # 3199 + None, # 3200 + None, # 3201 + None, # 3202 + None, # 3203 + None, # 3204 + None, # 3205 + None, # 3206 + None, # 3207 + None, # 3208 + None, # 3209 + None, # 3210 + None, # 3211 + None, # 3212 + None, # 3213 + None, # 3214 + None, # 3215 + None, # 3216 + None, # 3217 + None, # 3218 + None, # 3219 + None, # 3220 + None, # 3221 + None, # 3222 + None, # 3223 + None, # 3224 + None, # 3225 + None, # 3226 + None, # 3227 + None, # 3228 + None, # 3229 + None, # 3230 + None, # 3231 + None, # 3232 + None, # 3233 + None, # 3234 + None, # 3235 + None, # 3236 + None, # 3237 + None, # 3238 + None, # 3239 + None, # 3240 + None, # 3241 + None, # 3242 + None, # 3243 + None, # 3244 + None, # 3245 + None, # 3246 + None, # 3247 + None, # 3248 + None, # 3249 + None, # 3250 + None, # 3251 + None, # 3252 + None, # 3253 + None, # 3254 + None, # 3255 + None, # 3256 + None, # 3257 + None, # 3258 + None, # 3259 + None, # 3260 + None, # 3261 + None, # 3262 + None, # 3263 + None, # 3264 + None, # 3265 + None, # 3266 + None, # 3267 + None, # 3268 + None, # 3269 + None, # 3270 + None, # 3271 + None, # 3272 + None, # 3273 + None, # 3274 + None, # 3275 + None, # 3276 + None, # 3277 + None, # 3278 + None, # 3279 + None, # 3280 + None, # 3281 + None, # 3282 + None, # 3283 + None, # 3284 + None, # 3285 + None, # 3286 + None, # 3287 + None, # 3288 + None, # 3289 + None, # 3290 + None, # 3291 + None, # 3292 + None, # 3293 + None, # 3294 + None, # 3295 + None, # 3296 + None, # 3297 + None, # 3298 + None, # 3299 + None, # 3300 + None, # 3301 + None, # 3302 + None, # 3303 + None, # 3304 + None, # 3305 + None, # 3306 + None, # 3307 + None, # 3308 + None, # 3309 + None, # 3310 + None, # 3311 + None, # 3312 + None, # 3313 + None, # 3314 + None, # 3315 + None, # 3316 + None, # 3317 + None, # 3318 + None, # 3319 + None, # 3320 + None, # 3321 + None, # 3322 + None, # 3323 + None, # 3324 + None, # 3325 + None, # 3326 + None, # 3327 + None, # 3328 + (3329, TType.STRUCT, 'sessionConf', [TDBSqlSessionConf, None], None, ), # 3329 ) all_structs.append(TGetInfoResp) TGetInfoResp.thrift_spec = ( - None, # 0 - (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 - (2, TType.STRUCT, 'infoValue', [TGetInfoValue, None], None, ), # 2 + None, # 0 + (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 + (2, TType.STRUCT, 'infoValue', [TGetInfoValue, None], None, ), # 2 ) all_structs.append(TSparkGetDirectResults) TSparkGetDirectResults.thrift_spec = ( - None, # 0 - (1, TType.I64, 'maxRows', None, None, ), # 1 - (2, TType.I64, 'maxBytes', None, None, ), # 2 + None, # 0 + (1, TType.I64, 'maxRows', None, None, ), # 1 + (2, TType.I64, 'maxBytes', None, None, ), # 2 ) all_structs.append(TSparkDirectResults) TSparkDirectResults.thrift_spec = ( - None, # 0 - (1, TType.STRUCT, 'operationStatus', [TGetOperationStatusResp, None], None, ), # 1 - (2, TType.STRUCT, 'resultSetMetadata', [TGetResultSetMetadataResp, None], None, ), # 2 - (3, TType.STRUCT, 'resultSet', [TFetchResultsResp, None], None, ), # 3 - (4, TType.STRUCT, 'closeOperation', [TCloseOperationResp, None], None, ), # 4 + None, # 0 + (1, TType.STRUCT, 'operationStatus', [TGetOperationStatusResp, None], None, ), # 1 + (2, TType.STRUCT, 'resultSetMetadata', [TGetResultSetMetadataResp, None], None, ), # 2 + (3, TType.STRUCT, 'resultSet', [TFetchResultsResp, None], None, ), # 3 + (4, TType.STRUCT, 'closeOperation', [TCloseOperationResp, None], None, ), # 4 ) all_structs.append(TSparkArrowTypes) TSparkArrowTypes.thrift_spec = ( - None, # 0 - (1, TType.BOOL, 'timestampAsArrow', None, None, ), # 1 - (2, TType.BOOL, 'decimalAsArrow', None, None, ), # 2 - (3, TType.BOOL, 'complexTypesAsArrow', None, None, ), # 3 - (4, TType.BOOL, 'intervalTypesAsArrow', None, None, ), # 4 - (5, TType.BOOL, 'nullTypeAsArrow', None, None, ), # 5 + None, # 0 + (1, TType.BOOL, 'timestampAsArrow', None, None, ), # 1 + (2, TType.BOOL, 'decimalAsArrow', None, None, ), # 2 + (3, TType.BOOL, 'complexTypesAsArrow', None, None, ), # 3 + (4, TType.BOOL, 'intervalTypesAsArrow', None, None, ), # 4 + (5, TType.BOOL, 'nullTypeAsArrow', None, None, ), # 5 ) all_structs.append(TExecuteStatementReq) TExecuteStatementReq.thrift_spec = ( - None, # 0 - (1, TType.STRUCT, 'sessionHandle', [TSessionHandle, None], None, ), # 1 - (2, TType.STRING, 'statement', 'UTF8', None, ), # 2 - (3, TType.MAP, 'confOverlay', (TType.STRING, 'UTF8', TType.STRING, 'UTF8', False), None, ), # 3 - (4, TType.BOOL, 'runAsync', None, False, ), # 4 - (5, TType.I64, 'queryTimeout', None, 0, ), # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - (1281, TType.STRUCT, 'getDirectResults', [TSparkGetDirectResults, None], None, ), # 1281 - (1282, TType.BOOL, 'canReadArrowResult', None, None, ), # 1282 - (1283, TType.BOOL, 'canDownloadResult', None, None, ), # 1283 - (1284, TType.BOOL, 'canDecompressLZ4Result', None, None, ), # 1284 - (1285, TType.I64, 'maxBytesPerFile', None, None, ), # 1285 - (1286, TType.STRUCT, 'useArrowNativeTypes', [TSparkArrowTypes, None], None, ), # 1286 - (1287, TType.I64, 'resultRowLimit', None, None, ), # 1287 - (1288, TType.LIST, 'parameters', (TType.STRUCT, [TSparkParameter, None], False), None, ), # 1288 - (1289, TType.I64, 'maxBytesPerBatch', None, None, ), # 1289 - None, # 1290 - None, # 1291 - None, # 1292 - None, # 1293 - None, # 1294 - None, # 1295 - (1296, TType.STRUCT, 'statementConf', [TStatementConf, None], None, ), # 1296 - None, # 1297 - None, # 1298 - None, # 1299 - None, # 1300 - None, # 1301 - None, # 1302 - None, # 1303 - None, # 1304 - None, # 1305 - None, # 1306 - None, # 1307 - None, # 1308 - None, # 1309 - None, # 1310 - None, # 1311 - None, # 1312 - None, # 1313 - None, # 1314 - None, # 1315 - None, # 1316 - None, # 1317 - None, # 1318 - None, # 1319 - None, # 1320 - None, # 1321 - None, # 1322 - None, # 1323 - None, # 1324 - None, # 1325 - None, # 1326 - None, # 1327 - None, # 1328 - None, # 1329 - None, # 1330 - None, # 1331 - None, # 1332 - None, # 1333 - None, # 1334 - None, # 1335 - None, # 1336 - None, # 1337 - None, # 1338 - None, # 1339 - None, # 1340 - None, # 1341 - None, # 1342 - None, # 1343 - None, # 1344 - None, # 1345 - None, # 1346 - None, # 1347 - None, # 1348 - None, # 1349 - None, # 1350 - None, # 1351 - None, # 1352 - None, # 1353 - None, # 1354 - None, # 1355 - None, # 1356 - None, # 1357 - None, # 1358 - None, # 1359 - None, # 1360 - None, # 1361 - None, # 1362 - None, # 1363 - None, # 1364 - None, # 1365 - None, # 1366 - None, # 1367 - None, # 1368 - None, # 1369 - None, # 1370 - None, # 1371 - None, # 1372 - None, # 1373 - None, # 1374 - None, # 1375 - None, # 1376 - None, # 1377 - None, # 1378 - None, # 1379 - None, # 1380 - None, # 1381 - None, # 1382 - None, # 1383 - None, # 1384 - None, # 1385 - None, # 1386 - None, # 1387 - None, # 1388 - None, # 1389 - None, # 1390 - None, # 1391 - None, # 1392 - None, # 1393 - None, # 1394 - None, # 1395 - None, # 1396 - None, # 1397 - None, # 1398 - None, # 1399 - None, # 1400 - None, # 1401 - None, # 1402 - None, # 1403 - None, # 1404 - None, # 1405 - None, # 1406 - None, # 1407 - None, # 1408 - None, # 1409 - None, # 1410 - None, # 1411 - None, # 1412 - None, # 1413 - None, # 1414 - None, # 1415 - None, # 1416 - None, # 1417 - None, # 1418 - None, # 1419 - None, # 1420 - None, # 1421 - None, # 1422 - None, # 1423 - None, # 1424 - None, # 1425 - None, # 1426 - None, # 1427 - None, # 1428 - None, # 1429 - None, # 1430 - None, # 1431 - None, # 1432 - None, # 1433 - None, # 1434 - None, # 1435 - None, # 1436 - None, # 1437 - None, # 1438 - None, # 1439 - None, # 1440 - None, # 1441 - None, # 1442 - None, # 1443 - None, # 1444 - None, # 1445 - None, # 1446 - None, # 1447 - None, # 1448 - None, # 1449 - None, # 1450 - None, # 1451 - None, # 1452 - None, # 1453 - None, # 1454 - None, # 1455 - None, # 1456 - None, # 1457 - None, # 1458 - None, # 1459 - None, # 1460 - None, # 1461 - None, # 1462 - None, # 1463 - None, # 1464 - None, # 1465 - None, # 1466 - None, # 1467 - None, # 1468 - None, # 1469 - None, # 1470 - None, # 1471 - None, # 1472 - None, # 1473 - None, # 1474 - None, # 1475 - None, # 1476 - None, # 1477 - None, # 1478 - None, # 1479 - None, # 1480 - None, # 1481 - None, # 1482 - None, # 1483 - None, # 1484 - None, # 1485 - None, # 1486 - None, # 1487 - None, # 1488 - None, # 1489 - None, # 1490 - None, # 1491 - None, # 1492 - None, # 1493 - None, # 1494 - None, # 1495 - None, # 1496 - None, # 1497 - None, # 1498 - None, # 1499 - None, # 1500 - None, # 1501 - None, # 1502 - None, # 1503 - None, # 1504 - None, # 1505 - None, # 1506 - None, # 1507 - None, # 1508 - None, # 1509 - None, # 1510 - None, # 1511 - None, # 1512 - None, # 1513 - None, # 1514 - None, # 1515 - None, # 1516 - None, # 1517 - None, # 1518 - None, # 1519 - None, # 1520 - None, # 1521 - None, # 1522 - None, # 1523 - None, # 1524 - None, # 1525 - None, # 1526 - None, # 1527 - None, # 1528 - None, # 1529 - None, # 1530 - None, # 1531 - None, # 1532 - None, # 1533 - None, # 1534 - None, # 1535 - None, # 1536 - None, # 1537 - None, # 1538 - None, # 1539 - None, # 1540 - None, # 1541 - None, # 1542 - None, # 1543 - None, # 1544 - None, # 1545 - None, # 1546 - None, # 1547 - None, # 1548 - None, # 1549 - None, # 1550 - None, # 1551 - None, # 1552 - None, # 1553 - None, # 1554 - None, # 1555 - None, # 1556 - None, # 1557 - None, # 1558 - None, # 1559 - None, # 1560 - None, # 1561 - None, # 1562 - None, # 1563 - None, # 1564 - None, # 1565 - None, # 1566 - None, # 1567 - None, # 1568 - None, # 1569 - None, # 1570 - None, # 1571 - None, # 1572 - None, # 1573 - None, # 1574 - None, # 1575 - None, # 1576 - None, # 1577 - None, # 1578 - None, # 1579 - None, # 1580 - None, # 1581 - None, # 1582 - None, # 1583 - None, # 1584 - None, # 1585 - None, # 1586 - None, # 1587 - None, # 1588 - None, # 1589 - None, # 1590 - None, # 1591 - None, # 1592 - None, # 1593 - None, # 1594 - None, # 1595 - None, # 1596 - None, # 1597 - None, # 1598 - None, # 1599 - None, # 1600 - None, # 1601 - None, # 1602 - None, # 1603 - None, # 1604 - None, # 1605 - None, # 1606 - None, # 1607 - None, # 1608 - None, # 1609 - None, # 1610 - None, # 1611 - None, # 1612 - None, # 1613 - None, # 1614 - None, # 1615 - None, # 1616 - None, # 1617 - None, # 1618 - None, # 1619 - None, # 1620 - None, # 1621 - None, # 1622 - None, # 1623 - None, # 1624 - None, # 1625 - None, # 1626 - None, # 1627 - None, # 1628 - None, # 1629 - None, # 1630 - None, # 1631 - None, # 1632 - None, # 1633 - None, # 1634 - None, # 1635 - None, # 1636 - None, # 1637 - None, # 1638 - None, # 1639 - None, # 1640 - None, # 1641 - None, # 1642 - None, # 1643 - None, # 1644 - None, # 1645 - None, # 1646 - None, # 1647 - None, # 1648 - None, # 1649 - None, # 1650 - None, # 1651 - None, # 1652 - None, # 1653 - None, # 1654 - None, # 1655 - None, # 1656 - None, # 1657 - None, # 1658 - None, # 1659 - None, # 1660 - None, # 1661 - None, # 1662 - None, # 1663 - None, # 1664 - None, # 1665 - None, # 1666 - None, # 1667 - None, # 1668 - None, # 1669 - None, # 1670 - None, # 1671 - None, # 1672 - None, # 1673 - None, # 1674 - None, # 1675 - None, # 1676 - None, # 1677 - None, # 1678 - None, # 1679 - None, # 1680 - None, # 1681 - None, # 1682 - None, # 1683 - None, # 1684 - None, # 1685 - None, # 1686 - None, # 1687 - None, # 1688 - None, # 1689 - None, # 1690 - None, # 1691 - None, # 1692 - None, # 1693 - None, # 1694 - None, # 1695 - None, # 1696 - None, # 1697 - None, # 1698 - None, # 1699 - None, # 1700 - None, # 1701 - None, # 1702 - None, # 1703 - None, # 1704 - None, # 1705 - None, # 1706 - None, # 1707 - None, # 1708 - None, # 1709 - None, # 1710 - None, # 1711 - None, # 1712 - None, # 1713 - None, # 1714 - None, # 1715 - None, # 1716 - None, # 1717 - None, # 1718 - None, # 1719 - None, # 1720 - None, # 1721 - None, # 1722 - None, # 1723 - None, # 1724 - None, # 1725 - None, # 1726 - None, # 1727 - None, # 1728 - None, # 1729 - None, # 1730 - None, # 1731 - None, # 1732 - None, # 1733 - None, # 1734 - None, # 1735 - None, # 1736 - None, # 1737 - None, # 1738 - None, # 1739 - None, # 1740 - None, # 1741 - None, # 1742 - None, # 1743 - None, # 1744 - None, # 1745 - None, # 1746 - None, # 1747 - None, # 1748 - None, # 1749 - None, # 1750 - None, # 1751 - None, # 1752 - None, # 1753 - None, # 1754 - None, # 1755 - None, # 1756 - None, # 1757 - None, # 1758 - None, # 1759 - None, # 1760 - None, # 1761 - None, # 1762 - None, # 1763 - None, # 1764 - None, # 1765 - None, # 1766 - None, # 1767 - None, # 1768 - None, # 1769 - None, # 1770 - None, # 1771 - None, # 1772 - None, # 1773 - None, # 1774 - None, # 1775 - None, # 1776 - None, # 1777 - None, # 1778 - None, # 1779 - None, # 1780 - None, # 1781 - None, # 1782 - None, # 1783 - None, # 1784 - None, # 1785 - None, # 1786 - None, # 1787 - None, # 1788 - None, # 1789 - None, # 1790 - None, # 1791 - None, # 1792 - None, # 1793 - None, # 1794 - None, # 1795 - None, # 1796 - None, # 1797 - None, # 1798 - None, # 1799 - None, # 1800 - None, # 1801 - None, # 1802 - None, # 1803 - None, # 1804 - None, # 1805 - None, # 1806 - None, # 1807 - None, # 1808 - None, # 1809 - None, # 1810 - None, # 1811 - None, # 1812 - None, # 1813 - None, # 1814 - None, # 1815 - None, # 1816 - None, # 1817 - None, # 1818 - None, # 1819 - None, # 1820 - None, # 1821 - None, # 1822 - None, # 1823 - None, # 1824 - None, # 1825 - None, # 1826 - None, # 1827 - None, # 1828 - None, # 1829 - None, # 1830 - None, # 1831 - None, # 1832 - None, # 1833 - None, # 1834 - None, # 1835 - None, # 1836 - None, # 1837 - None, # 1838 - None, # 1839 - None, # 1840 - None, # 1841 - None, # 1842 - None, # 1843 - None, # 1844 - None, # 1845 - None, # 1846 - None, # 1847 - None, # 1848 - None, # 1849 - None, # 1850 - None, # 1851 - None, # 1852 - None, # 1853 - None, # 1854 - None, # 1855 - None, # 1856 - None, # 1857 - None, # 1858 - None, # 1859 - None, # 1860 - None, # 1861 - None, # 1862 - None, # 1863 - None, # 1864 - None, # 1865 - None, # 1866 - None, # 1867 - None, # 1868 - None, # 1869 - None, # 1870 - None, # 1871 - None, # 1872 - None, # 1873 - None, # 1874 - None, # 1875 - None, # 1876 - None, # 1877 - None, # 1878 - None, # 1879 - None, # 1880 - None, # 1881 - None, # 1882 - None, # 1883 - None, # 1884 - None, # 1885 - None, # 1886 - None, # 1887 - None, # 1888 - None, # 1889 - None, # 1890 - None, # 1891 - None, # 1892 - None, # 1893 - None, # 1894 - None, # 1895 - None, # 1896 - None, # 1897 - None, # 1898 - None, # 1899 - None, # 1900 - None, # 1901 - None, # 1902 - None, # 1903 - None, # 1904 - None, # 1905 - None, # 1906 - None, # 1907 - None, # 1908 - None, # 1909 - None, # 1910 - None, # 1911 - None, # 1912 - None, # 1913 - None, # 1914 - None, # 1915 - None, # 1916 - None, # 1917 - None, # 1918 - None, # 1919 - None, # 1920 - None, # 1921 - None, # 1922 - None, # 1923 - None, # 1924 - None, # 1925 - None, # 1926 - None, # 1927 - None, # 1928 - None, # 1929 - None, # 1930 - None, # 1931 - None, # 1932 - None, # 1933 - None, # 1934 - None, # 1935 - None, # 1936 - None, # 1937 - None, # 1938 - None, # 1939 - None, # 1940 - None, # 1941 - None, # 1942 - None, # 1943 - None, # 1944 - None, # 1945 - None, # 1946 - None, # 1947 - None, # 1948 - None, # 1949 - None, # 1950 - None, # 1951 - None, # 1952 - None, # 1953 - None, # 1954 - None, # 1955 - None, # 1956 - None, # 1957 - None, # 1958 - None, # 1959 - None, # 1960 - None, # 1961 - None, # 1962 - None, # 1963 - None, # 1964 - None, # 1965 - None, # 1966 - None, # 1967 - None, # 1968 - None, # 1969 - None, # 1970 - None, # 1971 - None, # 1972 - None, # 1973 - None, # 1974 - None, # 1975 - None, # 1976 - None, # 1977 - None, # 1978 - None, # 1979 - None, # 1980 - None, # 1981 - None, # 1982 - None, # 1983 - None, # 1984 - None, # 1985 - None, # 1986 - None, # 1987 - None, # 1988 - None, # 1989 - None, # 1990 - None, # 1991 - None, # 1992 - None, # 1993 - None, # 1994 - None, # 1995 - None, # 1996 - None, # 1997 - None, # 1998 - None, # 1999 - None, # 2000 - None, # 2001 - None, # 2002 - None, # 2003 - None, # 2004 - None, # 2005 - None, # 2006 - None, # 2007 - None, # 2008 - None, # 2009 - None, # 2010 - None, # 2011 - None, # 2012 - None, # 2013 - None, # 2014 - None, # 2015 - None, # 2016 - None, # 2017 - None, # 2018 - None, # 2019 - None, # 2020 - None, # 2021 - None, # 2022 - None, # 2023 - None, # 2024 - None, # 2025 - None, # 2026 - None, # 2027 - None, # 2028 - None, # 2029 - None, # 2030 - None, # 2031 - None, # 2032 - None, # 2033 - None, # 2034 - None, # 2035 - None, # 2036 - None, # 2037 - None, # 2038 - None, # 2039 - None, # 2040 - None, # 2041 - None, # 2042 - None, # 2043 - None, # 2044 - None, # 2045 - None, # 2046 - None, # 2047 - None, # 2048 - None, # 2049 - None, # 2050 - None, # 2051 - None, # 2052 - None, # 2053 - None, # 2054 - None, # 2055 - None, # 2056 - None, # 2057 - None, # 2058 - None, # 2059 - None, # 2060 - None, # 2061 - None, # 2062 - None, # 2063 - None, # 2064 - None, # 2065 - None, # 2066 - None, # 2067 - None, # 2068 - None, # 2069 - None, # 2070 - None, # 2071 - None, # 2072 - None, # 2073 - None, # 2074 - None, # 2075 - None, # 2076 - None, # 2077 - None, # 2078 - None, # 2079 - None, # 2080 - None, # 2081 - None, # 2082 - None, # 2083 - None, # 2084 - None, # 2085 - None, # 2086 - None, # 2087 - None, # 2088 - None, # 2089 - None, # 2090 - None, # 2091 - None, # 2092 - None, # 2093 - None, # 2094 - None, # 2095 - None, # 2096 - None, # 2097 - None, # 2098 - None, # 2099 - None, # 2100 - None, # 2101 - None, # 2102 - None, # 2103 - None, # 2104 - None, # 2105 - None, # 2106 - None, # 2107 - None, # 2108 - None, # 2109 - None, # 2110 - None, # 2111 - None, # 2112 - None, # 2113 - None, # 2114 - None, # 2115 - None, # 2116 - None, # 2117 - None, # 2118 - None, # 2119 - None, # 2120 - None, # 2121 - None, # 2122 - None, # 2123 - None, # 2124 - None, # 2125 - None, # 2126 - None, # 2127 - None, # 2128 - None, # 2129 - None, # 2130 - None, # 2131 - None, # 2132 - None, # 2133 - None, # 2134 - None, # 2135 - None, # 2136 - None, # 2137 - None, # 2138 - None, # 2139 - None, # 2140 - None, # 2141 - None, # 2142 - None, # 2143 - None, # 2144 - None, # 2145 - None, # 2146 - None, # 2147 - None, # 2148 - None, # 2149 - None, # 2150 - None, # 2151 - None, # 2152 - None, # 2153 - None, # 2154 - None, # 2155 - None, # 2156 - None, # 2157 - None, # 2158 - None, # 2159 - None, # 2160 - None, # 2161 - None, # 2162 - None, # 2163 - None, # 2164 - None, # 2165 - None, # 2166 - None, # 2167 - None, # 2168 - None, # 2169 - None, # 2170 - None, # 2171 - None, # 2172 - None, # 2173 - None, # 2174 - None, # 2175 - None, # 2176 - None, # 2177 - None, # 2178 - None, # 2179 - None, # 2180 - None, # 2181 - None, # 2182 - None, # 2183 - None, # 2184 - None, # 2185 - None, # 2186 - None, # 2187 - None, # 2188 - None, # 2189 - None, # 2190 - None, # 2191 - None, # 2192 - None, # 2193 - None, # 2194 - None, # 2195 - None, # 2196 - None, # 2197 - None, # 2198 - None, # 2199 - None, # 2200 - None, # 2201 - None, # 2202 - None, # 2203 - None, # 2204 - None, # 2205 - None, # 2206 - None, # 2207 - None, # 2208 - None, # 2209 - None, # 2210 - None, # 2211 - None, # 2212 - None, # 2213 - None, # 2214 - None, # 2215 - None, # 2216 - None, # 2217 - None, # 2218 - None, # 2219 - None, # 2220 - None, # 2221 - None, # 2222 - None, # 2223 - None, # 2224 - None, # 2225 - None, # 2226 - None, # 2227 - None, # 2228 - None, # 2229 - None, # 2230 - None, # 2231 - None, # 2232 - None, # 2233 - None, # 2234 - None, # 2235 - None, # 2236 - None, # 2237 - None, # 2238 - None, # 2239 - None, # 2240 - None, # 2241 - None, # 2242 - None, # 2243 - None, # 2244 - None, # 2245 - None, # 2246 - None, # 2247 - None, # 2248 - None, # 2249 - None, # 2250 - None, # 2251 - None, # 2252 - None, # 2253 - None, # 2254 - None, # 2255 - None, # 2256 - None, # 2257 - None, # 2258 - None, # 2259 - None, # 2260 - None, # 2261 - None, # 2262 - None, # 2263 - None, # 2264 - None, # 2265 - None, # 2266 - None, # 2267 - None, # 2268 - None, # 2269 - None, # 2270 - None, # 2271 - None, # 2272 - None, # 2273 - None, # 2274 - None, # 2275 - None, # 2276 - None, # 2277 - None, # 2278 - None, # 2279 - None, # 2280 - None, # 2281 - None, # 2282 - None, # 2283 - None, # 2284 - None, # 2285 - None, # 2286 - None, # 2287 - None, # 2288 - None, # 2289 - None, # 2290 - None, # 2291 - None, # 2292 - None, # 2293 - None, # 2294 - None, # 2295 - None, # 2296 - None, # 2297 - None, # 2298 - None, # 2299 - None, # 2300 - None, # 2301 - None, # 2302 - None, # 2303 - None, # 2304 - None, # 2305 - None, # 2306 - None, # 2307 - None, # 2308 - None, # 2309 - None, # 2310 - None, # 2311 - None, # 2312 - None, # 2313 - None, # 2314 - None, # 2315 - None, # 2316 - None, # 2317 - None, # 2318 - None, # 2319 - None, # 2320 - None, # 2321 - None, # 2322 - None, # 2323 - None, # 2324 - None, # 2325 - None, # 2326 - None, # 2327 - None, # 2328 - None, # 2329 - None, # 2330 - None, # 2331 - None, # 2332 - None, # 2333 - None, # 2334 - None, # 2335 - None, # 2336 - None, # 2337 - None, # 2338 - None, # 2339 - None, # 2340 - None, # 2341 - None, # 2342 - None, # 2343 - None, # 2344 - None, # 2345 - None, # 2346 - None, # 2347 - None, # 2348 - None, # 2349 - None, # 2350 - None, # 2351 - None, # 2352 - None, # 2353 - None, # 2354 - None, # 2355 - None, # 2356 - None, # 2357 - None, # 2358 - None, # 2359 - None, # 2360 - None, # 2361 - None, # 2362 - None, # 2363 - None, # 2364 - None, # 2365 - None, # 2366 - None, # 2367 - None, # 2368 - None, # 2369 - None, # 2370 - None, # 2371 - None, # 2372 - None, # 2373 - None, # 2374 - None, # 2375 - None, # 2376 - None, # 2377 - None, # 2378 - None, # 2379 - None, # 2380 - None, # 2381 - None, # 2382 - None, # 2383 - None, # 2384 - None, # 2385 - None, # 2386 - None, # 2387 - None, # 2388 - None, # 2389 - None, # 2390 - None, # 2391 - None, # 2392 - None, # 2393 - None, # 2394 - None, # 2395 - None, # 2396 - None, # 2397 - None, # 2398 - None, # 2399 - None, # 2400 - None, # 2401 - None, # 2402 - None, # 2403 - None, # 2404 - None, # 2405 - None, # 2406 - None, # 2407 - None, # 2408 - None, # 2409 - None, # 2410 - None, # 2411 - None, # 2412 - None, # 2413 - None, # 2414 - None, # 2415 - None, # 2416 - None, # 2417 - None, # 2418 - None, # 2419 - None, # 2420 - None, # 2421 - None, # 2422 - None, # 2423 - None, # 2424 - None, # 2425 - None, # 2426 - None, # 2427 - None, # 2428 - None, # 2429 - None, # 2430 - None, # 2431 - None, # 2432 - None, # 2433 - None, # 2434 - None, # 2435 - None, # 2436 - None, # 2437 - None, # 2438 - None, # 2439 - None, # 2440 - None, # 2441 - None, # 2442 - None, # 2443 - None, # 2444 - None, # 2445 - None, # 2446 - None, # 2447 - None, # 2448 - None, # 2449 - None, # 2450 - None, # 2451 - None, # 2452 - None, # 2453 - None, # 2454 - None, # 2455 - None, # 2456 - None, # 2457 - None, # 2458 - None, # 2459 - None, # 2460 - None, # 2461 - None, # 2462 - None, # 2463 - None, # 2464 - None, # 2465 - None, # 2466 - None, # 2467 - None, # 2468 - None, # 2469 - None, # 2470 - None, # 2471 - None, # 2472 - None, # 2473 - None, # 2474 - None, # 2475 - None, # 2476 - None, # 2477 - None, # 2478 - None, # 2479 - None, # 2480 - None, # 2481 - None, # 2482 - None, # 2483 - None, # 2484 - None, # 2485 - None, # 2486 - None, # 2487 - None, # 2488 - None, # 2489 - None, # 2490 - None, # 2491 - None, # 2492 - None, # 2493 - None, # 2494 - None, # 2495 - None, # 2496 - None, # 2497 - None, # 2498 - None, # 2499 - None, # 2500 - None, # 2501 - None, # 2502 - None, # 2503 - None, # 2504 - None, # 2505 - None, # 2506 - None, # 2507 - None, # 2508 - None, # 2509 - None, # 2510 - None, # 2511 - None, # 2512 - None, # 2513 - None, # 2514 - None, # 2515 - None, # 2516 - None, # 2517 - None, # 2518 - None, # 2519 - None, # 2520 - None, # 2521 - None, # 2522 - None, # 2523 - None, # 2524 - None, # 2525 - None, # 2526 - None, # 2527 - None, # 2528 - None, # 2529 - None, # 2530 - None, # 2531 - None, # 2532 - None, # 2533 - None, # 2534 - None, # 2535 - None, # 2536 - None, # 2537 - None, # 2538 - None, # 2539 - None, # 2540 - None, # 2541 - None, # 2542 - None, # 2543 - None, # 2544 - None, # 2545 - None, # 2546 - None, # 2547 - None, # 2548 - None, # 2549 - None, # 2550 - None, # 2551 - None, # 2552 - None, # 2553 - None, # 2554 - None, # 2555 - None, # 2556 - None, # 2557 - None, # 2558 - None, # 2559 - None, # 2560 - None, # 2561 - None, # 2562 - None, # 2563 - None, # 2564 - None, # 2565 - None, # 2566 - None, # 2567 - None, # 2568 - None, # 2569 - None, # 2570 - None, # 2571 - None, # 2572 - None, # 2573 - None, # 2574 - None, # 2575 - None, # 2576 - None, # 2577 - None, # 2578 - None, # 2579 - None, # 2580 - None, # 2581 - None, # 2582 - None, # 2583 - None, # 2584 - None, # 2585 - None, # 2586 - None, # 2587 - None, # 2588 - None, # 2589 - None, # 2590 - None, # 2591 - None, # 2592 - None, # 2593 - None, # 2594 - None, # 2595 - None, # 2596 - None, # 2597 - None, # 2598 - None, # 2599 - None, # 2600 - None, # 2601 - None, # 2602 - None, # 2603 - None, # 2604 - None, # 2605 - None, # 2606 - None, # 2607 - None, # 2608 - None, # 2609 - None, # 2610 - None, # 2611 - None, # 2612 - None, # 2613 - None, # 2614 - None, # 2615 - None, # 2616 - None, # 2617 - None, # 2618 - None, # 2619 - None, # 2620 - None, # 2621 - None, # 2622 - None, # 2623 - None, # 2624 - None, # 2625 - None, # 2626 - None, # 2627 - None, # 2628 - None, # 2629 - None, # 2630 - None, # 2631 - None, # 2632 - None, # 2633 - None, # 2634 - None, # 2635 - None, # 2636 - None, # 2637 - None, # 2638 - None, # 2639 - None, # 2640 - None, # 2641 - None, # 2642 - None, # 2643 - None, # 2644 - None, # 2645 - None, # 2646 - None, # 2647 - None, # 2648 - None, # 2649 - None, # 2650 - None, # 2651 - None, # 2652 - None, # 2653 - None, # 2654 - None, # 2655 - None, # 2656 - None, # 2657 - None, # 2658 - None, # 2659 - None, # 2660 - None, # 2661 - None, # 2662 - None, # 2663 - None, # 2664 - None, # 2665 - None, # 2666 - None, # 2667 - None, # 2668 - None, # 2669 - None, # 2670 - None, # 2671 - None, # 2672 - None, # 2673 - None, # 2674 - None, # 2675 - None, # 2676 - None, # 2677 - None, # 2678 - None, # 2679 - None, # 2680 - None, # 2681 - None, # 2682 - None, # 2683 - None, # 2684 - None, # 2685 - None, # 2686 - None, # 2687 - None, # 2688 - None, # 2689 - None, # 2690 - None, # 2691 - None, # 2692 - None, # 2693 - None, # 2694 - None, # 2695 - None, # 2696 - None, # 2697 - None, # 2698 - None, # 2699 - None, # 2700 - None, # 2701 - None, # 2702 - None, # 2703 - None, # 2704 - None, # 2705 - None, # 2706 - None, # 2707 - None, # 2708 - None, # 2709 - None, # 2710 - None, # 2711 - None, # 2712 - None, # 2713 - None, # 2714 - None, # 2715 - None, # 2716 - None, # 2717 - None, # 2718 - None, # 2719 - None, # 2720 - None, # 2721 - None, # 2722 - None, # 2723 - None, # 2724 - None, # 2725 - None, # 2726 - None, # 2727 - None, # 2728 - None, # 2729 - None, # 2730 - None, # 2731 - None, # 2732 - None, # 2733 - None, # 2734 - None, # 2735 - None, # 2736 - None, # 2737 - None, # 2738 - None, # 2739 - None, # 2740 - None, # 2741 - None, # 2742 - None, # 2743 - None, # 2744 - None, # 2745 - None, # 2746 - None, # 2747 - None, # 2748 - None, # 2749 - None, # 2750 - None, # 2751 - None, # 2752 - None, # 2753 - None, # 2754 - None, # 2755 - None, # 2756 - None, # 2757 - None, # 2758 - None, # 2759 - None, # 2760 - None, # 2761 - None, # 2762 - None, # 2763 - None, # 2764 - None, # 2765 - None, # 2766 - None, # 2767 - None, # 2768 - None, # 2769 - None, # 2770 - None, # 2771 - None, # 2772 - None, # 2773 - None, # 2774 - None, # 2775 - None, # 2776 - None, # 2777 - None, # 2778 - None, # 2779 - None, # 2780 - None, # 2781 - None, # 2782 - None, # 2783 - None, # 2784 - None, # 2785 - None, # 2786 - None, # 2787 - None, # 2788 - None, # 2789 - None, # 2790 - None, # 2791 - None, # 2792 - None, # 2793 - None, # 2794 - None, # 2795 - None, # 2796 - None, # 2797 - None, # 2798 - None, # 2799 - None, # 2800 - None, # 2801 - None, # 2802 - None, # 2803 - None, # 2804 - None, # 2805 - None, # 2806 - None, # 2807 - None, # 2808 - None, # 2809 - None, # 2810 - None, # 2811 - None, # 2812 - None, # 2813 - None, # 2814 - None, # 2815 - None, # 2816 - None, # 2817 - None, # 2818 - None, # 2819 - None, # 2820 - None, # 2821 - None, # 2822 - None, # 2823 - None, # 2824 - None, # 2825 - None, # 2826 - None, # 2827 - None, # 2828 - None, # 2829 - None, # 2830 - None, # 2831 - None, # 2832 - None, # 2833 - None, # 2834 - None, # 2835 - None, # 2836 - None, # 2837 - None, # 2838 - None, # 2839 - None, # 2840 - None, # 2841 - None, # 2842 - None, # 2843 - None, # 2844 - None, # 2845 - None, # 2846 - None, # 2847 - None, # 2848 - None, # 2849 - None, # 2850 - None, # 2851 - None, # 2852 - None, # 2853 - None, # 2854 - None, # 2855 - None, # 2856 - None, # 2857 - None, # 2858 - None, # 2859 - None, # 2860 - None, # 2861 - None, # 2862 - None, # 2863 - None, # 2864 - None, # 2865 - None, # 2866 - None, # 2867 - None, # 2868 - None, # 2869 - None, # 2870 - None, # 2871 - None, # 2872 - None, # 2873 - None, # 2874 - None, # 2875 - None, # 2876 - None, # 2877 - None, # 2878 - None, # 2879 - None, # 2880 - None, # 2881 - None, # 2882 - None, # 2883 - None, # 2884 - None, # 2885 - None, # 2886 - None, # 2887 - None, # 2888 - None, # 2889 - None, # 2890 - None, # 2891 - None, # 2892 - None, # 2893 - None, # 2894 - None, # 2895 - None, # 2896 - None, # 2897 - None, # 2898 - None, # 2899 - None, # 2900 - None, # 2901 - None, # 2902 - None, # 2903 - None, # 2904 - None, # 2905 - None, # 2906 - None, # 2907 - None, # 2908 - None, # 2909 - None, # 2910 - None, # 2911 - None, # 2912 - None, # 2913 - None, # 2914 - None, # 2915 - None, # 2916 - None, # 2917 - None, # 2918 - None, # 2919 - None, # 2920 - None, # 2921 - None, # 2922 - None, # 2923 - None, # 2924 - None, # 2925 - None, # 2926 - None, # 2927 - None, # 2928 - None, # 2929 - None, # 2930 - None, # 2931 - None, # 2932 - None, # 2933 - None, # 2934 - None, # 2935 - None, # 2936 - None, # 2937 - None, # 2938 - None, # 2939 - None, # 2940 - None, # 2941 - None, # 2942 - None, # 2943 - None, # 2944 - None, # 2945 - None, # 2946 - None, # 2947 - None, # 2948 - None, # 2949 - None, # 2950 - None, # 2951 - None, # 2952 - None, # 2953 - None, # 2954 - None, # 2955 - None, # 2956 - None, # 2957 - None, # 2958 - None, # 2959 - None, # 2960 - None, # 2961 - None, # 2962 - None, # 2963 - None, # 2964 - None, # 2965 - None, # 2966 - None, # 2967 - None, # 2968 - None, # 2969 - None, # 2970 - None, # 2971 - None, # 2972 - None, # 2973 - None, # 2974 - None, # 2975 - None, # 2976 - None, # 2977 - None, # 2978 - None, # 2979 - None, # 2980 - None, # 2981 - None, # 2982 - None, # 2983 - None, # 2984 - None, # 2985 - None, # 2986 - None, # 2987 - None, # 2988 - None, # 2989 - None, # 2990 - None, # 2991 - None, # 2992 - None, # 2993 - None, # 2994 - None, # 2995 - None, # 2996 - None, # 2997 - None, # 2998 - None, # 2999 - None, # 3000 - None, # 3001 - None, # 3002 - None, # 3003 - None, # 3004 - None, # 3005 - None, # 3006 - None, # 3007 - None, # 3008 - None, # 3009 - None, # 3010 - None, # 3011 - None, # 3012 - None, # 3013 - None, # 3014 - None, # 3015 - None, # 3016 - None, # 3017 - None, # 3018 - None, # 3019 - None, # 3020 - None, # 3021 - None, # 3022 - None, # 3023 - None, # 3024 - None, # 3025 - None, # 3026 - None, # 3027 - None, # 3028 - None, # 3029 - None, # 3030 - None, # 3031 - None, # 3032 - None, # 3033 - None, # 3034 - None, # 3035 - None, # 3036 - None, # 3037 - None, # 3038 - None, # 3039 - None, # 3040 - None, # 3041 - None, # 3042 - None, # 3043 - None, # 3044 - None, # 3045 - None, # 3046 - None, # 3047 - None, # 3048 - None, # 3049 - None, # 3050 - None, # 3051 - None, # 3052 - None, # 3053 - None, # 3054 - None, # 3055 - None, # 3056 - None, # 3057 - None, # 3058 - None, # 3059 - None, # 3060 - None, # 3061 - None, # 3062 - None, # 3063 - None, # 3064 - None, # 3065 - None, # 3066 - None, # 3067 - None, # 3068 - None, # 3069 - None, # 3070 - None, # 3071 - None, # 3072 - None, # 3073 - None, # 3074 - None, # 3075 - None, # 3076 - None, # 3077 - None, # 3078 - None, # 3079 - None, # 3080 - None, # 3081 - None, # 3082 - None, # 3083 - None, # 3084 - None, # 3085 - None, # 3086 - None, # 3087 - None, # 3088 - None, # 3089 - None, # 3090 - None, # 3091 - None, # 3092 - None, # 3093 - None, # 3094 - None, # 3095 - None, # 3096 - None, # 3097 - None, # 3098 - None, # 3099 - None, # 3100 - None, # 3101 - None, # 3102 - None, # 3103 - None, # 3104 - None, # 3105 - None, # 3106 - None, # 3107 - None, # 3108 - None, # 3109 - None, # 3110 - None, # 3111 - None, # 3112 - None, # 3113 - None, # 3114 - None, # 3115 - None, # 3116 - None, # 3117 - None, # 3118 - None, # 3119 - None, # 3120 - None, # 3121 - None, # 3122 - None, # 3123 - None, # 3124 - None, # 3125 - None, # 3126 - None, # 3127 - None, # 3128 - None, # 3129 - None, # 3130 - None, # 3131 - None, # 3132 - None, # 3133 - None, # 3134 - None, # 3135 - None, # 3136 - None, # 3137 - None, # 3138 - None, # 3139 - None, # 3140 - None, # 3141 - None, # 3142 - None, # 3143 - None, # 3144 - None, # 3145 - None, # 3146 - None, # 3147 - None, # 3148 - None, # 3149 - None, # 3150 - None, # 3151 - None, # 3152 - None, # 3153 - None, # 3154 - None, # 3155 - None, # 3156 - None, # 3157 - None, # 3158 - None, # 3159 - None, # 3160 - None, # 3161 - None, # 3162 - None, # 3163 - None, # 3164 - None, # 3165 - None, # 3166 - None, # 3167 - None, # 3168 - None, # 3169 - None, # 3170 - None, # 3171 - None, # 3172 - None, # 3173 - None, # 3174 - None, # 3175 - None, # 3176 - None, # 3177 - None, # 3178 - None, # 3179 - None, # 3180 - None, # 3181 - None, # 3182 - None, # 3183 - None, # 3184 - None, # 3185 - None, # 3186 - None, # 3187 - None, # 3188 - None, # 3189 - None, # 3190 - None, # 3191 - None, # 3192 - None, # 3193 - None, # 3194 - None, # 3195 - None, # 3196 - None, # 3197 - None, # 3198 - None, # 3199 - None, # 3200 - None, # 3201 - None, # 3202 - None, # 3203 - None, # 3204 - None, # 3205 - None, # 3206 - None, # 3207 - None, # 3208 - None, # 3209 - None, # 3210 - None, # 3211 - None, # 3212 - None, # 3213 - None, # 3214 - None, # 3215 - None, # 3216 - None, # 3217 - None, # 3218 - None, # 3219 - None, # 3220 - None, # 3221 - None, # 3222 - None, # 3223 - None, # 3224 - None, # 3225 - None, # 3226 - None, # 3227 - None, # 3228 - None, # 3229 - None, # 3230 - None, # 3231 - None, # 3232 - None, # 3233 - None, # 3234 - None, # 3235 - None, # 3236 - None, # 3237 - None, # 3238 - None, # 3239 - None, # 3240 - None, # 3241 - None, # 3242 - None, # 3243 - None, # 3244 - None, # 3245 - None, # 3246 - None, # 3247 - None, # 3248 - None, # 3249 - None, # 3250 - None, # 3251 - None, # 3252 - None, # 3253 - None, # 3254 - None, # 3255 - None, # 3256 - None, # 3257 - None, # 3258 - None, # 3259 - None, # 3260 - None, # 3261 - None, # 3262 - None, # 3263 - None, # 3264 - None, # 3265 - None, # 3266 - None, # 3267 - None, # 3268 - None, # 3269 - None, # 3270 - None, # 3271 - None, # 3272 - None, # 3273 - None, # 3274 - None, # 3275 - None, # 3276 - None, # 3277 - None, # 3278 - None, # 3279 - None, # 3280 - None, # 3281 - None, # 3282 - None, # 3283 - None, # 3284 - None, # 3285 - None, # 3286 - None, # 3287 - None, # 3288 - None, # 3289 - None, # 3290 - None, # 3291 - None, # 3292 - None, # 3293 - None, # 3294 - None, # 3295 - None, # 3296 - None, # 3297 - None, # 3298 - None, # 3299 - None, # 3300 - None, # 3301 - None, # 3302 - None, # 3303 - None, # 3304 - None, # 3305 - None, # 3306 - None, # 3307 - None, # 3308 - None, # 3309 - None, # 3310 - None, # 3311 - None, # 3312 - None, # 3313 - None, # 3314 - None, # 3315 - None, # 3316 - None, # 3317 - None, # 3318 - None, # 3319 - None, # 3320 - None, # 3321 - None, # 3322 - None, # 3323 - None, # 3324 - None, # 3325 - None, # 3326 - None, # 3327 - None, # 3328 - (3329, TType.STRUCT, 'operationId', [THandleIdentifier, None], None, ), # 3329 - (3330, TType.STRUCT, 'sessionConf', [TDBSqlSessionConf, None], None, ), # 3330 - (3331, TType.BOOL, 'rejectHighCostQueries', None, None, ), # 3331 - (3332, TType.DOUBLE, 'estimatedCost', None, None, ), # 3332 - (3333, TType.I16, 'executionVersion', None, None, ), # 3333 - (3334, TType.STRING, 'requestValidation', 'BINARY', None, ), # 3334 - (3335, TType.I32, 'resultPersistenceMode', None, None, ), # 3335 - (3336, TType.BOOL, 'trimArrowBatchesToLimit', None, None, ), # 3336 - (3337, TType.I32, 'fetchDisposition', None, None, ), # 3337 - None, # 3338 - None, # 3339 - None, # 3340 - None, # 3341 - None, # 3342 - None, # 3343 - (3344, TType.BOOL, 'enforceResultPersistenceMode', None, None, ), # 3344 - (3345, TType.LIST, 'statementList', (TType.STRUCT, [TDBSqlStatement, None], False), None, ), # 3345 - (3346, TType.BOOL, 'persistResultManifest', None, None, ), # 3346 - (3347, TType.I64, 'resultRetentionSeconds', None, None, ), # 3347 - (3348, TType.I64, 'resultByteLimit', None, None, ), # 3348 - (3349, TType.STRUCT, 'resultDataFormat', [TDBSqlResultFormat, None], None, ), # 3349 - (3350, TType.STRING, 'originatingClientIdentity', 'UTF8', None, ), # 3350 - (3351, TType.BOOL, 'preferSingleFileResult', None, None, ), # 3351 - (3352, TType.BOOL, 'preferDriverOnlyUpload', None, None, ), # 3352 - (3353, TType.BOOL, 'enforceEmbeddedSchemaCorrectness', None, False, ), # 3353 - None, # 3354 - None, # 3355 - None, # 3356 - None, # 3357 - None, # 3358 - None, # 3359 - (3360, TType.STRING, 'idempotencyToken', 'UTF8', None, ), # 3360 - (3361, TType.BOOL, 'throwErrorOnByteLimitTruncation', None, None, ), # 3361 + None, # 0 + (1, TType.STRUCT, 'sessionHandle', [TSessionHandle, None], None, ), # 1 + (2, TType.STRING, 'statement', 'UTF8', None, ), # 2 + (3, TType.MAP, 'confOverlay', (TType.STRING, 'UTF8', TType.STRING, 'UTF8', False), None, ), # 3 + (4, TType.BOOL, 'runAsync', None, False, ), # 4 + (5, TType.I64, 'queryTimeout', None, 0, ), # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + (1281, TType.STRUCT, 'getDirectResults', [TSparkGetDirectResults, None], None, ), # 1281 + (1282, TType.BOOL, 'canReadArrowResult', None, None, ), # 1282 + (1283, TType.BOOL, 'canDownloadResult', None, None, ), # 1283 + (1284, TType.BOOL, 'canDecompressLZ4Result', None, None, ), # 1284 + (1285, TType.I64, 'maxBytesPerFile', None, None, ), # 1285 + (1286, TType.STRUCT, 'useArrowNativeTypes', [TSparkArrowTypes, None], None, ), # 1286 + (1287, TType.I64, 'resultRowLimit', None, None, ), # 1287 + (1288, TType.LIST, 'parameters', (TType.STRUCT, [TSparkParameter, None], False), None, ), # 1288 + (1289, TType.I64, 'maxBytesPerBatch', None, None, ), # 1289 + None, # 1290 + None, # 1291 + None, # 1292 + None, # 1293 + None, # 1294 + None, # 1295 + (1296, TType.STRUCT, 'statementConf', [TStatementConf, None], None, ), # 1296 + None, # 1297 + None, # 1298 + None, # 1299 + None, # 1300 + None, # 1301 + None, # 1302 + None, # 1303 + None, # 1304 + None, # 1305 + None, # 1306 + None, # 1307 + None, # 1308 + None, # 1309 + None, # 1310 + None, # 1311 + None, # 1312 + None, # 1313 + None, # 1314 + None, # 1315 + None, # 1316 + None, # 1317 + None, # 1318 + None, # 1319 + None, # 1320 + None, # 1321 + None, # 1322 + None, # 1323 + None, # 1324 + None, # 1325 + None, # 1326 + None, # 1327 + None, # 1328 + None, # 1329 + None, # 1330 + None, # 1331 + None, # 1332 + None, # 1333 + None, # 1334 + None, # 1335 + None, # 1336 + None, # 1337 + None, # 1338 + None, # 1339 + None, # 1340 + None, # 1341 + None, # 1342 + None, # 1343 + None, # 1344 + None, # 1345 + None, # 1346 + None, # 1347 + None, # 1348 + None, # 1349 + None, # 1350 + None, # 1351 + None, # 1352 + None, # 1353 + None, # 1354 + None, # 1355 + None, # 1356 + None, # 1357 + None, # 1358 + None, # 1359 + None, # 1360 + None, # 1361 + None, # 1362 + None, # 1363 + None, # 1364 + None, # 1365 + None, # 1366 + None, # 1367 + None, # 1368 + None, # 1369 + None, # 1370 + None, # 1371 + None, # 1372 + None, # 1373 + None, # 1374 + None, # 1375 + None, # 1376 + None, # 1377 + None, # 1378 + None, # 1379 + None, # 1380 + None, # 1381 + None, # 1382 + None, # 1383 + None, # 1384 + None, # 1385 + None, # 1386 + None, # 1387 + None, # 1388 + None, # 1389 + None, # 1390 + None, # 1391 + None, # 1392 + None, # 1393 + None, # 1394 + None, # 1395 + None, # 1396 + None, # 1397 + None, # 1398 + None, # 1399 + None, # 1400 + None, # 1401 + None, # 1402 + None, # 1403 + None, # 1404 + None, # 1405 + None, # 1406 + None, # 1407 + None, # 1408 + None, # 1409 + None, # 1410 + None, # 1411 + None, # 1412 + None, # 1413 + None, # 1414 + None, # 1415 + None, # 1416 + None, # 1417 + None, # 1418 + None, # 1419 + None, # 1420 + None, # 1421 + None, # 1422 + None, # 1423 + None, # 1424 + None, # 1425 + None, # 1426 + None, # 1427 + None, # 1428 + None, # 1429 + None, # 1430 + None, # 1431 + None, # 1432 + None, # 1433 + None, # 1434 + None, # 1435 + None, # 1436 + None, # 1437 + None, # 1438 + None, # 1439 + None, # 1440 + None, # 1441 + None, # 1442 + None, # 1443 + None, # 1444 + None, # 1445 + None, # 1446 + None, # 1447 + None, # 1448 + None, # 1449 + None, # 1450 + None, # 1451 + None, # 1452 + None, # 1453 + None, # 1454 + None, # 1455 + None, # 1456 + None, # 1457 + None, # 1458 + None, # 1459 + None, # 1460 + None, # 1461 + None, # 1462 + None, # 1463 + None, # 1464 + None, # 1465 + None, # 1466 + None, # 1467 + None, # 1468 + None, # 1469 + None, # 1470 + None, # 1471 + None, # 1472 + None, # 1473 + None, # 1474 + None, # 1475 + None, # 1476 + None, # 1477 + None, # 1478 + None, # 1479 + None, # 1480 + None, # 1481 + None, # 1482 + None, # 1483 + None, # 1484 + None, # 1485 + None, # 1486 + None, # 1487 + None, # 1488 + None, # 1489 + None, # 1490 + None, # 1491 + None, # 1492 + None, # 1493 + None, # 1494 + None, # 1495 + None, # 1496 + None, # 1497 + None, # 1498 + None, # 1499 + None, # 1500 + None, # 1501 + None, # 1502 + None, # 1503 + None, # 1504 + None, # 1505 + None, # 1506 + None, # 1507 + None, # 1508 + None, # 1509 + None, # 1510 + None, # 1511 + None, # 1512 + None, # 1513 + None, # 1514 + None, # 1515 + None, # 1516 + None, # 1517 + None, # 1518 + None, # 1519 + None, # 1520 + None, # 1521 + None, # 1522 + None, # 1523 + None, # 1524 + None, # 1525 + None, # 1526 + None, # 1527 + None, # 1528 + None, # 1529 + None, # 1530 + None, # 1531 + None, # 1532 + None, # 1533 + None, # 1534 + None, # 1535 + None, # 1536 + None, # 1537 + None, # 1538 + None, # 1539 + None, # 1540 + None, # 1541 + None, # 1542 + None, # 1543 + None, # 1544 + None, # 1545 + None, # 1546 + None, # 1547 + None, # 1548 + None, # 1549 + None, # 1550 + None, # 1551 + None, # 1552 + None, # 1553 + None, # 1554 + None, # 1555 + None, # 1556 + None, # 1557 + None, # 1558 + None, # 1559 + None, # 1560 + None, # 1561 + None, # 1562 + None, # 1563 + None, # 1564 + None, # 1565 + None, # 1566 + None, # 1567 + None, # 1568 + None, # 1569 + None, # 1570 + None, # 1571 + None, # 1572 + None, # 1573 + None, # 1574 + None, # 1575 + None, # 1576 + None, # 1577 + None, # 1578 + None, # 1579 + None, # 1580 + None, # 1581 + None, # 1582 + None, # 1583 + None, # 1584 + None, # 1585 + None, # 1586 + None, # 1587 + None, # 1588 + None, # 1589 + None, # 1590 + None, # 1591 + None, # 1592 + None, # 1593 + None, # 1594 + None, # 1595 + None, # 1596 + None, # 1597 + None, # 1598 + None, # 1599 + None, # 1600 + None, # 1601 + None, # 1602 + None, # 1603 + None, # 1604 + None, # 1605 + None, # 1606 + None, # 1607 + None, # 1608 + None, # 1609 + None, # 1610 + None, # 1611 + None, # 1612 + None, # 1613 + None, # 1614 + None, # 1615 + None, # 1616 + None, # 1617 + None, # 1618 + None, # 1619 + None, # 1620 + None, # 1621 + None, # 1622 + None, # 1623 + None, # 1624 + None, # 1625 + None, # 1626 + None, # 1627 + None, # 1628 + None, # 1629 + None, # 1630 + None, # 1631 + None, # 1632 + None, # 1633 + None, # 1634 + None, # 1635 + None, # 1636 + None, # 1637 + None, # 1638 + None, # 1639 + None, # 1640 + None, # 1641 + None, # 1642 + None, # 1643 + None, # 1644 + None, # 1645 + None, # 1646 + None, # 1647 + None, # 1648 + None, # 1649 + None, # 1650 + None, # 1651 + None, # 1652 + None, # 1653 + None, # 1654 + None, # 1655 + None, # 1656 + None, # 1657 + None, # 1658 + None, # 1659 + None, # 1660 + None, # 1661 + None, # 1662 + None, # 1663 + None, # 1664 + None, # 1665 + None, # 1666 + None, # 1667 + None, # 1668 + None, # 1669 + None, # 1670 + None, # 1671 + None, # 1672 + None, # 1673 + None, # 1674 + None, # 1675 + None, # 1676 + None, # 1677 + None, # 1678 + None, # 1679 + None, # 1680 + None, # 1681 + None, # 1682 + None, # 1683 + None, # 1684 + None, # 1685 + None, # 1686 + None, # 1687 + None, # 1688 + None, # 1689 + None, # 1690 + None, # 1691 + None, # 1692 + None, # 1693 + None, # 1694 + None, # 1695 + None, # 1696 + None, # 1697 + None, # 1698 + None, # 1699 + None, # 1700 + None, # 1701 + None, # 1702 + None, # 1703 + None, # 1704 + None, # 1705 + None, # 1706 + None, # 1707 + None, # 1708 + None, # 1709 + None, # 1710 + None, # 1711 + None, # 1712 + None, # 1713 + None, # 1714 + None, # 1715 + None, # 1716 + None, # 1717 + None, # 1718 + None, # 1719 + None, # 1720 + None, # 1721 + None, # 1722 + None, # 1723 + None, # 1724 + None, # 1725 + None, # 1726 + None, # 1727 + None, # 1728 + None, # 1729 + None, # 1730 + None, # 1731 + None, # 1732 + None, # 1733 + None, # 1734 + None, # 1735 + None, # 1736 + None, # 1737 + None, # 1738 + None, # 1739 + None, # 1740 + None, # 1741 + None, # 1742 + None, # 1743 + None, # 1744 + None, # 1745 + None, # 1746 + None, # 1747 + None, # 1748 + None, # 1749 + None, # 1750 + None, # 1751 + None, # 1752 + None, # 1753 + None, # 1754 + None, # 1755 + None, # 1756 + None, # 1757 + None, # 1758 + None, # 1759 + None, # 1760 + None, # 1761 + None, # 1762 + None, # 1763 + None, # 1764 + None, # 1765 + None, # 1766 + None, # 1767 + None, # 1768 + None, # 1769 + None, # 1770 + None, # 1771 + None, # 1772 + None, # 1773 + None, # 1774 + None, # 1775 + None, # 1776 + None, # 1777 + None, # 1778 + None, # 1779 + None, # 1780 + None, # 1781 + None, # 1782 + None, # 1783 + None, # 1784 + None, # 1785 + None, # 1786 + None, # 1787 + None, # 1788 + None, # 1789 + None, # 1790 + None, # 1791 + None, # 1792 + None, # 1793 + None, # 1794 + None, # 1795 + None, # 1796 + None, # 1797 + None, # 1798 + None, # 1799 + None, # 1800 + None, # 1801 + None, # 1802 + None, # 1803 + None, # 1804 + None, # 1805 + None, # 1806 + None, # 1807 + None, # 1808 + None, # 1809 + None, # 1810 + None, # 1811 + None, # 1812 + None, # 1813 + None, # 1814 + None, # 1815 + None, # 1816 + None, # 1817 + None, # 1818 + None, # 1819 + None, # 1820 + None, # 1821 + None, # 1822 + None, # 1823 + None, # 1824 + None, # 1825 + None, # 1826 + None, # 1827 + None, # 1828 + None, # 1829 + None, # 1830 + None, # 1831 + None, # 1832 + None, # 1833 + None, # 1834 + None, # 1835 + None, # 1836 + None, # 1837 + None, # 1838 + None, # 1839 + None, # 1840 + None, # 1841 + None, # 1842 + None, # 1843 + None, # 1844 + None, # 1845 + None, # 1846 + None, # 1847 + None, # 1848 + None, # 1849 + None, # 1850 + None, # 1851 + None, # 1852 + None, # 1853 + None, # 1854 + None, # 1855 + None, # 1856 + None, # 1857 + None, # 1858 + None, # 1859 + None, # 1860 + None, # 1861 + None, # 1862 + None, # 1863 + None, # 1864 + None, # 1865 + None, # 1866 + None, # 1867 + None, # 1868 + None, # 1869 + None, # 1870 + None, # 1871 + None, # 1872 + None, # 1873 + None, # 1874 + None, # 1875 + None, # 1876 + None, # 1877 + None, # 1878 + None, # 1879 + None, # 1880 + None, # 1881 + None, # 1882 + None, # 1883 + None, # 1884 + None, # 1885 + None, # 1886 + None, # 1887 + None, # 1888 + None, # 1889 + None, # 1890 + None, # 1891 + None, # 1892 + None, # 1893 + None, # 1894 + None, # 1895 + None, # 1896 + None, # 1897 + None, # 1898 + None, # 1899 + None, # 1900 + None, # 1901 + None, # 1902 + None, # 1903 + None, # 1904 + None, # 1905 + None, # 1906 + None, # 1907 + None, # 1908 + None, # 1909 + None, # 1910 + None, # 1911 + None, # 1912 + None, # 1913 + None, # 1914 + None, # 1915 + None, # 1916 + None, # 1917 + None, # 1918 + None, # 1919 + None, # 1920 + None, # 1921 + None, # 1922 + None, # 1923 + None, # 1924 + None, # 1925 + None, # 1926 + None, # 1927 + None, # 1928 + None, # 1929 + None, # 1930 + None, # 1931 + None, # 1932 + None, # 1933 + None, # 1934 + None, # 1935 + None, # 1936 + None, # 1937 + None, # 1938 + None, # 1939 + None, # 1940 + None, # 1941 + None, # 1942 + None, # 1943 + None, # 1944 + None, # 1945 + None, # 1946 + None, # 1947 + None, # 1948 + None, # 1949 + None, # 1950 + None, # 1951 + None, # 1952 + None, # 1953 + None, # 1954 + None, # 1955 + None, # 1956 + None, # 1957 + None, # 1958 + None, # 1959 + None, # 1960 + None, # 1961 + None, # 1962 + None, # 1963 + None, # 1964 + None, # 1965 + None, # 1966 + None, # 1967 + None, # 1968 + None, # 1969 + None, # 1970 + None, # 1971 + None, # 1972 + None, # 1973 + None, # 1974 + None, # 1975 + None, # 1976 + None, # 1977 + None, # 1978 + None, # 1979 + None, # 1980 + None, # 1981 + None, # 1982 + None, # 1983 + None, # 1984 + None, # 1985 + None, # 1986 + None, # 1987 + None, # 1988 + None, # 1989 + None, # 1990 + None, # 1991 + None, # 1992 + None, # 1993 + None, # 1994 + None, # 1995 + None, # 1996 + None, # 1997 + None, # 1998 + None, # 1999 + None, # 2000 + None, # 2001 + None, # 2002 + None, # 2003 + None, # 2004 + None, # 2005 + None, # 2006 + None, # 2007 + None, # 2008 + None, # 2009 + None, # 2010 + None, # 2011 + None, # 2012 + None, # 2013 + None, # 2014 + None, # 2015 + None, # 2016 + None, # 2017 + None, # 2018 + None, # 2019 + None, # 2020 + None, # 2021 + None, # 2022 + None, # 2023 + None, # 2024 + None, # 2025 + None, # 2026 + None, # 2027 + None, # 2028 + None, # 2029 + None, # 2030 + None, # 2031 + None, # 2032 + None, # 2033 + None, # 2034 + None, # 2035 + None, # 2036 + None, # 2037 + None, # 2038 + None, # 2039 + None, # 2040 + None, # 2041 + None, # 2042 + None, # 2043 + None, # 2044 + None, # 2045 + None, # 2046 + None, # 2047 + None, # 2048 + None, # 2049 + None, # 2050 + None, # 2051 + None, # 2052 + None, # 2053 + None, # 2054 + None, # 2055 + None, # 2056 + None, # 2057 + None, # 2058 + None, # 2059 + None, # 2060 + None, # 2061 + None, # 2062 + None, # 2063 + None, # 2064 + None, # 2065 + None, # 2066 + None, # 2067 + None, # 2068 + None, # 2069 + None, # 2070 + None, # 2071 + None, # 2072 + None, # 2073 + None, # 2074 + None, # 2075 + None, # 2076 + None, # 2077 + None, # 2078 + None, # 2079 + None, # 2080 + None, # 2081 + None, # 2082 + None, # 2083 + None, # 2084 + None, # 2085 + None, # 2086 + None, # 2087 + None, # 2088 + None, # 2089 + None, # 2090 + None, # 2091 + None, # 2092 + None, # 2093 + None, # 2094 + None, # 2095 + None, # 2096 + None, # 2097 + None, # 2098 + None, # 2099 + None, # 2100 + None, # 2101 + None, # 2102 + None, # 2103 + None, # 2104 + None, # 2105 + None, # 2106 + None, # 2107 + None, # 2108 + None, # 2109 + None, # 2110 + None, # 2111 + None, # 2112 + None, # 2113 + None, # 2114 + None, # 2115 + None, # 2116 + None, # 2117 + None, # 2118 + None, # 2119 + None, # 2120 + None, # 2121 + None, # 2122 + None, # 2123 + None, # 2124 + None, # 2125 + None, # 2126 + None, # 2127 + None, # 2128 + None, # 2129 + None, # 2130 + None, # 2131 + None, # 2132 + None, # 2133 + None, # 2134 + None, # 2135 + None, # 2136 + None, # 2137 + None, # 2138 + None, # 2139 + None, # 2140 + None, # 2141 + None, # 2142 + None, # 2143 + None, # 2144 + None, # 2145 + None, # 2146 + None, # 2147 + None, # 2148 + None, # 2149 + None, # 2150 + None, # 2151 + None, # 2152 + None, # 2153 + None, # 2154 + None, # 2155 + None, # 2156 + None, # 2157 + None, # 2158 + None, # 2159 + None, # 2160 + None, # 2161 + None, # 2162 + None, # 2163 + None, # 2164 + None, # 2165 + None, # 2166 + None, # 2167 + None, # 2168 + None, # 2169 + None, # 2170 + None, # 2171 + None, # 2172 + None, # 2173 + None, # 2174 + None, # 2175 + None, # 2176 + None, # 2177 + None, # 2178 + None, # 2179 + None, # 2180 + None, # 2181 + None, # 2182 + None, # 2183 + None, # 2184 + None, # 2185 + None, # 2186 + None, # 2187 + None, # 2188 + None, # 2189 + None, # 2190 + None, # 2191 + None, # 2192 + None, # 2193 + None, # 2194 + None, # 2195 + None, # 2196 + None, # 2197 + None, # 2198 + None, # 2199 + None, # 2200 + None, # 2201 + None, # 2202 + None, # 2203 + None, # 2204 + None, # 2205 + None, # 2206 + None, # 2207 + None, # 2208 + None, # 2209 + None, # 2210 + None, # 2211 + None, # 2212 + None, # 2213 + None, # 2214 + None, # 2215 + None, # 2216 + None, # 2217 + None, # 2218 + None, # 2219 + None, # 2220 + None, # 2221 + None, # 2222 + None, # 2223 + None, # 2224 + None, # 2225 + None, # 2226 + None, # 2227 + None, # 2228 + None, # 2229 + None, # 2230 + None, # 2231 + None, # 2232 + None, # 2233 + None, # 2234 + None, # 2235 + None, # 2236 + None, # 2237 + None, # 2238 + None, # 2239 + None, # 2240 + None, # 2241 + None, # 2242 + None, # 2243 + None, # 2244 + None, # 2245 + None, # 2246 + None, # 2247 + None, # 2248 + None, # 2249 + None, # 2250 + None, # 2251 + None, # 2252 + None, # 2253 + None, # 2254 + None, # 2255 + None, # 2256 + None, # 2257 + None, # 2258 + None, # 2259 + None, # 2260 + None, # 2261 + None, # 2262 + None, # 2263 + None, # 2264 + None, # 2265 + None, # 2266 + None, # 2267 + None, # 2268 + None, # 2269 + None, # 2270 + None, # 2271 + None, # 2272 + None, # 2273 + None, # 2274 + None, # 2275 + None, # 2276 + None, # 2277 + None, # 2278 + None, # 2279 + None, # 2280 + None, # 2281 + None, # 2282 + None, # 2283 + None, # 2284 + None, # 2285 + None, # 2286 + None, # 2287 + None, # 2288 + None, # 2289 + None, # 2290 + None, # 2291 + None, # 2292 + None, # 2293 + None, # 2294 + None, # 2295 + None, # 2296 + None, # 2297 + None, # 2298 + None, # 2299 + None, # 2300 + None, # 2301 + None, # 2302 + None, # 2303 + None, # 2304 + None, # 2305 + None, # 2306 + None, # 2307 + None, # 2308 + None, # 2309 + None, # 2310 + None, # 2311 + None, # 2312 + None, # 2313 + None, # 2314 + None, # 2315 + None, # 2316 + None, # 2317 + None, # 2318 + None, # 2319 + None, # 2320 + None, # 2321 + None, # 2322 + None, # 2323 + None, # 2324 + None, # 2325 + None, # 2326 + None, # 2327 + None, # 2328 + None, # 2329 + None, # 2330 + None, # 2331 + None, # 2332 + None, # 2333 + None, # 2334 + None, # 2335 + None, # 2336 + None, # 2337 + None, # 2338 + None, # 2339 + None, # 2340 + None, # 2341 + None, # 2342 + None, # 2343 + None, # 2344 + None, # 2345 + None, # 2346 + None, # 2347 + None, # 2348 + None, # 2349 + None, # 2350 + None, # 2351 + None, # 2352 + None, # 2353 + None, # 2354 + None, # 2355 + None, # 2356 + None, # 2357 + None, # 2358 + None, # 2359 + None, # 2360 + None, # 2361 + None, # 2362 + None, # 2363 + None, # 2364 + None, # 2365 + None, # 2366 + None, # 2367 + None, # 2368 + None, # 2369 + None, # 2370 + None, # 2371 + None, # 2372 + None, # 2373 + None, # 2374 + None, # 2375 + None, # 2376 + None, # 2377 + None, # 2378 + None, # 2379 + None, # 2380 + None, # 2381 + None, # 2382 + None, # 2383 + None, # 2384 + None, # 2385 + None, # 2386 + None, # 2387 + None, # 2388 + None, # 2389 + None, # 2390 + None, # 2391 + None, # 2392 + None, # 2393 + None, # 2394 + None, # 2395 + None, # 2396 + None, # 2397 + None, # 2398 + None, # 2399 + None, # 2400 + None, # 2401 + None, # 2402 + None, # 2403 + None, # 2404 + None, # 2405 + None, # 2406 + None, # 2407 + None, # 2408 + None, # 2409 + None, # 2410 + None, # 2411 + None, # 2412 + None, # 2413 + None, # 2414 + None, # 2415 + None, # 2416 + None, # 2417 + None, # 2418 + None, # 2419 + None, # 2420 + None, # 2421 + None, # 2422 + None, # 2423 + None, # 2424 + None, # 2425 + None, # 2426 + None, # 2427 + None, # 2428 + None, # 2429 + None, # 2430 + None, # 2431 + None, # 2432 + None, # 2433 + None, # 2434 + None, # 2435 + None, # 2436 + None, # 2437 + None, # 2438 + None, # 2439 + None, # 2440 + None, # 2441 + None, # 2442 + None, # 2443 + None, # 2444 + None, # 2445 + None, # 2446 + None, # 2447 + None, # 2448 + None, # 2449 + None, # 2450 + None, # 2451 + None, # 2452 + None, # 2453 + None, # 2454 + None, # 2455 + None, # 2456 + None, # 2457 + None, # 2458 + None, # 2459 + None, # 2460 + None, # 2461 + None, # 2462 + None, # 2463 + None, # 2464 + None, # 2465 + None, # 2466 + None, # 2467 + None, # 2468 + None, # 2469 + None, # 2470 + None, # 2471 + None, # 2472 + None, # 2473 + None, # 2474 + None, # 2475 + None, # 2476 + None, # 2477 + None, # 2478 + None, # 2479 + None, # 2480 + None, # 2481 + None, # 2482 + None, # 2483 + None, # 2484 + None, # 2485 + None, # 2486 + None, # 2487 + None, # 2488 + None, # 2489 + None, # 2490 + None, # 2491 + None, # 2492 + None, # 2493 + None, # 2494 + None, # 2495 + None, # 2496 + None, # 2497 + None, # 2498 + None, # 2499 + None, # 2500 + None, # 2501 + None, # 2502 + None, # 2503 + None, # 2504 + None, # 2505 + None, # 2506 + None, # 2507 + None, # 2508 + None, # 2509 + None, # 2510 + None, # 2511 + None, # 2512 + None, # 2513 + None, # 2514 + None, # 2515 + None, # 2516 + None, # 2517 + None, # 2518 + None, # 2519 + None, # 2520 + None, # 2521 + None, # 2522 + None, # 2523 + None, # 2524 + None, # 2525 + None, # 2526 + None, # 2527 + None, # 2528 + None, # 2529 + None, # 2530 + None, # 2531 + None, # 2532 + None, # 2533 + None, # 2534 + None, # 2535 + None, # 2536 + None, # 2537 + None, # 2538 + None, # 2539 + None, # 2540 + None, # 2541 + None, # 2542 + None, # 2543 + None, # 2544 + None, # 2545 + None, # 2546 + None, # 2547 + None, # 2548 + None, # 2549 + None, # 2550 + None, # 2551 + None, # 2552 + None, # 2553 + None, # 2554 + None, # 2555 + None, # 2556 + None, # 2557 + None, # 2558 + None, # 2559 + None, # 2560 + None, # 2561 + None, # 2562 + None, # 2563 + None, # 2564 + None, # 2565 + None, # 2566 + None, # 2567 + None, # 2568 + None, # 2569 + None, # 2570 + None, # 2571 + None, # 2572 + None, # 2573 + None, # 2574 + None, # 2575 + None, # 2576 + None, # 2577 + None, # 2578 + None, # 2579 + None, # 2580 + None, # 2581 + None, # 2582 + None, # 2583 + None, # 2584 + None, # 2585 + None, # 2586 + None, # 2587 + None, # 2588 + None, # 2589 + None, # 2590 + None, # 2591 + None, # 2592 + None, # 2593 + None, # 2594 + None, # 2595 + None, # 2596 + None, # 2597 + None, # 2598 + None, # 2599 + None, # 2600 + None, # 2601 + None, # 2602 + None, # 2603 + None, # 2604 + None, # 2605 + None, # 2606 + None, # 2607 + None, # 2608 + None, # 2609 + None, # 2610 + None, # 2611 + None, # 2612 + None, # 2613 + None, # 2614 + None, # 2615 + None, # 2616 + None, # 2617 + None, # 2618 + None, # 2619 + None, # 2620 + None, # 2621 + None, # 2622 + None, # 2623 + None, # 2624 + None, # 2625 + None, # 2626 + None, # 2627 + None, # 2628 + None, # 2629 + None, # 2630 + None, # 2631 + None, # 2632 + None, # 2633 + None, # 2634 + None, # 2635 + None, # 2636 + None, # 2637 + None, # 2638 + None, # 2639 + None, # 2640 + None, # 2641 + None, # 2642 + None, # 2643 + None, # 2644 + None, # 2645 + None, # 2646 + None, # 2647 + None, # 2648 + None, # 2649 + None, # 2650 + None, # 2651 + None, # 2652 + None, # 2653 + None, # 2654 + None, # 2655 + None, # 2656 + None, # 2657 + None, # 2658 + None, # 2659 + None, # 2660 + None, # 2661 + None, # 2662 + None, # 2663 + None, # 2664 + None, # 2665 + None, # 2666 + None, # 2667 + None, # 2668 + None, # 2669 + None, # 2670 + None, # 2671 + None, # 2672 + None, # 2673 + None, # 2674 + None, # 2675 + None, # 2676 + None, # 2677 + None, # 2678 + None, # 2679 + None, # 2680 + None, # 2681 + None, # 2682 + None, # 2683 + None, # 2684 + None, # 2685 + None, # 2686 + None, # 2687 + None, # 2688 + None, # 2689 + None, # 2690 + None, # 2691 + None, # 2692 + None, # 2693 + None, # 2694 + None, # 2695 + None, # 2696 + None, # 2697 + None, # 2698 + None, # 2699 + None, # 2700 + None, # 2701 + None, # 2702 + None, # 2703 + None, # 2704 + None, # 2705 + None, # 2706 + None, # 2707 + None, # 2708 + None, # 2709 + None, # 2710 + None, # 2711 + None, # 2712 + None, # 2713 + None, # 2714 + None, # 2715 + None, # 2716 + None, # 2717 + None, # 2718 + None, # 2719 + None, # 2720 + None, # 2721 + None, # 2722 + None, # 2723 + None, # 2724 + None, # 2725 + None, # 2726 + None, # 2727 + None, # 2728 + None, # 2729 + None, # 2730 + None, # 2731 + None, # 2732 + None, # 2733 + None, # 2734 + None, # 2735 + None, # 2736 + None, # 2737 + None, # 2738 + None, # 2739 + None, # 2740 + None, # 2741 + None, # 2742 + None, # 2743 + None, # 2744 + None, # 2745 + None, # 2746 + None, # 2747 + None, # 2748 + None, # 2749 + None, # 2750 + None, # 2751 + None, # 2752 + None, # 2753 + None, # 2754 + None, # 2755 + None, # 2756 + None, # 2757 + None, # 2758 + None, # 2759 + None, # 2760 + None, # 2761 + None, # 2762 + None, # 2763 + None, # 2764 + None, # 2765 + None, # 2766 + None, # 2767 + None, # 2768 + None, # 2769 + None, # 2770 + None, # 2771 + None, # 2772 + None, # 2773 + None, # 2774 + None, # 2775 + None, # 2776 + None, # 2777 + None, # 2778 + None, # 2779 + None, # 2780 + None, # 2781 + None, # 2782 + None, # 2783 + None, # 2784 + None, # 2785 + None, # 2786 + None, # 2787 + None, # 2788 + None, # 2789 + None, # 2790 + None, # 2791 + None, # 2792 + None, # 2793 + None, # 2794 + None, # 2795 + None, # 2796 + None, # 2797 + None, # 2798 + None, # 2799 + None, # 2800 + None, # 2801 + None, # 2802 + None, # 2803 + None, # 2804 + None, # 2805 + None, # 2806 + None, # 2807 + None, # 2808 + None, # 2809 + None, # 2810 + None, # 2811 + None, # 2812 + None, # 2813 + None, # 2814 + None, # 2815 + None, # 2816 + None, # 2817 + None, # 2818 + None, # 2819 + None, # 2820 + None, # 2821 + None, # 2822 + None, # 2823 + None, # 2824 + None, # 2825 + None, # 2826 + None, # 2827 + None, # 2828 + None, # 2829 + None, # 2830 + None, # 2831 + None, # 2832 + None, # 2833 + None, # 2834 + None, # 2835 + None, # 2836 + None, # 2837 + None, # 2838 + None, # 2839 + None, # 2840 + None, # 2841 + None, # 2842 + None, # 2843 + None, # 2844 + None, # 2845 + None, # 2846 + None, # 2847 + None, # 2848 + None, # 2849 + None, # 2850 + None, # 2851 + None, # 2852 + None, # 2853 + None, # 2854 + None, # 2855 + None, # 2856 + None, # 2857 + None, # 2858 + None, # 2859 + None, # 2860 + None, # 2861 + None, # 2862 + None, # 2863 + None, # 2864 + None, # 2865 + None, # 2866 + None, # 2867 + None, # 2868 + None, # 2869 + None, # 2870 + None, # 2871 + None, # 2872 + None, # 2873 + None, # 2874 + None, # 2875 + None, # 2876 + None, # 2877 + None, # 2878 + None, # 2879 + None, # 2880 + None, # 2881 + None, # 2882 + None, # 2883 + None, # 2884 + None, # 2885 + None, # 2886 + None, # 2887 + None, # 2888 + None, # 2889 + None, # 2890 + None, # 2891 + None, # 2892 + None, # 2893 + None, # 2894 + None, # 2895 + None, # 2896 + None, # 2897 + None, # 2898 + None, # 2899 + None, # 2900 + None, # 2901 + None, # 2902 + None, # 2903 + None, # 2904 + None, # 2905 + None, # 2906 + None, # 2907 + None, # 2908 + None, # 2909 + None, # 2910 + None, # 2911 + None, # 2912 + None, # 2913 + None, # 2914 + None, # 2915 + None, # 2916 + None, # 2917 + None, # 2918 + None, # 2919 + None, # 2920 + None, # 2921 + None, # 2922 + None, # 2923 + None, # 2924 + None, # 2925 + None, # 2926 + None, # 2927 + None, # 2928 + None, # 2929 + None, # 2930 + None, # 2931 + None, # 2932 + None, # 2933 + None, # 2934 + None, # 2935 + None, # 2936 + None, # 2937 + None, # 2938 + None, # 2939 + None, # 2940 + None, # 2941 + None, # 2942 + None, # 2943 + None, # 2944 + None, # 2945 + None, # 2946 + None, # 2947 + None, # 2948 + None, # 2949 + None, # 2950 + None, # 2951 + None, # 2952 + None, # 2953 + None, # 2954 + None, # 2955 + None, # 2956 + None, # 2957 + None, # 2958 + None, # 2959 + None, # 2960 + None, # 2961 + None, # 2962 + None, # 2963 + None, # 2964 + None, # 2965 + None, # 2966 + None, # 2967 + None, # 2968 + None, # 2969 + None, # 2970 + None, # 2971 + None, # 2972 + None, # 2973 + None, # 2974 + None, # 2975 + None, # 2976 + None, # 2977 + None, # 2978 + None, # 2979 + None, # 2980 + None, # 2981 + None, # 2982 + None, # 2983 + None, # 2984 + None, # 2985 + None, # 2986 + None, # 2987 + None, # 2988 + None, # 2989 + None, # 2990 + None, # 2991 + None, # 2992 + None, # 2993 + None, # 2994 + None, # 2995 + None, # 2996 + None, # 2997 + None, # 2998 + None, # 2999 + None, # 3000 + None, # 3001 + None, # 3002 + None, # 3003 + None, # 3004 + None, # 3005 + None, # 3006 + None, # 3007 + None, # 3008 + None, # 3009 + None, # 3010 + None, # 3011 + None, # 3012 + None, # 3013 + None, # 3014 + None, # 3015 + None, # 3016 + None, # 3017 + None, # 3018 + None, # 3019 + None, # 3020 + None, # 3021 + None, # 3022 + None, # 3023 + None, # 3024 + None, # 3025 + None, # 3026 + None, # 3027 + None, # 3028 + None, # 3029 + None, # 3030 + None, # 3031 + None, # 3032 + None, # 3033 + None, # 3034 + None, # 3035 + None, # 3036 + None, # 3037 + None, # 3038 + None, # 3039 + None, # 3040 + None, # 3041 + None, # 3042 + None, # 3043 + None, # 3044 + None, # 3045 + None, # 3046 + None, # 3047 + None, # 3048 + None, # 3049 + None, # 3050 + None, # 3051 + None, # 3052 + None, # 3053 + None, # 3054 + None, # 3055 + None, # 3056 + None, # 3057 + None, # 3058 + None, # 3059 + None, # 3060 + None, # 3061 + None, # 3062 + None, # 3063 + None, # 3064 + None, # 3065 + None, # 3066 + None, # 3067 + None, # 3068 + None, # 3069 + None, # 3070 + None, # 3071 + None, # 3072 + None, # 3073 + None, # 3074 + None, # 3075 + None, # 3076 + None, # 3077 + None, # 3078 + None, # 3079 + None, # 3080 + None, # 3081 + None, # 3082 + None, # 3083 + None, # 3084 + None, # 3085 + None, # 3086 + None, # 3087 + None, # 3088 + None, # 3089 + None, # 3090 + None, # 3091 + None, # 3092 + None, # 3093 + None, # 3094 + None, # 3095 + None, # 3096 + None, # 3097 + None, # 3098 + None, # 3099 + None, # 3100 + None, # 3101 + None, # 3102 + None, # 3103 + None, # 3104 + None, # 3105 + None, # 3106 + None, # 3107 + None, # 3108 + None, # 3109 + None, # 3110 + None, # 3111 + None, # 3112 + None, # 3113 + None, # 3114 + None, # 3115 + None, # 3116 + None, # 3117 + None, # 3118 + None, # 3119 + None, # 3120 + None, # 3121 + None, # 3122 + None, # 3123 + None, # 3124 + None, # 3125 + None, # 3126 + None, # 3127 + None, # 3128 + None, # 3129 + None, # 3130 + None, # 3131 + None, # 3132 + None, # 3133 + None, # 3134 + None, # 3135 + None, # 3136 + None, # 3137 + None, # 3138 + None, # 3139 + None, # 3140 + None, # 3141 + None, # 3142 + None, # 3143 + None, # 3144 + None, # 3145 + None, # 3146 + None, # 3147 + None, # 3148 + None, # 3149 + None, # 3150 + None, # 3151 + None, # 3152 + None, # 3153 + None, # 3154 + None, # 3155 + None, # 3156 + None, # 3157 + None, # 3158 + None, # 3159 + None, # 3160 + None, # 3161 + None, # 3162 + None, # 3163 + None, # 3164 + None, # 3165 + None, # 3166 + None, # 3167 + None, # 3168 + None, # 3169 + None, # 3170 + None, # 3171 + None, # 3172 + None, # 3173 + None, # 3174 + None, # 3175 + None, # 3176 + None, # 3177 + None, # 3178 + None, # 3179 + None, # 3180 + None, # 3181 + None, # 3182 + None, # 3183 + None, # 3184 + None, # 3185 + None, # 3186 + None, # 3187 + None, # 3188 + None, # 3189 + None, # 3190 + None, # 3191 + None, # 3192 + None, # 3193 + None, # 3194 + None, # 3195 + None, # 3196 + None, # 3197 + None, # 3198 + None, # 3199 + None, # 3200 + None, # 3201 + None, # 3202 + None, # 3203 + None, # 3204 + None, # 3205 + None, # 3206 + None, # 3207 + None, # 3208 + None, # 3209 + None, # 3210 + None, # 3211 + None, # 3212 + None, # 3213 + None, # 3214 + None, # 3215 + None, # 3216 + None, # 3217 + None, # 3218 + None, # 3219 + None, # 3220 + None, # 3221 + None, # 3222 + None, # 3223 + None, # 3224 + None, # 3225 + None, # 3226 + None, # 3227 + None, # 3228 + None, # 3229 + None, # 3230 + None, # 3231 + None, # 3232 + None, # 3233 + None, # 3234 + None, # 3235 + None, # 3236 + None, # 3237 + None, # 3238 + None, # 3239 + None, # 3240 + None, # 3241 + None, # 3242 + None, # 3243 + None, # 3244 + None, # 3245 + None, # 3246 + None, # 3247 + None, # 3248 + None, # 3249 + None, # 3250 + None, # 3251 + None, # 3252 + None, # 3253 + None, # 3254 + None, # 3255 + None, # 3256 + None, # 3257 + None, # 3258 + None, # 3259 + None, # 3260 + None, # 3261 + None, # 3262 + None, # 3263 + None, # 3264 + None, # 3265 + None, # 3266 + None, # 3267 + None, # 3268 + None, # 3269 + None, # 3270 + None, # 3271 + None, # 3272 + None, # 3273 + None, # 3274 + None, # 3275 + None, # 3276 + None, # 3277 + None, # 3278 + None, # 3279 + None, # 3280 + None, # 3281 + None, # 3282 + None, # 3283 + None, # 3284 + None, # 3285 + None, # 3286 + None, # 3287 + None, # 3288 + None, # 3289 + None, # 3290 + None, # 3291 + None, # 3292 + None, # 3293 + None, # 3294 + None, # 3295 + None, # 3296 + None, # 3297 + None, # 3298 + None, # 3299 + None, # 3300 + None, # 3301 + None, # 3302 + None, # 3303 + None, # 3304 + None, # 3305 + None, # 3306 + None, # 3307 + None, # 3308 + None, # 3309 + None, # 3310 + None, # 3311 + None, # 3312 + None, # 3313 + None, # 3314 + None, # 3315 + None, # 3316 + None, # 3317 + None, # 3318 + None, # 3319 + None, # 3320 + None, # 3321 + None, # 3322 + None, # 3323 + None, # 3324 + None, # 3325 + None, # 3326 + None, # 3327 + None, # 3328 + (3329, TType.STRUCT, 'operationId', [THandleIdentifier, None], None, ), # 3329 + (3330, TType.STRUCT, 'sessionConf', [TDBSqlSessionConf, None], None, ), # 3330 + (3331, TType.BOOL, 'rejectHighCostQueries', None, None, ), # 3331 + (3332, TType.DOUBLE, 'estimatedCost', None, None, ), # 3332 + (3333, TType.I16, 'executionVersion', None, None, ), # 3333 + (3334, TType.STRING, 'requestValidation', 'BINARY', None, ), # 3334 + (3335, TType.I32, 'resultPersistenceMode', None, None, ), # 3335 + (3336, TType.BOOL, 'trimArrowBatchesToLimit', None, None, ), # 3336 + (3337, TType.I32, 'fetchDisposition', None, None, ), # 3337 + None, # 3338 + None, # 3339 + None, # 3340 + None, # 3341 + None, # 3342 + None, # 3343 + (3344, TType.BOOL, 'enforceResultPersistenceMode', None, None, ), # 3344 + (3345, TType.LIST, 'statementList', (TType.STRUCT, [TDBSqlStatement, None], False), None, ), # 3345 + (3346, TType.BOOL, 'persistResultManifest', None, None, ), # 3346 + (3347, TType.I64, 'resultRetentionSeconds', None, None, ), # 3347 + (3348, TType.I64, 'resultByteLimit', None, None, ), # 3348 + (3349, TType.STRUCT, 'resultDataFormat', [TDBSqlResultFormat, None], None, ), # 3349 + (3350, TType.STRING, 'originatingClientIdentity', 'UTF8', None, ), # 3350 + (3351, TType.BOOL, 'preferSingleFileResult', None, None, ), # 3351 + (3352, TType.BOOL, 'preferDriverOnlyUpload', None, None, ), # 3352 + (3353, TType.BOOL, 'enforceEmbeddedSchemaCorrectness', None, False, ), # 3353 + None, # 3354 + None, # 3355 + None, # 3356 + None, # 3357 + None, # 3358 + None, # 3359 + (3360, TType.STRING, 'idempotencyToken', 'UTF8', None, ), # 3360 + (3361, TType.BOOL, 'throwErrorOnByteLimitTruncation', None, None, ), # 3361 ) all_structs.append(TDBSqlStatement) TDBSqlStatement.thrift_spec = ( - None, # 0 - (1, TType.STRING, 'statement', 'UTF8', None, ), # 1 + None, # 0 + (1, TType.STRING, 'statement', 'UTF8', None, ), # 1 ) all_structs.append(TSparkParameterValue) TSparkParameterValue.thrift_spec = ( - None, # 0 - (1, TType.STRING, 'stringValue', 'UTF8', None, ), # 1 - (2, TType.DOUBLE, 'doubleValue', None, None, ), # 2 - (3, TType.BOOL, 'booleanValue', None, None, ), # 3 + None, # 0 + (1, TType.STRING, 'stringValue', 'UTF8', None, ), # 1 + (2, TType.DOUBLE, 'doubleValue', None, None, ), # 2 + (3, TType.BOOL, 'booleanValue', None, None, ), # 3 ) all_structs.append(TSparkParameter) TSparkParameter.thrift_spec = ( - None, # 0 - (1, TType.I32, 'ordinal', None, None, ), # 1 - (2, TType.STRING, 'name', 'UTF8', None, ), # 2 - (3, TType.STRING, 'type', 'UTF8', None, ), # 3 - (4, TType.STRUCT, 'value', [TSparkParameterValue, None], None, ), # 4 + None, # 0 + (1, TType.I32, 'ordinal', None, None, ), # 1 + (2, TType.STRING, 'name', 'UTF8', None, ), # 2 + (3, TType.STRING, 'type', 'UTF8', None, ), # 3 + (4, TType.STRUCT, 'value', [TSparkParameterValue, None], None, ), # 4 ) all_structs.append(TStatementConf) TStatementConf.thrift_spec = ( - None, # 0 - (1, TType.BOOL, 'sessionless', None, None, ), # 1 - (2, TType.STRUCT, 'initialNamespace', [TNamespace, None], None, ), # 2 - (3, TType.I32, 'client_protocol', None, None, ), # 3 - (4, TType.I64, 'client_protocol_i64', None, None, ), # 4 + None, # 0 + (1, TType.BOOL, 'sessionless', None, None, ), # 1 + (2, TType.STRUCT, 'initialNamespace', [TNamespace, None], None, ), # 2 + (3, TType.I32, 'client_protocol', None, None, ), # 3 + (4, TType.I64, 'client_protocol_i64', None, None, ), # 4 ) all_structs.append(TExecuteStatementResp) TExecuteStatementResp.thrift_spec = ( - None, # 0 - (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 - (2, TType.STRUCT, 'operationHandle', [TOperationHandle, None], None, ), # 2 - None, # 3 - None, # 4 - None, # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - (1281, TType.STRUCT, 'directResults', [TSparkDirectResults, None], None, ), # 1281 - None, # 1282 - None, # 1283 - None, # 1284 - None, # 1285 - None, # 1286 - None, # 1287 - None, # 1288 - None, # 1289 - None, # 1290 - None, # 1291 - None, # 1292 - None, # 1293 - None, # 1294 - None, # 1295 - None, # 1296 - None, # 1297 - None, # 1298 - None, # 1299 - None, # 1300 - None, # 1301 - None, # 1302 - None, # 1303 - None, # 1304 - None, # 1305 - None, # 1306 - None, # 1307 - None, # 1308 - None, # 1309 - None, # 1310 - None, # 1311 - None, # 1312 - None, # 1313 - None, # 1314 - None, # 1315 - None, # 1316 - None, # 1317 - None, # 1318 - None, # 1319 - None, # 1320 - None, # 1321 - None, # 1322 - None, # 1323 - None, # 1324 - None, # 1325 - None, # 1326 - None, # 1327 - None, # 1328 - None, # 1329 - None, # 1330 - None, # 1331 - None, # 1332 - None, # 1333 - None, # 1334 - None, # 1335 - None, # 1336 - None, # 1337 - None, # 1338 - None, # 1339 - None, # 1340 - None, # 1341 - None, # 1342 - None, # 1343 - None, # 1344 - None, # 1345 - None, # 1346 - None, # 1347 - None, # 1348 - None, # 1349 - None, # 1350 - None, # 1351 - None, # 1352 - None, # 1353 - None, # 1354 - None, # 1355 - None, # 1356 - None, # 1357 - None, # 1358 - None, # 1359 - None, # 1360 - None, # 1361 - None, # 1362 - None, # 1363 - None, # 1364 - None, # 1365 - None, # 1366 - None, # 1367 - None, # 1368 - None, # 1369 - None, # 1370 - None, # 1371 - None, # 1372 - None, # 1373 - None, # 1374 - None, # 1375 - None, # 1376 - None, # 1377 - None, # 1378 - None, # 1379 - None, # 1380 - None, # 1381 - None, # 1382 - None, # 1383 - None, # 1384 - None, # 1385 - None, # 1386 - None, # 1387 - None, # 1388 - None, # 1389 - None, # 1390 - None, # 1391 - None, # 1392 - None, # 1393 - None, # 1394 - None, # 1395 - None, # 1396 - None, # 1397 - None, # 1398 - None, # 1399 - None, # 1400 - None, # 1401 - None, # 1402 - None, # 1403 - None, # 1404 - None, # 1405 - None, # 1406 - None, # 1407 - None, # 1408 - None, # 1409 - None, # 1410 - None, # 1411 - None, # 1412 - None, # 1413 - None, # 1414 - None, # 1415 - None, # 1416 - None, # 1417 - None, # 1418 - None, # 1419 - None, # 1420 - None, # 1421 - None, # 1422 - None, # 1423 - None, # 1424 - None, # 1425 - None, # 1426 - None, # 1427 - None, # 1428 - None, # 1429 - None, # 1430 - None, # 1431 - None, # 1432 - None, # 1433 - None, # 1434 - None, # 1435 - None, # 1436 - None, # 1437 - None, # 1438 - None, # 1439 - None, # 1440 - None, # 1441 - None, # 1442 - None, # 1443 - None, # 1444 - None, # 1445 - None, # 1446 - None, # 1447 - None, # 1448 - None, # 1449 - None, # 1450 - None, # 1451 - None, # 1452 - None, # 1453 - None, # 1454 - None, # 1455 - None, # 1456 - None, # 1457 - None, # 1458 - None, # 1459 - None, # 1460 - None, # 1461 - None, # 1462 - None, # 1463 - None, # 1464 - None, # 1465 - None, # 1466 - None, # 1467 - None, # 1468 - None, # 1469 - None, # 1470 - None, # 1471 - None, # 1472 - None, # 1473 - None, # 1474 - None, # 1475 - None, # 1476 - None, # 1477 - None, # 1478 - None, # 1479 - None, # 1480 - None, # 1481 - None, # 1482 - None, # 1483 - None, # 1484 - None, # 1485 - None, # 1486 - None, # 1487 - None, # 1488 - None, # 1489 - None, # 1490 - None, # 1491 - None, # 1492 - None, # 1493 - None, # 1494 - None, # 1495 - None, # 1496 - None, # 1497 - None, # 1498 - None, # 1499 - None, # 1500 - None, # 1501 - None, # 1502 - None, # 1503 - None, # 1504 - None, # 1505 - None, # 1506 - None, # 1507 - None, # 1508 - None, # 1509 - None, # 1510 - None, # 1511 - None, # 1512 - None, # 1513 - None, # 1514 - None, # 1515 - None, # 1516 - None, # 1517 - None, # 1518 - None, # 1519 - None, # 1520 - None, # 1521 - None, # 1522 - None, # 1523 - None, # 1524 - None, # 1525 - None, # 1526 - None, # 1527 - None, # 1528 - None, # 1529 - None, # 1530 - None, # 1531 - None, # 1532 - None, # 1533 - None, # 1534 - None, # 1535 - None, # 1536 - None, # 1537 - None, # 1538 - None, # 1539 - None, # 1540 - None, # 1541 - None, # 1542 - None, # 1543 - None, # 1544 - None, # 1545 - None, # 1546 - None, # 1547 - None, # 1548 - None, # 1549 - None, # 1550 - None, # 1551 - None, # 1552 - None, # 1553 - None, # 1554 - None, # 1555 - None, # 1556 - None, # 1557 - None, # 1558 - None, # 1559 - None, # 1560 - None, # 1561 - None, # 1562 - None, # 1563 - None, # 1564 - None, # 1565 - None, # 1566 - None, # 1567 - None, # 1568 - None, # 1569 - None, # 1570 - None, # 1571 - None, # 1572 - None, # 1573 - None, # 1574 - None, # 1575 - None, # 1576 - None, # 1577 - None, # 1578 - None, # 1579 - None, # 1580 - None, # 1581 - None, # 1582 - None, # 1583 - None, # 1584 - None, # 1585 - None, # 1586 - None, # 1587 - None, # 1588 - None, # 1589 - None, # 1590 - None, # 1591 - None, # 1592 - None, # 1593 - None, # 1594 - None, # 1595 - None, # 1596 - None, # 1597 - None, # 1598 - None, # 1599 - None, # 1600 - None, # 1601 - None, # 1602 - None, # 1603 - None, # 1604 - None, # 1605 - None, # 1606 - None, # 1607 - None, # 1608 - None, # 1609 - None, # 1610 - None, # 1611 - None, # 1612 - None, # 1613 - None, # 1614 - None, # 1615 - None, # 1616 - None, # 1617 - None, # 1618 - None, # 1619 - None, # 1620 - None, # 1621 - None, # 1622 - None, # 1623 - None, # 1624 - None, # 1625 - None, # 1626 - None, # 1627 - None, # 1628 - None, # 1629 - None, # 1630 - None, # 1631 - None, # 1632 - None, # 1633 - None, # 1634 - None, # 1635 - None, # 1636 - None, # 1637 - None, # 1638 - None, # 1639 - None, # 1640 - None, # 1641 - None, # 1642 - None, # 1643 - None, # 1644 - None, # 1645 - None, # 1646 - None, # 1647 - None, # 1648 - None, # 1649 - None, # 1650 - None, # 1651 - None, # 1652 - None, # 1653 - None, # 1654 - None, # 1655 - None, # 1656 - None, # 1657 - None, # 1658 - None, # 1659 - None, # 1660 - None, # 1661 - None, # 1662 - None, # 1663 - None, # 1664 - None, # 1665 - None, # 1666 - None, # 1667 - None, # 1668 - None, # 1669 - None, # 1670 - None, # 1671 - None, # 1672 - None, # 1673 - None, # 1674 - None, # 1675 - None, # 1676 - None, # 1677 - None, # 1678 - None, # 1679 - None, # 1680 - None, # 1681 - None, # 1682 - None, # 1683 - None, # 1684 - None, # 1685 - None, # 1686 - None, # 1687 - None, # 1688 - None, # 1689 - None, # 1690 - None, # 1691 - None, # 1692 - None, # 1693 - None, # 1694 - None, # 1695 - None, # 1696 - None, # 1697 - None, # 1698 - None, # 1699 - None, # 1700 - None, # 1701 - None, # 1702 - None, # 1703 - None, # 1704 - None, # 1705 - None, # 1706 - None, # 1707 - None, # 1708 - None, # 1709 - None, # 1710 - None, # 1711 - None, # 1712 - None, # 1713 - None, # 1714 - None, # 1715 - None, # 1716 - None, # 1717 - None, # 1718 - None, # 1719 - None, # 1720 - None, # 1721 - None, # 1722 - None, # 1723 - None, # 1724 - None, # 1725 - None, # 1726 - None, # 1727 - None, # 1728 - None, # 1729 - None, # 1730 - None, # 1731 - None, # 1732 - None, # 1733 - None, # 1734 - None, # 1735 - None, # 1736 - None, # 1737 - None, # 1738 - None, # 1739 - None, # 1740 - None, # 1741 - None, # 1742 - None, # 1743 - None, # 1744 - None, # 1745 - None, # 1746 - None, # 1747 - None, # 1748 - None, # 1749 - None, # 1750 - None, # 1751 - None, # 1752 - None, # 1753 - None, # 1754 - None, # 1755 - None, # 1756 - None, # 1757 - None, # 1758 - None, # 1759 - None, # 1760 - None, # 1761 - None, # 1762 - None, # 1763 - None, # 1764 - None, # 1765 - None, # 1766 - None, # 1767 - None, # 1768 - None, # 1769 - None, # 1770 - None, # 1771 - None, # 1772 - None, # 1773 - None, # 1774 - None, # 1775 - None, # 1776 - None, # 1777 - None, # 1778 - None, # 1779 - None, # 1780 - None, # 1781 - None, # 1782 - None, # 1783 - None, # 1784 - None, # 1785 - None, # 1786 - None, # 1787 - None, # 1788 - None, # 1789 - None, # 1790 - None, # 1791 - None, # 1792 - None, # 1793 - None, # 1794 - None, # 1795 - None, # 1796 - None, # 1797 - None, # 1798 - None, # 1799 - None, # 1800 - None, # 1801 - None, # 1802 - None, # 1803 - None, # 1804 - None, # 1805 - None, # 1806 - None, # 1807 - None, # 1808 - None, # 1809 - None, # 1810 - None, # 1811 - None, # 1812 - None, # 1813 - None, # 1814 - None, # 1815 - None, # 1816 - None, # 1817 - None, # 1818 - None, # 1819 - None, # 1820 - None, # 1821 - None, # 1822 - None, # 1823 - None, # 1824 - None, # 1825 - None, # 1826 - None, # 1827 - None, # 1828 - None, # 1829 - None, # 1830 - None, # 1831 - None, # 1832 - None, # 1833 - None, # 1834 - None, # 1835 - None, # 1836 - None, # 1837 - None, # 1838 - None, # 1839 - None, # 1840 - None, # 1841 - None, # 1842 - None, # 1843 - None, # 1844 - None, # 1845 - None, # 1846 - None, # 1847 - None, # 1848 - None, # 1849 - None, # 1850 - None, # 1851 - None, # 1852 - None, # 1853 - None, # 1854 - None, # 1855 - None, # 1856 - None, # 1857 - None, # 1858 - None, # 1859 - None, # 1860 - None, # 1861 - None, # 1862 - None, # 1863 - None, # 1864 - None, # 1865 - None, # 1866 - None, # 1867 - None, # 1868 - None, # 1869 - None, # 1870 - None, # 1871 - None, # 1872 - None, # 1873 - None, # 1874 - None, # 1875 - None, # 1876 - None, # 1877 - None, # 1878 - None, # 1879 - None, # 1880 - None, # 1881 - None, # 1882 - None, # 1883 - None, # 1884 - None, # 1885 - None, # 1886 - None, # 1887 - None, # 1888 - None, # 1889 - None, # 1890 - None, # 1891 - None, # 1892 - None, # 1893 - None, # 1894 - None, # 1895 - None, # 1896 - None, # 1897 - None, # 1898 - None, # 1899 - None, # 1900 - None, # 1901 - None, # 1902 - None, # 1903 - None, # 1904 - None, # 1905 - None, # 1906 - None, # 1907 - None, # 1908 - None, # 1909 - None, # 1910 - None, # 1911 - None, # 1912 - None, # 1913 - None, # 1914 - None, # 1915 - None, # 1916 - None, # 1917 - None, # 1918 - None, # 1919 - None, # 1920 - None, # 1921 - None, # 1922 - None, # 1923 - None, # 1924 - None, # 1925 - None, # 1926 - None, # 1927 - None, # 1928 - None, # 1929 - None, # 1930 - None, # 1931 - None, # 1932 - None, # 1933 - None, # 1934 - None, # 1935 - None, # 1936 - None, # 1937 - None, # 1938 - None, # 1939 - None, # 1940 - None, # 1941 - None, # 1942 - None, # 1943 - None, # 1944 - None, # 1945 - None, # 1946 - None, # 1947 - None, # 1948 - None, # 1949 - None, # 1950 - None, # 1951 - None, # 1952 - None, # 1953 - None, # 1954 - None, # 1955 - None, # 1956 - None, # 1957 - None, # 1958 - None, # 1959 - None, # 1960 - None, # 1961 - None, # 1962 - None, # 1963 - None, # 1964 - None, # 1965 - None, # 1966 - None, # 1967 - None, # 1968 - None, # 1969 - None, # 1970 - None, # 1971 - None, # 1972 - None, # 1973 - None, # 1974 - None, # 1975 - None, # 1976 - None, # 1977 - None, # 1978 - None, # 1979 - None, # 1980 - None, # 1981 - None, # 1982 - None, # 1983 - None, # 1984 - None, # 1985 - None, # 1986 - None, # 1987 - None, # 1988 - None, # 1989 - None, # 1990 - None, # 1991 - None, # 1992 - None, # 1993 - None, # 1994 - None, # 1995 - None, # 1996 - None, # 1997 - None, # 1998 - None, # 1999 - None, # 2000 - None, # 2001 - None, # 2002 - None, # 2003 - None, # 2004 - None, # 2005 - None, # 2006 - None, # 2007 - None, # 2008 - None, # 2009 - None, # 2010 - None, # 2011 - None, # 2012 - None, # 2013 - None, # 2014 - None, # 2015 - None, # 2016 - None, # 2017 - None, # 2018 - None, # 2019 - None, # 2020 - None, # 2021 - None, # 2022 - None, # 2023 - None, # 2024 - None, # 2025 - None, # 2026 - None, # 2027 - None, # 2028 - None, # 2029 - None, # 2030 - None, # 2031 - None, # 2032 - None, # 2033 - None, # 2034 - None, # 2035 - None, # 2036 - None, # 2037 - None, # 2038 - None, # 2039 - None, # 2040 - None, # 2041 - None, # 2042 - None, # 2043 - None, # 2044 - None, # 2045 - None, # 2046 - None, # 2047 - None, # 2048 - None, # 2049 - None, # 2050 - None, # 2051 - None, # 2052 - None, # 2053 - None, # 2054 - None, # 2055 - None, # 2056 - None, # 2057 - None, # 2058 - None, # 2059 - None, # 2060 - None, # 2061 - None, # 2062 - None, # 2063 - None, # 2064 - None, # 2065 - None, # 2066 - None, # 2067 - None, # 2068 - None, # 2069 - None, # 2070 - None, # 2071 - None, # 2072 - None, # 2073 - None, # 2074 - None, # 2075 - None, # 2076 - None, # 2077 - None, # 2078 - None, # 2079 - None, # 2080 - None, # 2081 - None, # 2082 - None, # 2083 - None, # 2084 - None, # 2085 - None, # 2086 - None, # 2087 - None, # 2088 - None, # 2089 - None, # 2090 - None, # 2091 - None, # 2092 - None, # 2093 - None, # 2094 - None, # 2095 - None, # 2096 - None, # 2097 - None, # 2098 - None, # 2099 - None, # 2100 - None, # 2101 - None, # 2102 - None, # 2103 - None, # 2104 - None, # 2105 - None, # 2106 - None, # 2107 - None, # 2108 - None, # 2109 - None, # 2110 - None, # 2111 - None, # 2112 - None, # 2113 - None, # 2114 - None, # 2115 - None, # 2116 - None, # 2117 - None, # 2118 - None, # 2119 - None, # 2120 - None, # 2121 - None, # 2122 - None, # 2123 - None, # 2124 - None, # 2125 - None, # 2126 - None, # 2127 - None, # 2128 - None, # 2129 - None, # 2130 - None, # 2131 - None, # 2132 - None, # 2133 - None, # 2134 - None, # 2135 - None, # 2136 - None, # 2137 - None, # 2138 - None, # 2139 - None, # 2140 - None, # 2141 - None, # 2142 - None, # 2143 - None, # 2144 - None, # 2145 - None, # 2146 - None, # 2147 - None, # 2148 - None, # 2149 - None, # 2150 - None, # 2151 - None, # 2152 - None, # 2153 - None, # 2154 - None, # 2155 - None, # 2156 - None, # 2157 - None, # 2158 - None, # 2159 - None, # 2160 - None, # 2161 - None, # 2162 - None, # 2163 - None, # 2164 - None, # 2165 - None, # 2166 - None, # 2167 - None, # 2168 - None, # 2169 - None, # 2170 - None, # 2171 - None, # 2172 - None, # 2173 - None, # 2174 - None, # 2175 - None, # 2176 - None, # 2177 - None, # 2178 - None, # 2179 - None, # 2180 - None, # 2181 - None, # 2182 - None, # 2183 - None, # 2184 - None, # 2185 - None, # 2186 - None, # 2187 - None, # 2188 - None, # 2189 - None, # 2190 - None, # 2191 - None, # 2192 - None, # 2193 - None, # 2194 - None, # 2195 - None, # 2196 - None, # 2197 - None, # 2198 - None, # 2199 - None, # 2200 - None, # 2201 - None, # 2202 - None, # 2203 - None, # 2204 - None, # 2205 - None, # 2206 - None, # 2207 - None, # 2208 - None, # 2209 - None, # 2210 - None, # 2211 - None, # 2212 - None, # 2213 - None, # 2214 - None, # 2215 - None, # 2216 - None, # 2217 - None, # 2218 - None, # 2219 - None, # 2220 - None, # 2221 - None, # 2222 - None, # 2223 - None, # 2224 - None, # 2225 - None, # 2226 - None, # 2227 - None, # 2228 - None, # 2229 - None, # 2230 - None, # 2231 - None, # 2232 - None, # 2233 - None, # 2234 - None, # 2235 - None, # 2236 - None, # 2237 - None, # 2238 - None, # 2239 - None, # 2240 - None, # 2241 - None, # 2242 - None, # 2243 - None, # 2244 - None, # 2245 - None, # 2246 - None, # 2247 - None, # 2248 - None, # 2249 - None, # 2250 - None, # 2251 - None, # 2252 - None, # 2253 - None, # 2254 - None, # 2255 - None, # 2256 - None, # 2257 - None, # 2258 - None, # 2259 - None, # 2260 - None, # 2261 - None, # 2262 - None, # 2263 - None, # 2264 - None, # 2265 - None, # 2266 - None, # 2267 - None, # 2268 - None, # 2269 - None, # 2270 - None, # 2271 - None, # 2272 - None, # 2273 - None, # 2274 - None, # 2275 - None, # 2276 - None, # 2277 - None, # 2278 - None, # 2279 - None, # 2280 - None, # 2281 - None, # 2282 - None, # 2283 - None, # 2284 - None, # 2285 - None, # 2286 - None, # 2287 - None, # 2288 - None, # 2289 - None, # 2290 - None, # 2291 - None, # 2292 - None, # 2293 - None, # 2294 - None, # 2295 - None, # 2296 - None, # 2297 - None, # 2298 - None, # 2299 - None, # 2300 - None, # 2301 - None, # 2302 - None, # 2303 - None, # 2304 - None, # 2305 - None, # 2306 - None, # 2307 - None, # 2308 - None, # 2309 - None, # 2310 - None, # 2311 - None, # 2312 - None, # 2313 - None, # 2314 - None, # 2315 - None, # 2316 - None, # 2317 - None, # 2318 - None, # 2319 - None, # 2320 - None, # 2321 - None, # 2322 - None, # 2323 - None, # 2324 - None, # 2325 - None, # 2326 - None, # 2327 - None, # 2328 - None, # 2329 - None, # 2330 - None, # 2331 - None, # 2332 - None, # 2333 - None, # 2334 - None, # 2335 - None, # 2336 - None, # 2337 - None, # 2338 - None, # 2339 - None, # 2340 - None, # 2341 - None, # 2342 - None, # 2343 - None, # 2344 - None, # 2345 - None, # 2346 - None, # 2347 - None, # 2348 - None, # 2349 - None, # 2350 - None, # 2351 - None, # 2352 - None, # 2353 - None, # 2354 - None, # 2355 - None, # 2356 - None, # 2357 - None, # 2358 - None, # 2359 - None, # 2360 - None, # 2361 - None, # 2362 - None, # 2363 - None, # 2364 - None, # 2365 - None, # 2366 - None, # 2367 - None, # 2368 - None, # 2369 - None, # 2370 - None, # 2371 - None, # 2372 - None, # 2373 - None, # 2374 - None, # 2375 - None, # 2376 - None, # 2377 - None, # 2378 - None, # 2379 - None, # 2380 - None, # 2381 - None, # 2382 - None, # 2383 - None, # 2384 - None, # 2385 - None, # 2386 - None, # 2387 - None, # 2388 - None, # 2389 - None, # 2390 - None, # 2391 - None, # 2392 - None, # 2393 - None, # 2394 - None, # 2395 - None, # 2396 - None, # 2397 - None, # 2398 - None, # 2399 - None, # 2400 - None, # 2401 - None, # 2402 - None, # 2403 - None, # 2404 - None, # 2405 - None, # 2406 - None, # 2407 - None, # 2408 - None, # 2409 - None, # 2410 - None, # 2411 - None, # 2412 - None, # 2413 - None, # 2414 - None, # 2415 - None, # 2416 - None, # 2417 - None, # 2418 - None, # 2419 - None, # 2420 - None, # 2421 - None, # 2422 - None, # 2423 - None, # 2424 - None, # 2425 - None, # 2426 - None, # 2427 - None, # 2428 - None, # 2429 - None, # 2430 - None, # 2431 - None, # 2432 - None, # 2433 - None, # 2434 - None, # 2435 - None, # 2436 - None, # 2437 - None, # 2438 - None, # 2439 - None, # 2440 - None, # 2441 - None, # 2442 - None, # 2443 - None, # 2444 - None, # 2445 - None, # 2446 - None, # 2447 - None, # 2448 - None, # 2449 - None, # 2450 - None, # 2451 - None, # 2452 - None, # 2453 - None, # 2454 - None, # 2455 - None, # 2456 - None, # 2457 - None, # 2458 - None, # 2459 - None, # 2460 - None, # 2461 - None, # 2462 - None, # 2463 - None, # 2464 - None, # 2465 - None, # 2466 - None, # 2467 - None, # 2468 - None, # 2469 - None, # 2470 - None, # 2471 - None, # 2472 - None, # 2473 - None, # 2474 - None, # 2475 - None, # 2476 - None, # 2477 - None, # 2478 - None, # 2479 - None, # 2480 - None, # 2481 - None, # 2482 - None, # 2483 - None, # 2484 - None, # 2485 - None, # 2486 - None, # 2487 - None, # 2488 - None, # 2489 - None, # 2490 - None, # 2491 - None, # 2492 - None, # 2493 - None, # 2494 - None, # 2495 - None, # 2496 - None, # 2497 - None, # 2498 - None, # 2499 - None, # 2500 - None, # 2501 - None, # 2502 - None, # 2503 - None, # 2504 - None, # 2505 - None, # 2506 - None, # 2507 - None, # 2508 - None, # 2509 - None, # 2510 - None, # 2511 - None, # 2512 - None, # 2513 - None, # 2514 - None, # 2515 - None, # 2516 - None, # 2517 - None, # 2518 - None, # 2519 - None, # 2520 - None, # 2521 - None, # 2522 - None, # 2523 - None, # 2524 - None, # 2525 - None, # 2526 - None, # 2527 - None, # 2528 - None, # 2529 - None, # 2530 - None, # 2531 - None, # 2532 - None, # 2533 - None, # 2534 - None, # 2535 - None, # 2536 - None, # 2537 - None, # 2538 - None, # 2539 - None, # 2540 - None, # 2541 - None, # 2542 - None, # 2543 - None, # 2544 - None, # 2545 - None, # 2546 - None, # 2547 - None, # 2548 - None, # 2549 - None, # 2550 - None, # 2551 - None, # 2552 - None, # 2553 - None, # 2554 - None, # 2555 - None, # 2556 - None, # 2557 - None, # 2558 - None, # 2559 - None, # 2560 - None, # 2561 - None, # 2562 - None, # 2563 - None, # 2564 - None, # 2565 - None, # 2566 - None, # 2567 - None, # 2568 - None, # 2569 - None, # 2570 - None, # 2571 - None, # 2572 - None, # 2573 - None, # 2574 - None, # 2575 - None, # 2576 - None, # 2577 - None, # 2578 - None, # 2579 - None, # 2580 - None, # 2581 - None, # 2582 - None, # 2583 - None, # 2584 - None, # 2585 - None, # 2586 - None, # 2587 - None, # 2588 - None, # 2589 - None, # 2590 - None, # 2591 - None, # 2592 - None, # 2593 - None, # 2594 - None, # 2595 - None, # 2596 - None, # 2597 - None, # 2598 - None, # 2599 - None, # 2600 - None, # 2601 - None, # 2602 - None, # 2603 - None, # 2604 - None, # 2605 - None, # 2606 - None, # 2607 - None, # 2608 - None, # 2609 - None, # 2610 - None, # 2611 - None, # 2612 - None, # 2613 - None, # 2614 - None, # 2615 - None, # 2616 - None, # 2617 - None, # 2618 - None, # 2619 - None, # 2620 - None, # 2621 - None, # 2622 - None, # 2623 - None, # 2624 - None, # 2625 - None, # 2626 - None, # 2627 - None, # 2628 - None, # 2629 - None, # 2630 - None, # 2631 - None, # 2632 - None, # 2633 - None, # 2634 - None, # 2635 - None, # 2636 - None, # 2637 - None, # 2638 - None, # 2639 - None, # 2640 - None, # 2641 - None, # 2642 - None, # 2643 - None, # 2644 - None, # 2645 - None, # 2646 - None, # 2647 - None, # 2648 - None, # 2649 - None, # 2650 - None, # 2651 - None, # 2652 - None, # 2653 - None, # 2654 - None, # 2655 - None, # 2656 - None, # 2657 - None, # 2658 - None, # 2659 - None, # 2660 - None, # 2661 - None, # 2662 - None, # 2663 - None, # 2664 - None, # 2665 - None, # 2666 - None, # 2667 - None, # 2668 - None, # 2669 - None, # 2670 - None, # 2671 - None, # 2672 - None, # 2673 - None, # 2674 - None, # 2675 - None, # 2676 - None, # 2677 - None, # 2678 - None, # 2679 - None, # 2680 - None, # 2681 - None, # 2682 - None, # 2683 - None, # 2684 - None, # 2685 - None, # 2686 - None, # 2687 - None, # 2688 - None, # 2689 - None, # 2690 - None, # 2691 - None, # 2692 - None, # 2693 - None, # 2694 - None, # 2695 - None, # 2696 - None, # 2697 - None, # 2698 - None, # 2699 - None, # 2700 - None, # 2701 - None, # 2702 - None, # 2703 - None, # 2704 - None, # 2705 - None, # 2706 - None, # 2707 - None, # 2708 - None, # 2709 - None, # 2710 - None, # 2711 - None, # 2712 - None, # 2713 - None, # 2714 - None, # 2715 - None, # 2716 - None, # 2717 - None, # 2718 - None, # 2719 - None, # 2720 - None, # 2721 - None, # 2722 - None, # 2723 - None, # 2724 - None, # 2725 - None, # 2726 - None, # 2727 - None, # 2728 - None, # 2729 - None, # 2730 - None, # 2731 - None, # 2732 - None, # 2733 - None, # 2734 - None, # 2735 - None, # 2736 - None, # 2737 - None, # 2738 - None, # 2739 - None, # 2740 - None, # 2741 - None, # 2742 - None, # 2743 - None, # 2744 - None, # 2745 - None, # 2746 - None, # 2747 - None, # 2748 - None, # 2749 - None, # 2750 - None, # 2751 - None, # 2752 - None, # 2753 - None, # 2754 - None, # 2755 - None, # 2756 - None, # 2757 - None, # 2758 - None, # 2759 - None, # 2760 - None, # 2761 - None, # 2762 - None, # 2763 - None, # 2764 - None, # 2765 - None, # 2766 - None, # 2767 - None, # 2768 - None, # 2769 - None, # 2770 - None, # 2771 - None, # 2772 - None, # 2773 - None, # 2774 - None, # 2775 - None, # 2776 - None, # 2777 - None, # 2778 - None, # 2779 - None, # 2780 - None, # 2781 - None, # 2782 - None, # 2783 - None, # 2784 - None, # 2785 - None, # 2786 - None, # 2787 - None, # 2788 - None, # 2789 - None, # 2790 - None, # 2791 - None, # 2792 - None, # 2793 - None, # 2794 - None, # 2795 - None, # 2796 - None, # 2797 - None, # 2798 - None, # 2799 - None, # 2800 - None, # 2801 - None, # 2802 - None, # 2803 - None, # 2804 - None, # 2805 - None, # 2806 - None, # 2807 - None, # 2808 - None, # 2809 - None, # 2810 - None, # 2811 - None, # 2812 - None, # 2813 - None, # 2814 - None, # 2815 - None, # 2816 - None, # 2817 - None, # 2818 - None, # 2819 - None, # 2820 - None, # 2821 - None, # 2822 - None, # 2823 - None, # 2824 - None, # 2825 - None, # 2826 - None, # 2827 - None, # 2828 - None, # 2829 - None, # 2830 - None, # 2831 - None, # 2832 - None, # 2833 - None, # 2834 - None, # 2835 - None, # 2836 - None, # 2837 - None, # 2838 - None, # 2839 - None, # 2840 - None, # 2841 - None, # 2842 - None, # 2843 - None, # 2844 - None, # 2845 - None, # 2846 - None, # 2847 - None, # 2848 - None, # 2849 - None, # 2850 - None, # 2851 - None, # 2852 - None, # 2853 - None, # 2854 - None, # 2855 - None, # 2856 - None, # 2857 - None, # 2858 - None, # 2859 - None, # 2860 - None, # 2861 - None, # 2862 - None, # 2863 - None, # 2864 - None, # 2865 - None, # 2866 - None, # 2867 - None, # 2868 - None, # 2869 - None, # 2870 - None, # 2871 - None, # 2872 - None, # 2873 - None, # 2874 - None, # 2875 - None, # 2876 - None, # 2877 - None, # 2878 - None, # 2879 - None, # 2880 - None, # 2881 - None, # 2882 - None, # 2883 - None, # 2884 - None, # 2885 - None, # 2886 - None, # 2887 - None, # 2888 - None, # 2889 - None, # 2890 - None, # 2891 - None, # 2892 - None, # 2893 - None, # 2894 - None, # 2895 - None, # 2896 - None, # 2897 - None, # 2898 - None, # 2899 - None, # 2900 - None, # 2901 - None, # 2902 - None, # 2903 - None, # 2904 - None, # 2905 - None, # 2906 - None, # 2907 - None, # 2908 - None, # 2909 - None, # 2910 - None, # 2911 - None, # 2912 - None, # 2913 - None, # 2914 - None, # 2915 - None, # 2916 - None, # 2917 - None, # 2918 - None, # 2919 - None, # 2920 - None, # 2921 - None, # 2922 - None, # 2923 - None, # 2924 - None, # 2925 - None, # 2926 - None, # 2927 - None, # 2928 - None, # 2929 - None, # 2930 - None, # 2931 - None, # 2932 - None, # 2933 - None, # 2934 - None, # 2935 - None, # 2936 - None, # 2937 - None, # 2938 - None, # 2939 - None, # 2940 - None, # 2941 - None, # 2942 - None, # 2943 - None, # 2944 - None, # 2945 - None, # 2946 - None, # 2947 - None, # 2948 - None, # 2949 - None, # 2950 - None, # 2951 - None, # 2952 - None, # 2953 - None, # 2954 - None, # 2955 - None, # 2956 - None, # 2957 - None, # 2958 - None, # 2959 - None, # 2960 - None, # 2961 - None, # 2962 - None, # 2963 - None, # 2964 - None, # 2965 - None, # 2966 - None, # 2967 - None, # 2968 - None, # 2969 - None, # 2970 - None, # 2971 - None, # 2972 - None, # 2973 - None, # 2974 - None, # 2975 - None, # 2976 - None, # 2977 - None, # 2978 - None, # 2979 - None, # 2980 - None, # 2981 - None, # 2982 - None, # 2983 - None, # 2984 - None, # 2985 - None, # 2986 - None, # 2987 - None, # 2988 - None, # 2989 - None, # 2990 - None, # 2991 - None, # 2992 - None, # 2993 - None, # 2994 - None, # 2995 - None, # 2996 - None, # 2997 - None, # 2998 - None, # 2999 - None, # 3000 - None, # 3001 - None, # 3002 - None, # 3003 - None, # 3004 - None, # 3005 - None, # 3006 - None, # 3007 - None, # 3008 - None, # 3009 - None, # 3010 - None, # 3011 - None, # 3012 - None, # 3013 - None, # 3014 - None, # 3015 - None, # 3016 - None, # 3017 - None, # 3018 - None, # 3019 - None, # 3020 - None, # 3021 - None, # 3022 - None, # 3023 - None, # 3024 - None, # 3025 - None, # 3026 - None, # 3027 - None, # 3028 - None, # 3029 - None, # 3030 - None, # 3031 - None, # 3032 - None, # 3033 - None, # 3034 - None, # 3035 - None, # 3036 - None, # 3037 - None, # 3038 - None, # 3039 - None, # 3040 - None, # 3041 - None, # 3042 - None, # 3043 - None, # 3044 - None, # 3045 - None, # 3046 - None, # 3047 - None, # 3048 - None, # 3049 - None, # 3050 - None, # 3051 - None, # 3052 - None, # 3053 - None, # 3054 - None, # 3055 - None, # 3056 - None, # 3057 - None, # 3058 - None, # 3059 - None, # 3060 - None, # 3061 - None, # 3062 - None, # 3063 - None, # 3064 - None, # 3065 - None, # 3066 - None, # 3067 - None, # 3068 - None, # 3069 - None, # 3070 - None, # 3071 - None, # 3072 - None, # 3073 - None, # 3074 - None, # 3075 - None, # 3076 - None, # 3077 - None, # 3078 - None, # 3079 - None, # 3080 - None, # 3081 - None, # 3082 - None, # 3083 - None, # 3084 - None, # 3085 - None, # 3086 - None, # 3087 - None, # 3088 - None, # 3089 - None, # 3090 - None, # 3091 - None, # 3092 - None, # 3093 - None, # 3094 - None, # 3095 - None, # 3096 - None, # 3097 - None, # 3098 - None, # 3099 - None, # 3100 - None, # 3101 - None, # 3102 - None, # 3103 - None, # 3104 - None, # 3105 - None, # 3106 - None, # 3107 - None, # 3108 - None, # 3109 - None, # 3110 - None, # 3111 - None, # 3112 - None, # 3113 - None, # 3114 - None, # 3115 - None, # 3116 - None, # 3117 - None, # 3118 - None, # 3119 - None, # 3120 - None, # 3121 - None, # 3122 - None, # 3123 - None, # 3124 - None, # 3125 - None, # 3126 - None, # 3127 - None, # 3128 - None, # 3129 - None, # 3130 - None, # 3131 - None, # 3132 - None, # 3133 - None, # 3134 - None, # 3135 - None, # 3136 - None, # 3137 - None, # 3138 - None, # 3139 - None, # 3140 - None, # 3141 - None, # 3142 - None, # 3143 - None, # 3144 - None, # 3145 - None, # 3146 - None, # 3147 - None, # 3148 - None, # 3149 - None, # 3150 - None, # 3151 - None, # 3152 - None, # 3153 - None, # 3154 - None, # 3155 - None, # 3156 - None, # 3157 - None, # 3158 - None, # 3159 - None, # 3160 - None, # 3161 - None, # 3162 - None, # 3163 - None, # 3164 - None, # 3165 - None, # 3166 - None, # 3167 - None, # 3168 - None, # 3169 - None, # 3170 - None, # 3171 - None, # 3172 - None, # 3173 - None, # 3174 - None, # 3175 - None, # 3176 - None, # 3177 - None, # 3178 - None, # 3179 - None, # 3180 - None, # 3181 - None, # 3182 - None, # 3183 - None, # 3184 - None, # 3185 - None, # 3186 - None, # 3187 - None, # 3188 - None, # 3189 - None, # 3190 - None, # 3191 - None, # 3192 - None, # 3193 - None, # 3194 - None, # 3195 - None, # 3196 - None, # 3197 - None, # 3198 - None, # 3199 - None, # 3200 - None, # 3201 - None, # 3202 - None, # 3203 - None, # 3204 - None, # 3205 - None, # 3206 - None, # 3207 - None, # 3208 - None, # 3209 - None, # 3210 - None, # 3211 - None, # 3212 - None, # 3213 - None, # 3214 - None, # 3215 - None, # 3216 - None, # 3217 - None, # 3218 - None, # 3219 - None, # 3220 - None, # 3221 - None, # 3222 - None, # 3223 - None, # 3224 - None, # 3225 - None, # 3226 - None, # 3227 - None, # 3228 - None, # 3229 - None, # 3230 - None, # 3231 - None, # 3232 - None, # 3233 - None, # 3234 - None, # 3235 - None, # 3236 - None, # 3237 - None, # 3238 - None, # 3239 - None, # 3240 - None, # 3241 - None, # 3242 - None, # 3243 - None, # 3244 - None, # 3245 - None, # 3246 - None, # 3247 - None, # 3248 - None, # 3249 - None, # 3250 - None, # 3251 - None, # 3252 - None, # 3253 - None, # 3254 - None, # 3255 - None, # 3256 - None, # 3257 - None, # 3258 - None, # 3259 - None, # 3260 - None, # 3261 - None, # 3262 - None, # 3263 - None, # 3264 - None, # 3265 - None, # 3266 - None, # 3267 - None, # 3268 - None, # 3269 - None, # 3270 - None, # 3271 - None, # 3272 - None, # 3273 - None, # 3274 - None, # 3275 - None, # 3276 - None, # 3277 - None, # 3278 - None, # 3279 - None, # 3280 - None, # 3281 - None, # 3282 - None, # 3283 - None, # 3284 - None, # 3285 - None, # 3286 - None, # 3287 - None, # 3288 - None, # 3289 - None, # 3290 - None, # 3291 - None, # 3292 - None, # 3293 - None, # 3294 - None, # 3295 - None, # 3296 - None, # 3297 - None, # 3298 - None, # 3299 - None, # 3300 - None, # 3301 - None, # 3302 - None, # 3303 - None, # 3304 - None, # 3305 - None, # 3306 - None, # 3307 - None, # 3308 - None, # 3309 - None, # 3310 - None, # 3311 - None, # 3312 - None, # 3313 - None, # 3314 - None, # 3315 - None, # 3316 - None, # 3317 - None, # 3318 - None, # 3319 - None, # 3320 - None, # 3321 - None, # 3322 - None, # 3323 - None, # 3324 - None, # 3325 - None, # 3326 - None, # 3327 - None, # 3328 - (3329, TType.BOOL, 'executionRejected', None, None, ), # 3329 - (3330, TType.DOUBLE, 'maxClusterCapacity', None, None, ), # 3330 - (3331, TType.DOUBLE, 'queryCost', None, None, ), # 3331 - (3332, TType.STRUCT, 'sessionConf', [TDBSqlSessionConf, None], None, ), # 3332 - (3333, TType.DOUBLE, 'currentClusterLoad', None, None, ), # 3333 - (3334, TType.I32, 'idempotencyType', None, None, ), # 3334 - (3335, TType.BOOL, 'remoteResultCacheEnabled', None, None, ), # 3335 - (3336, TType.BOOL, 'isServerless', None, None, ), # 3336 - (3337, TType.LIST, 'operationHandles', (TType.STRUCT, [TOperationHandle, None], False), None, ), # 3337 + None, # 0 + (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 + (2, TType.STRUCT, 'operationHandle', [TOperationHandle, None], None, ), # 2 + None, # 3 + None, # 4 + None, # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + (1281, TType.STRUCT, 'directResults', [TSparkDirectResults, None], None, ), # 1281 + None, # 1282 + None, # 1283 + None, # 1284 + None, # 1285 + None, # 1286 + None, # 1287 + None, # 1288 + None, # 1289 + None, # 1290 + None, # 1291 + None, # 1292 + None, # 1293 + None, # 1294 + None, # 1295 + None, # 1296 + None, # 1297 + None, # 1298 + None, # 1299 + None, # 1300 + None, # 1301 + None, # 1302 + None, # 1303 + None, # 1304 + None, # 1305 + None, # 1306 + None, # 1307 + None, # 1308 + None, # 1309 + None, # 1310 + None, # 1311 + None, # 1312 + None, # 1313 + None, # 1314 + None, # 1315 + None, # 1316 + None, # 1317 + None, # 1318 + None, # 1319 + None, # 1320 + None, # 1321 + None, # 1322 + None, # 1323 + None, # 1324 + None, # 1325 + None, # 1326 + None, # 1327 + None, # 1328 + None, # 1329 + None, # 1330 + None, # 1331 + None, # 1332 + None, # 1333 + None, # 1334 + None, # 1335 + None, # 1336 + None, # 1337 + None, # 1338 + None, # 1339 + None, # 1340 + None, # 1341 + None, # 1342 + None, # 1343 + None, # 1344 + None, # 1345 + None, # 1346 + None, # 1347 + None, # 1348 + None, # 1349 + None, # 1350 + None, # 1351 + None, # 1352 + None, # 1353 + None, # 1354 + None, # 1355 + None, # 1356 + None, # 1357 + None, # 1358 + None, # 1359 + None, # 1360 + None, # 1361 + None, # 1362 + None, # 1363 + None, # 1364 + None, # 1365 + None, # 1366 + None, # 1367 + None, # 1368 + None, # 1369 + None, # 1370 + None, # 1371 + None, # 1372 + None, # 1373 + None, # 1374 + None, # 1375 + None, # 1376 + None, # 1377 + None, # 1378 + None, # 1379 + None, # 1380 + None, # 1381 + None, # 1382 + None, # 1383 + None, # 1384 + None, # 1385 + None, # 1386 + None, # 1387 + None, # 1388 + None, # 1389 + None, # 1390 + None, # 1391 + None, # 1392 + None, # 1393 + None, # 1394 + None, # 1395 + None, # 1396 + None, # 1397 + None, # 1398 + None, # 1399 + None, # 1400 + None, # 1401 + None, # 1402 + None, # 1403 + None, # 1404 + None, # 1405 + None, # 1406 + None, # 1407 + None, # 1408 + None, # 1409 + None, # 1410 + None, # 1411 + None, # 1412 + None, # 1413 + None, # 1414 + None, # 1415 + None, # 1416 + None, # 1417 + None, # 1418 + None, # 1419 + None, # 1420 + None, # 1421 + None, # 1422 + None, # 1423 + None, # 1424 + None, # 1425 + None, # 1426 + None, # 1427 + None, # 1428 + None, # 1429 + None, # 1430 + None, # 1431 + None, # 1432 + None, # 1433 + None, # 1434 + None, # 1435 + None, # 1436 + None, # 1437 + None, # 1438 + None, # 1439 + None, # 1440 + None, # 1441 + None, # 1442 + None, # 1443 + None, # 1444 + None, # 1445 + None, # 1446 + None, # 1447 + None, # 1448 + None, # 1449 + None, # 1450 + None, # 1451 + None, # 1452 + None, # 1453 + None, # 1454 + None, # 1455 + None, # 1456 + None, # 1457 + None, # 1458 + None, # 1459 + None, # 1460 + None, # 1461 + None, # 1462 + None, # 1463 + None, # 1464 + None, # 1465 + None, # 1466 + None, # 1467 + None, # 1468 + None, # 1469 + None, # 1470 + None, # 1471 + None, # 1472 + None, # 1473 + None, # 1474 + None, # 1475 + None, # 1476 + None, # 1477 + None, # 1478 + None, # 1479 + None, # 1480 + None, # 1481 + None, # 1482 + None, # 1483 + None, # 1484 + None, # 1485 + None, # 1486 + None, # 1487 + None, # 1488 + None, # 1489 + None, # 1490 + None, # 1491 + None, # 1492 + None, # 1493 + None, # 1494 + None, # 1495 + None, # 1496 + None, # 1497 + None, # 1498 + None, # 1499 + None, # 1500 + None, # 1501 + None, # 1502 + None, # 1503 + None, # 1504 + None, # 1505 + None, # 1506 + None, # 1507 + None, # 1508 + None, # 1509 + None, # 1510 + None, # 1511 + None, # 1512 + None, # 1513 + None, # 1514 + None, # 1515 + None, # 1516 + None, # 1517 + None, # 1518 + None, # 1519 + None, # 1520 + None, # 1521 + None, # 1522 + None, # 1523 + None, # 1524 + None, # 1525 + None, # 1526 + None, # 1527 + None, # 1528 + None, # 1529 + None, # 1530 + None, # 1531 + None, # 1532 + None, # 1533 + None, # 1534 + None, # 1535 + None, # 1536 + None, # 1537 + None, # 1538 + None, # 1539 + None, # 1540 + None, # 1541 + None, # 1542 + None, # 1543 + None, # 1544 + None, # 1545 + None, # 1546 + None, # 1547 + None, # 1548 + None, # 1549 + None, # 1550 + None, # 1551 + None, # 1552 + None, # 1553 + None, # 1554 + None, # 1555 + None, # 1556 + None, # 1557 + None, # 1558 + None, # 1559 + None, # 1560 + None, # 1561 + None, # 1562 + None, # 1563 + None, # 1564 + None, # 1565 + None, # 1566 + None, # 1567 + None, # 1568 + None, # 1569 + None, # 1570 + None, # 1571 + None, # 1572 + None, # 1573 + None, # 1574 + None, # 1575 + None, # 1576 + None, # 1577 + None, # 1578 + None, # 1579 + None, # 1580 + None, # 1581 + None, # 1582 + None, # 1583 + None, # 1584 + None, # 1585 + None, # 1586 + None, # 1587 + None, # 1588 + None, # 1589 + None, # 1590 + None, # 1591 + None, # 1592 + None, # 1593 + None, # 1594 + None, # 1595 + None, # 1596 + None, # 1597 + None, # 1598 + None, # 1599 + None, # 1600 + None, # 1601 + None, # 1602 + None, # 1603 + None, # 1604 + None, # 1605 + None, # 1606 + None, # 1607 + None, # 1608 + None, # 1609 + None, # 1610 + None, # 1611 + None, # 1612 + None, # 1613 + None, # 1614 + None, # 1615 + None, # 1616 + None, # 1617 + None, # 1618 + None, # 1619 + None, # 1620 + None, # 1621 + None, # 1622 + None, # 1623 + None, # 1624 + None, # 1625 + None, # 1626 + None, # 1627 + None, # 1628 + None, # 1629 + None, # 1630 + None, # 1631 + None, # 1632 + None, # 1633 + None, # 1634 + None, # 1635 + None, # 1636 + None, # 1637 + None, # 1638 + None, # 1639 + None, # 1640 + None, # 1641 + None, # 1642 + None, # 1643 + None, # 1644 + None, # 1645 + None, # 1646 + None, # 1647 + None, # 1648 + None, # 1649 + None, # 1650 + None, # 1651 + None, # 1652 + None, # 1653 + None, # 1654 + None, # 1655 + None, # 1656 + None, # 1657 + None, # 1658 + None, # 1659 + None, # 1660 + None, # 1661 + None, # 1662 + None, # 1663 + None, # 1664 + None, # 1665 + None, # 1666 + None, # 1667 + None, # 1668 + None, # 1669 + None, # 1670 + None, # 1671 + None, # 1672 + None, # 1673 + None, # 1674 + None, # 1675 + None, # 1676 + None, # 1677 + None, # 1678 + None, # 1679 + None, # 1680 + None, # 1681 + None, # 1682 + None, # 1683 + None, # 1684 + None, # 1685 + None, # 1686 + None, # 1687 + None, # 1688 + None, # 1689 + None, # 1690 + None, # 1691 + None, # 1692 + None, # 1693 + None, # 1694 + None, # 1695 + None, # 1696 + None, # 1697 + None, # 1698 + None, # 1699 + None, # 1700 + None, # 1701 + None, # 1702 + None, # 1703 + None, # 1704 + None, # 1705 + None, # 1706 + None, # 1707 + None, # 1708 + None, # 1709 + None, # 1710 + None, # 1711 + None, # 1712 + None, # 1713 + None, # 1714 + None, # 1715 + None, # 1716 + None, # 1717 + None, # 1718 + None, # 1719 + None, # 1720 + None, # 1721 + None, # 1722 + None, # 1723 + None, # 1724 + None, # 1725 + None, # 1726 + None, # 1727 + None, # 1728 + None, # 1729 + None, # 1730 + None, # 1731 + None, # 1732 + None, # 1733 + None, # 1734 + None, # 1735 + None, # 1736 + None, # 1737 + None, # 1738 + None, # 1739 + None, # 1740 + None, # 1741 + None, # 1742 + None, # 1743 + None, # 1744 + None, # 1745 + None, # 1746 + None, # 1747 + None, # 1748 + None, # 1749 + None, # 1750 + None, # 1751 + None, # 1752 + None, # 1753 + None, # 1754 + None, # 1755 + None, # 1756 + None, # 1757 + None, # 1758 + None, # 1759 + None, # 1760 + None, # 1761 + None, # 1762 + None, # 1763 + None, # 1764 + None, # 1765 + None, # 1766 + None, # 1767 + None, # 1768 + None, # 1769 + None, # 1770 + None, # 1771 + None, # 1772 + None, # 1773 + None, # 1774 + None, # 1775 + None, # 1776 + None, # 1777 + None, # 1778 + None, # 1779 + None, # 1780 + None, # 1781 + None, # 1782 + None, # 1783 + None, # 1784 + None, # 1785 + None, # 1786 + None, # 1787 + None, # 1788 + None, # 1789 + None, # 1790 + None, # 1791 + None, # 1792 + None, # 1793 + None, # 1794 + None, # 1795 + None, # 1796 + None, # 1797 + None, # 1798 + None, # 1799 + None, # 1800 + None, # 1801 + None, # 1802 + None, # 1803 + None, # 1804 + None, # 1805 + None, # 1806 + None, # 1807 + None, # 1808 + None, # 1809 + None, # 1810 + None, # 1811 + None, # 1812 + None, # 1813 + None, # 1814 + None, # 1815 + None, # 1816 + None, # 1817 + None, # 1818 + None, # 1819 + None, # 1820 + None, # 1821 + None, # 1822 + None, # 1823 + None, # 1824 + None, # 1825 + None, # 1826 + None, # 1827 + None, # 1828 + None, # 1829 + None, # 1830 + None, # 1831 + None, # 1832 + None, # 1833 + None, # 1834 + None, # 1835 + None, # 1836 + None, # 1837 + None, # 1838 + None, # 1839 + None, # 1840 + None, # 1841 + None, # 1842 + None, # 1843 + None, # 1844 + None, # 1845 + None, # 1846 + None, # 1847 + None, # 1848 + None, # 1849 + None, # 1850 + None, # 1851 + None, # 1852 + None, # 1853 + None, # 1854 + None, # 1855 + None, # 1856 + None, # 1857 + None, # 1858 + None, # 1859 + None, # 1860 + None, # 1861 + None, # 1862 + None, # 1863 + None, # 1864 + None, # 1865 + None, # 1866 + None, # 1867 + None, # 1868 + None, # 1869 + None, # 1870 + None, # 1871 + None, # 1872 + None, # 1873 + None, # 1874 + None, # 1875 + None, # 1876 + None, # 1877 + None, # 1878 + None, # 1879 + None, # 1880 + None, # 1881 + None, # 1882 + None, # 1883 + None, # 1884 + None, # 1885 + None, # 1886 + None, # 1887 + None, # 1888 + None, # 1889 + None, # 1890 + None, # 1891 + None, # 1892 + None, # 1893 + None, # 1894 + None, # 1895 + None, # 1896 + None, # 1897 + None, # 1898 + None, # 1899 + None, # 1900 + None, # 1901 + None, # 1902 + None, # 1903 + None, # 1904 + None, # 1905 + None, # 1906 + None, # 1907 + None, # 1908 + None, # 1909 + None, # 1910 + None, # 1911 + None, # 1912 + None, # 1913 + None, # 1914 + None, # 1915 + None, # 1916 + None, # 1917 + None, # 1918 + None, # 1919 + None, # 1920 + None, # 1921 + None, # 1922 + None, # 1923 + None, # 1924 + None, # 1925 + None, # 1926 + None, # 1927 + None, # 1928 + None, # 1929 + None, # 1930 + None, # 1931 + None, # 1932 + None, # 1933 + None, # 1934 + None, # 1935 + None, # 1936 + None, # 1937 + None, # 1938 + None, # 1939 + None, # 1940 + None, # 1941 + None, # 1942 + None, # 1943 + None, # 1944 + None, # 1945 + None, # 1946 + None, # 1947 + None, # 1948 + None, # 1949 + None, # 1950 + None, # 1951 + None, # 1952 + None, # 1953 + None, # 1954 + None, # 1955 + None, # 1956 + None, # 1957 + None, # 1958 + None, # 1959 + None, # 1960 + None, # 1961 + None, # 1962 + None, # 1963 + None, # 1964 + None, # 1965 + None, # 1966 + None, # 1967 + None, # 1968 + None, # 1969 + None, # 1970 + None, # 1971 + None, # 1972 + None, # 1973 + None, # 1974 + None, # 1975 + None, # 1976 + None, # 1977 + None, # 1978 + None, # 1979 + None, # 1980 + None, # 1981 + None, # 1982 + None, # 1983 + None, # 1984 + None, # 1985 + None, # 1986 + None, # 1987 + None, # 1988 + None, # 1989 + None, # 1990 + None, # 1991 + None, # 1992 + None, # 1993 + None, # 1994 + None, # 1995 + None, # 1996 + None, # 1997 + None, # 1998 + None, # 1999 + None, # 2000 + None, # 2001 + None, # 2002 + None, # 2003 + None, # 2004 + None, # 2005 + None, # 2006 + None, # 2007 + None, # 2008 + None, # 2009 + None, # 2010 + None, # 2011 + None, # 2012 + None, # 2013 + None, # 2014 + None, # 2015 + None, # 2016 + None, # 2017 + None, # 2018 + None, # 2019 + None, # 2020 + None, # 2021 + None, # 2022 + None, # 2023 + None, # 2024 + None, # 2025 + None, # 2026 + None, # 2027 + None, # 2028 + None, # 2029 + None, # 2030 + None, # 2031 + None, # 2032 + None, # 2033 + None, # 2034 + None, # 2035 + None, # 2036 + None, # 2037 + None, # 2038 + None, # 2039 + None, # 2040 + None, # 2041 + None, # 2042 + None, # 2043 + None, # 2044 + None, # 2045 + None, # 2046 + None, # 2047 + None, # 2048 + None, # 2049 + None, # 2050 + None, # 2051 + None, # 2052 + None, # 2053 + None, # 2054 + None, # 2055 + None, # 2056 + None, # 2057 + None, # 2058 + None, # 2059 + None, # 2060 + None, # 2061 + None, # 2062 + None, # 2063 + None, # 2064 + None, # 2065 + None, # 2066 + None, # 2067 + None, # 2068 + None, # 2069 + None, # 2070 + None, # 2071 + None, # 2072 + None, # 2073 + None, # 2074 + None, # 2075 + None, # 2076 + None, # 2077 + None, # 2078 + None, # 2079 + None, # 2080 + None, # 2081 + None, # 2082 + None, # 2083 + None, # 2084 + None, # 2085 + None, # 2086 + None, # 2087 + None, # 2088 + None, # 2089 + None, # 2090 + None, # 2091 + None, # 2092 + None, # 2093 + None, # 2094 + None, # 2095 + None, # 2096 + None, # 2097 + None, # 2098 + None, # 2099 + None, # 2100 + None, # 2101 + None, # 2102 + None, # 2103 + None, # 2104 + None, # 2105 + None, # 2106 + None, # 2107 + None, # 2108 + None, # 2109 + None, # 2110 + None, # 2111 + None, # 2112 + None, # 2113 + None, # 2114 + None, # 2115 + None, # 2116 + None, # 2117 + None, # 2118 + None, # 2119 + None, # 2120 + None, # 2121 + None, # 2122 + None, # 2123 + None, # 2124 + None, # 2125 + None, # 2126 + None, # 2127 + None, # 2128 + None, # 2129 + None, # 2130 + None, # 2131 + None, # 2132 + None, # 2133 + None, # 2134 + None, # 2135 + None, # 2136 + None, # 2137 + None, # 2138 + None, # 2139 + None, # 2140 + None, # 2141 + None, # 2142 + None, # 2143 + None, # 2144 + None, # 2145 + None, # 2146 + None, # 2147 + None, # 2148 + None, # 2149 + None, # 2150 + None, # 2151 + None, # 2152 + None, # 2153 + None, # 2154 + None, # 2155 + None, # 2156 + None, # 2157 + None, # 2158 + None, # 2159 + None, # 2160 + None, # 2161 + None, # 2162 + None, # 2163 + None, # 2164 + None, # 2165 + None, # 2166 + None, # 2167 + None, # 2168 + None, # 2169 + None, # 2170 + None, # 2171 + None, # 2172 + None, # 2173 + None, # 2174 + None, # 2175 + None, # 2176 + None, # 2177 + None, # 2178 + None, # 2179 + None, # 2180 + None, # 2181 + None, # 2182 + None, # 2183 + None, # 2184 + None, # 2185 + None, # 2186 + None, # 2187 + None, # 2188 + None, # 2189 + None, # 2190 + None, # 2191 + None, # 2192 + None, # 2193 + None, # 2194 + None, # 2195 + None, # 2196 + None, # 2197 + None, # 2198 + None, # 2199 + None, # 2200 + None, # 2201 + None, # 2202 + None, # 2203 + None, # 2204 + None, # 2205 + None, # 2206 + None, # 2207 + None, # 2208 + None, # 2209 + None, # 2210 + None, # 2211 + None, # 2212 + None, # 2213 + None, # 2214 + None, # 2215 + None, # 2216 + None, # 2217 + None, # 2218 + None, # 2219 + None, # 2220 + None, # 2221 + None, # 2222 + None, # 2223 + None, # 2224 + None, # 2225 + None, # 2226 + None, # 2227 + None, # 2228 + None, # 2229 + None, # 2230 + None, # 2231 + None, # 2232 + None, # 2233 + None, # 2234 + None, # 2235 + None, # 2236 + None, # 2237 + None, # 2238 + None, # 2239 + None, # 2240 + None, # 2241 + None, # 2242 + None, # 2243 + None, # 2244 + None, # 2245 + None, # 2246 + None, # 2247 + None, # 2248 + None, # 2249 + None, # 2250 + None, # 2251 + None, # 2252 + None, # 2253 + None, # 2254 + None, # 2255 + None, # 2256 + None, # 2257 + None, # 2258 + None, # 2259 + None, # 2260 + None, # 2261 + None, # 2262 + None, # 2263 + None, # 2264 + None, # 2265 + None, # 2266 + None, # 2267 + None, # 2268 + None, # 2269 + None, # 2270 + None, # 2271 + None, # 2272 + None, # 2273 + None, # 2274 + None, # 2275 + None, # 2276 + None, # 2277 + None, # 2278 + None, # 2279 + None, # 2280 + None, # 2281 + None, # 2282 + None, # 2283 + None, # 2284 + None, # 2285 + None, # 2286 + None, # 2287 + None, # 2288 + None, # 2289 + None, # 2290 + None, # 2291 + None, # 2292 + None, # 2293 + None, # 2294 + None, # 2295 + None, # 2296 + None, # 2297 + None, # 2298 + None, # 2299 + None, # 2300 + None, # 2301 + None, # 2302 + None, # 2303 + None, # 2304 + None, # 2305 + None, # 2306 + None, # 2307 + None, # 2308 + None, # 2309 + None, # 2310 + None, # 2311 + None, # 2312 + None, # 2313 + None, # 2314 + None, # 2315 + None, # 2316 + None, # 2317 + None, # 2318 + None, # 2319 + None, # 2320 + None, # 2321 + None, # 2322 + None, # 2323 + None, # 2324 + None, # 2325 + None, # 2326 + None, # 2327 + None, # 2328 + None, # 2329 + None, # 2330 + None, # 2331 + None, # 2332 + None, # 2333 + None, # 2334 + None, # 2335 + None, # 2336 + None, # 2337 + None, # 2338 + None, # 2339 + None, # 2340 + None, # 2341 + None, # 2342 + None, # 2343 + None, # 2344 + None, # 2345 + None, # 2346 + None, # 2347 + None, # 2348 + None, # 2349 + None, # 2350 + None, # 2351 + None, # 2352 + None, # 2353 + None, # 2354 + None, # 2355 + None, # 2356 + None, # 2357 + None, # 2358 + None, # 2359 + None, # 2360 + None, # 2361 + None, # 2362 + None, # 2363 + None, # 2364 + None, # 2365 + None, # 2366 + None, # 2367 + None, # 2368 + None, # 2369 + None, # 2370 + None, # 2371 + None, # 2372 + None, # 2373 + None, # 2374 + None, # 2375 + None, # 2376 + None, # 2377 + None, # 2378 + None, # 2379 + None, # 2380 + None, # 2381 + None, # 2382 + None, # 2383 + None, # 2384 + None, # 2385 + None, # 2386 + None, # 2387 + None, # 2388 + None, # 2389 + None, # 2390 + None, # 2391 + None, # 2392 + None, # 2393 + None, # 2394 + None, # 2395 + None, # 2396 + None, # 2397 + None, # 2398 + None, # 2399 + None, # 2400 + None, # 2401 + None, # 2402 + None, # 2403 + None, # 2404 + None, # 2405 + None, # 2406 + None, # 2407 + None, # 2408 + None, # 2409 + None, # 2410 + None, # 2411 + None, # 2412 + None, # 2413 + None, # 2414 + None, # 2415 + None, # 2416 + None, # 2417 + None, # 2418 + None, # 2419 + None, # 2420 + None, # 2421 + None, # 2422 + None, # 2423 + None, # 2424 + None, # 2425 + None, # 2426 + None, # 2427 + None, # 2428 + None, # 2429 + None, # 2430 + None, # 2431 + None, # 2432 + None, # 2433 + None, # 2434 + None, # 2435 + None, # 2436 + None, # 2437 + None, # 2438 + None, # 2439 + None, # 2440 + None, # 2441 + None, # 2442 + None, # 2443 + None, # 2444 + None, # 2445 + None, # 2446 + None, # 2447 + None, # 2448 + None, # 2449 + None, # 2450 + None, # 2451 + None, # 2452 + None, # 2453 + None, # 2454 + None, # 2455 + None, # 2456 + None, # 2457 + None, # 2458 + None, # 2459 + None, # 2460 + None, # 2461 + None, # 2462 + None, # 2463 + None, # 2464 + None, # 2465 + None, # 2466 + None, # 2467 + None, # 2468 + None, # 2469 + None, # 2470 + None, # 2471 + None, # 2472 + None, # 2473 + None, # 2474 + None, # 2475 + None, # 2476 + None, # 2477 + None, # 2478 + None, # 2479 + None, # 2480 + None, # 2481 + None, # 2482 + None, # 2483 + None, # 2484 + None, # 2485 + None, # 2486 + None, # 2487 + None, # 2488 + None, # 2489 + None, # 2490 + None, # 2491 + None, # 2492 + None, # 2493 + None, # 2494 + None, # 2495 + None, # 2496 + None, # 2497 + None, # 2498 + None, # 2499 + None, # 2500 + None, # 2501 + None, # 2502 + None, # 2503 + None, # 2504 + None, # 2505 + None, # 2506 + None, # 2507 + None, # 2508 + None, # 2509 + None, # 2510 + None, # 2511 + None, # 2512 + None, # 2513 + None, # 2514 + None, # 2515 + None, # 2516 + None, # 2517 + None, # 2518 + None, # 2519 + None, # 2520 + None, # 2521 + None, # 2522 + None, # 2523 + None, # 2524 + None, # 2525 + None, # 2526 + None, # 2527 + None, # 2528 + None, # 2529 + None, # 2530 + None, # 2531 + None, # 2532 + None, # 2533 + None, # 2534 + None, # 2535 + None, # 2536 + None, # 2537 + None, # 2538 + None, # 2539 + None, # 2540 + None, # 2541 + None, # 2542 + None, # 2543 + None, # 2544 + None, # 2545 + None, # 2546 + None, # 2547 + None, # 2548 + None, # 2549 + None, # 2550 + None, # 2551 + None, # 2552 + None, # 2553 + None, # 2554 + None, # 2555 + None, # 2556 + None, # 2557 + None, # 2558 + None, # 2559 + None, # 2560 + None, # 2561 + None, # 2562 + None, # 2563 + None, # 2564 + None, # 2565 + None, # 2566 + None, # 2567 + None, # 2568 + None, # 2569 + None, # 2570 + None, # 2571 + None, # 2572 + None, # 2573 + None, # 2574 + None, # 2575 + None, # 2576 + None, # 2577 + None, # 2578 + None, # 2579 + None, # 2580 + None, # 2581 + None, # 2582 + None, # 2583 + None, # 2584 + None, # 2585 + None, # 2586 + None, # 2587 + None, # 2588 + None, # 2589 + None, # 2590 + None, # 2591 + None, # 2592 + None, # 2593 + None, # 2594 + None, # 2595 + None, # 2596 + None, # 2597 + None, # 2598 + None, # 2599 + None, # 2600 + None, # 2601 + None, # 2602 + None, # 2603 + None, # 2604 + None, # 2605 + None, # 2606 + None, # 2607 + None, # 2608 + None, # 2609 + None, # 2610 + None, # 2611 + None, # 2612 + None, # 2613 + None, # 2614 + None, # 2615 + None, # 2616 + None, # 2617 + None, # 2618 + None, # 2619 + None, # 2620 + None, # 2621 + None, # 2622 + None, # 2623 + None, # 2624 + None, # 2625 + None, # 2626 + None, # 2627 + None, # 2628 + None, # 2629 + None, # 2630 + None, # 2631 + None, # 2632 + None, # 2633 + None, # 2634 + None, # 2635 + None, # 2636 + None, # 2637 + None, # 2638 + None, # 2639 + None, # 2640 + None, # 2641 + None, # 2642 + None, # 2643 + None, # 2644 + None, # 2645 + None, # 2646 + None, # 2647 + None, # 2648 + None, # 2649 + None, # 2650 + None, # 2651 + None, # 2652 + None, # 2653 + None, # 2654 + None, # 2655 + None, # 2656 + None, # 2657 + None, # 2658 + None, # 2659 + None, # 2660 + None, # 2661 + None, # 2662 + None, # 2663 + None, # 2664 + None, # 2665 + None, # 2666 + None, # 2667 + None, # 2668 + None, # 2669 + None, # 2670 + None, # 2671 + None, # 2672 + None, # 2673 + None, # 2674 + None, # 2675 + None, # 2676 + None, # 2677 + None, # 2678 + None, # 2679 + None, # 2680 + None, # 2681 + None, # 2682 + None, # 2683 + None, # 2684 + None, # 2685 + None, # 2686 + None, # 2687 + None, # 2688 + None, # 2689 + None, # 2690 + None, # 2691 + None, # 2692 + None, # 2693 + None, # 2694 + None, # 2695 + None, # 2696 + None, # 2697 + None, # 2698 + None, # 2699 + None, # 2700 + None, # 2701 + None, # 2702 + None, # 2703 + None, # 2704 + None, # 2705 + None, # 2706 + None, # 2707 + None, # 2708 + None, # 2709 + None, # 2710 + None, # 2711 + None, # 2712 + None, # 2713 + None, # 2714 + None, # 2715 + None, # 2716 + None, # 2717 + None, # 2718 + None, # 2719 + None, # 2720 + None, # 2721 + None, # 2722 + None, # 2723 + None, # 2724 + None, # 2725 + None, # 2726 + None, # 2727 + None, # 2728 + None, # 2729 + None, # 2730 + None, # 2731 + None, # 2732 + None, # 2733 + None, # 2734 + None, # 2735 + None, # 2736 + None, # 2737 + None, # 2738 + None, # 2739 + None, # 2740 + None, # 2741 + None, # 2742 + None, # 2743 + None, # 2744 + None, # 2745 + None, # 2746 + None, # 2747 + None, # 2748 + None, # 2749 + None, # 2750 + None, # 2751 + None, # 2752 + None, # 2753 + None, # 2754 + None, # 2755 + None, # 2756 + None, # 2757 + None, # 2758 + None, # 2759 + None, # 2760 + None, # 2761 + None, # 2762 + None, # 2763 + None, # 2764 + None, # 2765 + None, # 2766 + None, # 2767 + None, # 2768 + None, # 2769 + None, # 2770 + None, # 2771 + None, # 2772 + None, # 2773 + None, # 2774 + None, # 2775 + None, # 2776 + None, # 2777 + None, # 2778 + None, # 2779 + None, # 2780 + None, # 2781 + None, # 2782 + None, # 2783 + None, # 2784 + None, # 2785 + None, # 2786 + None, # 2787 + None, # 2788 + None, # 2789 + None, # 2790 + None, # 2791 + None, # 2792 + None, # 2793 + None, # 2794 + None, # 2795 + None, # 2796 + None, # 2797 + None, # 2798 + None, # 2799 + None, # 2800 + None, # 2801 + None, # 2802 + None, # 2803 + None, # 2804 + None, # 2805 + None, # 2806 + None, # 2807 + None, # 2808 + None, # 2809 + None, # 2810 + None, # 2811 + None, # 2812 + None, # 2813 + None, # 2814 + None, # 2815 + None, # 2816 + None, # 2817 + None, # 2818 + None, # 2819 + None, # 2820 + None, # 2821 + None, # 2822 + None, # 2823 + None, # 2824 + None, # 2825 + None, # 2826 + None, # 2827 + None, # 2828 + None, # 2829 + None, # 2830 + None, # 2831 + None, # 2832 + None, # 2833 + None, # 2834 + None, # 2835 + None, # 2836 + None, # 2837 + None, # 2838 + None, # 2839 + None, # 2840 + None, # 2841 + None, # 2842 + None, # 2843 + None, # 2844 + None, # 2845 + None, # 2846 + None, # 2847 + None, # 2848 + None, # 2849 + None, # 2850 + None, # 2851 + None, # 2852 + None, # 2853 + None, # 2854 + None, # 2855 + None, # 2856 + None, # 2857 + None, # 2858 + None, # 2859 + None, # 2860 + None, # 2861 + None, # 2862 + None, # 2863 + None, # 2864 + None, # 2865 + None, # 2866 + None, # 2867 + None, # 2868 + None, # 2869 + None, # 2870 + None, # 2871 + None, # 2872 + None, # 2873 + None, # 2874 + None, # 2875 + None, # 2876 + None, # 2877 + None, # 2878 + None, # 2879 + None, # 2880 + None, # 2881 + None, # 2882 + None, # 2883 + None, # 2884 + None, # 2885 + None, # 2886 + None, # 2887 + None, # 2888 + None, # 2889 + None, # 2890 + None, # 2891 + None, # 2892 + None, # 2893 + None, # 2894 + None, # 2895 + None, # 2896 + None, # 2897 + None, # 2898 + None, # 2899 + None, # 2900 + None, # 2901 + None, # 2902 + None, # 2903 + None, # 2904 + None, # 2905 + None, # 2906 + None, # 2907 + None, # 2908 + None, # 2909 + None, # 2910 + None, # 2911 + None, # 2912 + None, # 2913 + None, # 2914 + None, # 2915 + None, # 2916 + None, # 2917 + None, # 2918 + None, # 2919 + None, # 2920 + None, # 2921 + None, # 2922 + None, # 2923 + None, # 2924 + None, # 2925 + None, # 2926 + None, # 2927 + None, # 2928 + None, # 2929 + None, # 2930 + None, # 2931 + None, # 2932 + None, # 2933 + None, # 2934 + None, # 2935 + None, # 2936 + None, # 2937 + None, # 2938 + None, # 2939 + None, # 2940 + None, # 2941 + None, # 2942 + None, # 2943 + None, # 2944 + None, # 2945 + None, # 2946 + None, # 2947 + None, # 2948 + None, # 2949 + None, # 2950 + None, # 2951 + None, # 2952 + None, # 2953 + None, # 2954 + None, # 2955 + None, # 2956 + None, # 2957 + None, # 2958 + None, # 2959 + None, # 2960 + None, # 2961 + None, # 2962 + None, # 2963 + None, # 2964 + None, # 2965 + None, # 2966 + None, # 2967 + None, # 2968 + None, # 2969 + None, # 2970 + None, # 2971 + None, # 2972 + None, # 2973 + None, # 2974 + None, # 2975 + None, # 2976 + None, # 2977 + None, # 2978 + None, # 2979 + None, # 2980 + None, # 2981 + None, # 2982 + None, # 2983 + None, # 2984 + None, # 2985 + None, # 2986 + None, # 2987 + None, # 2988 + None, # 2989 + None, # 2990 + None, # 2991 + None, # 2992 + None, # 2993 + None, # 2994 + None, # 2995 + None, # 2996 + None, # 2997 + None, # 2998 + None, # 2999 + None, # 3000 + None, # 3001 + None, # 3002 + None, # 3003 + None, # 3004 + None, # 3005 + None, # 3006 + None, # 3007 + None, # 3008 + None, # 3009 + None, # 3010 + None, # 3011 + None, # 3012 + None, # 3013 + None, # 3014 + None, # 3015 + None, # 3016 + None, # 3017 + None, # 3018 + None, # 3019 + None, # 3020 + None, # 3021 + None, # 3022 + None, # 3023 + None, # 3024 + None, # 3025 + None, # 3026 + None, # 3027 + None, # 3028 + None, # 3029 + None, # 3030 + None, # 3031 + None, # 3032 + None, # 3033 + None, # 3034 + None, # 3035 + None, # 3036 + None, # 3037 + None, # 3038 + None, # 3039 + None, # 3040 + None, # 3041 + None, # 3042 + None, # 3043 + None, # 3044 + None, # 3045 + None, # 3046 + None, # 3047 + None, # 3048 + None, # 3049 + None, # 3050 + None, # 3051 + None, # 3052 + None, # 3053 + None, # 3054 + None, # 3055 + None, # 3056 + None, # 3057 + None, # 3058 + None, # 3059 + None, # 3060 + None, # 3061 + None, # 3062 + None, # 3063 + None, # 3064 + None, # 3065 + None, # 3066 + None, # 3067 + None, # 3068 + None, # 3069 + None, # 3070 + None, # 3071 + None, # 3072 + None, # 3073 + None, # 3074 + None, # 3075 + None, # 3076 + None, # 3077 + None, # 3078 + None, # 3079 + None, # 3080 + None, # 3081 + None, # 3082 + None, # 3083 + None, # 3084 + None, # 3085 + None, # 3086 + None, # 3087 + None, # 3088 + None, # 3089 + None, # 3090 + None, # 3091 + None, # 3092 + None, # 3093 + None, # 3094 + None, # 3095 + None, # 3096 + None, # 3097 + None, # 3098 + None, # 3099 + None, # 3100 + None, # 3101 + None, # 3102 + None, # 3103 + None, # 3104 + None, # 3105 + None, # 3106 + None, # 3107 + None, # 3108 + None, # 3109 + None, # 3110 + None, # 3111 + None, # 3112 + None, # 3113 + None, # 3114 + None, # 3115 + None, # 3116 + None, # 3117 + None, # 3118 + None, # 3119 + None, # 3120 + None, # 3121 + None, # 3122 + None, # 3123 + None, # 3124 + None, # 3125 + None, # 3126 + None, # 3127 + None, # 3128 + None, # 3129 + None, # 3130 + None, # 3131 + None, # 3132 + None, # 3133 + None, # 3134 + None, # 3135 + None, # 3136 + None, # 3137 + None, # 3138 + None, # 3139 + None, # 3140 + None, # 3141 + None, # 3142 + None, # 3143 + None, # 3144 + None, # 3145 + None, # 3146 + None, # 3147 + None, # 3148 + None, # 3149 + None, # 3150 + None, # 3151 + None, # 3152 + None, # 3153 + None, # 3154 + None, # 3155 + None, # 3156 + None, # 3157 + None, # 3158 + None, # 3159 + None, # 3160 + None, # 3161 + None, # 3162 + None, # 3163 + None, # 3164 + None, # 3165 + None, # 3166 + None, # 3167 + None, # 3168 + None, # 3169 + None, # 3170 + None, # 3171 + None, # 3172 + None, # 3173 + None, # 3174 + None, # 3175 + None, # 3176 + None, # 3177 + None, # 3178 + None, # 3179 + None, # 3180 + None, # 3181 + None, # 3182 + None, # 3183 + None, # 3184 + None, # 3185 + None, # 3186 + None, # 3187 + None, # 3188 + None, # 3189 + None, # 3190 + None, # 3191 + None, # 3192 + None, # 3193 + None, # 3194 + None, # 3195 + None, # 3196 + None, # 3197 + None, # 3198 + None, # 3199 + None, # 3200 + None, # 3201 + None, # 3202 + None, # 3203 + None, # 3204 + None, # 3205 + None, # 3206 + None, # 3207 + None, # 3208 + None, # 3209 + None, # 3210 + None, # 3211 + None, # 3212 + None, # 3213 + None, # 3214 + None, # 3215 + None, # 3216 + None, # 3217 + None, # 3218 + None, # 3219 + None, # 3220 + None, # 3221 + None, # 3222 + None, # 3223 + None, # 3224 + None, # 3225 + None, # 3226 + None, # 3227 + None, # 3228 + None, # 3229 + None, # 3230 + None, # 3231 + None, # 3232 + None, # 3233 + None, # 3234 + None, # 3235 + None, # 3236 + None, # 3237 + None, # 3238 + None, # 3239 + None, # 3240 + None, # 3241 + None, # 3242 + None, # 3243 + None, # 3244 + None, # 3245 + None, # 3246 + None, # 3247 + None, # 3248 + None, # 3249 + None, # 3250 + None, # 3251 + None, # 3252 + None, # 3253 + None, # 3254 + None, # 3255 + None, # 3256 + None, # 3257 + None, # 3258 + None, # 3259 + None, # 3260 + None, # 3261 + None, # 3262 + None, # 3263 + None, # 3264 + None, # 3265 + None, # 3266 + None, # 3267 + None, # 3268 + None, # 3269 + None, # 3270 + None, # 3271 + None, # 3272 + None, # 3273 + None, # 3274 + None, # 3275 + None, # 3276 + None, # 3277 + None, # 3278 + None, # 3279 + None, # 3280 + None, # 3281 + None, # 3282 + None, # 3283 + None, # 3284 + None, # 3285 + None, # 3286 + None, # 3287 + None, # 3288 + None, # 3289 + None, # 3290 + None, # 3291 + None, # 3292 + None, # 3293 + None, # 3294 + None, # 3295 + None, # 3296 + None, # 3297 + None, # 3298 + None, # 3299 + None, # 3300 + None, # 3301 + None, # 3302 + None, # 3303 + None, # 3304 + None, # 3305 + None, # 3306 + None, # 3307 + None, # 3308 + None, # 3309 + None, # 3310 + None, # 3311 + None, # 3312 + None, # 3313 + None, # 3314 + None, # 3315 + None, # 3316 + None, # 3317 + None, # 3318 + None, # 3319 + None, # 3320 + None, # 3321 + None, # 3322 + None, # 3323 + None, # 3324 + None, # 3325 + None, # 3326 + None, # 3327 + None, # 3328 + (3329, TType.BOOL, 'executionRejected', None, None, ), # 3329 + (3330, TType.DOUBLE, 'maxClusterCapacity', None, None, ), # 3330 + (3331, TType.DOUBLE, 'queryCost', None, None, ), # 3331 + (3332, TType.STRUCT, 'sessionConf', [TDBSqlSessionConf, None], None, ), # 3332 + (3333, TType.DOUBLE, 'currentClusterLoad', None, None, ), # 3333 + (3334, TType.I32, 'idempotencyType', None, None, ), # 3334 + (3335, TType.BOOL, 'remoteResultCacheEnabled', None, None, ), # 3335 + (3336, TType.BOOL, 'isServerless', None, None, ), # 3336 + (3337, TType.LIST, 'operationHandles', (TType.STRUCT, [TOperationHandle, None], False), None, ), # 3337 ) all_structs.append(TGetTypeInfoReq) TGetTypeInfoReq.thrift_spec = ( - None, # 0 - (1, TType.STRUCT, 'sessionHandle', [TSessionHandle, None], None, ), # 1 - None, # 2 - None, # 3 - None, # 4 - None, # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - (1281, TType.STRUCT, 'getDirectResults', [TSparkGetDirectResults, None], None, ), # 1281 - (1282, TType.BOOL, 'runAsync', None, False, ), # 1282 - None, # 1283 - None, # 1284 - None, # 1285 - None, # 1286 - None, # 1287 - None, # 1288 - None, # 1289 - None, # 1290 - None, # 1291 - None, # 1292 - None, # 1293 - None, # 1294 - None, # 1295 - None, # 1296 - None, # 1297 - None, # 1298 - None, # 1299 - None, # 1300 - None, # 1301 - None, # 1302 - None, # 1303 - None, # 1304 - None, # 1305 - None, # 1306 - None, # 1307 - None, # 1308 - None, # 1309 - None, # 1310 - None, # 1311 - None, # 1312 - None, # 1313 - None, # 1314 - None, # 1315 - None, # 1316 - None, # 1317 - None, # 1318 - None, # 1319 - None, # 1320 - None, # 1321 - None, # 1322 - None, # 1323 - None, # 1324 - None, # 1325 - None, # 1326 - None, # 1327 - None, # 1328 - None, # 1329 - None, # 1330 - None, # 1331 - None, # 1332 - None, # 1333 - None, # 1334 - None, # 1335 - None, # 1336 - None, # 1337 - None, # 1338 - None, # 1339 - None, # 1340 - None, # 1341 - None, # 1342 - None, # 1343 - None, # 1344 - None, # 1345 - None, # 1346 - None, # 1347 - None, # 1348 - None, # 1349 - None, # 1350 - None, # 1351 - None, # 1352 - None, # 1353 - None, # 1354 - None, # 1355 - None, # 1356 - None, # 1357 - None, # 1358 - None, # 1359 - None, # 1360 - None, # 1361 - None, # 1362 - None, # 1363 - None, # 1364 - None, # 1365 - None, # 1366 - None, # 1367 - None, # 1368 - None, # 1369 - None, # 1370 - None, # 1371 - None, # 1372 - None, # 1373 - None, # 1374 - None, # 1375 - None, # 1376 - None, # 1377 - None, # 1378 - None, # 1379 - None, # 1380 - None, # 1381 - None, # 1382 - None, # 1383 - None, # 1384 - None, # 1385 - None, # 1386 - None, # 1387 - None, # 1388 - None, # 1389 - None, # 1390 - None, # 1391 - None, # 1392 - None, # 1393 - None, # 1394 - None, # 1395 - None, # 1396 - None, # 1397 - None, # 1398 - None, # 1399 - None, # 1400 - None, # 1401 - None, # 1402 - None, # 1403 - None, # 1404 - None, # 1405 - None, # 1406 - None, # 1407 - None, # 1408 - None, # 1409 - None, # 1410 - None, # 1411 - None, # 1412 - None, # 1413 - None, # 1414 - None, # 1415 - None, # 1416 - None, # 1417 - None, # 1418 - None, # 1419 - None, # 1420 - None, # 1421 - None, # 1422 - None, # 1423 - None, # 1424 - None, # 1425 - None, # 1426 - None, # 1427 - None, # 1428 - None, # 1429 - None, # 1430 - None, # 1431 - None, # 1432 - None, # 1433 - None, # 1434 - None, # 1435 - None, # 1436 - None, # 1437 - None, # 1438 - None, # 1439 - None, # 1440 - None, # 1441 - None, # 1442 - None, # 1443 - None, # 1444 - None, # 1445 - None, # 1446 - None, # 1447 - None, # 1448 - None, # 1449 - None, # 1450 - None, # 1451 - None, # 1452 - None, # 1453 - None, # 1454 - None, # 1455 - None, # 1456 - None, # 1457 - None, # 1458 - None, # 1459 - None, # 1460 - None, # 1461 - None, # 1462 - None, # 1463 - None, # 1464 - None, # 1465 - None, # 1466 - None, # 1467 - None, # 1468 - None, # 1469 - None, # 1470 - None, # 1471 - None, # 1472 - None, # 1473 - None, # 1474 - None, # 1475 - None, # 1476 - None, # 1477 - None, # 1478 - None, # 1479 - None, # 1480 - None, # 1481 - None, # 1482 - None, # 1483 - None, # 1484 - None, # 1485 - None, # 1486 - None, # 1487 - None, # 1488 - None, # 1489 - None, # 1490 - None, # 1491 - None, # 1492 - None, # 1493 - None, # 1494 - None, # 1495 - None, # 1496 - None, # 1497 - None, # 1498 - None, # 1499 - None, # 1500 - None, # 1501 - None, # 1502 - None, # 1503 - None, # 1504 - None, # 1505 - None, # 1506 - None, # 1507 - None, # 1508 - None, # 1509 - None, # 1510 - None, # 1511 - None, # 1512 - None, # 1513 - None, # 1514 - None, # 1515 - None, # 1516 - None, # 1517 - None, # 1518 - None, # 1519 - None, # 1520 - None, # 1521 - None, # 1522 - None, # 1523 - None, # 1524 - None, # 1525 - None, # 1526 - None, # 1527 - None, # 1528 - None, # 1529 - None, # 1530 - None, # 1531 - None, # 1532 - None, # 1533 - None, # 1534 - None, # 1535 - None, # 1536 - None, # 1537 - None, # 1538 - None, # 1539 - None, # 1540 - None, # 1541 - None, # 1542 - None, # 1543 - None, # 1544 - None, # 1545 - None, # 1546 - None, # 1547 - None, # 1548 - None, # 1549 - None, # 1550 - None, # 1551 - None, # 1552 - None, # 1553 - None, # 1554 - None, # 1555 - None, # 1556 - None, # 1557 - None, # 1558 - None, # 1559 - None, # 1560 - None, # 1561 - None, # 1562 - None, # 1563 - None, # 1564 - None, # 1565 - None, # 1566 - None, # 1567 - None, # 1568 - None, # 1569 - None, # 1570 - None, # 1571 - None, # 1572 - None, # 1573 - None, # 1574 - None, # 1575 - None, # 1576 - None, # 1577 - None, # 1578 - None, # 1579 - None, # 1580 - None, # 1581 - None, # 1582 - None, # 1583 - None, # 1584 - None, # 1585 - None, # 1586 - None, # 1587 - None, # 1588 - None, # 1589 - None, # 1590 - None, # 1591 - None, # 1592 - None, # 1593 - None, # 1594 - None, # 1595 - None, # 1596 - None, # 1597 - None, # 1598 - None, # 1599 - None, # 1600 - None, # 1601 - None, # 1602 - None, # 1603 - None, # 1604 - None, # 1605 - None, # 1606 - None, # 1607 - None, # 1608 - None, # 1609 - None, # 1610 - None, # 1611 - None, # 1612 - None, # 1613 - None, # 1614 - None, # 1615 - None, # 1616 - None, # 1617 - None, # 1618 - None, # 1619 - None, # 1620 - None, # 1621 - None, # 1622 - None, # 1623 - None, # 1624 - None, # 1625 - None, # 1626 - None, # 1627 - None, # 1628 - None, # 1629 - None, # 1630 - None, # 1631 - None, # 1632 - None, # 1633 - None, # 1634 - None, # 1635 - None, # 1636 - None, # 1637 - None, # 1638 - None, # 1639 - None, # 1640 - None, # 1641 - None, # 1642 - None, # 1643 - None, # 1644 - None, # 1645 - None, # 1646 - None, # 1647 - None, # 1648 - None, # 1649 - None, # 1650 - None, # 1651 - None, # 1652 - None, # 1653 - None, # 1654 - None, # 1655 - None, # 1656 - None, # 1657 - None, # 1658 - None, # 1659 - None, # 1660 - None, # 1661 - None, # 1662 - None, # 1663 - None, # 1664 - None, # 1665 - None, # 1666 - None, # 1667 - None, # 1668 - None, # 1669 - None, # 1670 - None, # 1671 - None, # 1672 - None, # 1673 - None, # 1674 - None, # 1675 - None, # 1676 - None, # 1677 - None, # 1678 - None, # 1679 - None, # 1680 - None, # 1681 - None, # 1682 - None, # 1683 - None, # 1684 - None, # 1685 - None, # 1686 - None, # 1687 - None, # 1688 - None, # 1689 - None, # 1690 - None, # 1691 - None, # 1692 - None, # 1693 - None, # 1694 - None, # 1695 - None, # 1696 - None, # 1697 - None, # 1698 - None, # 1699 - None, # 1700 - None, # 1701 - None, # 1702 - None, # 1703 - None, # 1704 - None, # 1705 - None, # 1706 - None, # 1707 - None, # 1708 - None, # 1709 - None, # 1710 - None, # 1711 - None, # 1712 - None, # 1713 - None, # 1714 - None, # 1715 - None, # 1716 - None, # 1717 - None, # 1718 - None, # 1719 - None, # 1720 - None, # 1721 - None, # 1722 - None, # 1723 - None, # 1724 - None, # 1725 - None, # 1726 - None, # 1727 - None, # 1728 - None, # 1729 - None, # 1730 - None, # 1731 - None, # 1732 - None, # 1733 - None, # 1734 - None, # 1735 - None, # 1736 - None, # 1737 - None, # 1738 - None, # 1739 - None, # 1740 - None, # 1741 - None, # 1742 - None, # 1743 - None, # 1744 - None, # 1745 - None, # 1746 - None, # 1747 - None, # 1748 - None, # 1749 - None, # 1750 - None, # 1751 - None, # 1752 - None, # 1753 - None, # 1754 - None, # 1755 - None, # 1756 - None, # 1757 - None, # 1758 - None, # 1759 - None, # 1760 - None, # 1761 - None, # 1762 - None, # 1763 - None, # 1764 - None, # 1765 - None, # 1766 - None, # 1767 - None, # 1768 - None, # 1769 - None, # 1770 - None, # 1771 - None, # 1772 - None, # 1773 - None, # 1774 - None, # 1775 - None, # 1776 - None, # 1777 - None, # 1778 - None, # 1779 - None, # 1780 - None, # 1781 - None, # 1782 - None, # 1783 - None, # 1784 - None, # 1785 - None, # 1786 - None, # 1787 - None, # 1788 - None, # 1789 - None, # 1790 - None, # 1791 - None, # 1792 - None, # 1793 - None, # 1794 - None, # 1795 - None, # 1796 - None, # 1797 - None, # 1798 - None, # 1799 - None, # 1800 - None, # 1801 - None, # 1802 - None, # 1803 - None, # 1804 - None, # 1805 - None, # 1806 - None, # 1807 - None, # 1808 - None, # 1809 - None, # 1810 - None, # 1811 - None, # 1812 - None, # 1813 - None, # 1814 - None, # 1815 - None, # 1816 - None, # 1817 - None, # 1818 - None, # 1819 - None, # 1820 - None, # 1821 - None, # 1822 - None, # 1823 - None, # 1824 - None, # 1825 - None, # 1826 - None, # 1827 - None, # 1828 - None, # 1829 - None, # 1830 - None, # 1831 - None, # 1832 - None, # 1833 - None, # 1834 - None, # 1835 - None, # 1836 - None, # 1837 - None, # 1838 - None, # 1839 - None, # 1840 - None, # 1841 - None, # 1842 - None, # 1843 - None, # 1844 - None, # 1845 - None, # 1846 - None, # 1847 - None, # 1848 - None, # 1849 - None, # 1850 - None, # 1851 - None, # 1852 - None, # 1853 - None, # 1854 - None, # 1855 - None, # 1856 - None, # 1857 - None, # 1858 - None, # 1859 - None, # 1860 - None, # 1861 - None, # 1862 - None, # 1863 - None, # 1864 - None, # 1865 - None, # 1866 - None, # 1867 - None, # 1868 - None, # 1869 - None, # 1870 - None, # 1871 - None, # 1872 - None, # 1873 - None, # 1874 - None, # 1875 - None, # 1876 - None, # 1877 - None, # 1878 - None, # 1879 - None, # 1880 - None, # 1881 - None, # 1882 - None, # 1883 - None, # 1884 - None, # 1885 - None, # 1886 - None, # 1887 - None, # 1888 - None, # 1889 - None, # 1890 - None, # 1891 - None, # 1892 - None, # 1893 - None, # 1894 - None, # 1895 - None, # 1896 - None, # 1897 - None, # 1898 - None, # 1899 - None, # 1900 - None, # 1901 - None, # 1902 - None, # 1903 - None, # 1904 - None, # 1905 - None, # 1906 - None, # 1907 - None, # 1908 - None, # 1909 - None, # 1910 - None, # 1911 - None, # 1912 - None, # 1913 - None, # 1914 - None, # 1915 - None, # 1916 - None, # 1917 - None, # 1918 - None, # 1919 - None, # 1920 - None, # 1921 - None, # 1922 - None, # 1923 - None, # 1924 - None, # 1925 - None, # 1926 - None, # 1927 - None, # 1928 - None, # 1929 - None, # 1930 - None, # 1931 - None, # 1932 - None, # 1933 - None, # 1934 - None, # 1935 - None, # 1936 - None, # 1937 - None, # 1938 - None, # 1939 - None, # 1940 - None, # 1941 - None, # 1942 - None, # 1943 - None, # 1944 - None, # 1945 - None, # 1946 - None, # 1947 - None, # 1948 - None, # 1949 - None, # 1950 - None, # 1951 - None, # 1952 - None, # 1953 - None, # 1954 - None, # 1955 - None, # 1956 - None, # 1957 - None, # 1958 - None, # 1959 - None, # 1960 - None, # 1961 - None, # 1962 - None, # 1963 - None, # 1964 - None, # 1965 - None, # 1966 - None, # 1967 - None, # 1968 - None, # 1969 - None, # 1970 - None, # 1971 - None, # 1972 - None, # 1973 - None, # 1974 - None, # 1975 - None, # 1976 - None, # 1977 - None, # 1978 - None, # 1979 - None, # 1980 - None, # 1981 - None, # 1982 - None, # 1983 - None, # 1984 - None, # 1985 - None, # 1986 - None, # 1987 - None, # 1988 - None, # 1989 - None, # 1990 - None, # 1991 - None, # 1992 - None, # 1993 - None, # 1994 - None, # 1995 - None, # 1996 - None, # 1997 - None, # 1998 - None, # 1999 - None, # 2000 - None, # 2001 - None, # 2002 - None, # 2003 - None, # 2004 - None, # 2005 - None, # 2006 - None, # 2007 - None, # 2008 - None, # 2009 - None, # 2010 - None, # 2011 - None, # 2012 - None, # 2013 - None, # 2014 - None, # 2015 - None, # 2016 - None, # 2017 - None, # 2018 - None, # 2019 - None, # 2020 - None, # 2021 - None, # 2022 - None, # 2023 - None, # 2024 - None, # 2025 - None, # 2026 - None, # 2027 - None, # 2028 - None, # 2029 - None, # 2030 - None, # 2031 - None, # 2032 - None, # 2033 - None, # 2034 - None, # 2035 - None, # 2036 - None, # 2037 - None, # 2038 - None, # 2039 - None, # 2040 - None, # 2041 - None, # 2042 - None, # 2043 - None, # 2044 - None, # 2045 - None, # 2046 - None, # 2047 - None, # 2048 - None, # 2049 - None, # 2050 - None, # 2051 - None, # 2052 - None, # 2053 - None, # 2054 - None, # 2055 - None, # 2056 - None, # 2057 - None, # 2058 - None, # 2059 - None, # 2060 - None, # 2061 - None, # 2062 - None, # 2063 - None, # 2064 - None, # 2065 - None, # 2066 - None, # 2067 - None, # 2068 - None, # 2069 - None, # 2070 - None, # 2071 - None, # 2072 - None, # 2073 - None, # 2074 - None, # 2075 - None, # 2076 - None, # 2077 - None, # 2078 - None, # 2079 - None, # 2080 - None, # 2081 - None, # 2082 - None, # 2083 - None, # 2084 - None, # 2085 - None, # 2086 - None, # 2087 - None, # 2088 - None, # 2089 - None, # 2090 - None, # 2091 - None, # 2092 - None, # 2093 - None, # 2094 - None, # 2095 - None, # 2096 - None, # 2097 - None, # 2098 - None, # 2099 - None, # 2100 - None, # 2101 - None, # 2102 - None, # 2103 - None, # 2104 - None, # 2105 - None, # 2106 - None, # 2107 - None, # 2108 - None, # 2109 - None, # 2110 - None, # 2111 - None, # 2112 - None, # 2113 - None, # 2114 - None, # 2115 - None, # 2116 - None, # 2117 - None, # 2118 - None, # 2119 - None, # 2120 - None, # 2121 - None, # 2122 - None, # 2123 - None, # 2124 - None, # 2125 - None, # 2126 - None, # 2127 - None, # 2128 - None, # 2129 - None, # 2130 - None, # 2131 - None, # 2132 - None, # 2133 - None, # 2134 - None, # 2135 - None, # 2136 - None, # 2137 - None, # 2138 - None, # 2139 - None, # 2140 - None, # 2141 - None, # 2142 - None, # 2143 - None, # 2144 - None, # 2145 - None, # 2146 - None, # 2147 - None, # 2148 - None, # 2149 - None, # 2150 - None, # 2151 - None, # 2152 - None, # 2153 - None, # 2154 - None, # 2155 - None, # 2156 - None, # 2157 - None, # 2158 - None, # 2159 - None, # 2160 - None, # 2161 - None, # 2162 - None, # 2163 - None, # 2164 - None, # 2165 - None, # 2166 - None, # 2167 - None, # 2168 - None, # 2169 - None, # 2170 - None, # 2171 - None, # 2172 - None, # 2173 - None, # 2174 - None, # 2175 - None, # 2176 - None, # 2177 - None, # 2178 - None, # 2179 - None, # 2180 - None, # 2181 - None, # 2182 - None, # 2183 - None, # 2184 - None, # 2185 - None, # 2186 - None, # 2187 - None, # 2188 - None, # 2189 - None, # 2190 - None, # 2191 - None, # 2192 - None, # 2193 - None, # 2194 - None, # 2195 - None, # 2196 - None, # 2197 - None, # 2198 - None, # 2199 - None, # 2200 - None, # 2201 - None, # 2202 - None, # 2203 - None, # 2204 - None, # 2205 - None, # 2206 - None, # 2207 - None, # 2208 - None, # 2209 - None, # 2210 - None, # 2211 - None, # 2212 - None, # 2213 - None, # 2214 - None, # 2215 - None, # 2216 - None, # 2217 - None, # 2218 - None, # 2219 - None, # 2220 - None, # 2221 - None, # 2222 - None, # 2223 - None, # 2224 - None, # 2225 - None, # 2226 - None, # 2227 - None, # 2228 - None, # 2229 - None, # 2230 - None, # 2231 - None, # 2232 - None, # 2233 - None, # 2234 - None, # 2235 - None, # 2236 - None, # 2237 - None, # 2238 - None, # 2239 - None, # 2240 - None, # 2241 - None, # 2242 - None, # 2243 - None, # 2244 - None, # 2245 - None, # 2246 - None, # 2247 - None, # 2248 - None, # 2249 - None, # 2250 - None, # 2251 - None, # 2252 - None, # 2253 - None, # 2254 - None, # 2255 - None, # 2256 - None, # 2257 - None, # 2258 - None, # 2259 - None, # 2260 - None, # 2261 - None, # 2262 - None, # 2263 - None, # 2264 - None, # 2265 - None, # 2266 - None, # 2267 - None, # 2268 - None, # 2269 - None, # 2270 - None, # 2271 - None, # 2272 - None, # 2273 - None, # 2274 - None, # 2275 - None, # 2276 - None, # 2277 - None, # 2278 - None, # 2279 - None, # 2280 - None, # 2281 - None, # 2282 - None, # 2283 - None, # 2284 - None, # 2285 - None, # 2286 - None, # 2287 - None, # 2288 - None, # 2289 - None, # 2290 - None, # 2291 - None, # 2292 - None, # 2293 - None, # 2294 - None, # 2295 - None, # 2296 - None, # 2297 - None, # 2298 - None, # 2299 - None, # 2300 - None, # 2301 - None, # 2302 - None, # 2303 - None, # 2304 - None, # 2305 - None, # 2306 - None, # 2307 - None, # 2308 - None, # 2309 - None, # 2310 - None, # 2311 - None, # 2312 - None, # 2313 - None, # 2314 - None, # 2315 - None, # 2316 - None, # 2317 - None, # 2318 - None, # 2319 - None, # 2320 - None, # 2321 - None, # 2322 - None, # 2323 - None, # 2324 - None, # 2325 - None, # 2326 - None, # 2327 - None, # 2328 - None, # 2329 - None, # 2330 - None, # 2331 - None, # 2332 - None, # 2333 - None, # 2334 - None, # 2335 - None, # 2336 - None, # 2337 - None, # 2338 - None, # 2339 - None, # 2340 - None, # 2341 - None, # 2342 - None, # 2343 - None, # 2344 - None, # 2345 - None, # 2346 - None, # 2347 - None, # 2348 - None, # 2349 - None, # 2350 - None, # 2351 - None, # 2352 - None, # 2353 - None, # 2354 - None, # 2355 - None, # 2356 - None, # 2357 - None, # 2358 - None, # 2359 - None, # 2360 - None, # 2361 - None, # 2362 - None, # 2363 - None, # 2364 - None, # 2365 - None, # 2366 - None, # 2367 - None, # 2368 - None, # 2369 - None, # 2370 - None, # 2371 - None, # 2372 - None, # 2373 - None, # 2374 - None, # 2375 - None, # 2376 - None, # 2377 - None, # 2378 - None, # 2379 - None, # 2380 - None, # 2381 - None, # 2382 - None, # 2383 - None, # 2384 - None, # 2385 - None, # 2386 - None, # 2387 - None, # 2388 - None, # 2389 - None, # 2390 - None, # 2391 - None, # 2392 - None, # 2393 - None, # 2394 - None, # 2395 - None, # 2396 - None, # 2397 - None, # 2398 - None, # 2399 - None, # 2400 - None, # 2401 - None, # 2402 - None, # 2403 - None, # 2404 - None, # 2405 - None, # 2406 - None, # 2407 - None, # 2408 - None, # 2409 - None, # 2410 - None, # 2411 - None, # 2412 - None, # 2413 - None, # 2414 - None, # 2415 - None, # 2416 - None, # 2417 - None, # 2418 - None, # 2419 - None, # 2420 - None, # 2421 - None, # 2422 - None, # 2423 - None, # 2424 - None, # 2425 - None, # 2426 - None, # 2427 - None, # 2428 - None, # 2429 - None, # 2430 - None, # 2431 - None, # 2432 - None, # 2433 - None, # 2434 - None, # 2435 - None, # 2436 - None, # 2437 - None, # 2438 - None, # 2439 - None, # 2440 - None, # 2441 - None, # 2442 - None, # 2443 - None, # 2444 - None, # 2445 - None, # 2446 - None, # 2447 - None, # 2448 - None, # 2449 - None, # 2450 - None, # 2451 - None, # 2452 - None, # 2453 - None, # 2454 - None, # 2455 - None, # 2456 - None, # 2457 - None, # 2458 - None, # 2459 - None, # 2460 - None, # 2461 - None, # 2462 - None, # 2463 - None, # 2464 - None, # 2465 - None, # 2466 - None, # 2467 - None, # 2468 - None, # 2469 - None, # 2470 - None, # 2471 - None, # 2472 - None, # 2473 - None, # 2474 - None, # 2475 - None, # 2476 - None, # 2477 - None, # 2478 - None, # 2479 - None, # 2480 - None, # 2481 - None, # 2482 - None, # 2483 - None, # 2484 - None, # 2485 - None, # 2486 - None, # 2487 - None, # 2488 - None, # 2489 - None, # 2490 - None, # 2491 - None, # 2492 - None, # 2493 - None, # 2494 - None, # 2495 - None, # 2496 - None, # 2497 - None, # 2498 - None, # 2499 - None, # 2500 - None, # 2501 - None, # 2502 - None, # 2503 - None, # 2504 - None, # 2505 - None, # 2506 - None, # 2507 - None, # 2508 - None, # 2509 - None, # 2510 - None, # 2511 - None, # 2512 - None, # 2513 - None, # 2514 - None, # 2515 - None, # 2516 - None, # 2517 - None, # 2518 - None, # 2519 - None, # 2520 - None, # 2521 - None, # 2522 - None, # 2523 - None, # 2524 - None, # 2525 - None, # 2526 - None, # 2527 - None, # 2528 - None, # 2529 - None, # 2530 - None, # 2531 - None, # 2532 - None, # 2533 - None, # 2534 - None, # 2535 - None, # 2536 - None, # 2537 - None, # 2538 - None, # 2539 - None, # 2540 - None, # 2541 - None, # 2542 - None, # 2543 - None, # 2544 - None, # 2545 - None, # 2546 - None, # 2547 - None, # 2548 - None, # 2549 - None, # 2550 - None, # 2551 - None, # 2552 - None, # 2553 - None, # 2554 - None, # 2555 - None, # 2556 - None, # 2557 - None, # 2558 - None, # 2559 - None, # 2560 - None, # 2561 - None, # 2562 - None, # 2563 - None, # 2564 - None, # 2565 - None, # 2566 - None, # 2567 - None, # 2568 - None, # 2569 - None, # 2570 - None, # 2571 - None, # 2572 - None, # 2573 - None, # 2574 - None, # 2575 - None, # 2576 - None, # 2577 - None, # 2578 - None, # 2579 - None, # 2580 - None, # 2581 - None, # 2582 - None, # 2583 - None, # 2584 - None, # 2585 - None, # 2586 - None, # 2587 - None, # 2588 - None, # 2589 - None, # 2590 - None, # 2591 - None, # 2592 - None, # 2593 - None, # 2594 - None, # 2595 - None, # 2596 - None, # 2597 - None, # 2598 - None, # 2599 - None, # 2600 - None, # 2601 - None, # 2602 - None, # 2603 - None, # 2604 - None, # 2605 - None, # 2606 - None, # 2607 - None, # 2608 - None, # 2609 - None, # 2610 - None, # 2611 - None, # 2612 - None, # 2613 - None, # 2614 - None, # 2615 - None, # 2616 - None, # 2617 - None, # 2618 - None, # 2619 - None, # 2620 - None, # 2621 - None, # 2622 - None, # 2623 - None, # 2624 - None, # 2625 - None, # 2626 - None, # 2627 - None, # 2628 - None, # 2629 - None, # 2630 - None, # 2631 - None, # 2632 - None, # 2633 - None, # 2634 - None, # 2635 - None, # 2636 - None, # 2637 - None, # 2638 - None, # 2639 - None, # 2640 - None, # 2641 - None, # 2642 - None, # 2643 - None, # 2644 - None, # 2645 - None, # 2646 - None, # 2647 - None, # 2648 - None, # 2649 - None, # 2650 - None, # 2651 - None, # 2652 - None, # 2653 - None, # 2654 - None, # 2655 - None, # 2656 - None, # 2657 - None, # 2658 - None, # 2659 - None, # 2660 - None, # 2661 - None, # 2662 - None, # 2663 - None, # 2664 - None, # 2665 - None, # 2666 - None, # 2667 - None, # 2668 - None, # 2669 - None, # 2670 - None, # 2671 - None, # 2672 - None, # 2673 - None, # 2674 - None, # 2675 - None, # 2676 - None, # 2677 - None, # 2678 - None, # 2679 - None, # 2680 - None, # 2681 - None, # 2682 - None, # 2683 - None, # 2684 - None, # 2685 - None, # 2686 - None, # 2687 - None, # 2688 - None, # 2689 - None, # 2690 - None, # 2691 - None, # 2692 - None, # 2693 - None, # 2694 - None, # 2695 - None, # 2696 - None, # 2697 - None, # 2698 - None, # 2699 - None, # 2700 - None, # 2701 - None, # 2702 - None, # 2703 - None, # 2704 - None, # 2705 - None, # 2706 - None, # 2707 - None, # 2708 - None, # 2709 - None, # 2710 - None, # 2711 - None, # 2712 - None, # 2713 - None, # 2714 - None, # 2715 - None, # 2716 - None, # 2717 - None, # 2718 - None, # 2719 - None, # 2720 - None, # 2721 - None, # 2722 - None, # 2723 - None, # 2724 - None, # 2725 - None, # 2726 - None, # 2727 - None, # 2728 - None, # 2729 - None, # 2730 - None, # 2731 - None, # 2732 - None, # 2733 - None, # 2734 - None, # 2735 - None, # 2736 - None, # 2737 - None, # 2738 - None, # 2739 - None, # 2740 - None, # 2741 - None, # 2742 - None, # 2743 - None, # 2744 - None, # 2745 - None, # 2746 - None, # 2747 - None, # 2748 - None, # 2749 - None, # 2750 - None, # 2751 - None, # 2752 - None, # 2753 - None, # 2754 - None, # 2755 - None, # 2756 - None, # 2757 - None, # 2758 - None, # 2759 - None, # 2760 - None, # 2761 - None, # 2762 - None, # 2763 - None, # 2764 - None, # 2765 - None, # 2766 - None, # 2767 - None, # 2768 - None, # 2769 - None, # 2770 - None, # 2771 - None, # 2772 - None, # 2773 - None, # 2774 - None, # 2775 - None, # 2776 - None, # 2777 - None, # 2778 - None, # 2779 - None, # 2780 - None, # 2781 - None, # 2782 - None, # 2783 - None, # 2784 - None, # 2785 - None, # 2786 - None, # 2787 - None, # 2788 - None, # 2789 - None, # 2790 - None, # 2791 - None, # 2792 - None, # 2793 - None, # 2794 - None, # 2795 - None, # 2796 - None, # 2797 - None, # 2798 - None, # 2799 - None, # 2800 - None, # 2801 - None, # 2802 - None, # 2803 - None, # 2804 - None, # 2805 - None, # 2806 - None, # 2807 - None, # 2808 - None, # 2809 - None, # 2810 - None, # 2811 - None, # 2812 - None, # 2813 - None, # 2814 - None, # 2815 - None, # 2816 - None, # 2817 - None, # 2818 - None, # 2819 - None, # 2820 - None, # 2821 - None, # 2822 - None, # 2823 - None, # 2824 - None, # 2825 - None, # 2826 - None, # 2827 - None, # 2828 - None, # 2829 - None, # 2830 - None, # 2831 - None, # 2832 - None, # 2833 - None, # 2834 - None, # 2835 - None, # 2836 - None, # 2837 - None, # 2838 - None, # 2839 - None, # 2840 - None, # 2841 - None, # 2842 - None, # 2843 - None, # 2844 - None, # 2845 - None, # 2846 - None, # 2847 - None, # 2848 - None, # 2849 - None, # 2850 - None, # 2851 - None, # 2852 - None, # 2853 - None, # 2854 - None, # 2855 - None, # 2856 - None, # 2857 - None, # 2858 - None, # 2859 - None, # 2860 - None, # 2861 - None, # 2862 - None, # 2863 - None, # 2864 - None, # 2865 - None, # 2866 - None, # 2867 - None, # 2868 - None, # 2869 - None, # 2870 - None, # 2871 - None, # 2872 - None, # 2873 - None, # 2874 - None, # 2875 - None, # 2876 - None, # 2877 - None, # 2878 - None, # 2879 - None, # 2880 - None, # 2881 - None, # 2882 - None, # 2883 - None, # 2884 - None, # 2885 - None, # 2886 - None, # 2887 - None, # 2888 - None, # 2889 - None, # 2890 - None, # 2891 - None, # 2892 - None, # 2893 - None, # 2894 - None, # 2895 - None, # 2896 - None, # 2897 - None, # 2898 - None, # 2899 - None, # 2900 - None, # 2901 - None, # 2902 - None, # 2903 - None, # 2904 - None, # 2905 - None, # 2906 - None, # 2907 - None, # 2908 - None, # 2909 - None, # 2910 - None, # 2911 - None, # 2912 - None, # 2913 - None, # 2914 - None, # 2915 - None, # 2916 - None, # 2917 - None, # 2918 - None, # 2919 - None, # 2920 - None, # 2921 - None, # 2922 - None, # 2923 - None, # 2924 - None, # 2925 - None, # 2926 - None, # 2927 - None, # 2928 - None, # 2929 - None, # 2930 - None, # 2931 - None, # 2932 - None, # 2933 - None, # 2934 - None, # 2935 - None, # 2936 - None, # 2937 - None, # 2938 - None, # 2939 - None, # 2940 - None, # 2941 - None, # 2942 - None, # 2943 - None, # 2944 - None, # 2945 - None, # 2946 - None, # 2947 - None, # 2948 - None, # 2949 - None, # 2950 - None, # 2951 - None, # 2952 - None, # 2953 - None, # 2954 - None, # 2955 - None, # 2956 - None, # 2957 - None, # 2958 - None, # 2959 - None, # 2960 - None, # 2961 - None, # 2962 - None, # 2963 - None, # 2964 - None, # 2965 - None, # 2966 - None, # 2967 - None, # 2968 - None, # 2969 - None, # 2970 - None, # 2971 - None, # 2972 - None, # 2973 - None, # 2974 - None, # 2975 - None, # 2976 - None, # 2977 - None, # 2978 - None, # 2979 - None, # 2980 - None, # 2981 - None, # 2982 - None, # 2983 - None, # 2984 - None, # 2985 - None, # 2986 - None, # 2987 - None, # 2988 - None, # 2989 - None, # 2990 - None, # 2991 - None, # 2992 - None, # 2993 - None, # 2994 - None, # 2995 - None, # 2996 - None, # 2997 - None, # 2998 - None, # 2999 - None, # 3000 - None, # 3001 - None, # 3002 - None, # 3003 - None, # 3004 - None, # 3005 - None, # 3006 - None, # 3007 - None, # 3008 - None, # 3009 - None, # 3010 - None, # 3011 - None, # 3012 - None, # 3013 - None, # 3014 - None, # 3015 - None, # 3016 - None, # 3017 - None, # 3018 - None, # 3019 - None, # 3020 - None, # 3021 - None, # 3022 - None, # 3023 - None, # 3024 - None, # 3025 - None, # 3026 - None, # 3027 - None, # 3028 - None, # 3029 - None, # 3030 - None, # 3031 - None, # 3032 - None, # 3033 - None, # 3034 - None, # 3035 - None, # 3036 - None, # 3037 - None, # 3038 - None, # 3039 - None, # 3040 - None, # 3041 - None, # 3042 - None, # 3043 - None, # 3044 - None, # 3045 - None, # 3046 - None, # 3047 - None, # 3048 - None, # 3049 - None, # 3050 - None, # 3051 - None, # 3052 - None, # 3053 - None, # 3054 - None, # 3055 - None, # 3056 - None, # 3057 - None, # 3058 - None, # 3059 - None, # 3060 - None, # 3061 - None, # 3062 - None, # 3063 - None, # 3064 - None, # 3065 - None, # 3066 - None, # 3067 - None, # 3068 - None, # 3069 - None, # 3070 - None, # 3071 - None, # 3072 - None, # 3073 - None, # 3074 - None, # 3075 - None, # 3076 - None, # 3077 - None, # 3078 - None, # 3079 - None, # 3080 - None, # 3081 - None, # 3082 - None, # 3083 - None, # 3084 - None, # 3085 - None, # 3086 - None, # 3087 - None, # 3088 - None, # 3089 - None, # 3090 - None, # 3091 - None, # 3092 - None, # 3093 - None, # 3094 - None, # 3095 - None, # 3096 - None, # 3097 - None, # 3098 - None, # 3099 - None, # 3100 - None, # 3101 - None, # 3102 - None, # 3103 - None, # 3104 - None, # 3105 - None, # 3106 - None, # 3107 - None, # 3108 - None, # 3109 - None, # 3110 - None, # 3111 - None, # 3112 - None, # 3113 - None, # 3114 - None, # 3115 - None, # 3116 - None, # 3117 - None, # 3118 - None, # 3119 - None, # 3120 - None, # 3121 - None, # 3122 - None, # 3123 - None, # 3124 - None, # 3125 - None, # 3126 - None, # 3127 - None, # 3128 - None, # 3129 - None, # 3130 - None, # 3131 - None, # 3132 - None, # 3133 - None, # 3134 - None, # 3135 - None, # 3136 - None, # 3137 - None, # 3138 - None, # 3139 - None, # 3140 - None, # 3141 - None, # 3142 - None, # 3143 - None, # 3144 - None, # 3145 - None, # 3146 - None, # 3147 - None, # 3148 - None, # 3149 - None, # 3150 - None, # 3151 - None, # 3152 - None, # 3153 - None, # 3154 - None, # 3155 - None, # 3156 - None, # 3157 - None, # 3158 - None, # 3159 - None, # 3160 - None, # 3161 - None, # 3162 - None, # 3163 - None, # 3164 - None, # 3165 - None, # 3166 - None, # 3167 - None, # 3168 - None, # 3169 - None, # 3170 - None, # 3171 - None, # 3172 - None, # 3173 - None, # 3174 - None, # 3175 - None, # 3176 - None, # 3177 - None, # 3178 - None, # 3179 - None, # 3180 - None, # 3181 - None, # 3182 - None, # 3183 - None, # 3184 - None, # 3185 - None, # 3186 - None, # 3187 - None, # 3188 - None, # 3189 - None, # 3190 - None, # 3191 - None, # 3192 - None, # 3193 - None, # 3194 - None, # 3195 - None, # 3196 - None, # 3197 - None, # 3198 - None, # 3199 - None, # 3200 - None, # 3201 - None, # 3202 - None, # 3203 - None, # 3204 - None, # 3205 - None, # 3206 - None, # 3207 - None, # 3208 - None, # 3209 - None, # 3210 - None, # 3211 - None, # 3212 - None, # 3213 - None, # 3214 - None, # 3215 - None, # 3216 - None, # 3217 - None, # 3218 - None, # 3219 - None, # 3220 - None, # 3221 - None, # 3222 - None, # 3223 - None, # 3224 - None, # 3225 - None, # 3226 - None, # 3227 - None, # 3228 - None, # 3229 - None, # 3230 - None, # 3231 - None, # 3232 - None, # 3233 - None, # 3234 - None, # 3235 - None, # 3236 - None, # 3237 - None, # 3238 - None, # 3239 - None, # 3240 - None, # 3241 - None, # 3242 - None, # 3243 - None, # 3244 - None, # 3245 - None, # 3246 - None, # 3247 - None, # 3248 - None, # 3249 - None, # 3250 - None, # 3251 - None, # 3252 - None, # 3253 - None, # 3254 - None, # 3255 - None, # 3256 - None, # 3257 - None, # 3258 - None, # 3259 - None, # 3260 - None, # 3261 - None, # 3262 - None, # 3263 - None, # 3264 - None, # 3265 - None, # 3266 - None, # 3267 - None, # 3268 - None, # 3269 - None, # 3270 - None, # 3271 - None, # 3272 - None, # 3273 - None, # 3274 - None, # 3275 - None, # 3276 - None, # 3277 - None, # 3278 - None, # 3279 - None, # 3280 - None, # 3281 - None, # 3282 - None, # 3283 - None, # 3284 - None, # 3285 - None, # 3286 - None, # 3287 - None, # 3288 - None, # 3289 - None, # 3290 - None, # 3291 - None, # 3292 - None, # 3293 - None, # 3294 - None, # 3295 - None, # 3296 - None, # 3297 - None, # 3298 - None, # 3299 - None, # 3300 - None, # 3301 - None, # 3302 - None, # 3303 - None, # 3304 - None, # 3305 - None, # 3306 - None, # 3307 - None, # 3308 - None, # 3309 - None, # 3310 - None, # 3311 - None, # 3312 - None, # 3313 - None, # 3314 - None, # 3315 - None, # 3316 - None, # 3317 - None, # 3318 - None, # 3319 - None, # 3320 - None, # 3321 - None, # 3322 - None, # 3323 - None, # 3324 - None, # 3325 - None, # 3326 - None, # 3327 - None, # 3328 - (3329, TType.STRUCT, 'operationId', [THandleIdentifier, None], None, ), # 3329 - (3330, TType.STRUCT, 'sessionConf', [TDBSqlSessionConf, None], None, ), # 3330 + None, # 0 + (1, TType.STRUCT, 'sessionHandle', [TSessionHandle, None], None, ), # 1 + None, # 2 + None, # 3 + None, # 4 + None, # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + (1281, TType.STRUCT, 'getDirectResults', [TSparkGetDirectResults, None], None, ), # 1281 + (1282, TType.BOOL, 'runAsync', None, False, ), # 1282 + None, # 1283 + None, # 1284 + None, # 1285 + None, # 1286 + None, # 1287 + None, # 1288 + None, # 1289 + None, # 1290 + None, # 1291 + None, # 1292 + None, # 1293 + None, # 1294 + None, # 1295 + None, # 1296 + None, # 1297 + None, # 1298 + None, # 1299 + None, # 1300 + None, # 1301 + None, # 1302 + None, # 1303 + None, # 1304 + None, # 1305 + None, # 1306 + None, # 1307 + None, # 1308 + None, # 1309 + None, # 1310 + None, # 1311 + None, # 1312 + None, # 1313 + None, # 1314 + None, # 1315 + None, # 1316 + None, # 1317 + None, # 1318 + None, # 1319 + None, # 1320 + None, # 1321 + None, # 1322 + None, # 1323 + None, # 1324 + None, # 1325 + None, # 1326 + None, # 1327 + None, # 1328 + None, # 1329 + None, # 1330 + None, # 1331 + None, # 1332 + None, # 1333 + None, # 1334 + None, # 1335 + None, # 1336 + None, # 1337 + None, # 1338 + None, # 1339 + None, # 1340 + None, # 1341 + None, # 1342 + None, # 1343 + None, # 1344 + None, # 1345 + None, # 1346 + None, # 1347 + None, # 1348 + None, # 1349 + None, # 1350 + None, # 1351 + None, # 1352 + None, # 1353 + None, # 1354 + None, # 1355 + None, # 1356 + None, # 1357 + None, # 1358 + None, # 1359 + None, # 1360 + None, # 1361 + None, # 1362 + None, # 1363 + None, # 1364 + None, # 1365 + None, # 1366 + None, # 1367 + None, # 1368 + None, # 1369 + None, # 1370 + None, # 1371 + None, # 1372 + None, # 1373 + None, # 1374 + None, # 1375 + None, # 1376 + None, # 1377 + None, # 1378 + None, # 1379 + None, # 1380 + None, # 1381 + None, # 1382 + None, # 1383 + None, # 1384 + None, # 1385 + None, # 1386 + None, # 1387 + None, # 1388 + None, # 1389 + None, # 1390 + None, # 1391 + None, # 1392 + None, # 1393 + None, # 1394 + None, # 1395 + None, # 1396 + None, # 1397 + None, # 1398 + None, # 1399 + None, # 1400 + None, # 1401 + None, # 1402 + None, # 1403 + None, # 1404 + None, # 1405 + None, # 1406 + None, # 1407 + None, # 1408 + None, # 1409 + None, # 1410 + None, # 1411 + None, # 1412 + None, # 1413 + None, # 1414 + None, # 1415 + None, # 1416 + None, # 1417 + None, # 1418 + None, # 1419 + None, # 1420 + None, # 1421 + None, # 1422 + None, # 1423 + None, # 1424 + None, # 1425 + None, # 1426 + None, # 1427 + None, # 1428 + None, # 1429 + None, # 1430 + None, # 1431 + None, # 1432 + None, # 1433 + None, # 1434 + None, # 1435 + None, # 1436 + None, # 1437 + None, # 1438 + None, # 1439 + None, # 1440 + None, # 1441 + None, # 1442 + None, # 1443 + None, # 1444 + None, # 1445 + None, # 1446 + None, # 1447 + None, # 1448 + None, # 1449 + None, # 1450 + None, # 1451 + None, # 1452 + None, # 1453 + None, # 1454 + None, # 1455 + None, # 1456 + None, # 1457 + None, # 1458 + None, # 1459 + None, # 1460 + None, # 1461 + None, # 1462 + None, # 1463 + None, # 1464 + None, # 1465 + None, # 1466 + None, # 1467 + None, # 1468 + None, # 1469 + None, # 1470 + None, # 1471 + None, # 1472 + None, # 1473 + None, # 1474 + None, # 1475 + None, # 1476 + None, # 1477 + None, # 1478 + None, # 1479 + None, # 1480 + None, # 1481 + None, # 1482 + None, # 1483 + None, # 1484 + None, # 1485 + None, # 1486 + None, # 1487 + None, # 1488 + None, # 1489 + None, # 1490 + None, # 1491 + None, # 1492 + None, # 1493 + None, # 1494 + None, # 1495 + None, # 1496 + None, # 1497 + None, # 1498 + None, # 1499 + None, # 1500 + None, # 1501 + None, # 1502 + None, # 1503 + None, # 1504 + None, # 1505 + None, # 1506 + None, # 1507 + None, # 1508 + None, # 1509 + None, # 1510 + None, # 1511 + None, # 1512 + None, # 1513 + None, # 1514 + None, # 1515 + None, # 1516 + None, # 1517 + None, # 1518 + None, # 1519 + None, # 1520 + None, # 1521 + None, # 1522 + None, # 1523 + None, # 1524 + None, # 1525 + None, # 1526 + None, # 1527 + None, # 1528 + None, # 1529 + None, # 1530 + None, # 1531 + None, # 1532 + None, # 1533 + None, # 1534 + None, # 1535 + None, # 1536 + None, # 1537 + None, # 1538 + None, # 1539 + None, # 1540 + None, # 1541 + None, # 1542 + None, # 1543 + None, # 1544 + None, # 1545 + None, # 1546 + None, # 1547 + None, # 1548 + None, # 1549 + None, # 1550 + None, # 1551 + None, # 1552 + None, # 1553 + None, # 1554 + None, # 1555 + None, # 1556 + None, # 1557 + None, # 1558 + None, # 1559 + None, # 1560 + None, # 1561 + None, # 1562 + None, # 1563 + None, # 1564 + None, # 1565 + None, # 1566 + None, # 1567 + None, # 1568 + None, # 1569 + None, # 1570 + None, # 1571 + None, # 1572 + None, # 1573 + None, # 1574 + None, # 1575 + None, # 1576 + None, # 1577 + None, # 1578 + None, # 1579 + None, # 1580 + None, # 1581 + None, # 1582 + None, # 1583 + None, # 1584 + None, # 1585 + None, # 1586 + None, # 1587 + None, # 1588 + None, # 1589 + None, # 1590 + None, # 1591 + None, # 1592 + None, # 1593 + None, # 1594 + None, # 1595 + None, # 1596 + None, # 1597 + None, # 1598 + None, # 1599 + None, # 1600 + None, # 1601 + None, # 1602 + None, # 1603 + None, # 1604 + None, # 1605 + None, # 1606 + None, # 1607 + None, # 1608 + None, # 1609 + None, # 1610 + None, # 1611 + None, # 1612 + None, # 1613 + None, # 1614 + None, # 1615 + None, # 1616 + None, # 1617 + None, # 1618 + None, # 1619 + None, # 1620 + None, # 1621 + None, # 1622 + None, # 1623 + None, # 1624 + None, # 1625 + None, # 1626 + None, # 1627 + None, # 1628 + None, # 1629 + None, # 1630 + None, # 1631 + None, # 1632 + None, # 1633 + None, # 1634 + None, # 1635 + None, # 1636 + None, # 1637 + None, # 1638 + None, # 1639 + None, # 1640 + None, # 1641 + None, # 1642 + None, # 1643 + None, # 1644 + None, # 1645 + None, # 1646 + None, # 1647 + None, # 1648 + None, # 1649 + None, # 1650 + None, # 1651 + None, # 1652 + None, # 1653 + None, # 1654 + None, # 1655 + None, # 1656 + None, # 1657 + None, # 1658 + None, # 1659 + None, # 1660 + None, # 1661 + None, # 1662 + None, # 1663 + None, # 1664 + None, # 1665 + None, # 1666 + None, # 1667 + None, # 1668 + None, # 1669 + None, # 1670 + None, # 1671 + None, # 1672 + None, # 1673 + None, # 1674 + None, # 1675 + None, # 1676 + None, # 1677 + None, # 1678 + None, # 1679 + None, # 1680 + None, # 1681 + None, # 1682 + None, # 1683 + None, # 1684 + None, # 1685 + None, # 1686 + None, # 1687 + None, # 1688 + None, # 1689 + None, # 1690 + None, # 1691 + None, # 1692 + None, # 1693 + None, # 1694 + None, # 1695 + None, # 1696 + None, # 1697 + None, # 1698 + None, # 1699 + None, # 1700 + None, # 1701 + None, # 1702 + None, # 1703 + None, # 1704 + None, # 1705 + None, # 1706 + None, # 1707 + None, # 1708 + None, # 1709 + None, # 1710 + None, # 1711 + None, # 1712 + None, # 1713 + None, # 1714 + None, # 1715 + None, # 1716 + None, # 1717 + None, # 1718 + None, # 1719 + None, # 1720 + None, # 1721 + None, # 1722 + None, # 1723 + None, # 1724 + None, # 1725 + None, # 1726 + None, # 1727 + None, # 1728 + None, # 1729 + None, # 1730 + None, # 1731 + None, # 1732 + None, # 1733 + None, # 1734 + None, # 1735 + None, # 1736 + None, # 1737 + None, # 1738 + None, # 1739 + None, # 1740 + None, # 1741 + None, # 1742 + None, # 1743 + None, # 1744 + None, # 1745 + None, # 1746 + None, # 1747 + None, # 1748 + None, # 1749 + None, # 1750 + None, # 1751 + None, # 1752 + None, # 1753 + None, # 1754 + None, # 1755 + None, # 1756 + None, # 1757 + None, # 1758 + None, # 1759 + None, # 1760 + None, # 1761 + None, # 1762 + None, # 1763 + None, # 1764 + None, # 1765 + None, # 1766 + None, # 1767 + None, # 1768 + None, # 1769 + None, # 1770 + None, # 1771 + None, # 1772 + None, # 1773 + None, # 1774 + None, # 1775 + None, # 1776 + None, # 1777 + None, # 1778 + None, # 1779 + None, # 1780 + None, # 1781 + None, # 1782 + None, # 1783 + None, # 1784 + None, # 1785 + None, # 1786 + None, # 1787 + None, # 1788 + None, # 1789 + None, # 1790 + None, # 1791 + None, # 1792 + None, # 1793 + None, # 1794 + None, # 1795 + None, # 1796 + None, # 1797 + None, # 1798 + None, # 1799 + None, # 1800 + None, # 1801 + None, # 1802 + None, # 1803 + None, # 1804 + None, # 1805 + None, # 1806 + None, # 1807 + None, # 1808 + None, # 1809 + None, # 1810 + None, # 1811 + None, # 1812 + None, # 1813 + None, # 1814 + None, # 1815 + None, # 1816 + None, # 1817 + None, # 1818 + None, # 1819 + None, # 1820 + None, # 1821 + None, # 1822 + None, # 1823 + None, # 1824 + None, # 1825 + None, # 1826 + None, # 1827 + None, # 1828 + None, # 1829 + None, # 1830 + None, # 1831 + None, # 1832 + None, # 1833 + None, # 1834 + None, # 1835 + None, # 1836 + None, # 1837 + None, # 1838 + None, # 1839 + None, # 1840 + None, # 1841 + None, # 1842 + None, # 1843 + None, # 1844 + None, # 1845 + None, # 1846 + None, # 1847 + None, # 1848 + None, # 1849 + None, # 1850 + None, # 1851 + None, # 1852 + None, # 1853 + None, # 1854 + None, # 1855 + None, # 1856 + None, # 1857 + None, # 1858 + None, # 1859 + None, # 1860 + None, # 1861 + None, # 1862 + None, # 1863 + None, # 1864 + None, # 1865 + None, # 1866 + None, # 1867 + None, # 1868 + None, # 1869 + None, # 1870 + None, # 1871 + None, # 1872 + None, # 1873 + None, # 1874 + None, # 1875 + None, # 1876 + None, # 1877 + None, # 1878 + None, # 1879 + None, # 1880 + None, # 1881 + None, # 1882 + None, # 1883 + None, # 1884 + None, # 1885 + None, # 1886 + None, # 1887 + None, # 1888 + None, # 1889 + None, # 1890 + None, # 1891 + None, # 1892 + None, # 1893 + None, # 1894 + None, # 1895 + None, # 1896 + None, # 1897 + None, # 1898 + None, # 1899 + None, # 1900 + None, # 1901 + None, # 1902 + None, # 1903 + None, # 1904 + None, # 1905 + None, # 1906 + None, # 1907 + None, # 1908 + None, # 1909 + None, # 1910 + None, # 1911 + None, # 1912 + None, # 1913 + None, # 1914 + None, # 1915 + None, # 1916 + None, # 1917 + None, # 1918 + None, # 1919 + None, # 1920 + None, # 1921 + None, # 1922 + None, # 1923 + None, # 1924 + None, # 1925 + None, # 1926 + None, # 1927 + None, # 1928 + None, # 1929 + None, # 1930 + None, # 1931 + None, # 1932 + None, # 1933 + None, # 1934 + None, # 1935 + None, # 1936 + None, # 1937 + None, # 1938 + None, # 1939 + None, # 1940 + None, # 1941 + None, # 1942 + None, # 1943 + None, # 1944 + None, # 1945 + None, # 1946 + None, # 1947 + None, # 1948 + None, # 1949 + None, # 1950 + None, # 1951 + None, # 1952 + None, # 1953 + None, # 1954 + None, # 1955 + None, # 1956 + None, # 1957 + None, # 1958 + None, # 1959 + None, # 1960 + None, # 1961 + None, # 1962 + None, # 1963 + None, # 1964 + None, # 1965 + None, # 1966 + None, # 1967 + None, # 1968 + None, # 1969 + None, # 1970 + None, # 1971 + None, # 1972 + None, # 1973 + None, # 1974 + None, # 1975 + None, # 1976 + None, # 1977 + None, # 1978 + None, # 1979 + None, # 1980 + None, # 1981 + None, # 1982 + None, # 1983 + None, # 1984 + None, # 1985 + None, # 1986 + None, # 1987 + None, # 1988 + None, # 1989 + None, # 1990 + None, # 1991 + None, # 1992 + None, # 1993 + None, # 1994 + None, # 1995 + None, # 1996 + None, # 1997 + None, # 1998 + None, # 1999 + None, # 2000 + None, # 2001 + None, # 2002 + None, # 2003 + None, # 2004 + None, # 2005 + None, # 2006 + None, # 2007 + None, # 2008 + None, # 2009 + None, # 2010 + None, # 2011 + None, # 2012 + None, # 2013 + None, # 2014 + None, # 2015 + None, # 2016 + None, # 2017 + None, # 2018 + None, # 2019 + None, # 2020 + None, # 2021 + None, # 2022 + None, # 2023 + None, # 2024 + None, # 2025 + None, # 2026 + None, # 2027 + None, # 2028 + None, # 2029 + None, # 2030 + None, # 2031 + None, # 2032 + None, # 2033 + None, # 2034 + None, # 2035 + None, # 2036 + None, # 2037 + None, # 2038 + None, # 2039 + None, # 2040 + None, # 2041 + None, # 2042 + None, # 2043 + None, # 2044 + None, # 2045 + None, # 2046 + None, # 2047 + None, # 2048 + None, # 2049 + None, # 2050 + None, # 2051 + None, # 2052 + None, # 2053 + None, # 2054 + None, # 2055 + None, # 2056 + None, # 2057 + None, # 2058 + None, # 2059 + None, # 2060 + None, # 2061 + None, # 2062 + None, # 2063 + None, # 2064 + None, # 2065 + None, # 2066 + None, # 2067 + None, # 2068 + None, # 2069 + None, # 2070 + None, # 2071 + None, # 2072 + None, # 2073 + None, # 2074 + None, # 2075 + None, # 2076 + None, # 2077 + None, # 2078 + None, # 2079 + None, # 2080 + None, # 2081 + None, # 2082 + None, # 2083 + None, # 2084 + None, # 2085 + None, # 2086 + None, # 2087 + None, # 2088 + None, # 2089 + None, # 2090 + None, # 2091 + None, # 2092 + None, # 2093 + None, # 2094 + None, # 2095 + None, # 2096 + None, # 2097 + None, # 2098 + None, # 2099 + None, # 2100 + None, # 2101 + None, # 2102 + None, # 2103 + None, # 2104 + None, # 2105 + None, # 2106 + None, # 2107 + None, # 2108 + None, # 2109 + None, # 2110 + None, # 2111 + None, # 2112 + None, # 2113 + None, # 2114 + None, # 2115 + None, # 2116 + None, # 2117 + None, # 2118 + None, # 2119 + None, # 2120 + None, # 2121 + None, # 2122 + None, # 2123 + None, # 2124 + None, # 2125 + None, # 2126 + None, # 2127 + None, # 2128 + None, # 2129 + None, # 2130 + None, # 2131 + None, # 2132 + None, # 2133 + None, # 2134 + None, # 2135 + None, # 2136 + None, # 2137 + None, # 2138 + None, # 2139 + None, # 2140 + None, # 2141 + None, # 2142 + None, # 2143 + None, # 2144 + None, # 2145 + None, # 2146 + None, # 2147 + None, # 2148 + None, # 2149 + None, # 2150 + None, # 2151 + None, # 2152 + None, # 2153 + None, # 2154 + None, # 2155 + None, # 2156 + None, # 2157 + None, # 2158 + None, # 2159 + None, # 2160 + None, # 2161 + None, # 2162 + None, # 2163 + None, # 2164 + None, # 2165 + None, # 2166 + None, # 2167 + None, # 2168 + None, # 2169 + None, # 2170 + None, # 2171 + None, # 2172 + None, # 2173 + None, # 2174 + None, # 2175 + None, # 2176 + None, # 2177 + None, # 2178 + None, # 2179 + None, # 2180 + None, # 2181 + None, # 2182 + None, # 2183 + None, # 2184 + None, # 2185 + None, # 2186 + None, # 2187 + None, # 2188 + None, # 2189 + None, # 2190 + None, # 2191 + None, # 2192 + None, # 2193 + None, # 2194 + None, # 2195 + None, # 2196 + None, # 2197 + None, # 2198 + None, # 2199 + None, # 2200 + None, # 2201 + None, # 2202 + None, # 2203 + None, # 2204 + None, # 2205 + None, # 2206 + None, # 2207 + None, # 2208 + None, # 2209 + None, # 2210 + None, # 2211 + None, # 2212 + None, # 2213 + None, # 2214 + None, # 2215 + None, # 2216 + None, # 2217 + None, # 2218 + None, # 2219 + None, # 2220 + None, # 2221 + None, # 2222 + None, # 2223 + None, # 2224 + None, # 2225 + None, # 2226 + None, # 2227 + None, # 2228 + None, # 2229 + None, # 2230 + None, # 2231 + None, # 2232 + None, # 2233 + None, # 2234 + None, # 2235 + None, # 2236 + None, # 2237 + None, # 2238 + None, # 2239 + None, # 2240 + None, # 2241 + None, # 2242 + None, # 2243 + None, # 2244 + None, # 2245 + None, # 2246 + None, # 2247 + None, # 2248 + None, # 2249 + None, # 2250 + None, # 2251 + None, # 2252 + None, # 2253 + None, # 2254 + None, # 2255 + None, # 2256 + None, # 2257 + None, # 2258 + None, # 2259 + None, # 2260 + None, # 2261 + None, # 2262 + None, # 2263 + None, # 2264 + None, # 2265 + None, # 2266 + None, # 2267 + None, # 2268 + None, # 2269 + None, # 2270 + None, # 2271 + None, # 2272 + None, # 2273 + None, # 2274 + None, # 2275 + None, # 2276 + None, # 2277 + None, # 2278 + None, # 2279 + None, # 2280 + None, # 2281 + None, # 2282 + None, # 2283 + None, # 2284 + None, # 2285 + None, # 2286 + None, # 2287 + None, # 2288 + None, # 2289 + None, # 2290 + None, # 2291 + None, # 2292 + None, # 2293 + None, # 2294 + None, # 2295 + None, # 2296 + None, # 2297 + None, # 2298 + None, # 2299 + None, # 2300 + None, # 2301 + None, # 2302 + None, # 2303 + None, # 2304 + None, # 2305 + None, # 2306 + None, # 2307 + None, # 2308 + None, # 2309 + None, # 2310 + None, # 2311 + None, # 2312 + None, # 2313 + None, # 2314 + None, # 2315 + None, # 2316 + None, # 2317 + None, # 2318 + None, # 2319 + None, # 2320 + None, # 2321 + None, # 2322 + None, # 2323 + None, # 2324 + None, # 2325 + None, # 2326 + None, # 2327 + None, # 2328 + None, # 2329 + None, # 2330 + None, # 2331 + None, # 2332 + None, # 2333 + None, # 2334 + None, # 2335 + None, # 2336 + None, # 2337 + None, # 2338 + None, # 2339 + None, # 2340 + None, # 2341 + None, # 2342 + None, # 2343 + None, # 2344 + None, # 2345 + None, # 2346 + None, # 2347 + None, # 2348 + None, # 2349 + None, # 2350 + None, # 2351 + None, # 2352 + None, # 2353 + None, # 2354 + None, # 2355 + None, # 2356 + None, # 2357 + None, # 2358 + None, # 2359 + None, # 2360 + None, # 2361 + None, # 2362 + None, # 2363 + None, # 2364 + None, # 2365 + None, # 2366 + None, # 2367 + None, # 2368 + None, # 2369 + None, # 2370 + None, # 2371 + None, # 2372 + None, # 2373 + None, # 2374 + None, # 2375 + None, # 2376 + None, # 2377 + None, # 2378 + None, # 2379 + None, # 2380 + None, # 2381 + None, # 2382 + None, # 2383 + None, # 2384 + None, # 2385 + None, # 2386 + None, # 2387 + None, # 2388 + None, # 2389 + None, # 2390 + None, # 2391 + None, # 2392 + None, # 2393 + None, # 2394 + None, # 2395 + None, # 2396 + None, # 2397 + None, # 2398 + None, # 2399 + None, # 2400 + None, # 2401 + None, # 2402 + None, # 2403 + None, # 2404 + None, # 2405 + None, # 2406 + None, # 2407 + None, # 2408 + None, # 2409 + None, # 2410 + None, # 2411 + None, # 2412 + None, # 2413 + None, # 2414 + None, # 2415 + None, # 2416 + None, # 2417 + None, # 2418 + None, # 2419 + None, # 2420 + None, # 2421 + None, # 2422 + None, # 2423 + None, # 2424 + None, # 2425 + None, # 2426 + None, # 2427 + None, # 2428 + None, # 2429 + None, # 2430 + None, # 2431 + None, # 2432 + None, # 2433 + None, # 2434 + None, # 2435 + None, # 2436 + None, # 2437 + None, # 2438 + None, # 2439 + None, # 2440 + None, # 2441 + None, # 2442 + None, # 2443 + None, # 2444 + None, # 2445 + None, # 2446 + None, # 2447 + None, # 2448 + None, # 2449 + None, # 2450 + None, # 2451 + None, # 2452 + None, # 2453 + None, # 2454 + None, # 2455 + None, # 2456 + None, # 2457 + None, # 2458 + None, # 2459 + None, # 2460 + None, # 2461 + None, # 2462 + None, # 2463 + None, # 2464 + None, # 2465 + None, # 2466 + None, # 2467 + None, # 2468 + None, # 2469 + None, # 2470 + None, # 2471 + None, # 2472 + None, # 2473 + None, # 2474 + None, # 2475 + None, # 2476 + None, # 2477 + None, # 2478 + None, # 2479 + None, # 2480 + None, # 2481 + None, # 2482 + None, # 2483 + None, # 2484 + None, # 2485 + None, # 2486 + None, # 2487 + None, # 2488 + None, # 2489 + None, # 2490 + None, # 2491 + None, # 2492 + None, # 2493 + None, # 2494 + None, # 2495 + None, # 2496 + None, # 2497 + None, # 2498 + None, # 2499 + None, # 2500 + None, # 2501 + None, # 2502 + None, # 2503 + None, # 2504 + None, # 2505 + None, # 2506 + None, # 2507 + None, # 2508 + None, # 2509 + None, # 2510 + None, # 2511 + None, # 2512 + None, # 2513 + None, # 2514 + None, # 2515 + None, # 2516 + None, # 2517 + None, # 2518 + None, # 2519 + None, # 2520 + None, # 2521 + None, # 2522 + None, # 2523 + None, # 2524 + None, # 2525 + None, # 2526 + None, # 2527 + None, # 2528 + None, # 2529 + None, # 2530 + None, # 2531 + None, # 2532 + None, # 2533 + None, # 2534 + None, # 2535 + None, # 2536 + None, # 2537 + None, # 2538 + None, # 2539 + None, # 2540 + None, # 2541 + None, # 2542 + None, # 2543 + None, # 2544 + None, # 2545 + None, # 2546 + None, # 2547 + None, # 2548 + None, # 2549 + None, # 2550 + None, # 2551 + None, # 2552 + None, # 2553 + None, # 2554 + None, # 2555 + None, # 2556 + None, # 2557 + None, # 2558 + None, # 2559 + None, # 2560 + None, # 2561 + None, # 2562 + None, # 2563 + None, # 2564 + None, # 2565 + None, # 2566 + None, # 2567 + None, # 2568 + None, # 2569 + None, # 2570 + None, # 2571 + None, # 2572 + None, # 2573 + None, # 2574 + None, # 2575 + None, # 2576 + None, # 2577 + None, # 2578 + None, # 2579 + None, # 2580 + None, # 2581 + None, # 2582 + None, # 2583 + None, # 2584 + None, # 2585 + None, # 2586 + None, # 2587 + None, # 2588 + None, # 2589 + None, # 2590 + None, # 2591 + None, # 2592 + None, # 2593 + None, # 2594 + None, # 2595 + None, # 2596 + None, # 2597 + None, # 2598 + None, # 2599 + None, # 2600 + None, # 2601 + None, # 2602 + None, # 2603 + None, # 2604 + None, # 2605 + None, # 2606 + None, # 2607 + None, # 2608 + None, # 2609 + None, # 2610 + None, # 2611 + None, # 2612 + None, # 2613 + None, # 2614 + None, # 2615 + None, # 2616 + None, # 2617 + None, # 2618 + None, # 2619 + None, # 2620 + None, # 2621 + None, # 2622 + None, # 2623 + None, # 2624 + None, # 2625 + None, # 2626 + None, # 2627 + None, # 2628 + None, # 2629 + None, # 2630 + None, # 2631 + None, # 2632 + None, # 2633 + None, # 2634 + None, # 2635 + None, # 2636 + None, # 2637 + None, # 2638 + None, # 2639 + None, # 2640 + None, # 2641 + None, # 2642 + None, # 2643 + None, # 2644 + None, # 2645 + None, # 2646 + None, # 2647 + None, # 2648 + None, # 2649 + None, # 2650 + None, # 2651 + None, # 2652 + None, # 2653 + None, # 2654 + None, # 2655 + None, # 2656 + None, # 2657 + None, # 2658 + None, # 2659 + None, # 2660 + None, # 2661 + None, # 2662 + None, # 2663 + None, # 2664 + None, # 2665 + None, # 2666 + None, # 2667 + None, # 2668 + None, # 2669 + None, # 2670 + None, # 2671 + None, # 2672 + None, # 2673 + None, # 2674 + None, # 2675 + None, # 2676 + None, # 2677 + None, # 2678 + None, # 2679 + None, # 2680 + None, # 2681 + None, # 2682 + None, # 2683 + None, # 2684 + None, # 2685 + None, # 2686 + None, # 2687 + None, # 2688 + None, # 2689 + None, # 2690 + None, # 2691 + None, # 2692 + None, # 2693 + None, # 2694 + None, # 2695 + None, # 2696 + None, # 2697 + None, # 2698 + None, # 2699 + None, # 2700 + None, # 2701 + None, # 2702 + None, # 2703 + None, # 2704 + None, # 2705 + None, # 2706 + None, # 2707 + None, # 2708 + None, # 2709 + None, # 2710 + None, # 2711 + None, # 2712 + None, # 2713 + None, # 2714 + None, # 2715 + None, # 2716 + None, # 2717 + None, # 2718 + None, # 2719 + None, # 2720 + None, # 2721 + None, # 2722 + None, # 2723 + None, # 2724 + None, # 2725 + None, # 2726 + None, # 2727 + None, # 2728 + None, # 2729 + None, # 2730 + None, # 2731 + None, # 2732 + None, # 2733 + None, # 2734 + None, # 2735 + None, # 2736 + None, # 2737 + None, # 2738 + None, # 2739 + None, # 2740 + None, # 2741 + None, # 2742 + None, # 2743 + None, # 2744 + None, # 2745 + None, # 2746 + None, # 2747 + None, # 2748 + None, # 2749 + None, # 2750 + None, # 2751 + None, # 2752 + None, # 2753 + None, # 2754 + None, # 2755 + None, # 2756 + None, # 2757 + None, # 2758 + None, # 2759 + None, # 2760 + None, # 2761 + None, # 2762 + None, # 2763 + None, # 2764 + None, # 2765 + None, # 2766 + None, # 2767 + None, # 2768 + None, # 2769 + None, # 2770 + None, # 2771 + None, # 2772 + None, # 2773 + None, # 2774 + None, # 2775 + None, # 2776 + None, # 2777 + None, # 2778 + None, # 2779 + None, # 2780 + None, # 2781 + None, # 2782 + None, # 2783 + None, # 2784 + None, # 2785 + None, # 2786 + None, # 2787 + None, # 2788 + None, # 2789 + None, # 2790 + None, # 2791 + None, # 2792 + None, # 2793 + None, # 2794 + None, # 2795 + None, # 2796 + None, # 2797 + None, # 2798 + None, # 2799 + None, # 2800 + None, # 2801 + None, # 2802 + None, # 2803 + None, # 2804 + None, # 2805 + None, # 2806 + None, # 2807 + None, # 2808 + None, # 2809 + None, # 2810 + None, # 2811 + None, # 2812 + None, # 2813 + None, # 2814 + None, # 2815 + None, # 2816 + None, # 2817 + None, # 2818 + None, # 2819 + None, # 2820 + None, # 2821 + None, # 2822 + None, # 2823 + None, # 2824 + None, # 2825 + None, # 2826 + None, # 2827 + None, # 2828 + None, # 2829 + None, # 2830 + None, # 2831 + None, # 2832 + None, # 2833 + None, # 2834 + None, # 2835 + None, # 2836 + None, # 2837 + None, # 2838 + None, # 2839 + None, # 2840 + None, # 2841 + None, # 2842 + None, # 2843 + None, # 2844 + None, # 2845 + None, # 2846 + None, # 2847 + None, # 2848 + None, # 2849 + None, # 2850 + None, # 2851 + None, # 2852 + None, # 2853 + None, # 2854 + None, # 2855 + None, # 2856 + None, # 2857 + None, # 2858 + None, # 2859 + None, # 2860 + None, # 2861 + None, # 2862 + None, # 2863 + None, # 2864 + None, # 2865 + None, # 2866 + None, # 2867 + None, # 2868 + None, # 2869 + None, # 2870 + None, # 2871 + None, # 2872 + None, # 2873 + None, # 2874 + None, # 2875 + None, # 2876 + None, # 2877 + None, # 2878 + None, # 2879 + None, # 2880 + None, # 2881 + None, # 2882 + None, # 2883 + None, # 2884 + None, # 2885 + None, # 2886 + None, # 2887 + None, # 2888 + None, # 2889 + None, # 2890 + None, # 2891 + None, # 2892 + None, # 2893 + None, # 2894 + None, # 2895 + None, # 2896 + None, # 2897 + None, # 2898 + None, # 2899 + None, # 2900 + None, # 2901 + None, # 2902 + None, # 2903 + None, # 2904 + None, # 2905 + None, # 2906 + None, # 2907 + None, # 2908 + None, # 2909 + None, # 2910 + None, # 2911 + None, # 2912 + None, # 2913 + None, # 2914 + None, # 2915 + None, # 2916 + None, # 2917 + None, # 2918 + None, # 2919 + None, # 2920 + None, # 2921 + None, # 2922 + None, # 2923 + None, # 2924 + None, # 2925 + None, # 2926 + None, # 2927 + None, # 2928 + None, # 2929 + None, # 2930 + None, # 2931 + None, # 2932 + None, # 2933 + None, # 2934 + None, # 2935 + None, # 2936 + None, # 2937 + None, # 2938 + None, # 2939 + None, # 2940 + None, # 2941 + None, # 2942 + None, # 2943 + None, # 2944 + None, # 2945 + None, # 2946 + None, # 2947 + None, # 2948 + None, # 2949 + None, # 2950 + None, # 2951 + None, # 2952 + None, # 2953 + None, # 2954 + None, # 2955 + None, # 2956 + None, # 2957 + None, # 2958 + None, # 2959 + None, # 2960 + None, # 2961 + None, # 2962 + None, # 2963 + None, # 2964 + None, # 2965 + None, # 2966 + None, # 2967 + None, # 2968 + None, # 2969 + None, # 2970 + None, # 2971 + None, # 2972 + None, # 2973 + None, # 2974 + None, # 2975 + None, # 2976 + None, # 2977 + None, # 2978 + None, # 2979 + None, # 2980 + None, # 2981 + None, # 2982 + None, # 2983 + None, # 2984 + None, # 2985 + None, # 2986 + None, # 2987 + None, # 2988 + None, # 2989 + None, # 2990 + None, # 2991 + None, # 2992 + None, # 2993 + None, # 2994 + None, # 2995 + None, # 2996 + None, # 2997 + None, # 2998 + None, # 2999 + None, # 3000 + None, # 3001 + None, # 3002 + None, # 3003 + None, # 3004 + None, # 3005 + None, # 3006 + None, # 3007 + None, # 3008 + None, # 3009 + None, # 3010 + None, # 3011 + None, # 3012 + None, # 3013 + None, # 3014 + None, # 3015 + None, # 3016 + None, # 3017 + None, # 3018 + None, # 3019 + None, # 3020 + None, # 3021 + None, # 3022 + None, # 3023 + None, # 3024 + None, # 3025 + None, # 3026 + None, # 3027 + None, # 3028 + None, # 3029 + None, # 3030 + None, # 3031 + None, # 3032 + None, # 3033 + None, # 3034 + None, # 3035 + None, # 3036 + None, # 3037 + None, # 3038 + None, # 3039 + None, # 3040 + None, # 3041 + None, # 3042 + None, # 3043 + None, # 3044 + None, # 3045 + None, # 3046 + None, # 3047 + None, # 3048 + None, # 3049 + None, # 3050 + None, # 3051 + None, # 3052 + None, # 3053 + None, # 3054 + None, # 3055 + None, # 3056 + None, # 3057 + None, # 3058 + None, # 3059 + None, # 3060 + None, # 3061 + None, # 3062 + None, # 3063 + None, # 3064 + None, # 3065 + None, # 3066 + None, # 3067 + None, # 3068 + None, # 3069 + None, # 3070 + None, # 3071 + None, # 3072 + None, # 3073 + None, # 3074 + None, # 3075 + None, # 3076 + None, # 3077 + None, # 3078 + None, # 3079 + None, # 3080 + None, # 3081 + None, # 3082 + None, # 3083 + None, # 3084 + None, # 3085 + None, # 3086 + None, # 3087 + None, # 3088 + None, # 3089 + None, # 3090 + None, # 3091 + None, # 3092 + None, # 3093 + None, # 3094 + None, # 3095 + None, # 3096 + None, # 3097 + None, # 3098 + None, # 3099 + None, # 3100 + None, # 3101 + None, # 3102 + None, # 3103 + None, # 3104 + None, # 3105 + None, # 3106 + None, # 3107 + None, # 3108 + None, # 3109 + None, # 3110 + None, # 3111 + None, # 3112 + None, # 3113 + None, # 3114 + None, # 3115 + None, # 3116 + None, # 3117 + None, # 3118 + None, # 3119 + None, # 3120 + None, # 3121 + None, # 3122 + None, # 3123 + None, # 3124 + None, # 3125 + None, # 3126 + None, # 3127 + None, # 3128 + None, # 3129 + None, # 3130 + None, # 3131 + None, # 3132 + None, # 3133 + None, # 3134 + None, # 3135 + None, # 3136 + None, # 3137 + None, # 3138 + None, # 3139 + None, # 3140 + None, # 3141 + None, # 3142 + None, # 3143 + None, # 3144 + None, # 3145 + None, # 3146 + None, # 3147 + None, # 3148 + None, # 3149 + None, # 3150 + None, # 3151 + None, # 3152 + None, # 3153 + None, # 3154 + None, # 3155 + None, # 3156 + None, # 3157 + None, # 3158 + None, # 3159 + None, # 3160 + None, # 3161 + None, # 3162 + None, # 3163 + None, # 3164 + None, # 3165 + None, # 3166 + None, # 3167 + None, # 3168 + None, # 3169 + None, # 3170 + None, # 3171 + None, # 3172 + None, # 3173 + None, # 3174 + None, # 3175 + None, # 3176 + None, # 3177 + None, # 3178 + None, # 3179 + None, # 3180 + None, # 3181 + None, # 3182 + None, # 3183 + None, # 3184 + None, # 3185 + None, # 3186 + None, # 3187 + None, # 3188 + None, # 3189 + None, # 3190 + None, # 3191 + None, # 3192 + None, # 3193 + None, # 3194 + None, # 3195 + None, # 3196 + None, # 3197 + None, # 3198 + None, # 3199 + None, # 3200 + None, # 3201 + None, # 3202 + None, # 3203 + None, # 3204 + None, # 3205 + None, # 3206 + None, # 3207 + None, # 3208 + None, # 3209 + None, # 3210 + None, # 3211 + None, # 3212 + None, # 3213 + None, # 3214 + None, # 3215 + None, # 3216 + None, # 3217 + None, # 3218 + None, # 3219 + None, # 3220 + None, # 3221 + None, # 3222 + None, # 3223 + None, # 3224 + None, # 3225 + None, # 3226 + None, # 3227 + None, # 3228 + None, # 3229 + None, # 3230 + None, # 3231 + None, # 3232 + None, # 3233 + None, # 3234 + None, # 3235 + None, # 3236 + None, # 3237 + None, # 3238 + None, # 3239 + None, # 3240 + None, # 3241 + None, # 3242 + None, # 3243 + None, # 3244 + None, # 3245 + None, # 3246 + None, # 3247 + None, # 3248 + None, # 3249 + None, # 3250 + None, # 3251 + None, # 3252 + None, # 3253 + None, # 3254 + None, # 3255 + None, # 3256 + None, # 3257 + None, # 3258 + None, # 3259 + None, # 3260 + None, # 3261 + None, # 3262 + None, # 3263 + None, # 3264 + None, # 3265 + None, # 3266 + None, # 3267 + None, # 3268 + None, # 3269 + None, # 3270 + None, # 3271 + None, # 3272 + None, # 3273 + None, # 3274 + None, # 3275 + None, # 3276 + None, # 3277 + None, # 3278 + None, # 3279 + None, # 3280 + None, # 3281 + None, # 3282 + None, # 3283 + None, # 3284 + None, # 3285 + None, # 3286 + None, # 3287 + None, # 3288 + None, # 3289 + None, # 3290 + None, # 3291 + None, # 3292 + None, # 3293 + None, # 3294 + None, # 3295 + None, # 3296 + None, # 3297 + None, # 3298 + None, # 3299 + None, # 3300 + None, # 3301 + None, # 3302 + None, # 3303 + None, # 3304 + None, # 3305 + None, # 3306 + None, # 3307 + None, # 3308 + None, # 3309 + None, # 3310 + None, # 3311 + None, # 3312 + None, # 3313 + None, # 3314 + None, # 3315 + None, # 3316 + None, # 3317 + None, # 3318 + None, # 3319 + None, # 3320 + None, # 3321 + None, # 3322 + None, # 3323 + None, # 3324 + None, # 3325 + None, # 3326 + None, # 3327 + None, # 3328 + (3329, TType.STRUCT, 'operationId', [THandleIdentifier, None], None, ), # 3329 + (3330, TType.STRUCT, 'sessionConf', [TDBSqlSessionConf, None], None, ), # 3330 ) all_structs.append(TGetTypeInfoResp) TGetTypeInfoResp.thrift_spec = ( - None, # 0 - (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 - (2, TType.STRUCT, 'operationHandle', [TOperationHandle, None], None, ), # 2 - None, # 3 - None, # 4 - None, # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - (1281, TType.STRUCT, 'directResults', [TSparkDirectResults, None], None, ), # 1281 + None, # 0 + (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 + (2, TType.STRUCT, 'operationHandle', [TOperationHandle, None], None, ), # 2 + None, # 3 + None, # 4 + None, # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + (1281, TType.STRUCT, 'directResults', [TSparkDirectResults, None], None, ), # 1281 ) all_structs.append(TGetCatalogsReq) TGetCatalogsReq.thrift_spec = ( - None, # 0 - (1, TType.STRUCT, 'sessionHandle', [TSessionHandle, None], None, ), # 1 - None, # 2 - None, # 3 - None, # 4 - None, # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - (1281, TType.STRUCT, 'getDirectResults', [TSparkGetDirectResults, None], None, ), # 1281 - (1282, TType.BOOL, 'runAsync', None, False, ), # 1282 - None, # 1283 - None, # 1284 - None, # 1285 - None, # 1286 - None, # 1287 - None, # 1288 - None, # 1289 - None, # 1290 - None, # 1291 - None, # 1292 - None, # 1293 - None, # 1294 - None, # 1295 - None, # 1296 - None, # 1297 - None, # 1298 - None, # 1299 - None, # 1300 - None, # 1301 - None, # 1302 - None, # 1303 - None, # 1304 - None, # 1305 - None, # 1306 - None, # 1307 - None, # 1308 - None, # 1309 - None, # 1310 - None, # 1311 - None, # 1312 - None, # 1313 - None, # 1314 - None, # 1315 - None, # 1316 - None, # 1317 - None, # 1318 - None, # 1319 - None, # 1320 - None, # 1321 - None, # 1322 - None, # 1323 - None, # 1324 - None, # 1325 - None, # 1326 - None, # 1327 - None, # 1328 - None, # 1329 - None, # 1330 - None, # 1331 - None, # 1332 - None, # 1333 - None, # 1334 - None, # 1335 - None, # 1336 - None, # 1337 - None, # 1338 - None, # 1339 - None, # 1340 - None, # 1341 - None, # 1342 - None, # 1343 - None, # 1344 - None, # 1345 - None, # 1346 - None, # 1347 - None, # 1348 - None, # 1349 - None, # 1350 - None, # 1351 - None, # 1352 - None, # 1353 - None, # 1354 - None, # 1355 - None, # 1356 - None, # 1357 - None, # 1358 - None, # 1359 - None, # 1360 - None, # 1361 - None, # 1362 - None, # 1363 - None, # 1364 - None, # 1365 - None, # 1366 - None, # 1367 - None, # 1368 - None, # 1369 - None, # 1370 - None, # 1371 - None, # 1372 - None, # 1373 - None, # 1374 - None, # 1375 - None, # 1376 - None, # 1377 - None, # 1378 - None, # 1379 - None, # 1380 - None, # 1381 - None, # 1382 - None, # 1383 - None, # 1384 - None, # 1385 - None, # 1386 - None, # 1387 - None, # 1388 - None, # 1389 - None, # 1390 - None, # 1391 - None, # 1392 - None, # 1393 - None, # 1394 - None, # 1395 - None, # 1396 - None, # 1397 - None, # 1398 - None, # 1399 - None, # 1400 - None, # 1401 - None, # 1402 - None, # 1403 - None, # 1404 - None, # 1405 - None, # 1406 - None, # 1407 - None, # 1408 - None, # 1409 - None, # 1410 - None, # 1411 - None, # 1412 - None, # 1413 - None, # 1414 - None, # 1415 - None, # 1416 - None, # 1417 - None, # 1418 - None, # 1419 - None, # 1420 - None, # 1421 - None, # 1422 - None, # 1423 - None, # 1424 - None, # 1425 - None, # 1426 - None, # 1427 - None, # 1428 - None, # 1429 - None, # 1430 - None, # 1431 - None, # 1432 - None, # 1433 - None, # 1434 - None, # 1435 - None, # 1436 - None, # 1437 - None, # 1438 - None, # 1439 - None, # 1440 - None, # 1441 - None, # 1442 - None, # 1443 - None, # 1444 - None, # 1445 - None, # 1446 - None, # 1447 - None, # 1448 - None, # 1449 - None, # 1450 - None, # 1451 - None, # 1452 - None, # 1453 - None, # 1454 - None, # 1455 - None, # 1456 - None, # 1457 - None, # 1458 - None, # 1459 - None, # 1460 - None, # 1461 - None, # 1462 - None, # 1463 - None, # 1464 - None, # 1465 - None, # 1466 - None, # 1467 - None, # 1468 - None, # 1469 - None, # 1470 - None, # 1471 - None, # 1472 - None, # 1473 - None, # 1474 - None, # 1475 - None, # 1476 - None, # 1477 - None, # 1478 - None, # 1479 - None, # 1480 - None, # 1481 - None, # 1482 - None, # 1483 - None, # 1484 - None, # 1485 - None, # 1486 - None, # 1487 - None, # 1488 - None, # 1489 - None, # 1490 - None, # 1491 - None, # 1492 - None, # 1493 - None, # 1494 - None, # 1495 - None, # 1496 - None, # 1497 - None, # 1498 - None, # 1499 - None, # 1500 - None, # 1501 - None, # 1502 - None, # 1503 - None, # 1504 - None, # 1505 - None, # 1506 - None, # 1507 - None, # 1508 - None, # 1509 - None, # 1510 - None, # 1511 - None, # 1512 - None, # 1513 - None, # 1514 - None, # 1515 - None, # 1516 - None, # 1517 - None, # 1518 - None, # 1519 - None, # 1520 - None, # 1521 - None, # 1522 - None, # 1523 - None, # 1524 - None, # 1525 - None, # 1526 - None, # 1527 - None, # 1528 - None, # 1529 - None, # 1530 - None, # 1531 - None, # 1532 - None, # 1533 - None, # 1534 - None, # 1535 - None, # 1536 - None, # 1537 - None, # 1538 - None, # 1539 - None, # 1540 - None, # 1541 - None, # 1542 - None, # 1543 - None, # 1544 - None, # 1545 - None, # 1546 - None, # 1547 - None, # 1548 - None, # 1549 - None, # 1550 - None, # 1551 - None, # 1552 - None, # 1553 - None, # 1554 - None, # 1555 - None, # 1556 - None, # 1557 - None, # 1558 - None, # 1559 - None, # 1560 - None, # 1561 - None, # 1562 - None, # 1563 - None, # 1564 - None, # 1565 - None, # 1566 - None, # 1567 - None, # 1568 - None, # 1569 - None, # 1570 - None, # 1571 - None, # 1572 - None, # 1573 - None, # 1574 - None, # 1575 - None, # 1576 - None, # 1577 - None, # 1578 - None, # 1579 - None, # 1580 - None, # 1581 - None, # 1582 - None, # 1583 - None, # 1584 - None, # 1585 - None, # 1586 - None, # 1587 - None, # 1588 - None, # 1589 - None, # 1590 - None, # 1591 - None, # 1592 - None, # 1593 - None, # 1594 - None, # 1595 - None, # 1596 - None, # 1597 - None, # 1598 - None, # 1599 - None, # 1600 - None, # 1601 - None, # 1602 - None, # 1603 - None, # 1604 - None, # 1605 - None, # 1606 - None, # 1607 - None, # 1608 - None, # 1609 - None, # 1610 - None, # 1611 - None, # 1612 - None, # 1613 - None, # 1614 - None, # 1615 - None, # 1616 - None, # 1617 - None, # 1618 - None, # 1619 - None, # 1620 - None, # 1621 - None, # 1622 - None, # 1623 - None, # 1624 - None, # 1625 - None, # 1626 - None, # 1627 - None, # 1628 - None, # 1629 - None, # 1630 - None, # 1631 - None, # 1632 - None, # 1633 - None, # 1634 - None, # 1635 - None, # 1636 - None, # 1637 - None, # 1638 - None, # 1639 - None, # 1640 - None, # 1641 - None, # 1642 - None, # 1643 - None, # 1644 - None, # 1645 - None, # 1646 - None, # 1647 - None, # 1648 - None, # 1649 - None, # 1650 - None, # 1651 - None, # 1652 - None, # 1653 - None, # 1654 - None, # 1655 - None, # 1656 - None, # 1657 - None, # 1658 - None, # 1659 - None, # 1660 - None, # 1661 - None, # 1662 - None, # 1663 - None, # 1664 - None, # 1665 - None, # 1666 - None, # 1667 - None, # 1668 - None, # 1669 - None, # 1670 - None, # 1671 - None, # 1672 - None, # 1673 - None, # 1674 - None, # 1675 - None, # 1676 - None, # 1677 - None, # 1678 - None, # 1679 - None, # 1680 - None, # 1681 - None, # 1682 - None, # 1683 - None, # 1684 - None, # 1685 - None, # 1686 - None, # 1687 - None, # 1688 - None, # 1689 - None, # 1690 - None, # 1691 - None, # 1692 - None, # 1693 - None, # 1694 - None, # 1695 - None, # 1696 - None, # 1697 - None, # 1698 - None, # 1699 - None, # 1700 - None, # 1701 - None, # 1702 - None, # 1703 - None, # 1704 - None, # 1705 - None, # 1706 - None, # 1707 - None, # 1708 - None, # 1709 - None, # 1710 - None, # 1711 - None, # 1712 - None, # 1713 - None, # 1714 - None, # 1715 - None, # 1716 - None, # 1717 - None, # 1718 - None, # 1719 - None, # 1720 - None, # 1721 - None, # 1722 - None, # 1723 - None, # 1724 - None, # 1725 - None, # 1726 - None, # 1727 - None, # 1728 - None, # 1729 - None, # 1730 - None, # 1731 - None, # 1732 - None, # 1733 - None, # 1734 - None, # 1735 - None, # 1736 - None, # 1737 - None, # 1738 - None, # 1739 - None, # 1740 - None, # 1741 - None, # 1742 - None, # 1743 - None, # 1744 - None, # 1745 - None, # 1746 - None, # 1747 - None, # 1748 - None, # 1749 - None, # 1750 - None, # 1751 - None, # 1752 - None, # 1753 - None, # 1754 - None, # 1755 - None, # 1756 - None, # 1757 - None, # 1758 - None, # 1759 - None, # 1760 - None, # 1761 - None, # 1762 - None, # 1763 - None, # 1764 - None, # 1765 - None, # 1766 - None, # 1767 - None, # 1768 - None, # 1769 - None, # 1770 - None, # 1771 - None, # 1772 - None, # 1773 - None, # 1774 - None, # 1775 - None, # 1776 - None, # 1777 - None, # 1778 - None, # 1779 - None, # 1780 - None, # 1781 - None, # 1782 - None, # 1783 - None, # 1784 - None, # 1785 - None, # 1786 - None, # 1787 - None, # 1788 - None, # 1789 - None, # 1790 - None, # 1791 - None, # 1792 - None, # 1793 - None, # 1794 - None, # 1795 - None, # 1796 - None, # 1797 - None, # 1798 - None, # 1799 - None, # 1800 - None, # 1801 - None, # 1802 - None, # 1803 - None, # 1804 - None, # 1805 - None, # 1806 - None, # 1807 - None, # 1808 - None, # 1809 - None, # 1810 - None, # 1811 - None, # 1812 - None, # 1813 - None, # 1814 - None, # 1815 - None, # 1816 - None, # 1817 - None, # 1818 - None, # 1819 - None, # 1820 - None, # 1821 - None, # 1822 - None, # 1823 - None, # 1824 - None, # 1825 - None, # 1826 - None, # 1827 - None, # 1828 - None, # 1829 - None, # 1830 - None, # 1831 - None, # 1832 - None, # 1833 - None, # 1834 - None, # 1835 - None, # 1836 - None, # 1837 - None, # 1838 - None, # 1839 - None, # 1840 - None, # 1841 - None, # 1842 - None, # 1843 - None, # 1844 - None, # 1845 - None, # 1846 - None, # 1847 - None, # 1848 - None, # 1849 - None, # 1850 - None, # 1851 - None, # 1852 - None, # 1853 - None, # 1854 - None, # 1855 - None, # 1856 - None, # 1857 - None, # 1858 - None, # 1859 - None, # 1860 - None, # 1861 - None, # 1862 - None, # 1863 - None, # 1864 - None, # 1865 - None, # 1866 - None, # 1867 - None, # 1868 - None, # 1869 - None, # 1870 - None, # 1871 - None, # 1872 - None, # 1873 - None, # 1874 - None, # 1875 - None, # 1876 - None, # 1877 - None, # 1878 - None, # 1879 - None, # 1880 - None, # 1881 - None, # 1882 - None, # 1883 - None, # 1884 - None, # 1885 - None, # 1886 - None, # 1887 - None, # 1888 - None, # 1889 - None, # 1890 - None, # 1891 - None, # 1892 - None, # 1893 - None, # 1894 - None, # 1895 - None, # 1896 - None, # 1897 - None, # 1898 - None, # 1899 - None, # 1900 - None, # 1901 - None, # 1902 - None, # 1903 - None, # 1904 - None, # 1905 - None, # 1906 - None, # 1907 - None, # 1908 - None, # 1909 - None, # 1910 - None, # 1911 - None, # 1912 - None, # 1913 - None, # 1914 - None, # 1915 - None, # 1916 - None, # 1917 - None, # 1918 - None, # 1919 - None, # 1920 - None, # 1921 - None, # 1922 - None, # 1923 - None, # 1924 - None, # 1925 - None, # 1926 - None, # 1927 - None, # 1928 - None, # 1929 - None, # 1930 - None, # 1931 - None, # 1932 - None, # 1933 - None, # 1934 - None, # 1935 - None, # 1936 - None, # 1937 - None, # 1938 - None, # 1939 - None, # 1940 - None, # 1941 - None, # 1942 - None, # 1943 - None, # 1944 - None, # 1945 - None, # 1946 - None, # 1947 - None, # 1948 - None, # 1949 - None, # 1950 - None, # 1951 - None, # 1952 - None, # 1953 - None, # 1954 - None, # 1955 - None, # 1956 - None, # 1957 - None, # 1958 - None, # 1959 - None, # 1960 - None, # 1961 - None, # 1962 - None, # 1963 - None, # 1964 - None, # 1965 - None, # 1966 - None, # 1967 - None, # 1968 - None, # 1969 - None, # 1970 - None, # 1971 - None, # 1972 - None, # 1973 - None, # 1974 - None, # 1975 - None, # 1976 - None, # 1977 - None, # 1978 - None, # 1979 - None, # 1980 - None, # 1981 - None, # 1982 - None, # 1983 - None, # 1984 - None, # 1985 - None, # 1986 - None, # 1987 - None, # 1988 - None, # 1989 - None, # 1990 - None, # 1991 - None, # 1992 - None, # 1993 - None, # 1994 - None, # 1995 - None, # 1996 - None, # 1997 - None, # 1998 - None, # 1999 - None, # 2000 - None, # 2001 - None, # 2002 - None, # 2003 - None, # 2004 - None, # 2005 - None, # 2006 - None, # 2007 - None, # 2008 - None, # 2009 - None, # 2010 - None, # 2011 - None, # 2012 - None, # 2013 - None, # 2014 - None, # 2015 - None, # 2016 - None, # 2017 - None, # 2018 - None, # 2019 - None, # 2020 - None, # 2021 - None, # 2022 - None, # 2023 - None, # 2024 - None, # 2025 - None, # 2026 - None, # 2027 - None, # 2028 - None, # 2029 - None, # 2030 - None, # 2031 - None, # 2032 - None, # 2033 - None, # 2034 - None, # 2035 - None, # 2036 - None, # 2037 - None, # 2038 - None, # 2039 - None, # 2040 - None, # 2041 - None, # 2042 - None, # 2043 - None, # 2044 - None, # 2045 - None, # 2046 - None, # 2047 - None, # 2048 - None, # 2049 - None, # 2050 - None, # 2051 - None, # 2052 - None, # 2053 - None, # 2054 - None, # 2055 - None, # 2056 - None, # 2057 - None, # 2058 - None, # 2059 - None, # 2060 - None, # 2061 - None, # 2062 - None, # 2063 - None, # 2064 - None, # 2065 - None, # 2066 - None, # 2067 - None, # 2068 - None, # 2069 - None, # 2070 - None, # 2071 - None, # 2072 - None, # 2073 - None, # 2074 - None, # 2075 - None, # 2076 - None, # 2077 - None, # 2078 - None, # 2079 - None, # 2080 - None, # 2081 - None, # 2082 - None, # 2083 - None, # 2084 - None, # 2085 - None, # 2086 - None, # 2087 - None, # 2088 - None, # 2089 - None, # 2090 - None, # 2091 - None, # 2092 - None, # 2093 - None, # 2094 - None, # 2095 - None, # 2096 - None, # 2097 - None, # 2098 - None, # 2099 - None, # 2100 - None, # 2101 - None, # 2102 - None, # 2103 - None, # 2104 - None, # 2105 - None, # 2106 - None, # 2107 - None, # 2108 - None, # 2109 - None, # 2110 - None, # 2111 - None, # 2112 - None, # 2113 - None, # 2114 - None, # 2115 - None, # 2116 - None, # 2117 - None, # 2118 - None, # 2119 - None, # 2120 - None, # 2121 - None, # 2122 - None, # 2123 - None, # 2124 - None, # 2125 - None, # 2126 - None, # 2127 - None, # 2128 - None, # 2129 - None, # 2130 - None, # 2131 - None, # 2132 - None, # 2133 - None, # 2134 - None, # 2135 - None, # 2136 - None, # 2137 - None, # 2138 - None, # 2139 - None, # 2140 - None, # 2141 - None, # 2142 - None, # 2143 - None, # 2144 - None, # 2145 - None, # 2146 - None, # 2147 - None, # 2148 - None, # 2149 - None, # 2150 - None, # 2151 - None, # 2152 - None, # 2153 - None, # 2154 - None, # 2155 - None, # 2156 - None, # 2157 - None, # 2158 - None, # 2159 - None, # 2160 - None, # 2161 - None, # 2162 - None, # 2163 - None, # 2164 - None, # 2165 - None, # 2166 - None, # 2167 - None, # 2168 - None, # 2169 - None, # 2170 - None, # 2171 - None, # 2172 - None, # 2173 - None, # 2174 - None, # 2175 - None, # 2176 - None, # 2177 - None, # 2178 - None, # 2179 - None, # 2180 - None, # 2181 - None, # 2182 - None, # 2183 - None, # 2184 - None, # 2185 - None, # 2186 - None, # 2187 - None, # 2188 - None, # 2189 - None, # 2190 - None, # 2191 - None, # 2192 - None, # 2193 - None, # 2194 - None, # 2195 - None, # 2196 - None, # 2197 - None, # 2198 - None, # 2199 - None, # 2200 - None, # 2201 - None, # 2202 - None, # 2203 - None, # 2204 - None, # 2205 - None, # 2206 - None, # 2207 - None, # 2208 - None, # 2209 - None, # 2210 - None, # 2211 - None, # 2212 - None, # 2213 - None, # 2214 - None, # 2215 - None, # 2216 - None, # 2217 - None, # 2218 - None, # 2219 - None, # 2220 - None, # 2221 - None, # 2222 - None, # 2223 - None, # 2224 - None, # 2225 - None, # 2226 - None, # 2227 - None, # 2228 - None, # 2229 - None, # 2230 - None, # 2231 - None, # 2232 - None, # 2233 - None, # 2234 - None, # 2235 - None, # 2236 - None, # 2237 - None, # 2238 - None, # 2239 - None, # 2240 - None, # 2241 - None, # 2242 - None, # 2243 - None, # 2244 - None, # 2245 - None, # 2246 - None, # 2247 - None, # 2248 - None, # 2249 - None, # 2250 - None, # 2251 - None, # 2252 - None, # 2253 - None, # 2254 - None, # 2255 - None, # 2256 - None, # 2257 - None, # 2258 - None, # 2259 - None, # 2260 - None, # 2261 - None, # 2262 - None, # 2263 - None, # 2264 - None, # 2265 - None, # 2266 - None, # 2267 - None, # 2268 - None, # 2269 - None, # 2270 - None, # 2271 - None, # 2272 - None, # 2273 - None, # 2274 - None, # 2275 - None, # 2276 - None, # 2277 - None, # 2278 - None, # 2279 - None, # 2280 - None, # 2281 - None, # 2282 - None, # 2283 - None, # 2284 - None, # 2285 - None, # 2286 - None, # 2287 - None, # 2288 - None, # 2289 - None, # 2290 - None, # 2291 - None, # 2292 - None, # 2293 - None, # 2294 - None, # 2295 - None, # 2296 - None, # 2297 - None, # 2298 - None, # 2299 - None, # 2300 - None, # 2301 - None, # 2302 - None, # 2303 - None, # 2304 - None, # 2305 - None, # 2306 - None, # 2307 - None, # 2308 - None, # 2309 - None, # 2310 - None, # 2311 - None, # 2312 - None, # 2313 - None, # 2314 - None, # 2315 - None, # 2316 - None, # 2317 - None, # 2318 - None, # 2319 - None, # 2320 - None, # 2321 - None, # 2322 - None, # 2323 - None, # 2324 - None, # 2325 - None, # 2326 - None, # 2327 - None, # 2328 - None, # 2329 - None, # 2330 - None, # 2331 - None, # 2332 - None, # 2333 - None, # 2334 - None, # 2335 - None, # 2336 - None, # 2337 - None, # 2338 - None, # 2339 - None, # 2340 - None, # 2341 - None, # 2342 - None, # 2343 - None, # 2344 - None, # 2345 - None, # 2346 - None, # 2347 - None, # 2348 - None, # 2349 - None, # 2350 - None, # 2351 - None, # 2352 - None, # 2353 - None, # 2354 - None, # 2355 - None, # 2356 - None, # 2357 - None, # 2358 - None, # 2359 - None, # 2360 - None, # 2361 - None, # 2362 - None, # 2363 - None, # 2364 - None, # 2365 - None, # 2366 - None, # 2367 - None, # 2368 - None, # 2369 - None, # 2370 - None, # 2371 - None, # 2372 - None, # 2373 - None, # 2374 - None, # 2375 - None, # 2376 - None, # 2377 - None, # 2378 - None, # 2379 - None, # 2380 - None, # 2381 - None, # 2382 - None, # 2383 - None, # 2384 - None, # 2385 - None, # 2386 - None, # 2387 - None, # 2388 - None, # 2389 - None, # 2390 - None, # 2391 - None, # 2392 - None, # 2393 - None, # 2394 - None, # 2395 - None, # 2396 - None, # 2397 - None, # 2398 - None, # 2399 - None, # 2400 - None, # 2401 - None, # 2402 - None, # 2403 - None, # 2404 - None, # 2405 - None, # 2406 - None, # 2407 - None, # 2408 - None, # 2409 - None, # 2410 - None, # 2411 - None, # 2412 - None, # 2413 - None, # 2414 - None, # 2415 - None, # 2416 - None, # 2417 - None, # 2418 - None, # 2419 - None, # 2420 - None, # 2421 - None, # 2422 - None, # 2423 - None, # 2424 - None, # 2425 - None, # 2426 - None, # 2427 - None, # 2428 - None, # 2429 - None, # 2430 - None, # 2431 - None, # 2432 - None, # 2433 - None, # 2434 - None, # 2435 - None, # 2436 - None, # 2437 - None, # 2438 - None, # 2439 - None, # 2440 - None, # 2441 - None, # 2442 - None, # 2443 - None, # 2444 - None, # 2445 - None, # 2446 - None, # 2447 - None, # 2448 - None, # 2449 - None, # 2450 - None, # 2451 - None, # 2452 - None, # 2453 - None, # 2454 - None, # 2455 - None, # 2456 - None, # 2457 - None, # 2458 - None, # 2459 - None, # 2460 - None, # 2461 - None, # 2462 - None, # 2463 - None, # 2464 - None, # 2465 - None, # 2466 - None, # 2467 - None, # 2468 - None, # 2469 - None, # 2470 - None, # 2471 - None, # 2472 - None, # 2473 - None, # 2474 - None, # 2475 - None, # 2476 - None, # 2477 - None, # 2478 - None, # 2479 - None, # 2480 - None, # 2481 - None, # 2482 - None, # 2483 - None, # 2484 - None, # 2485 - None, # 2486 - None, # 2487 - None, # 2488 - None, # 2489 - None, # 2490 - None, # 2491 - None, # 2492 - None, # 2493 - None, # 2494 - None, # 2495 - None, # 2496 - None, # 2497 - None, # 2498 - None, # 2499 - None, # 2500 - None, # 2501 - None, # 2502 - None, # 2503 - None, # 2504 - None, # 2505 - None, # 2506 - None, # 2507 - None, # 2508 - None, # 2509 - None, # 2510 - None, # 2511 - None, # 2512 - None, # 2513 - None, # 2514 - None, # 2515 - None, # 2516 - None, # 2517 - None, # 2518 - None, # 2519 - None, # 2520 - None, # 2521 - None, # 2522 - None, # 2523 - None, # 2524 - None, # 2525 - None, # 2526 - None, # 2527 - None, # 2528 - None, # 2529 - None, # 2530 - None, # 2531 - None, # 2532 - None, # 2533 - None, # 2534 - None, # 2535 - None, # 2536 - None, # 2537 - None, # 2538 - None, # 2539 - None, # 2540 - None, # 2541 - None, # 2542 - None, # 2543 - None, # 2544 - None, # 2545 - None, # 2546 - None, # 2547 - None, # 2548 - None, # 2549 - None, # 2550 - None, # 2551 - None, # 2552 - None, # 2553 - None, # 2554 - None, # 2555 - None, # 2556 - None, # 2557 - None, # 2558 - None, # 2559 - None, # 2560 - None, # 2561 - None, # 2562 - None, # 2563 - None, # 2564 - None, # 2565 - None, # 2566 - None, # 2567 - None, # 2568 - None, # 2569 - None, # 2570 - None, # 2571 - None, # 2572 - None, # 2573 - None, # 2574 - None, # 2575 - None, # 2576 - None, # 2577 - None, # 2578 - None, # 2579 - None, # 2580 - None, # 2581 - None, # 2582 - None, # 2583 - None, # 2584 - None, # 2585 - None, # 2586 - None, # 2587 - None, # 2588 - None, # 2589 - None, # 2590 - None, # 2591 - None, # 2592 - None, # 2593 - None, # 2594 - None, # 2595 - None, # 2596 - None, # 2597 - None, # 2598 - None, # 2599 - None, # 2600 - None, # 2601 - None, # 2602 - None, # 2603 - None, # 2604 - None, # 2605 - None, # 2606 - None, # 2607 - None, # 2608 - None, # 2609 - None, # 2610 - None, # 2611 - None, # 2612 - None, # 2613 - None, # 2614 - None, # 2615 - None, # 2616 - None, # 2617 - None, # 2618 - None, # 2619 - None, # 2620 - None, # 2621 - None, # 2622 - None, # 2623 - None, # 2624 - None, # 2625 - None, # 2626 - None, # 2627 - None, # 2628 - None, # 2629 - None, # 2630 - None, # 2631 - None, # 2632 - None, # 2633 - None, # 2634 - None, # 2635 - None, # 2636 - None, # 2637 - None, # 2638 - None, # 2639 - None, # 2640 - None, # 2641 - None, # 2642 - None, # 2643 - None, # 2644 - None, # 2645 - None, # 2646 - None, # 2647 - None, # 2648 - None, # 2649 - None, # 2650 - None, # 2651 - None, # 2652 - None, # 2653 - None, # 2654 - None, # 2655 - None, # 2656 - None, # 2657 - None, # 2658 - None, # 2659 - None, # 2660 - None, # 2661 - None, # 2662 - None, # 2663 - None, # 2664 - None, # 2665 - None, # 2666 - None, # 2667 - None, # 2668 - None, # 2669 - None, # 2670 - None, # 2671 - None, # 2672 - None, # 2673 - None, # 2674 - None, # 2675 - None, # 2676 - None, # 2677 - None, # 2678 - None, # 2679 - None, # 2680 - None, # 2681 - None, # 2682 - None, # 2683 - None, # 2684 - None, # 2685 - None, # 2686 - None, # 2687 - None, # 2688 - None, # 2689 - None, # 2690 - None, # 2691 - None, # 2692 - None, # 2693 - None, # 2694 - None, # 2695 - None, # 2696 - None, # 2697 - None, # 2698 - None, # 2699 - None, # 2700 - None, # 2701 - None, # 2702 - None, # 2703 - None, # 2704 - None, # 2705 - None, # 2706 - None, # 2707 - None, # 2708 - None, # 2709 - None, # 2710 - None, # 2711 - None, # 2712 - None, # 2713 - None, # 2714 - None, # 2715 - None, # 2716 - None, # 2717 - None, # 2718 - None, # 2719 - None, # 2720 - None, # 2721 - None, # 2722 - None, # 2723 - None, # 2724 - None, # 2725 - None, # 2726 - None, # 2727 - None, # 2728 - None, # 2729 - None, # 2730 - None, # 2731 - None, # 2732 - None, # 2733 - None, # 2734 - None, # 2735 - None, # 2736 - None, # 2737 - None, # 2738 - None, # 2739 - None, # 2740 - None, # 2741 - None, # 2742 - None, # 2743 - None, # 2744 - None, # 2745 - None, # 2746 - None, # 2747 - None, # 2748 - None, # 2749 - None, # 2750 - None, # 2751 - None, # 2752 - None, # 2753 - None, # 2754 - None, # 2755 - None, # 2756 - None, # 2757 - None, # 2758 - None, # 2759 - None, # 2760 - None, # 2761 - None, # 2762 - None, # 2763 - None, # 2764 - None, # 2765 - None, # 2766 - None, # 2767 - None, # 2768 - None, # 2769 - None, # 2770 - None, # 2771 - None, # 2772 - None, # 2773 - None, # 2774 - None, # 2775 - None, # 2776 - None, # 2777 - None, # 2778 - None, # 2779 - None, # 2780 - None, # 2781 - None, # 2782 - None, # 2783 - None, # 2784 - None, # 2785 - None, # 2786 - None, # 2787 - None, # 2788 - None, # 2789 - None, # 2790 - None, # 2791 - None, # 2792 - None, # 2793 - None, # 2794 - None, # 2795 - None, # 2796 - None, # 2797 - None, # 2798 - None, # 2799 - None, # 2800 - None, # 2801 - None, # 2802 - None, # 2803 - None, # 2804 - None, # 2805 - None, # 2806 - None, # 2807 - None, # 2808 - None, # 2809 - None, # 2810 - None, # 2811 - None, # 2812 - None, # 2813 - None, # 2814 - None, # 2815 - None, # 2816 - None, # 2817 - None, # 2818 - None, # 2819 - None, # 2820 - None, # 2821 - None, # 2822 - None, # 2823 - None, # 2824 - None, # 2825 - None, # 2826 - None, # 2827 - None, # 2828 - None, # 2829 - None, # 2830 - None, # 2831 - None, # 2832 - None, # 2833 - None, # 2834 - None, # 2835 - None, # 2836 - None, # 2837 - None, # 2838 - None, # 2839 - None, # 2840 - None, # 2841 - None, # 2842 - None, # 2843 - None, # 2844 - None, # 2845 - None, # 2846 - None, # 2847 - None, # 2848 - None, # 2849 - None, # 2850 - None, # 2851 - None, # 2852 - None, # 2853 - None, # 2854 - None, # 2855 - None, # 2856 - None, # 2857 - None, # 2858 - None, # 2859 - None, # 2860 - None, # 2861 - None, # 2862 - None, # 2863 - None, # 2864 - None, # 2865 - None, # 2866 - None, # 2867 - None, # 2868 - None, # 2869 - None, # 2870 - None, # 2871 - None, # 2872 - None, # 2873 - None, # 2874 - None, # 2875 - None, # 2876 - None, # 2877 - None, # 2878 - None, # 2879 - None, # 2880 - None, # 2881 - None, # 2882 - None, # 2883 - None, # 2884 - None, # 2885 - None, # 2886 - None, # 2887 - None, # 2888 - None, # 2889 - None, # 2890 - None, # 2891 - None, # 2892 - None, # 2893 - None, # 2894 - None, # 2895 - None, # 2896 - None, # 2897 - None, # 2898 - None, # 2899 - None, # 2900 - None, # 2901 - None, # 2902 - None, # 2903 - None, # 2904 - None, # 2905 - None, # 2906 - None, # 2907 - None, # 2908 - None, # 2909 - None, # 2910 - None, # 2911 - None, # 2912 - None, # 2913 - None, # 2914 - None, # 2915 - None, # 2916 - None, # 2917 - None, # 2918 - None, # 2919 - None, # 2920 - None, # 2921 - None, # 2922 - None, # 2923 - None, # 2924 - None, # 2925 - None, # 2926 - None, # 2927 - None, # 2928 - None, # 2929 - None, # 2930 - None, # 2931 - None, # 2932 - None, # 2933 - None, # 2934 - None, # 2935 - None, # 2936 - None, # 2937 - None, # 2938 - None, # 2939 - None, # 2940 - None, # 2941 - None, # 2942 - None, # 2943 - None, # 2944 - None, # 2945 - None, # 2946 - None, # 2947 - None, # 2948 - None, # 2949 - None, # 2950 - None, # 2951 - None, # 2952 - None, # 2953 - None, # 2954 - None, # 2955 - None, # 2956 - None, # 2957 - None, # 2958 - None, # 2959 - None, # 2960 - None, # 2961 - None, # 2962 - None, # 2963 - None, # 2964 - None, # 2965 - None, # 2966 - None, # 2967 - None, # 2968 - None, # 2969 - None, # 2970 - None, # 2971 - None, # 2972 - None, # 2973 - None, # 2974 - None, # 2975 - None, # 2976 - None, # 2977 - None, # 2978 - None, # 2979 - None, # 2980 - None, # 2981 - None, # 2982 - None, # 2983 - None, # 2984 - None, # 2985 - None, # 2986 - None, # 2987 - None, # 2988 - None, # 2989 - None, # 2990 - None, # 2991 - None, # 2992 - None, # 2993 - None, # 2994 - None, # 2995 - None, # 2996 - None, # 2997 - None, # 2998 - None, # 2999 - None, # 3000 - None, # 3001 - None, # 3002 - None, # 3003 - None, # 3004 - None, # 3005 - None, # 3006 - None, # 3007 - None, # 3008 - None, # 3009 - None, # 3010 - None, # 3011 - None, # 3012 - None, # 3013 - None, # 3014 - None, # 3015 - None, # 3016 - None, # 3017 - None, # 3018 - None, # 3019 - None, # 3020 - None, # 3021 - None, # 3022 - None, # 3023 - None, # 3024 - None, # 3025 - None, # 3026 - None, # 3027 - None, # 3028 - None, # 3029 - None, # 3030 - None, # 3031 - None, # 3032 - None, # 3033 - None, # 3034 - None, # 3035 - None, # 3036 - None, # 3037 - None, # 3038 - None, # 3039 - None, # 3040 - None, # 3041 - None, # 3042 - None, # 3043 - None, # 3044 - None, # 3045 - None, # 3046 - None, # 3047 - None, # 3048 - None, # 3049 - None, # 3050 - None, # 3051 - None, # 3052 - None, # 3053 - None, # 3054 - None, # 3055 - None, # 3056 - None, # 3057 - None, # 3058 - None, # 3059 - None, # 3060 - None, # 3061 - None, # 3062 - None, # 3063 - None, # 3064 - None, # 3065 - None, # 3066 - None, # 3067 - None, # 3068 - None, # 3069 - None, # 3070 - None, # 3071 - None, # 3072 - None, # 3073 - None, # 3074 - None, # 3075 - None, # 3076 - None, # 3077 - None, # 3078 - None, # 3079 - None, # 3080 - None, # 3081 - None, # 3082 - None, # 3083 - None, # 3084 - None, # 3085 - None, # 3086 - None, # 3087 - None, # 3088 - None, # 3089 - None, # 3090 - None, # 3091 - None, # 3092 - None, # 3093 - None, # 3094 - None, # 3095 - None, # 3096 - None, # 3097 - None, # 3098 - None, # 3099 - None, # 3100 - None, # 3101 - None, # 3102 - None, # 3103 - None, # 3104 - None, # 3105 - None, # 3106 - None, # 3107 - None, # 3108 - None, # 3109 - None, # 3110 - None, # 3111 - None, # 3112 - None, # 3113 - None, # 3114 - None, # 3115 - None, # 3116 - None, # 3117 - None, # 3118 - None, # 3119 - None, # 3120 - None, # 3121 - None, # 3122 - None, # 3123 - None, # 3124 - None, # 3125 - None, # 3126 - None, # 3127 - None, # 3128 - None, # 3129 - None, # 3130 - None, # 3131 - None, # 3132 - None, # 3133 - None, # 3134 - None, # 3135 - None, # 3136 - None, # 3137 - None, # 3138 - None, # 3139 - None, # 3140 - None, # 3141 - None, # 3142 - None, # 3143 - None, # 3144 - None, # 3145 - None, # 3146 - None, # 3147 - None, # 3148 - None, # 3149 - None, # 3150 - None, # 3151 - None, # 3152 - None, # 3153 - None, # 3154 - None, # 3155 - None, # 3156 - None, # 3157 - None, # 3158 - None, # 3159 - None, # 3160 - None, # 3161 - None, # 3162 - None, # 3163 - None, # 3164 - None, # 3165 - None, # 3166 - None, # 3167 - None, # 3168 - None, # 3169 - None, # 3170 - None, # 3171 - None, # 3172 - None, # 3173 - None, # 3174 - None, # 3175 - None, # 3176 - None, # 3177 - None, # 3178 - None, # 3179 - None, # 3180 - None, # 3181 - None, # 3182 - None, # 3183 - None, # 3184 - None, # 3185 - None, # 3186 - None, # 3187 - None, # 3188 - None, # 3189 - None, # 3190 - None, # 3191 - None, # 3192 - None, # 3193 - None, # 3194 - None, # 3195 - None, # 3196 - None, # 3197 - None, # 3198 - None, # 3199 - None, # 3200 - None, # 3201 - None, # 3202 - None, # 3203 - None, # 3204 - None, # 3205 - None, # 3206 - None, # 3207 - None, # 3208 - None, # 3209 - None, # 3210 - None, # 3211 - None, # 3212 - None, # 3213 - None, # 3214 - None, # 3215 - None, # 3216 - None, # 3217 - None, # 3218 - None, # 3219 - None, # 3220 - None, # 3221 - None, # 3222 - None, # 3223 - None, # 3224 - None, # 3225 - None, # 3226 - None, # 3227 - None, # 3228 - None, # 3229 - None, # 3230 - None, # 3231 - None, # 3232 - None, # 3233 - None, # 3234 - None, # 3235 - None, # 3236 - None, # 3237 - None, # 3238 - None, # 3239 - None, # 3240 - None, # 3241 - None, # 3242 - None, # 3243 - None, # 3244 - None, # 3245 - None, # 3246 - None, # 3247 - None, # 3248 - None, # 3249 - None, # 3250 - None, # 3251 - None, # 3252 - None, # 3253 - None, # 3254 - None, # 3255 - None, # 3256 - None, # 3257 - None, # 3258 - None, # 3259 - None, # 3260 - None, # 3261 - None, # 3262 - None, # 3263 - None, # 3264 - None, # 3265 - None, # 3266 - None, # 3267 - None, # 3268 - None, # 3269 - None, # 3270 - None, # 3271 - None, # 3272 - None, # 3273 - None, # 3274 - None, # 3275 - None, # 3276 - None, # 3277 - None, # 3278 - None, # 3279 - None, # 3280 - None, # 3281 - None, # 3282 - None, # 3283 - None, # 3284 - None, # 3285 - None, # 3286 - None, # 3287 - None, # 3288 - None, # 3289 - None, # 3290 - None, # 3291 - None, # 3292 - None, # 3293 - None, # 3294 - None, # 3295 - None, # 3296 - None, # 3297 - None, # 3298 - None, # 3299 - None, # 3300 - None, # 3301 - None, # 3302 - None, # 3303 - None, # 3304 - None, # 3305 - None, # 3306 - None, # 3307 - None, # 3308 - None, # 3309 - None, # 3310 - None, # 3311 - None, # 3312 - None, # 3313 - None, # 3314 - None, # 3315 - None, # 3316 - None, # 3317 - None, # 3318 - None, # 3319 - None, # 3320 - None, # 3321 - None, # 3322 - None, # 3323 - None, # 3324 - None, # 3325 - None, # 3326 - None, # 3327 - None, # 3328 - (3329, TType.STRUCT, 'operationId', [THandleIdentifier, None], None, ), # 3329 - (3330, TType.STRUCT, 'sessionConf', [TDBSqlSessionConf, None], None, ), # 3330 + None, # 0 + (1, TType.STRUCT, 'sessionHandle', [TSessionHandle, None], None, ), # 1 + None, # 2 + None, # 3 + None, # 4 + None, # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + (1281, TType.STRUCT, 'getDirectResults', [TSparkGetDirectResults, None], None, ), # 1281 + (1282, TType.BOOL, 'runAsync', None, False, ), # 1282 + None, # 1283 + None, # 1284 + None, # 1285 + None, # 1286 + None, # 1287 + None, # 1288 + None, # 1289 + None, # 1290 + None, # 1291 + None, # 1292 + None, # 1293 + None, # 1294 + None, # 1295 + None, # 1296 + None, # 1297 + None, # 1298 + None, # 1299 + None, # 1300 + None, # 1301 + None, # 1302 + None, # 1303 + None, # 1304 + None, # 1305 + None, # 1306 + None, # 1307 + None, # 1308 + None, # 1309 + None, # 1310 + None, # 1311 + None, # 1312 + None, # 1313 + None, # 1314 + None, # 1315 + None, # 1316 + None, # 1317 + None, # 1318 + None, # 1319 + None, # 1320 + None, # 1321 + None, # 1322 + None, # 1323 + None, # 1324 + None, # 1325 + None, # 1326 + None, # 1327 + None, # 1328 + None, # 1329 + None, # 1330 + None, # 1331 + None, # 1332 + None, # 1333 + None, # 1334 + None, # 1335 + None, # 1336 + None, # 1337 + None, # 1338 + None, # 1339 + None, # 1340 + None, # 1341 + None, # 1342 + None, # 1343 + None, # 1344 + None, # 1345 + None, # 1346 + None, # 1347 + None, # 1348 + None, # 1349 + None, # 1350 + None, # 1351 + None, # 1352 + None, # 1353 + None, # 1354 + None, # 1355 + None, # 1356 + None, # 1357 + None, # 1358 + None, # 1359 + None, # 1360 + None, # 1361 + None, # 1362 + None, # 1363 + None, # 1364 + None, # 1365 + None, # 1366 + None, # 1367 + None, # 1368 + None, # 1369 + None, # 1370 + None, # 1371 + None, # 1372 + None, # 1373 + None, # 1374 + None, # 1375 + None, # 1376 + None, # 1377 + None, # 1378 + None, # 1379 + None, # 1380 + None, # 1381 + None, # 1382 + None, # 1383 + None, # 1384 + None, # 1385 + None, # 1386 + None, # 1387 + None, # 1388 + None, # 1389 + None, # 1390 + None, # 1391 + None, # 1392 + None, # 1393 + None, # 1394 + None, # 1395 + None, # 1396 + None, # 1397 + None, # 1398 + None, # 1399 + None, # 1400 + None, # 1401 + None, # 1402 + None, # 1403 + None, # 1404 + None, # 1405 + None, # 1406 + None, # 1407 + None, # 1408 + None, # 1409 + None, # 1410 + None, # 1411 + None, # 1412 + None, # 1413 + None, # 1414 + None, # 1415 + None, # 1416 + None, # 1417 + None, # 1418 + None, # 1419 + None, # 1420 + None, # 1421 + None, # 1422 + None, # 1423 + None, # 1424 + None, # 1425 + None, # 1426 + None, # 1427 + None, # 1428 + None, # 1429 + None, # 1430 + None, # 1431 + None, # 1432 + None, # 1433 + None, # 1434 + None, # 1435 + None, # 1436 + None, # 1437 + None, # 1438 + None, # 1439 + None, # 1440 + None, # 1441 + None, # 1442 + None, # 1443 + None, # 1444 + None, # 1445 + None, # 1446 + None, # 1447 + None, # 1448 + None, # 1449 + None, # 1450 + None, # 1451 + None, # 1452 + None, # 1453 + None, # 1454 + None, # 1455 + None, # 1456 + None, # 1457 + None, # 1458 + None, # 1459 + None, # 1460 + None, # 1461 + None, # 1462 + None, # 1463 + None, # 1464 + None, # 1465 + None, # 1466 + None, # 1467 + None, # 1468 + None, # 1469 + None, # 1470 + None, # 1471 + None, # 1472 + None, # 1473 + None, # 1474 + None, # 1475 + None, # 1476 + None, # 1477 + None, # 1478 + None, # 1479 + None, # 1480 + None, # 1481 + None, # 1482 + None, # 1483 + None, # 1484 + None, # 1485 + None, # 1486 + None, # 1487 + None, # 1488 + None, # 1489 + None, # 1490 + None, # 1491 + None, # 1492 + None, # 1493 + None, # 1494 + None, # 1495 + None, # 1496 + None, # 1497 + None, # 1498 + None, # 1499 + None, # 1500 + None, # 1501 + None, # 1502 + None, # 1503 + None, # 1504 + None, # 1505 + None, # 1506 + None, # 1507 + None, # 1508 + None, # 1509 + None, # 1510 + None, # 1511 + None, # 1512 + None, # 1513 + None, # 1514 + None, # 1515 + None, # 1516 + None, # 1517 + None, # 1518 + None, # 1519 + None, # 1520 + None, # 1521 + None, # 1522 + None, # 1523 + None, # 1524 + None, # 1525 + None, # 1526 + None, # 1527 + None, # 1528 + None, # 1529 + None, # 1530 + None, # 1531 + None, # 1532 + None, # 1533 + None, # 1534 + None, # 1535 + None, # 1536 + None, # 1537 + None, # 1538 + None, # 1539 + None, # 1540 + None, # 1541 + None, # 1542 + None, # 1543 + None, # 1544 + None, # 1545 + None, # 1546 + None, # 1547 + None, # 1548 + None, # 1549 + None, # 1550 + None, # 1551 + None, # 1552 + None, # 1553 + None, # 1554 + None, # 1555 + None, # 1556 + None, # 1557 + None, # 1558 + None, # 1559 + None, # 1560 + None, # 1561 + None, # 1562 + None, # 1563 + None, # 1564 + None, # 1565 + None, # 1566 + None, # 1567 + None, # 1568 + None, # 1569 + None, # 1570 + None, # 1571 + None, # 1572 + None, # 1573 + None, # 1574 + None, # 1575 + None, # 1576 + None, # 1577 + None, # 1578 + None, # 1579 + None, # 1580 + None, # 1581 + None, # 1582 + None, # 1583 + None, # 1584 + None, # 1585 + None, # 1586 + None, # 1587 + None, # 1588 + None, # 1589 + None, # 1590 + None, # 1591 + None, # 1592 + None, # 1593 + None, # 1594 + None, # 1595 + None, # 1596 + None, # 1597 + None, # 1598 + None, # 1599 + None, # 1600 + None, # 1601 + None, # 1602 + None, # 1603 + None, # 1604 + None, # 1605 + None, # 1606 + None, # 1607 + None, # 1608 + None, # 1609 + None, # 1610 + None, # 1611 + None, # 1612 + None, # 1613 + None, # 1614 + None, # 1615 + None, # 1616 + None, # 1617 + None, # 1618 + None, # 1619 + None, # 1620 + None, # 1621 + None, # 1622 + None, # 1623 + None, # 1624 + None, # 1625 + None, # 1626 + None, # 1627 + None, # 1628 + None, # 1629 + None, # 1630 + None, # 1631 + None, # 1632 + None, # 1633 + None, # 1634 + None, # 1635 + None, # 1636 + None, # 1637 + None, # 1638 + None, # 1639 + None, # 1640 + None, # 1641 + None, # 1642 + None, # 1643 + None, # 1644 + None, # 1645 + None, # 1646 + None, # 1647 + None, # 1648 + None, # 1649 + None, # 1650 + None, # 1651 + None, # 1652 + None, # 1653 + None, # 1654 + None, # 1655 + None, # 1656 + None, # 1657 + None, # 1658 + None, # 1659 + None, # 1660 + None, # 1661 + None, # 1662 + None, # 1663 + None, # 1664 + None, # 1665 + None, # 1666 + None, # 1667 + None, # 1668 + None, # 1669 + None, # 1670 + None, # 1671 + None, # 1672 + None, # 1673 + None, # 1674 + None, # 1675 + None, # 1676 + None, # 1677 + None, # 1678 + None, # 1679 + None, # 1680 + None, # 1681 + None, # 1682 + None, # 1683 + None, # 1684 + None, # 1685 + None, # 1686 + None, # 1687 + None, # 1688 + None, # 1689 + None, # 1690 + None, # 1691 + None, # 1692 + None, # 1693 + None, # 1694 + None, # 1695 + None, # 1696 + None, # 1697 + None, # 1698 + None, # 1699 + None, # 1700 + None, # 1701 + None, # 1702 + None, # 1703 + None, # 1704 + None, # 1705 + None, # 1706 + None, # 1707 + None, # 1708 + None, # 1709 + None, # 1710 + None, # 1711 + None, # 1712 + None, # 1713 + None, # 1714 + None, # 1715 + None, # 1716 + None, # 1717 + None, # 1718 + None, # 1719 + None, # 1720 + None, # 1721 + None, # 1722 + None, # 1723 + None, # 1724 + None, # 1725 + None, # 1726 + None, # 1727 + None, # 1728 + None, # 1729 + None, # 1730 + None, # 1731 + None, # 1732 + None, # 1733 + None, # 1734 + None, # 1735 + None, # 1736 + None, # 1737 + None, # 1738 + None, # 1739 + None, # 1740 + None, # 1741 + None, # 1742 + None, # 1743 + None, # 1744 + None, # 1745 + None, # 1746 + None, # 1747 + None, # 1748 + None, # 1749 + None, # 1750 + None, # 1751 + None, # 1752 + None, # 1753 + None, # 1754 + None, # 1755 + None, # 1756 + None, # 1757 + None, # 1758 + None, # 1759 + None, # 1760 + None, # 1761 + None, # 1762 + None, # 1763 + None, # 1764 + None, # 1765 + None, # 1766 + None, # 1767 + None, # 1768 + None, # 1769 + None, # 1770 + None, # 1771 + None, # 1772 + None, # 1773 + None, # 1774 + None, # 1775 + None, # 1776 + None, # 1777 + None, # 1778 + None, # 1779 + None, # 1780 + None, # 1781 + None, # 1782 + None, # 1783 + None, # 1784 + None, # 1785 + None, # 1786 + None, # 1787 + None, # 1788 + None, # 1789 + None, # 1790 + None, # 1791 + None, # 1792 + None, # 1793 + None, # 1794 + None, # 1795 + None, # 1796 + None, # 1797 + None, # 1798 + None, # 1799 + None, # 1800 + None, # 1801 + None, # 1802 + None, # 1803 + None, # 1804 + None, # 1805 + None, # 1806 + None, # 1807 + None, # 1808 + None, # 1809 + None, # 1810 + None, # 1811 + None, # 1812 + None, # 1813 + None, # 1814 + None, # 1815 + None, # 1816 + None, # 1817 + None, # 1818 + None, # 1819 + None, # 1820 + None, # 1821 + None, # 1822 + None, # 1823 + None, # 1824 + None, # 1825 + None, # 1826 + None, # 1827 + None, # 1828 + None, # 1829 + None, # 1830 + None, # 1831 + None, # 1832 + None, # 1833 + None, # 1834 + None, # 1835 + None, # 1836 + None, # 1837 + None, # 1838 + None, # 1839 + None, # 1840 + None, # 1841 + None, # 1842 + None, # 1843 + None, # 1844 + None, # 1845 + None, # 1846 + None, # 1847 + None, # 1848 + None, # 1849 + None, # 1850 + None, # 1851 + None, # 1852 + None, # 1853 + None, # 1854 + None, # 1855 + None, # 1856 + None, # 1857 + None, # 1858 + None, # 1859 + None, # 1860 + None, # 1861 + None, # 1862 + None, # 1863 + None, # 1864 + None, # 1865 + None, # 1866 + None, # 1867 + None, # 1868 + None, # 1869 + None, # 1870 + None, # 1871 + None, # 1872 + None, # 1873 + None, # 1874 + None, # 1875 + None, # 1876 + None, # 1877 + None, # 1878 + None, # 1879 + None, # 1880 + None, # 1881 + None, # 1882 + None, # 1883 + None, # 1884 + None, # 1885 + None, # 1886 + None, # 1887 + None, # 1888 + None, # 1889 + None, # 1890 + None, # 1891 + None, # 1892 + None, # 1893 + None, # 1894 + None, # 1895 + None, # 1896 + None, # 1897 + None, # 1898 + None, # 1899 + None, # 1900 + None, # 1901 + None, # 1902 + None, # 1903 + None, # 1904 + None, # 1905 + None, # 1906 + None, # 1907 + None, # 1908 + None, # 1909 + None, # 1910 + None, # 1911 + None, # 1912 + None, # 1913 + None, # 1914 + None, # 1915 + None, # 1916 + None, # 1917 + None, # 1918 + None, # 1919 + None, # 1920 + None, # 1921 + None, # 1922 + None, # 1923 + None, # 1924 + None, # 1925 + None, # 1926 + None, # 1927 + None, # 1928 + None, # 1929 + None, # 1930 + None, # 1931 + None, # 1932 + None, # 1933 + None, # 1934 + None, # 1935 + None, # 1936 + None, # 1937 + None, # 1938 + None, # 1939 + None, # 1940 + None, # 1941 + None, # 1942 + None, # 1943 + None, # 1944 + None, # 1945 + None, # 1946 + None, # 1947 + None, # 1948 + None, # 1949 + None, # 1950 + None, # 1951 + None, # 1952 + None, # 1953 + None, # 1954 + None, # 1955 + None, # 1956 + None, # 1957 + None, # 1958 + None, # 1959 + None, # 1960 + None, # 1961 + None, # 1962 + None, # 1963 + None, # 1964 + None, # 1965 + None, # 1966 + None, # 1967 + None, # 1968 + None, # 1969 + None, # 1970 + None, # 1971 + None, # 1972 + None, # 1973 + None, # 1974 + None, # 1975 + None, # 1976 + None, # 1977 + None, # 1978 + None, # 1979 + None, # 1980 + None, # 1981 + None, # 1982 + None, # 1983 + None, # 1984 + None, # 1985 + None, # 1986 + None, # 1987 + None, # 1988 + None, # 1989 + None, # 1990 + None, # 1991 + None, # 1992 + None, # 1993 + None, # 1994 + None, # 1995 + None, # 1996 + None, # 1997 + None, # 1998 + None, # 1999 + None, # 2000 + None, # 2001 + None, # 2002 + None, # 2003 + None, # 2004 + None, # 2005 + None, # 2006 + None, # 2007 + None, # 2008 + None, # 2009 + None, # 2010 + None, # 2011 + None, # 2012 + None, # 2013 + None, # 2014 + None, # 2015 + None, # 2016 + None, # 2017 + None, # 2018 + None, # 2019 + None, # 2020 + None, # 2021 + None, # 2022 + None, # 2023 + None, # 2024 + None, # 2025 + None, # 2026 + None, # 2027 + None, # 2028 + None, # 2029 + None, # 2030 + None, # 2031 + None, # 2032 + None, # 2033 + None, # 2034 + None, # 2035 + None, # 2036 + None, # 2037 + None, # 2038 + None, # 2039 + None, # 2040 + None, # 2041 + None, # 2042 + None, # 2043 + None, # 2044 + None, # 2045 + None, # 2046 + None, # 2047 + None, # 2048 + None, # 2049 + None, # 2050 + None, # 2051 + None, # 2052 + None, # 2053 + None, # 2054 + None, # 2055 + None, # 2056 + None, # 2057 + None, # 2058 + None, # 2059 + None, # 2060 + None, # 2061 + None, # 2062 + None, # 2063 + None, # 2064 + None, # 2065 + None, # 2066 + None, # 2067 + None, # 2068 + None, # 2069 + None, # 2070 + None, # 2071 + None, # 2072 + None, # 2073 + None, # 2074 + None, # 2075 + None, # 2076 + None, # 2077 + None, # 2078 + None, # 2079 + None, # 2080 + None, # 2081 + None, # 2082 + None, # 2083 + None, # 2084 + None, # 2085 + None, # 2086 + None, # 2087 + None, # 2088 + None, # 2089 + None, # 2090 + None, # 2091 + None, # 2092 + None, # 2093 + None, # 2094 + None, # 2095 + None, # 2096 + None, # 2097 + None, # 2098 + None, # 2099 + None, # 2100 + None, # 2101 + None, # 2102 + None, # 2103 + None, # 2104 + None, # 2105 + None, # 2106 + None, # 2107 + None, # 2108 + None, # 2109 + None, # 2110 + None, # 2111 + None, # 2112 + None, # 2113 + None, # 2114 + None, # 2115 + None, # 2116 + None, # 2117 + None, # 2118 + None, # 2119 + None, # 2120 + None, # 2121 + None, # 2122 + None, # 2123 + None, # 2124 + None, # 2125 + None, # 2126 + None, # 2127 + None, # 2128 + None, # 2129 + None, # 2130 + None, # 2131 + None, # 2132 + None, # 2133 + None, # 2134 + None, # 2135 + None, # 2136 + None, # 2137 + None, # 2138 + None, # 2139 + None, # 2140 + None, # 2141 + None, # 2142 + None, # 2143 + None, # 2144 + None, # 2145 + None, # 2146 + None, # 2147 + None, # 2148 + None, # 2149 + None, # 2150 + None, # 2151 + None, # 2152 + None, # 2153 + None, # 2154 + None, # 2155 + None, # 2156 + None, # 2157 + None, # 2158 + None, # 2159 + None, # 2160 + None, # 2161 + None, # 2162 + None, # 2163 + None, # 2164 + None, # 2165 + None, # 2166 + None, # 2167 + None, # 2168 + None, # 2169 + None, # 2170 + None, # 2171 + None, # 2172 + None, # 2173 + None, # 2174 + None, # 2175 + None, # 2176 + None, # 2177 + None, # 2178 + None, # 2179 + None, # 2180 + None, # 2181 + None, # 2182 + None, # 2183 + None, # 2184 + None, # 2185 + None, # 2186 + None, # 2187 + None, # 2188 + None, # 2189 + None, # 2190 + None, # 2191 + None, # 2192 + None, # 2193 + None, # 2194 + None, # 2195 + None, # 2196 + None, # 2197 + None, # 2198 + None, # 2199 + None, # 2200 + None, # 2201 + None, # 2202 + None, # 2203 + None, # 2204 + None, # 2205 + None, # 2206 + None, # 2207 + None, # 2208 + None, # 2209 + None, # 2210 + None, # 2211 + None, # 2212 + None, # 2213 + None, # 2214 + None, # 2215 + None, # 2216 + None, # 2217 + None, # 2218 + None, # 2219 + None, # 2220 + None, # 2221 + None, # 2222 + None, # 2223 + None, # 2224 + None, # 2225 + None, # 2226 + None, # 2227 + None, # 2228 + None, # 2229 + None, # 2230 + None, # 2231 + None, # 2232 + None, # 2233 + None, # 2234 + None, # 2235 + None, # 2236 + None, # 2237 + None, # 2238 + None, # 2239 + None, # 2240 + None, # 2241 + None, # 2242 + None, # 2243 + None, # 2244 + None, # 2245 + None, # 2246 + None, # 2247 + None, # 2248 + None, # 2249 + None, # 2250 + None, # 2251 + None, # 2252 + None, # 2253 + None, # 2254 + None, # 2255 + None, # 2256 + None, # 2257 + None, # 2258 + None, # 2259 + None, # 2260 + None, # 2261 + None, # 2262 + None, # 2263 + None, # 2264 + None, # 2265 + None, # 2266 + None, # 2267 + None, # 2268 + None, # 2269 + None, # 2270 + None, # 2271 + None, # 2272 + None, # 2273 + None, # 2274 + None, # 2275 + None, # 2276 + None, # 2277 + None, # 2278 + None, # 2279 + None, # 2280 + None, # 2281 + None, # 2282 + None, # 2283 + None, # 2284 + None, # 2285 + None, # 2286 + None, # 2287 + None, # 2288 + None, # 2289 + None, # 2290 + None, # 2291 + None, # 2292 + None, # 2293 + None, # 2294 + None, # 2295 + None, # 2296 + None, # 2297 + None, # 2298 + None, # 2299 + None, # 2300 + None, # 2301 + None, # 2302 + None, # 2303 + None, # 2304 + None, # 2305 + None, # 2306 + None, # 2307 + None, # 2308 + None, # 2309 + None, # 2310 + None, # 2311 + None, # 2312 + None, # 2313 + None, # 2314 + None, # 2315 + None, # 2316 + None, # 2317 + None, # 2318 + None, # 2319 + None, # 2320 + None, # 2321 + None, # 2322 + None, # 2323 + None, # 2324 + None, # 2325 + None, # 2326 + None, # 2327 + None, # 2328 + None, # 2329 + None, # 2330 + None, # 2331 + None, # 2332 + None, # 2333 + None, # 2334 + None, # 2335 + None, # 2336 + None, # 2337 + None, # 2338 + None, # 2339 + None, # 2340 + None, # 2341 + None, # 2342 + None, # 2343 + None, # 2344 + None, # 2345 + None, # 2346 + None, # 2347 + None, # 2348 + None, # 2349 + None, # 2350 + None, # 2351 + None, # 2352 + None, # 2353 + None, # 2354 + None, # 2355 + None, # 2356 + None, # 2357 + None, # 2358 + None, # 2359 + None, # 2360 + None, # 2361 + None, # 2362 + None, # 2363 + None, # 2364 + None, # 2365 + None, # 2366 + None, # 2367 + None, # 2368 + None, # 2369 + None, # 2370 + None, # 2371 + None, # 2372 + None, # 2373 + None, # 2374 + None, # 2375 + None, # 2376 + None, # 2377 + None, # 2378 + None, # 2379 + None, # 2380 + None, # 2381 + None, # 2382 + None, # 2383 + None, # 2384 + None, # 2385 + None, # 2386 + None, # 2387 + None, # 2388 + None, # 2389 + None, # 2390 + None, # 2391 + None, # 2392 + None, # 2393 + None, # 2394 + None, # 2395 + None, # 2396 + None, # 2397 + None, # 2398 + None, # 2399 + None, # 2400 + None, # 2401 + None, # 2402 + None, # 2403 + None, # 2404 + None, # 2405 + None, # 2406 + None, # 2407 + None, # 2408 + None, # 2409 + None, # 2410 + None, # 2411 + None, # 2412 + None, # 2413 + None, # 2414 + None, # 2415 + None, # 2416 + None, # 2417 + None, # 2418 + None, # 2419 + None, # 2420 + None, # 2421 + None, # 2422 + None, # 2423 + None, # 2424 + None, # 2425 + None, # 2426 + None, # 2427 + None, # 2428 + None, # 2429 + None, # 2430 + None, # 2431 + None, # 2432 + None, # 2433 + None, # 2434 + None, # 2435 + None, # 2436 + None, # 2437 + None, # 2438 + None, # 2439 + None, # 2440 + None, # 2441 + None, # 2442 + None, # 2443 + None, # 2444 + None, # 2445 + None, # 2446 + None, # 2447 + None, # 2448 + None, # 2449 + None, # 2450 + None, # 2451 + None, # 2452 + None, # 2453 + None, # 2454 + None, # 2455 + None, # 2456 + None, # 2457 + None, # 2458 + None, # 2459 + None, # 2460 + None, # 2461 + None, # 2462 + None, # 2463 + None, # 2464 + None, # 2465 + None, # 2466 + None, # 2467 + None, # 2468 + None, # 2469 + None, # 2470 + None, # 2471 + None, # 2472 + None, # 2473 + None, # 2474 + None, # 2475 + None, # 2476 + None, # 2477 + None, # 2478 + None, # 2479 + None, # 2480 + None, # 2481 + None, # 2482 + None, # 2483 + None, # 2484 + None, # 2485 + None, # 2486 + None, # 2487 + None, # 2488 + None, # 2489 + None, # 2490 + None, # 2491 + None, # 2492 + None, # 2493 + None, # 2494 + None, # 2495 + None, # 2496 + None, # 2497 + None, # 2498 + None, # 2499 + None, # 2500 + None, # 2501 + None, # 2502 + None, # 2503 + None, # 2504 + None, # 2505 + None, # 2506 + None, # 2507 + None, # 2508 + None, # 2509 + None, # 2510 + None, # 2511 + None, # 2512 + None, # 2513 + None, # 2514 + None, # 2515 + None, # 2516 + None, # 2517 + None, # 2518 + None, # 2519 + None, # 2520 + None, # 2521 + None, # 2522 + None, # 2523 + None, # 2524 + None, # 2525 + None, # 2526 + None, # 2527 + None, # 2528 + None, # 2529 + None, # 2530 + None, # 2531 + None, # 2532 + None, # 2533 + None, # 2534 + None, # 2535 + None, # 2536 + None, # 2537 + None, # 2538 + None, # 2539 + None, # 2540 + None, # 2541 + None, # 2542 + None, # 2543 + None, # 2544 + None, # 2545 + None, # 2546 + None, # 2547 + None, # 2548 + None, # 2549 + None, # 2550 + None, # 2551 + None, # 2552 + None, # 2553 + None, # 2554 + None, # 2555 + None, # 2556 + None, # 2557 + None, # 2558 + None, # 2559 + None, # 2560 + None, # 2561 + None, # 2562 + None, # 2563 + None, # 2564 + None, # 2565 + None, # 2566 + None, # 2567 + None, # 2568 + None, # 2569 + None, # 2570 + None, # 2571 + None, # 2572 + None, # 2573 + None, # 2574 + None, # 2575 + None, # 2576 + None, # 2577 + None, # 2578 + None, # 2579 + None, # 2580 + None, # 2581 + None, # 2582 + None, # 2583 + None, # 2584 + None, # 2585 + None, # 2586 + None, # 2587 + None, # 2588 + None, # 2589 + None, # 2590 + None, # 2591 + None, # 2592 + None, # 2593 + None, # 2594 + None, # 2595 + None, # 2596 + None, # 2597 + None, # 2598 + None, # 2599 + None, # 2600 + None, # 2601 + None, # 2602 + None, # 2603 + None, # 2604 + None, # 2605 + None, # 2606 + None, # 2607 + None, # 2608 + None, # 2609 + None, # 2610 + None, # 2611 + None, # 2612 + None, # 2613 + None, # 2614 + None, # 2615 + None, # 2616 + None, # 2617 + None, # 2618 + None, # 2619 + None, # 2620 + None, # 2621 + None, # 2622 + None, # 2623 + None, # 2624 + None, # 2625 + None, # 2626 + None, # 2627 + None, # 2628 + None, # 2629 + None, # 2630 + None, # 2631 + None, # 2632 + None, # 2633 + None, # 2634 + None, # 2635 + None, # 2636 + None, # 2637 + None, # 2638 + None, # 2639 + None, # 2640 + None, # 2641 + None, # 2642 + None, # 2643 + None, # 2644 + None, # 2645 + None, # 2646 + None, # 2647 + None, # 2648 + None, # 2649 + None, # 2650 + None, # 2651 + None, # 2652 + None, # 2653 + None, # 2654 + None, # 2655 + None, # 2656 + None, # 2657 + None, # 2658 + None, # 2659 + None, # 2660 + None, # 2661 + None, # 2662 + None, # 2663 + None, # 2664 + None, # 2665 + None, # 2666 + None, # 2667 + None, # 2668 + None, # 2669 + None, # 2670 + None, # 2671 + None, # 2672 + None, # 2673 + None, # 2674 + None, # 2675 + None, # 2676 + None, # 2677 + None, # 2678 + None, # 2679 + None, # 2680 + None, # 2681 + None, # 2682 + None, # 2683 + None, # 2684 + None, # 2685 + None, # 2686 + None, # 2687 + None, # 2688 + None, # 2689 + None, # 2690 + None, # 2691 + None, # 2692 + None, # 2693 + None, # 2694 + None, # 2695 + None, # 2696 + None, # 2697 + None, # 2698 + None, # 2699 + None, # 2700 + None, # 2701 + None, # 2702 + None, # 2703 + None, # 2704 + None, # 2705 + None, # 2706 + None, # 2707 + None, # 2708 + None, # 2709 + None, # 2710 + None, # 2711 + None, # 2712 + None, # 2713 + None, # 2714 + None, # 2715 + None, # 2716 + None, # 2717 + None, # 2718 + None, # 2719 + None, # 2720 + None, # 2721 + None, # 2722 + None, # 2723 + None, # 2724 + None, # 2725 + None, # 2726 + None, # 2727 + None, # 2728 + None, # 2729 + None, # 2730 + None, # 2731 + None, # 2732 + None, # 2733 + None, # 2734 + None, # 2735 + None, # 2736 + None, # 2737 + None, # 2738 + None, # 2739 + None, # 2740 + None, # 2741 + None, # 2742 + None, # 2743 + None, # 2744 + None, # 2745 + None, # 2746 + None, # 2747 + None, # 2748 + None, # 2749 + None, # 2750 + None, # 2751 + None, # 2752 + None, # 2753 + None, # 2754 + None, # 2755 + None, # 2756 + None, # 2757 + None, # 2758 + None, # 2759 + None, # 2760 + None, # 2761 + None, # 2762 + None, # 2763 + None, # 2764 + None, # 2765 + None, # 2766 + None, # 2767 + None, # 2768 + None, # 2769 + None, # 2770 + None, # 2771 + None, # 2772 + None, # 2773 + None, # 2774 + None, # 2775 + None, # 2776 + None, # 2777 + None, # 2778 + None, # 2779 + None, # 2780 + None, # 2781 + None, # 2782 + None, # 2783 + None, # 2784 + None, # 2785 + None, # 2786 + None, # 2787 + None, # 2788 + None, # 2789 + None, # 2790 + None, # 2791 + None, # 2792 + None, # 2793 + None, # 2794 + None, # 2795 + None, # 2796 + None, # 2797 + None, # 2798 + None, # 2799 + None, # 2800 + None, # 2801 + None, # 2802 + None, # 2803 + None, # 2804 + None, # 2805 + None, # 2806 + None, # 2807 + None, # 2808 + None, # 2809 + None, # 2810 + None, # 2811 + None, # 2812 + None, # 2813 + None, # 2814 + None, # 2815 + None, # 2816 + None, # 2817 + None, # 2818 + None, # 2819 + None, # 2820 + None, # 2821 + None, # 2822 + None, # 2823 + None, # 2824 + None, # 2825 + None, # 2826 + None, # 2827 + None, # 2828 + None, # 2829 + None, # 2830 + None, # 2831 + None, # 2832 + None, # 2833 + None, # 2834 + None, # 2835 + None, # 2836 + None, # 2837 + None, # 2838 + None, # 2839 + None, # 2840 + None, # 2841 + None, # 2842 + None, # 2843 + None, # 2844 + None, # 2845 + None, # 2846 + None, # 2847 + None, # 2848 + None, # 2849 + None, # 2850 + None, # 2851 + None, # 2852 + None, # 2853 + None, # 2854 + None, # 2855 + None, # 2856 + None, # 2857 + None, # 2858 + None, # 2859 + None, # 2860 + None, # 2861 + None, # 2862 + None, # 2863 + None, # 2864 + None, # 2865 + None, # 2866 + None, # 2867 + None, # 2868 + None, # 2869 + None, # 2870 + None, # 2871 + None, # 2872 + None, # 2873 + None, # 2874 + None, # 2875 + None, # 2876 + None, # 2877 + None, # 2878 + None, # 2879 + None, # 2880 + None, # 2881 + None, # 2882 + None, # 2883 + None, # 2884 + None, # 2885 + None, # 2886 + None, # 2887 + None, # 2888 + None, # 2889 + None, # 2890 + None, # 2891 + None, # 2892 + None, # 2893 + None, # 2894 + None, # 2895 + None, # 2896 + None, # 2897 + None, # 2898 + None, # 2899 + None, # 2900 + None, # 2901 + None, # 2902 + None, # 2903 + None, # 2904 + None, # 2905 + None, # 2906 + None, # 2907 + None, # 2908 + None, # 2909 + None, # 2910 + None, # 2911 + None, # 2912 + None, # 2913 + None, # 2914 + None, # 2915 + None, # 2916 + None, # 2917 + None, # 2918 + None, # 2919 + None, # 2920 + None, # 2921 + None, # 2922 + None, # 2923 + None, # 2924 + None, # 2925 + None, # 2926 + None, # 2927 + None, # 2928 + None, # 2929 + None, # 2930 + None, # 2931 + None, # 2932 + None, # 2933 + None, # 2934 + None, # 2935 + None, # 2936 + None, # 2937 + None, # 2938 + None, # 2939 + None, # 2940 + None, # 2941 + None, # 2942 + None, # 2943 + None, # 2944 + None, # 2945 + None, # 2946 + None, # 2947 + None, # 2948 + None, # 2949 + None, # 2950 + None, # 2951 + None, # 2952 + None, # 2953 + None, # 2954 + None, # 2955 + None, # 2956 + None, # 2957 + None, # 2958 + None, # 2959 + None, # 2960 + None, # 2961 + None, # 2962 + None, # 2963 + None, # 2964 + None, # 2965 + None, # 2966 + None, # 2967 + None, # 2968 + None, # 2969 + None, # 2970 + None, # 2971 + None, # 2972 + None, # 2973 + None, # 2974 + None, # 2975 + None, # 2976 + None, # 2977 + None, # 2978 + None, # 2979 + None, # 2980 + None, # 2981 + None, # 2982 + None, # 2983 + None, # 2984 + None, # 2985 + None, # 2986 + None, # 2987 + None, # 2988 + None, # 2989 + None, # 2990 + None, # 2991 + None, # 2992 + None, # 2993 + None, # 2994 + None, # 2995 + None, # 2996 + None, # 2997 + None, # 2998 + None, # 2999 + None, # 3000 + None, # 3001 + None, # 3002 + None, # 3003 + None, # 3004 + None, # 3005 + None, # 3006 + None, # 3007 + None, # 3008 + None, # 3009 + None, # 3010 + None, # 3011 + None, # 3012 + None, # 3013 + None, # 3014 + None, # 3015 + None, # 3016 + None, # 3017 + None, # 3018 + None, # 3019 + None, # 3020 + None, # 3021 + None, # 3022 + None, # 3023 + None, # 3024 + None, # 3025 + None, # 3026 + None, # 3027 + None, # 3028 + None, # 3029 + None, # 3030 + None, # 3031 + None, # 3032 + None, # 3033 + None, # 3034 + None, # 3035 + None, # 3036 + None, # 3037 + None, # 3038 + None, # 3039 + None, # 3040 + None, # 3041 + None, # 3042 + None, # 3043 + None, # 3044 + None, # 3045 + None, # 3046 + None, # 3047 + None, # 3048 + None, # 3049 + None, # 3050 + None, # 3051 + None, # 3052 + None, # 3053 + None, # 3054 + None, # 3055 + None, # 3056 + None, # 3057 + None, # 3058 + None, # 3059 + None, # 3060 + None, # 3061 + None, # 3062 + None, # 3063 + None, # 3064 + None, # 3065 + None, # 3066 + None, # 3067 + None, # 3068 + None, # 3069 + None, # 3070 + None, # 3071 + None, # 3072 + None, # 3073 + None, # 3074 + None, # 3075 + None, # 3076 + None, # 3077 + None, # 3078 + None, # 3079 + None, # 3080 + None, # 3081 + None, # 3082 + None, # 3083 + None, # 3084 + None, # 3085 + None, # 3086 + None, # 3087 + None, # 3088 + None, # 3089 + None, # 3090 + None, # 3091 + None, # 3092 + None, # 3093 + None, # 3094 + None, # 3095 + None, # 3096 + None, # 3097 + None, # 3098 + None, # 3099 + None, # 3100 + None, # 3101 + None, # 3102 + None, # 3103 + None, # 3104 + None, # 3105 + None, # 3106 + None, # 3107 + None, # 3108 + None, # 3109 + None, # 3110 + None, # 3111 + None, # 3112 + None, # 3113 + None, # 3114 + None, # 3115 + None, # 3116 + None, # 3117 + None, # 3118 + None, # 3119 + None, # 3120 + None, # 3121 + None, # 3122 + None, # 3123 + None, # 3124 + None, # 3125 + None, # 3126 + None, # 3127 + None, # 3128 + None, # 3129 + None, # 3130 + None, # 3131 + None, # 3132 + None, # 3133 + None, # 3134 + None, # 3135 + None, # 3136 + None, # 3137 + None, # 3138 + None, # 3139 + None, # 3140 + None, # 3141 + None, # 3142 + None, # 3143 + None, # 3144 + None, # 3145 + None, # 3146 + None, # 3147 + None, # 3148 + None, # 3149 + None, # 3150 + None, # 3151 + None, # 3152 + None, # 3153 + None, # 3154 + None, # 3155 + None, # 3156 + None, # 3157 + None, # 3158 + None, # 3159 + None, # 3160 + None, # 3161 + None, # 3162 + None, # 3163 + None, # 3164 + None, # 3165 + None, # 3166 + None, # 3167 + None, # 3168 + None, # 3169 + None, # 3170 + None, # 3171 + None, # 3172 + None, # 3173 + None, # 3174 + None, # 3175 + None, # 3176 + None, # 3177 + None, # 3178 + None, # 3179 + None, # 3180 + None, # 3181 + None, # 3182 + None, # 3183 + None, # 3184 + None, # 3185 + None, # 3186 + None, # 3187 + None, # 3188 + None, # 3189 + None, # 3190 + None, # 3191 + None, # 3192 + None, # 3193 + None, # 3194 + None, # 3195 + None, # 3196 + None, # 3197 + None, # 3198 + None, # 3199 + None, # 3200 + None, # 3201 + None, # 3202 + None, # 3203 + None, # 3204 + None, # 3205 + None, # 3206 + None, # 3207 + None, # 3208 + None, # 3209 + None, # 3210 + None, # 3211 + None, # 3212 + None, # 3213 + None, # 3214 + None, # 3215 + None, # 3216 + None, # 3217 + None, # 3218 + None, # 3219 + None, # 3220 + None, # 3221 + None, # 3222 + None, # 3223 + None, # 3224 + None, # 3225 + None, # 3226 + None, # 3227 + None, # 3228 + None, # 3229 + None, # 3230 + None, # 3231 + None, # 3232 + None, # 3233 + None, # 3234 + None, # 3235 + None, # 3236 + None, # 3237 + None, # 3238 + None, # 3239 + None, # 3240 + None, # 3241 + None, # 3242 + None, # 3243 + None, # 3244 + None, # 3245 + None, # 3246 + None, # 3247 + None, # 3248 + None, # 3249 + None, # 3250 + None, # 3251 + None, # 3252 + None, # 3253 + None, # 3254 + None, # 3255 + None, # 3256 + None, # 3257 + None, # 3258 + None, # 3259 + None, # 3260 + None, # 3261 + None, # 3262 + None, # 3263 + None, # 3264 + None, # 3265 + None, # 3266 + None, # 3267 + None, # 3268 + None, # 3269 + None, # 3270 + None, # 3271 + None, # 3272 + None, # 3273 + None, # 3274 + None, # 3275 + None, # 3276 + None, # 3277 + None, # 3278 + None, # 3279 + None, # 3280 + None, # 3281 + None, # 3282 + None, # 3283 + None, # 3284 + None, # 3285 + None, # 3286 + None, # 3287 + None, # 3288 + None, # 3289 + None, # 3290 + None, # 3291 + None, # 3292 + None, # 3293 + None, # 3294 + None, # 3295 + None, # 3296 + None, # 3297 + None, # 3298 + None, # 3299 + None, # 3300 + None, # 3301 + None, # 3302 + None, # 3303 + None, # 3304 + None, # 3305 + None, # 3306 + None, # 3307 + None, # 3308 + None, # 3309 + None, # 3310 + None, # 3311 + None, # 3312 + None, # 3313 + None, # 3314 + None, # 3315 + None, # 3316 + None, # 3317 + None, # 3318 + None, # 3319 + None, # 3320 + None, # 3321 + None, # 3322 + None, # 3323 + None, # 3324 + None, # 3325 + None, # 3326 + None, # 3327 + None, # 3328 + (3329, TType.STRUCT, 'operationId', [THandleIdentifier, None], None, ), # 3329 + (3330, TType.STRUCT, 'sessionConf', [TDBSqlSessionConf, None], None, ), # 3330 ) all_structs.append(TGetCatalogsResp) TGetCatalogsResp.thrift_spec = ( - None, # 0 - (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 - (2, TType.STRUCT, 'operationHandle', [TOperationHandle, None], None, ), # 2 - None, # 3 - None, # 4 - None, # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - (1281, TType.STRUCT, 'directResults', [TSparkDirectResults, None], None, ), # 1281 + None, # 0 + (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 + (2, TType.STRUCT, 'operationHandle', [TOperationHandle, None], None, ), # 2 + None, # 3 + None, # 4 + None, # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + (1281, TType.STRUCT, 'directResults', [TSparkDirectResults, None], None, ), # 1281 ) all_structs.append(TGetSchemasReq) TGetSchemasReq.thrift_spec = ( - None, # 0 - (1, TType.STRUCT, 'sessionHandle', [TSessionHandle, None], None, ), # 1 - (2, TType.STRING, 'catalogName', 'UTF8', None, ), # 2 - (3, TType.STRING, 'schemaName', 'UTF8', None, ), # 3 - None, # 4 - None, # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - (1281, TType.STRUCT, 'getDirectResults', [TSparkGetDirectResults, None], None, ), # 1281 - (1282, TType.BOOL, 'runAsync', None, False, ), # 1282 - None, # 1283 - None, # 1284 - None, # 1285 - None, # 1286 - None, # 1287 - None, # 1288 - None, # 1289 - None, # 1290 - None, # 1291 - None, # 1292 - None, # 1293 - None, # 1294 - None, # 1295 - None, # 1296 - None, # 1297 - None, # 1298 - None, # 1299 - None, # 1300 - None, # 1301 - None, # 1302 - None, # 1303 - None, # 1304 - None, # 1305 - None, # 1306 - None, # 1307 - None, # 1308 - None, # 1309 - None, # 1310 - None, # 1311 - None, # 1312 - None, # 1313 - None, # 1314 - None, # 1315 - None, # 1316 - None, # 1317 - None, # 1318 - None, # 1319 - None, # 1320 - None, # 1321 - None, # 1322 - None, # 1323 - None, # 1324 - None, # 1325 - None, # 1326 - None, # 1327 - None, # 1328 - None, # 1329 - None, # 1330 - None, # 1331 - None, # 1332 - None, # 1333 - None, # 1334 - None, # 1335 - None, # 1336 - None, # 1337 - None, # 1338 - None, # 1339 - None, # 1340 - None, # 1341 - None, # 1342 - None, # 1343 - None, # 1344 - None, # 1345 - None, # 1346 - None, # 1347 - None, # 1348 - None, # 1349 - None, # 1350 - None, # 1351 - None, # 1352 - None, # 1353 - None, # 1354 - None, # 1355 - None, # 1356 - None, # 1357 - None, # 1358 - None, # 1359 - None, # 1360 - None, # 1361 - None, # 1362 - None, # 1363 - None, # 1364 - None, # 1365 - None, # 1366 - None, # 1367 - None, # 1368 - None, # 1369 - None, # 1370 - None, # 1371 - None, # 1372 - None, # 1373 - None, # 1374 - None, # 1375 - None, # 1376 - None, # 1377 - None, # 1378 - None, # 1379 - None, # 1380 - None, # 1381 - None, # 1382 - None, # 1383 - None, # 1384 - None, # 1385 - None, # 1386 - None, # 1387 - None, # 1388 - None, # 1389 - None, # 1390 - None, # 1391 - None, # 1392 - None, # 1393 - None, # 1394 - None, # 1395 - None, # 1396 - None, # 1397 - None, # 1398 - None, # 1399 - None, # 1400 - None, # 1401 - None, # 1402 - None, # 1403 - None, # 1404 - None, # 1405 - None, # 1406 - None, # 1407 - None, # 1408 - None, # 1409 - None, # 1410 - None, # 1411 - None, # 1412 - None, # 1413 - None, # 1414 - None, # 1415 - None, # 1416 - None, # 1417 - None, # 1418 - None, # 1419 - None, # 1420 - None, # 1421 - None, # 1422 - None, # 1423 - None, # 1424 - None, # 1425 - None, # 1426 - None, # 1427 - None, # 1428 - None, # 1429 - None, # 1430 - None, # 1431 - None, # 1432 - None, # 1433 - None, # 1434 - None, # 1435 - None, # 1436 - None, # 1437 - None, # 1438 - None, # 1439 - None, # 1440 - None, # 1441 - None, # 1442 - None, # 1443 - None, # 1444 - None, # 1445 - None, # 1446 - None, # 1447 - None, # 1448 - None, # 1449 - None, # 1450 - None, # 1451 - None, # 1452 - None, # 1453 - None, # 1454 - None, # 1455 - None, # 1456 - None, # 1457 - None, # 1458 - None, # 1459 - None, # 1460 - None, # 1461 - None, # 1462 - None, # 1463 - None, # 1464 - None, # 1465 - None, # 1466 - None, # 1467 - None, # 1468 - None, # 1469 - None, # 1470 - None, # 1471 - None, # 1472 - None, # 1473 - None, # 1474 - None, # 1475 - None, # 1476 - None, # 1477 - None, # 1478 - None, # 1479 - None, # 1480 - None, # 1481 - None, # 1482 - None, # 1483 - None, # 1484 - None, # 1485 - None, # 1486 - None, # 1487 - None, # 1488 - None, # 1489 - None, # 1490 - None, # 1491 - None, # 1492 - None, # 1493 - None, # 1494 - None, # 1495 - None, # 1496 - None, # 1497 - None, # 1498 - None, # 1499 - None, # 1500 - None, # 1501 - None, # 1502 - None, # 1503 - None, # 1504 - None, # 1505 - None, # 1506 - None, # 1507 - None, # 1508 - None, # 1509 - None, # 1510 - None, # 1511 - None, # 1512 - None, # 1513 - None, # 1514 - None, # 1515 - None, # 1516 - None, # 1517 - None, # 1518 - None, # 1519 - None, # 1520 - None, # 1521 - None, # 1522 - None, # 1523 - None, # 1524 - None, # 1525 - None, # 1526 - None, # 1527 - None, # 1528 - None, # 1529 - None, # 1530 - None, # 1531 - None, # 1532 - None, # 1533 - None, # 1534 - None, # 1535 - None, # 1536 - None, # 1537 - None, # 1538 - None, # 1539 - None, # 1540 - None, # 1541 - None, # 1542 - None, # 1543 - None, # 1544 - None, # 1545 - None, # 1546 - None, # 1547 - None, # 1548 - None, # 1549 - None, # 1550 - None, # 1551 - None, # 1552 - None, # 1553 - None, # 1554 - None, # 1555 - None, # 1556 - None, # 1557 - None, # 1558 - None, # 1559 - None, # 1560 - None, # 1561 - None, # 1562 - None, # 1563 - None, # 1564 - None, # 1565 - None, # 1566 - None, # 1567 - None, # 1568 - None, # 1569 - None, # 1570 - None, # 1571 - None, # 1572 - None, # 1573 - None, # 1574 - None, # 1575 - None, # 1576 - None, # 1577 - None, # 1578 - None, # 1579 - None, # 1580 - None, # 1581 - None, # 1582 - None, # 1583 - None, # 1584 - None, # 1585 - None, # 1586 - None, # 1587 - None, # 1588 - None, # 1589 - None, # 1590 - None, # 1591 - None, # 1592 - None, # 1593 - None, # 1594 - None, # 1595 - None, # 1596 - None, # 1597 - None, # 1598 - None, # 1599 - None, # 1600 - None, # 1601 - None, # 1602 - None, # 1603 - None, # 1604 - None, # 1605 - None, # 1606 - None, # 1607 - None, # 1608 - None, # 1609 - None, # 1610 - None, # 1611 - None, # 1612 - None, # 1613 - None, # 1614 - None, # 1615 - None, # 1616 - None, # 1617 - None, # 1618 - None, # 1619 - None, # 1620 - None, # 1621 - None, # 1622 - None, # 1623 - None, # 1624 - None, # 1625 - None, # 1626 - None, # 1627 - None, # 1628 - None, # 1629 - None, # 1630 - None, # 1631 - None, # 1632 - None, # 1633 - None, # 1634 - None, # 1635 - None, # 1636 - None, # 1637 - None, # 1638 - None, # 1639 - None, # 1640 - None, # 1641 - None, # 1642 - None, # 1643 - None, # 1644 - None, # 1645 - None, # 1646 - None, # 1647 - None, # 1648 - None, # 1649 - None, # 1650 - None, # 1651 - None, # 1652 - None, # 1653 - None, # 1654 - None, # 1655 - None, # 1656 - None, # 1657 - None, # 1658 - None, # 1659 - None, # 1660 - None, # 1661 - None, # 1662 - None, # 1663 - None, # 1664 - None, # 1665 - None, # 1666 - None, # 1667 - None, # 1668 - None, # 1669 - None, # 1670 - None, # 1671 - None, # 1672 - None, # 1673 - None, # 1674 - None, # 1675 - None, # 1676 - None, # 1677 - None, # 1678 - None, # 1679 - None, # 1680 - None, # 1681 - None, # 1682 - None, # 1683 - None, # 1684 - None, # 1685 - None, # 1686 - None, # 1687 - None, # 1688 - None, # 1689 - None, # 1690 - None, # 1691 - None, # 1692 - None, # 1693 - None, # 1694 - None, # 1695 - None, # 1696 - None, # 1697 - None, # 1698 - None, # 1699 - None, # 1700 - None, # 1701 - None, # 1702 - None, # 1703 - None, # 1704 - None, # 1705 - None, # 1706 - None, # 1707 - None, # 1708 - None, # 1709 - None, # 1710 - None, # 1711 - None, # 1712 - None, # 1713 - None, # 1714 - None, # 1715 - None, # 1716 - None, # 1717 - None, # 1718 - None, # 1719 - None, # 1720 - None, # 1721 - None, # 1722 - None, # 1723 - None, # 1724 - None, # 1725 - None, # 1726 - None, # 1727 - None, # 1728 - None, # 1729 - None, # 1730 - None, # 1731 - None, # 1732 - None, # 1733 - None, # 1734 - None, # 1735 - None, # 1736 - None, # 1737 - None, # 1738 - None, # 1739 - None, # 1740 - None, # 1741 - None, # 1742 - None, # 1743 - None, # 1744 - None, # 1745 - None, # 1746 - None, # 1747 - None, # 1748 - None, # 1749 - None, # 1750 - None, # 1751 - None, # 1752 - None, # 1753 - None, # 1754 - None, # 1755 - None, # 1756 - None, # 1757 - None, # 1758 - None, # 1759 - None, # 1760 - None, # 1761 - None, # 1762 - None, # 1763 - None, # 1764 - None, # 1765 - None, # 1766 - None, # 1767 - None, # 1768 - None, # 1769 - None, # 1770 - None, # 1771 - None, # 1772 - None, # 1773 - None, # 1774 - None, # 1775 - None, # 1776 - None, # 1777 - None, # 1778 - None, # 1779 - None, # 1780 - None, # 1781 - None, # 1782 - None, # 1783 - None, # 1784 - None, # 1785 - None, # 1786 - None, # 1787 - None, # 1788 - None, # 1789 - None, # 1790 - None, # 1791 - None, # 1792 - None, # 1793 - None, # 1794 - None, # 1795 - None, # 1796 - None, # 1797 - None, # 1798 - None, # 1799 - None, # 1800 - None, # 1801 - None, # 1802 - None, # 1803 - None, # 1804 - None, # 1805 - None, # 1806 - None, # 1807 - None, # 1808 - None, # 1809 - None, # 1810 - None, # 1811 - None, # 1812 - None, # 1813 - None, # 1814 - None, # 1815 - None, # 1816 - None, # 1817 - None, # 1818 - None, # 1819 - None, # 1820 - None, # 1821 - None, # 1822 - None, # 1823 - None, # 1824 - None, # 1825 - None, # 1826 - None, # 1827 - None, # 1828 - None, # 1829 - None, # 1830 - None, # 1831 - None, # 1832 - None, # 1833 - None, # 1834 - None, # 1835 - None, # 1836 - None, # 1837 - None, # 1838 - None, # 1839 - None, # 1840 - None, # 1841 - None, # 1842 - None, # 1843 - None, # 1844 - None, # 1845 - None, # 1846 - None, # 1847 - None, # 1848 - None, # 1849 - None, # 1850 - None, # 1851 - None, # 1852 - None, # 1853 - None, # 1854 - None, # 1855 - None, # 1856 - None, # 1857 - None, # 1858 - None, # 1859 - None, # 1860 - None, # 1861 - None, # 1862 - None, # 1863 - None, # 1864 - None, # 1865 - None, # 1866 - None, # 1867 - None, # 1868 - None, # 1869 - None, # 1870 - None, # 1871 - None, # 1872 - None, # 1873 - None, # 1874 - None, # 1875 - None, # 1876 - None, # 1877 - None, # 1878 - None, # 1879 - None, # 1880 - None, # 1881 - None, # 1882 - None, # 1883 - None, # 1884 - None, # 1885 - None, # 1886 - None, # 1887 - None, # 1888 - None, # 1889 - None, # 1890 - None, # 1891 - None, # 1892 - None, # 1893 - None, # 1894 - None, # 1895 - None, # 1896 - None, # 1897 - None, # 1898 - None, # 1899 - None, # 1900 - None, # 1901 - None, # 1902 - None, # 1903 - None, # 1904 - None, # 1905 - None, # 1906 - None, # 1907 - None, # 1908 - None, # 1909 - None, # 1910 - None, # 1911 - None, # 1912 - None, # 1913 - None, # 1914 - None, # 1915 - None, # 1916 - None, # 1917 - None, # 1918 - None, # 1919 - None, # 1920 - None, # 1921 - None, # 1922 - None, # 1923 - None, # 1924 - None, # 1925 - None, # 1926 - None, # 1927 - None, # 1928 - None, # 1929 - None, # 1930 - None, # 1931 - None, # 1932 - None, # 1933 - None, # 1934 - None, # 1935 - None, # 1936 - None, # 1937 - None, # 1938 - None, # 1939 - None, # 1940 - None, # 1941 - None, # 1942 - None, # 1943 - None, # 1944 - None, # 1945 - None, # 1946 - None, # 1947 - None, # 1948 - None, # 1949 - None, # 1950 - None, # 1951 - None, # 1952 - None, # 1953 - None, # 1954 - None, # 1955 - None, # 1956 - None, # 1957 - None, # 1958 - None, # 1959 - None, # 1960 - None, # 1961 - None, # 1962 - None, # 1963 - None, # 1964 - None, # 1965 - None, # 1966 - None, # 1967 - None, # 1968 - None, # 1969 - None, # 1970 - None, # 1971 - None, # 1972 - None, # 1973 - None, # 1974 - None, # 1975 - None, # 1976 - None, # 1977 - None, # 1978 - None, # 1979 - None, # 1980 - None, # 1981 - None, # 1982 - None, # 1983 - None, # 1984 - None, # 1985 - None, # 1986 - None, # 1987 - None, # 1988 - None, # 1989 - None, # 1990 - None, # 1991 - None, # 1992 - None, # 1993 - None, # 1994 - None, # 1995 - None, # 1996 - None, # 1997 - None, # 1998 - None, # 1999 - None, # 2000 - None, # 2001 - None, # 2002 - None, # 2003 - None, # 2004 - None, # 2005 - None, # 2006 - None, # 2007 - None, # 2008 - None, # 2009 - None, # 2010 - None, # 2011 - None, # 2012 - None, # 2013 - None, # 2014 - None, # 2015 - None, # 2016 - None, # 2017 - None, # 2018 - None, # 2019 - None, # 2020 - None, # 2021 - None, # 2022 - None, # 2023 - None, # 2024 - None, # 2025 - None, # 2026 - None, # 2027 - None, # 2028 - None, # 2029 - None, # 2030 - None, # 2031 - None, # 2032 - None, # 2033 - None, # 2034 - None, # 2035 - None, # 2036 - None, # 2037 - None, # 2038 - None, # 2039 - None, # 2040 - None, # 2041 - None, # 2042 - None, # 2043 - None, # 2044 - None, # 2045 - None, # 2046 - None, # 2047 - None, # 2048 - None, # 2049 - None, # 2050 - None, # 2051 - None, # 2052 - None, # 2053 - None, # 2054 - None, # 2055 - None, # 2056 - None, # 2057 - None, # 2058 - None, # 2059 - None, # 2060 - None, # 2061 - None, # 2062 - None, # 2063 - None, # 2064 - None, # 2065 - None, # 2066 - None, # 2067 - None, # 2068 - None, # 2069 - None, # 2070 - None, # 2071 - None, # 2072 - None, # 2073 - None, # 2074 - None, # 2075 - None, # 2076 - None, # 2077 - None, # 2078 - None, # 2079 - None, # 2080 - None, # 2081 - None, # 2082 - None, # 2083 - None, # 2084 - None, # 2085 - None, # 2086 - None, # 2087 - None, # 2088 - None, # 2089 - None, # 2090 - None, # 2091 - None, # 2092 - None, # 2093 - None, # 2094 - None, # 2095 - None, # 2096 - None, # 2097 - None, # 2098 - None, # 2099 - None, # 2100 - None, # 2101 - None, # 2102 - None, # 2103 - None, # 2104 - None, # 2105 - None, # 2106 - None, # 2107 - None, # 2108 - None, # 2109 - None, # 2110 - None, # 2111 - None, # 2112 - None, # 2113 - None, # 2114 - None, # 2115 - None, # 2116 - None, # 2117 - None, # 2118 - None, # 2119 - None, # 2120 - None, # 2121 - None, # 2122 - None, # 2123 - None, # 2124 - None, # 2125 - None, # 2126 - None, # 2127 - None, # 2128 - None, # 2129 - None, # 2130 - None, # 2131 - None, # 2132 - None, # 2133 - None, # 2134 - None, # 2135 - None, # 2136 - None, # 2137 - None, # 2138 - None, # 2139 - None, # 2140 - None, # 2141 - None, # 2142 - None, # 2143 - None, # 2144 - None, # 2145 - None, # 2146 - None, # 2147 - None, # 2148 - None, # 2149 - None, # 2150 - None, # 2151 - None, # 2152 - None, # 2153 - None, # 2154 - None, # 2155 - None, # 2156 - None, # 2157 - None, # 2158 - None, # 2159 - None, # 2160 - None, # 2161 - None, # 2162 - None, # 2163 - None, # 2164 - None, # 2165 - None, # 2166 - None, # 2167 - None, # 2168 - None, # 2169 - None, # 2170 - None, # 2171 - None, # 2172 - None, # 2173 - None, # 2174 - None, # 2175 - None, # 2176 - None, # 2177 - None, # 2178 - None, # 2179 - None, # 2180 - None, # 2181 - None, # 2182 - None, # 2183 - None, # 2184 - None, # 2185 - None, # 2186 - None, # 2187 - None, # 2188 - None, # 2189 - None, # 2190 - None, # 2191 - None, # 2192 - None, # 2193 - None, # 2194 - None, # 2195 - None, # 2196 - None, # 2197 - None, # 2198 - None, # 2199 - None, # 2200 - None, # 2201 - None, # 2202 - None, # 2203 - None, # 2204 - None, # 2205 - None, # 2206 - None, # 2207 - None, # 2208 - None, # 2209 - None, # 2210 - None, # 2211 - None, # 2212 - None, # 2213 - None, # 2214 - None, # 2215 - None, # 2216 - None, # 2217 - None, # 2218 - None, # 2219 - None, # 2220 - None, # 2221 - None, # 2222 - None, # 2223 - None, # 2224 - None, # 2225 - None, # 2226 - None, # 2227 - None, # 2228 - None, # 2229 - None, # 2230 - None, # 2231 - None, # 2232 - None, # 2233 - None, # 2234 - None, # 2235 - None, # 2236 - None, # 2237 - None, # 2238 - None, # 2239 - None, # 2240 - None, # 2241 - None, # 2242 - None, # 2243 - None, # 2244 - None, # 2245 - None, # 2246 - None, # 2247 - None, # 2248 - None, # 2249 - None, # 2250 - None, # 2251 - None, # 2252 - None, # 2253 - None, # 2254 - None, # 2255 - None, # 2256 - None, # 2257 - None, # 2258 - None, # 2259 - None, # 2260 - None, # 2261 - None, # 2262 - None, # 2263 - None, # 2264 - None, # 2265 - None, # 2266 - None, # 2267 - None, # 2268 - None, # 2269 - None, # 2270 - None, # 2271 - None, # 2272 - None, # 2273 - None, # 2274 - None, # 2275 - None, # 2276 - None, # 2277 - None, # 2278 - None, # 2279 - None, # 2280 - None, # 2281 - None, # 2282 - None, # 2283 - None, # 2284 - None, # 2285 - None, # 2286 - None, # 2287 - None, # 2288 - None, # 2289 - None, # 2290 - None, # 2291 - None, # 2292 - None, # 2293 - None, # 2294 - None, # 2295 - None, # 2296 - None, # 2297 - None, # 2298 - None, # 2299 - None, # 2300 - None, # 2301 - None, # 2302 - None, # 2303 - None, # 2304 - None, # 2305 - None, # 2306 - None, # 2307 - None, # 2308 - None, # 2309 - None, # 2310 - None, # 2311 - None, # 2312 - None, # 2313 - None, # 2314 - None, # 2315 - None, # 2316 - None, # 2317 - None, # 2318 - None, # 2319 - None, # 2320 - None, # 2321 - None, # 2322 - None, # 2323 - None, # 2324 - None, # 2325 - None, # 2326 - None, # 2327 - None, # 2328 - None, # 2329 - None, # 2330 - None, # 2331 - None, # 2332 - None, # 2333 - None, # 2334 - None, # 2335 - None, # 2336 - None, # 2337 - None, # 2338 - None, # 2339 - None, # 2340 - None, # 2341 - None, # 2342 - None, # 2343 - None, # 2344 - None, # 2345 - None, # 2346 - None, # 2347 - None, # 2348 - None, # 2349 - None, # 2350 - None, # 2351 - None, # 2352 - None, # 2353 - None, # 2354 - None, # 2355 - None, # 2356 - None, # 2357 - None, # 2358 - None, # 2359 - None, # 2360 - None, # 2361 - None, # 2362 - None, # 2363 - None, # 2364 - None, # 2365 - None, # 2366 - None, # 2367 - None, # 2368 - None, # 2369 - None, # 2370 - None, # 2371 - None, # 2372 - None, # 2373 - None, # 2374 - None, # 2375 - None, # 2376 - None, # 2377 - None, # 2378 - None, # 2379 - None, # 2380 - None, # 2381 - None, # 2382 - None, # 2383 - None, # 2384 - None, # 2385 - None, # 2386 - None, # 2387 - None, # 2388 - None, # 2389 - None, # 2390 - None, # 2391 - None, # 2392 - None, # 2393 - None, # 2394 - None, # 2395 - None, # 2396 - None, # 2397 - None, # 2398 - None, # 2399 - None, # 2400 - None, # 2401 - None, # 2402 - None, # 2403 - None, # 2404 - None, # 2405 - None, # 2406 - None, # 2407 - None, # 2408 - None, # 2409 - None, # 2410 - None, # 2411 - None, # 2412 - None, # 2413 - None, # 2414 - None, # 2415 - None, # 2416 - None, # 2417 - None, # 2418 - None, # 2419 - None, # 2420 - None, # 2421 - None, # 2422 - None, # 2423 - None, # 2424 - None, # 2425 - None, # 2426 - None, # 2427 - None, # 2428 - None, # 2429 - None, # 2430 - None, # 2431 - None, # 2432 - None, # 2433 - None, # 2434 - None, # 2435 - None, # 2436 - None, # 2437 - None, # 2438 - None, # 2439 - None, # 2440 - None, # 2441 - None, # 2442 - None, # 2443 - None, # 2444 - None, # 2445 - None, # 2446 - None, # 2447 - None, # 2448 - None, # 2449 - None, # 2450 - None, # 2451 - None, # 2452 - None, # 2453 - None, # 2454 - None, # 2455 - None, # 2456 - None, # 2457 - None, # 2458 - None, # 2459 - None, # 2460 - None, # 2461 - None, # 2462 - None, # 2463 - None, # 2464 - None, # 2465 - None, # 2466 - None, # 2467 - None, # 2468 - None, # 2469 - None, # 2470 - None, # 2471 - None, # 2472 - None, # 2473 - None, # 2474 - None, # 2475 - None, # 2476 - None, # 2477 - None, # 2478 - None, # 2479 - None, # 2480 - None, # 2481 - None, # 2482 - None, # 2483 - None, # 2484 - None, # 2485 - None, # 2486 - None, # 2487 - None, # 2488 - None, # 2489 - None, # 2490 - None, # 2491 - None, # 2492 - None, # 2493 - None, # 2494 - None, # 2495 - None, # 2496 - None, # 2497 - None, # 2498 - None, # 2499 - None, # 2500 - None, # 2501 - None, # 2502 - None, # 2503 - None, # 2504 - None, # 2505 - None, # 2506 - None, # 2507 - None, # 2508 - None, # 2509 - None, # 2510 - None, # 2511 - None, # 2512 - None, # 2513 - None, # 2514 - None, # 2515 - None, # 2516 - None, # 2517 - None, # 2518 - None, # 2519 - None, # 2520 - None, # 2521 - None, # 2522 - None, # 2523 - None, # 2524 - None, # 2525 - None, # 2526 - None, # 2527 - None, # 2528 - None, # 2529 - None, # 2530 - None, # 2531 - None, # 2532 - None, # 2533 - None, # 2534 - None, # 2535 - None, # 2536 - None, # 2537 - None, # 2538 - None, # 2539 - None, # 2540 - None, # 2541 - None, # 2542 - None, # 2543 - None, # 2544 - None, # 2545 - None, # 2546 - None, # 2547 - None, # 2548 - None, # 2549 - None, # 2550 - None, # 2551 - None, # 2552 - None, # 2553 - None, # 2554 - None, # 2555 - None, # 2556 - None, # 2557 - None, # 2558 - None, # 2559 - None, # 2560 - None, # 2561 - None, # 2562 - None, # 2563 - None, # 2564 - None, # 2565 - None, # 2566 - None, # 2567 - None, # 2568 - None, # 2569 - None, # 2570 - None, # 2571 - None, # 2572 - None, # 2573 - None, # 2574 - None, # 2575 - None, # 2576 - None, # 2577 - None, # 2578 - None, # 2579 - None, # 2580 - None, # 2581 - None, # 2582 - None, # 2583 - None, # 2584 - None, # 2585 - None, # 2586 - None, # 2587 - None, # 2588 - None, # 2589 - None, # 2590 - None, # 2591 - None, # 2592 - None, # 2593 - None, # 2594 - None, # 2595 - None, # 2596 - None, # 2597 - None, # 2598 - None, # 2599 - None, # 2600 - None, # 2601 - None, # 2602 - None, # 2603 - None, # 2604 - None, # 2605 - None, # 2606 - None, # 2607 - None, # 2608 - None, # 2609 - None, # 2610 - None, # 2611 - None, # 2612 - None, # 2613 - None, # 2614 - None, # 2615 - None, # 2616 - None, # 2617 - None, # 2618 - None, # 2619 - None, # 2620 - None, # 2621 - None, # 2622 - None, # 2623 - None, # 2624 - None, # 2625 - None, # 2626 - None, # 2627 - None, # 2628 - None, # 2629 - None, # 2630 - None, # 2631 - None, # 2632 - None, # 2633 - None, # 2634 - None, # 2635 - None, # 2636 - None, # 2637 - None, # 2638 - None, # 2639 - None, # 2640 - None, # 2641 - None, # 2642 - None, # 2643 - None, # 2644 - None, # 2645 - None, # 2646 - None, # 2647 - None, # 2648 - None, # 2649 - None, # 2650 - None, # 2651 - None, # 2652 - None, # 2653 - None, # 2654 - None, # 2655 - None, # 2656 - None, # 2657 - None, # 2658 - None, # 2659 - None, # 2660 - None, # 2661 - None, # 2662 - None, # 2663 - None, # 2664 - None, # 2665 - None, # 2666 - None, # 2667 - None, # 2668 - None, # 2669 - None, # 2670 - None, # 2671 - None, # 2672 - None, # 2673 - None, # 2674 - None, # 2675 - None, # 2676 - None, # 2677 - None, # 2678 - None, # 2679 - None, # 2680 - None, # 2681 - None, # 2682 - None, # 2683 - None, # 2684 - None, # 2685 - None, # 2686 - None, # 2687 - None, # 2688 - None, # 2689 - None, # 2690 - None, # 2691 - None, # 2692 - None, # 2693 - None, # 2694 - None, # 2695 - None, # 2696 - None, # 2697 - None, # 2698 - None, # 2699 - None, # 2700 - None, # 2701 - None, # 2702 - None, # 2703 - None, # 2704 - None, # 2705 - None, # 2706 - None, # 2707 - None, # 2708 - None, # 2709 - None, # 2710 - None, # 2711 - None, # 2712 - None, # 2713 - None, # 2714 - None, # 2715 - None, # 2716 - None, # 2717 - None, # 2718 - None, # 2719 - None, # 2720 - None, # 2721 - None, # 2722 - None, # 2723 - None, # 2724 - None, # 2725 - None, # 2726 - None, # 2727 - None, # 2728 - None, # 2729 - None, # 2730 - None, # 2731 - None, # 2732 - None, # 2733 - None, # 2734 - None, # 2735 - None, # 2736 - None, # 2737 - None, # 2738 - None, # 2739 - None, # 2740 - None, # 2741 - None, # 2742 - None, # 2743 - None, # 2744 - None, # 2745 - None, # 2746 - None, # 2747 - None, # 2748 - None, # 2749 - None, # 2750 - None, # 2751 - None, # 2752 - None, # 2753 - None, # 2754 - None, # 2755 - None, # 2756 - None, # 2757 - None, # 2758 - None, # 2759 - None, # 2760 - None, # 2761 - None, # 2762 - None, # 2763 - None, # 2764 - None, # 2765 - None, # 2766 - None, # 2767 - None, # 2768 - None, # 2769 - None, # 2770 - None, # 2771 - None, # 2772 - None, # 2773 - None, # 2774 - None, # 2775 - None, # 2776 - None, # 2777 - None, # 2778 - None, # 2779 - None, # 2780 - None, # 2781 - None, # 2782 - None, # 2783 - None, # 2784 - None, # 2785 - None, # 2786 - None, # 2787 - None, # 2788 - None, # 2789 - None, # 2790 - None, # 2791 - None, # 2792 - None, # 2793 - None, # 2794 - None, # 2795 - None, # 2796 - None, # 2797 - None, # 2798 - None, # 2799 - None, # 2800 - None, # 2801 - None, # 2802 - None, # 2803 - None, # 2804 - None, # 2805 - None, # 2806 - None, # 2807 - None, # 2808 - None, # 2809 - None, # 2810 - None, # 2811 - None, # 2812 - None, # 2813 - None, # 2814 - None, # 2815 - None, # 2816 - None, # 2817 - None, # 2818 - None, # 2819 - None, # 2820 - None, # 2821 - None, # 2822 - None, # 2823 - None, # 2824 - None, # 2825 - None, # 2826 - None, # 2827 - None, # 2828 - None, # 2829 - None, # 2830 - None, # 2831 - None, # 2832 - None, # 2833 - None, # 2834 - None, # 2835 - None, # 2836 - None, # 2837 - None, # 2838 - None, # 2839 - None, # 2840 - None, # 2841 - None, # 2842 - None, # 2843 - None, # 2844 - None, # 2845 - None, # 2846 - None, # 2847 - None, # 2848 - None, # 2849 - None, # 2850 - None, # 2851 - None, # 2852 - None, # 2853 - None, # 2854 - None, # 2855 - None, # 2856 - None, # 2857 - None, # 2858 - None, # 2859 - None, # 2860 - None, # 2861 - None, # 2862 - None, # 2863 - None, # 2864 - None, # 2865 - None, # 2866 - None, # 2867 - None, # 2868 - None, # 2869 - None, # 2870 - None, # 2871 - None, # 2872 - None, # 2873 - None, # 2874 - None, # 2875 - None, # 2876 - None, # 2877 - None, # 2878 - None, # 2879 - None, # 2880 - None, # 2881 - None, # 2882 - None, # 2883 - None, # 2884 - None, # 2885 - None, # 2886 - None, # 2887 - None, # 2888 - None, # 2889 - None, # 2890 - None, # 2891 - None, # 2892 - None, # 2893 - None, # 2894 - None, # 2895 - None, # 2896 - None, # 2897 - None, # 2898 - None, # 2899 - None, # 2900 - None, # 2901 - None, # 2902 - None, # 2903 - None, # 2904 - None, # 2905 - None, # 2906 - None, # 2907 - None, # 2908 - None, # 2909 - None, # 2910 - None, # 2911 - None, # 2912 - None, # 2913 - None, # 2914 - None, # 2915 - None, # 2916 - None, # 2917 - None, # 2918 - None, # 2919 - None, # 2920 - None, # 2921 - None, # 2922 - None, # 2923 - None, # 2924 - None, # 2925 - None, # 2926 - None, # 2927 - None, # 2928 - None, # 2929 - None, # 2930 - None, # 2931 - None, # 2932 - None, # 2933 - None, # 2934 - None, # 2935 - None, # 2936 - None, # 2937 - None, # 2938 - None, # 2939 - None, # 2940 - None, # 2941 - None, # 2942 - None, # 2943 - None, # 2944 - None, # 2945 - None, # 2946 - None, # 2947 - None, # 2948 - None, # 2949 - None, # 2950 - None, # 2951 - None, # 2952 - None, # 2953 - None, # 2954 - None, # 2955 - None, # 2956 - None, # 2957 - None, # 2958 - None, # 2959 - None, # 2960 - None, # 2961 - None, # 2962 - None, # 2963 - None, # 2964 - None, # 2965 - None, # 2966 - None, # 2967 - None, # 2968 - None, # 2969 - None, # 2970 - None, # 2971 - None, # 2972 - None, # 2973 - None, # 2974 - None, # 2975 - None, # 2976 - None, # 2977 - None, # 2978 - None, # 2979 - None, # 2980 - None, # 2981 - None, # 2982 - None, # 2983 - None, # 2984 - None, # 2985 - None, # 2986 - None, # 2987 - None, # 2988 - None, # 2989 - None, # 2990 - None, # 2991 - None, # 2992 - None, # 2993 - None, # 2994 - None, # 2995 - None, # 2996 - None, # 2997 - None, # 2998 - None, # 2999 - None, # 3000 - None, # 3001 - None, # 3002 - None, # 3003 - None, # 3004 - None, # 3005 - None, # 3006 - None, # 3007 - None, # 3008 - None, # 3009 - None, # 3010 - None, # 3011 - None, # 3012 - None, # 3013 - None, # 3014 - None, # 3015 - None, # 3016 - None, # 3017 - None, # 3018 - None, # 3019 - None, # 3020 - None, # 3021 - None, # 3022 - None, # 3023 - None, # 3024 - None, # 3025 - None, # 3026 - None, # 3027 - None, # 3028 - None, # 3029 - None, # 3030 - None, # 3031 - None, # 3032 - None, # 3033 - None, # 3034 - None, # 3035 - None, # 3036 - None, # 3037 - None, # 3038 - None, # 3039 - None, # 3040 - None, # 3041 - None, # 3042 - None, # 3043 - None, # 3044 - None, # 3045 - None, # 3046 - None, # 3047 - None, # 3048 - None, # 3049 - None, # 3050 - None, # 3051 - None, # 3052 - None, # 3053 - None, # 3054 - None, # 3055 - None, # 3056 - None, # 3057 - None, # 3058 - None, # 3059 - None, # 3060 - None, # 3061 - None, # 3062 - None, # 3063 - None, # 3064 - None, # 3065 - None, # 3066 - None, # 3067 - None, # 3068 - None, # 3069 - None, # 3070 - None, # 3071 - None, # 3072 - None, # 3073 - None, # 3074 - None, # 3075 - None, # 3076 - None, # 3077 - None, # 3078 - None, # 3079 - None, # 3080 - None, # 3081 - None, # 3082 - None, # 3083 - None, # 3084 - None, # 3085 - None, # 3086 - None, # 3087 - None, # 3088 - None, # 3089 - None, # 3090 - None, # 3091 - None, # 3092 - None, # 3093 - None, # 3094 - None, # 3095 - None, # 3096 - None, # 3097 - None, # 3098 - None, # 3099 - None, # 3100 - None, # 3101 - None, # 3102 - None, # 3103 - None, # 3104 - None, # 3105 - None, # 3106 - None, # 3107 - None, # 3108 - None, # 3109 - None, # 3110 - None, # 3111 - None, # 3112 - None, # 3113 - None, # 3114 - None, # 3115 - None, # 3116 - None, # 3117 - None, # 3118 - None, # 3119 - None, # 3120 - None, # 3121 - None, # 3122 - None, # 3123 - None, # 3124 - None, # 3125 - None, # 3126 - None, # 3127 - None, # 3128 - None, # 3129 - None, # 3130 - None, # 3131 - None, # 3132 - None, # 3133 - None, # 3134 - None, # 3135 - None, # 3136 - None, # 3137 - None, # 3138 - None, # 3139 - None, # 3140 - None, # 3141 - None, # 3142 - None, # 3143 - None, # 3144 - None, # 3145 - None, # 3146 - None, # 3147 - None, # 3148 - None, # 3149 - None, # 3150 - None, # 3151 - None, # 3152 - None, # 3153 - None, # 3154 - None, # 3155 - None, # 3156 - None, # 3157 - None, # 3158 - None, # 3159 - None, # 3160 - None, # 3161 - None, # 3162 - None, # 3163 - None, # 3164 - None, # 3165 - None, # 3166 - None, # 3167 - None, # 3168 - None, # 3169 - None, # 3170 - None, # 3171 - None, # 3172 - None, # 3173 - None, # 3174 - None, # 3175 - None, # 3176 - None, # 3177 - None, # 3178 - None, # 3179 - None, # 3180 - None, # 3181 - None, # 3182 - None, # 3183 - None, # 3184 - None, # 3185 - None, # 3186 - None, # 3187 - None, # 3188 - None, # 3189 - None, # 3190 - None, # 3191 - None, # 3192 - None, # 3193 - None, # 3194 - None, # 3195 - None, # 3196 - None, # 3197 - None, # 3198 - None, # 3199 - None, # 3200 - None, # 3201 - None, # 3202 - None, # 3203 - None, # 3204 - None, # 3205 - None, # 3206 - None, # 3207 - None, # 3208 - None, # 3209 - None, # 3210 - None, # 3211 - None, # 3212 - None, # 3213 - None, # 3214 - None, # 3215 - None, # 3216 - None, # 3217 - None, # 3218 - None, # 3219 - None, # 3220 - None, # 3221 - None, # 3222 - None, # 3223 - None, # 3224 - None, # 3225 - None, # 3226 - None, # 3227 - None, # 3228 - None, # 3229 - None, # 3230 - None, # 3231 - None, # 3232 - None, # 3233 - None, # 3234 - None, # 3235 - None, # 3236 - None, # 3237 - None, # 3238 - None, # 3239 - None, # 3240 - None, # 3241 - None, # 3242 - None, # 3243 - None, # 3244 - None, # 3245 - None, # 3246 - None, # 3247 - None, # 3248 - None, # 3249 - None, # 3250 - None, # 3251 - None, # 3252 - None, # 3253 - None, # 3254 - None, # 3255 - None, # 3256 - None, # 3257 - None, # 3258 - None, # 3259 - None, # 3260 - None, # 3261 - None, # 3262 - None, # 3263 - None, # 3264 - None, # 3265 - None, # 3266 - None, # 3267 - None, # 3268 - None, # 3269 - None, # 3270 - None, # 3271 - None, # 3272 - None, # 3273 - None, # 3274 - None, # 3275 - None, # 3276 - None, # 3277 - None, # 3278 - None, # 3279 - None, # 3280 - None, # 3281 - None, # 3282 - None, # 3283 - None, # 3284 - None, # 3285 - None, # 3286 - None, # 3287 - None, # 3288 - None, # 3289 - None, # 3290 - None, # 3291 - None, # 3292 - None, # 3293 - None, # 3294 - None, # 3295 - None, # 3296 - None, # 3297 - None, # 3298 - None, # 3299 - None, # 3300 - None, # 3301 - None, # 3302 - None, # 3303 - None, # 3304 - None, # 3305 - None, # 3306 - None, # 3307 - None, # 3308 - None, # 3309 - None, # 3310 - None, # 3311 - None, # 3312 - None, # 3313 - None, # 3314 - None, # 3315 - None, # 3316 - None, # 3317 - None, # 3318 - None, # 3319 - None, # 3320 - None, # 3321 - None, # 3322 - None, # 3323 - None, # 3324 - None, # 3325 - None, # 3326 - None, # 3327 - None, # 3328 - (3329, TType.STRUCT, 'operationId', [THandleIdentifier, None], None, ), # 3329 - (3330, TType.STRUCT, 'sessionConf', [TDBSqlSessionConf, None], None, ), # 3330 + None, # 0 + (1, TType.STRUCT, 'sessionHandle', [TSessionHandle, None], None, ), # 1 + (2, TType.STRING, 'catalogName', 'UTF8', None, ), # 2 + (3, TType.STRING, 'schemaName', 'UTF8', None, ), # 3 + None, # 4 + None, # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + (1281, TType.STRUCT, 'getDirectResults', [TSparkGetDirectResults, None], None, ), # 1281 + (1282, TType.BOOL, 'runAsync', None, False, ), # 1282 + None, # 1283 + None, # 1284 + None, # 1285 + None, # 1286 + None, # 1287 + None, # 1288 + None, # 1289 + None, # 1290 + None, # 1291 + None, # 1292 + None, # 1293 + None, # 1294 + None, # 1295 + None, # 1296 + None, # 1297 + None, # 1298 + None, # 1299 + None, # 1300 + None, # 1301 + None, # 1302 + None, # 1303 + None, # 1304 + None, # 1305 + None, # 1306 + None, # 1307 + None, # 1308 + None, # 1309 + None, # 1310 + None, # 1311 + None, # 1312 + None, # 1313 + None, # 1314 + None, # 1315 + None, # 1316 + None, # 1317 + None, # 1318 + None, # 1319 + None, # 1320 + None, # 1321 + None, # 1322 + None, # 1323 + None, # 1324 + None, # 1325 + None, # 1326 + None, # 1327 + None, # 1328 + None, # 1329 + None, # 1330 + None, # 1331 + None, # 1332 + None, # 1333 + None, # 1334 + None, # 1335 + None, # 1336 + None, # 1337 + None, # 1338 + None, # 1339 + None, # 1340 + None, # 1341 + None, # 1342 + None, # 1343 + None, # 1344 + None, # 1345 + None, # 1346 + None, # 1347 + None, # 1348 + None, # 1349 + None, # 1350 + None, # 1351 + None, # 1352 + None, # 1353 + None, # 1354 + None, # 1355 + None, # 1356 + None, # 1357 + None, # 1358 + None, # 1359 + None, # 1360 + None, # 1361 + None, # 1362 + None, # 1363 + None, # 1364 + None, # 1365 + None, # 1366 + None, # 1367 + None, # 1368 + None, # 1369 + None, # 1370 + None, # 1371 + None, # 1372 + None, # 1373 + None, # 1374 + None, # 1375 + None, # 1376 + None, # 1377 + None, # 1378 + None, # 1379 + None, # 1380 + None, # 1381 + None, # 1382 + None, # 1383 + None, # 1384 + None, # 1385 + None, # 1386 + None, # 1387 + None, # 1388 + None, # 1389 + None, # 1390 + None, # 1391 + None, # 1392 + None, # 1393 + None, # 1394 + None, # 1395 + None, # 1396 + None, # 1397 + None, # 1398 + None, # 1399 + None, # 1400 + None, # 1401 + None, # 1402 + None, # 1403 + None, # 1404 + None, # 1405 + None, # 1406 + None, # 1407 + None, # 1408 + None, # 1409 + None, # 1410 + None, # 1411 + None, # 1412 + None, # 1413 + None, # 1414 + None, # 1415 + None, # 1416 + None, # 1417 + None, # 1418 + None, # 1419 + None, # 1420 + None, # 1421 + None, # 1422 + None, # 1423 + None, # 1424 + None, # 1425 + None, # 1426 + None, # 1427 + None, # 1428 + None, # 1429 + None, # 1430 + None, # 1431 + None, # 1432 + None, # 1433 + None, # 1434 + None, # 1435 + None, # 1436 + None, # 1437 + None, # 1438 + None, # 1439 + None, # 1440 + None, # 1441 + None, # 1442 + None, # 1443 + None, # 1444 + None, # 1445 + None, # 1446 + None, # 1447 + None, # 1448 + None, # 1449 + None, # 1450 + None, # 1451 + None, # 1452 + None, # 1453 + None, # 1454 + None, # 1455 + None, # 1456 + None, # 1457 + None, # 1458 + None, # 1459 + None, # 1460 + None, # 1461 + None, # 1462 + None, # 1463 + None, # 1464 + None, # 1465 + None, # 1466 + None, # 1467 + None, # 1468 + None, # 1469 + None, # 1470 + None, # 1471 + None, # 1472 + None, # 1473 + None, # 1474 + None, # 1475 + None, # 1476 + None, # 1477 + None, # 1478 + None, # 1479 + None, # 1480 + None, # 1481 + None, # 1482 + None, # 1483 + None, # 1484 + None, # 1485 + None, # 1486 + None, # 1487 + None, # 1488 + None, # 1489 + None, # 1490 + None, # 1491 + None, # 1492 + None, # 1493 + None, # 1494 + None, # 1495 + None, # 1496 + None, # 1497 + None, # 1498 + None, # 1499 + None, # 1500 + None, # 1501 + None, # 1502 + None, # 1503 + None, # 1504 + None, # 1505 + None, # 1506 + None, # 1507 + None, # 1508 + None, # 1509 + None, # 1510 + None, # 1511 + None, # 1512 + None, # 1513 + None, # 1514 + None, # 1515 + None, # 1516 + None, # 1517 + None, # 1518 + None, # 1519 + None, # 1520 + None, # 1521 + None, # 1522 + None, # 1523 + None, # 1524 + None, # 1525 + None, # 1526 + None, # 1527 + None, # 1528 + None, # 1529 + None, # 1530 + None, # 1531 + None, # 1532 + None, # 1533 + None, # 1534 + None, # 1535 + None, # 1536 + None, # 1537 + None, # 1538 + None, # 1539 + None, # 1540 + None, # 1541 + None, # 1542 + None, # 1543 + None, # 1544 + None, # 1545 + None, # 1546 + None, # 1547 + None, # 1548 + None, # 1549 + None, # 1550 + None, # 1551 + None, # 1552 + None, # 1553 + None, # 1554 + None, # 1555 + None, # 1556 + None, # 1557 + None, # 1558 + None, # 1559 + None, # 1560 + None, # 1561 + None, # 1562 + None, # 1563 + None, # 1564 + None, # 1565 + None, # 1566 + None, # 1567 + None, # 1568 + None, # 1569 + None, # 1570 + None, # 1571 + None, # 1572 + None, # 1573 + None, # 1574 + None, # 1575 + None, # 1576 + None, # 1577 + None, # 1578 + None, # 1579 + None, # 1580 + None, # 1581 + None, # 1582 + None, # 1583 + None, # 1584 + None, # 1585 + None, # 1586 + None, # 1587 + None, # 1588 + None, # 1589 + None, # 1590 + None, # 1591 + None, # 1592 + None, # 1593 + None, # 1594 + None, # 1595 + None, # 1596 + None, # 1597 + None, # 1598 + None, # 1599 + None, # 1600 + None, # 1601 + None, # 1602 + None, # 1603 + None, # 1604 + None, # 1605 + None, # 1606 + None, # 1607 + None, # 1608 + None, # 1609 + None, # 1610 + None, # 1611 + None, # 1612 + None, # 1613 + None, # 1614 + None, # 1615 + None, # 1616 + None, # 1617 + None, # 1618 + None, # 1619 + None, # 1620 + None, # 1621 + None, # 1622 + None, # 1623 + None, # 1624 + None, # 1625 + None, # 1626 + None, # 1627 + None, # 1628 + None, # 1629 + None, # 1630 + None, # 1631 + None, # 1632 + None, # 1633 + None, # 1634 + None, # 1635 + None, # 1636 + None, # 1637 + None, # 1638 + None, # 1639 + None, # 1640 + None, # 1641 + None, # 1642 + None, # 1643 + None, # 1644 + None, # 1645 + None, # 1646 + None, # 1647 + None, # 1648 + None, # 1649 + None, # 1650 + None, # 1651 + None, # 1652 + None, # 1653 + None, # 1654 + None, # 1655 + None, # 1656 + None, # 1657 + None, # 1658 + None, # 1659 + None, # 1660 + None, # 1661 + None, # 1662 + None, # 1663 + None, # 1664 + None, # 1665 + None, # 1666 + None, # 1667 + None, # 1668 + None, # 1669 + None, # 1670 + None, # 1671 + None, # 1672 + None, # 1673 + None, # 1674 + None, # 1675 + None, # 1676 + None, # 1677 + None, # 1678 + None, # 1679 + None, # 1680 + None, # 1681 + None, # 1682 + None, # 1683 + None, # 1684 + None, # 1685 + None, # 1686 + None, # 1687 + None, # 1688 + None, # 1689 + None, # 1690 + None, # 1691 + None, # 1692 + None, # 1693 + None, # 1694 + None, # 1695 + None, # 1696 + None, # 1697 + None, # 1698 + None, # 1699 + None, # 1700 + None, # 1701 + None, # 1702 + None, # 1703 + None, # 1704 + None, # 1705 + None, # 1706 + None, # 1707 + None, # 1708 + None, # 1709 + None, # 1710 + None, # 1711 + None, # 1712 + None, # 1713 + None, # 1714 + None, # 1715 + None, # 1716 + None, # 1717 + None, # 1718 + None, # 1719 + None, # 1720 + None, # 1721 + None, # 1722 + None, # 1723 + None, # 1724 + None, # 1725 + None, # 1726 + None, # 1727 + None, # 1728 + None, # 1729 + None, # 1730 + None, # 1731 + None, # 1732 + None, # 1733 + None, # 1734 + None, # 1735 + None, # 1736 + None, # 1737 + None, # 1738 + None, # 1739 + None, # 1740 + None, # 1741 + None, # 1742 + None, # 1743 + None, # 1744 + None, # 1745 + None, # 1746 + None, # 1747 + None, # 1748 + None, # 1749 + None, # 1750 + None, # 1751 + None, # 1752 + None, # 1753 + None, # 1754 + None, # 1755 + None, # 1756 + None, # 1757 + None, # 1758 + None, # 1759 + None, # 1760 + None, # 1761 + None, # 1762 + None, # 1763 + None, # 1764 + None, # 1765 + None, # 1766 + None, # 1767 + None, # 1768 + None, # 1769 + None, # 1770 + None, # 1771 + None, # 1772 + None, # 1773 + None, # 1774 + None, # 1775 + None, # 1776 + None, # 1777 + None, # 1778 + None, # 1779 + None, # 1780 + None, # 1781 + None, # 1782 + None, # 1783 + None, # 1784 + None, # 1785 + None, # 1786 + None, # 1787 + None, # 1788 + None, # 1789 + None, # 1790 + None, # 1791 + None, # 1792 + None, # 1793 + None, # 1794 + None, # 1795 + None, # 1796 + None, # 1797 + None, # 1798 + None, # 1799 + None, # 1800 + None, # 1801 + None, # 1802 + None, # 1803 + None, # 1804 + None, # 1805 + None, # 1806 + None, # 1807 + None, # 1808 + None, # 1809 + None, # 1810 + None, # 1811 + None, # 1812 + None, # 1813 + None, # 1814 + None, # 1815 + None, # 1816 + None, # 1817 + None, # 1818 + None, # 1819 + None, # 1820 + None, # 1821 + None, # 1822 + None, # 1823 + None, # 1824 + None, # 1825 + None, # 1826 + None, # 1827 + None, # 1828 + None, # 1829 + None, # 1830 + None, # 1831 + None, # 1832 + None, # 1833 + None, # 1834 + None, # 1835 + None, # 1836 + None, # 1837 + None, # 1838 + None, # 1839 + None, # 1840 + None, # 1841 + None, # 1842 + None, # 1843 + None, # 1844 + None, # 1845 + None, # 1846 + None, # 1847 + None, # 1848 + None, # 1849 + None, # 1850 + None, # 1851 + None, # 1852 + None, # 1853 + None, # 1854 + None, # 1855 + None, # 1856 + None, # 1857 + None, # 1858 + None, # 1859 + None, # 1860 + None, # 1861 + None, # 1862 + None, # 1863 + None, # 1864 + None, # 1865 + None, # 1866 + None, # 1867 + None, # 1868 + None, # 1869 + None, # 1870 + None, # 1871 + None, # 1872 + None, # 1873 + None, # 1874 + None, # 1875 + None, # 1876 + None, # 1877 + None, # 1878 + None, # 1879 + None, # 1880 + None, # 1881 + None, # 1882 + None, # 1883 + None, # 1884 + None, # 1885 + None, # 1886 + None, # 1887 + None, # 1888 + None, # 1889 + None, # 1890 + None, # 1891 + None, # 1892 + None, # 1893 + None, # 1894 + None, # 1895 + None, # 1896 + None, # 1897 + None, # 1898 + None, # 1899 + None, # 1900 + None, # 1901 + None, # 1902 + None, # 1903 + None, # 1904 + None, # 1905 + None, # 1906 + None, # 1907 + None, # 1908 + None, # 1909 + None, # 1910 + None, # 1911 + None, # 1912 + None, # 1913 + None, # 1914 + None, # 1915 + None, # 1916 + None, # 1917 + None, # 1918 + None, # 1919 + None, # 1920 + None, # 1921 + None, # 1922 + None, # 1923 + None, # 1924 + None, # 1925 + None, # 1926 + None, # 1927 + None, # 1928 + None, # 1929 + None, # 1930 + None, # 1931 + None, # 1932 + None, # 1933 + None, # 1934 + None, # 1935 + None, # 1936 + None, # 1937 + None, # 1938 + None, # 1939 + None, # 1940 + None, # 1941 + None, # 1942 + None, # 1943 + None, # 1944 + None, # 1945 + None, # 1946 + None, # 1947 + None, # 1948 + None, # 1949 + None, # 1950 + None, # 1951 + None, # 1952 + None, # 1953 + None, # 1954 + None, # 1955 + None, # 1956 + None, # 1957 + None, # 1958 + None, # 1959 + None, # 1960 + None, # 1961 + None, # 1962 + None, # 1963 + None, # 1964 + None, # 1965 + None, # 1966 + None, # 1967 + None, # 1968 + None, # 1969 + None, # 1970 + None, # 1971 + None, # 1972 + None, # 1973 + None, # 1974 + None, # 1975 + None, # 1976 + None, # 1977 + None, # 1978 + None, # 1979 + None, # 1980 + None, # 1981 + None, # 1982 + None, # 1983 + None, # 1984 + None, # 1985 + None, # 1986 + None, # 1987 + None, # 1988 + None, # 1989 + None, # 1990 + None, # 1991 + None, # 1992 + None, # 1993 + None, # 1994 + None, # 1995 + None, # 1996 + None, # 1997 + None, # 1998 + None, # 1999 + None, # 2000 + None, # 2001 + None, # 2002 + None, # 2003 + None, # 2004 + None, # 2005 + None, # 2006 + None, # 2007 + None, # 2008 + None, # 2009 + None, # 2010 + None, # 2011 + None, # 2012 + None, # 2013 + None, # 2014 + None, # 2015 + None, # 2016 + None, # 2017 + None, # 2018 + None, # 2019 + None, # 2020 + None, # 2021 + None, # 2022 + None, # 2023 + None, # 2024 + None, # 2025 + None, # 2026 + None, # 2027 + None, # 2028 + None, # 2029 + None, # 2030 + None, # 2031 + None, # 2032 + None, # 2033 + None, # 2034 + None, # 2035 + None, # 2036 + None, # 2037 + None, # 2038 + None, # 2039 + None, # 2040 + None, # 2041 + None, # 2042 + None, # 2043 + None, # 2044 + None, # 2045 + None, # 2046 + None, # 2047 + None, # 2048 + None, # 2049 + None, # 2050 + None, # 2051 + None, # 2052 + None, # 2053 + None, # 2054 + None, # 2055 + None, # 2056 + None, # 2057 + None, # 2058 + None, # 2059 + None, # 2060 + None, # 2061 + None, # 2062 + None, # 2063 + None, # 2064 + None, # 2065 + None, # 2066 + None, # 2067 + None, # 2068 + None, # 2069 + None, # 2070 + None, # 2071 + None, # 2072 + None, # 2073 + None, # 2074 + None, # 2075 + None, # 2076 + None, # 2077 + None, # 2078 + None, # 2079 + None, # 2080 + None, # 2081 + None, # 2082 + None, # 2083 + None, # 2084 + None, # 2085 + None, # 2086 + None, # 2087 + None, # 2088 + None, # 2089 + None, # 2090 + None, # 2091 + None, # 2092 + None, # 2093 + None, # 2094 + None, # 2095 + None, # 2096 + None, # 2097 + None, # 2098 + None, # 2099 + None, # 2100 + None, # 2101 + None, # 2102 + None, # 2103 + None, # 2104 + None, # 2105 + None, # 2106 + None, # 2107 + None, # 2108 + None, # 2109 + None, # 2110 + None, # 2111 + None, # 2112 + None, # 2113 + None, # 2114 + None, # 2115 + None, # 2116 + None, # 2117 + None, # 2118 + None, # 2119 + None, # 2120 + None, # 2121 + None, # 2122 + None, # 2123 + None, # 2124 + None, # 2125 + None, # 2126 + None, # 2127 + None, # 2128 + None, # 2129 + None, # 2130 + None, # 2131 + None, # 2132 + None, # 2133 + None, # 2134 + None, # 2135 + None, # 2136 + None, # 2137 + None, # 2138 + None, # 2139 + None, # 2140 + None, # 2141 + None, # 2142 + None, # 2143 + None, # 2144 + None, # 2145 + None, # 2146 + None, # 2147 + None, # 2148 + None, # 2149 + None, # 2150 + None, # 2151 + None, # 2152 + None, # 2153 + None, # 2154 + None, # 2155 + None, # 2156 + None, # 2157 + None, # 2158 + None, # 2159 + None, # 2160 + None, # 2161 + None, # 2162 + None, # 2163 + None, # 2164 + None, # 2165 + None, # 2166 + None, # 2167 + None, # 2168 + None, # 2169 + None, # 2170 + None, # 2171 + None, # 2172 + None, # 2173 + None, # 2174 + None, # 2175 + None, # 2176 + None, # 2177 + None, # 2178 + None, # 2179 + None, # 2180 + None, # 2181 + None, # 2182 + None, # 2183 + None, # 2184 + None, # 2185 + None, # 2186 + None, # 2187 + None, # 2188 + None, # 2189 + None, # 2190 + None, # 2191 + None, # 2192 + None, # 2193 + None, # 2194 + None, # 2195 + None, # 2196 + None, # 2197 + None, # 2198 + None, # 2199 + None, # 2200 + None, # 2201 + None, # 2202 + None, # 2203 + None, # 2204 + None, # 2205 + None, # 2206 + None, # 2207 + None, # 2208 + None, # 2209 + None, # 2210 + None, # 2211 + None, # 2212 + None, # 2213 + None, # 2214 + None, # 2215 + None, # 2216 + None, # 2217 + None, # 2218 + None, # 2219 + None, # 2220 + None, # 2221 + None, # 2222 + None, # 2223 + None, # 2224 + None, # 2225 + None, # 2226 + None, # 2227 + None, # 2228 + None, # 2229 + None, # 2230 + None, # 2231 + None, # 2232 + None, # 2233 + None, # 2234 + None, # 2235 + None, # 2236 + None, # 2237 + None, # 2238 + None, # 2239 + None, # 2240 + None, # 2241 + None, # 2242 + None, # 2243 + None, # 2244 + None, # 2245 + None, # 2246 + None, # 2247 + None, # 2248 + None, # 2249 + None, # 2250 + None, # 2251 + None, # 2252 + None, # 2253 + None, # 2254 + None, # 2255 + None, # 2256 + None, # 2257 + None, # 2258 + None, # 2259 + None, # 2260 + None, # 2261 + None, # 2262 + None, # 2263 + None, # 2264 + None, # 2265 + None, # 2266 + None, # 2267 + None, # 2268 + None, # 2269 + None, # 2270 + None, # 2271 + None, # 2272 + None, # 2273 + None, # 2274 + None, # 2275 + None, # 2276 + None, # 2277 + None, # 2278 + None, # 2279 + None, # 2280 + None, # 2281 + None, # 2282 + None, # 2283 + None, # 2284 + None, # 2285 + None, # 2286 + None, # 2287 + None, # 2288 + None, # 2289 + None, # 2290 + None, # 2291 + None, # 2292 + None, # 2293 + None, # 2294 + None, # 2295 + None, # 2296 + None, # 2297 + None, # 2298 + None, # 2299 + None, # 2300 + None, # 2301 + None, # 2302 + None, # 2303 + None, # 2304 + None, # 2305 + None, # 2306 + None, # 2307 + None, # 2308 + None, # 2309 + None, # 2310 + None, # 2311 + None, # 2312 + None, # 2313 + None, # 2314 + None, # 2315 + None, # 2316 + None, # 2317 + None, # 2318 + None, # 2319 + None, # 2320 + None, # 2321 + None, # 2322 + None, # 2323 + None, # 2324 + None, # 2325 + None, # 2326 + None, # 2327 + None, # 2328 + None, # 2329 + None, # 2330 + None, # 2331 + None, # 2332 + None, # 2333 + None, # 2334 + None, # 2335 + None, # 2336 + None, # 2337 + None, # 2338 + None, # 2339 + None, # 2340 + None, # 2341 + None, # 2342 + None, # 2343 + None, # 2344 + None, # 2345 + None, # 2346 + None, # 2347 + None, # 2348 + None, # 2349 + None, # 2350 + None, # 2351 + None, # 2352 + None, # 2353 + None, # 2354 + None, # 2355 + None, # 2356 + None, # 2357 + None, # 2358 + None, # 2359 + None, # 2360 + None, # 2361 + None, # 2362 + None, # 2363 + None, # 2364 + None, # 2365 + None, # 2366 + None, # 2367 + None, # 2368 + None, # 2369 + None, # 2370 + None, # 2371 + None, # 2372 + None, # 2373 + None, # 2374 + None, # 2375 + None, # 2376 + None, # 2377 + None, # 2378 + None, # 2379 + None, # 2380 + None, # 2381 + None, # 2382 + None, # 2383 + None, # 2384 + None, # 2385 + None, # 2386 + None, # 2387 + None, # 2388 + None, # 2389 + None, # 2390 + None, # 2391 + None, # 2392 + None, # 2393 + None, # 2394 + None, # 2395 + None, # 2396 + None, # 2397 + None, # 2398 + None, # 2399 + None, # 2400 + None, # 2401 + None, # 2402 + None, # 2403 + None, # 2404 + None, # 2405 + None, # 2406 + None, # 2407 + None, # 2408 + None, # 2409 + None, # 2410 + None, # 2411 + None, # 2412 + None, # 2413 + None, # 2414 + None, # 2415 + None, # 2416 + None, # 2417 + None, # 2418 + None, # 2419 + None, # 2420 + None, # 2421 + None, # 2422 + None, # 2423 + None, # 2424 + None, # 2425 + None, # 2426 + None, # 2427 + None, # 2428 + None, # 2429 + None, # 2430 + None, # 2431 + None, # 2432 + None, # 2433 + None, # 2434 + None, # 2435 + None, # 2436 + None, # 2437 + None, # 2438 + None, # 2439 + None, # 2440 + None, # 2441 + None, # 2442 + None, # 2443 + None, # 2444 + None, # 2445 + None, # 2446 + None, # 2447 + None, # 2448 + None, # 2449 + None, # 2450 + None, # 2451 + None, # 2452 + None, # 2453 + None, # 2454 + None, # 2455 + None, # 2456 + None, # 2457 + None, # 2458 + None, # 2459 + None, # 2460 + None, # 2461 + None, # 2462 + None, # 2463 + None, # 2464 + None, # 2465 + None, # 2466 + None, # 2467 + None, # 2468 + None, # 2469 + None, # 2470 + None, # 2471 + None, # 2472 + None, # 2473 + None, # 2474 + None, # 2475 + None, # 2476 + None, # 2477 + None, # 2478 + None, # 2479 + None, # 2480 + None, # 2481 + None, # 2482 + None, # 2483 + None, # 2484 + None, # 2485 + None, # 2486 + None, # 2487 + None, # 2488 + None, # 2489 + None, # 2490 + None, # 2491 + None, # 2492 + None, # 2493 + None, # 2494 + None, # 2495 + None, # 2496 + None, # 2497 + None, # 2498 + None, # 2499 + None, # 2500 + None, # 2501 + None, # 2502 + None, # 2503 + None, # 2504 + None, # 2505 + None, # 2506 + None, # 2507 + None, # 2508 + None, # 2509 + None, # 2510 + None, # 2511 + None, # 2512 + None, # 2513 + None, # 2514 + None, # 2515 + None, # 2516 + None, # 2517 + None, # 2518 + None, # 2519 + None, # 2520 + None, # 2521 + None, # 2522 + None, # 2523 + None, # 2524 + None, # 2525 + None, # 2526 + None, # 2527 + None, # 2528 + None, # 2529 + None, # 2530 + None, # 2531 + None, # 2532 + None, # 2533 + None, # 2534 + None, # 2535 + None, # 2536 + None, # 2537 + None, # 2538 + None, # 2539 + None, # 2540 + None, # 2541 + None, # 2542 + None, # 2543 + None, # 2544 + None, # 2545 + None, # 2546 + None, # 2547 + None, # 2548 + None, # 2549 + None, # 2550 + None, # 2551 + None, # 2552 + None, # 2553 + None, # 2554 + None, # 2555 + None, # 2556 + None, # 2557 + None, # 2558 + None, # 2559 + None, # 2560 + None, # 2561 + None, # 2562 + None, # 2563 + None, # 2564 + None, # 2565 + None, # 2566 + None, # 2567 + None, # 2568 + None, # 2569 + None, # 2570 + None, # 2571 + None, # 2572 + None, # 2573 + None, # 2574 + None, # 2575 + None, # 2576 + None, # 2577 + None, # 2578 + None, # 2579 + None, # 2580 + None, # 2581 + None, # 2582 + None, # 2583 + None, # 2584 + None, # 2585 + None, # 2586 + None, # 2587 + None, # 2588 + None, # 2589 + None, # 2590 + None, # 2591 + None, # 2592 + None, # 2593 + None, # 2594 + None, # 2595 + None, # 2596 + None, # 2597 + None, # 2598 + None, # 2599 + None, # 2600 + None, # 2601 + None, # 2602 + None, # 2603 + None, # 2604 + None, # 2605 + None, # 2606 + None, # 2607 + None, # 2608 + None, # 2609 + None, # 2610 + None, # 2611 + None, # 2612 + None, # 2613 + None, # 2614 + None, # 2615 + None, # 2616 + None, # 2617 + None, # 2618 + None, # 2619 + None, # 2620 + None, # 2621 + None, # 2622 + None, # 2623 + None, # 2624 + None, # 2625 + None, # 2626 + None, # 2627 + None, # 2628 + None, # 2629 + None, # 2630 + None, # 2631 + None, # 2632 + None, # 2633 + None, # 2634 + None, # 2635 + None, # 2636 + None, # 2637 + None, # 2638 + None, # 2639 + None, # 2640 + None, # 2641 + None, # 2642 + None, # 2643 + None, # 2644 + None, # 2645 + None, # 2646 + None, # 2647 + None, # 2648 + None, # 2649 + None, # 2650 + None, # 2651 + None, # 2652 + None, # 2653 + None, # 2654 + None, # 2655 + None, # 2656 + None, # 2657 + None, # 2658 + None, # 2659 + None, # 2660 + None, # 2661 + None, # 2662 + None, # 2663 + None, # 2664 + None, # 2665 + None, # 2666 + None, # 2667 + None, # 2668 + None, # 2669 + None, # 2670 + None, # 2671 + None, # 2672 + None, # 2673 + None, # 2674 + None, # 2675 + None, # 2676 + None, # 2677 + None, # 2678 + None, # 2679 + None, # 2680 + None, # 2681 + None, # 2682 + None, # 2683 + None, # 2684 + None, # 2685 + None, # 2686 + None, # 2687 + None, # 2688 + None, # 2689 + None, # 2690 + None, # 2691 + None, # 2692 + None, # 2693 + None, # 2694 + None, # 2695 + None, # 2696 + None, # 2697 + None, # 2698 + None, # 2699 + None, # 2700 + None, # 2701 + None, # 2702 + None, # 2703 + None, # 2704 + None, # 2705 + None, # 2706 + None, # 2707 + None, # 2708 + None, # 2709 + None, # 2710 + None, # 2711 + None, # 2712 + None, # 2713 + None, # 2714 + None, # 2715 + None, # 2716 + None, # 2717 + None, # 2718 + None, # 2719 + None, # 2720 + None, # 2721 + None, # 2722 + None, # 2723 + None, # 2724 + None, # 2725 + None, # 2726 + None, # 2727 + None, # 2728 + None, # 2729 + None, # 2730 + None, # 2731 + None, # 2732 + None, # 2733 + None, # 2734 + None, # 2735 + None, # 2736 + None, # 2737 + None, # 2738 + None, # 2739 + None, # 2740 + None, # 2741 + None, # 2742 + None, # 2743 + None, # 2744 + None, # 2745 + None, # 2746 + None, # 2747 + None, # 2748 + None, # 2749 + None, # 2750 + None, # 2751 + None, # 2752 + None, # 2753 + None, # 2754 + None, # 2755 + None, # 2756 + None, # 2757 + None, # 2758 + None, # 2759 + None, # 2760 + None, # 2761 + None, # 2762 + None, # 2763 + None, # 2764 + None, # 2765 + None, # 2766 + None, # 2767 + None, # 2768 + None, # 2769 + None, # 2770 + None, # 2771 + None, # 2772 + None, # 2773 + None, # 2774 + None, # 2775 + None, # 2776 + None, # 2777 + None, # 2778 + None, # 2779 + None, # 2780 + None, # 2781 + None, # 2782 + None, # 2783 + None, # 2784 + None, # 2785 + None, # 2786 + None, # 2787 + None, # 2788 + None, # 2789 + None, # 2790 + None, # 2791 + None, # 2792 + None, # 2793 + None, # 2794 + None, # 2795 + None, # 2796 + None, # 2797 + None, # 2798 + None, # 2799 + None, # 2800 + None, # 2801 + None, # 2802 + None, # 2803 + None, # 2804 + None, # 2805 + None, # 2806 + None, # 2807 + None, # 2808 + None, # 2809 + None, # 2810 + None, # 2811 + None, # 2812 + None, # 2813 + None, # 2814 + None, # 2815 + None, # 2816 + None, # 2817 + None, # 2818 + None, # 2819 + None, # 2820 + None, # 2821 + None, # 2822 + None, # 2823 + None, # 2824 + None, # 2825 + None, # 2826 + None, # 2827 + None, # 2828 + None, # 2829 + None, # 2830 + None, # 2831 + None, # 2832 + None, # 2833 + None, # 2834 + None, # 2835 + None, # 2836 + None, # 2837 + None, # 2838 + None, # 2839 + None, # 2840 + None, # 2841 + None, # 2842 + None, # 2843 + None, # 2844 + None, # 2845 + None, # 2846 + None, # 2847 + None, # 2848 + None, # 2849 + None, # 2850 + None, # 2851 + None, # 2852 + None, # 2853 + None, # 2854 + None, # 2855 + None, # 2856 + None, # 2857 + None, # 2858 + None, # 2859 + None, # 2860 + None, # 2861 + None, # 2862 + None, # 2863 + None, # 2864 + None, # 2865 + None, # 2866 + None, # 2867 + None, # 2868 + None, # 2869 + None, # 2870 + None, # 2871 + None, # 2872 + None, # 2873 + None, # 2874 + None, # 2875 + None, # 2876 + None, # 2877 + None, # 2878 + None, # 2879 + None, # 2880 + None, # 2881 + None, # 2882 + None, # 2883 + None, # 2884 + None, # 2885 + None, # 2886 + None, # 2887 + None, # 2888 + None, # 2889 + None, # 2890 + None, # 2891 + None, # 2892 + None, # 2893 + None, # 2894 + None, # 2895 + None, # 2896 + None, # 2897 + None, # 2898 + None, # 2899 + None, # 2900 + None, # 2901 + None, # 2902 + None, # 2903 + None, # 2904 + None, # 2905 + None, # 2906 + None, # 2907 + None, # 2908 + None, # 2909 + None, # 2910 + None, # 2911 + None, # 2912 + None, # 2913 + None, # 2914 + None, # 2915 + None, # 2916 + None, # 2917 + None, # 2918 + None, # 2919 + None, # 2920 + None, # 2921 + None, # 2922 + None, # 2923 + None, # 2924 + None, # 2925 + None, # 2926 + None, # 2927 + None, # 2928 + None, # 2929 + None, # 2930 + None, # 2931 + None, # 2932 + None, # 2933 + None, # 2934 + None, # 2935 + None, # 2936 + None, # 2937 + None, # 2938 + None, # 2939 + None, # 2940 + None, # 2941 + None, # 2942 + None, # 2943 + None, # 2944 + None, # 2945 + None, # 2946 + None, # 2947 + None, # 2948 + None, # 2949 + None, # 2950 + None, # 2951 + None, # 2952 + None, # 2953 + None, # 2954 + None, # 2955 + None, # 2956 + None, # 2957 + None, # 2958 + None, # 2959 + None, # 2960 + None, # 2961 + None, # 2962 + None, # 2963 + None, # 2964 + None, # 2965 + None, # 2966 + None, # 2967 + None, # 2968 + None, # 2969 + None, # 2970 + None, # 2971 + None, # 2972 + None, # 2973 + None, # 2974 + None, # 2975 + None, # 2976 + None, # 2977 + None, # 2978 + None, # 2979 + None, # 2980 + None, # 2981 + None, # 2982 + None, # 2983 + None, # 2984 + None, # 2985 + None, # 2986 + None, # 2987 + None, # 2988 + None, # 2989 + None, # 2990 + None, # 2991 + None, # 2992 + None, # 2993 + None, # 2994 + None, # 2995 + None, # 2996 + None, # 2997 + None, # 2998 + None, # 2999 + None, # 3000 + None, # 3001 + None, # 3002 + None, # 3003 + None, # 3004 + None, # 3005 + None, # 3006 + None, # 3007 + None, # 3008 + None, # 3009 + None, # 3010 + None, # 3011 + None, # 3012 + None, # 3013 + None, # 3014 + None, # 3015 + None, # 3016 + None, # 3017 + None, # 3018 + None, # 3019 + None, # 3020 + None, # 3021 + None, # 3022 + None, # 3023 + None, # 3024 + None, # 3025 + None, # 3026 + None, # 3027 + None, # 3028 + None, # 3029 + None, # 3030 + None, # 3031 + None, # 3032 + None, # 3033 + None, # 3034 + None, # 3035 + None, # 3036 + None, # 3037 + None, # 3038 + None, # 3039 + None, # 3040 + None, # 3041 + None, # 3042 + None, # 3043 + None, # 3044 + None, # 3045 + None, # 3046 + None, # 3047 + None, # 3048 + None, # 3049 + None, # 3050 + None, # 3051 + None, # 3052 + None, # 3053 + None, # 3054 + None, # 3055 + None, # 3056 + None, # 3057 + None, # 3058 + None, # 3059 + None, # 3060 + None, # 3061 + None, # 3062 + None, # 3063 + None, # 3064 + None, # 3065 + None, # 3066 + None, # 3067 + None, # 3068 + None, # 3069 + None, # 3070 + None, # 3071 + None, # 3072 + None, # 3073 + None, # 3074 + None, # 3075 + None, # 3076 + None, # 3077 + None, # 3078 + None, # 3079 + None, # 3080 + None, # 3081 + None, # 3082 + None, # 3083 + None, # 3084 + None, # 3085 + None, # 3086 + None, # 3087 + None, # 3088 + None, # 3089 + None, # 3090 + None, # 3091 + None, # 3092 + None, # 3093 + None, # 3094 + None, # 3095 + None, # 3096 + None, # 3097 + None, # 3098 + None, # 3099 + None, # 3100 + None, # 3101 + None, # 3102 + None, # 3103 + None, # 3104 + None, # 3105 + None, # 3106 + None, # 3107 + None, # 3108 + None, # 3109 + None, # 3110 + None, # 3111 + None, # 3112 + None, # 3113 + None, # 3114 + None, # 3115 + None, # 3116 + None, # 3117 + None, # 3118 + None, # 3119 + None, # 3120 + None, # 3121 + None, # 3122 + None, # 3123 + None, # 3124 + None, # 3125 + None, # 3126 + None, # 3127 + None, # 3128 + None, # 3129 + None, # 3130 + None, # 3131 + None, # 3132 + None, # 3133 + None, # 3134 + None, # 3135 + None, # 3136 + None, # 3137 + None, # 3138 + None, # 3139 + None, # 3140 + None, # 3141 + None, # 3142 + None, # 3143 + None, # 3144 + None, # 3145 + None, # 3146 + None, # 3147 + None, # 3148 + None, # 3149 + None, # 3150 + None, # 3151 + None, # 3152 + None, # 3153 + None, # 3154 + None, # 3155 + None, # 3156 + None, # 3157 + None, # 3158 + None, # 3159 + None, # 3160 + None, # 3161 + None, # 3162 + None, # 3163 + None, # 3164 + None, # 3165 + None, # 3166 + None, # 3167 + None, # 3168 + None, # 3169 + None, # 3170 + None, # 3171 + None, # 3172 + None, # 3173 + None, # 3174 + None, # 3175 + None, # 3176 + None, # 3177 + None, # 3178 + None, # 3179 + None, # 3180 + None, # 3181 + None, # 3182 + None, # 3183 + None, # 3184 + None, # 3185 + None, # 3186 + None, # 3187 + None, # 3188 + None, # 3189 + None, # 3190 + None, # 3191 + None, # 3192 + None, # 3193 + None, # 3194 + None, # 3195 + None, # 3196 + None, # 3197 + None, # 3198 + None, # 3199 + None, # 3200 + None, # 3201 + None, # 3202 + None, # 3203 + None, # 3204 + None, # 3205 + None, # 3206 + None, # 3207 + None, # 3208 + None, # 3209 + None, # 3210 + None, # 3211 + None, # 3212 + None, # 3213 + None, # 3214 + None, # 3215 + None, # 3216 + None, # 3217 + None, # 3218 + None, # 3219 + None, # 3220 + None, # 3221 + None, # 3222 + None, # 3223 + None, # 3224 + None, # 3225 + None, # 3226 + None, # 3227 + None, # 3228 + None, # 3229 + None, # 3230 + None, # 3231 + None, # 3232 + None, # 3233 + None, # 3234 + None, # 3235 + None, # 3236 + None, # 3237 + None, # 3238 + None, # 3239 + None, # 3240 + None, # 3241 + None, # 3242 + None, # 3243 + None, # 3244 + None, # 3245 + None, # 3246 + None, # 3247 + None, # 3248 + None, # 3249 + None, # 3250 + None, # 3251 + None, # 3252 + None, # 3253 + None, # 3254 + None, # 3255 + None, # 3256 + None, # 3257 + None, # 3258 + None, # 3259 + None, # 3260 + None, # 3261 + None, # 3262 + None, # 3263 + None, # 3264 + None, # 3265 + None, # 3266 + None, # 3267 + None, # 3268 + None, # 3269 + None, # 3270 + None, # 3271 + None, # 3272 + None, # 3273 + None, # 3274 + None, # 3275 + None, # 3276 + None, # 3277 + None, # 3278 + None, # 3279 + None, # 3280 + None, # 3281 + None, # 3282 + None, # 3283 + None, # 3284 + None, # 3285 + None, # 3286 + None, # 3287 + None, # 3288 + None, # 3289 + None, # 3290 + None, # 3291 + None, # 3292 + None, # 3293 + None, # 3294 + None, # 3295 + None, # 3296 + None, # 3297 + None, # 3298 + None, # 3299 + None, # 3300 + None, # 3301 + None, # 3302 + None, # 3303 + None, # 3304 + None, # 3305 + None, # 3306 + None, # 3307 + None, # 3308 + None, # 3309 + None, # 3310 + None, # 3311 + None, # 3312 + None, # 3313 + None, # 3314 + None, # 3315 + None, # 3316 + None, # 3317 + None, # 3318 + None, # 3319 + None, # 3320 + None, # 3321 + None, # 3322 + None, # 3323 + None, # 3324 + None, # 3325 + None, # 3326 + None, # 3327 + None, # 3328 + (3329, TType.STRUCT, 'operationId', [THandleIdentifier, None], None, ), # 3329 + (3330, TType.STRUCT, 'sessionConf', [TDBSqlSessionConf, None], None, ), # 3330 ) all_structs.append(TGetSchemasResp) TGetSchemasResp.thrift_spec = ( - None, # 0 - (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 - (2, TType.STRUCT, 'operationHandle', [TOperationHandle, None], None, ), # 2 - None, # 3 - None, # 4 - None, # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - (1281, TType.STRUCT, 'directResults', [TSparkDirectResults, None], None, ), # 1281 + None, # 0 + (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 + (2, TType.STRUCT, 'operationHandle', [TOperationHandle, None], None, ), # 2 + None, # 3 + None, # 4 + None, # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + (1281, TType.STRUCT, 'directResults', [TSparkDirectResults, None], None, ), # 1281 ) all_structs.append(TGetTablesReq) TGetTablesReq.thrift_spec = ( - None, # 0 - (1, TType.STRUCT, 'sessionHandle', [TSessionHandle, None], None, ), # 1 - (2, TType.STRING, 'catalogName', 'UTF8', None, ), # 2 - (3, TType.STRING, 'schemaName', 'UTF8', None, ), # 3 - (4, TType.STRING, 'tableName', 'UTF8', None, ), # 4 - (5, TType.LIST, 'tableTypes', (TType.STRING, 'UTF8', False), None, ), # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - (1281, TType.STRUCT, 'getDirectResults', [TSparkGetDirectResults, None], None, ), # 1281 - (1282, TType.BOOL, 'runAsync', None, False, ), # 1282 - None, # 1283 - None, # 1284 - None, # 1285 - None, # 1286 - None, # 1287 - None, # 1288 - None, # 1289 - None, # 1290 - None, # 1291 - None, # 1292 - None, # 1293 - None, # 1294 - None, # 1295 - None, # 1296 - None, # 1297 - None, # 1298 - None, # 1299 - None, # 1300 - None, # 1301 - None, # 1302 - None, # 1303 - None, # 1304 - None, # 1305 - None, # 1306 - None, # 1307 - None, # 1308 - None, # 1309 - None, # 1310 - None, # 1311 - None, # 1312 - None, # 1313 - None, # 1314 - None, # 1315 - None, # 1316 - None, # 1317 - None, # 1318 - None, # 1319 - None, # 1320 - None, # 1321 - None, # 1322 - None, # 1323 - None, # 1324 - None, # 1325 - None, # 1326 - None, # 1327 - None, # 1328 - None, # 1329 - None, # 1330 - None, # 1331 - None, # 1332 - None, # 1333 - None, # 1334 - None, # 1335 - None, # 1336 - None, # 1337 - None, # 1338 - None, # 1339 - None, # 1340 - None, # 1341 - None, # 1342 - None, # 1343 - None, # 1344 - None, # 1345 - None, # 1346 - None, # 1347 - None, # 1348 - None, # 1349 - None, # 1350 - None, # 1351 - None, # 1352 - None, # 1353 - None, # 1354 - None, # 1355 - None, # 1356 - None, # 1357 - None, # 1358 - None, # 1359 - None, # 1360 - None, # 1361 - None, # 1362 - None, # 1363 - None, # 1364 - None, # 1365 - None, # 1366 - None, # 1367 - None, # 1368 - None, # 1369 - None, # 1370 - None, # 1371 - None, # 1372 - None, # 1373 - None, # 1374 - None, # 1375 - None, # 1376 - None, # 1377 - None, # 1378 - None, # 1379 - None, # 1380 - None, # 1381 - None, # 1382 - None, # 1383 - None, # 1384 - None, # 1385 - None, # 1386 - None, # 1387 - None, # 1388 - None, # 1389 - None, # 1390 - None, # 1391 - None, # 1392 - None, # 1393 - None, # 1394 - None, # 1395 - None, # 1396 - None, # 1397 - None, # 1398 - None, # 1399 - None, # 1400 - None, # 1401 - None, # 1402 - None, # 1403 - None, # 1404 - None, # 1405 - None, # 1406 - None, # 1407 - None, # 1408 - None, # 1409 - None, # 1410 - None, # 1411 - None, # 1412 - None, # 1413 - None, # 1414 - None, # 1415 - None, # 1416 - None, # 1417 - None, # 1418 - None, # 1419 - None, # 1420 - None, # 1421 - None, # 1422 - None, # 1423 - None, # 1424 - None, # 1425 - None, # 1426 - None, # 1427 - None, # 1428 - None, # 1429 - None, # 1430 - None, # 1431 - None, # 1432 - None, # 1433 - None, # 1434 - None, # 1435 - None, # 1436 - None, # 1437 - None, # 1438 - None, # 1439 - None, # 1440 - None, # 1441 - None, # 1442 - None, # 1443 - None, # 1444 - None, # 1445 - None, # 1446 - None, # 1447 - None, # 1448 - None, # 1449 - None, # 1450 - None, # 1451 - None, # 1452 - None, # 1453 - None, # 1454 - None, # 1455 - None, # 1456 - None, # 1457 - None, # 1458 - None, # 1459 - None, # 1460 - None, # 1461 - None, # 1462 - None, # 1463 - None, # 1464 - None, # 1465 - None, # 1466 - None, # 1467 - None, # 1468 - None, # 1469 - None, # 1470 - None, # 1471 - None, # 1472 - None, # 1473 - None, # 1474 - None, # 1475 - None, # 1476 - None, # 1477 - None, # 1478 - None, # 1479 - None, # 1480 - None, # 1481 - None, # 1482 - None, # 1483 - None, # 1484 - None, # 1485 - None, # 1486 - None, # 1487 - None, # 1488 - None, # 1489 - None, # 1490 - None, # 1491 - None, # 1492 - None, # 1493 - None, # 1494 - None, # 1495 - None, # 1496 - None, # 1497 - None, # 1498 - None, # 1499 - None, # 1500 - None, # 1501 - None, # 1502 - None, # 1503 - None, # 1504 - None, # 1505 - None, # 1506 - None, # 1507 - None, # 1508 - None, # 1509 - None, # 1510 - None, # 1511 - None, # 1512 - None, # 1513 - None, # 1514 - None, # 1515 - None, # 1516 - None, # 1517 - None, # 1518 - None, # 1519 - None, # 1520 - None, # 1521 - None, # 1522 - None, # 1523 - None, # 1524 - None, # 1525 - None, # 1526 - None, # 1527 - None, # 1528 - None, # 1529 - None, # 1530 - None, # 1531 - None, # 1532 - None, # 1533 - None, # 1534 - None, # 1535 - None, # 1536 - None, # 1537 - None, # 1538 - None, # 1539 - None, # 1540 - None, # 1541 - None, # 1542 - None, # 1543 - None, # 1544 - None, # 1545 - None, # 1546 - None, # 1547 - None, # 1548 - None, # 1549 - None, # 1550 - None, # 1551 - None, # 1552 - None, # 1553 - None, # 1554 - None, # 1555 - None, # 1556 - None, # 1557 - None, # 1558 - None, # 1559 - None, # 1560 - None, # 1561 - None, # 1562 - None, # 1563 - None, # 1564 - None, # 1565 - None, # 1566 - None, # 1567 - None, # 1568 - None, # 1569 - None, # 1570 - None, # 1571 - None, # 1572 - None, # 1573 - None, # 1574 - None, # 1575 - None, # 1576 - None, # 1577 - None, # 1578 - None, # 1579 - None, # 1580 - None, # 1581 - None, # 1582 - None, # 1583 - None, # 1584 - None, # 1585 - None, # 1586 - None, # 1587 - None, # 1588 - None, # 1589 - None, # 1590 - None, # 1591 - None, # 1592 - None, # 1593 - None, # 1594 - None, # 1595 - None, # 1596 - None, # 1597 - None, # 1598 - None, # 1599 - None, # 1600 - None, # 1601 - None, # 1602 - None, # 1603 - None, # 1604 - None, # 1605 - None, # 1606 - None, # 1607 - None, # 1608 - None, # 1609 - None, # 1610 - None, # 1611 - None, # 1612 - None, # 1613 - None, # 1614 - None, # 1615 - None, # 1616 - None, # 1617 - None, # 1618 - None, # 1619 - None, # 1620 - None, # 1621 - None, # 1622 - None, # 1623 - None, # 1624 - None, # 1625 - None, # 1626 - None, # 1627 - None, # 1628 - None, # 1629 - None, # 1630 - None, # 1631 - None, # 1632 - None, # 1633 - None, # 1634 - None, # 1635 - None, # 1636 - None, # 1637 - None, # 1638 - None, # 1639 - None, # 1640 - None, # 1641 - None, # 1642 - None, # 1643 - None, # 1644 - None, # 1645 - None, # 1646 - None, # 1647 - None, # 1648 - None, # 1649 - None, # 1650 - None, # 1651 - None, # 1652 - None, # 1653 - None, # 1654 - None, # 1655 - None, # 1656 - None, # 1657 - None, # 1658 - None, # 1659 - None, # 1660 - None, # 1661 - None, # 1662 - None, # 1663 - None, # 1664 - None, # 1665 - None, # 1666 - None, # 1667 - None, # 1668 - None, # 1669 - None, # 1670 - None, # 1671 - None, # 1672 - None, # 1673 - None, # 1674 - None, # 1675 - None, # 1676 - None, # 1677 - None, # 1678 - None, # 1679 - None, # 1680 - None, # 1681 - None, # 1682 - None, # 1683 - None, # 1684 - None, # 1685 - None, # 1686 - None, # 1687 - None, # 1688 - None, # 1689 - None, # 1690 - None, # 1691 - None, # 1692 - None, # 1693 - None, # 1694 - None, # 1695 - None, # 1696 - None, # 1697 - None, # 1698 - None, # 1699 - None, # 1700 - None, # 1701 - None, # 1702 - None, # 1703 - None, # 1704 - None, # 1705 - None, # 1706 - None, # 1707 - None, # 1708 - None, # 1709 - None, # 1710 - None, # 1711 - None, # 1712 - None, # 1713 - None, # 1714 - None, # 1715 - None, # 1716 - None, # 1717 - None, # 1718 - None, # 1719 - None, # 1720 - None, # 1721 - None, # 1722 - None, # 1723 - None, # 1724 - None, # 1725 - None, # 1726 - None, # 1727 - None, # 1728 - None, # 1729 - None, # 1730 - None, # 1731 - None, # 1732 - None, # 1733 - None, # 1734 - None, # 1735 - None, # 1736 - None, # 1737 - None, # 1738 - None, # 1739 - None, # 1740 - None, # 1741 - None, # 1742 - None, # 1743 - None, # 1744 - None, # 1745 - None, # 1746 - None, # 1747 - None, # 1748 - None, # 1749 - None, # 1750 - None, # 1751 - None, # 1752 - None, # 1753 - None, # 1754 - None, # 1755 - None, # 1756 - None, # 1757 - None, # 1758 - None, # 1759 - None, # 1760 - None, # 1761 - None, # 1762 - None, # 1763 - None, # 1764 - None, # 1765 - None, # 1766 - None, # 1767 - None, # 1768 - None, # 1769 - None, # 1770 - None, # 1771 - None, # 1772 - None, # 1773 - None, # 1774 - None, # 1775 - None, # 1776 - None, # 1777 - None, # 1778 - None, # 1779 - None, # 1780 - None, # 1781 - None, # 1782 - None, # 1783 - None, # 1784 - None, # 1785 - None, # 1786 - None, # 1787 - None, # 1788 - None, # 1789 - None, # 1790 - None, # 1791 - None, # 1792 - None, # 1793 - None, # 1794 - None, # 1795 - None, # 1796 - None, # 1797 - None, # 1798 - None, # 1799 - None, # 1800 - None, # 1801 - None, # 1802 - None, # 1803 - None, # 1804 - None, # 1805 - None, # 1806 - None, # 1807 - None, # 1808 - None, # 1809 - None, # 1810 - None, # 1811 - None, # 1812 - None, # 1813 - None, # 1814 - None, # 1815 - None, # 1816 - None, # 1817 - None, # 1818 - None, # 1819 - None, # 1820 - None, # 1821 - None, # 1822 - None, # 1823 - None, # 1824 - None, # 1825 - None, # 1826 - None, # 1827 - None, # 1828 - None, # 1829 - None, # 1830 - None, # 1831 - None, # 1832 - None, # 1833 - None, # 1834 - None, # 1835 - None, # 1836 - None, # 1837 - None, # 1838 - None, # 1839 - None, # 1840 - None, # 1841 - None, # 1842 - None, # 1843 - None, # 1844 - None, # 1845 - None, # 1846 - None, # 1847 - None, # 1848 - None, # 1849 - None, # 1850 - None, # 1851 - None, # 1852 - None, # 1853 - None, # 1854 - None, # 1855 - None, # 1856 - None, # 1857 - None, # 1858 - None, # 1859 - None, # 1860 - None, # 1861 - None, # 1862 - None, # 1863 - None, # 1864 - None, # 1865 - None, # 1866 - None, # 1867 - None, # 1868 - None, # 1869 - None, # 1870 - None, # 1871 - None, # 1872 - None, # 1873 - None, # 1874 - None, # 1875 - None, # 1876 - None, # 1877 - None, # 1878 - None, # 1879 - None, # 1880 - None, # 1881 - None, # 1882 - None, # 1883 - None, # 1884 - None, # 1885 - None, # 1886 - None, # 1887 - None, # 1888 - None, # 1889 - None, # 1890 - None, # 1891 - None, # 1892 - None, # 1893 - None, # 1894 - None, # 1895 - None, # 1896 - None, # 1897 - None, # 1898 - None, # 1899 - None, # 1900 - None, # 1901 - None, # 1902 - None, # 1903 - None, # 1904 - None, # 1905 - None, # 1906 - None, # 1907 - None, # 1908 - None, # 1909 - None, # 1910 - None, # 1911 - None, # 1912 - None, # 1913 - None, # 1914 - None, # 1915 - None, # 1916 - None, # 1917 - None, # 1918 - None, # 1919 - None, # 1920 - None, # 1921 - None, # 1922 - None, # 1923 - None, # 1924 - None, # 1925 - None, # 1926 - None, # 1927 - None, # 1928 - None, # 1929 - None, # 1930 - None, # 1931 - None, # 1932 - None, # 1933 - None, # 1934 - None, # 1935 - None, # 1936 - None, # 1937 - None, # 1938 - None, # 1939 - None, # 1940 - None, # 1941 - None, # 1942 - None, # 1943 - None, # 1944 - None, # 1945 - None, # 1946 - None, # 1947 - None, # 1948 - None, # 1949 - None, # 1950 - None, # 1951 - None, # 1952 - None, # 1953 - None, # 1954 - None, # 1955 - None, # 1956 - None, # 1957 - None, # 1958 - None, # 1959 - None, # 1960 - None, # 1961 - None, # 1962 - None, # 1963 - None, # 1964 - None, # 1965 - None, # 1966 - None, # 1967 - None, # 1968 - None, # 1969 - None, # 1970 - None, # 1971 - None, # 1972 - None, # 1973 - None, # 1974 - None, # 1975 - None, # 1976 - None, # 1977 - None, # 1978 - None, # 1979 - None, # 1980 - None, # 1981 - None, # 1982 - None, # 1983 - None, # 1984 - None, # 1985 - None, # 1986 - None, # 1987 - None, # 1988 - None, # 1989 - None, # 1990 - None, # 1991 - None, # 1992 - None, # 1993 - None, # 1994 - None, # 1995 - None, # 1996 - None, # 1997 - None, # 1998 - None, # 1999 - None, # 2000 - None, # 2001 - None, # 2002 - None, # 2003 - None, # 2004 - None, # 2005 - None, # 2006 - None, # 2007 - None, # 2008 - None, # 2009 - None, # 2010 - None, # 2011 - None, # 2012 - None, # 2013 - None, # 2014 - None, # 2015 - None, # 2016 - None, # 2017 - None, # 2018 - None, # 2019 - None, # 2020 - None, # 2021 - None, # 2022 - None, # 2023 - None, # 2024 - None, # 2025 - None, # 2026 - None, # 2027 - None, # 2028 - None, # 2029 - None, # 2030 - None, # 2031 - None, # 2032 - None, # 2033 - None, # 2034 - None, # 2035 - None, # 2036 - None, # 2037 - None, # 2038 - None, # 2039 - None, # 2040 - None, # 2041 - None, # 2042 - None, # 2043 - None, # 2044 - None, # 2045 - None, # 2046 - None, # 2047 - None, # 2048 - None, # 2049 - None, # 2050 - None, # 2051 - None, # 2052 - None, # 2053 - None, # 2054 - None, # 2055 - None, # 2056 - None, # 2057 - None, # 2058 - None, # 2059 - None, # 2060 - None, # 2061 - None, # 2062 - None, # 2063 - None, # 2064 - None, # 2065 - None, # 2066 - None, # 2067 - None, # 2068 - None, # 2069 - None, # 2070 - None, # 2071 - None, # 2072 - None, # 2073 - None, # 2074 - None, # 2075 - None, # 2076 - None, # 2077 - None, # 2078 - None, # 2079 - None, # 2080 - None, # 2081 - None, # 2082 - None, # 2083 - None, # 2084 - None, # 2085 - None, # 2086 - None, # 2087 - None, # 2088 - None, # 2089 - None, # 2090 - None, # 2091 - None, # 2092 - None, # 2093 - None, # 2094 - None, # 2095 - None, # 2096 - None, # 2097 - None, # 2098 - None, # 2099 - None, # 2100 - None, # 2101 - None, # 2102 - None, # 2103 - None, # 2104 - None, # 2105 - None, # 2106 - None, # 2107 - None, # 2108 - None, # 2109 - None, # 2110 - None, # 2111 - None, # 2112 - None, # 2113 - None, # 2114 - None, # 2115 - None, # 2116 - None, # 2117 - None, # 2118 - None, # 2119 - None, # 2120 - None, # 2121 - None, # 2122 - None, # 2123 - None, # 2124 - None, # 2125 - None, # 2126 - None, # 2127 - None, # 2128 - None, # 2129 - None, # 2130 - None, # 2131 - None, # 2132 - None, # 2133 - None, # 2134 - None, # 2135 - None, # 2136 - None, # 2137 - None, # 2138 - None, # 2139 - None, # 2140 - None, # 2141 - None, # 2142 - None, # 2143 - None, # 2144 - None, # 2145 - None, # 2146 - None, # 2147 - None, # 2148 - None, # 2149 - None, # 2150 - None, # 2151 - None, # 2152 - None, # 2153 - None, # 2154 - None, # 2155 - None, # 2156 - None, # 2157 - None, # 2158 - None, # 2159 - None, # 2160 - None, # 2161 - None, # 2162 - None, # 2163 - None, # 2164 - None, # 2165 - None, # 2166 - None, # 2167 - None, # 2168 - None, # 2169 - None, # 2170 - None, # 2171 - None, # 2172 - None, # 2173 - None, # 2174 - None, # 2175 - None, # 2176 - None, # 2177 - None, # 2178 - None, # 2179 - None, # 2180 - None, # 2181 - None, # 2182 - None, # 2183 - None, # 2184 - None, # 2185 - None, # 2186 - None, # 2187 - None, # 2188 - None, # 2189 - None, # 2190 - None, # 2191 - None, # 2192 - None, # 2193 - None, # 2194 - None, # 2195 - None, # 2196 - None, # 2197 - None, # 2198 - None, # 2199 - None, # 2200 - None, # 2201 - None, # 2202 - None, # 2203 - None, # 2204 - None, # 2205 - None, # 2206 - None, # 2207 - None, # 2208 - None, # 2209 - None, # 2210 - None, # 2211 - None, # 2212 - None, # 2213 - None, # 2214 - None, # 2215 - None, # 2216 - None, # 2217 - None, # 2218 - None, # 2219 - None, # 2220 - None, # 2221 - None, # 2222 - None, # 2223 - None, # 2224 - None, # 2225 - None, # 2226 - None, # 2227 - None, # 2228 - None, # 2229 - None, # 2230 - None, # 2231 - None, # 2232 - None, # 2233 - None, # 2234 - None, # 2235 - None, # 2236 - None, # 2237 - None, # 2238 - None, # 2239 - None, # 2240 - None, # 2241 - None, # 2242 - None, # 2243 - None, # 2244 - None, # 2245 - None, # 2246 - None, # 2247 - None, # 2248 - None, # 2249 - None, # 2250 - None, # 2251 - None, # 2252 - None, # 2253 - None, # 2254 - None, # 2255 - None, # 2256 - None, # 2257 - None, # 2258 - None, # 2259 - None, # 2260 - None, # 2261 - None, # 2262 - None, # 2263 - None, # 2264 - None, # 2265 - None, # 2266 - None, # 2267 - None, # 2268 - None, # 2269 - None, # 2270 - None, # 2271 - None, # 2272 - None, # 2273 - None, # 2274 - None, # 2275 - None, # 2276 - None, # 2277 - None, # 2278 - None, # 2279 - None, # 2280 - None, # 2281 - None, # 2282 - None, # 2283 - None, # 2284 - None, # 2285 - None, # 2286 - None, # 2287 - None, # 2288 - None, # 2289 - None, # 2290 - None, # 2291 - None, # 2292 - None, # 2293 - None, # 2294 - None, # 2295 - None, # 2296 - None, # 2297 - None, # 2298 - None, # 2299 - None, # 2300 - None, # 2301 - None, # 2302 - None, # 2303 - None, # 2304 - None, # 2305 - None, # 2306 - None, # 2307 - None, # 2308 - None, # 2309 - None, # 2310 - None, # 2311 - None, # 2312 - None, # 2313 - None, # 2314 - None, # 2315 - None, # 2316 - None, # 2317 - None, # 2318 - None, # 2319 - None, # 2320 - None, # 2321 - None, # 2322 - None, # 2323 - None, # 2324 - None, # 2325 - None, # 2326 - None, # 2327 - None, # 2328 - None, # 2329 - None, # 2330 - None, # 2331 - None, # 2332 - None, # 2333 - None, # 2334 - None, # 2335 - None, # 2336 - None, # 2337 - None, # 2338 - None, # 2339 - None, # 2340 - None, # 2341 - None, # 2342 - None, # 2343 - None, # 2344 - None, # 2345 - None, # 2346 - None, # 2347 - None, # 2348 - None, # 2349 - None, # 2350 - None, # 2351 - None, # 2352 - None, # 2353 - None, # 2354 - None, # 2355 - None, # 2356 - None, # 2357 - None, # 2358 - None, # 2359 - None, # 2360 - None, # 2361 - None, # 2362 - None, # 2363 - None, # 2364 - None, # 2365 - None, # 2366 - None, # 2367 - None, # 2368 - None, # 2369 - None, # 2370 - None, # 2371 - None, # 2372 - None, # 2373 - None, # 2374 - None, # 2375 - None, # 2376 - None, # 2377 - None, # 2378 - None, # 2379 - None, # 2380 - None, # 2381 - None, # 2382 - None, # 2383 - None, # 2384 - None, # 2385 - None, # 2386 - None, # 2387 - None, # 2388 - None, # 2389 - None, # 2390 - None, # 2391 - None, # 2392 - None, # 2393 - None, # 2394 - None, # 2395 - None, # 2396 - None, # 2397 - None, # 2398 - None, # 2399 - None, # 2400 - None, # 2401 - None, # 2402 - None, # 2403 - None, # 2404 - None, # 2405 - None, # 2406 - None, # 2407 - None, # 2408 - None, # 2409 - None, # 2410 - None, # 2411 - None, # 2412 - None, # 2413 - None, # 2414 - None, # 2415 - None, # 2416 - None, # 2417 - None, # 2418 - None, # 2419 - None, # 2420 - None, # 2421 - None, # 2422 - None, # 2423 - None, # 2424 - None, # 2425 - None, # 2426 - None, # 2427 - None, # 2428 - None, # 2429 - None, # 2430 - None, # 2431 - None, # 2432 - None, # 2433 - None, # 2434 - None, # 2435 - None, # 2436 - None, # 2437 - None, # 2438 - None, # 2439 - None, # 2440 - None, # 2441 - None, # 2442 - None, # 2443 - None, # 2444 - None, # 2445 - None, # 2446 - None, # 2447 - None, # 2448 - None, # 2449 - None, # 2450 - None, # 2451 - None, # 2452 - None, # 2453 - None, # 2454 - None, # 2455 - None, # 2456 - None, # 2457 - None, # 2458 - None, # 2459 - None, # 2460 - None, # 2461 - None, # 2462 - None, # 2463 - None, # 2464 - None, # 2465 - None, # 2466 - None, # 2467 - None, # 2468 - None, # 2469 - None, # 2470 - None, # 2471 - None, # 2472 - None, # 2473 - None, # 2474 - None, # 2475 - None, # 2476 - None, # 2477 - None, # 2478 - None, # 2479 - None, # 2480 - None, # 2481 - None, # 2482 - None, # 2483 - None, # 2484 - None, # 2485 - None, # 2486 - None, # 2487 - None, # 2488 - None, # 2489 - None, # 2490 - None, # 2491 - None, # 2492 - None, # 2493 - None, # 2494 - None, # 2495 - None, # 2496 - None, # 2497 - None, # 2498 - None, # 2499 - None, # 2500 - None, # 2501 - None, # 2502 - None, # 2503 - None, # 2504 - None, # 2505 - None, # 2506 - None, # 2507 - None, # 2508 - None, # 2509 - None, # 2510 - None, # 2511 - None, # 2512 - None, # 2513 - None, # 2514 - None, # 2515 - None, # 2516 - None, # 2517 - None, # 2518 - None, # 2519 - None, # 2520 - None, # 2521 - None, # 2522 - None, # 2523 - None, # 2524 - None, # 2525 - None, # 2526 - None, # 2527 - None, # 2528 - None, # 2529 - None, # 2530 - None, # 2531 - None, # 2532 - None, # 2533 - None, # 2534 - None, # 2535 - None, # 2536 - None, # 2537 - None, # 2538 - None, # 2539 - None, # 2540 - None, # 2541 - None, # 2542 - None, # 2543 - None, # 2544 - None, # 2545 - None, # 2546 - None, # 2547 - None, # 2548 - None, # 2549 - None, # 2550 - None, # 2551 - None, # 2552 - None, # 2553 - None, # 2554 - None, # 2555 - None, # 2556 - None, # 2557 - None, # 2558 - None, # 2559 - None, # 2560 - None, # 2561 - None, # 2562 - None, # 2563 - None, # 2564 - None, # 2565 - None, # 2566 - None, # 2567 - None, # 2568 - None, # 2569 - None, # 2570 - None, # 2571 - None, # 2572 - None, # 2573 - None, # 2574 - None, # 2575 - None, # 2576 - None, # 2577 - None, # 2578 - None, # 2579 - None, # 2580 - None, # 2581 - None, # 2582 - None, # 2583 - None, # 2584 - None, # 2585 - None, # 2586 - None, # 2587 - None, # 2588 - None, # 2589 - None, # 2590 - None, # 2591 - None, # 2592 - None, # 2593 - None, # 2594 - None, # 2595 - None, # 2596 - None, # 2597 - None, # 2598 - None, # 2599 - None, # 2600 - None, # 2601 - None, # 2602 - None, # 2603 - None, # 2604 - None, # 2605 - None, # 2606 - None, # 2607 - None, # 2608 - None, # 2609 - None, # 2610 - None, # 2611 - None, # 2612 - None, # 2613 - None, # 2614 - None, # 2615 - None, # 2616 - None, # 2617 - None, # 2618 - None, # 2619 - None, # 2620 - None, # 2621 - None, # 2622 - None, # 2623 - None, # 2624 - None, # 2625 - None, # 2626 - None, # 2627 - None, # 2628 - None, # 2629 - None, # 2630 - None, # 2631 - None, # 2632 - None, # 2633 - None, # 2634 - None, # 2635 - None, # 2636 - None, # 2637 - None, # 2638 - None, # 2639 - None, # 2640 - None, # 2641 - None, # 2642 - None, # 2643 - None, # 2644 - None, # 2645 - None, # 2646 - None, # 2647 - None, # 2648 - None, # 2649 - None, # 2650 - None, # 2651 - None, # 2652 - None, # 2653 - None, # 2654 - None, # 2655 - None, # 2656 - None, # 2657 - None, # 2658 - None, # 2659 - None, # 2660 - None, # 2661 - None, # 2662 - None, # 2663 - None, # 2664 - None, # 2665 - None, # 2666 - None, # 2667 - None, # 2668 - None, # 2669 - None, # 2670 - None, # 2671 - None, # 2672 - None, # 2673 - None, # 2674 - None, # 2675 - None, # 2676 - None, # 2677 - None, # 2678 - None, # 2679 - None, # 2680 - None, # 2681 - None, # 2682 - None, # 2683 - None, # 2684 - None, # 2685 - None, # 2686 - None, # 2687 - None, # 2688 - None, # 2689 - None, # 2690 - None, # 2691 - None, # 2692 - None, # 2693 - None, # 2694 - None, # 2695 - None, # 2696 - None, # 2697 - None, # 2698 - None, # 2699 - None, # 2700 - None, # 2701 - None, # 2702 - None, # 2703 - None, # 2704 - None, # 2705 - None, # 2706 - None, # 2707 - None, # 2708 - None, # 2709 - None, # 2710 - None, # 2711 - None, # 2712 - None, # 2713 - None, # 2714 - None, # 2715 - None, # 2716 - None, # 2717 - None, # 2718 - None, # 2719 - None, # 2720 - None, # 2721 - None, # 2722 - None, # 2723 - None, # 2724 - None, # 2725 - None, # 2726 - None, # 2727 - None, # 2728 - None, # 2729 - None, # 2730 - None, # 2731 - None, # 2732 - None, # 2733 - None, # 2734 - None, # 2735 - None, # 2736 - None, # 2737 - None, # 2738 - None, # 2739 - None, # 2740 - None, # 2741 - None, # 2742 - None, # 2743 - None, # 2744 - None, # 2745 - None, # 2746 - None, # 2747 - None, # 2748 - None, # 2749 - None, # 2750 - None, # 2751 - None, # 2752 - None, # 2753 - None, # 2754 - None, # 2755 - None, # 2756 - None, # 2757 - None, # 2758 - None, # 2759 - None, # 2760 - None, # 2761 - None, # 2762 - None, # 2763 - None, # 2764 - None, # 2765 - None, # 2766 - None, # 2767 - None, # 2768 - None, # 2769 - None, # 2770 - None, # 2771 - None, # 2772 - None, # 2773 - None, # 2774 - None, # 2775 - None, # 2776 - None, # 2777 - None, # 2778 - None, # 2779 - None, # 2780 - None, # 2781 - None, # 2782 - None, # 2783 - None, # 2784 - None, # 2785 - None, # 2786 - None, # 2787 - None, # 2788 - None, # 2789 - None, # 2790 - None, # 2791 - None, # 2792 - None, # 2793 - None, # 2794 - None, # 2795 - None, # 2796 - None, # 2797 - None, # 2798 - None, # 2799 - None, # 2800 - None, # 2801 - None, # 2802 - None, # 2803 - None, # 2804 - None, # 2805 - None, # 2806 - None, # 2807 - None, # 2808 - None, # 2809 - None, # 2810 - None, # 2811 - None, # 2812 - None, # 2813 - None, # 2814 - None, # 2815 - None, # 2816 - None, # 2817 - None, # 2818 - None, # 2819 - None, # 2820 - None, # 2821 - None, # 2822 - None, # 2823 - None, # 2824 - None, # 2825 - None, # 2826 - None, # 2827 - None, # 2828 - None, # 2829 - None, # 2830 - None, # 2831 - None, # 2832 - None, # 2833 - None, # 2834 - None, # 2835 - None, # 2836 - None, # 2837 - None, # 2838 - None, # 2839 - None, # 2840 - None, # 2841 - None, # 2842 - None, # 2843 - None, # 2844 - None, # 2845 - None, # 2846 - None, # 2847 - None, # 2848 - None, # 2849 - None, # 2850 - None, # 2851 - None, # 2852 - None, # 2853 - None, # 2854 - None, # 2855 - None, # 2856 - None, # 2857 - None, # 2858 - None, # 2859 - None, # 2860 - None, # 2861 - None, # 2862 - None, # 2863 - None, # 2864 - None, # 2865 - None, # 2866 - None, # 2867 - None, # 2868 - None, # 2869 - None, # 2870 - None, # 2871 - None, # 2872 - None, # 2873 - None, # 2874 - None, # 2875 - None, # 2876 - None, # 2877 - None, # 2878 - None, # 2879 - None, # 2880 - None, # 2881 - None, # 2882 - None, # 2883 - None, # 2884 - None, # 2885 - None, # 2886 - None, # 2887 - None, # 2888 - None, # 2889 - None, # 2890 - None, # 2891 - None, # 2892 - None, # 2893 - None, # 2894 - None, # 2895 - None, # 2896 - None, # 2897 - None, # 2898 - None, # 2899 - None, # 2900 - None, # 2901 - None, # 2902 - None, # 2903 - None, # 2904 - None, # 2905 - None, # 2906 - None, # 2907 - None, # 2908 - None, # 2909 - None, # 2910 - None, # 2911 - None, # 2912 - None, # 2913 - None, # 2914 - None, # 2915 - None, # 2916 - None, # 2917 - None, # 2918 - None, # 2919 - None, # 2920 - None, # 2921 - None, # 2922 - None, # 2923 - None, # 2924 - None, # 2925 - None, # 2926 - None, # 2927 - None, # 2928 - None, # 2929 - None, # 2930 - None, # 2931 - None, # 2932 - None, # 2933 - None, # 2934 - None, # 2935 - None, # 2936 - None, # 2937 - None, # 2938 - None, # 2939 - None, # 2940 - None, # 2941 - None, # 2942 - None, # 2943 - None, # 2944 - None, # 2945 - None, # 2946 - None, # 2947 - None, # 2948 - None, # 2949 - None, # 2950 - None, # 2951 - None, # 2952 - None, # 2953 - None, # 2954 - None, # 2955 - None, # 2956 - None, # 2957 - None, # 2958 - None, # 2959 - None, # 2960 - None, # 2961 - None, # 2962 - None, # 2963 - None, # 2964 - None, # 2965 - None, # 2966 - None, # 2967 - None, # 2968 - None, # 2969 - None, # 2970 - None, # 2971 - None, # 2972 - None, # 2973 - None, # 2974 - None, # 2975 - None, # 2976 - None, # 2977 - None, # 2978 - None, # 2979 - None, # 2980 - None, # 2981 - None, # 2982 - None, # 2983 - None, # 2984 - None, # 2985 - None, # 2986 - None, # 2987 - None, # 2988 - None, # 2989 - None, # 2990 - None, # 2991 - None, # 2992 - None, # 2993 - None, # 2994 - None, # 2995 - None, # 2996 - None, # 2997 - None, # 2998 - None, # 2999 - None, # 3000 - None, # 3001 - None, # 3002 - None, # 3003 - None, # 3004 - None, # 3005 - None, # 3006 - None, # 3007 - None, # 3008 - None, # 3009 - None, # 3010 - None, # 3011 - None, # 3012 - None, # 3013 - None, # 3014 - None, # 3015 - None, # 3016 - None, # 3017 - None, # 3018 - None, # 3019 - None, # 3020 - None, # 3021 - None, # 3022 - None, # 3023 - None, # 3024 - None, # 3025 - None, # 3026 - None, # 3027 - None, # 3028 - None, # 3029 - None, # 3030 - None, # 3031 - None, # 3032 - None, # 3033 - None, # 3034 - None, # 3035 - None, # 3036 - None, # 3037 - None, # 3038 - None, # 3039 - None, # 3040 - None, # 3041 - None, # 3042 - None, # 3043 - None, # 3044 - None, # 3045 - None, # 3046 - None, # 3047 - None, # 3048 - None, # 3049 - None, # 3050 - None, # 3051 - None, # 3052 - None, # 3053 - None, # 3054 - None, # 3055 - None, # 3056 - None, # 3057 - None, # 3058 - None, # 3059 - None, # 3060 - None, # 3061 - None, # 3062 - None, # 3063 - None, # 3064 - None, # 3065 - None, # 3066 - None, # 3067 - None, # 3068 - None, # 3069 - None, # 3070 - None, # 3071 - None, # 3072 - None, # 3073 - None, # 3074 - None, # 3075 - None, # 3076 - None, # 3077 - None, # 3078 - None, # 3079 - None, # 3080 - None, # 3081 - None, # 3082 - None, # 3083 - None, # 3084 - None, # 3085 - None, # 3086 - None, # 3087 - None, # 3088 - None, # 3089 - None, # 3090 - None, # 3091 - None, # 3092 - None, # 3093 - None, # 3094 - None, # 3095 - None, # 3096 - None, # 3097 - None, # 3098 - None, # 3099 - None, # 3100 - None, # 3101 - None, # 3102 - None, # 3103 - None, # 3104 - None, # 3105 - None, # 3106 - None, # 3107 - None, # 3108 - None, # 3109 - None, # 3110 - None, # 3111 - None, # 3112 - None, # 3113 - None, # 3114 - None, # 3115 - None, # 3116 - None, # 3117 - None, # 3118 - None, # 3119 - None, # 3120 - None, # 3121 - None, # 3122 - None, # 3123 - None, # 3124 - None, # 3125 - None, # 3126 - None, # 3127 - None, # 3128 - None, # 3129 - None, # 3130 - None, # 3131 - None, # 3132 - None, # 3133 - None, # 3134 - None, # 3135 - None, # 3136 - None, # 3137 - None, # 3138 - None, # 3139 - None, # 3140 - None, # 3141 - None, # 3142 - None, # 3143 - None, # 3144 - None, # 3145 - None, # 3146 - None, # 3147 - None, # 3148 - None, # 3149 - None, # 3150 - None, # 3151 - None, # 3152 - None, # 3153 - None, # 3154 - None, # 3155 - None, # 3156 - None, # 3157 - None, # 3158 - None, # 3159 - None, # 3160 - None, # 3161 - None, # 3162 - None, # 3163 - None, # 3164 - None, # 3165 - None, # 3166 - None, # 3167 - None, # 3168 - None, # 3169 - None, # 3170 - None, # 3171 - None, # 3172 - None, # 3173 - None, # 3174 - None, # 3175 - None, # 3176 - None, # 3177 - None, # 3178 - None, # 3179 - None, # 3180 - None, # 3181 - None, # 3182 - None, # 3183 - None, # 3184 - None, # 3185 - None, # 3186 - None, # 3187 - None, # 3188 - None, # 3189 - None, # 3190 - None, # 3191 - None, # 3192 - None, # 3193 - None, # 3194 - None, # 3195 - None, # 3196 - None, # 3197 - None, # 3198 - None, # 3199 - None, # 3200 - None, # 3201 - None, # 3202 - None, # 3203 - None, # 3204 - None, # 3205 - None, # 3206 - None, # 3207 - None, # 3208 - None, # 3209 - None, # 3210 - None, # 3211 - None, # 3212 - None, # 3213 - None, # 3214 - None, # 3215 - None, # 3216 - None, # 3217 - None, # 3218 - None, # 3219 - None, # 3220 - None, # 3221 - None, # 3222 - None, # 3223 - None, # 3224 - None, # 3225 - None, # 3226 - None, # 3227 - None, # 3228 - None, # 3229 - None, # 3230 - None, # 3231 - None, # 3232 - None, # 3233 - None, # 3234 - None, # 3235 - None, # 3236 - None, # 3237 - None, # 3238 - None, # 3239 - None, # 3240 - None, # 3241 - None, # 3242 - None, # 3243 - None, # 3244 - None, # 3245 - None, # 3246 - None, # 3247 - None, # 3248 - None, # 3249 - None, # 3250 - None, # 3251 - None, # 3252 - None, # 3253 - None, # 3254 - None, # 3255 - None, # 3256 - None, # 3257 - None, # 3258 - None, # 3259 - None, # 3260 - None, # 3261 - None, # 3262 - None, # 3263 - None, # 3264 - None, # 3265 - None, # 3266 - None, # 3267 - None, # 3268 - None, # 3269 - None, # 3270 - None, # 3271 - None, # 3272 - None, # 3273 - None, # 3274 - None, # 3275 - None, # 3276 - None, # 3277 - None, # 3278 - None, # 3279 - None, # 3280 - None, # 3281 - None, # 3282 - None, # 3283 - None, # 3284 - None, # 3285 - None, # 3286 - None, # 3287 - None, # 3288 - None, # 3289 - None, # 3290 - None, # 3291 - None, # 3292 - None, # 3293 - None, # 3294 - None, # 3295 - None, # 3296 - None, # 3297 - None, # 3298 - None, # 3299 - None, # 3300 - None, # 3301 - None, # 3302 - None, # 3303 - None, # 3304 - None, # 3305 - None, # 3306 - None, # 3307 - None, # 3308 - None, # 3309 - None, # 3310 - None, # 3311 - None, # 3312 - None, # 3313 - None, # 3314 - None, # 3315 - None, # 3316 - None, # 3317 - None, # 3318 - None, # 3319 - None, # 3320 - None, # 3321 - None, # 3322 - None, # 3323 - None, # 3324 - None, # 3325 - None, # 3326 - None, # 3327 - None, # 3328 - (3329, TType.STRUCT, 'operationId', [THandleIdentifier, None], None, ), # 3329 - (3330, TType.STRUCT, 'sessionConf', [TDBSqlSessionConf, None], None, ), # 3330 + None, # 0 + (1, TType.STRUCT, 'sessionHandle', [TSessionHandle, None], None, ), # 1 + (2, TType.STRING, 'catalogName', 'UTF8', None, ), # 2 + (3, TType.STRING, 'schemaName', 'UTF8', None, ), # 3 + (4, TType.STRING, 'tableName', 'UTF8', None, ), # 4 + (5, TType.LIST, 'tableTypes', (TType.STRING, 'UTF8', False), None, ), # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + (1281, TType.STRUCT, 'getDirectResults', [TSparkGetDirectResults, None], None, ), # 1281 + (1282, TType.BOOL, 'runAsync', None, False, ), # 1282 + None, # 1283 + None, # 1284 + None, # 1285 + None, # 1286 + None, # 1287 + None, # 1288 + None, # 1289 + None, # 1290 + None, # 1291 + None, # 1292 + None, # 1293 + None, # 1294 + None, # 1295 + None, # 1296 + None, # 1297 + None, # 1298 + None, # 1299 + None, # 1300 + None, # 1301 + None, # 1302 + None, # 1303 + None, # 1304 + None, # 1305 + None, # 1306 + None, # 1307 + None, # 1308 + None, # 1309 + None, # 1310 + None, # 1311 + None, # 1312 + None, # 1313 + None, # 1314 + None, # 1315 + None, # 1316 + None, # 1317 + None, # 1318 + None, # 1319 + None, # 1320 + None, # 1321 + None, # 1322 + None, # 1323 + None, # 1324 + None, # 1325 + None, # 1326 + None, # 1327 + None, # 1328 + None, # 1329 + None, # 1330 + None, # 1331 + None, # 1332 + None, # 1333 + None, # 1334 + None, # 1335 + None, # 1336 + None, # 1337 + None, # 1338 + None, # 1339 + None, # 1340 + None, # 1341 + None, # 1342 + None, # 1343 + None, # 1344 + None, # 1345 + None, # 1346 + None, # 1347 + None, # 1348 + None, # 1349 + None, # 1350 + None, # 1351 + None, # 1352 + None, # 1353 + None, # 1354 + None, # 1355 + None, # 1356 + None, # 1357 + None, # 1358 + None, # 1359 + None, # 1360 + None, # 1361 + None, # 1362 + None, # 1363 + None, # 1364 + None, # 1365 + None, # 1366 + None, # 1367 + None, # 1368 + None, # 1369 + None, # 1370 + None, # 1371 + None, # 1372 + None, # 1373 + None, # 1374 + None, # 1375 + None, # 1376 + None, # 1377 + None, # 1378 + None, # 1379 + None, # 1380 + None, # 1381 + None, # 1382 + None, # 1383 + None, # 1384 + None, # 1385 + None, # 1386 + None, # 1387 + None, # 1388 + None, # 1389 + None, # 1390 + None, # 1391 + None, # 1392 + None, # 1393 + None, # 1394 + None, # 1395 + None, # 1396 + None, # 1397 + None, # 1398 + None, # 1399 + None, # 1400 + None, # 1401 + None, # 1402 + None, # 1403 + None, # 1404 + None, # 1405 + None, # 1406 + None, # 1407 + None, # 1408 + None, # 1409 + None, # 1410 + None, # 1411 + None, # 1412 + None, # 1413 + None, # 1414 + None, # 1415 + None, # 1416 + None, # 1417 + None, # 1418 + None, # 1419 + None, # 1420 + None, # 1421 + None, # 1422 + None, # 1423 + None, # 1424 + None, # 1425 + None, # 1426 + None, # 1427 + None, # 1428 + None, # 1429 + None, # 1430 + None, # 1431 + None, # 1432 + None, # 1433 + None, # 1434 + None, # 1435 + None, # 1436 + None, # 1437 + None, # 1438 + None, # 1439 + None, # 1440 + None, # 1441 + None, # 1442 + None, # 1443 + None, # 1444 + None, # 1445 + None, # 1446 + None, # 1447 + None, # 1448 + None, # 1449 + None, # 1450 + None, # 1451 + None, # 1452 + None, # 1453 + None, # 1454 + None, # 1455 + None, # 1456 + None, # 1457 + None, # 1458 + None, # 1459 + None, # 1460 + None, # 1461 + None, # 1462 + None, # 1463 + None, # 1464 + None, # 1465 + None, # 1466 + None, # 1467 + None, # 1468 + None, # 1469 + None, # 1470 + None, # 1471 + None, # 1472 + None, # 1473 + None, # 1474 + None, # 1475 + None, # 1476 + None, # 1477 + None, # 1478 + None, # 1479 + None, # 1480 + None, # 1481 + None, # 1482 + None, # 1483 + None, # 1484 + None, # 1485 + None, # 1486 + None, # 1487 + None, # 1488 + None, # 1489 + None, # 1490 + None, # 1491 + None, # 1492 + None, # 1493 + None, # 1494 + None, # 1495 + None, # 1496 + None, # 1497 + None, # 1498 + None, # 1499 + None, # 1500 + None, # 1501 + None, # 1502 + None, # 1503 + None, # 1504 + None, # 1505 + None, # 1506 + None, # 1507 + None, # 1508 + None, # 1509 + None, # 1510 + None, # 1511 + None, # 1512 + None, # 1513 + None, # 1514 + None, # 1515 + None, # 1516 + None, # 1517 + None, # 1518 + None, # 1519 + None, # 1520 + None, # 1521 + None, # 1522 + None, # 1523 + None, # 1524 + None, # 1525 + None, # 1526 + None, # 1527 + None, # 1528 + None, # 1529 + None, # 1530 + None, # 1531 + None, # 1532 + None, # 1533 + None, # 1534 + None, # 1535 + None, # 1536 + None, # 1537 + None, # 1538 + None, # 1539 + None, # 1540 + None, # 1541 + None, # 1542 + None, # 1543 + None, # 1544 + None, # 1545 + None, # 1546 + None, # 1547 + None, # 1548 + None, # 1549 + None, # 1550 + None, # 1551 + None, # 1552 + None, # 1553 + None, # 1554 + None, # 1555 + None, # 1556 + None, # 1557 + None, # 1558 + None, # 1559 + None, # 1560 + None, # 1561 + None, # 1562 + None, # 1563 + None, # 1564 + None, # 1565 + None, # 1566 + None, # 1567 + None, # 1568 + None, # 1569 + None, # 1570 + None, # 1571 + None, # 1572 + None, # 1573 + None, # 1574 + None, # 1575 + None, # 1576 + None, # 1577 + None, # 1578 + None, # 1579 + None, # 1580 + None, # 1581 + None, # 1582 + None, # 1583 + None, # 1584 + None, # 1585 + None, # 1586 + None, # 1587 + None, # 1588 + None, # 1589 + None, # 1590 + None, # 1591 + None, # 1592 + None, # 1593 + None, # 1594 + None, # 1595 + None, # 1596 + None, # 1597 + None, # 1598 + None, # 1599 + None, # 1600 + None, # 1601 + None, # 1602 + None, # 1603 + None, # 1604 + None, # 1605 + None, # 1606 + None, # 1607 + None, # 1608 + None, # 1609 + None, # 1610 + None, # 1611 + None, # 1612 + None, # 1613 + None, # 1614 + None, # 1615 + None, # 1616 + None, # 1617 + None, # 1618 + None, # 1619 + None, # 1620 + None, # 1621 + None, # 1622 + None, # 1623 + None, # 1624 + None, # 1625 + None, # 1626 + None, # 1627 + None, # 1628 + None, # 1629 + None, # 1630 + None, # 1631 + None, # 1632 + None, # 1633 + None, # 1634 + None, # 1635 + None, # 1636 + None, # 1637 + None, # 1638 + None, # 1639 + None, # 1640 + None, # 1641 + None, # 1642 + None, # 1643 + None, # 1644 + None, # 1645 + None, # 1646 + None, # 1647 + None, # 1648 + None, # 1649 + None, # 1650 + None, # 1651 + None, # 1652 + None, # 1653 + None, # 1654 + None, # 1655 + None, # 1656 + None, # 1657 + None, # 1658 + None, # 1659 + None, # 1660 + None, # 1661 + None, # 1662 + None, # 1663 + None, # 1664 + None, # 1665 + None, # 1666 + None, # 1667 + None, # 1668 + None, # 1669 + None, # 1670 + None, # 1671 + None, # 1672 + None, # 1673 + None, # 1674 + None, # 1675 + None, # 1676 + None, # 1677 + None, # 1678 + None, # 1679 + None, # 1680 + None, # 1681 + None, # 1682 + None, # 1683 + None, # 1684 + None, # 1685 + None, # 1686 + None, # 1687 + None, # 1688 + None, # 1689 + None, # 1690 + None, # 1691 + None, # 1692 + None, # 1693 + None, # 1694 + None, # 1695 + None, # 1696 + None, # 1697 + None, # 1698 + None, # 1699 + None, # 1700 + None, # 1701 + None, # 1702 + None, # 1703 + None, # 1704 + None, # 1705 + None, # 1706 + None, # 1707 + None, # 1708 + None, # 1709 + None, # 1710 + None, # 1711 + None, # 1712 + None, # 1713 + None, # 1714 + None, # 1715 + None, # 1716 + None, # 1717 + None, # 1718 + None, # 1719 + None, # 1720 + None, # 1721 + None, # 1722 + None, # 1723 + None, # 1724 + None, # 1725 + None, # 1726 + None, # 1727 + None, # 1728 + None, # 1729 + None, # 1730 + None, # 1731 + None, # 1732 + None, # 1733 + None, # 1734 + None, # 1735 + None, # 1736 + None, # 1737 + None, # 1738 + None, # 1739 + None, # 1740 + None, # 1741 + None, # 1742 + None, # 1743 + None, # 1744 + None, # 1745 + None, # 1746 + None, # 1747 + None, # 1748 + None, # 1749 + None, # 1750 + None, # 1751 + None, # 1752 + None, # 1753 + None, # 1754 + None, # 1755 + None, # 1756 + None, # 1757 + None, # 1758 + None, # 1759 + None, # 1760 + None, # 1761 + None, # 1762 + None, # 1763 + None, # 1764 + None, # 1765 + None, # 1766 + None, # 1767 + None, # 1768 + None, # 1769 + None, # 1770 + None, # 1771 + None, # 1772 + None, # 1773 + None, # 1774 + None, # 1775 + None, # 1776 + None, # 1777 + None, # 1778 + None, # 1779 + None, # 1780 + None, # 1781 + None, # 1782 + None, # 1783 + None, # 1784 + None, # 1785 + None, # 1786 + None, # 1787 + None, # 1788 + None, # 1789 + None, # 1790 + None, # 1791 + None, # 1792 + None, # 1793 + None, # 1794 + None, # 1795 + None, # 1796 + None, # 1797 + None, # 1798 + None, # 1799 + None, # 1800 + None, # 1801 + None, # 1802 + None, # 1803 + None, # 1804 + None, # 1805 + None, # 1806 + None, # 1807 + None, # 1808 + None, # 1809 + None, # 1810 + None, # 1811 + None, # 1812 + None, # 1813 + None, # 1814 + None, # 1815 + None, # 1816 + None, # 1817 + None, # 1818 + None, # 1819 + None, # 1820 + None, # 1821 + None, # 1822 + None, # 1823 + None, # 1824 + None, # 1825 + None, # 1826 + None, # 1827 + None, # 1828 + None, # 1829 + None, # 1830 + None, # 1831 + None, # 1832 + None, # 1833 + None, # 1834 + None, # 1835 + None, # 1836 + None, # 1837 + None, # 1838 + None, # 1839 + None, # 1840 + None, # 1841 + None, # 1842 + None, # 1843 + None, # 1844 + None, # 1845 + None, # 1846 + None, # 1847 + None, # 1848 + None, # 1849 + None, # 1850 + None, # 1851 + None, # 1852 + None, # 1853 + None, # 1854 + None, # 1855 + None, # 1856 + None, # 1857 + None, # 1858 + None, # 1859 + None, # 1860 + None, # 1861 + None, # 1862 + None, # 1863 + None, # 1864 + None, # 1865 + None, # 1866 + None, # 1867 + None, # 1868 + None, # 1869 + None, # 1870 + None, # 1871 + None, # 1872 + None, # 1873 + None, # 1874 + None, # 1875 + None, # 1876 + None, # 1877 + None, # 1878 + None, # 1879 + None, # 1880 + None, # 1881 + None, # 1882 + None, # 1883 + None, # 1884 + None, # 1885 + None, # 1886 + None, # 1887 + None, # 1888 + None, # 1889 + None, # 1890 + None, # 1891 + None, # 1892 + None, # 1893 + None, # 1894 + None, # 1895 + None, # 1896 + None, # 1897 + None, # 1898 + None, # 1899 + None, # 1900 + None, # 1901 + None, # 1902 + None, # 1903 + None, # 1904 + None, # 1905 + None, # 1906 + None, # 1907 + None, # 1908 + None, # 1909 + None, # 1910 + None, # 1911 + None, # 1912 + None, # 1913 + None, # 1914 + None, # 1915 + None, # 1916 + None, # 1917 + None, # 1918 + None, # 1919 + None, # 1920 + None, # 1921 + None, # 1922 + None, # 1923 + None, # 1924 + None, # 1925 + None, # 1926 + None, # 1927 + None, # 1928 + None, # 1929 + None, # 1930 + None, # 1931 + None, # 1932 + None, # 1933 + None, # 1934 + None, # 1935 + None, # 1936 + None, # 1937 + None, # 1938 + None, # 1939 + None, # 1940 + None, # 1941 + None, # 1942 + None, # 1943 + None, # 1944 + None, # 1945 + None, # 1946 + None, # 1947 + None, # 1948 + None, # 1949 + None, # 1950 + None, # 1951 + None, # 1952 + None, # 1953 + None, # 1954 + None, # 1955 + None, # 1956 + None, # 1957 + None, # 1958 + None, # 1959 + None, # 1960 + None, # 1961 + None, # 1962 + None, # 1963 + None, # 1964 + None, # 1965 + None, # 1966 + None, # 1967 + None, # 1968 + None, # 1969 + None, # 1970 + None, # 1971 + None, # 1972 + None, # 1973 + None, # 1974 + None, # 1975 + None, # 1976 + None, # 1977 + None, # 1978 + None, # 1979 + None, # 1980 + None, # 1981 + None, # 1982 + None, # 1983 + None, # 1984 + None, # 1985 + None, # 1986 + None, # 1987 + None, # 1988 + None, # 1989 + None, # 1990 + None, # 1991 + None, # 1992 + None, # 1993 + None, # 1994 + None, # 1995 + None, # 1996 + None, # 1997 + None, # 1998 + None, # 1999 + None, # 2000 + None, # 2001 + None, # 2002 + None, # 2003 + None, # 2004 + None, # 2005 + None, # 2006 + None, # 2007 + None, # 2008 + None, # 2009 + None, # 2010 + None, # 2011 + None, # 2012 + None, # 2013 + None, # 2014 + None, # 2015 + None, # 2016 + None, # 2017 + None, # 2018 + None, # 2019 + None, # 2020 + None, # 2021 + None, # 2022 + None, # 2023 + None, # 2024 + None, # 2025 + None, # 2026 + None, # 2027 + None, # 2028 + None, # 2029 + None, # 2030 + None, # 2031 + None, # 2032 + None, # 2033 + None, # 2034 + None, # 2035 + None, # 2036 + None, # 2037 + None, # 2038 + None, # 2039 + None, # 2040 + None, # 2041 + None, # 2042 + None, # 2043 + None, # 2044 + None, # 2045 + None, # 2046 + None, # 2047 + None, # 2048 + None, # 2049 + None, # 2050 + None, # 2051 + None, # 2052 + None, # 2053 + None, # 2054 + None, # 2055 + None, # 2056 + None, # 2057 + None, # 2058 + None, # 2059 + None, # 2060 + None, # 2061 + None, # 2062 + None, # 2063 + None, # 2064 + None, # 2065 + None, # 2066 + None, # 2067 + None, # 2068 + None, # 2069 + None, # 2070 + None, # 2071 + None, # 2072 + None, # 2073 + None, # 2074 + None, # 2075 + None, # 2076 + None, # 2077 + None, # 2078 + None, # 2079 + None, # 2080 + None, # 2081 + None, # 2082 + None, # 2083 + None, # 2084 + None, # 2085 + None, # 2086 + None, # 2087 + None, # 2088 + None, # 2089 + None, # 2090 + None, # 2091 + None, # 2092 + None, # 2093 + None, # 2094 + None, # 2095 + None, # 2096 + None, # 2097 + None, # 2098 + None, # 2099 + None, # 2100 + None, # 2101 + None, # 2102 + None, # 2103 + None, # 2104 + None, # 2105 + None, # 2106 + None, # 2107 + None, # 2108 + None, # 2109 + None, # 2110 + None, # 2111 + None, # 2112 + None, # 2113 + None, # 2114 + None, # 2115 + None, # 2116 + None, # 2117 + None, # 2118 + None, # 2119 + None, # 2120 + None, # 2121 + None, # 2122 + None, # 2123 + None, # 2124 + None, # 2125 + None, # 2126 + None, # 2127 + None, # 2128 + None, # 2129 + None, # 2130 + None, # 2131 + None, # 2132 + None, # 2133 + None, # 2134 + None, # 2135 + None, # 2136 + None, # 2137 + None, # 2138 + None, # 2139 + None, # 2140 + None, # 2141 + None, # 2142 + None, # 2143 + None, # 2144 + None, # 2145 + None, # 2146 + None, # 2147 + None, # 2148 + None, # 2149 + None, # 2150 + None, # 2151 + None, # 2152 + None, # 2153 + None, # 2154 + None, # 2155 + None, # 2156 + None, # 2157 + None, # 2158 + None, # 2159 + None, # 2160 + None, # 2161 + None, # 2162 + None, # 2163 + None, # 2164 + None, # 2165 + None, # 2166 + None, # 2167 + None, # 2168 + None, # 2169 + None, # 2170 + None, # 2171 + None, # 2172 + None, # 2173 + None, # 2174 + None, # 2175 + None, # 2176 + None, # 2177 + None, # 2178 + None, # 2179 + None, # 2180 + None, # 2181 + None, # 2182 + None, # 2183 + None, # 2184 + None, # 2185 + None, # 2186 + None, # 2187 + None, # 2188 + None, # 2189 + None, # 2190 + None, # 2191 + None, # 2192 + None, # 2193 + None, # 2194 + None, # 2195 + None, # 2196 + None, # 2197 + None, # 2198 + None, # 2199 + None, # 2200 + None, # 2201 + None, # 2202 + None, # 2203 + None, # 2204 + None, # 2205 + None, # 2206 + None, # 2207 + None, # 2208 + None, # 2209 + None, # 2210 + None, # 2211 + None, # 2212 + None, # 2213 + None, # 2214 + None, # 2215 + None, # 2216 + None, # 2217 + None, # 2218 + None, # 2219 + None, # 2220 + None, # 2221 + None, # 2222 + None, # 2223 + None, # 2224 + None, # 2225 + None, # 2226 + None, # 2227 + None, # 2228 + None, # 2229 + None, # 2230 + None, # 2231 + None, # 2232 + None, # 2233 + None, # 2234 + None, # 2235 + None, # 2236 + None, # 2237 + None, # 2238 + None, # 2239 + None, # 2240 + None, # 2241 + None, # 2242 + None, # 2243 + None, # 2244 + None, # 2245 + None, # 2246 + None, # 2247 + None, # 2248 + None, # 2249 + None, # 2250 + None, # 2251 + None, # 2252 + None, # 2253 + None, # 2254 + None, # 2255 + None, # 2256 + None, # 2257 + None, # 2258 + None, # 2259 + None, # 2260 + None, # 2261 + None, # 2262 + None, # 2263 + None, # 2264 + None, # 2265 + None, # 2266 + None, # 2267 + None, # 2268 + None, # 2269 + None, # 2270 + None, # 2271 + None, # 2272 + None, # 2273 + None, # 2274 + None, # 2275 + None, # 2276 + None, # 2277 + None, # 2278 + None, # 2279 + None, # 2280 + None, # 2281 + None, # 2282 + None, # 2283 + None, # 2284 + None, # 2285 + None, # 2286 + None, # 2287 + None, # 2288 + None, # 2289 + None, # 2290 + None, # 2291 + None, # 2292 + None, # 2293 + None, # 2294 + None, # 2295 + None, # 2296 + None, # 2297 + None, # 2298 + None, # 2299 + None, # 2300 + None, # 2301 + None, # 2302 + None, # 2303 + None, # 2304 + None, # 2305 + None, # 2306 + None, # 2307 + None, # 2308 + None, # 2309 + None, # 2310 + None, # 2311 + None, # 2312 + None, # 2313 + None, # 2314 + None, # 2315 + None, # 2316 + None, # 2317 + None, # 2318 + None, # 2319 + None, # 2320 + None, # 2321 + None, # 2322 + None, # 2323 + None, # 2324 + None, # 2325 + None, # 2326 + None, # 2327 + None, # 2328 + None, # 2329 + None, # 2330 + None, # 2331 + None, # 2332 + None, # 2333 + None, # 2334 + None, # 2335 + None, # 2336 + None, # 2337 + None, # 2338 + None, # 2339 + None, # 2340 + None, # 2341 + None, # 2342 + None, # 2343 + None, # 2344 + None, # 2345 + None, # 2346 + None, # 2347 + None, # 2348 + None, # 2349 + None, # 2350 + None, # 2351 + None, # 2352 + None, # 2353 + None, # 2354 + None, # 2355 + None, # 2356 + None, # 2357 + None, # 2358 + None, # 2359 + None, # 2360 + None, # 2361 + None, # 2362 + None, # 2363 + None, # 2364 + None, # 2365 + None, # 2366 + None, # 2367 + None, # 2368 + None, # 2369 + None, # 2370 + None, # 2371 + None, # 2372 + None, # 2373 + None, # 2374 + None, # 2375 + None, # 2376 + None, # 2377 + None, # 2378 + None, # 2379 + None, # 2380 + None, # 2381 + None, # 2382 + None, # 2383 + None, # 2384 + None, # 2385 + None, # 2386 + None, # 2387 + None, # 2388 + None, # 2389 + None, # 2390 + None, # 2391 + None, # 2392 + None, # 2393 + None, # 2394 + None, # 2395 + None, # 2396 + None, # 2397 + None, # 2398 + None, # 2399 + None, # 2400 + None, # 2401 + None, # 2402 + None, # 2403 + None, # 2404 + None, # 2405 + None, # 2406 + None, # 2407 + None, # 2408 + None, # 2409 + None, # 2410 + None, # 2411 + None, # 2412 + None, # 2413 + None, # 2414 + None, # 2415 + None, # 2416 + None, # 2417 + None, # 2418 + None, # 2419 + None, # 2420 + None, # 2421 + None, # 2422 + None, # 2423 + None, # 2424 + None, # 2425 + None, # 2426 + None, # 2427 + None, # 2428 + None, # 2429 + None, # 2430 + None, # 2431 + None, # 2432 + None, # 2433 + None, # 2434 + None, # 2435 + None, # 2436 + None, # 2437 + None, # 2438 + None, # 2439 + None, # 2440 + None, # 2441 + None, # 2442 + None, # 2443 + None, # 2444 + None, # 2445 + None, # 2446 + None, # 2447 + None, # 2448 + None, # 2449 + None, # 2450 + None, # 2451 + None, # 2452 + None, # 2453 + None, # 2454 + None, # 2455 + None, # 2456 + None, # 2457 + None, # 2458 + None, # 2459 + None, # 2460 + None, # 2461 + None, # 2462 + None, # 2463 + None, # 2464 + None, # 2465 + None, # 2466 + None, # 2467 + None, # 2468 + None, # 2469 + None, # 2470 + None, # 2471 + None, # 2472 + None, # 2473 + None, # 2474 + None, # 2475 + None, # 2476 + None, # 2477 + None, # 2478 + None, # 2479 + None, # 2480 + None, # 2481 + None, # 2482 + None, # 2483 + None, # 2484 + None, # 2485 + None, # 2486 + None, # 2487 + None, # 2488 + None, # 2489 + None, # 2490 + None, # 2491 + None, # 2492 + None, # 2493 + None, # 2494 + None, # 2495 + None, # 2496 + None, # 2497 + None, # 2498 + None, # 2499 + None, # 2500 + None, # 2501 + None, # 2502 + None, # 2503 + None, # 2504 + None, # 2505 + None, # 2506 + None, # 2507 + None, # 2508 + None, # 2509 + None, # 2510 + None, # 2511 + None, # 2512 + None, # 2513 + None, # 2514 + None, # 2515 + None, # 2516 + None, # 2517 + None, # 2518 + None, # 2519 + None, # 2520 + None, # 2521 + None, # 2522 + None, # 2523 + None, # 2524 + None, # 2525 + None, # 2526 + None, # 2527 + None, # 2528 + None, # 2529 + None, # 2530 + None, # 2531 + None, # 2532 + None, # 2533 + None, # 2534 + None, # 2535 + None, # 2536 + None, # 2537 + None, # 2538 + None, # 2539 + None, # 2540 + None, # 2541 + None, # 2542 + None, # 2543 + None, # 2544 + None, # 2545 + None, # 2546 + None, # 2547 + None, # 2548 + None, # 2549 + None, # 2550 + None, # 2551 + None, # 2552 + None, # 2553 + None, # 2554 + None, # 2555 + None, # 2556 + None, # 2557 + None, # 2558 + None, # 2559 + None, # 2560 + None, # 2561 + None, # 2562 + None, # 2563 + None, # 2564 + None, # 2565 + None, # 2566 + None, # 2567 + None, # 2568 + None, # 2569 + None, # 2570 + None, # 2571 + None, # 2572 + None, # 2573 + None, # 2574 + None, # 2575 + None, # 2576 + None, # 2577 + None, # 2578 + None, # 2579 + None, # 2580 + None, # 2581 + None, # 2582 + None, # 2583 + None, # 2584 + None, # 2585 + None, # 2586 + None, # 2587 + None, # 2588 + None, # 2589 + None, # 2590 + None, # 2591 + None, # 2592 + None, # 2593 + None, # 2594 + None, # 2595 + None, # 2596 + None, # 2597 + None, # 2598 + None, # 2599 + None, # 2600 + None, # 2601 + None, # 2602 + None, # 2603 + None, # 2604 + None, # 2605 + None, # 2606 + None, # 2607 + None, # 2608 + None, # 2609 + None, # 2610 + None, # 2611 + None, # 2612 + None, # 2613 + None, # 2614 + None, # 2615 + None, # 2616 + None, # 2617 + None, # 2618 + None, # 2619 + None, # 2620 + None, # 2621 + None, # 2622 + None, # 2623 + None, # 2624 + None, # 2625 + None, # 2626 + None, # 2627 + None, # 2628 + None, # 2629 + None, # 2630 + None, # 2631 + None, # 2632 + None, # 2633 + None, # 2634 + None, # 2635 + None, # 2636 + None, # 2637 + None, # 2638 + None, # 2639 + None, # 2640 + None, # 2641 + None, # 2642 + None, # 2643 + None, # 2644 + None, # 2645 + None, # 2646 + None, # 2647 + None, # 2648 + None, # 2649 + None, # 2650 + None, # 2651 + None, # 2652 + None, # 2653 + None, # 2654 + None, # 2655 + None, # 2656 + None, # 2657 + None, # 2658 + None, # 2659 + None, # 2660 + None, # 2661 + None, # 2662 + None, # 2663 + None, # 2664 + None, # 2665 + None, # 2666 + None, # 2667 + None, # 2668 + None, # 2669 + None, # 2670 + None, # 2671 + None, # 2672 + None, # 2673 + None, # 2674 + None, # 2675 + None, # 2676 + None, # 2677 + None, # 2678 + None, # 2679 + None, # 2680 + None, # 2681 + None, # 2682 + None, # 2683 + None, # 2684 + None, # 2685 + None, # 2686 + None, # 2687 + None, # 2688 + None, # 2689 + None, # 2690 + None, # 2691 + None, # 2692 + None, # 2693 + None, # 2694 + None, # 2695 + None, # 2696 + None, # 2697 + None, # 2698 + None, # 2699 + None, # 2700 + None, # 2701 + None, # 2702 + None, # 2703 + None, # 2704 + None, # 2705 + None, # 2706 + None, # 2707 + None, # 2708 + None, # 2709 + None, # 2710 + None, # 2711 + None, # 2712 + None, # 2713 + None, # 2714 + None, # 2715 + None, # 2716 + None, # 2717 + None, # 2718 + None, # 2719 + None, # 2720 + None, # 2721 + None, # 2722 + None, # 2723 + None, # 2724 + None, # 2725 + None, # 2726 + None, # 2727 + None, # 2728 + None, # 2729 + None, # 2730 + None, # 2731 + None, # 2732 + None, # 2733 + None, # 2734 + None, # 2735 + None, # 2736 + None, # 2737 + None, # 2738 + None, # 2739 + None, # 2740 + None, # 2741 + None, # 2742 + None, # 2743 + None, # 2744 + None, # 2745 + None, # 2746 + None, # 2747 + None, # 2748 + None, # 2749 + None, # 2750 + None, # 2751 + None, # 2752 + None, # 2753 + None, # 2754 + None, # 2755 + None, # 2756 + None, # 2757 + None, # 2758 + None, # 2759 + None, # 2760 + None, # 2761 + None, # 2762 + None, # 2763 + None, # 2764 + None, # 2765 + None, # 2766 + None, # 2767 + None, # 2768 + None, # 2769 + None, # 2770 + None, # 2771 + None, # 2772 + None, # 2773 + None, # 2774 + None, # 2775 + None, # 2776 + None, # 2777 + None, # 2778 + None, # 2779 + None, # 2780 + None, # 2781 + None, # 2782 + None, # 2783 + None, # 2784 + None, # 2785 + None, # 2786 + None, # 2787 + None, # 2788 + None, # 2789 + None, # 2790 + None, # 2791 + None, # 2792 + None, # 2793 + None, # 2794 + None, # 2795 + None, # 2796 + None, # 2797 + None, # 2798 + None, # 2799 + None, # 2800 + None, # 2801 + None, # 2802 + None, # 2803 + None, # 2804 + None, # 2805 + None, # 2806 + None, # 2807 + None, # 2808 + None, # 2809 + None, # 2810 + None, # 2811 + None, # 2812 + None, # 2813 + None, # 2814 + None, # 2815 + None, # 2816 + None, # 2817 + None, # 2818 + None, # 2819 + None, # 2820 + None, # 2821 + None, # 2822 + None, # 2823 + None, # 2824 + None, # 2825 + None, # 2826 + None, # 2827 + None, # 2828 + None, # 2829 + None, # 2830 + None, # 2831 + None, # 2832 + None, # 2833 + None, # 2834 + None, # 2835 + None, # 2836 + None, # 2837 + None, # 2838 + None, # 2839 + None, # 2840 + None, # 2841 + None, # 2842 + None, # 2843 + None, # 2844 + None, # 2845 + None, # 2846 + None, # 2847 + None, # 2848 + None, # 2849 + None, # 2850 + None, # 2851 + None, # 2852 + None, # 2853 + None, # 2854 + None, # 2855 + None, # 2856 + None, # 2857 + None, # 2858 + None, # 2859 + None, # 2860 + None, # 2861 + None, # 2862 + None, # 2863 + None, # 2864 + None, # 2865 + None, # 2866 + None, # 2867 + None, # 2868 + None, # 2869 + None, # 2870 + None, # 2871 + None, # 2872 + None, # 2873 + None, # 2874 + None, # 2875 + None, # 2876 + None, # 2877 + None, # 2878 + None, # 2879 + None, # 2880 + None, # 2881 + None, # 2882 + None, # 2883 + None, # 2884 + None, # 2885 + None, # 2886 + None, # 2887 + None, # 2888 + None, # 2889 + None, # 2890 + None, # 2891 + None, # 2892 + None, # 2893 + None, # 2894 + None, # 2895 + None, # 2896 + None, # 2897 + None, # 2898 + None, # 2899 + None, # 2900 + None, # 2901 + None, # 2902 + None, # 2903 + None, # 2904 + None, # 2905 + None, # 2906 + None, # 2907 + None, # 2908 + None, # 2909 + None, # 2910 + None, # 2911 + None, # 2912 + None, # 2913 + None, # 2914 + None, # 2915 + None, # 2916 + None, # 2917 + None, # 2918 + None, # 2919 + None, # 2920 + None, # 2921 + None, # 2922 + None, # 2923 + None, # 2924 + None, # 2925 + None, # 2926 + None, # 2927 + None, # 2928 + None, # 2929 + None, # 2930 + None, # 2931 + None, # 2932 + None, # 2933 + None, # 2934 + None, # 2935 + None, # 2936 + None, # 2937 + None, # 2938 + None, # 2939 + None, # 2940 + None, # 2941 + None, # 2942 + None, # 2943 + None, # 2944 + None, # 2945 + None, # 2946 + None, # 2947 + None, # 2948 + None, # 2949 + None, # 2950 + None, # 2951 + None, # 2952 + None, # 2953 + None, # 2954 + None, # 2955 + None, # 2956 + None, # 2957 + None, # 2958 + None, # 2959 + None, # 2960 + None, # 2961 + None, # 2962 + None, # 2963 + None, # 2964 + None, # 2965 + None, # 2966 + None, # 2967 + None, # 2968 + None, # 2969 + None, # 2970 + None, # 2971 + None, # 2972 + None, # 2973 + None, # 2974 + None, # 2975 + None, # 2976 + None, # 2977 + None, # 2978 + None, # 2979 + None, # 2980 + None, # 2981 + None, # 2982 + None, # 2983 + None, # 2984 + None, # 2985 + None, # 2986 + None, # 2987 + None, # 2988 + None, # 2989 + None, # 2990 + None, # 2991 + None, # 2992 + None, # 2993 + None, # 2994 + None, # 2995 + None, # 2996 + None, # 2997 + None, # 2998 + None, # 2999 + None, # 3000 + None, # 3001 + None, # 3002 + None, # 3003 + None, # 3004 + None, # 3005 + None, # 3006 + None, # 3007 + None, # 3008 + None, # 3009 + None, # 3010 + None, # 3011 + None, # 3012 + None, # 3013 + None, # 3014 + None, # 3015 + None, # 3016 + None, # 3017 + None, # 3018 + None, # 3019 + None, # 3020 + None, # 3021 + None, # 3022 + None, # 3023 + None, # 3024 + None, # 3025 + None, # 3026 + None, # 3027 + None, # 3028 + None, # 3029 + None, # 3030 + None, # 3031 + None, # 3032 + None, # 3033 + None, # 3034 + None, # 3035 + None, # 3036 + None, # 3037 + None, # 3038 + None, # 3039 + None, # 3040 + None, # 3041 + None, # 3042 + None, # 3043 + None, # 3044 + None, # 3045 + None, # 3046 + None, # 3047 + None, # 3048 + None, # 3049 + None, # 3050 + None, # 3051 + None, # 3052 + None, # 3053 + None, # 3054 + None, # 3055 + None, # 3056 + None, # 3057 + None, # 3058 + None, # 3059 + None, # 3060 + None, # 3061 + None, # 3062 + None, # 3063 + None, # 3064 + None, # 3065 + None, # 3066 + None, # 3067 + None, # 3068 + None, # 3069 + None, # 3070 + None, # 3071 + None, # 3072 + None, # 3073 + None, # 3074 + None, # 3075 + None, # 3076 + None, # 3077 + None, # 3078 + None, # 3079 + None, # 3080 + None, # 3081 + None, # 3082 + None, # 3083 + None, # 3084 + None, # 3085 + None, # 3086 + None, # 3087 + None, # 3088 + None, # 3089 + None, # 3090 + None, # 3091 + None, # 3092 + None, # 3093 + None, # 3094 + None, # 3095 + None, # 3096 + None, # 3097 + None, # 3098 + None, # 3099 + None, # 3100 + None, # 3101 + None, # 3102 + None, # 3103 + None, # 3104 + None, # 3105 + None, # 3106 + None, # 3107 + None, # 3108 + None, # 3109 + None, # 3110 + None, # 3111 + None, # 3112 + None, # 3113 + None, # 3114 + None, # 3115 + None, # 3116 + None, # 3117 + None, # 3118 + None, # 3119 + None, # 3120 + None, # 3121 + None, # 3122 + None, # 3123 + None, # 3124 + None, # 3125 + None, # 3126 + None, # 3127 + None, # 3128 + None, # 3129 + None, # 3130 + None, # 3131 + None, # 3132 + None, # 3133 + None, # 3134 + None, # 3135 + None, # 3136 + None, # 3137 + None, # 3138 + None, # 3139 + None, # 3140 + None, # 3141 + None, # 3142 + None, # 3143 + None, # 3144 + None, # 3145 + None, # 3146 + None, # 3147 + None, # 3148 + None, # 3149 + None, # 3150 + None, # 3151 + None, # 3152 + None, # 3153 + None, # 3154 + None, # 3155 + None, # 3156 + None, # 3157 + None, # 3158 + None, # 3159 + None, # 3160 + None, # 3161 + None, # 3162 + None, # 3163 + None, # 3164 + None, # 3165 + None, # 3166 + None, # 3167 + None, # 3168 + None, # 3169 + None, # 3170 + None, # 3171 + None, # 3172 + None, # 3173 + None, # 3174 + None, # 3175 + None, # 3176 + None, # 3177 + None, # 3178 + None, # 3179 + None, # 3180 + None, # 3181 + None, # 3182 + None, # 3183 + None, # 3184 + None, # 3185 + None, # 3186 + None, # 3187 + None, # 3188 + None, # 3189 + None, # 3190 + None, # 3191 + None, # 3192 + None, # 3193 + None, # 3194 + None, # 3195 + None, # 3196 + None, # 3197 + None, # 3198 + None, # 3199 + None, # 3200 + None, # 3201 + None, # 3202 + None, # 3203 + None, # 3204 + None, # 3205 + None, # 3206 + None, # 3207 + None, # 3208 + None, # 3209 + None, # 3210 + None, # 3211 + None, # 3212 + None, # 3213 + None, # 3214 + None, # 3215 + None, # 3216 + None, # 3217 + None, # 3218 + None, # 3219 + None, # 3220 + None, # 3221 + None, # 3222 + None, # 3223 + None, # 3224 + None, # 3225 + None, # 3226 + None, # 3227 + None, # 3228 + None, # 3229 + None, # 3230 + None, # 3231 + None, # 3232 + None, # 3233 + None, # 3234 + None, # 3235 + None, # 3236 + None, # 3237 + None, # 3238 + None, # 3239 + None, # 3240 + None, # 3241 + None, # 3242 + None, # 3243 + None, # 3244 + None, # 3245 + None, # 3246 + None, # 3247 + None, # 3248 + None, # 3249 + None, # 3250 + None, # 3251 + None, # 3252 + None, # 3253 + None, # 3254 + None, # 3255 + None, # 3256 + None, # 3257 + None, # 3258 + None, # 3259 + None, # 3260 + None, # 3261 + None, # 3262 + None, # 3263 + None, # 3264 + None, # 3265 + None, # 3266 + None, # 3267 + None, # 3268 + None, # 3269 + None, # 3270 + None, # 3271 + None, # 3272 + None, # 3273 + None, # 3274 + None, # 3275 + None, # 3276 + None, # 3277 + None, # 3278 + None, # 3279 + None, # 3280 + None, # 3281 + None, # 3282 + None, # 3283 + None, # 3284 + None, # 3285 + None, # 3286 + None, # 3287 + None, # 3288 + None, # 3289 + None, # 3290 + None, # 3291 + None, # 3292 + None, # 3293 + None, # 3294 + None, # 3295 + None, # 3296 + None, # 3297 + None, # 3298 + None, # 3299 + None, # 3300 + None, # 3301 + None, # 3302 + None, # 3303 + None, # 3304 + None, # 3305 + None, # 3306 + None, # 3307 + None, # 3308 + None, # 3309 + None, # 3310 + None, # 3311 + None, # 3312 + None, # 3313 + None, # 3314 + None, # 3315 + None, # 3316 + None, # 3317 + None, # 3318 + None, # 3319 + None, # 3320 + None, # 3321 + None, # 3322 + None, # 3323 + None, # 3324 + None, # 3325 + None, # 3326 + None, # 3327 + None, # 3328 + (3329, TType.STRUCT, 'operationId', [THandleIdentifier, None], None, ), # 3329 + (3330, TType.STRUCT, 'sessionConf', [TDBSqlSessionConf, None], None, ), # 3330 ) all_structs.append(TGetTablesResp) TGetTablesResp.thrift_spec = ( - None, # 0 - (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 - (2, TType.STRUCT, 'operationHandle', [TOperationHandle, None], None, ), # 2 - None, # 3 - None, # 4 - None, # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - (1281, TType.STRUCT, 'directResults', [TSparkDirectResults, None], None, ), # 1281 + None, # 0 + (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 + (2, TType.STRUCT, 'operationHandle', [TOperationHandle, None], None, ), # 2 + None, # 3 + None, # 4 + None, # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + (1281, TType.STRUCT, 'directResults', [TSparkDirectResults, None], None, ), # 1281 ) all_structs.append(TGetTableTypesReq) TGetTableTypesReq.thrift_spec = ( - None, # 0 - (1, TType.STRUCT, 'sessionHandle', [TSessionHandle, None], None, ), # 1 - None, # 2 - None, # 3 - None, # 4 - None, # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - (1281, TType.STRUCT, 'getDirectResults', [TSparkGetDirectResults, None], None, ), # 1281 - (1282, TType.BOOL, 'runAsync', None, False, ), # 1282 - None, # 1283 - None, # 1284 - None, # 1285 - None, # 1286 - None, # 1287 - None, # 1288 - None, # 1289 - None, # 1290 - None, # 1291 - None, # 1292 - None, # 1293 - None, # 1294 - None, # 1295 - None, # 1296 - None, # 1297 - None, # 1298 - None, # 1299 - None, # 1300 - None, # 1301 - None, # 1302 - None, # 1303 - None, # 1304 - None, # 1305 - None, # 1306 - None, # 1307 - None, # 1308 - None, # 1309 - None, # 1310 - None, # 1311 - None, # 1312 - None, # 1313 - None, # 1314 - None, # 1315 - None, # 1316 - None, # 1317 - None, # 1318 - None, # 1319 - None, # 1320 - None, # 1321 - None, # 1322 - None, # 1323 - None, # 1324 - None, # 1325 - None, # 1326 - None, # 1327 - None, # 1328 - None, # 1329 - None, # 1330 - None, # 1331 - None, # 1332 - None, # 1333 - None, # 1334 - None, # 1335 - None, # 1336 - None, # 1337 - None, # 1338 - None, # 1339 - None, # 1340 - None, # 1341 - None, # 1342 - None, # 1343 - None, # 1344 - None, # 1345 - None, # 1346 - None, # 1347 - None, # 1348 - None, # 1349 - None, # 1350 - None, # 1351 - None, # 1352 - None, # 1353 - None, # 1354 - None, # 1355 - None, # 1356 - None, # 1357 - None, # 1358 - None, # 1359 - None, # 1360 - None, # 1361 - None, # 1362 - None, # 1363 - None, # 1364 - None, # 1365 - None, # 1366 - None, # 1367 - None, # 1368 - None, # 1369 - None, # 1370 - None, # 1371 - None, # 1372 - None, # 1373 - None, # 1374 - None, # 1375 - None, # 1376 - None, # 1377 - None, # 1378 - None, # 1379 - None, # 1380 - None, # 1381 - None, # 1382 - None, # 1383 - None, # 1384 - None, # 1385 - None, # 1386 - None, # 1387 - None, # 1388 - None, # 1389 - None, # 1390 - None, # 1391 - None, # 1392 - None, # 1393 - None, # 1394 - None, # 1395 - None, # 1396 - None, # 1397 - None, # 1398 - None, # 1399 - None, # 1400 - None, # 1401 - None, # 1402 - None, # 1403 - None, # 1404 - None, # 1405 - None, # 1406 - None, # 1407 - None, # 1408 - None, # 1409 - None, # 1410 - None, # 1411 - None, # 1412 - None, # 1413 - None, # 1414 - None, # 1415 - None, # 1416 - None, # 1417 - None, # 1418 - None, # 1419 - None, # 1420 - None, # 1421 - None, # 1422 - None, # 1423 - None, # 1424 - None, # 1425 - None, # 1426 - None, # 1427 - None, # 1428 - None, # 1429 - None, # 1430 - None, # 1431 - None, # 1432 - None, # 1433 - None, # 1434 - None, # 1435 - None, # 1436 - None, # 1437 - None, # 1438 - None, # 1439 - None, # 1440 - None, # 1441 - None, # 1442 - None, # 1443 - None, # 1444 - None, # 1445 - None, # 1446 - None, # 1447 - None, # 1448 - None, # 1449 - None, # 1450 - None, # 1451 - None, # 1452 - None, # 1453 - None, # 1454 - None, # 1455 - None, # 1456 - None, # 1457 - None, # 1458 - None, # 1459 - None, # 1460 - None, # 1461 - None, # 1462 - None, # 1463 - None, # 1464 - None, # 1465 - None, # 1466 - None, # 1467 - None, # 1468 - None, # 1469 - None, # 1470 - None, # 1471 - None, # 1472 - None, # 1473 - None, # 1474 - None, # 1475 - None, # 1476 - None, # 1477 - None, # 1478 - None, # 1479 - None, # 1480 - None, # 1481 - None, # 1482 - None, # 1483 - None, # 1484 - None, # 1485 - None, # 1486 - None, # 1487 - None, # 1488 - None, # 1489 - None, # 1490 - None, # 1491 - None, # 1492 - None, # 1493 - None, # 1494 - None, # 1495 - None, # 1496 - None, # 1497 - None, # 1498 - None, # 1499 - None, # 1500 - None, # 1501 - None, # 1502 - None, # 1503 - None, # 1504 - None, # 1505 - None, # 1506 - None, # 1507 - None, # 1508 - None, # 1509 - None, # 1510 - None, # 1511 - None, # 1512 - None, # 1513 - None, # 1514 - None, # 1515 - None, # 1516 - None, # 1517 - None, # 1518 - None, # 1519 - None, # 1520 - None, # 1521 - None, # 1522 - None, # 1523 - None, # 1524 - None, # 1525 - None, # 1526 - None, # 1527 - None, # 1528 - None, # 1529 - None, # 1530 - None, # 1531 - None, # 1532 - None, # 1533 - None, # 1534 - None, # 1535 - None, # 1536 - None, # 1537 - None, # 1538 - None, # 1539 - None, # 1540 - None, # 1541 - None, # 1542 - None, # 1543 - None, # 1544 - None, # 1545 - None, # 1546 - None, # 1547 - None, # 1548 - None, # 1549 - None, # 1550 - None, # 1551 - None, # 1552 - None, # 1553 - None, # 1554 - None, # 1555 - None, # 1556 - None, # 1557 - None, # 1558 - None, # 1559 - None, # 1560 - None, # 1561 - None, # 1562 - None, # 1563 - None, # 1564 - None, # 1565 - None, # 1566 - None, # 1567 - None, # 1568 - None, # 1569 - None, # 1570 - None, # 1571 - None, # 1572 - None, # 1573 - None, # 1574 - None, # 1575 - None, # 1576 - None, # 1577 - None, # 1578 - None, # 1579 - None, # 1580 - None, # 1581 - None, # 1582 - None, # 1583 - None, # 1584 - None, # 1585 - None, # 1586 - None, # 1587 - None, # 1588 - None, # 1589 - None, # 1590 - None, # 1591 - None, # 1592 - None, # 1593 - None, # 1594 - None, # 1595 - None, # 1596 - None, # 1597 - None, # 1598 - None, # 1599 - None, # 1600 - None, # 1601 - None, # 1602 - None, # 1603 - None, # 1604 - None, # 1605 - None, # 1606 - None, # 1607 - None, # 1608 - None, # 1609 - None, # 1610 - None, # 1611 - None, # 1612 - None, # 1613 - None, # 1614 - None, # 1615 - None, # 1616 - None, # 1617 - None, # 1618 - None, # 1619 - None, # 1620 - None, # 1621 - None, # 1622 - None, # 1623 - None, # 1624 - None, # 1625 - None, # 1626 - None, # 1627 - None, # 1628 - None, # 1629 - None, # 1630 - None, # 1631 - None, # 1632 - None, # 1633 - None, # 1634 - None, # 1635 - None, # 1636 - None, # 1637 - None, # 1638 - None, # 1639 - None, # 1640 - None, # 1641 - None, # 1642 - None, # 1643 - None, # 1644 - None, # 1645 - None, # 1646 - None, # 1647 - None, # 1648 - None, # 1649 - None, # 1650 - None, # 1651 - None, # 1652 - None, # 1653 - None, # 1654 - None, # 1655 - None, # 1656 - None, # 1657 - None, # 1658 - None, # 1659 - None, # 1660 - None, # 1661 - None, # 1662 - None, # 1663 - None, # 1664 - None, # 1665 - None, # 1666 - None, # 1667 - None, # 1668 - None, # 1669 - None, # 1670 - None, # 1671 - None, # 1672 - None, # 1673 - None, # 1674 - None, # 1675 - None, # 1676 - None, # 1677 - None, # 1678 - None, # 1679 - None, # 1680 - None, # 1681 - None, # 1682 - None, # 1683 - None, # 1684 - None, # 1685 - None, # 1686 - None, # 1687 - None, # 1688 - None, # 1689 - None, # 1690 - None, # 1691 - None, # 1692 - None, # 1693 - None, # 1694 - None, # 1695 - None, # 1696 - None, # 1697 - None, # 1698 - None, # 1699 - None, # 1700 - None, # 1701 - None, # 1702 - None, # 1703 - None, # 1704 - None, # 1705 - None, # 1706 - None, # 1707 - None, # 1708 - None, # 1709 - None, # 1710 - None, # 1711 - None, # 1712 - None, # 1713 - None, # 1714 - None, # 1715 - None, # 1716 - None, # 1717 - None, # 1718 - None, # 1719 - None, # 1720 - None, # 1721 - None, # 1722 - None, # 1723 - None, # 1724 - None, # 1725 - None, # 1726 - None, # 1727 - None, # 1728 - None, # 1729 - None, # 1730 - None, # 1731 - None, # 1732 - None, # 1733 - None, # 1734 - None, # 1735 - None, # 1736 - None, # 1737 - None, # 1738 - None, # 1739 - None, # 1740 - None, # 1741 - None, # 1742 - None, # 1743 - None, # 1744 - None, # 1745 - None, # 1746 - None, # 1747 - None, # 1748 - None, # 1749 - None, # 1750 - None, # 1751 - None, # 1752 - None, # 1753 - None, # 1754 - None, # 1755 - None, # 1756 - None, # 1757 - None, # 1758 - None, # 1759 - None, # 1760 - None, # 1761 - None, # 1762 - None, # 1763 - None, # 1764 - None, # 1765 - None, # 1766 - None, # 1767 - None, # 1768 - None, # 1769 - None, # 1770 - None, # 1771 - None, # 1772 - None, # 1773 - None, # 1774 - None, # 1775 - None, # 1776 - None, # 1777 - None, # 1778 - None, # 1779 - None, # 1780 - None, # 1781 - None, # 1782 - None, # 1783 - None, # 1784 - None, # 1785 - None, # 1786 - None, # 1787 - None, # 1788 - None, # 1789 - None, # 1790 - None, # 1791 - None, # 1792 - None, # 1793 - None, # 1794 - None, # 1795 - None, # 1796 - None, # 1797 - None, # 1798 - None, # 1799 - None, # 1800 - None, # 1801 - None, # 1802 - None, # 1803 - None, # 1804 - None, # 1805 - None, # 1806 - None, # 1807 - None, # 1808 - None, # 1809 - None, # 1810 - None, # 1811 - None, # 1812 - None, # 1813 - None, # 1814 - None, # 1815 - None, # 1816 - None, # 1817 - None, # 1818 - None, # 1819 - None, # 1820 - None, # 1821 - None, # 1822 - None, # 1823 - None, # 1824 - None, # 1825 - None, # 1826 - None, # 1827 - None, # 1828 - None, # 1829 - None, # 1830 - None, # 1831 - None, # 1832 - None, # 1833 - None, # 1834 - None, # 1835 - None, # 1836 - None, # 1837 - None, # 1838 - None, # 1839 - None, # 1840 - None, # 1841 - None, # 1842 - None, # 1843 - None, # 1844 - None, # 1845 - None, # 1846 - None, # 1847 - None, # 1848 - None, # 1849 - None, # 1850 - None, # 1851 - None, # 1852 - None, # 1853 - None, # 1854 - None, # 1855 - None, # 1856 - None, # 1857 - None, # 1858 - None, # 1859 - None, # 1860 - None, # 1861 - None, # 1862 - None, # 1863 - None, # 1864 - None, # 1865 - None, # 1866 - None, # 1867 - None, # 1868 - None, # 1869 - None, # 1870 - None, # 1871 - None, # 1872 - None, # 1873 - None, # 1874 - None, # 1875 - None, # 1876 - None, # 1877 - None, # 1878 - None, # 1879 - None, # 1880 - None, # 1881 - None, # 1882 - None, # 1883 - None, # 1884 - None, # 1885 - None, # 1886 - None, # 1887 - None, # 1888 - None, # 1889 - None, # 1890 - None, # 1891 - None, # 1892 - None, # 1893 - None, # 1894 - None, # 1895 - None, # 1896 - None, # 1897 - None, # 1898 - None, # 1899 - None, # 1900 - None, # 1901 - None, # 1902 - None, # 1903 - None, # 1904 - None, # 1905 - None, # 1906 - None, # 1907 - None, # 1908 - None, # 1909 - None, # 1910 - None, # 1911 - None, # 1912 - None, # 1913 - None, # 1914 - None, # 1915 - None, # 1916 - None, # 1917 - None, # 1918 - None, # 1919 - None, # 1920 - None, # 1921 - None, # 1922 - None, # 1923 - None, # 1924 - None, # 1925 - None, # 1926 - None, # 1927 - None, # 1928 - None, # 1929 - None, # 1930 - None, # 1931 - None, # 1932 - None, # 1933 - None, # 1934 - None, # 1935 - None, # 1936 - None, # 1937 - None, # 1938 - None, # 1939 - None, # 1940 - None, # 1941 - None, # 1942 - None, # 1943 - None, # 1944 - None, # 1945 - None, # 1946 - None, # 1947 - None, # 1948 - None, # 1949 - None, # 1950 - None, # 1951 - None, # 1952 - None, # 1953 - None, # 1954 - None, # 1955 - None, # 1956 - None, # 1957 - None, # 1958 - None, # 1959 - None, # 1960 - None, # 1961 - None, # 1962 - None, # 1963 - None, # 1964 - None, # 1965 - None, # 1966 - None, # 1967 - None, # 1968 - None, # 1969 - None, # 1970 - None, # 1971 - None, # 1972 - None, # 1973 - None, # 1974 - None, # 1975 - None, # 1976 - None, # 1977 - None, # 1978 - None, # 1979 - None, # 1980 - None, # 1981 - None, # 1982 - None, # 1983 - None, # 1984 - None, # 1985 - None, # 1986 - None, # 1987 - None, # 1988 - None, # 1989 - None, # 1990 - None, # 1991 - None, # 1992 - None, # 1993 - None, # 1994 - None, # 1995 - None, # 1996 - None, # 1997 - None, # 1998 - None, # 1999 - None, # 2000 - None, # 2001 - None, # 2002 - None, # 2003 - None, # 2004 - None, # 2005 - None, # 2006 - None, # 2007 - None, # 2008 - None, # 2009 - None, # 2010 - None, # 2011 - None, # 2012 - None, # 2013 - None, # 2014 - None, # 2015 - None, # 2016 - None, # 2017 - None, # 2018 - None, # 2019 - None, # 2020 - None, # 2021 - None, # 2022 - None, # 2023 - None, # 2024 - None, # 2025 - None, # 2026 - None, # 2027 - None, # 2028 - None, # 2029 - None, # 2030 - None, # 2031 - None, # 2032 - None, # 2033 - None, # 2034 - None, # 2035 - None, # 2036 - None, # 2037 - None, # 2038 - None, # 2039 - None, # 2040 - None, # 2041 - None, # 2042 - None, # 2043 - None, # 2044 - None, # 2045 - None, # 2046 - None, # 2047 - None, # 2048 - None, # 2049 - None, # 2050 - None, # 2051 - None, # 2052 - None, # 2053 - None, # 2054 - None, # 2055 - None, # 2056 - None, # 2057 - None, # 2058 - None, # 2059 - None, # 2060 - None, # 2061 - None, # 2062 - None, # 2063 - None, # 2064 - None, # 2065 - None, # 2066 - None, # 2067 - None, # 2068 - None, # 2069 - None, # 2070 - None, # 2071 - None, # 2072 - None, # 2073 - None, # 2074 - None, # 2075 - None, # 2076 - None, # 2077 - None, # 2078 - None, # 2079 - None, # 2080 - None, # 2081 - None, # 2082 - None, # 2083 - None, # 2084 - None, # 2085 - None, # 2086 - None, # 2087 - None, # 2088 - None, # 2089 - None, # 2090 - None, # 2091 - None, # 2092 - None, # 2093 - None, # 2094 - None, # 2095 - None, # 2096 - None, # 2097 - None, # 2098 - None, # 2099 - None, # 2100 - None, # 2101 - None, # 2102 - None, # 2103 - None, # 2104 - None, # 2105 - None, # 2106 - None, # 2107 - None, # 2108 - None, # 2109 - None, # 2110 - None, # 2111 - None, # 2112 - None, # 2113 - None, # 2114 - None, # 2115 - None, # 2116 - None, # 2117 - None, # 2118 - None, # 2119 - None, # 2120 - None, # 2121 - None, # 2122 - None, # 2123 - None, # 2124 - None, # 2125 - None, # 2126 - None, # 2127 - None, # 2128 - None, # 2129 - None, # 2130 - None, # 2131 - None, # 2132 - None, # 2133 - None, # 2134 - None, # 2135 - None, # 2136 - None, # 2137 - None, # 2138 - None, # 2139 - None, # 2140 - None, # 2141 - None, # 2142 - None, # 2143 - None, # 2144 - None, # 2145 - None, # 2146 - None, # 2147 - None, # 2148 - None, # 2149 - None, # 2150 - None, # 2151 - None, # 2152 - None, # 2153 - None, # 2154 - None, # 2155 - None, # 2156 - None, # 2157 - None, # 2158 - None, # 2159 - None, # 2160 - None, # 2161 - None, # 2162 - None, # 2163 - None, # 2164 - None, # 2165 - None, # 2166 - None, # 2167 - None, # 2168 - None, # 2169 - None, # 2170 - None, # 2171 - None, # 2172 - None, # 2173 - None, # 2174 - None, # 2175 - None, # 2176 - None, # 2177 - None, # 2178 - None, # 2179 - None, # 2180 - None, # 2181 - None, # 2182 - None, # 2183 - None, # 2184 - None, # 2185 - None, # 2186 - None, # 2187 - None, # 2188 - None, # 2189 - None, # 2190 - None, # 2191 - None, # 2192 - None, # 2193 - None, # 2194 - None, # 2195 - None, # 2196 - None, # 2197 - None, # 2198 - None, # 2199 - None, # 2200 - None, # 2201 - None, # 2202 - None, # 2203 - None, # 2204 - None, # 2205 - None, # 2206 - None, # 2207 - None, # 2208 - None, # 2209 - None, # 2210 - None, # 2211 - None, # 2212 - None, # 2213 - None, # 2214 - None, # 2215 - None, # 2216 - None, # 2217 - None, # 2218 - None, # 2219 - None, # 2220 - None, # 2221 - None, # 2222 - None, # 2223 - None, # 2224 - None, # 2225 - None, # 2226 - None, # 2227 - None, # 2228 - None, # 2229 - None, # 2230 - None, # 2231 - None, # 2232 - None, # 2233 - None, # 2234 - None, # 2235 - None, # 2236 - None, # 2237 - None, # 2238 - None, # 2239 - None, # 2240 - None, # 2241 - None, # 2242 - None, # 2243 - None, # 2244 - None, # 2245 - None, # 2246 - None, # 2247 - None, # 2248 - None, # 2249 - None, # 2250 - None, # 2251 - None, # 2252 - None, # 2253 - None, # 2254 - None, # 2255 - None, # 2256 - None, # 2257 - None, # 2258 - None, # 2259 - None, # 2260 - None, # 2261 - None, # 2262 - None, # 2263 - None, # 2264 - None, # 2265 - None, # 2266 - None, # 2267 - None, # 2268 - None, # 2269 - None, # 2270 - None, # 2271 - None, # 2272 - None, # 2273 - None, # 2274 - None, # 2275 - None, # 2276 - None, # 2277 - None, # 2278 - None, # 2279 - None, # 2280 - None, # 2281 - None, # 2282 - None, # 2283 - None, # 2284 - None, # 2285 - None, # 2286 - None, # 2287 - None, # 2288 - None, # 2289 - None, # 2290 - None, # 2291 - None, # 2292 - None, # 2293 - None, # 2294 - None, # 2295 - None, # 2296 - None, # 2297 - None, # 2298 - None, # 2299 - None, # 2300 - None, # 2301 - None, # 2302 - None, # 2303 - None, # 2304 - None, # 2305 - None, # 2306 - None, # 2307 - None, # 2308 - None, # 2309 - None, # 2310 - None, # 2311 - None, # 2312 - None, # 2313 - None, # 2314 - None, # 2315 - None, # 2316 - None, # 2317 - None, # 2318 - None, # 2319 - None, # 2320 - None, # 2321 - None, # 2322 - None, # 2323 - None, # 2324 - None, # 2325 - None, # 2326 - None, # 2327 - None, # 2328 - None, # 2329 - None, # 2330 - None, # 2331 - None, # 2332 - None, # 2333 - None, # 2334 - None, # 2335 - None, # 2336 - None, # 2337 - None, # 2338 - None, # 2339 - None, # 2340 - None, # 2341 - None, # 2342 - None, # 2343 - None, # 2344 - None, # 2345 - None, # 2346 - None, # 2347 - None, # 2348 - None, # 2349 - None, # 2350 - None, # 2351 - None, # 2352 - None, # 2353 - None, # 2354 - None, # 2355 - None, # 2356 - None, # 2357 - None, # 2358 - None, # 2359 - None, # 2360 - None, # 2361 - None, # 2362 - None, # 2363 - None, # 2364 - None, # 2365 - None, # 2366 - None, # 2367 - None, # 2368 - None, # 2369 - None, # 2370 - None, # 2371 - None, # 2372 - None, # 2373 - None, # 2374 - None, # 2375 - None, # 2376 - None, # 2377 - None, # 2378 - None, # 2379 - None, # 2380 - None, # 2381 - None, # 2382 - None, # 2383 - None, # 2384 - None, # 2385 - None, # 2386 - None, # 2387 - None, # 2388 - None, # 2389 - None, # 2390 - None, # 2391 - None, # 2392 - None, # 2393 - None, # 2394 - None, # 2395 - None, # 2396 - None, # 2397 - None, # 2398 - None, # 2399 - None, # 2400 - None, # 2401 - None, # 2402 - None, # 2403 - None, # 2404 - None, # 2405 - None, # 2406 - None, # 2407 - None, # 2408 - None, # 2409 - None, # 2410 - None, # 2411 - None, # 2412 - None, # 2413 - None, # 2414 - None, # 2415 - None, # 2416 - None, # 2417 - None, # 2418 - None, # 2419 - None, # 2420 - None, # 2421 - None, # 2422 - None, # 2423 - None, # 2424 - None, # 2425 - None, # 2426 - None, # 2427 - None, # 2428 - None, # 2429 - None, # 2430 - None, # 2431 - None, # 2432 - None, # 2433 - None, # 2434 - None, # 2435 - None, # 2436 - None, # 2437 - None, # 2438 - None, # 2439 - None, # 2440 - None, # 2441 - None, # 2442 - None, # 2443 - None, # 2444 - None, # 2445 - None, # 2446 - None, # 2447 - None, # 2448 - None, # 2449 - None, # 2450 - None, # 2451 - None, # 2452 - None, # 2453 - None, # 2454 - None, # 2455 - None, # 2456 - None, # 2457 - None, # 2458 - None, # 2459 - None, # 2460 - None, # 2461 - None, # 2462 - None, # 2463 - None, # 2464 - None, # 2465 - None, # 2466 - None, # 2467 - None, # 2468 - None, # 2469 - None, # 2470 - None, # 2471 - None, # 2472 - None, # 2473 - None, # 2474 - None, # 2475 - None, # 2476 - None, # 2477 - None, # 2478 - None, # 2479 - None, # 2480 - None, # 2481 - None, # 2482 - None, # 2483 - None, # 2484 - None, # 2485 - None, # 2486 - None, # 2487 - None, # 2488 - None, # 2489 - None, # 2490 - None, # 2491 - None, # 2492 - None, # 2493 - None, # 2494 - None, # 2495 - None, # 2496 - None, # 2497 - None, # 2498 - None, # 2499 - None, # 2500 - None, # 2501 - None, # 2502 - None, # 2503 - None, # 2504 - None, # 2505 - None, # 2506 - None, # 2507 - None, # 2508 - None, # 2509 - None, # 2510 - None, # 2511 - None, # 2512 - None, # 2513 - None, # 2514 - None, # 2515 - None, # 2516 - None, # 2517 - None, # 2518 - None, # 2519 - None, # 2520 - None, # 2521 - None, # 2522 - None, # 2523 - None, # 2524 - None, # 2525 - None, # 2526 - None, # 2527 - None, # 2528 - None, # 2529 - None, # 2530 - None, # 2531 - None, # 2532 - None, # 2533 - None, # 2534 - None, # 2535 - None, # 2536 - None, # 2537 - None, # 2538 - None, # 2539 - None, # 2540 - None, # 2541 - None, # 2542 - None, # 2543 - None, # 2544 - None, # 2545 - None, # 2546 - None, # 2547 - None, # 2548 - None, # 2549 - None, # 2550 - None, # 2551 - None, # 2552 - None, # 2553 - None, # 2554 - None, # 2555 - None, # 2556 - None, # 2557 - None, # 2558 - None, # 2559 - None, # 2560 - None, # 2561 - None, # 2562 - None, # 2563 - None, # 2564 - None, # 2565 - None, # 2566 - None, # 2567 - None, # 2568 - None, # 2569 - None, # 2570 - None, # 2571 - None, # 2572 - None, # 2573 - None, # 2574 - None, # 2575 - None, # 2576 - None, # 2577 - None, # 2578 - None, # 2579 - None, # 2580 - None, # 2581 - None, # 2582 - None, # 2583 - None, # 2584 - None, # 2585 - None, # 2586 - None, # 2587 - None, # 2588 - None, # 2589 - None, # 2590 - None, # 2591 - None, # 2592 - None, # 2593 - None, # 2594 - None, # 2595 - None, # 2596 - None, # 2597 - None, # 2598 - None, # 2599 - None, # 2600 - None, # 2601 - None, # 2602 - None, # 2603 - None, # 2604 - None, # 2605 - None, # 2606 - None, # 2607 - None, # 2608 - None, # 2609 - None, # 2610 - None, # 2611 - None, # 2612 - None, # 2613 - None, # 2614 - None, # 2615 - None, # 2616 - None, # 2617 - None, # 2618 - None, # 2619 - None, # 2620 - None, # 2621 - None, # 2622 - None, # 2623 - None, # 2624 - None, # 2625 - None, # 2626 - None, # 2627 - None, # 2628 - None, # 2629 - None, # 2630 - None, # 2631 - None, # 2632 - None, # 2633 - None, # 2634 - None, # 2635 - None, # 2636 - None, # 2637 - None, # 2638 - None, # 2639 - None, # 2640 - None, # 2641 - None, # 2642 - None, # 2643 - None, # 2644 - None, # 2645 - None, # 2646 - None, # 2647 - None, # 2648 - None, # 2649 - None, # 2650 - None, # 2651 - None, # 2652 - None, # 2653 - None, # 2654 - None, # 2655 - None, # 2656 - None, # 2657 - None, # 2658 - None, # 2659 - None, # 2660 - None, # 2661 - None, # 2662 - None, # 2663 - None, # 2664 - None, # 2665 - None, # 2666 - None, # 2667 - None, # 2668 - None, # 2669 - None, # 2670 - None, # 2671 - None, # 2672 - None, # 2673 - None, # 2674 - None, # 2675 - None, # 2676 - None, # 2677 - None, # 2678 - None, # 2679 - None, # 2680 - None, # 2681 - None, # 2682 - None, # 2683 - None, # 2684 - None, # 2685 - None, # 2686 - None, # 2687 - None, # 2688 - None, # 2689 - None, # 2690 - None, # 2691 - None, # 2692 - None, # 2693 - None, # 2694 - None, # 2695 - None, # 2696 - None, # 2697 - None, # 2698 - None, # 2699 - None, # 2700 - None, # 2701 - None, # 2702 - None, # 2703 - None, # 2704 - None, # 2705 - None, # 2706 - None, # 2707 - None, # 2708 - None, # 2709 - None, # 2710 - None, # 2711 - None, # 2712 - None, # 2713 - None, # 2714 - None, # 2715 - None, # 2716 - None, # 2717 - None, # 2718 - None, # 2719 - None, # 2720 - None, # 2721 - None, # 2722 - None, # 2723 - None, # 2724 - None, # 2725 - None, # 2726 - None, # 2727 - None, # 2728 - None, # 2729 - None, # 2730 - None, # 2731 - None, # 2732 - None, # 2733 - None, # 2734 - None, # 2735 - None, # 2736 - None, # 2737 - None, # 2738 - None, # 2739 - None, # 2740 - None, # 2741 - None, # 2742 - None, # 2743 - None, # 2744 - None, # 2745 - None, # 2746 - None, # 2747 - None, # 2748 - None, # 2749 - None, # 2750 - None, # 2751 - None, # 2752 - None, # 2753 - None, # 2754 - None, # 2755 - None, # 2756 - None, # 2757 - None, # 2758 - None, # 2759 - None, # 2760 - None, # 2761 - None, # 2762 - None, # 2763 - None, # 2764 - None, # 2765 - None, # 2766 - None, # 2767 - None, # 2768 - None, # 2769 - None, # 2770 - None, # 2771 - None, # 2772 - None, # 2773 - None, # 2774 - None, # 2775 - None, # 2776 - None, # 2777 - None, # 2778 - None, # 2779 - None, # 2780 - None, # 2781 - None, # 2782 - None, # 2783 - None, # 2784 - None, # 2785 - None, # 2786 - None, # 2787 - None, # 2788 - None, # 2789 - None, # 2790 - None, # 2791 - None, # 2792 - None, # 2793 - None, # 2794 - None, # 2795 - None, # 2796 - None, # 2797 - None, # 2798 - None, # 2799 - None, # 2800 - None, # 2801 - None, # 2802 - None, # 2803 - None, # 2804 - None, # 2805 - None, # 2806 - None, # 2807 - None, # 2808 - None, # 2809 - None, # 2810 - None, # 2811 - None, # 2812 - None, # 2813 - None, # 2814 - None, # 2815 - None, # 2816 - None, # 2817 - None, # 2818 - None, # 2819 - None, # 2820 - None, # 2821 - None, # 2822 - None, # 2823 - None, # 2824 - None, # 2825 - None, # 2826 - None, # 2827 - None, # 2828 - None, # 2829 - None, # 2830 - None, # 2831 - None, # 2832 - None, # 2833 - None, # 2834 - None, # 2835 - None, # 2836 - None, # 2837 - None, # 2838 - None, # 2839 - None, # 2840 - None, # 2841 - None, # 2842 - None, # 2843 - None, # 2844 - None, # 2845 - None, # 2846 - None, # 2847 - None, # 2848 - None, # 2849 - None, # 2850 - None, # 2851 - None, # 2852 - None, # 2853 - None, # 2854 - None, # 2855 - None, # 2856 - None, # 2857 - None, # 2858 - None, # 2859 - None, # 2860 - None, # 2861 - None, # 2862 - None, # 2863 - None, # 2864 - None, # 2865 - None, # 2866 - None, # 2867 - None, # 2868 - None, # 2869 - None, # 2870 - None, # 2871 - None, # 2872 - None, # 2873 - None, # 2874 - None, # 2875 - None, # 2876 - None, # 2877 - None, # 2878 - None, # 2879 - None, # 2880 - None, # 2881 - None, # 2882 - None, # 2883 - None, # 2884 - None, # 2885 - None, # 2886 - None, # 2887 - None, # 2888 - None, # 2889 - None, # 2890 - None, # 2891 - None, # 2892 - None, # 2893 - None, # 2894 - None, # 2895 - None, # 2896 - None, # 2897 - None, # 2898 - None, # 2899 - None, # 2900 - None, # 2901 - None, # 2902 - None, # 2903 - None, # 2904 - None, # 2905 - None, # 2906 - None, # 2907 - None, # 2908 - None, # 2909 - None, # 2910 - None, # 2911 - None, # 2912 - None, # 2913 - None, # 2914 - None, # 2915 - None, # 2916 - None, # 2917 - None, # 2918 - None, # 2919 - None, # 2920 - None, # 2921 - None, # 2922 - None, # 2923 - None, # 2924 - None, # 2925 - None, # 2926 - None, # 2927 - None, # 2928 - None, # 2929 - None, # 2930 - None, # 2931 - None, # 2932 - None, # 2933 - None, # 2934 - None, # 2935 - None, # 2936 - None, # 2937 - None, # 2938 - None, # 2939 - None, # 2940 - None, # 2941 - None, # 2942 - None, # 2943 - None, # 2944 - None, # 2945 - None, # 2946 - None, # 2947 - None, # 2948 - None, # 2949 - None, # 2950 - None, # 2951 - None, # 2952 - None, # 2953 - None, # 2954 - None, # 2955 - None, # 2956 - None, # 2957 - None, # 2958 - None, # 2959 - None, # 2960 - None, # 2961 - None, # 2962 - None, # 2963 - None, # 2964 - None, # 2965 - None, # 2966 - None, # 2967 - None, # 2968 - None, # 2969 - None, # 2970 - None, # 2971 - None, # 2972 - None, # 2973 - None, # 2974 - None, # 2975 - None, # 2976 - None, # 2977 - None, # 2978 - None, # 2979 - None, # 2980 - None, # 2981 - None, # 2982 - None, # 2983 - None, # 2984 - None, # 2985 - None, # 2986 - None, # 2987 - None, # 2988 - None, # 2989 - None, # 2990 - None, # 2991 - None, # 2992 - None, # 2993 - None, # 2994 - None, # 2995 - None, # 2996 - None, # 2997 - None, # 2998 - None, # 2999 - None, # 3000 - None, # 3001 - None, # 3002 - None, # 3003 - None, # 3004 - None, # 3005 - None, # 3006 - None, # 3007 - None, # 3008 - None, # 3009 - None, # 3010 - None, # 3011 - None, # 3012 - None, # 3013 - None, # 3014 - None, # 3015 - None, # 3016 - None, # 3017 - None, # 3018 - None, # 3019 - None, # 3020 - None, # 3021 - None, # 3022 - None, # 3023 - None, # 3024 - None, # 3025 - None, # 3026 - None, # 3027 - None, # 3028 - None, # 3029 - None, # 3030 - None, # 3031 - None, # 3032 - None, # 3033 - None, # 3034 - None, # 3035 - None, # 3036 - None, # 3037 - None, # 3038 - None, # 3039 - None, # 3040 - None, # 3041 - None, # 3042 - None, # 3043 - None, # 3044 - None, # 3045 - None, # 3046 - None, # 3047 - None, # 3048 - None, # 3049 - None, # 3050 - None, # 3051 - None, # 3052 - None, # 3053 - None, # 3054 - None, # 3055 - None, # 3056 - None, # 3057 - None, # 3058 - None, # 3059 - None, # 3060 - None, # 3061 - None, # 3062 - None, # 3063 - None, # 3064 - None, # 3065 - None, # 3066 - None, # 3067 - None, # 3068 - None, # 3069 - None, # 3070 - None, # 3071 - None, # 3072 - None, # 3073 - None, # 3074 - None, # 3075 - None, # 3076 - None, # 3077 - None, # 3078 - None, # 3079 - None, # 3080 - None, # 3081 - None, # 3082 - None, # 3083 - None, # 3084 - None, # 3085 - None, # 3086 - None, # 3087 - None, # 3088 - None, # 3089 - None, # 3090 - None, # 3091 - None, # 3092 - None, # 3093 - None, # 3094 - None, # 3095 - None, # 3096 - None, # 3097 - None, # 3098 - None, # 3099 - None, # 3100 - None, # 3101 - None, # 3102 - None, # 3103 - None, # 3104 - None, # 3105 - None, # 3106 - None, # 3107 - None, # 3108 - None, # 3109 - None, # 3110 - None, # 3111 - None, # 3112 - None, # 3113 - None, # 3114 - None, # 3115 - None, # 3116 - None, # 3117 - None, # 3118 - None, # 3119 - None, # 3120 - None, # 3121 - None, # 3122 - None, # 3123 - None, # 3124 - None, # 3125 - None, # 3126 - None, # 3127 - None, # 3128 - None, # 3129 - None, # 3130 - None, # 3131 - None, # 3132 - None, # 3133 - None, # 3134 - None, # 3135 - None, # 3136 - None, # 3137 - None, # 3138 - None, # 3139 - None, # 3140 - None, # 3141 - None, # 3142 - None, # 3143 - None, # 3144 - None, # 3145 - None, # 3146 - None, # 3147 - None, # 3148 - None, # 3149 - None, # 3150 - None, # 3151 - None, # 3152 - None, # 3153 - None, # 3154 - None, # 3155 - None, # 3156 - None, # 3157 - None, # 3158 - None, # 3159 - None, # 3160 - None, # 3161 - None, # 3162 - None, # 3163 - None, # 3164 - None, # 3165 - None, # 3166 - None, # 3167 - None, # 3168 - None, # 3169 - None, # 3170 - None, # 3171 - None, # 3172 - None, # 3173 - None, # 3174 - None, # 3175 - None, # 3176 - None, # 3177 - None, # 3178 - None, # 3179 - None, # 3180 - None, # 3181 - None, # 3182 - None, # 3183 - None, # 3184 - None, # 3185 - None, # 3186 - None, # 3187 - None, # 3188 - None, # 3189 - None, # 3190 - None, # 3191 - None, # 3192 - None, # 3193 - None, # 3194 - None, # 3195 - None, # 3196 - None, # 3197 - None, # 3198 - None, # 3199 - None, # 3200 - None, # 3201 - None, # 3202 - None, # 3203 - None, # 3204 - None, # 3205 - None, # 3206 - None, # 3207 - None, # 3208 - None, # 3209 - None, # 3210 - None, # 3211 - None, # 3212 - None, # 3213 - None, # 3214 - None, # 3215 - None, # 3216 - None, # 3217 - None, # 3218 - None, # 3219 - None, # 3220 - None, # 3221 - None, # 3222 - None, # 3223 - None, # 3224 - None, # 3225 - None, # 3226 - None, # 3227 - None, # 3228 - None, # 3229 - None, # 3230 - None, # 3231 - None, # 3232 - None, # 3233 - None, # 3234 - None, # 3235 - None, # 3236 - None, # 3237 - None, # 3238 - None, # 3239 - None, # 3240 - None, # 3241 - None, # 3242 - None, # 3243 - None, # 3244 - None, # 3245 - None, # 3246 - None, # 3247 - None, # 3248 - None, # 3249 - None, # 3250 - None, # 3251 - None, # 3252 - None, # 3253 - None, # 3254 - None, # 3255 - None, # 3256 - None, # 3257 - None, # 3258 - None, # 3259 - None, # 3260 - None, # 3261 - None, # 3262 - None, # 3263 - None, # 3264 - None, # 3265 - None, # 3266 - None, # 3267 - None, # 3268 - None, # 3269 - None, # 3270 - None, # 3271 - None, # 3272 - None, # 3273 - None, # 3274 - None, # 3275 - None, # 3276 - None, # 3277 - None, # 3278 - None, # 3279 - None, # 3280 - None, # 3281 - None, # 3282 - None, # 3283 - None, # 3284 - None, # 3285 - None, # 3286 - None, # 3287 - None, # 3288 - None, # 3289 - None, # 3290 - None, # 3291 - None, # 3292 - None, # 3293 - None, # 3294 - None, # 3295 - None, # 3296 - None, # 3297 - None, # 3298 - None, # 3299 - None, # 3300 - None, # 3301 - None, # 3302 - None, # 3303 - None, # 3304 - None, # 3305 - None, # 3306 - None, # 3307 - None, # 3308 - None, # 3309 - None, # 3310 - None, # 3311 - None, # 3312 - None, # 3313 - None, # 3314 - None, # 3315 - None, # 3316 - None, # 3317 - None, # 3318 - None, # 3319 - None, # 3320 - None, # 3321 - None, # 3322 - None, # 3323 - None, # 3324 - None, # 3325 - None, # 3326 - None, # 3327 - None, # 3328 - (3329, TType.STRUCT, 'operationId', [THandleIdentifier, None], None, ), # 3329 - (3330, TType.STRUCT, 'sessionConf', [TDBSqlSessionConf, None], None, ), # 3330 + None, # 0 + (1, TType.STRUCT, 'sessionHandle', [TSessionHandle, None], None, ), # 1 + None, # 2 + None, # 3 + None, # 4 + None, # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + (1281, TType.STRUCT, 'getDirectResults', [TSparkGetDirectResults, None], None, ), # 1281 + (1282, TType.BOOL, 'runAsync', None, False, ), # 1282 + None, # 1283 + None, # 1284 + None, # 1285 + None, # 1286 + None, # 1287 + None, # 1288 + None, # 1289 + None, # 1290 + None, # 1291 + None, # 1292 + None, # 1293 + None, # 1294 + None, # 1295 + None, # 1296 + None, # 1297 + None, # 1298 + None, # 1299 + None, # 1300 + None, # 1301 + None, # 1302 + None, # 1303 + None, # 1304 + None, # 1305 + None, # 1306 + None, # 1307 + None, # 1308 + None, # 1309 + None, # 1310 + None, # 1311 + None, # 1312 + None, # 1313 + None, # 1314 + None, # 1315 + None, # 1316 + None, # 1317 + None, # 1318 + None, # 1319 + None, # 1320 + None, # 1321 + None, # 1322 + None, # 1323 + None, # 1324 + None, # 1325 + None, # 1326 + None, # 1327 + None, # 1328 + None, # 1329 + None, # 1330 + None, # 1331 + None, # 1332 + None, # 1333 + None, # 1334 + None, # 1335 + None, # 1336 + None, # 1337 + None, # 1338 + None, # 1339 + None, # 1340 + None, # 1341 + None, # 1342 + None, # 1343 + None, # 1344 + None, # 1345 + None, # 1346 + None, # 1347 + None, # 1348 + None, # 1349 + None, # 1350 + None, # 1351 + None, # 1352 + None, # 1353 + None, # 1354 + None, # 1355 + None, # 1356 + None, # 1357 + None, # 1358 + None, # 1359 + None, # 1360 + None, # 1361 + None, # 1362 + None, # 1363 + None, # 1364 + None, # 1365 + None, # 1366 + None, # 1367 + None, # 1368 + None, # 1369 + None, # 1370 + None, # 1371 + None, # 1372 + None, # 1373 + None, # 1374 + None, # 1375 + None, # 1376 + None, # 1377 + None, # 1378 + None, # 1379 + None, # 1380 + None, # 1381 + None, # 1382 + None, # 1383 + None, # 1384 + None, # 1385 + None, # 1386 + None, # 1387 + None, # 1388 + None, # 1389 + None, # 1390 + None, # 1391 + None, # 1392 + None, # 1393 + None, # 1394 + None, # 1395 + None, # 1396 + None, # 1397 + None, # 1398 + None, # 1399 + None, # 1400 + None, # 1401 + None, # 1402 + None, # 1403 + None, # 1404 + None, # 1405 + None, # 1406 + None, # 1407 + None, # 1408 + None, # 1409 + None, # 1410 + None, # 1411 + None, # 1412 + None, # 1413 + None, # 1414 + None, # 1415 + None, # 1416 + None, # 1417 + None, # 1418 + None, # 1419 + None, # 1420 + None, # 1421 + None, # 1422 + None, # 1423 + None, # 1424 + None, # 1425 + None, # 1426 + None, # 1427 + None, # 1428 + None, # 1429 + None, # 1430 + None, # 1431 + None, # 1432 + None, # 1433 + None, # 1434 + None, # 1435 + None, # 1436 + None, # 1437 + None, # 1438 + None, # 1439 + None, # 1440 + None, # 1441 + None, # 1442 + None, # 1443 + None, # 1444 + None, # 1445 + None, # 1446 + None, # 1447 + None, # 1448 + None, # 1449 + None, # 1450 + None, # 1451 + None, # 1452 + None, # 1453 + None, # 1454 + None, # 1455 + None, # 1456 + None, # 1457 + None, # 1458 + None, # 1459 + None, # 1460 + None, # 1461 + None, # 1462 + None, # 1463 + None, # 1464 + None, # 1465 + None, # 1466 + None, # 1467 + None, # 1468 + None, # 1469 + None, # 1470 + None, # 1471 + None, # 1472 + None, # 1473 + None, # 1474 + None, # 1475 + None, # 1476 + None, # 1477 + None, # 1478 + None, # 1479 + None, # 1480 + None, # 1481 + None, # 1482 + None, # 1483 + None, # 1484 + None, # 1485 + None, # 1486 + None, # 1487 + None, # 1488 + None, # 1489 + None, # 1490 + None, # 1491 + None, # 1492 + None, # 1493 + None, # 1494 + None, # 1495 + None, # 1496 + None, # 1497 + None, # 1498 + None, # 1499 + None, # 1500 + None, # 1501 + None, # 1502 + None, # 1503 + None, # 1504 + None, # 1505 + None, # 1506 + None, # 1507 + None, # 1508 + None, # 1509 + None, # 1510 + None, # 1511 + None, # 1512 + None, # 1513 + None, # 1514 + None, # 1515 + None, # 1516 + None, # 1517 + None, # 1518 + None, # 1519 + None, # 1520 + None, # 1521 + None, # 1522 + None, # 1523 + None, # 1524 + None, # 1525 + None, # 1526 + None, # 1527 + None, # 1528 + None, # 1529 + None, # 1530 + None, # 1531 + None, # 1532 + None, # 1533 + None, # 1534 + None, # 1535 + None, # 1536 + None, # 1537 + None, # 1538 + None, # 1539 + None, # 1540 + None, # 1541 + None, # 1542 + None, # 1543 + None, # 1544 + None, # 1545 + None, # 1546 + None, # 1547 + None, # 1548 + None, # 1549 + None, # 1550 + None, # 1551 + None, # 1552 + None, # 1553 + None, # 1554 + None, # 1555 + None, # 1556 + None, # 1557 + None, # 1558 + None, # 1559 + None, # 1560 + None, # 1561 + None, # 1562 + None, # 1563 + None, # 1564 + None, # 1565 + None, # 1566 + None, # 1567 + None, # 1568 + None, # 1569 + None, # 1570 + None, # 1571 + None, # 1572 + None, # 1573 + None, # 1574 + None, # 1575 + None, # 1576 + None, # 1577 + None, # 1578 + None, # 1579 + None, # 1580 + None, # 1581 + None, # 1582 + None, # 1583 + None, # 1584 + None, # 1585 + None, # 1586 + None, # 1587 + None, # 1588 + None, # 1589 + None, # 1590 + None, # 1591 + None, # 1592 + None, # 1593 + None, # 1594 + None, # 1595 + None, # 1596 + None, # 1597 + None, # 1598 + None, # 1599 + None, # 1600 + None, # 1601 + None, # 1602 + None, # 1603 + None, # 1604 + None, # 1605 + None, # 1606 + None, # 1607 + None, # 1608 + None, # 1609 + None, # 1610 + None, # 1611 + None, # 1612 + None, # 1613 + None, # 1614 + None, # 1615 + None, # 1616 + None, # 1617 + None, # 1618 + None, # 1619 + None, # 1620 + None, # 1621 + None, # 1622 + None, # 1623 + None, # 1624 + None, # 1625 + None, # 1626 + None, # 1627 + None, # 1628 + None, # 1629 + None, # 1630 + None, # 1631 + None, # 1632 + None, # 1633 + None, # 1634 + None, # 1635 + None, # 1636 + None, # 1637 + None, # 1638 + None, # 1639 + None, # 1640 + None, # 1641 + None, # 1642 + None, # 1643 + None, # 1644 + None, # 1645 + None, # 1646 + None, # 1647 + None, # 1648 + None, # 1649 + None, # 1650 + None, # 1651 + None, # 1652 + None, # 1653 + None, # 1654 + None, # 1655 + None, # 1656 + None, # 1657 + None, # 1658 + None, # 1659 + None, # 1660 + None, # 1661 + None, # 1662 + None, # 1663 + None, # 1664 + None, # 1665 + None, # 1666 + None, # 1667 + None, # 1668 + None, # 1669 + None, # 1670 + None, # 1671 + None, # 1672 + None, # 1673 + None, # 1674 + None, # 1675 + None, # 1676 + None, # 1677 + None, # 1678 + None, # 1679 + None, # 1680 + None, # 1681 + None, # 1682 + None, # 1683 + None, # 1684 + None, # 1685 + None, # 1686 + None, # 1687 + None, # 1688 + None, # 1689 + None, # 1690 + None, # 1691 + None, # 1692 + None, # 1693 + None, # 1694 + None, # 1695 + None, # 1696 + None, # 1697 + None, # 1698 + None, # 1699 + None, # 1700 + None, # 1701 + None, # 1702 + None, # 1703 + None, # 1704 + None, # 1705 + None, # 1706 + None, # 1707 + None, # 1708 + None, # 1709 + None, # 1710 + None, # 1711 + None, # 1712 + None, # 1713 + None, # 1714 + None, # 1715 + None, # 1716 + None, # 1717 + None, # 1718 + None, # 1719 + None, # 1720 + None, # 1721 + None, # 1722 + None, # 1723 + None, # 1724 + None, # 1725 + None, # 1726 + None, # 1727 + None, # 1728 + None, # 1729 + None, # 1730 + None, # 1731 + None, # 1732 + None, # 1733 + None, # 1734 + None, # 1735 + None, # 1736 + None, # 1737 + None, # 1738 + None, # 1739 + None, # 1740 + None, # 1741 + None, # 1742 + None, # 1743 + None, # 1744 + None, # 1745 + None, # 1746 + None, # 1747 + None, # 1748 + None, # 1749 + None, # 1750 + None, # 1751 + None, # 1752 + None, # 1753 + None, # 1754 + None, # 1755 + None, # 1756 + None, # 1757 + None, # 1758 + None, # 1759 + None, # 1760 + None, # 1761 + None, # 1762 + None, # 1763 + None, # 1764 + None, # 1765 + None, # 1766 + None, # 1767 + None, # 1768 + None, # 1769 + None, # 1770 + None, # 1771 + None, # 1772 + None, # 1773 + None, # 1774 + None, # 1775 + None, # 1776 + None, # 1777 + None, # 1778 + None, # 1779 + None, # 1780 + None, # 1781 + None, # 1782 + None, # 1783 + None, # 1784 + None, # 1785 + None, # 1786 + None, # 1787 + None, # 1788 + None, # 1789 + None, # 1790 + None, # 1791 + None, # 1792 + None, # 1793 + None, # 1794 + None, # 1795 + None, # 1796 + None, # 1797 + None, # 1798 + None, # 1799 + None, # 1800 + None, # 1801 + None, # 1802 + None, # 1803 + None, # 1804 + None, # 1805 + None, # 1806 + None, # 1807 + None, # 1808 + None, # 1809 + None, # 1810 + None, # 1811 + None, # 1812 + None, # 1813 + None, # 1814 + None, # 1815 + None, # 1816 + None, # 1817 + None, # 1818 + None, # 1819 + None, # 1820 + None, # 1821 + None, # 1822 + None, # 1823 + None, # 1824 + None, # 1825 + None, # 1826 + None, # 1827 + None, # 1828 + None, # 1829 + None, # 1830 + None, # 1831 + None, # 1832 + None, # 1833 + None, # 1834 + None, # 1835 + None, # 1836 + None, # 1837 + None, # 1838 + None, # 1839 + None, # 1840 + None, # 1841 + None, # 1842 + None, # 1843 + None, # 1844 + None, # 1845 + None, # 1846 + None, # 1847 + None, # 1848 + None, # 1849 + None, # 1850 + None, # 1851 + None, # 1852 + None, # 1853 + None, # 1854 + None, # 1855 + None, # 1856 + None, # 1857 + None, # 1858 + None, # 1859 + None, # 1860 + None, # 1861 + None, # 1862 + None, # 1863 + None, # 1864 + None, # 1865 + None, # 1866 + None, # 1867 + None, # 1868 + None, # 1869 + None, # 1870 + None, # 1871 + None, # 1872 + None, # 1873 + None, # 1874 + None, # 1875 + None, # 1876 + None, # 1877 + None, # 1878 + None, # 1879 + None, # 1880 + None, # 1881 + None, # 1882 + None, # 1883 + None, # 1884 + None, # 1885 + None, # 1886 + None, # 1887 + None, # 1888 + None, # 1889 + None, # 1890 + None, # 1891 + None, # 1892 + None, # 1893 + None, # 1894 + None, # 1895 + None, # 1896 + None, # 1897 + None, # 1898 + None, # 1899 + None, # 1900 + None, # 1901 + None, # 1902 + None, # 1903 + None, # 1904 + None, # 1905 + None, # 1906 + None, # 1907 + None, # 1908 + None, # 1909 + None, # 1910 + None, # 1911 + None, # 1912 + None, # 1913 + None, # 1914 + None, # 1915 + None, # 1916 + None, # 1917 + None, # 1918 + None, # 1919 + None, # 1920 + None, # 1921 + None, # 1922 + None, # 1923 + None, # 1924 + None, # 1925 + None, # 1926 + None, # 1927 + None, # 1928 + None, # 1929 + None, # 1930 + None, # 1931 + None, # 1932 + None, # 1933 + None, # 1934 + None, # 1935 + None, # 1936 + None, # 1937 + None, # 1938 + None, # 1939 + None, # 1940 + None, # 1941 + None, # 1942 + None, # 1943 + None, # 1944 + None, # 1945 + None, # 1946 + None, # 1947 + None, # 1948 + None, # 1949 + None, # 1950 + None, # 1951 + None, # 1952 + None, # 1953 + None, # 1954 + None, # 1955 + None, # 1956 + None, # 1957 + None, # 1958 + None, # 1959 + None, # 1960 + None, # 1961 + None, # 1962 + None, # 1963 + None, # 1964 + None, # 1965 + None, # 1966 + None, # 1967 + None, # 1968 + None, # 1969 + None, # 1970 + None, # 1971 + None, # 1972 + None, # 1973 + None, # 1974 + None, # 1975 + None, # 1976 + None, # 1977 + None, # 1978 + None, # 1979 + None, # 1980 + None, # 1981 + None, # 1982 + None, # 1983 + None, # 1984 + None, # 1985 + None, # 1986 + None, # 1987 + None, # 1988 + None, # 1989 + None, # 1990 + None, # 1991 + None, # 1992 + None, # 1993 + None, # 1994 + None, # 1995 + None, # 1996 + None, # 1997 + None, # 1998 + None, # 1999 + None, # 2000 + None, # 2001 + None, # 2002 + None, # 2003 + None, # 2004 + None, # 2005 + None, # 2006 + None, # 2007 + None, # 2008 + None, # 2009 + None, # 2010 + None, # 2011 + None, # 2012 + None, # 2013 + None, # 2014 + None, # 2015 + None, # 2016 + None, # 2017 + None, # 2018 + None, # 2019 + None, # 2020 + None, # 2021 + None, # 2022 + None, # 2023 + None, # 2024 + None, # 2025 + None, # 2026 + None, # 2027 + None, # 2028 + None, # 2029 + None, # 2030 + None, # 2031 + None, # 2032 + None, # 2033 + None, # 2034 + None, # 2035 + None, # 2036 + None, # 2037 + None, # 2038 + None, # 2039 + None, # 2040 + None, # 2041 + None, # 2042 + None, # 2043 + None, # 2044 + None, # 2045 + None, # 2046 + None, # 2047 + None, # 2048 + None, # 2049 + None, # 2050 + None, # 2051 + None, # 2052 + None, # 2053 + None, # 2054 + None, # 2055 + None, # 2056 + None, # 2057 + None, # 2058 + None, # 2059 + None, # 2060 + None, # 2061 + None, # 2062 + None, # 2063 + None, # 2064 + None, # 2065 + None, # 2066 + None, # 2067 + None, # 2068 + None, # 2069 + None, # 2070 + None, # 2071 + None, # 2072 + None, # 2073 + None, # 2074 + None, # 2075 + None, # 2076 + None, # 2077 + None, # 2078 + None, # 2079 + None, # 2080 + None, # 2081 + None, # 2082 + None, # 2083 + None, # 2084 + None, # 2085 + None, # 2086 + None, # 2087 + None, # 2088 + None, # 2089 + None, # 2090 + None, # 2091 + None, # 2092 + None, # 2093 + None, # 2094 + None, # 2095 + None, # 2096 + None, # 2097 + None, # 2098 + None, # 2099 + None, # 2100 + None, # 2101 + None, # 2102 + None, # 2103 + None, # 2104 + None, # 2105 + None, # 2106 + None, # 2107 + None, # 2108 + None, # 2109 + None, # 2110 + None, # 2111 + None, # 2112 + None, # 2113 + None, # 2114 + None, # 2115 + None, # 2116 + None, # 2117 + None, # 2118 + None, # 2119 + None, # 2120 + None, # 2121 + None, # 2122 + None, # 2123 + None, # 2124 + None, # 2125 + None, # 2126 + None, # 2127 + None, # 2128 + None, # 2129 + None, # 2130 + None, # 2131 + None, # 2132 + None, # 2133 + None, # 2134 + None, # 2135 + None, # 2136 + None, # 2137 + None, # 2138 + None, # 2139 + None, # 2140 + None, # 2141 + None, # 2142 + None, # 2143 + None, # 2144 + None, # 2145 + None, # 2146 + None, # 2147 + None, # 2148 + None, # 2149 + None, # 2150 + None, # 2151 + None, # 2152 + None, # 2153 + None, # 2154 + None, # 2155 + None, # 2156 + None, # 2157 + None, # 2158 + None, # 2159 + None, # 2160 + None, # 2161 + None, # 2162 + None, # 2163 + None, # 2164 + None, # 2165 + None, # 2166 + None, # 2167 + None, # 2168 + None, # 2169 + None, # 2170 + None, # 2171 + None, # 2172 + None, # 2173 + None, # 2174 + None, # 2175 + None, # 2176 + None, # 2177 + None, # 2178 + None, # 2179 + None, # 2180 + None, # 2181 + None, # 2182 + None, # 2183 + None, # 2184 + None, # 2185 + None, # 2186 + None, # 2187 + None, # 2188 + None, # 2189 + None, # 2190 + None, # 2191 + None, # 2192 + None, # 2193 + None, # 2194 + None, # 2195 + None, # 2196 + None, # 2197 + None, # 2198 + None, # 2199 + None, # 2200 + None, # 2201 + None, # 2202 + None, # 2203 + None, # 2204 + None, # 2205 + None, # 2206 + None, # 2207 + None, # 2208 + None, # 2209 + None, # 2210 + None, # 2211 + None, # 2212 + None, # 2213 + None, # 2214 + None, # 2215 + None, # 2216 + None, # 2217 + None, # 2218 + None, # 2219 + None, # 2220 + None, # 2221 + None, # 2222 + None, # 2223 + None, # 2224 + None, # 2225 + None, # 2226 + None, # 2227 + None, # 2228 + None, # 2229 + None, # 2230 + None, # 2231 + None, # 2232 + None, # 2233 + None, # 2234 + None, # 2235 + None, # 2236 + None, # 2237 + None, # 2238 + None, # 2239 + None, # 2240 + None, # 2241 + None, # 2242 + None, # 2243 + None, # 2244 + None, # 2245 + None, # 2246 + None, # 2247 + None, # 2248 + None, # 2249 + None, # 2250 + None, # 2251 + None, # 2252 + None, # 2253 + None, # 2254 + None, # 2255 + None, # 2256 + None, # 2257 + None, # 2258 + None, # 2259 + None, # 2260 + None, # 2261 + None, # 2262 + None, # 2263 + None, # 2264 + None, # 2265 + None, # 2266 + None, # 2267 + None, # 2268 + None, # 2269 + None, # 2270 + None, # 2271 + None, # 2272 + None, # 2273 + None, # 2274 + None, # 2275 + None, # 2276 + None, # 2277 + None, # 2278 + None, # 2279 + None, # 2280 + None, # 2281 + None, # 2282 + None, # 2283 + None, # 2284 + None, # 2285 + None, # 2286 + None, # 2287 + None, # 2288 + None, # 2289 + None, # 2290 + None, # 2291 + None, # 2292 + None, # 2293 + None, # 2294 + None, # 2295 + None, # 2296 + None, # 2297 + None, # 2298 + None, # 2299 + None, # 2300 + None, # 2301 + None, # 2302 + None, # 2303 + None, # 2304 + None, # 2305 + None, # 2306 + None, # 2307 + None, # 2308 + None, # 2309 + None, # 2310 + None, # 2311 + None, # 2312 + None, # 2313 + None, # 2314 + None, # 2315 + None, # 2316 + None, # 2317 + None, # 2318 + None, # 2319 + None, # 2320 + None, # 2321 + None, # 2322 + None, # 2323 + None, # 2324 + None, # 2325 + None, # 2326 + None, # 2327 + None, # 2328 + None, # 2329 + None, # 2330 + None, # 2331 + None, # 2332 + None, # 2333 + None, # 2334 + None, # 2335 + None, # 2336 + None, # 2337 + None, # 2338 + None, # 2339 + None, # 2340 + None, # 2341 + None, # 2342 + None, # 2343 + None, # 2344 + None, # 2345 + None, # 2346 + None, # 2347 + None, # 2348 + None, # 2349 + None, # 2350 + None, # 2351 + None, # 2352 + None, # 2353 + None, # 2354 + None, # 2355 + None, # 2356 + None, # 2357 + None, # 2358 + None, # 2359 + None, # 2360 + None, # 2361 + None, # 2362 + None, # 2363 + None, # 2364 + None, # 2365 + None, # 2366 + None, # 2367 + None, # 2368 + None, # 2369 + None, # 2370 + None, # 2371 + None, # 2372 + None, # 2373 + None, # 2374 + None, # 2375 + None, # 2376 + None, # 2377 + None, # 2378 + None, # 2379 + None, # 2380 + None, # 2381 + None, # 2382 + None, # 2383 + None, # 2384 + None, # 2385 + None, # 2386 + None, # 2387 + None, # 2388 + None, # 2389 + None, # 2390 + None, # 2391 + None, # 2392 + None, # 2393 + None, # 2394 + None, # 2395 + None, # 2396 + None, # 2397 + None, # 2398 + None, # 2399 + None, # 2400 + None, # 2401 + None, # 2402 + None, # 2403 + None, # 2404 + None, # 2405 + None, # 2406 + None, # 2407 + None, # 2408 + None, # 2409 + None, # 2410 + None, # 2411 + None, # 2412 + None, # 2413 + None, # 2414 + None, # 2415 + None, # 2416 + None, # 2417 + None, # 2418 + None, # 2419 + None, # 2420 + None, # 2421 + None, # 2422 + None, # 2423 + None, # 2424 + None, # 2425 + None, # 2426 + None, # 2427 + None, # 2428 + None, # 2429 + None, # 2430 + None, # 2431 + None, # 2432 + None, # 2433 + None, # 2434 + None, # 2435 + None, # 2436 + None, # 2437 + None, # 2438 + None, # 2439 + None, # 2440 + None, # 2441 + None, # 2442 + None, # 2443 + None, # 2444 + None, # 2445 + None, # 2446 + None, # 2447 + None, # 2448 + None, # 2449 + None, # 2450 + None, # 2451 + None, # 2452 + None, # 2453 + None, # 2454 + None, # 2455 + None, # 2456 + None, # 2457 + None, # 2458 + None, # 2459 + None, # 2460 + None, # 2461 + None, # 2462 + None, # 2463 + None, # 2464 + None, # 2465 + None, # 2466 + None, # 2467 + None, # 2468 + None, # 2469 + None, # 2470 + None, # 2471 + None, # 2472 + None, # 2473 + None, # 2474 + None, # 2475 + None, # 2476 + None, # 2477 + None, # 2478 + None, # 2479 + None, # 2480 + None, # 2481 + None, # 2482 + None, # 2483 + None, # 2484 + None, # 2485 + None, # 2486 + None, # 2487 + None, # 2488 + None, # 2489 + None, # 2490 + None, # 2491 + None, # 2492 + None, # 2493 + None, # 2494 + None, # 2495 + None, # 2496 + None, # 2497 + None, # 2498 + None, # 2499 + None, # 2500 + None, # 2501 + None, # 2502 + None, # 2503 + None, # 2504 + None, # 2505 + None, # 2506 + None, # 2507 + None, # 2508 + None, # 2509 + None, # 2510 + None, # 2511 + None, # 2512 + None, # 2513 + None, # 2514 + None, # 2515 + None, # 2516 + None, # 2517 + None, # 2518 + None, # 2519 + None, # 2520 + None, # 2521 + None, # 2522 + None, # 2523 + None, # 2524 + None, # 2525 + None, # 2526 + None, # 2527 + None, # 2528 + None, # 2529 + None, # 2530 + None, # 2531 + None, # 2532 + None, # 2533 + None, # 2534 + None, # 2535 + None, # 2536 + None, # 2537 + None, # 2538 + None, # 2539 + None, # 2540 + None, # 2541 + None, # 2542 + None, # 2543 + None, # 2544 + None, # 2545 + None, # 2546 + None, # 2547 + None, # 2548 + None, # 2549 + None, # 2550 + None, # 2551 + None, # 2552 + None, # 2553 + None, # 2554 + None, # 2555 + None, # 2556 + None, # 2557 + None, # 2558 + None, # 2559 + None, # 2560 + None, # 2561 + None, # 2562 + None, # 2563 + None, # 2564 + None, # 2565 + None, # 2566 + None, # 2567 + None, # 2568 + None, # 2569 + None, # 2570 + None, # 2571 + None, # 2572 + None, # 2573 + None, # 2574 + None, # 2575 + None, # 2576 + None, # 2577 + None, # 2578 + None, # 2579 + None, # 2580 + None, # 2581 + None, # 2582 + None, # 2583 + None, # 2584 + None, # 2585 + None, # 2586 + None, # 2587 + None, # 2588 + None, # 2589 + None, # 2590 + None, # 2591 + None, # 2592 + None, # 2593 + None, # 2594 + None, # 2595 + None, # 2596 + None, # 2597 + None, # 2598 + None, # 2599 + None, # 2600 + None, # 2601 + None, # 2602 + None, # 2603 + None, # 2604 + None, # 2605 + None, # 2606 + None, # 2607 + None, # 2608 + None, # 2609 + None, # 2610 + None, # 2611 + None, # 2612 + None, # 2613 + None, # 2614 + None, # 2615 + None, # 2616 + None, # 2617 + None, # 2618 + None, # 2619 + None, # 2620 + None, # 2621 + None, # 2622 + None, # 2623 + None, # 2624 + None, # 2625 + None, # 2626 + None, # 2627 + None, # 2628 + None, # 2629 + None, # 2630 + None, # 2631 + None, # 2632 + None, # 2633 + None, # 2634 + None, # 2635 + None, # 2636 + None, # 2637 + None, # 2638 + None, # 2639 + None, # 2640 + None, # 2641 + None, # 2642 + None, # 2643 + None, # 2644 + None, # 2645 + None, # 2646 + None, # 2647 + None, # 2648 + None, # 2649 + None, # 2650 + None, # 2651 + None, # 2652 + None, # 2653 + None, # 2654 + None, # 2655 + None, # 2656 + None, # 2657 + None, # 2658 + None, # 2659 + None, # 2660 + None, # 2661 + None, # 2662 + None, # 2663 + None, # 2664 + None, # 2665 + None, # 2666 + None, # 2667 + None, # 2668 + None, # 2669 + None, # 2670 + None, # 2671 + None, # 2672 + None, # 2673 + None, # 2674 + None, # 2675 + None, # 2676 + None, # 2677 + None, # 2678 + None, # 2679 + None, # 2680 + None, # 2681 + None, # 2682 + None, # 2683 + None, # 2684 + None, # 2685 + None, # 2686 + None, # 2687 + None, # 2688 + None, # 2689 + None, # 2690 + None, # 2691 + None, # 2692 + None, # 2693 + None, # 2694 + None, # 2695 + None, # 2696 + None, # 2697 + None, # 2698 + None, # 2699 + None, # 2700 + None, # 2701 + None, # 2702 + None, # 2703 + None, # 2704 + None, # 2705 + None, # 2706 + None, # 2707 + None, # 2708 + None, # 2709 + None, # 2710 + None, # 2711 + None, # 2712 + None, # 2713 + None, # 2714 + None, # 2715 + None, # 2716 + None, # 2717 + None, # 2718 + None, # 2719 + None, # 2720 + None, # 2721 + None, # 2722 + None, # 2723 + None, # 2724 + None, # 2725 + None, # 2726 + None, # 2727 + None, # 2728 + None, # 2729 + None, # 2730 + None, # 2731 + None, # 2732 + None, # 2733 + None, # 2734 + None, # 2735 + None, # 2736 + None, # 2737 + None, # 2738 + None, # 2739 + None, # 2740 + None, # 2741 + None, # 2742 + None, # 2743 + None, # 2744 + None, # 2745 + None, # 2746 + None, # 2747 + None, # 2748 + None, # 2749 + None, # 2750 + None, # 2751 + None, # 2752 + None, # 2753 + None, # 2754 + None, # 2755 + None, # 2756 + None, # 2757 + None, # 2758 + None, # 2759 + None, # 2760 + None, # 2761 + None, # 2762 + None, # 2763 + None, # 2764 + None, # 2765 + None, # 2766 + None, # 2767 + None, # 2768 + None, # 2769 + None, # 2770 + None, # 2771 + None, # 2772 + None, # 2773 + None, # 2774 + None, # 2775 + None, # 2776 + None, # 2777 + None, # 2778 + None, # 2779 + None, # 2780 + None, # 2781 + None, # 2782 + None, # 2783 + None, # 2784 + None, # 2785 + None, # 2786 + None, # 2787 + None, # 2788 + None, # 2789 + None, # 2790 + None, # 2791 + None, # 2792 + None, # 2793 + None, # 2794 + None, # 2795 + None, # 2796 + None, # 2797 + None, # 2798 + None, # 2799 + None, # 2800 + None, # 2801 + None, # 2802 + None, # 2803 + None, # 2804 + None, # 2805 + None, # 2806 + None, # 2807 + None, # 2808 + None, # 2809 + None, # 2810 + None, # 2811 + None, # 2812 + None, # 2813 + None, # 2814 + None, # 2815 + None, # 2816 + None, # 2817 + None, # 2818 + None, # 2819 + None, # 2820 + None, # 2821 + None, # 2822 + None, # 2823 + None, # 2824 + None, # 2825 + None, # 2826 + None, # 2827 + None, # 2828 + None, # 2829 + None, # 2830 + None, # 2831 + None, # 2832 + None, # 2833 + None, # 2834 + None, # 2835 + None, # 2836 + None, # 2837 + None, # 2838 + None, # 2839 + None, # 2840 + None, # 2841 + None, # 2842 + None, # 2843 + None, # 2844 + None, # 2845 + None, # 2846 + None, # 2847 + None, # 2848 + None, # 2849 + None, # 2850 + None, # 2851 + None, # 2852 + None, # 2853 + None, # 2854 + None, # 2855 + None, # 2856 + None, # 2857 + None, # 2858 + None, # 2859 + None, # 2860 + None, # 2861 + None, # 2862 + None, # 2863 + None, # 2864 + None, # 2865 + None, # 2866 + None, # 2867 + None, # 2868 + None, # 2869 + None, # 2870 + None, # 2871 + None, # 2872 + None, # 2873 + None, # 2874 + None, # 2875 + None, # 2876 + None, # 2877 + None, # 2878 + None, # 2879 + None, # 2880 + None, # 2881 + None, # 2882 + None, # 2883 + None, # 2884 + None, # 2885 + None, # 2886 + None, # 2887 + None, # 2888 + None, # 2889 + None, # 2890 + None, # 2891 + None, # 2892 + None, # 2893 + None, # 2894 + None, # 2895 + None, # 2896 + None, # 2897 + None, # 2898 + None, # 2899 + None, # 2900 + None, # 2901 + None, # 2902 + None, # 2903 + None, # 2904 + None, # 2905 + None, # 2906 + None, # 2907 + None, # 2908 + None, # 2909 + None, # 2910 + None, # 2911 + None, # 2912 + None, # 2913 + None, # 2914 + None, # 2915 + None, # 2916 + None, # 2917 + None, # 2918 + None, # 2919 + None, # 2920 + None, # 2921 + None, # 2922 + None, # 2923 + None, # 2924 + None, # 2925 + None, # 2926 + None, # 2927 + None, # 2928 + None, # 2929 + None, # 2930 + None, # 2931 + None, # 2932 + None, # 2933 + None, # 2934 + None, # 2935 + None, # 2936 + None, # 2937 + None, # 2938 + None, # 2939 + None, # 2940 + None, # 2941 + None, # 2942 + None, # 2943 + None, # 2944 + None, # 2945 + None, # 2946 + None, # 2947 + None, # 2948 + None, # 2949 + None, # 2950 + None, # 2951 + None, # 2952 + None, # 2953 + None, # 2954 + None, # 2955 + None, # 2956 + None, # 2957 + None, # 2958 + None, # 2959 + None, # 2960 + None, # 2961 + None, # 2962 + None, # 2963 + None, # 2964 + None, # 2965 + None, # 2966 + None, # 2967 + None, # 2968 + None, # 2969 + None, # 2970 + None, # 2971 + None, # 2972 + None, # 2973 + None, # 2974 + None, # 2975 + None, # 2976 + None, # 2977 + None, # 2978 + None, # 2979 + None, # 2980 + None, # 2981 + None, # 2982 + None, # 2983 + None, # 2984 + None, # 2985 + None, # 2986 + None, # 2987 + None, # 2988 + None, # 2989 + None, # 2990 + None, # 2991 + None, # 2992 + None, # 2993 + None, # 2994 + None, # 2995 + None, # 2996 + None, # 2997 + None, # 2998 + None, # 2999 + None, # 3000 + None, # 3001 + None, # 3002 + None, # 3003 + None, # 3004 + None, # 3005 + None, # 3006 + None, # 3007 + None, # 3008 + None, # 3009 + None, # 3010 + None, # 3011 + None, # 3012 + None, # 3013 + None, # 3014 + None, # 3015 + None, # 3016 + None, # 3017 + None, # 3018 + None, # 3019 + None, # 3020 + None, # 3021 + None, # 3022 + None, # 3023 + None, # 3024 + None, # 3025 + None, # 3026 + None, # 3027 + None, # 3028 + None, # 3029 + None, # 3030 + None, # 3031 + None, # 3032 + None, # 3033 + None, # 3034 + None, # 3035 + None, # 3036 + None, # 3037 + None, # 3038 + None, # 3039 + None, # 3040 + None, # 3041 + None, # 3042 + None, # 3043 + None, # 3044 + None, # 3045 + None, # 3046 + None, # 3047 + None, # 3048 + None, # 3049 + None, # 3050 + None, # 3051 + None, # 3052 + None, # 3053 + None, # 3054 + None, # 3055 + None, # 3056 + None, # 3057 + None, # 3058 + None, # 3059 + None, # 3060 + None, # 3061 + None, # 3062 + None, # 3063 + None, # 3064 + None, # 3065 + None, # 3066 + None, # 3067 + None, # 3068 + None, # 3069 + None, # 3070 + None, # 3071 + None, # 3072 + None, # 3073 + None, # 3074 + None, # 3075 + None, # 3076 + None, # 3077 + None, # 3078 + None, # 3079 + None, # 3080 + None, # 3081 + None, # 3082 + None, # 3083 + None, # 3084 + None, # 3085 + None, # 3086 + None, # 3087 + None, # 3088 + None, # 3089 + None, # 3090 + None, # 3091 + None, # 3092 + None, # 3093 + None, # 3094 + None, # 3095 + None, # 3096 + None, # 3097 + None, # 3098 + None, # 3099 + None, # 3100 + None, # 3101 + None, # 3102 + None, # 3103 + None, # 3104 + None, # 3105 + None, # 3106 + None, # 3107 + None, # 3108 + None, # 3109 + None, # 3110 + None, # 3111 + None, # 3112 + None, # 3113 + None, # 3114 + None, # 3115 + None, # 3116 + None, # 3117 + None, # 3118 + None, # 3119 + None, # 3120 + None, # 3121 + None, # 3122 + None, # 3123 + None, # 3124 + None, # 3125 + None, # 3126 + None, # 3127 + None, # 3128 + None, # 3129 + None, # 3130 + None, # 3131 + None, # 3132 + None, # 3133 + None, # 3134 + None, # 3135 + None, # 3136 + None, # 3137 + None, # 3138 + None, # 3139 + None, # 3140 + None, # 3141 + None, # 3142 + None, # 3143 + None, # 3144 + None, # 3145 + None, # 3146 + None, # 3147 + None, # 3148 + None, # 3149 + None, # 3150 + None, # 3151 + None, # 3152 + None, # 3153 + None, # 3154 + None, # 3155 + None, # 3156 + None, # 3157 + None, # 3158 + None, # 3159 + None, # 3160 + None, # 3161 + None, # 3162 + None, # 3163 + None, # 3164 + None, # 3165 + None, # 3166 + None, # 3167 + None, # 3168 + None, # 3169 + None, # 3170 + None, # 3171 + None, # 3172 + None, # 3173 + None, # 3174 + None, # 3175 + None, # 3176 + None, # 3177 + None, # 3178 + None, # 3179 + None, # 3180 + None, # 3181 + None, # 3182 + None, # 3183 + None, # 3184 + None, # 3185 + None, # 3186 + None, # 3187 + None, # 3188 + None, # 3189 + None, # 3190 + None, # 3191 + None, # 3192 + None, # 3193 + None, # 3194 + None, # 3195 + None, # 3196 + None, # 3197 + None, # 3198 + None, # 3199 + None, # 3200 + None, # 3201 + None, # 3202 + None, # 3203 + None, # 3204 + None, # 3205 + None, # 3206 + None, # 3207 + None, # 3208 + None, # 3209 + None, # 3210 + None, # 3211 + None, # 3212 + None, # 3213 + None, # 3214 + None, # 3215 + None, # 3216 + None, # 3217 + None, # 3218 + None, # 3219 + None, # 3220 + None, # 3221 + None, # 3222 + None, # 3223 + None, # 3224 + None, # 3225 + None, # 3226 + None, # 3227 + None, # 3228 + None, # 3229 + None, # 3230 + None, # 3231 + None, # 3232 + None, # 3233 + None, # 3234 + None, # 3235 + None, # 3236 + None, # 3237 + None, # 3238 + None, # 3239 + None, # 3240 + None, # 3241 + None, # 3242 + None, # 3243 + None, # 3244 + None, # 3245 + None, # 3246 + None, # 3247 + None, # 3248 + None, # 3249 + None, # 3250 + None, # 3251 + None, # 3252 + None, # 3253 + None, # 3254 + None, # 3255 + None, # 3256 + None, # 3257 + None, # 3258 + None, # 3259 + None, # 3260 + None, # 3261 + None, # 3262 + None, # 3263 + None, # 3264 + None, # 3265 + None, # 3266 + None, # 3267 + None, # 3268 + None, # 3269 + None, # 3270 + None, # 3271 + None, # 3272 + None, # 3273 + None, # 3274 + None, # 3275 + None, # 3276 + None, # 3277 + None, # 3278 + None, # 3279 + None, # 3280 + None, # 3281 + None, # 3282 + None, # 3283 + None, # 3284 + None, # 3285 + None, # 3286 + None, # 3287 + None, # 3288 + None, # 3289 + None, # 3290 + None, # 3291 + None, # 3292 + None, # 3293 + None, # 3294 + None, # 3295 + None, # 3296 + None, # 3297 + None, # 3298 + None, # 3299 + None, # 3300 + None, # 3301 + None, # 3302 + None, # 3303 + None, # 3304 + None, # 3305 + None, # 3306 + None, # 3307 + None, # 3308 + None, # 3309 + None, # 3310 + None, # 3311 + None, # 3312 + None, # 3313 + None, # 3314 + None, # 3315 + None, # 3316 + None, # 3317 + None, # 3318 + None, # 3319 + None, # 3320 + None, # 3321 + None, # 3322 + None, # 3323 + None, # 3324 + None, # 3325 + None, # 3326 + None, # 3327 + None, # 3328 + (3329, TType.STRUCT, 'operationId', [THandleIdentifier, None], None, ), # 3329 + (3330, TType.STRUCT, 'sessionConf', [TDBSqlSessionConf, None], None, ), # 3330 ) all_structs.append(TGetTableTypesResp) TGetTableTypesResp.thrift_spec = ( - None, # 0 - (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 - (2, TType.STRUCT, 'operationHandle', [TOperationHandle, None], None, ), # 2 - None, # 3 - None, # 4 - None, # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - (1281, TType.STRUCT, 'directResults', [TSparkDirectResults, None], None, ), # 1281 + None, # 0 + (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 + (2, TType.STRUCT, 'operationHandle', [TOperationHandle, None], None, ), # 2 + None, # 3 + None, # 4 + None, # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + (1281, TType.STRUCT, 'directResults', [TSparkDirectResults, None], None, ), # 1281 ) all_structs.append(TGetColumnsReq) TGetColumnsReq.thrift_spec = ( - None, # 0 - (1, TType.STRUCT, 'sessionHandle', [TSessionHandle, None], None, ), # 1 - (2, TType.STRING, 'catalogName', 'UTF8', None, ), # 2 - (3, TType.STRING, 'schemaName', 'UTF8', None, ), # 3 - (4, TType.STRING, 'tableName', 'UTF8', None, ), # 4 - (5, TType.STRING, 'columnName', 'UTF8', None, ), # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - (1281, TType.STRUCT, 'getDirectResults', [TSparkGetDirectResults, None], None, ), # 1281 - (1282, TType.BOOL, 'runAsync', None, False, ), # 1282 - None, # 1283 - None, # 1284 - None, # 1285 - None, # 1286 - None, # 1287 - None, # 1288 - None, # 1289 - None, # 1290 - None, # 1291 - None, # 1292 - None, # 1293 - None, # 1294 - None, # 1295 - None, # 1296 - None, # 1297 - None, # 1298 - None, # 1299 - None, # 1300 - None, # 1301 - None, # 1302 - None, # 1303 - None, # 1304 - None, # 1305 - None, # 1306 - None, # 1307 - None, # 1308 - None, # 1309 - None, # 1310 - None, # 1311 - None, # 1312 - None, # 1313 - None, # 1314 - None, # 1315 - None, # 1316 - None, # 1317 - None, # 1318 - None, # 1319 - None, # 1320 - None, # 1321 - None, # 1322 - None, # 1323 - None, # 1324 - None, # 1325 - None, # 1326 - None, # 1327 - None, # 1328 - None, # 1329 - None, # 1330 - None, # 1331 - None, # 1332 - None, # 1333 - None, # 1334 - None, # 1335 - None, # 1336 - None, # 1337 - None, # 1338 - None, # 1339 - None, # 1340 - None, # 1341 - None, # 1342 - None, # 1343 - None, # 1344 - None, # 1345 - None, # 1346 - None, # 1347 - None, # 1348 - None, # 1349 - None, # 1350 - None, # 1351 - None, # 1352 - None, # 1353 - None, # 1354 - None, # 1355 - None, # 1356 - None, # 1357 - None, # 1358 - None, # 1359 - None, # 1360 - None, # 1361 - None, # 1362 - None, # 1363 - None, # 1364 - None, # 1365 - None, # 1366 - None, # 1367 - None, # 1368 - None, # 1369 - None, # 1370 - None, # 1371 - None, # 1372 - None, # 1373 - None, # 1374 - None, # 1375 - None, # 1376 - None, # 1377 - None, # 1378 - None, # 1379 - None, # 1380 - None, # 1381 - None, # 1382 - None, # 1383 - None, # 1384 - None, # 1385 - None, # 1386 - None, # 1387 - None, # 1388 - None, # 1389 - None, # 1390 - None, # 1391 - None, # 1392 - None, # 1393 - None, # 1394 - None, # 1395 - None, # 1396 - None, # 1397 - None, # 1398 - None, # 1399 - None, # 1400 - None, # 1401 - None, # 1402 - None, # 1403 - None, # 1404 - None, # 1405 - None, # 1406 - None, # 1407 - None, # 1408 - None, # 1409 - None, # 1410 - None, # 1411 - None, # 1412 - None, # 1413 - None, # 1414 - None, # 1415 - None, # 1416 - None, # 1417 - None, # 1418 - None, # 1419 - None, # 1420 - None, # 1421 - None, # 1422 - None, # 1423 - None, # 1424 - None, # 1425 - None, # 1426 - None, # 1427 - None, # 1428 - None, # 1429 - None, # 1430 - None, # 1431 - None, # 1432 - None, # 1433 - None, # 1434 - None, # 1435 - None, # 1436 - None, # 1437 - None, # 1438 - None, # 1439 - None, # 1440 - None, # 1441 - None, # 1442 - None, # 1443 - None, # 1444 - None, # 1445 - None, # 1446 - None, # 1447 - None, # 1448 - None, # 1449 - None, # 1450 - None, # 1451 - None, # 1452 - None, # 1453 - None, # 1454 - None, # 1455 - None, # 1456 - None, # 1457 - None, # 1458 - None, # 1459 - None, # 1460 - None, # 1461 - None, # 1462 - None, # 1463 - None, # 1464 - None, # 1465 - None, # 1466 - None, # 1467 - None, # 1468 - None, # 1469 - None, # 1470 - None, # 1471 - None, # 1472 - None, # 1473 - None, # 1474 - None, # 1475 - None, # 1476 - None, # 1477 - None, # 1478 - None, # 1479 - None, # 1480 - None, # 1481 - None, # 1482 - None, # 1483 - None, # 1484 - None, # 1485 - None, # 1486 - None, # 1487 - None, # 1488 - None, # 1489 - None, # 1490 - None, # 1491 - None, # 1492 - None, # 1493 - None, # 1494 - None, # 1495 - None, # 1496 - None, # 1497 - None, # 1498 - None, # 1499 - None, # 1500 - None, # 1501 - None, # 1502 - None, # 1503 - None, # 1504 - None, # 1505 - None, # 1506 - None, # 1507 - None, # 1508 - None, # 1509 - None, # 1510 - None, # 1511 - None, # 1512 - None, # 1513 - None, # 1514 - None, # 1515 - None, # 1516 - None, # 1517 - None, # 1518 - None, # 1519 - None, # 1520 - None, # 1521 - None, # 1522 - None, # 1523 - None, # 1524 - None, # 1525 - None, # 1526 - None, # 1527 - None, # 1528 - None, # 1529 - None, # 1530 - None, # 1531 - None, # 1532 - None, # 1533 - None, # 1534 - None, # 1535 - None, # 1536 - None, # 1537 - None, # 1538 - None, # 1539 - None, # 1540 - None, # 1541 - None, # 1542 - None, # 1543 - None, # 1544 - None, # 1545 - None, # 1546 - None, # 1547 - None, # 1548 - None, # 1549 - None, # 1550 - None, # 1551 - None, # 1552 - None, # 1553 - None, # 1554 - None, # 1555 - None, # 1556 - None, # 1557 - None, # 1558 - None, # 1559 - None, # 1560 - None, # 1561 - None, # 1562 - None, # 1563 - None, # 1564 - None, # 1565 - None, # 1566 - None, # 1567 - None, # 1568 - None, # 1569 - None, # 1570 - None, # 1571 - None, # 1572 - None, # 1573 - None, # 1574 - None, # 1575 - None, # 1576 - None, # 1577 - None, # 1578 - None, # 1579 - None, # 1580 - None, # 1581 - None, # 1582 - None, # 1583 - None, # 1584 - None, # 1585 - None, # 1586 - None, # 1587 - None, # 1588 - None, # 1589 - None, # 1590 - None, # 1591 - None, # 1592 - None, # 1593 - None, # 1594 - None, # 1595 - None, # 1596 - None, # 1597 - None, # 1598 - None, # 1599 - None, # 1600 - None, # 1601 - None, # 1602 - None, # 1603 - None, # 1604 - None, # 1605 - None, # 1606 - None, # 1607 - None, # 1608 - None, # 1609 - None, # 1610 - None, # 1611 - None, # 1612 - None, # 1613 - None, # 1614 - None, # 1615 - None, # 1616 - None, # 1617 - None, # 1618 - None, # 1619 - None, # 1620 - None, # 1621 - None, # 1622 - None, # 1623 - None, # 1624 - None, # 1625 - None, # 1626 - None, # 1627 - None, # 1628 - None, # 1629 - None, # 1630 - None, # 1631 - None, # 1632 - None, # 1633 - None, # 1634 - None, # 1635 - None, # 1636 - None, # 1637 - None, # 1638 - None, # 1639 - None, # 1640 - None, # 1641 - None, # 1642 - None, # 1643 - None, # 1644 - None, # 1645 - None, # 1646 - None, # 1647 - None, # 1648 - None, # 1649 - None, # 1650 - None, # 1651 - None, # 1652 - None, # 1653 - None, # 1654 - None, # 1655 - None, # 1656 - None, # 1657 - None, # 1658 - None, # 1659 - None, # 1660 - None, # 1661 - None, # 1662 - None, # 1663 - None, # 1664 - None, # 1665 - None, # 1666 - None, # 1667 - None, # 1668 - None, # 1669 - None, # 1670 - None, # 1671 - None, # 1672 - None, # 1673 - None, # 1674 - None, # 1675 - None, # 1676 - None, # 1677 - None, # 1678 - None, # 1679 - None, # 1680 - None, # 1681 - None, # 1682 - None, # 1683 - None, # 1684 - None, # 1685 - None, # 1686 - None, # 1687 - None, # 1688 - None, # 1689 - None, # 1690 - None, # 1691 - None, # 1692 - None, # 1693 - None, # 1694 - None, # 1695 - None, # 1696 - None, # 1697 - None, # 1698 - None, # 1699 - None, # 1700 - None, # 1701 - None, # 1702 - None, # 1703 - None, # 1704 - None, # 1705 - None, # 1706 - None, # 1707 - None, # 1708 - None, # 1709 - None, # 1710 - None, # 1711 - None, # 1712 - None, # 1713 - None, # 1714 - None, # 1715 - None, # 1716 - None, # 1717 - None, # 1718 - None, # 1719 - None, # 1720 - None, # 1721 - None, # 1722 - None, # 1723 - None, # 1724 - None, # 1725 - None, # 1726 - None, # 1727 - None, # 1728 - None, # 1729 - None, # 1730 - None, # 1731 - None, # 1732 - None, # 1733 - None, # 1734 - None, # 1735 - None, # 1736 - None, # 1737 - None, # 1738 - None, # 1739 - None, # 1740 - None, # 1741 - None, # 1742 - None, # 1743 - None, # 1744 - None, # 1745 - None, # 1746 - None, # 1747 - None, # 1748 - None, # 1749 - None, # 1750 - None, # 1751 - None, # 1752 - None, # 1753 - None, # 1754 - None, # 1755 - None, # 1756 - None, # 1757 - None, # 1758 - None, # 1759 - None, # 1760 - None, # 1761 - None, # 1762 - None, # 1763 - None, # 1764 - None, # 1765 - None, # 1766 - None, # 1767 - None, # 1768 - None, # 1769 - None, # 1770 - None, # 1771 - None, # 1772 - None, # 1773 - None, # 1774 - None, # 1775 - None, # 1776 - None, # 1777 - None, # 1778 - None, # 1779 - None, # 1780 - None, # 1781 - None, # 1782 - None, # 1783 - None, # 1784 - None, # 1785 - None, # 1786 - None, # 1787 - None, # 1788 - None, # 1789 - None, # 1790 - None, # 1791 - None, # 1792 - None, # 1793 - None, # 1794 - None, # 1795 - None, # 1796 - None, # 1797 - None, # 1798 - None, # 1799 - None, # 1800 - None, # 1801 - None, # 1802 - None, # 1803 - None, # 1804 - None, # 1805 - None, # 1806 - None, # 1807 - None, # 1808 - None, # 1809 - None, # 1810 - None, # 1811 - None, # 1812 - None, # 1813 - None, # 1814 - None, # 1815 - None, # 1816 - None, # 1817 - None, # 1818 - None, # 1819 - None, # 1820 - None, # 1821 - None, # 1822 - None, # 1823 - None, # 1824 - None, # 1825 - None, # 1826 - None, # 1827 - None, # 1828 - None, # 1829 - None, # 1830 - None, # 1831 - None, # 1832 - None, # 1833 - None, # 1834 - None, # 1835 - None, # 1836 - None, # 1837 - None, # 1838 - None, # 1839 - None, # 1840 - None, # 1841 - None, # 1842 - None, # 1843 - None, # 1844 - None, # 1845 - None, # 1846 - None, # 1847 - None, # 1848 - None, # 1849 - None, # 1850 - None, # 1851 - None, # 1852 - None, # 1853 - None, # 1854 - None, # 1855 - None, # 1856 - None, # 1857 - None, # 1858 - None, # 1859 - None, # 1860 - None, # 1861 - None, # 1862 - None, # 1863 - None, # 1864 - None, # 1865 - None, # 1866 - None, # 1867 - None, # 1868 - None, # 1869 - None, # 1870 - None, # 1871 - None, # 1872 - None, # 1873 - None, # 1874 - None, # 1875 - None, # 1876 - None, # 1877 - None, # 1878 - None, # 1879 - None, # 1880 - None, # 1881 - None, # 1882 - None, # 1883 - None, # 1884 - None, # 1885 - None, # 1886 - None, # 1887 - None, # 1888 - None, # 1889 - None, # 1890 - None, # 1891 - None, # 1892 - None, # 1893 - None, # 1894 - None, # 1895 - None, # 1896 - None, # 1897 - None, # 1898 - None, # 1899 - None, # 1900 - None, # 1901 - None, # 1902 - None, # 1903 - None, # 1904 - None, # 1905 - None, # 1906 - None, # 1907 - None, # 1908 - None, # 1909 - None, # 1910 - None, # 1911 - None, # 1912 - None, # 1913 - None, # 1914 - None, # 1915 - None, # 1916 - None, # 1917 - None, # 1918 - None, # 1919 - None, # 1920 - None, # 1921 - None, # 1922 - None, # 1923 - None, # 1924 - None, # 1925 - None, # 1926 - None, # 1927 - None, # 1928 - None, # 1929 - None, # 1930 - None, # 1931 - None, # 1932 - None, # 1933 - None, # 1934 - None, # 1935 - None, # 1936 - None, # 1937 - None, # 1938 - None, # 1939 - None, # 1940 - None, # 1941 - None, # 1942 - None, # 1943 - None, # 1944 - None, # 1945 - None, # 1946 - None, # 1947 - None, # 1948 - None, # 1949 - None, # 1950 - None, # 1951 - None, # 1952 - None, # 1953 - None, # 1954 - None, # 1955 - None, # 1956 - None, # 1957 - None, # 1958 - None, # 1959 - None, # 1960 - None, # 1961 - None, # 1962 - None, # 1963 - None, # 1964 - None, # 1965 - None, # 1966 - None, # 1967 - None, # 1968 - None, # 1969 - None, # 1970 - None, # 1971 - None, # 1972 - None, # 1973 - None, # 1974 - None, # 1975 - None, # 1976 - None, # 1977 - None, # 1978 - None, # 1979 - None, # 1980 - None, # 1981 - None, # 1982 - None, # 1983 - None, # 1984 - None, # 1985 - None, # 1986 - None, # 1987 - None, # 1988 - None, # 1989 - None, # 1990 - None, # 1991 - None, # 1992 - None, # 1993 - None, # 1994 - None, # 1995 - None, # 1996 - None, # 1997 - None, # 1998 - None, # 1999 - None, # 2000 - None, # 2001 - None, # 2002 - None, # 2003 - None, # 2004 - None, # 2005 - None, # 2006 - None, # 2007 - None, # 2008 - None, # 2009 - None, # 2010 - None, # 2011 - None, # 2012 - None, # 2013 - None, # 2014 - None, # 2015 - None, # 2016 - None, # 2017 - None, # 2018 - None, # 2019 - None, # 2020 - None, # 2021 - None, # 2022 - None, # 2023 - None, # 2024 - None, # 2025 - None, # 2026 - None, # 2027 - None, # 2028 - None, # 2029 - None, # 2030 - None, # 2031 - None, # 2032 - None, # 2033 - None, # 2034 - None, # 2035 - None, # 2036 - None, # 2037 - None, # 2038 - None, # 2039 - None, # 2040 - None, # 2041 - None, # 2042 - None, # 2043 - None, # 2044 - None, # 2045 - None, # 2046 - None, # 2047 - None, # 2048 - None, # 2049 - None, # 2050 - None, # 2051 - None, # 2052 - None, # 2053 - None, # 2054 - None, # 2055 - None, # 2056 - None, # 2057 - None, # 2058 - None, # 2059 - None, # 2060 - None, # 2061 - None, # 2062 - None, # 2063 - None, # 2064 - None, # 2065 - None, # 2066 - None, # 2067 - None, # 2068 - None, # 2069 - None, # 2070 - None, # 2071 - None, # 2072 - None, # 2073 - None, # 2074 - None, # 2075 - None, # 2076 - None, # 2077 - None, # 2078 - None, # 2079 - None, # 2080 - None, # 2081 - None, # 2082 - None, # 2083 - None, # 2084 - None, # 2085 - None, # 2086 - None, # 2087 - None, # 2088 - None, # 2089 - None, # 2090 - None, # 2091 - None, # 2092 - None, # 2093 - None, # 2094 - None, # 2095 - None, # 2096 - None, # 2097 - None, # 2098 - None, # 2099 - None, # 2100 - None, # 2101 - None, # 2102 - None, # 2103 - None, # 2104 - None, # 2105 - None, # 2106 - None, # 2107 - None, # 2108 - None, # 2109 - None, # 2110 - None, # 2111 - None, # 2112 - None, # 2113 - None, # 2114 - None, # 2115 - None, # 2116 - None, # 2117 - None, # 2118 - None, # 2119 - None, # 2120 - None, # 2121 - None, # 2122 - None, # 2123 - None, # 2124 - None, # 2125 - None, # 2126 - None, # 2127 - None, # 2128 - None, # 2129 - None, # 2130 - None, # 2131 - None, # 2132 - None, # 2133 - None, # 2134 - None, # 2135 - None, # 2136 - None, # 2137 - None, # 2138 - None, # 2139 - None, # 2140 - None, # 2141 - None, # 2142 - None, # 2143 - None, # 2144 - None, # 2145 - None, # 2146 - None, # 2147 - None, # 2148 - None, # 2149 - None, # 2150 - None, # 2151 - None, # 2152 - None, # 2153 - None, # 2154 - None, # 2155 - None, # 2156 - None, # 2157 - None, # 2158 - None, # 2159 - None, # 2160 - None, # 2161 - None, # 2162 - None, # 2163 - None, # 2164 - None, # 2165 - None, # 2166 - None, # 2167 - None, # 2168 - None, # 2169 - None, # 2170 - None, # 2171 - None, # 2172 - None, # 2173 - None, # 2174 - None, # 2175 - None, # 2176 - None, # 2177 - None, # 2178 - None, # 2179 - None, # 2180 - None, # 2181 - None, # 2182 - None, # 2183 - None, # 2184 - None, # 2185 - None, # 2186 - None, # 2187 - None, # 2188 - None, # 2189 - None, # 2190 - None, # 2191 - None, # 2192 - None, # 2193 - None, # 2194 - None, # 2195 - None, # 2196 - None, # 2197 - None, # 2198 - None, # 2199 - None, # 2200 - None, # 2201 - None, # 2202 - None, # 2203 - None, # 2204 - None, # 2205 - None, # 2206 - None, # 2207 - None, # 2208 - None, # 2209 - None, # 2210 - None, # 2211 - None, # 2212 - None, # 2213 - None, # 2214 - None, # 2215 - None, # 2216 - None, # 2217 - None, # 2218 - None, # 2219 - None, # 2220 - None, # 2221 - None, # 2222 - None, # 2223 - None, # 2224 - None, # 2225 - None, # 2226 - None, # 2227 - None, # 2228 - None, # 2229 - None, # 2230 - None, # 2231 - None, # 2232 - None, # 2233 - None, # 2234 - None, # 2235 - None, # 2236 - None, # 2237 - None, # 2238 - None, # 2239 - None, # 2240 - None, # 2241 - None, # 2242 - None, # 2243 - None, # 2244 - None, # 2245 - None, # 2246 - None, # 2247 - None, # 2248 - None, # 2249 - None, # 2250 - None, # 2251 - None, # 2252 - None, # 2253 - None, # 2254 - None, # 2255 - None, # 2256 - None, # 2257 - None, # 2258 - None, # 2259 - None, # 2260 - None, # 2261 - None, # 2262 - None, # 2263 - None, # 2264 - None, # 2265 - None, # 2266 - None, # 2267 - None, # 2268 - None, # 2269 - None, # 2270 - None, # 2271 - None, # 2272 - None, # 2273 - None, # 2274 - None, # 2275 - None, # 2276 - None, # 2277 - None, # 2278 - None, # 2279 - None, # 2280 - None, # 2281 - None, # 2282 - None, # 2283 - None, # 2284 - None, # 2285 - None, # 2286 - None, # 2287 - None, # 2288 - None, # 2289 - None, # 2290 - None, # 2291 - None, # 2292 - None, # 2293 - None, # 2294 - None, # 2295 - None, # 2296 - None, # 2297 - None, # 2298 - None, # 2299 - None, # 2300 - None, # 2301 - None, # 2302 - None, # 2303 - None, # 2304 - None, # 2305 - None, # 2306 - None, # 2307 - None, # 2308 - None, # 2309 - None, # 2310 - None, # 2311 - None, # 2312 - None, # 2313 - None, # 2314 - None, # 2315 - None, # 2316 - None, # 2317 - None, # 2318 - None, # 2319 - None, # 2320 - None, # 2321 - None, # 2322 - None, # 2323 - None, # 2324 - None, # 2325 - None, # 2326 - None, # 2327 - None, # 2328 - None, # 2329 - None, # 2330 - None, # 2331 - None, # 2332 - None, # 2333 - None, # 2334 - None, # 2335 - None, # 2336 - None, # 2337 - None, # 2338 - None, # 2339 - None, # 2340 - None, # 2341 - None, # 2342 - None, # 2343 - None, # 2344 - None, # 2345 - None, # 2346 - None, # 2347 - None, # 2348 - None, # 2349 - None, # 2350 - None, # 2351 - None, # 2352 - None, # 2353 - None, # 2354 - None, # 2355 - None, # 2356 - None, # 2357 - None, # 2358 - None, # 2359 - None, # 2360 - None, # 2361 - None, # 2362 - None, # 2363 - None, # 2364 - None, # 2365 - None, # 2366 - None, # 2367 - None, # 2368 - None, # 2369 - None, # 2370 - None, # 2371 - None, # 2372 - None, # 2373 - None, # 2374 - None, # 2375 - None, # 2376 - None, # 2377 - None, # 2378 - None, # 2379 - None, # 2380 - None, # 2381 - None, # 2382 - None, # 2383 - None, # 2384 - None, # 2385 - None, # 2386 - None, # 2387 - None, # 2388 - None, # 2389 - None, # 2390 - None, # 2391 - None, # 2392 - None, # 2393 - None, # 2394 - None, # 2395 - None, # 2396 - None, # 2397 - None, # 2398 - None, # 2399 - None, # 2400 - None, # 2401 - None, # 2402 - None, # 2403 - None, # 2404 - None, # 2405 - None, # 2406 - None, # 2407 - None, # 2408 - None, # 2409 - None, # 2410 - None, # 2411 - None, # 2412 - None, # 2413 - None, # 2414 - None, # 2415 - None, # 2416 - None, # 2417 - None, # 2418 - None, # 2419 - None, # 2420 - None, # 2421 - None, # 2422 - None, # 2423 - None, # 2424 - None, # 2425 - None, # 2426 - None, # 2427 - None, # 2428 - None, # 2429 - None, # 2430 - None, # 2431 - None, # 2432 - None, # 2433 - None, # 2434 - None, # 2435 - None, # 2436 - None, # 2437 - None, # 2438 - None, # 2439 - None, # 2440 - None, # 2441 - None, # 2442 - None, # 2443 - None, # 2444 - None, # 2445 - None, # 2446 - None, # 2447 - None, # 2448 - None, # 2449 - None, # 2450 - None, # 2451 - None, # 2452 - None, # 2453 - None, # 2454 - None, # 2455 - None, # 2456 - None, # 2457 - None, # 2458 - None, # 2459 - None, # 2460 - None, # 2461 - None, # 2462 - None, # 2463 - None, # 2464 - None, # 2465 - None, # 2466 - None, # 2467 - None, # 2468 - None, # 2469 - None, # 2470 - None, # 2471 - None, # 2472 - None, # 2473 - None, # 2474 - None, # 2475 - None, # 2476 - None, # 2477 - None, # 2478 - None, # 2479 - None, # 2480 - None, # 2481 - None, # 2482 - None, # 2483 - None, # 2484 - None, # 2485 - None, # 2486 - None, # 2487 - None, # 2488 - None, # 2489 - None, # 2490 - None, # 2491 - None, # 2492 - None, # 2493 - None, # 2494 - None, # 2495 - None, # 2496 - None, # 2497 - None, # 2498 - None, # 2499 - None, # 2500 - None, # 2501 - None, # 2502 - None, # 2503 - None, # 2504 - None, # 2505 - None, # 2506 - None, # 2507 - None, # 2508 - None, # 2509 - None, # 2510 - None, # 2511 - None, # 2512 - None, # 2513 - None, # 2514 - None, # 2515 - None, # 2516 - None, # 2517 - None, # 2518 - None, # 2519 - None, # 2520 - None, # 2521 - None, # 2522 - None, # 2523 - None, # 2524 - None, # 2525 - None, # 2526 - None, # 2527 - None, # 2528 - None, # 2529 - None, # 2530 - None, # 2531 - None, # 2532 - None, # 2533 - None, # 2534 - None, # 2535 - None, # 2536 - None, # 2537 - None, # 2538 - None, # 2539 - None, # 2540 - None, # 2541 - None, # 2542 - None, # 2543 - None, # 2544 - None, # 2545 - None, # 2546 - None, # 2547 - None, # 2548 - None, # 2549 - None, # 2550 - None, # 2551 - None, # 2552 - None, # 2553 - None, # 2554 - None, # 2555 - None, # 2556 - None, # 2557 - None, # 2558 - None, # 2559 - None, # 2560 - None, # 2561 - None, # 2562 - None, # 2563 - None, # 2564 - None, # 2565 - None, # 2566 - None, # 2567 - None, # 2568 - None, # 2569 - None, # 2570 - None, # 2571 - None, # 2572 - None, # 2573 - None, # 2574 - None, # 2575 - None, # 2576 - None, # 2577 - None, # 2578 - None, # 2579 - None, # 2580 - None, # 2581 - None, # 2582 - None, # 2583 - None, # 2584 - None, # 2585 - None, # 2586 - None, # 2587 - None, # 2588 - None, # 2589 - None, # 2590 - None, # 2591 - None, # 2592 - None, # 2593 - None, # 2594 - None, # 2595 - None, # 2596 - None, # 2597 - None, # 2598 - None, # 2599 - None, # 2600 - None, # 2601 - None, # 2602 - None, # 2603 - None, # 2604 - None, # 2605 - None, # 2606 - None, # 2607 - None, # 2608 - None, # 2609 - None, # 2610 - None, # 2611 - None, # 2612 - None, # 2613 - None, # 2614 - None, # 2615 - None, # 2616 - None, # 2617 - None, # 2618 - None, # 2619 - None, # 2620 - None, # 2621 - None, # 2622 - None, # 2623 - None, # 2624 - None, # 2625 - None, # 2626 - None, # 2627 - None, # 2628 - None, # 2629 - None, # 2630 - None, # 2631 - None, # 2632 - None, # 2633 - None, # 2634 - None, # 2635 - None, # 2636 - None, # 2637 - None, # 2638 - None, # 2639 - None, # 2640 - None, # 2641 - None, # 2642 - None, # 2643 - None, # 2644 - None, # 2645 - None, # 2646 - None, # 2647 - None, # 2648 - None, # 2649 - None, # 2650 - None, # 2651 - None, # 2652 - None, # 2653 - None, # 2654 - None, # 2655 - None, # 2656 - None, # 2657 - None, # 2658 - None, # 2659 - None, # 2660 - None, # 2661 - None, # 2662 - None, # 2663 - None, # 2664 - None, # 2665 - None, # 2666 - None, # 2667 - None, # 2668 - None, # 2669 - None, # 2670 - None, # 2671 - None, # 2672 - None, # 2673 - None, # 2674 - None, # 2675 - None, # 2676 - None, # 2677 - None, # 2678 - None, # 2679 - None, # 2680 - None, # 2681 - None, # 2682 - None, # 2683 - None, # 2684 - None, # 2685 - None, # 2686 - None, # 2687 - None, # 2688 - None, # 2689 - None, # 2690 - None, # 2691 - None, # 2692 - None, # 2693 - None, # 2694 - None, # 2695 - None, # 2696 - None, # 2697 - None, # 2698 - None, # 2699 - None, # 2700 - None, # 2701 - None, # 2702 - None, # 2703 - None, # 2704 - None, # 2705 - None, # 2706 - None, # 2707 - None, # 2708 - None, # 2709 - None, # 2710 - None, # 2711 - None, # 2712 - None, # 2713 - None, # 2714 - None, # 2715 - None, # 2716 - None, # 2717 - None, # 2718 - None, # 2719 - None, # 2720 - None, # 2721 - None, # 2722 - None, # 2723 - None, # 2724 - None, # 2725 - None, # 2726 - None, # 2727 - None, # 2728 - None, # 2729 - None, # 2730 - None, # 2731 - None, # 2732 - None, # 2733 - None, # 2734 - None, # 2735 - None, # 2736 - None, # 2737 - None, # 2738 - None, # 2739 - None, # 2740 - None, # 2741 - None, # 2742 - None, # 2743 - None, # 2744 - None, # 2745 - None, # 2746 - None, # 2747 - None, # 2748 - None, # 2749 - None, # 2750 - None, # 2751 - None, # 2752 - None, # 2753 - None, # 2754 - None, # 2755 - None, # 2756 - None, # 2757 - None, # 2758 - None, # 2759 - None, # 2760 - None, # 2761 - None, # 2762 - None, # 2763 - None, # 2764 - None, # 2765 - None, # 2766 - None, # 2767 - None, # 2768 - None, # 2769 - None, # 2770 - None, # 2771 - None, # 2772 - None, # 2773 - None, # 2774 - None, # 2775 - None, # 2776 - None, # 2777 - None, # 2778 - None, # 2779 - None, # 2780 - None, # 2781 - None, # 2782 - None, # 2783 - None, # 2784 - None, # 2785 - None, # 2786 - None, # 2787 - None, # 2788 - None, # 2789 - None, # 2790 - None, # 2791 - None, # 2792 - None, # 2793 - None, # 2794 - None, # 2795 - None, # 2796 - None, # 2797 - None, # 2798 - None, # 2799 - None, # 2800 - None, # 2801 - None, # 2802 - None, # 2803 - None, # 2804 - None, # 2805 - None, # 2806 - None, # 2807 - None, # 2808 - None, # 2809 - None, # 2810 - None, # 2811 - None, # 2812 - None, # 2813 - None, # 2814 - None, # 2815 - None, # 2816 - None, # 2817 - None, # 2818 - None, # 2819 - None, # 2820 - None, # 2821 - None, # 2822 - None, # 2823 - None, # 2824 - None, # 2825 - None, # 2826 - None, # 2827 - None, # 2828 - None, # 2829 - None, # 2830 - None, # 2831 - None, # 2832 - None, # 2833 - None, # 2834 - None, # 2835 - None, # 2836 - None, # 2837 - None, # 2838 - None, # 2839 - None, # 2840 - None, # 2841 - None, # 2842 - None, # 2843 - None, # 2844 - None, # 2845 - None, # 2846 - None, # 2847 - None, # 2848 - None, # 2849 - None, # 2850 - None, # 2851 - None, # 2852 - None, # 2853 - None, # 2854 - None, # 2855 - None, # 2856 - None, # 2857 - None, # 2858 - None, # 2859 - None, # 2860 - None, # 2861 - None, # 2862 - None, # 2863 - None, # 2864 - None, # 2865 - None, # 2866 - None, # 2867 - None, # 2868 - None, # 2869 - None, # 2870 - None, # 2871 - None, # 2872 - None, # 2873 - None, # 2874 - None, # 2875 - None, # 2876 - None, # 2877 - None, # 2878 - None, # 2879 - None, # 2880 - None, # 2881 - None, # 2882 - None, # 2883 - None, # 2884 - None, # 2885 - None, # 2886 - None, # 2887 - None, # 2888 - None, # 2889 - None, # 2890 - None, # 2891 - None, # 2892 - None, # 2893 - None, # 2894 - None, # 2895 - None, # 2896 - None, # 2897 - None, # 2898 - None, # 2899 - None, # 2900 - None, # 2901 - None, # 2902 - None, # 2903 - None, # 2904 - None, # 2905 - None, # 2906 - None, # 2907 - None, # 2908 - None, # 2909 - None, # 2910 - None, # 2911 - None, # 2912 - None, # 2913 - None, # 2914 - None, # 2915 - None, # 2916 - None, # 2917 - None, # 2918 - None, # 2919 - None, # 2920 - None, # 2921 - None, # 2922 - None, # 2923 - None, # 2924 - None, # 2925 - None, # 2926 - None, # 2927 - None, # 2928 - None, # 2929 - None, # 2930 - None, # 2931 - None, # 2932 - None, # 2933 - None, # 2934 - None, # 2935 - None, # 2936 - None, # 2937 - None, # 2938 - None, # 2939 - None, # 2940 - None, # 2941 - None, # 2942 - None, # 2943 - None, # 2944 - None, # 2945 - None, # 2946 - None, # 2947 - None, # 2948 - None, # 2949 - None, # 2950 - None, # 2951 - None, # 2952 - None, # 2953 - None, # 2954 - None, # 2955 - None, # 2956 - None, # 2957 - None, # 2958 - None, # 2959 - None, # 2960 - None, # 2961 - None, # 2962 - None, # 2963 - None, # 2964 - None, # 2965 - None, # 2966 - None, # 2967 - None, # 2968 - None, # 2969 - None, # 2970 - None, # 2971 - None, # 2972 - None, # 2973 - None, # 2974 - None, # 2975 - None, # 2976 - None, # 2977 - None, # 2978 - None, # 2979 - None, # 2980 - None, # 2981 - None, # 2982 - None, # 2983 - None, # 2984 - None, # 2985 - None, # 2986 - None, # 2987 - None, # 2988 - None, # 2989 - None, # 2990 - None, # 2991 - None, # 2992 - None, # 2993 - None, # 2994 - None, # 2995 - None, # 2996 - None, # 2997 - None, # 2998 - None, # 2999 - None, # 3000 - None, # 3001 - None, # 3002 - None, # 3003 - None, # 3004 - None, # 3005 - None, # 3006 - None, # 3007 - None, # 3008 - None, # 3009 - None, # 3010 - None, # 3011 - None, # 3012 - None, # 3013 - None, # 3014 - None, # 3015 - None, # 3016 - None, # 3017 - None, # 3018 - None, # 3019 - None, # 3020 - None, # 3021 - None, # 3022 - None, # 3023 - None, # 3024 - None, # 3025 - None, # 3026 - None, # 3027 - None, # 3028 - None, # 3029 - None, # 3030 - None, # 3031 - None, # 3032 - None, # 3033 - None, # 3034 - None, # 3035 - None, # 3036 - None, # 3037 - None, # 3038 - None, # 3039 - None, # 3040 - None, # 3041 - None, # 3042 - None, # 3043 - None, # 3044 - None, # 3045 - None, # 3046 - None, # 3047 - None, # 3048 - None, # 3049 - None, # 3050 - None, # 3051 - None, # 3052 - None, # 3053 - None, # 3054 - None, # 3055 - None, # 3056 - None, # 3057 - None, # 3058 - None, # 3059 - None, # 3060 - None, # 3061 - None, # 3062 - None, # 3063 - None, # 3064 - None, # 3065 - None, # 3066 - None, # 3067 - None, # 3068 - None, # 3069 - None, # 3070 - None, # 3071 - None, # 3072 - None, # 3073 - None, # 3074 - None, # 3075 - None, # 3076 - None, # 3077 - None, # 3078 - None, # 3079 - None, # 3080 - None, # 3081 - None, # 3082 - None, # 3083 - None, # 3084 - None, # 3085 - None, # 3086 - None, # 3087 - None, # 3088 - None, # 3089 - None, # 3090 - None, # 3091 - None, # 3092 - None, # 3093 - None, # 3094 - None, # 3095 - None, # 3096 - None, # 3097 - None, # 3098 - None, # 3099 - None, # 3100 - None, # 3101 - None, # 3102 - None, # 3103 - None, # 3104 - None, # 3105 - None, # 3106 - None, # 3107 - None, # 3108 - None, # 3109 - None, # 3110 - None, # 3111 - None, # 3112 - None, # 3113 - None, # 3114 - None, # 3115 - None, # 3116 - None, # 3117 - None, # 3118 - None, # 3119 - None, # 3120 - None, # 3121 - None, # 3122 - None, # 3123 - None, # 3124 - None, # 3125 - None, # 3126 - None, # 3127 - None, # 3128 - None, # 3129 - None, # 3130 - None, # 3131 - None, # 3132 - None, # 3133 - None, # 3134 - None, # 3135 - None, # 3136 - None, # 3137 - None, # 3138 - None, # 3139 - None, # 3140 - None, # 3141 - None, # 3142 - None, # 3143 - None, # 3144 - None, # 3145 - None, # 3146 - None, # 3147 - None, # 3148 - None, # 3149 - None, # 3150 - None, # 3151 - None, # 3152 - None, # 3153 - None, # 3154 - None, # 3155 - None, # 3156 - None, # 3157 - None, # 3158 - None, # 3159 - None, # 3160 - None, # 3161 - None, # 3162 - None, # 3163 - None, # 3164 - None, # 3165 - None, # 3166 - None, # 3167 - None, # 3168 - None, # 3169 - None, # 3170 - None, # 3171 - None, # 3172 - None, # 3173 - None, # 3174 - None, # 3175 - None, # 3176 - None, # 3177 - None, # 3178 - None, # 3179 - None, # 3180 - None, # 3181 - None, # 3182 - None, # 3183 - None, # 3184 - None, # 3185 - None, # 3186 - None, # 3187 - None, # 3188 - None, # 3189 - None, # 3190 - None, # 3191 - None, # 3192 - None, # 3193 - None, # 3194 - None, # 3195 - None, # 3196 - None, # 3197 - None, # 3198 - None, # 3199 - None, # 3200 - None, # 3201 - None, # 3202 - None, # 3203 - None, # 3204 - None, # 3205 - None, # 3206 - None, # 3207 - None, # 3208 - None, # 3209 - None, # 3210 - None, # 3211 - None, # 3212 - None, # 3213 - None, # 3214 - None, # 3215 - None, # 3216 - None, # 3217 - None, # 3218 - None, # 3219 - None, # 3220 - None, # 3221 - None, # 3222 - None, # 3223 - None, # 3224 - None, # 3225 - None, # 3226 - None, # 3227 - None, # 3228 - None, # 3229 - None, # 3230 - None, # 3231 - None, # 3232 - None, # 3233 - None, # 3234 - None, # 3235 - None, # 3236 - None, # 3237 - None, # 3238 - None, # 3239 - None, # 3240 - None, # 3241 - None, # 3242 - None, # 3243 - None, # 3244 - None, # 3245 - None, # 3246 - None, # 3247 - None, # 3248 - None, # 3249 - None, # 3250 - None, # 3251 - None, # 3252 - None, # 3253 - None, # 3254 - None, # 3255 - None, # 3256 - None, # 3257 - None, # 3258 - None, # 3259 - None, # 3260 - None, # 3261 - None, # 3262 - None, # 3263 - None, # 3264 - None, # 3265 - None, # 3266 - None, # 3267 - None, # 3268 - None, # 3269 - None, # 3270 - None, # 3271 - None, # 3272 - None, # 3273 - None, # 3274 - None, # 3275 - None, # 3276 - None, # 3277 - None, # 3278 - None, # 3279 - None, # 3280 - None, # 3281 - None, # 3282 - None, # 3283 - None, # 3284 - None, # 3285 - None, # 3286 - None, # 3287 - None, # 3288 - None, # 3289 - None, # 3290 - None, # 3291 - None, # 3292 - None, # 3293 - None, # 3294 - None, # 3295 - None, # 3296 - None, # 3297 - None, # 3298 - None, # 3299 - None, # 3300 - None, # 3301 - None, # 3302 - None, # 3303 - None, # 3304 - None, # 3305 - None, # 3306 - None, # 3307 - None, # 3308 - None, # 3309 - None, # 3310 - None, # 3311 - None, # 3312 - None, # 3313 - None, # 3314 - None, # 3315 - None, # 3316 - None, # 3317 - None, # 3318 - None, # 3319 - None, # 3320 - None, # 3321 - None, # 3322 - None, # 3323 - None, # 3324 - None, # 3325 - None, # 3326 - None, # 3327 - None, # 3328 - (3329, TType.STRUCT, 'operationId', [THandleIdentifier, None], None, ), # 3329 - (3330, TType.STRUCT, 'sessionConf', [TDBSqlSessionConf, None], None, ), # 3330 + None, # 0 + (1, TType.STRUCT, 'sessionHandle', [TSessionHandle, None], None, ), # 1 + (2, TType.STRING, 'catalogName', 'UTF8', None, ), # 2 + (3, TType.STRING, 'schemaName', 'UTF8', None, ), # 3 + (4, TType.STRING, 'tableName', 'UTF8', None, ), # 4 + (5, TType.STRING, 'columnName', 'UTF8', None, ), # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + (1281, TType.STRUCT, 'getDirectResults', [TSparkGetDirectResults, None], None, ), # 1281 + (1282, TType.BOOL, 'runAsync', None, False, ), # 1282 + None, # 1283 + None, # 1284 + None, # 1285 + None, # 1286 + None, # 1287 + None, # 1288 + None, # 1289 + None, # 1290 + None, # 1291 + None, # 1292 + None, # 1293 + None, # 1294 + None, # 1295 + None, # 1296 + None, # 1297 + None, # 1298 + None, # 1299 + None, # 1300 + None, # 1301 + None, # 1302 + None, # 1303 + None, # 1304 + None, # 1305 + None, # 1306 + None, # 1307 + None, # 1308 + None, # 1309 + None, # 1310 + None, # 1311 + None, # 1312 + None, # 1313 + None, # 1314 + None, # 1315 + None, # 1316 + None, # 1317 + None, # 1318 + None, # 1319 + None, # 1320 + None, # 1321 + None, # 1322 + None, # 1323 + None, # 1324 + None, # 1325 + None, # 1326 + None, # 1327 + None, # 1328 + None, # 1329 + None, # 1330 + None, # 1331 + None, # 1332 + None, # 1333 + None, # 1334 + None, # 1335 + None, # 1336 + None, # 1337 + None, # 1338 + None, # 1339 + None, # 1340 + None, # 1341 + None, # 1342 + None, # 1343 + None, # 1344 + None, # 1345 + None, # 1346 + None, # 1347 + None, # 1348 + None, # 1349 + None, # 1350 + None, # 1351 + None, # 1352 + None, # 1353 + None, # 1354 + None, # 1355 + None, # 1356 + None, # 1357 + None, # 1358 + None, # 1359 + None, # 1360 + None, # 1361 + None, # 1362 + None, # 1363 + None, # 1364 + None, # 1365 + None, # 1366 + None, # 1367 + None, # 1368 + None, # 1369 + None, # 1370 + None, # 1371 + None, # 1372 + None, # 1373 + None, # 1374 + None, # 1375 + None, # 1376 + None, # 1377 + None, # 1378 + None, # 1379 + None, # 1380 + None, # 1381 + None, # 1382 + None, # 1383 + None, # 1384 + None, # 1385 + None, # 1386 + None, # 1387 + None, # 1388 + None, # 1389 + None, # 1390 + None, # 1391 + None, # 1392 + None, # 1393 + None, # 1394 + None, # 1395 + None, # 1396 + None, # 1397 + None, # 1398 + None, # 1399 + None, # 1400 + None, # 1401 + None, # 1402 + None, # 1403 + None, # 1404 + None, # 1405 + None, # 1406 + None, # 1407 + None, # 1408 + None, # 1409 + None, # 1410 + None, # 1411 + None, # 1412 + None, # 1413 + None, # 1414 + None, # 1415 + None, # 1416 + None, # 1417 + None, # 1418 + None, # 1419 + None, # 1420 + None, # 1421 + None, # 1422 + None, # 1423 + None, # 1424 + None, # 1425 + None, # 1426 + None, # 1427 + None, # 1428 + None, # 1429 + None, # 1430 + None, # 1431 + None, # 1432 + None, # 1433 + None, # 1434 + None, # 1435 + None, # 1436 + None, # 1437 + None, # 1438 + None, # 1439 + None, # 1440 + None, # 1441 + None, # 1442 + None, # 1443 + None, # 1444 + None, # 1445 + None, # 1446 + None, # 1447 + None, # 1448 + None, # 1449 + None, # 1450 + None, # 1451 + None, # 1452 + None, # 1453 + None, # 1454 + None, # 1455 + None, # 1456 + None, # 1457 + None, # 1458 + None, # 1459 + None, # 1460 + None, # 1461 + None, # 1462 + None, # 1463 + None, # 1464 + None, # 1465 + None, # 1466 + None, # 1467 + None, # 1468 + None, # 1469 + None, # 1470 + None, # 1471 + None, # 1472 + None, # 1473 + None, # 1474 + None, # 1475 + None, # 1476 + None, # 1477 + None, # 1478 + None, # 1479 + None, # 1480 + None, # 1481 + None, # 1482 + None, # 1483 + None, # 1484 + None, # 1485 + None, # 1486 + None, # 1487 + None, # 1488 + None, # 1489 + None, # 1490 + None, # 1491 + None, # 1492 + None, # 1493 + None, # 1494 + None, # 1495 + None, # 1496 + None, # 1497 + None, # 1498 + None, # 1499 + None, # 1500 + None, # 1501 + None, # 1502 + None, # 1503 + None, # 1504 + None, # 1505 + None, # 1506 + None, # 1507 + None, # 1508 + None, # 1509 + None, # 1510 + None, # 1511 + None, # 1512 + None, # 1513 + None, # 1514 + None, # 1515 + None, # 1516 + None, # 1517 + None, # 1518 + None, # 1519 + None, # 1520 + None, # 1521 + None, # 1522 + None, # 1523 + None, # 1524 + None, # 1525 + None, # 1526 + None, # 1527 + None, # 1528 + None, # 1529 + None, # 1530 + None, # 1531 + None, # 1532 + None, # 1533 + None, # 1534 + None, # 1535 + None, # 1536 + None, # 1537 + None, # 1538 + None, # 1539 + None, # 1540 + None, # 1541 + None, # 1542 + None, # 1543 + None, # 1544 + None, # 1545 + None, # 1546 + None, # 1547 + None, # 1548 + None, # 1549 + None, # 1550 + None, # 1551 + None, # 1552 + None, # 1553 + None, # 1554 + None, # 1555 + None, # 1556 + None, # 1557 + None, # 1558 + None, # 1559 + None, # 1560 + None, # 1561 + None, # 1562 + None, # 1563 + None, # 1564 + None, # 1565 + None, # 1566 + None, # 1567 + None, # 1568 + None, # 1569 + None, # 1570 + None, # 1571 + None, # 1572 + None, # 1573 + None, # 1574 + None, # 1575 + None, # 1576 + None, # 1577 + None, # 1578 + None, # 1579 + None, # 1580 + None, # 1581 + None, # 1582 + None, # 1583 + None, # 1584 + None, # 1585 + None, # 1586 + None, # 1587 + None, # 1588 + None, # 1589 + None, # 1590 + None, # 1591 + None, # 1592 + None, # 1593 + None, # 1594 + None, # 1595 + None, # 1596 + None, # 1597 + None, # 1598 + None, # 1599 + None, # 1600 + None, # 1601 + None, # 1602 + None, # 1603 + None, # 1604 + None, # 1605 + None, # 1606 + None, # 1607 + None, # 1608 + None, # 1609 + None, # 1610 + None, # 1611 + None, # 1612 + None, # 1613 + None, # 1614 + None, # 1615 + None, # 1616 + None, # 1617 + None, # 1618 + None, # 1619 + None, # 1620 + None, # 1621 + None, # 1622 + None, # 1623 + None, # 1624 + None, # 1625 + None, # 1626 + None, # 1627 + None, # 1628 + None, # 1629 + None, # 1630 + None, # 1631 + None, # 1632 + None, # 1633 + None, # 1634 + None, # 1635 + None, # 1636 + None, # 1637 + None, # 1638 + None, # 1639 + None, # 1640 + None, # 1641 + None, # 1642 + None, # 1643 + None, # 1644 + None, # 1645 + None, # 1646 + None, # 1647 + None, # 1648 + None, # 1649 + None, # 1650 + None, # 1651 + None, # 1652 + None, # 1653 + None, # 1654 + None, # 1655 + None, # 1656 + None, # 1657 + None, # 1658 + None, # 1659 + None, # 1660 + None, # 1661 + None, # 1662 + None, # 1663 + None, # 1664 + None, # 1665 + None, # 1666 + None, # 1667 + None, # 1668 + None, # 1669 + None, # 1670 + None, # 1671 + None, # 1672 + None, # 1673 + None, # 1674 + None, # 1675 + None, # 1676 + None, # 1677 + None, # 1678 + None, # 1679 + None, # 1680 + None, # 1681 + None, # 1682 + None, # 1683 + None, # 1684 + None, # 1685 + None, # 1686 + None, # 1687 + None, # 1688 + None, # 1689 + None, # 1690 + None, # 1691 + None, # 1692 + None, # 1693 + None, # 1694 + None, # 1695 + None, # 1696 + None, # 1697 + None, # 1698 + None, # 1699 + None, # 1700 + None, # 1701 + None, # 1702 + None, # 1703 + None, # 1704 + None, # 1705 + None, # 1706 + None, # 1707 + None, # 1708 + None, # 1709 + None, # 1710 + None, # 1711 + None, # 1712 + None, # 1713 + None, # 1714 + None, # 1715 + None, # 1716 + None, # 1717 + None, # 1718 + None, # 1719 + None, # 1720 + None, # 1721 + None, # 1722 + None, # 1723 + None, # 1724 + None, # 1725 + None, # 1726 + None, # 1727 + None, # 1728 + None, # 1729 + None, # 1730 + None, # 1731 + None, # 1732 + None, # 1733 + None, # 1734 + None, # 1735 + None, # 1736 + None, # 1737 + None, # 1738 + None, # 1739 + None, # 1740 + None, # 1741 + None, # 1742 + None, # 1743 + None, # 1744 + None, # 1745 + None, # 1746 + None, # 1747 + None, # 1748 + None, # 1749 + None, # 1750 + None, # 1751 + None, # 1752 + None, # 1753 + None, # 1754 + None, # 1755 + None, # 1756 + None, # 1757 + None, # 1758 + None, # 1759 + None, # 1760 + None, # 1761 + None, # 1762 + None, # 1763 + None, # 1764 + None, # 1765 + None, # 1766 + None, # 1767 + None, # 1768 + None, # 1769 + None, # 1770 + None, # 1771 + None, # 1772 + None, # 1773 + None, # 1774 + None, # 1775 + None, # 1776 + None, # 1777 + None, # 1778 + None, # 1779 + None, # 1780 + None, # 1781 + None, # 1782 + None, # 1783 + None, # 1784 + None, # 1785 + None, # 1786 + None, # 1787 + None, # 1788 + None, # 1789 + None, # 1790 + None, # 1791 + None, # 1792 + None, # 1793 + None, # 1794 + None, # 1795 + None, # 1796 + None, # 1797 + None, # 1798 + None, # 1799 + None, # 1800 + None, # 1801 + None, # 1802 + None, # 1803 + None, # 1804 + None, # 1805 + None, # 1806 + None, # 1807 + None, # 1808 + None, # 1809 + None, # 1810 + None, # 1811 + None, # 1812 + None, # 1813 + None, # 1814 + None, # 1815 + None, # 1816 + None, # 1817 + None, # 1818 + None, # 1819 + None, # 1820 + None, # 1821 + None, # 1822 + None, # 1823 + None, # 1824 + None, # 1825 + None, # 1826 + None, # 1827 + None, # 1828 + None, # 1829 + None, # 1830 + None, # 1831 + None, # 1832 + None, # 1833 + None, # 1834 + None, # 1835 + None, # 1836 + None, # 1837 + None, # 1838 + None, # 1839 + None, # 1840 + None, # 1841 + None, # 1842 + None, # 1843 + None, # 1844 + None, # 1845 + None, # 1846 + None, # 1847 + None, # 1848 + None, # 1849 + None, # 1850 + None, # 1851 + None, # 1852 + None, # 1853 + None, # 1854 + None, # 1855 + None, # 1856 + None, # 1857 + None, # 1858 + None, # 1859 + None, # 1860 + None, # 1861 + None, # 1862 + None, # 1863 + None, # 1864 + None, # 1865 + None, # 1866 + None, # 1867 + None, # 1868 + None, # 1869 + None, # 1870 + None, # 1871 + None, # 1872 + None, # 1873 + None, # 1874 + None, # 1875 + None, # 1876 + None, # 1877 + None, # 1878 + None, # 1879 + None, # 1880 + None, # 1881 + None, # 1882 + None, # 1883 + None, # 1884 + None, # 1885 + None, # 1886 + None, # 1887 + None, # 1888 + None, # 1889 + None, # 1890 + None, # 1891 + None, # 1892 + None, # 1893 + None, # 1894 + None, # 1895 + None, # 1896 + None, # 1897 + None, # 1898 + None, # 1899 + None, # 1900 + None, # 1901 + None, # 1902 + None, # 1903 + None, # 1904 + None, # 1905 + None, # 1906 + None, # 1907 + None, # 1908 + None, # 1909 + None, # 1910 + None, # 1911 + None, # 1912 + None, # 1913 + None, # 1914 + None, # 1915 + None, # 1916 + None, # 1917 + None, # 1918 + None, # 1919 + None, # 1920 + None, # 1921 + None, # 1922 + None, # 1923 + None, # 1924 + None, # 1925 + None, # 1926 + None, # 1927 + None, # 1928 + None, # 1929 + None, # 1930 + None, # 1931 + None, # 1932 + None, # 1933 + None, # 1934 + None, # 1935 + None, # 1936 + None, # 1937 + None, # 1938 + None, # 1939 + None, # 1940 + None, # 1941 + None, # 1942 + None, # 1943 + None, # 1944 + None, # 1945 + None, # 1946 + None, # 1947 + None, # 1948 + None, # 1949 + None, # 1950 + None, # 1951 + None, # 1952 + None, # 1953 + None, # 1954 + None, # 1955 + None, # 1956 + None, # 1957 + None, # 1958 + None, # 1959 + None, # 1960 + None, # 1961 + None, # 1962 + None, # 1963 + None, # 1964 + None, # 1965 + None, # 1966 + None, # 1967 + None, # 1968 + None, # 1969 + None, # 1970 + None, # 1971 + None, # 1972 + None, # 1973 + None, # 1974 + None, # 1975 + None, # 1976 + None, # 1977 + None, # 1978 + None, # 1979 + None, # 1980 + None, # 1981 + None, # 1982 + None, # 1983 + None, # 1984 + None, # 1985 + None, # 1986 + None, # 1987 + None, # 1988 + None, # 1989 + None, # 1990 + None, # 1991 + None, # 1992 + None, # 1993 + None, # 1994 + None, # 1995 + None, # 1996 + None, # 1997 + None, # 1998 + None, # 1999 + None, # 2000 + None, # 2001 + None, # 2002 + None, # 2003 + None, # 2004 + None, # 2005 + None, # 2006 + None, # 2007 + None, # 2008 + None, # 2009 + None, # 2010 + None, # 2011 + None, # 2012 + None, # 2013 + None, # 2014 + None, # 2015 + None, # 2016 + None, # 2017 + None, # 2018 + None, # 2019 + None, # 2020 + None, # 2021 + None, # 2022 + None, # 2023 + None, # 2024 + None, # 2025 + None, # 2026 + None, # 2027 + None, # 2028 + None, # 2029 + None, # 2030 + None, # 2031 + None, # 2032 + None, # 2033 + None, # 2034 + None, # 2035 + None, # 2036 + None, # 2037 + None, # 2038 + None, # 2039 + None, # 2040 + None, # 2041 + None, # 2042 + None, # 2043 + None, # 2044 + None, # 2045 + None, # 2046 + None, # 2047 + None, # 2048 + None, # 2049 + None, # 2050 + None, # 2051 + None, # 2052 + None, # 2053 + None, # 2054 + None, # 2055 + None, # 2056 + None, # 2057 + None, # 2058 + None, # 2059 + None, # 2060 + None, # 2061 + None, # 2062 + None, # 2063 + None, # 2064 + None, # 2065 + None, # 2066 + None, # 2067 + None, # 2068 + None, # 2069 + None, # 2070 + None, # 2071 + None, # 2072 + None, # 2073 + None, # 2074 + None, # 2075 + None, # 2076 + None, # 2077 + None, # 2078 + None, # 2079 + None, # 2080 + None, # 2081 + None, # 2082 + None, # 2083 + None, # 2084 + None, # 2085 + None, # 2086 + None, # 2087 + None, # 2088 + None, # 2089 + None, # 2090 + None, # 2091 + None, # 2092 + None, # 2093 + None, # 2094 + None, # 2095 + None, # 2096 + None, # 2097 + None, # 2098 + None, # 2099 + None, # 2100 + None, # 2101 + None, # 2102 + None, # 2103 + None, # 2104 + None, # 2105 + None, # 2106 + None, # 2107 + None, # 2108 + None, # 2109 + None, # 2110 + None, # 2111 + None, # 2112 + None, # 2113 + None, # 2114 + None, # 2115 + None, # 2116 + None, # 2117 + None, # 2118 + None, # 2119 + None, # 2120 + None, # 2121 + None, # 2122 + None, # 2123 + None, # 2124 + None, # 2125 + None, # 2126 + None, # 2127 + None, # 2128 + None, # 2129 + None, # 2130 + None, # 2131 + None, # 2132 + None, # 2133 + None, # 2134 + None, # 2135 + None, # 2136 + None, # 2137 + None, # 2138 + None, # 2139 + None, # 2140 + None, # 2141 + None, # 2142 + None, # 2143 + None, # 2144 + None, # 2145 + None, # 2146 + None, # 2147 + None, # 2148 + None, # 2149 + None, # 2150 + None, # 2151 + None, # 2152 + None, # 2153 + None, # 2154 + None, # 2155 + None, # 2156 + None, # 2157 + None, # 2158 + None, # 2159 + None, # 2160 + None, # 2161 + None, # 2162 + None, # 2163 + None, # 2164 + None, # 2165 + None, # 2166 + None, # 2167 + None, # 2168 + None, # 2169 + None, # 2170 + None, # 2171 + None, # 2172 + None, # 2173 + None, # 2174 + None, # 2175 + None, # 2176 + None, # 2177 + None, # 2178 + None, # 2179 + None, # 2180 + None, # 2181 + None, # 2182 + None, # 2183 + None, # 2184 + None, # 2185 + None, # 2186 + None, # 2187 + None, # 2188 + None, # 2189 + None, # 2190 + None, # 2191 + None, # 2192 + None, # 2193 + None, # 2194 + None, # 2195 + None, # 2196 + None, # 2197 + None, # 2198 + None, # 2199 + None, # 2200 + None, # 2201 + None, # 2202 + None, # 2203 + None, # 2204 + None, # 2205 + None, # 2206 + None, # 2207 + None, # 2208 + None, # 2209 + None, # 2210 + None, # 2211 + None, # 2212 + None, # 2213 + None, # 2214 + None, # 2215 + None, # 2216 + None, # 2217 + None, # 2218 + None, # 2219 + None, # 2220 + None, # 2221 + None, # 2222 + None, # 2223 + None, # 2224 + None, # 2225 + None, # 2226 + None, # 2227 + None, # 2228 + None, # 2229 + None, # 2230 + None, # 2231 + None, # 2232 + None, # 2233 + None, # 2234 + None, # 2235 + None, # 2236 + None, # 2237 + None, # 2238 + None, # 2239 + None, # 2240 + None, # 2241 + None, # 2242 + None, # 2243 + None, # 2244 + None, # 2245 + None, # 2246 + None, # 2247 + None, # 2248 + None, # 2249 + None, # 2250 + None, # 2251 + None, # 2252 + None, # 2253 + None, # 2254 + None, # 2255 + None, # 2256 + None, # 2257 + None, # 2258 + None, # 2259 + None, # 2260 + None, # 2261 + None, # 2262 + None, # 2263 + None, # 2264 + None, # 2265 + None, # 2266 + None, # 2267 + None, # 2268 + None, # 2269 + None, # 2270 + None, # 2271 + None, # 2272 + None, # 2273 + None, # 2274 + None, # 2275 + None, # 2276 + None, # 2277 + None, # 2278 + None, # 2279 + None, # 2280 + None, # 2281 + None, # 2282 + None, # 2283 + None, # 2284 + None, # 2285 + None, # 2286 + None, # 2287 + None, # 2288 + None, # 2289 + None, # 2290 + None, # 2291 + None, # 2292 + None, # 2293 + None, # 2294 + None, # 2295 + None, # 2296 + None, # 2297 + None, # 2298 + None, # 2299 + None, # 2300 + None, # 2301 + None, # 2302 + None, # 2303 + None, # 2304 + None, # 2305 + None, # 2306 + None, # 2307 + None, # 2308 + None, # 2309 + None, # 2310 + None, # 2311 + None, # 2312 + None, # 2313 + None, # 2314 + None, # 2315 + None, # 2316 + None, # 2317 + None, # 2318 + None, # 2319 + None, # 2320 + None, # 2321 + None, # 2322 + None, # 2323 + None, # 2324 + None, # 2325 + None, # 2326 + None, # 2327 + None, # 2328 + None, # 2329 + None, # 2330 + None, # 2331 + None, # 2332 + None, # 2333 + None, # 2334 + None, # 2335 + None, # 2336 + None, # 2337 + None, # 2338 + None, # 2339 + None, # 2340 + None, # 2341 + None, # 2342 + None, # 2343 + None, # 2344 + None, # 2345 + None, # 2346 + None, # 2347 + None, # 2348 + None, # 2349 + None, # 2350 + None, # 2351 + None, # 2352 + None, # 2353 + None, # 2354 + None, # 2355 + None, # 2356 + None, # 2357 + None, # 2358 + None, # 2359 + None, # 2360 + None, # 2361 + None, # 2362 + None, # 2363 + None, # 2364 + None, # 2365 + None, # 2366 + None, # 2367 + None, # 2368 + None, # 2369 + None, # 2370 + None, # 2371 + None, # 2372 + None, # 2373 + None, # 2374 + None, # 2375 + None, # 2376 + None, # 2377 + None, # 2378 + None, # 2379 + None, # 2380 + None, # 2381 + None, # 2382 + None, # 2383 + None, # 2384 + None, # 2385 + None, # 2386 + None, # 2387 + None, # 2388 + None, # 2389 + None, # 2390 + None, # 2391 + None, # 2392 + None, # 2393 + None, # 2394 + None, # 2395 + None, # 2396 + None, # 2397 + None, # 2398 + None, # 2399 + None, # 2400 + None, # 2401 + None, # 2402 + None, # 2403 + None, # 2404 + None, # 2405 + None, # 2406 + None, # 2407 + None, # 2408 + None, # 2409 + None, # 2410 + None, # 2411 + None, # 2412 + None, # 2413 + None, # 2414 + None, # 2415 + None, # 2416 + None, # 2417 + None, # 2418 + None, # 2419 + None, # 2420 + None, # 2421 + None, # 2422 + None, # 2423 + None, # 2424 + None, # 2425 + None, # 2426 + None, # 2427 + None, # 2428 + None, # 2429 + None, # 2430 + None, # 2431 + None, # 2432 + None, # 2433 + None, # 2434 + None, # 2435 + None, # 2436 + None, # 2437 + None, # 2438 + None, # 2439 + None, # 2440 + None, # 2441 + None, # 2442 + None, # 2443 + None, # 2444 + None, # 2445 + None, # 2446 + None, # 2447 + None, # 2448 + None, # 2449 + None, # 2450 + None, # 2451 + None, # 2452 + None, # 2453 + None, # 2454 + None, # 2455 + None, # 2456 + None, # 2457 + None, # 2458 + None, # 2459 + None, # 2460 + None, # 2461 + None, # 2462 + None, # 2463 + None, # 2464 + None, # 2465 + None, # 2466 + None, # 2467 + None, # 2468 + None, # 2469 + None, # 2470 + None, # 2471 + None, # 2472 + None, # 2473 + None, # 2474 + None, # 2475 + None, # 2476 + None, # 2477 + None, # 2478 + None, # 2479 + None, # 2480 + None, # 2481 + None, # 2482 + None, # 2483 + None, # 2484 + None, # 2485 + None, # 2486 + None, # 2487 + None, # 2488 + None, # 2489 + None, # 2490 + None, # 2491 + None, # 2492 + None, # 2493 + None, # 2494 + None, # 2495 + None, # 2496 + None, # 2497 + None, # 2498 + None, # 2499 + None, # 2500 + None, # 2501 + None, # 2502 + None, # 2503 + None, # 2504 + None, # 2505 + None, # 2506 + None, # 2507 + None, # 2508 + None, # 2509 + None, # 2510 + None, # 2511 + None, # 2512 + None, # 2513 + None, # 2514 + None, # 2515 + None, # 2516 + None, # 2517 + None, # 2518 + None, # 2519 + None, # 2520 + None, # 2521 + None, # 2522 + None, # 2523 + None, # 2524 + None, # 2525 + None, # 2526 + None, # 2527 + None, # 2528 + None, # 2529 + None, # 2530 + None, # 2531 + None, # 2532 + None, # 2533 + None, # 2534 + None, # 2535 + None, # 2536 + None, # 2537 + None, # 2538 + None, # 2539 + None, # 2540 + None, # 2541 + None, # 2542 + None, # 2543 + None, # 2544 + None, # 2545 + None, # 2546 + None, # 2547 + None, # 2548 + None, # 2549 + None, # 2550 + None, # 2551 + None, # 2552 + None, # 2553 + None, # 2554 + None, # 2555 + None, # 2556 + None, # 2557 + None, # 2558 + None, # 2559 + None, # 2560 + None, # 2561 + None, # 2562 + None, # 2563 + None, # 2564 + None, # 2565 + None, # 2566 + None, # 2567 + None, # 2568 + None, # 2569 + None, # 2570 + None, # 2571 + None, # 2572 + None, # 2573 + None, # 2574 + None, # 2575 + None, # 2576 + None, # 2577 + None, # 2578 + None, # 2579 + None, # 2580 + None, # 2581 + None, # 2582 + None, # 2583 + None, # 2584 + None, # 2585 + None, # 2586 + None, # 2587 + None, # 2588 + None, # 2589 + None, # 2590 + None, # 2591 + None, # 2592 + None, # 2593 + None, # 2594 + None, # 2595 + None, # 2596 + None, # 2597 + None, # 2598 + None, # 2599 + None, # 2600 + None, # 2601 + None, # 2602 + None, # 2603 + None, # 2604 + None, # 2605 + None, # 2606 + None, # 2607 + None, # 2608 + None, # 2609 + None, # 2610 + None, # 2611 + None, # 2612 + None, # 2613 + None, # 2614 + None, # 2615 + None, # 2616 + None, # 2617 + None, # 2618 + None, # 2619 + None, # 2620 + None, # 2621 + None, # 2622 + None, # 2623 + None, # 2624 + None, # 2625 + None, # 2626 + None, # 2627 + None, # 2628 + None, # 2629 + None, # 2630 + None, # 2631 + None, # 2632 + None, # 2633 + None, # 2634 + None, # 2635 + None, # 2636 + None, # 2637 + None, # 2638 + None, # 2639 + None, # 2640 + None, # 2641 + None, # 2642 + None, # 2643 + None, # 2644 + None, # 2645 + None, # 2646 + None, # 2647 + None, # 2648 + None, # 2649 + None, # 2650 + None, # 2651 + None, # 2652 + None, # 2653 + None, # 2654 + None, # 2655 + None, # 2656 + None, # 2657 + None, # 2658 + None, # 2659 + None, # 2660 + None, # 2661 + None, # 2662 + None, # 2663 + None, # 2664 + None, # 2665 + None, # 2666 + None, # 2667 + None, # 2668 + None, # 2669 + None, # 2670 + None, # 2671 + None, # 2672 + None, # 2673 + None, # 2674 + None, # 2675 + None, # 2676 + None, # 2677 + None, # 2678 + None, # 2679 + None, # 2680 + None, # 2681 + None, # 2682 + None, # 2683 + None, # 2684 + None, # 2685 + None, # 2686 + None, # 2687 + None, # 2688 + None, # 2689 + None, # 2690 + None, # 2691 + None, # 2692 + None, # 2693 + None, # 2694 + None, # 2695 + None, # 2696 + None, # 2697 + None, # 2698 + None, # 2699 + None, # 2700 + None, # 2701 + None, # 2702 + None, # 2703 + None, # 2704 + None, # 2705 + None, # 2706 + None, # 2707 + None, # 2708 + None, # 2709 + None, # 2710 + None, # 2711 + None, # 2712 + None, # 2713 + None, # 2714 + None, # 2715 + None, # 2716 + None, # 2717 + None, # 2718 + None, # 2719 + None, # 2720 + None, # 2721 + None, # 2722 + None, # 2723 + None, # 2724 + None, # 2725 + None, # 2726 + None, # 2727 + None, # 2728 + None, # 2729 + None, # 2730 + None, # 2731 + None, # 2732 + None, # 2733 + None, # 2734 + None, # 2735 + None, # 2736 + None, # 2737 + None, # 2738 + None, # 2739 + None, # 2740 + None, # 2741 + None, # 2742 + None, # 2743 + None, # 2744 + None, # 2745 + None, # 2746 + None, # 2747 + None, # 2748 + None, # 2749 + None, # 2750 + None, # 2751 + None, # 2752 + None, # 2753 + None, # 2754 + None, # 2755 + None, # 2756 + None, # 2757 + None, # 2758 + None, # 2759 + None, # 2760 + None, # 2761 + None, # 2762 + None, # 2763 + None, # 2764 + None, # 2765 + None, # 2766 + None, # 2767 + None, # 2768 + None, # 2769 + None, # 2770 + None, # 2771 + None, # 2772 + None, # 2773 + None, # 2774 + None, # 2775 + None, # 2776 + None, # 2777 + None, # 2778 + None, # 2779 + None, # 2780 + None, # 2781 + None, # 2782 + None, # 2783 + None, # 2784 + None, # 2785 + None, # 2786 + None, # 2787 + None, # 2788 + None, # 2789 + None, # 2790 + None, # 2791 + None, # 2792 + None, # 2793 + None, # 2794 + None, # 2795 + None, # 2796 + None, # 2797 + None, # 2798 + None, # 2799 + None, # 2800 + None, # 2801 + None, # 2802 + None, # 2803 + None, # 2804 + None, # 2805 + None, # 2806 + None, # 2807 + None, # 2808 + None, # 2809 + None, # 2810 + None, # 2811 + None, # 2812 + None, # 2813 + None, # 2814 + None, # 2815 + None, # 2816 + None, # 2817 + None, # 2818 + None, # 2819 + None, # 2820 + None, # 2821 + None, # 2822 + None, # 2823 + None, # 2824 + None, # 2825 + None, # 2826 + None, # 2827 + None, # 2828 + None, # 2829 + None, # 2830 + None, # 2831 + None, # 2832 + None, # 2833 + None, # 2834 + None, # 2835 + None, # 2836 + None, # 2837 + None, # 2838 + None, # 2839 + None, # 2840 + None, # 2841 + None, # 2842 + None, # 2843 + None, # 2844 + None, # 2845 + None, # 2846 + None, # 2847 + None, # 2848 + None, # 2849 + None, # 2850 + None, # 2851 + None, # 2852 + None, # 2853 + None, # 2854 + None, # 2855 + None, # 2856 + None, # 2857 + None, # 2858 + None, # 2859 + None, # 2860 + None, # 2861 + None, # 2862 + None, # 2863 + None, # 2864 + None, # 2865 + None, # 2866 + None, # 2867 + None, # 2868 + None, # 2869 + None, # 2870 + None, # 2871 + None, # 2872 + None, # 2873 + None, # 2874 + None, # 2875 + None, # 2876 + None, # 2877 + None, # 2878 + None, # 2879 + None, # 2880 + None, # 2881 + None, # 2882 + None, # 2883 + None, # 2884 + None, # 2885 + None, # 2886 + None, # 2887 + None, # 2888 + None, # 2889 + None, # 2890 + None, # 2891 + None, # 2892 + None, # 2893 + None, # 2894 + None, # 2895 + None, # 2896 + None, # 2897 + None, # 2898 + None, # 2899 + None, # 2900 + None, # 2901 + None, # 2902 + None, # 2903 + None, # 2904 + None, # 2905 + None, # 2906 + None, # 2907 + None, # 2908 + None, # 2909 + None, # 2910 + None, # 2911 + None, # 2912 + None, # 2913 + None, # 2914 + None, # 2915 + None, # 2916 + None, # 2917 + None, # 2918 + None, # 2919 + None, # 2920 + None, # 2921 + None, # 2922 + None, # 2923 + None, # 2924 + None, # 2925 + None, # 2926 + None, # 2927 + None, # 2928 + None, # 2929 + None, # 2930 + None, # 2931 + None, # 2932 + None, # 2933 + None, # 2934 + None, # 2935 + None, # 2936 + None, # 2937 + None, # 2938 + None, # 2939 + None, # 2940 + None, # 2941 + None, # 2942 + None, # 2943 + None, # 2944 + None, # 2945 + None, # 2946 + None, # 2947 + None, # 2948 + None, # 2949 + None, # 2950 + None, # 2951 + None, # 2952 + None, # 2953 + None, # 2954 + None, # 2955 + None, # 2956 + None, # 2957 + None, # 2958 + None, # 2959 + None, # 2960 + None, # 2961 + None, # 2962 + None, # 2963 + None, # 2964 + None, # 2965 + None, # 2966 + None, # 2967 + None, # 2968 + None, # 2969 + None, # 2970 + None, # 2971 + None, # 2972 + None, # 2973 + None, # 2974 + None, # 2975 + None, # 2976 + None, # 2977 + None, # 2978 + None, # 2979 + None, # 2980 + None, # 2981 + None, # 2982 + None, # 2983 + None, # 2984 + None, # 2985 + None, # 2986 + None, # 2987 + None, # 2988 + None, # 2989 + None, # 2990 + None, # 2991 + None, # 2992 + None, # 2993 + None, # 2994 + None, # 2995 + None, # 2996 + None, # 2997 + None, # 2998 + None, # 2999 + None, # 3000 + None, # 3001 + None, # 3002 + None, # 3003 + None, # 3004 + None, # 3005 + None, # 3006 + None, # 3007 + None, # 3008 + None, # 3009 + None, # 3010 + None, # 3011 + None, # 3012 + None, # 3013 + None, # 3014 + None, # 3015 + None, # 3016 + None, # 3017 + None, # 3018 + None, # 3019 + None, # 3020 + None, # 3021 + None, # 3022 + None, # 3023 + None, # 3024 + None, # 3025 + None, # 3026 + None, # 3027 + None, # 3028 + None, # 3029 + None, # 3030 + None, # 3031 + None, # 3032 + None, # 3033 + None, # 3034 + None, # 3035 + None, # 3036 + None, # 3037 + None, # 3038 + None, # 3039 + None, # 3040 + None, # 3041 + None, # 3042 + None, # 3043 + None, # 3044 + None, # 3045 + None, # 3046 + None, # 3047 + None, # 3048 + None, # 3049 + None, # 3050 + None, # 3051 + None, # 3052 + None, # 3053 + None, # 3054 + None, # 3055 + None, # 3056 + None, # 3057 + None, # 3058 + None, # 3059 + None, # 3060 + None, # 3061 + None, # 3062 + None, # 3063 + None, # 3064 + None, # 3065 + None, # 3066 + None, # 3067 + None, # 3068 + None, # 3069 + None, # 3070 + None, # 3071 + None, # 3072 + None, # 3073 + None, # 3074 + None, # 3075 + None, # 3076 + None, # 3077 + None, # 3078 + None, # 3079 + None, # 3080 + None, # 3081 + None, # 3082 + None, # 3083 + None, # 3084 + None, # 3085 + None, # 3086 + None, # 3087 + None, # 3088 + None, # 3089 + None, # 3090 + None, # 3091 + None, # 3092 + None, # 3093 + None, # 3094 + None, # 3095 + None, # 3096 + None, # 3097 + None, # 3098 + None, # 3099 + None, # 3100 + None, # 3101 + None, # 3102 + None, # 3103 + None, # 3104 + None, # 3105 + None, # 3106 + None, # 3107 + None, # 3108 + None, # 3109 + None, # 3110 + None, # 3111 + None, # 3112 + None, # 3113 + None, # 3114 + None, # 3115 + None, # 3116 + None, # 3117 + None, # 3118 + None, # 3119 + None, # 3120 + None, # 3121 + None, # 3122 + None, # 3123 + None, # 3124 + None, # 3125 + None, # 3126 + None, # 3127 + None, # 3128 + None, # 3129 + None, # 3130 + None, # 3131 + None, # 3132 + None, # 3133 + None, # 3134 + None, # 3135 + None, # 3136 + None, # 3137 + None, # 3138 + None, # 3139 + None, # 3140 + None, # 3141 + None, # 3142 + None, # 3143 + None, # 3144 + None, # 3145 + None, # 3146 + None, # 3147 + None, # 3148 + None, # 3149 + None, # 3150 + None, # 3151 + None, # 3152 + None, # 3153 + None, # 3154 + None, # 3155 + None, # 3156 + None, # 3157 + None, # 3158 + None, # 3159 + None, # 3160 + None, # 3161 + None, # 3162 + None, # 3163 + None, # 3164 + None, # 3165 + None, # 3166 + None, # 3167 + None, # 3168 + None, # 3169 + None, # 3170 + None, # 3171 + None, # 3172 + None, # 3173 + None, # 3174 + None, # 3175 + None, # 3176 + None, # 3177 + None, # 3178 + None, # 3179 + None, # 3180 + None, # 3181 + None, # 3182 + None, # 3183 + None, # 3184 + None, # 3185 + None, # 3186 + None, # 3187 + None, # 3188 + None, # 3189 + None, # 3190 + None, # 3191 + None, # 3192 + None, # 3193 + None, # 3194 + None, # 3195 + None, # 3196 + None, # 3197 + None, # 3198 + None, # 3199 + None, # 3200 + None, # 3201 + None, # 3202 + None, # 3203 + None, # 3204 + None, # 3205 + None, # 3206 + None, # 3207 + None, # 3208 + None, # 3209 + None, # 3210 + None, # 3211 + None, # 3212 + None, # 3213 + None, # 3214 + None, # 3215 + None, # 3216 + None, # 3217 + None, # 3218 + None, # 3219 + None, # 3220 + None, # 3221 + None, # 3222 + None, # 3223 + None, # 3224 + None, # 3225 + None, # 3226 + None, # 3227 + None, # 3228 + None, # 3229 + None, # 3230 + None, # 3231 + None, # 3232 + None, # 3233 + None, # 3234 + None, # 3235 + None, # 3236 + None, # 3237 + None, # 3238 + None, # 3239 + None, # 3240 + None, # 3241 + None, # 3242 + None, # 3243 + None, # 3244 + None, # 3245 + None, # 3246 + None, # 3247 + None, # 3248 + None, # 3249 + None, # 3250 + None, # 3251 + None, # 3252 + None, # 3253 + None, # 3254 + None, # 3255 + None, # 3256 + None, # 3257 + None, # 3258 + None, # 3259 + None, # 3260 + None, # 3261 + None, # 3262 + None, # 3263 + None, # 3264 + None, # 3265 + None, # 3266 + None, # 3267 + None, # 3268 + None, # 3269 + None, # 3270 + None, # 3271 + None, # 3272 + None, # 3273 + None, # 3274 + None, # 3275 + None, # 3276 + None, # 3277 + None, # 3278 + None, # 3279 + None, # 3280 + None, # 3281 + None, # 3282 + None, # 3283 + None, # 3284 + None, # 3285 + None, # 3286 + None, # 3287 + None, # 3288 + None, # 3289 + None, # 3290 + None, # 3291 + None, # 3292 + None, # 3293 + None, # 3294 + None, # 3295 + None, # 3296 + None, # 3297 + None, # 3298 + None, # 3299 + None, # 3300 + None, # 3301 + None, # 3302 + None, # 3303 + None, # 3304 + None, # 3305 + None, # 3306 + None, # 3307 + None, # 3308 + None, # 3309 + None, # 3310 + None, # 3311 + None, # 3312 + None, # 3313 + None, # 3314 + None, # 3315 + None, # 3316 + None, # 3317 + None, # 3318 + None, # 3319 + None, # 3320 + None, # 3321 + None, # 3322 + None, # 3323 + None, # 3324 + None, # 3325 + None, # 3326 + None, # 3327 + None, # 3328 + (3329, TType.STRUCT, 'operationId', [THandleIdentifier, None], None, ), # 3329 + (3330, TType.STRUCT, 'sessionConf', [TDBSqlSessionConf, None], None, ), # 3330 ) all_structs.append(TGetColumnsResp) TGetColumnsResp.thrift_spec = ( - None, # 0 - (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 - (2, TType.STRUCT, 'operationHandle', [TOperationHandle, None], None, ), # 2 - None, # 3 - None, # 4 - None, # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - (1281, TType.STRUCT, 'directResults', [TSparkDirectResults, None], None, ), # 1281 + None, # 0 + (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 + (2, TType.STRUCT, 'operationHandle', [TOperationHandle, None], None, ), # 2 + None, # 3 + None, # 4 + None, # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + (1281, TType.STRUCT, 'directResults', [TSparkDirectResults, None], None, ), # 1281 ) all_structs.append(TGetFunctionsReq) TGetFunctionsReq.thrift_spec = ( - None, # 0 - (1, TType.STRUCT, 'sessionHandle', [TSessionHandle, None], None, ), # 1 - (2, TType.STRING, 'catalogName', 'UTF8', None, ), # 2 - (3, TType.STRING, 'schemaName', 'UTF8', None, ), # 3 - (4, TType.STRING, 'functionName', 'UTF8', None, ), # 4 - None, # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - (1281, TType.STRUCT, 'getDirectResults', [TSparkGetDirectResults, None], None, ), # 1281 - (1282, TType.BOOL, 'runAsync', None, False, ), # 1282 - None, # 1283 - None, # 1284 - None, # 1285 - None, # 1286 - None, # 1287 - None, # 1288 - None, # 1289 - None, # 1290 - None, # 1291 - None, # 1292 - None, # 1293 - None, # 1294 - None, # 1295 - None, # 1296 - None, # 1297 - None, # 1298 - None, # 1299 - None, # 1300 - None, # 1301 - None, # 1302 - None, # 1303 - None, # 1304 - None, # 1305 - None, # 1306 - None, # 1307 - None, # 1308 - None, # 1309 - None, # 1310 - None, # 1311 - None, # 1312 - None, # 1313 - None, # 1314 - None, # 1315 - None, # 1316 - None, # 1317 - None, # 1318 - None, # 1319 - None, # 1320 - None, # 1321 - None, # 1322 - None, # 1323 - None, # 1324 - None, # 1325 - None, # 1326 - None, # 1327 - None, # 1328 - None, # 1329 - None, # 1330 - None, # 1331 - None, # 1332 - None, # 1333 - None, # 1334 - None, # 1335 - None, # 1336 - None, # 1337 - None, # 1338 - None, # 1339 - None, # 1340 - None, # 1341 - None, # 1342 - None, # 1343 - None, # 1344 - None, # 1345 - None, # 1346 - None, # 1347 - None, # 1348 - None, # 1349 - None, # 1350 - None, # 1351 - None, # 1352 - None, # 1353 - None, # 1354 - None, # 1355 - None, # 1356 - None, # 1357 - None, # 1358 - None, # 1359 - None, # 1360 - None, # 1361 - None, # 1362 - None, # 1363 - None, # 1364 - None, # 1365 - None, # 1366 - None, # 1367 - None, # 1368 - None, # 1369 - None, # 1370 - None, # 1371 - None, # 1372 - None, # 1373 - None, # 1374 - None, # 1375 - None, # 1376 - None, # 1377 - None, # 1378 - None, # 1379 - None, # 1380 - None, # 1381 - None, # 1382 - None, # 1383 - None, # 1384 - None, # 1385 - None, # 1386 - None, # 1387 - None, # 1388 - None, # 1389 - None, # 1390 - None, # 1391 - None, # 1392 - None, # 1393 - None, # 1394 - None, # 1395 - None, # 1396 - None, # 1397 - None, # 1398 - None, # 1399 - None, # 1400 - None, # 1401 - None, # 1402 - None, # 1403 - None, # 1404 - None, # 1405 - None, # 1406 - None, # 1407 - None, # 1408 - None, # 1409 - None, # 1410 - None, # 1411 - None, # 1412 - None, # 1413 - None, # 1414 - None, # 1415 - None, # 1416 - None, # 1417 - None, # 1418 - None, # 1419 - None, # 1420 - None, # 1421 - None, # 1422 - None, # 1423 - None, # 1424 - None, # 1425 - None, # 1426 - None, # 1427 - None, # 1428 - None, # 1429 - None, # 1430 - None, # 1431 - None, # 1432 - None, # 1433 - None, # 1434 - None, # 1435 - None, # 1436 - None, # 1437 - None, # 1438 - None, # 1439 - None, # 1440 - None, # 1441 - None, # 1442 - None, # 1443 - None, # 1444 - None, # 1445 - None, # 1446 - None, # 1447 - None, # 1448 - None, # 1449 - None, # 1450 - None, # 1451 - None, # 1452 - None, # 1453 - None, # 1454 - None, # 1455 - None, # 1456 - None, # 1457 - None, # 1458 - None, # 1459 - None, # 1460 - None, # 1461 - None, # 1462 - None, # 1463 - None, # 1464 - None, # 1465 - None, # 1466 - None, # 1467 - None, # 1468 - None, # 1469 - None, # 1470 - None, # 1471 - None, # 1472 - None, # 1473 - None, # 1474 - None, # 1475 - None, # 1476 - None, # 1477 - None, # 1478 - None, # 1479 - None, # 1480 - None, # 1481 - None, # 1482 - None, # 1483 - None, # 1484 - None, # 1485 - None, # 1486 - None, # 1487 - None, # 1488 - None, # 1489 - None, # 1490 - None, # 1491 - None, # 1492 - None, # 1493 - None, # 1494 - None, # 1495 - None, # 1496 - None, # 1497 - None, # 1498 - None, # 1499 - None, # 1500 - None, # 1501 - None, # 1502 - None, # 1503 - None, # 1504 - None, # 1505 - None, # 1506 - None, # 1507 - None, # 1508 - None, # 1509 - None, # 1510 - None, # 1511 - None, # 1512 - None, # 1513 - None, # 1514 - None, # 1515 - None, # 1516 - None, # 1517 - None, # 1518 - None, # 1519 - None, # 1520 - None, # 1521 - None, # 1522 - None, # 1523 - None, # 1524 - None, # 1525 - None, # 1526 - None, # 1527 - None, # 1528 - None, # 1529 - None, # 1530 - None, # 1531 - None, # 1532 - None, # 1533 - None, # 1534 - None, # 1535 - None, # 1536 - None, # 1537 - None, # 1538 - None, # 1539 - None, # 1540 - None, # 1541 - None, # 1542 - None, # 1543 - None, # 1544 - None, # 1545 - None, # 1546 - None, # 1547 - None, # 1548 - None, # 1549 - None, # 1550 - None, # 1551 - None, # 1552 - None, # 1553 - None, # 1554 - None, # 1555 - None, # 1556 - None, # 1557 - None, # 1558 - None, # 1559 - None, # 1560 - None, # 1561 - None, # 1562 - None, # 1563 - None, # 1564 - None, # 1565 - None, # 1566 - None, # 1567 - None, # 1568 - None, # 1569 - None, # 1570 - None, # 1571 - None, # 1572 - None, # 1573 - None, # 1574 - None, # 1575 - None, # 1576 - None, # 1577 - None, # 1578 - None, # 1579 - None, # 1580 - None, # 1581 - None, # 1582 - None, # 1583 - None, # 1584 - None, # 1585 - None, # 1586 - None, # 1587 - None, # 1588 - None, # 1589 - None, # 1590 - None, # 1591 - None, # 1592 - None, # 1593 - None, # 1594 - None, # 1595 - None, # 1596 - None, # 1597 - None, # 1598 - None, # 1599 - None, # 1600 - None, # 1601 - None, # 1602 - None, # 1603 - None, # 1604 - None, # 1605 - None, # 1606 - None, # 1607 - None, # 1608 - None, # 1609 - None, # 1610 - None, # 1611 - None, # 1612 - None, # 1613 - None, # 1614 - None, # 1615 - None, # 1616 - None, # 1617 - None, # 1618 - None, # 1619 - None, # 1620 - None, # 1621 - None, # 1622 - None, # 1623 - None, # 1624 - None, # 1625 - None, # 1626 - None, # 1627 - None, # 1628 - None, # 1629 - None, # 1630 - None, # 1631 - None, # 1632 - None, # 1633 - None, # 1634 - None, # 1635 - None, # 1636 - None, # 1637 - None, # 1638 - None, # 1639 - None, # 1640 - None, # 1641 - None, # 1642 - None, # 1643 - None, # 1644 - None, # 1645 - None, # 1646 - None, # 1647 - None, # 1648 - None, # 1649 - None, # 1650 - None, # 1651 - None, # 1652 - None, # 1653 - None, # 1654 - None, # 1655 - None, # 1656 - None, # 1657 - None, # 1658 - None, # 1659 - None, # 1660 - None, # 1661 - None, # 1662 - None, # 1663 - None, # 1664 - None, # 1665 - None, # 1666 - None, # 1667 - None, # 1668 - None, # 1669 - None, # 1670 - None, # 1671 - None, # 1672 - None, # 1673 - None, # 1674 - None, # 1675 - None, # 1676 - None, # 1677 - None, # 1678 - None, # 1679 - None, # 1680 - None, # 1681 - None, # 1682 - None, # 1683 - None, # 1684 - None, # 1685 - None, # 1686 - None, # 1687 - None, # 1688 - None, # 1689 - None, # 1690 - None, # 1691 - None, # 1692 - None, # 1693 - None, # 1694 - None, # 1695 - None, # 1696 - None, # 1697 - None, # 1698 - None, # 1699 - None, # 1700 - None, # 1701 - None, # 1702 - None, # 1703 - None, # 1704 - None, # 1705 - None, # 1706 - None, # 1707 - None, # 1708 - None, # 1709 - None, # 1710 - None, # 1711 - None, # 1712 - None, # 1713 - None, # 1714 - None, # 1715 - None, # 1716 - None, # 1717 - None, # 1718 - None, # 1719 - None, # 1720 - None, # 1721 - None, # 1722 - None, # 1723 - None, # 1724 - None, # 1725 - None, # 1726 - None, # 1727 - None, # 1728 - None, # 1729 - None, # 1730 - None, # 1731 - None, # 1732 - None, # 1733 - None, # 1734 - None, # 1735 - None, # 1736 - None, # 1737 - None, # 1738 - None, # 1739 - None, # 1740 - None, # 1741 - None, # 1742 - None, # 1743 - None, # 1744 - None, # 1745 - None, # 1746 - None, # 1747 - None, # 1748 - None, # 1749 - None, # 1750 - None, # 1751 - None, # 1752 - None, # 1753 - None, # 1754 - None, # 1755 - None, # 1756 - None, # 1757 - None, # 1758 - None, # 1759 - None, # 1760 - None, # 1761 - None, # 1762 - None, # 1763 - None, # 1764 - None, # 1765 - None, # 1766 - None, # 1767 - None, # 1768 - None, # 1769 - None, # 1770 - None, # 1771 - None, # 1772 - None, # 1773 - None, # 1774 - None, # 1775 - None, # 1776 - None, # 1777 - None, # 1778 - None, # 1779 - None, # 1780 - None, # 1781 - None, # 1782 - None, # 1783 - None, # 1784 - None, # 1785 - None, # 1786 - None, # 1787 - None, # 1788 - None, # 1789 - None, # 1790 - None, # 1791 - None, # 1792 - None, # 1793 - None, # 1794 - None, # 1795 - None, # 1796 - None, # 1797 - None, # 1798 - None, # 1799 - None, # 1800 - None, # 1801 - None, # 1802 - None, # 1803 - None, # 1804 - None, # 1805 - None, # 1806 - None, # 1807 - None, # 1808 - None, # 1809 - None, # 1810 - None, # 1811 - None, # 1812 - None, # 1813 - None, # 1814 - None, # 1815 - None, # 1816 - None, # 1817 - None, # 1818 - None, # 1819 - None, # 1820 - None, # 1821 - None, # 1822 - None, # 1823 - None, # 1824 - None, # 1825 - None, # 1826 - None, # 1827 - None, # 1828 - None, # 1829 - None, # 1830 - None, # 1831 - None, # 1832 - None, # 1833 - None, # 1834 - None, # 1835 - None, # 1836 - None, # 1837 - None, # 1838 - None, # 1839 - None, # 1840 - None, # 1841 - None, # 1842 - None, # 1843 - None, # 1844 - None, # 1845 - None, # 1846 - None, # 1847 - None, # 1848 - None, # 1849 - None, # 1850 - None, # 1851 - None, # 1852 - None, # 1853 - None, # 1854 - None, # 1855 - None, # 1856 - None, # 1857 - None, # 1858 - None, # 1859 - None, # 1860 - None, # 1861 - None, # 1862 - None, # 1863 - None, # 1864 - None, # 1865 - None, # 1866 - None, # 1867 - None, # 1868 - None, # 1869 - None, # 1870 - None, # 1871 - None, # 1872 - None, # 1873 - None, # 1874 - None, # 1875 - None, # 1876 - None, # 1877 - None, # 1878 - None, # 1879 - None, # 1880 - None, # 1881 - None, # 1882 - None, # 1883 - None, # 1884 - None, # 1885 - None, # 1886 - None, # 1887 - None, # 1888 - None, # 1889 - None, # 1890 - None, # 1891 - None, # 1892 - None, # 1893 - None, # 1894 - None, # 1895 - None, # 1896 - None, # 1897 - None, # 1898 - None, # 1899 - None, # 1900 - None, # 1901 - None, # 1902 - None, # 1903 - None, # 1904 - None, # 1905 - None, # 1906 - None, # 1907 - None, # 1908 - None, # 1909 - None, # 1910 - None, # 1911 - None, # 1912 - None, # 1913 - None, # 1914 - None, # 1915 - None, # 1916 - None, # 1917 - None, # 1918 - None, # 1919 - None, # 1920 - None, # 1921 - None, # 1922 - None, # 1923 - None, # 1924 - None, # 1925 - None, # 1926 - None, # 1927 - None, # 1928 - None, # 1929 - None, # 1930 - None, # 1931 - None, # 1932 - None, # 1933 - None, # 1934 - None, # 1935 - None, # 1936 - None, # 1937 - None, # 1938 - None, # 1939 - None, # 1940 - None, # 1941 - None, # 1942 - None, # 1943 - None, # 1944 - None, # 1945 - None, # 1946 - None, # 1947 - None, # 1948 - None, # 1949 - None, # 1950 - None, # 1951 - None, # 1952 - None, # 1953 - None, # 1954 - None, # 1955 - None, # 1956 - None, # 1957 - None, # 1958 - None, # 1959 - None, # 1960 - None, # 1961 - None, # 1962 - None, # 1963 - None, # 1964 - None, # 1965 - None, # 1966 - None, # 1967 - None, # 1968 - None, # 1969 - None, # 1970 - None, # 1971 - None, # 1972 - None, # 1973 - None, # 1974 - None, # 1975 - None, # 1976 - None, # 1977 - None, # 1978 - None, # 1979 - None, # 1980 - None, # 1981 - None, # 1982 - None, # 1983 - None, # 1984 - None, # 1985 - None, # 1986 - None, # 1987 - None, # 1988 - None, # 1989 - None, # 1990 - None, # 1991 - None, # 1992 - None, # 1993 - None, # 1994 - None, # 1995 - None, # 1996 - None, # 1997 - None, # 1998 - None, # 1999 - None, # 2000 - None, # 2001 - None, # 2002 - None, # 2003 - None, # 2004 - None, # 2005 - None, # 2006 - None, # 2007 - None, # 2008 - None, # 2009 - None, # 2010 - None, # 2011 - None, # 2012 - None, # 2013 - None, # 2014 - None, # 2015 - None, # 2016 - None, # 2017 - None, # 2018 - None, # 2019 - None, # 2020 - None, # 2021 - None, # 2022 - None, # 2023 - None, # 2024 - None, # 2025 - None, # 2026 - None, # 2027 - None, # 2028 - None, # 2029 - None, # 2030 - None, # 2031 - None, # 2032 - None, # 2033 - None, # 2034 - None, # 2035 - None, # 2036 - None, # 2037 - None, # 2038 - None, # 2039 - None, # 2040 - None, # 2041 - None, # 2042 - None, # 2043 - None, # 2044 - None, # 2045 - None, # 2046 - None, # 2047 - None, # 2048 - None, # 2049 - None, # 2050 - None, # 2051 - None, # 2052 - None, # 2053 - None, # 2054 - None, # 2055 - None, # 2056 - None, # 2057 - None, # 2058 - None, # 2059 - None, # 2060 - None, # 2061 - None, # 2062 - None, # 2063 - None, # 2064 - None, # 2065 - None, # 2066 - None, # 2067 - None, # 2068 - None, # 2069 - None, # 2070 - None, # 2071 - None, # 2072 - None, # 2073 - None, # 2074 - None, # 2075 - None, # 2076 - None, # 2077 - None, # 2078 - None, # 2079 - None, # 2080 - None, # 2081 - None, # 2082 - None, # 2083 - None, # 2084 - None, # 2085 - None, # 2086 - None, # 2087 - None, # 2088 - None, # 2089 - None, # 2090 - None, # 2091 - None, # 2092 - None, # 2093 - None, # 2094 - None, # 2095 - None, # 2096 - None, # 2097 - None, # 2098 - None, # 2099 - None, # 2100 - None, # 2101 - None, # 2102 - None, # 2103 - None, # 2104 - None, # 2105 - None, # 2106 - None, # 2107 - None, # 2108 - None, # 2109 - None, # 2110 - None, # 2111 - None, # 2112 - None, # 2113 - None, # 2114 - None, # 2115 - None, # 2116 - None, # 2117 - None, # 2118 - None, # 2119 - None, # 2120 - None, # 2121 - None, # 2122 - None, # 2123 - None, # 2124 - None, # 2125 - None, # 2126 - None, # 2127 - None, # 2128 - None, # 2129 - None, # 2130 - None, # 2131 - None, # 2132 - None, # 2133 - None, # 2134 - None, # 2135 - None, # 2136 - None, # 2137 - None, # 2138 - None, # 2139 - None, # 2140 - None, # 2141 - None, # 2142 - None, # 2143 - None, # 2144 - None, # 2145 - None, # 2146 - None, # 2147 - None, # 2148 - None, # 2149 - None, # 2150 - None, # 2151 - None, # 2152 - None, # 2153 - None, # 2154 - None, # 2155 - None, # 2156 - None, # 2157 - None, # 2158 - None, # 2159 - None, # 2160 - None, # 2161 - None, # 2162 - None, # 2163 - None, # 2164 - None, # 2165 - None, # 2166 - None, # 2167 - None, # 2168 - None, # 2169 - None, # 2170 - None, # 2171 - None, # 2172 - None, # 2173 - None, # 2174 - None, # 2175 - None, # 2176 - None, # 2177 - None, # 2178 - None, # 2179 - None, # 2180 - None, # 2181 - None, # 2182 - None, # 2183 - None, # 2184 - None, # 2185 - None, # 2186 - None, # 2187 - None, # 2188 - None, # 2189 - None, # 2190 - None, # 2191 - None, # 2192 - None, # 2193 - None, # 2194 - None, # 2195 - None, # 2196 - None, # 2197 - None, # 2198 - None, # 2199 - None, # 2200 - None, # 2201 - None, # 2202 - None, # 2203 - None, # 2204 - None, # 2205 - None, # 2206 - None, # 2207 - None, # 2208 - None, # 2209 - None, # 2210 - None, # 2211 - None, # 2212 - None, # 2213 - None, # 2214 - None, # 2215 - None, # 2216 - None, # 2217 - None, # 2218 - None, # 2219 - None, # 2220 - None, # 2221 - None, # 2222 - None, # 2223 - None, # 2224 - None, # 2225 - None, # 2226 - None, # 2227 - None, # 2228 - None, # 2229 - None, # 2230 - None, # 2231 - None, # 2232 - None, # 2233 - None, # 2234 - None, # 2235 - None, # 2236 - None, # 2237 - None, # 2238 - None, # 2239 - None, # 2240 - None, # 2241 - None, # 2242 - None, # 2243 - None, # 2244 - None, # 2245 - None, # 2246 - None, # 2247 - None, # 2248 - None, # 2249 - None, # 2250 - None, # 2251 - None, # 2252 - None, # 2253 - None, # 2254 - None, # 2255 - None, # 2256 - None, # 2257 - None, # 2258 - None, # 2259 - None, # 2260 - None, # 2261 - None, # 2262 - None, # 2263 - None, # 2264 - None, # 2265 - None, # 2266 - None, # 2267 - None, # 2268 - None, # 2269 - None, # 2270 - None, # 2271 - None, # 2272 - None, # 2273 - None, # 2274 - None, # 2275 - None, # 2276 - None, # 2277 - None, # 2278 - None, # 2279 - None, # 2280 - None, # 2281 - None, # 2282 - None, # 2283 - None, # 2284 - None, # 2285 - None, # 2286 - None, # 2287 - None, # 2288 - None, # 2289 - None, # 2290 - None, # 2291 - None, # 2292 - None, # 2293 - None, # 2294 - None, # 2295 - None, # 2296 - None, # 2297 - None, # 2298 - None, # 2299 - None, # 2300 - None, # 2301 - None, # 2302 - None, # 2303 - None, # 2304 - None, # 2305 - None, # 2306 - None, # 2307 - None, # 2308 - None, # 2309 - None, # 2310 - None, # 2311 - None, # 2312 - None, # 2313 - None, # 2314 - None, # 2315 - None, # 2316 - None, # 2317 - None, # 2318 - None, # 2319 - None, # 2320 - None, # 2321 - None, # 2322 - None, # 2323 - None, # 2324 - None, # 2325 - None, # 2326 - None, # 2327 - None, # 2328 - None, # 2329 - None, # 2330 - None, # 2331 - None, # 2332 - None, # 2333 - None, # 2334 - None, # 2335 - None, # 2336 - None, # 2337 - None, # 2338 - None, # 2339 - None, # 2340 - None, # 2341 - None, # 2342 - None, # 2343 - None, # 2344 - None, # 2345 - None, # 2346 - None, # 2347 - None, # 2348 - None, # 2349 - None, # 2350 - None, # 2351 - None, # 2352 - None, # 2353 - None, # 2354 - None, # 2355 - None, # 2356 - None, # 2357 - None, # 2358 - None, # 2359 - None, # 2360 - None, # 2361 - None, # 2362 - None, # 2363 - None, # 2364 - None, # 2365 - None, # 2366 - None, # 2367 - None, # 2368 - None, # 2369 - None, # 2370 - None, # 2371 - None, # 2372 - None, # 2373 - None, # 2374 - None, # 2375 - None, # 2376 - None, # 2377 - None, # 2378 - None, # 2379 - None, # 2380 - None, # 2381 - None, # 2382 - None, # 2383 - None, # 2384 - None, # 2385 - None, # 2386 - None, # 2387 - None, # 2388 - None, # 2389 - None, # 2390 - None, # 2391 - None, # 2392 - None, # 2393 - None, # 2394 - None, # 2395 - None, # 2396 - None, # 2397 - None, # 2398 - None, # 2399 - None, # 2400 - None, # 2401 - None, # 2402 - None, # 2403 - None, # 2404 - None, # 2405 - None, # 2406 - None, # 2407 - None, # 2408 - None, # 2409 - None, # 2410 - None, # 2411 - None, # 2412 - None, # 2413 - None, # 2414 - None, # 2415 - None, # 2416 - None, # 2417 - None, # 2418 - None, # 2419 - None, # 2420 - None, # 2421 - None, # 2422 - None, # 2423 - None, # 2424 - None, # 2425 - None, # 2426 - None, # 2427 - None, # 2428 - None, # 2429 - None, # 2430 - None, # 2431 - None, # 2432 - None, # 2433 - None, # 2434 - None, # 2435 - None, # 2436 - None, # 2437 - None, # 2438 - None, # 2439 - None, # 2440 - None, # 2441 - None, # 2442 - None, # 2443 - None, # 2444 - None, # 2445 - None, # 2446 - None, # 2447 - None, # 2448 - None, # 2449 - None, # 2450 - None, # 2451 - None, # 2452 - None, # 2453 - None, # 2454 - None, # 2455 - None, # 2456 - None, # 2457 - None, # 2458 - None, # 2459 - None, # 2460 - None, # 2461 - None, # 2462 - None, # 2463 - None, # 2464 - None, # 2465 - None, # 2466 - None, # 2467 - None, # 2468 - None, # 2469 - None, # 2470 - None, # 2471 - None, # 2472 - None, # 2473 - None, # 2474 - None, # 2475 - None, # 2476 - None, # 2477 - None, # 2478 - None, # 2479 - None, # 2480 - None, # 2481 - None, # 2482 - None, # 2483 - None, # 2484 - None, # 2485 - None, # 2486 - None, # 2487 - None, # 2488 - None, # 2489 - None, # 2490 - None, # 2491 - None, # 2492 - None, # 2493 - None, # 2494 - None, # 2495 - None, # 2496 - None, # 2497 - None, # 2498 - None, # 2499 - None, # 2500 - None, # 2501 - None, # 2502 - None, # 2503 - None, # 2504 - None, # 2505 - None, # 2506 - None, # 2507 - None, # 2508 - None, # 2509 - None, # 2510 - None, # 2511 - None, # 2512 - None, # 2513 - None, # 2514 - None, # 2515 - None, # 2516 - None, # 2517 - None, # 2518 - None, # 2519 - None, # 2520 - None, # 2521 - None, # 2522 - None, # 2523 - None, # 2524 - None, # 2525 - None, # 2526 - None, # 2527 - None, # 2528 - None, # 2529 - None, # 2530 - None, # 2531 - None, # 2532 - None, # 2533 - None, # 2534 - None, # 2535 - None, # 2536 - None, # 2537 - None, # 2538 - None, # 2539 - None, # 2540 - None, # 2541 - None, # 2542 - None, # 2543 - None, # 2544 - None, # 2545 - None, # 2546 - None, # 2547 - None, # 2548 - None, # 2549 - None, # 2550 - None, # 2551 - None, # 2552 - None, # 2553 - None, # 2554 - None, # 2555 - None, # 2556 - None, # 2557 - None, # 2558 - None, # 2559 - None, # 2560 - None, # 2561 - None, # 2562 - None, # 2563 - None, # 2564 - None, # 2565 - None, # 2566 - None, # 2567 - None, # 2568 - None, # 2569 - None, # 2570 - None, # 2571 - None, # 2572 - None, # 2573 - None, # 2574 - None, # 2575 - None, # 2576 - None, # 2577 - None, # 2578 - None, # 2579 - None, # 2580 - None, # 2581 - None, # 2582 - None, # 2583 - None, # 2584 - None, # 2585 - None, # 2586 - None, # 2587 - None, # 2588 - None, # 2589 - None, # 2590 - None, # 2591 - None, # 2592 - None, # 2593 - None, # 2594 - None, # 2595 - None, # 2596 - None, # 2597 - None, # 2598 - None, # 2599 - None, # 2600 - None, # 2601 - None, # 2602 - None, # 2603 - None, # 2604 - None, # 2605 - None, # 2606 - None, # 2607 - None, # 2608 - None, # 2609 - None, # 2610 - None, # 2611 - None, # 2612 - None, # 2613 - None, # 2614 - None, # 2615 - None, # 2616 - None, # 2617 - None, # 2618 - None, # 2619 - None, # 2620 - None, # 2621 - None, # 2622 - None, # 2623 - None, # 2624 - None, # 2625 - None, # 2626 - None, # 2627 - None, # 2628 - None, # 2629 - None, # 2630 - None, # 2631 - None, # 2632 - None, # 2633 - None, # 2634 - None, # 2635 - None, # 2636 - None, # 2637 - None, # 2638 - None, # 2639 - None, # 2640 - None, # 2641 - None, # 2642 - None, # 2643 - None, # 2644 - None, # 2645 - None, # 2646 - None, # 2647 - None, # 2648 - None, # 2649 - None, # 2650 - None, # 2651 - None, # 2652 - None, # 2653 - None, # 2654 - None, # 2655 - None, # 2656 - None, # 2657 - None, # 2658 - None, # 2659 - None, # 2660 - None, # 2661 - None, # 2662 - None, # 2663 - None, # 2664 - None, # 2665 - None, # 2666 - None, # 2667 - None, # 2668 - None, # 2669 - None, # 2670 - None, # 2671 - None, # 2672 - None, # 2673 - None, # 2674 - None, # 2675 - None, # 2676 - None, # 2677 - None, # 2678 - None, # 2679 - None, # 2680 - None, # 2681 - None, # 2682 - None, # 2683 - None, # 2684 - None, # 2685 - None, # 2686 - None, # 2687 - None, # 2688 - None, # 2689 - None, # 2690 - None, # 2691 - None, # 2692 - None, # 2693 - None, # 2694 - None, # 2695 - None, # 2696 - None, # 2697 - None, # 2698 - None, # 2699 - None, # 2700 - None, # 2701 - None, # 2702 - None, # 2703 - None, # 2704 - None, # 2705 - None, # 2706 - None, # 2707 - None, # 2708 - None, # 2709 - None, # 2710 - None, # 2711 - None, # 2712 - None, # 2713 - None, # 2714 - None, # 2715 - None, # 2716 - None, # 2717 - None, # 2718 - None, # 2719 - None, # 2720 - None, # 2721 - None, # 2722 - None, # 2723 - None, # 2724 - None, # 2725 - None, # 2726 - None, # 2727 - None, # 2728 - None, # 2729 - None, # 2730 - None, # 2731 - None, # 2732 - None, # 2733 - None, # 2734 - None, # 2735 - None, # 2736 - None, # 2737 - None, # 2738 - None, # 2739 - None, # 2740 - None, # 2741 - None, # 2742 - None, # 2743 - None, # 2744 - None, # 2745 - None, # 2746 - None, # 2747 - None, # 2748 - None, # 2749 - None, # 2750 - None, # 2751 - None, # 2752 - None, # 2753 - None, # 2754 - None, # 2755 - None, # 2756 - None, # 2757 - None, # 2758 - None, # 2759 - None, # 2760 - None, # 2761 - None, # 2762 - None, # 2763 - None, # 2764 - None, # 2765 - None, # 2766 - None, # 2767 - None, # 2768 - None, # 2769 - None, # 2770 - None, # 2771 - None, # 2772 - None, # 2773 - None, # 2774 - None, # 2775 - None, # 2776 - None, # 2777 - None, # 2778 - None, # 2779 - None, # 2780 - None, # 2781 - None, # 2782 - None, # 2783 - None, # 2784 - None, # 2785 - None, # 2786 - None, # 2787 - None, # 2788 - None, # 2789 - None, # 2790 - None, # 2791 - None, # 2792 - None, # 2793 - None, # 2794 - None, # 2795 - None, # 2796 - None, # 2797 - None, # 2798 - None, # 2799 - None, # 2800 - None, # 2801 - None, # 2802 - None, # 2803 - None, # 2804 - None, # 2805 - None, # 2806 - None, # 2807 - None, # 2808 - None, # 2809 - None, # 2810 - None, # 2811 - None, # 2812 - None, # 2813 - None, # 2814 - None, # 2815 - None, # 2816 - None, # 2817 - None, # 2818 - None, # 2819 - None, # 2820 - None, # 2821 - None, # 2822 - None, # 2823 - None, # 2824 - None, # 2825 - None, # 2826 - None, # 2827 - None, # 2828 - None, # 2829 - None, # 2830 - None, # 2831 - None, # 2832 - None, # 2833 - None, # 2834 - None, # 2835 - None, # 2836 - None, # 2837 - None, # 2838 - None, # 2839 - None, # 2840 - None, # 2841 - None, # 2842 - None, # 2843 - None, # 2844 - None, # 2845 - None, # 2846 - None, # 2847 - None, # 2848 - None, # 2849 - None, # 2850 - None, # 2851 - None, # 2852 - None, # 2853 - None, # 2854 - None, # 2855 - None, # 2856 - None, # 2857 - None, # 2858 - None, # 2859 - None, # 2860 - None, # 2861 - None, # 2862 - None, # 2863 - None, # 2864 - None, # 2865 - None, # 2866 - None, # 2867 - None, # 2868 - None, # 2869 - None, # 2870 - None, # 2871 - None, # 2872 - None, # 2873 - None, # 2874 - None, # 2875 - None, # 2876 - None, # 2877 - None, # 2878 - None, # 2879 - None, # 2880 - None, # 2881 - None, # 2882 - None, # 2883 - None, # 2884 - None, # 2885 - None, # 2886 - None, # 2887 - None, # 2888 - None, # 2889 - None, # 2890 - None, # 2891 - None, # 2892 - None, # 2893 - None, # 2894 - None, # 2895 - None, # 2896 - None, # 2897 - None, # 2898 - None, # 2899 - None, # 2900 - None, # 2901 - None, # 2902 - None, # 2903 - None, # 2904 - None, # 2905 - None, # 2906 - None, # 2907 - None, # 2908 - None, # 2909 - None, # 2910 - None, # 2911 - None, # 2912 - None, # 2913 - None, # 2914 - None, # 2915 - None, # 2916 - None, # 2917 - None, # 2918 - None, # 2919 - None, # 2920 - None, # 2921 - None, # 2922 - None, # 2923 - None, # 2924 - None, # 2925 - None, # 2926 - None, # 2927 - None, # 2928 - None, # 2929 - None, # 2930 - None, # 2931 - None, # 2932 - None, # 2933 - None, # 2934 - None, # 2935 - None, # 2936 - None, # 2937 - None, # 2938 - None, # 2939 - None, # 2940 - None, # 2941 - None, # 2942 - None, # 2943 - None, # 2944 - None, # 2945 - None, # 2946 - None, # 2947 - None, # 2948 - None, # 2949 - None, # 2950 - None, # 2951 - None, # 2952 - None, # 2953 - None, # 2954 - None, # 2955 - None, # 2956 - None, # 2957 - None, # 2958 - None, # 2959 - None, # 2960 - None, # 2961 - None, # 2962 - None, # 2963 - None, # 2964 - None, # 2965 - None, # 2966 - None, # 2967 - None, # 2968 - None, # 2969 - None, # 2970 - None, # 2971 - None, # 2972 - None, # 2973 - None, # 2974 - None, # 2975 - None, # 2976 - None, # 2977 - None, # 2978 - None, # 2979 - None, # 2980 - None, # 2981 - None, # 2982 - None, # 2983 - None, # 2984 - None, # 2985 - None, # 2986 - None, # 2987 - None, # 2988 - None, # 2989 - None, # 2990 - None, # 2991 - None, # 2992 - None, # 2993 - None, # 2994 - None, # 2995 - None, # 2996 - None, # 2997 - None, # 2998 - None, # 2999 - None, # 3000 - None, # 3001 - None, # 3002 - None, # 3003 - None, # 3004 - None, # 3005 - None, # 3006 - None, # 3007 - None, # 3008 - None, # 3009 - None, # 3010 - None, # 3011 - None, # 3012 - None, # 3013 - None, # 3014 - None, # 3015 - None, # 3016 - None, # 3017 - None, # 3018 - None, # 3019 - None, # 3020 - None, # 3021 - None, # 3022 - None, # 3023 - None, # 3024 - None, # 3025 - None, # 3026 - None, # 3027 - None, # 3028 - None, # 3029 - None, # 3030 - None, # 3031 - None, # 3032 - None, # 3033 - None, # 3034 - None, # 3035 - None, # 3036 - None, # 3037 - None, # 3038 - None, # 3039 - None, # 3040 - None, # 3041 - None, # 3042 - None, # 3043 - None, # 3044 - None, # 3045 - None, # 3046 - None, # 3047 - None, # 3048 - None, # 3049 - None, # 3050 - None, # 3051 - None, # 3052 - None, # 3053 - None, # 3054 - None, # 3055 - None, # 3056 - None, # 3057 - None, # 3058 - None, # 3059 - None, # 3060 - None, # 3061 - None, # 3062 - None, # 3063 - None, # 3064 - None, # 3065 - None, # 3066 - None, # 3067 - None, # 3068 - None, # 3069 - None, # 3070 - None, # 3071 - None, # 3072 - None, # 3073 - None, # 3074 - None, # 3075 - None, # 3076 - None, # 3077 - None, # 3078 - None, # 3079 - None, # 3080 - None, # 3081 - None, # 3082 - None, # 3083 - None, # 3084 - None, # 3085 - None, # 3086 - None, # 3087 - None, # 3088 - None, # 3089 - None, # 3090 - None, # 3091 - None, # 3092 - None, # 3093 - None, # 3094 - None, # 3095 - None, # 3096 - None, # 3097 - None, # 3098 - None, # 3099 - None, # 3100 - None, # 3101 - None, # 3102 - None, # 3103 - None, # 3104 - None, # 3105 - None, # 3106 - None, # 3107 - None, # 3108 - None, # 3109 - None, # 3110 - None, # 3111 - None, # 3112 - None, # 3113 - None, # 3114 - None, # 3115 - None, # 3116 - None, # 3117 - None, # 3118 - None, # 3119 - None, # 3120 - None, # 3121 - None, # 3122 - None, # 3123 - None, # 3124 - None, # 3125 - None, # 3126 - None, # 3127 - None, # 3128 - None, # 3129 - None, # 3130 - None, # 3131 - None, # 3132 - None, # 3133 - None, # 3134 - None, # 3135 - None, # 3136 - None, # 3137 - None, # 3138 - None, # 3139 - None, # 3140 - None, # 3141 - None, # 3142 - None, # 3143 - None, # 3144 - None, # 3145 - None, # 3146 - None, # 3147 - None, # 3148 - None, # 3149 - None, # 3150 - None, # 3151 - None, # 3152 - None, # 3153 - None, # 3154 - None, # 3155 - None, # 3156 - None, # 3157 - None, # 3158 - None, # 3159 - None, # 3160 - None, # 3161 - None, # 3162 - None, # 3163 - None, # 3164 - None, # 3165 - None, # 3166 - None, # 3167 - None, # 3168 - None, # 3169 - None, # 3170 - None, # 3171 - None, # 3172 - None, # 3173 - None, # 3174 - None, # 3175 - None, # 3176 - None, # 3177 - None, # 3178 - None, # 3179 - None, # 3180 - None, # 3181 - None, # 3182 - None, # 3183 - None, # 3184 - None, # 3185 - None, # 3186 - None, # 3187 - None, # 3188 - None, # 3189 - None, # 3190 - None, # 3191 - None, # 3192 - None, # 3193 - None, # 3194 - None, # 3195 - None, # 3196 - None, # 3197 - None, # 3198 - None, # 3199 - None, # 3200 - None, # 3201 - None, # 3202 - None, # 3203 - None, # 3204 - None, # 3205 - None, # 3206 - None, # 3207 - None, # 3208 - None, # 3209 - None, # 3210 - None, # 3211 - None, # 3212 - None, # 3213 - None, # 3214 - None, # 3215 - None, # 3216 - None, # 3217 - None, # 3218 - None, # 3219 - None, # 3220 - None, # 3221 - None, # 3222 - None, # 3223 - None, # 3224 - None, # 3225 - None, # 3226 - None, # 3227 - None, # 3228 - None, # 3229 - None, # 3230 - None, # 3231 - None, # 3232 - None, # 3233 - None, # 3234 - None, # 3235 - None, # 3236 - None, # 3237 - None, # 3238 - None, # 3239 - None, # 3240 - None, # 3241 - None, # 3242 - None, # 3243 - None, # 3244 - None, # 3245 - None, # 3246 - None, # 3247 - None, # 3248 - None, # 3249 - None, # 3250 - None, # 3251 - None, # 3252 - None, # 3253 - None, # 3254 - None, # 3255 - None, # 3256 - None, # 3257 - None, # 3258 - None, # 3259 - None, # 3260 - None, # 3261 - None, # 3262 - None, # 3263 - None, # 3264 - None, # 3265 - None, # 3266 - None, # 3267 - None, # 3268 - None, # 3269 - None, # 3270 - None, # 3271 - None, # 3272 - None, # 3273 - None, # 3274 - None, # 3275 - None, # 3276 - None, # 3277 - None, # 3278 - None, # 3279 - None, # 3280 - None, # 3281 - None, # 3282 - None, # 3283 - None, # 3284 - None, # 3285 - None, # 3286 - None, # 3287 - None, # 3288 - None, # 3289 - None, # 3290 - None, # 3291 - None, # 3292 - None, # 3293 - None, # 3294 - None, # 3295 - None, # 3296 - None, # 3297 - None, # 3298 - None, # 3299 - None, # 3300 - None, # 3301 - None, # 3302 - None, # 3303 - None, # 3304 - None, # 3305 - None, # 3306 - None, # 3307 - None, # 3308 - None, # 3309 - None, # 3310 - None, # 3311 - None, # 3312 - None, # 3313 - None, # 3314 - None, # 3315 - None, # 3316 - None, # 3317 - None, # 3318 - None, # 3319 - None, # 3320 - None, # 3321 - None, # 3322 - None, # 3323 - None, # 3324 - None, # 3325 - None, # 3326 - None, # 3327 - None, # 3328 - (3329, TType.STRUCT, 'operationId', [THandleIdentifier, None], None, ), # 3329 - (3330, TType.STRUCT, 'sessionConf', [TDBSqlSessionConf, None], None, ), # 3330 + None, # 0 + (1, TType.STRUCT, 'sessionHandle', [TSessionHandle, None], None, ), # 1 + (2, TType.STRING, 'catalogName', 'UTF8', None, ), # 2 + (3, TType.STRING, 'schemaName', 'UTF8', None, ), # 3 + (4, TType.STRING, 'functionName', 'UTF8', None, ), # 4 + None, # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + (1281, TType.STRUCT, 'getDirectResults', [TSparkGetDirectResults, None], None, ), # 1281 + (1282, TType.BOOL, 'runAsync', None, False, ), # 1282 + None, # 1283 + None, # 1284 + None, # 1285 + None, # 1286 + None, # 1287 + None, # 1288 + None, # 1289 + None, # 1290 + None, # 1291 + None, # 1292 + None, # 1293 + None, # 1294 + None, # 1295 + None, # 1296 + None, # 1297 + None, # 1298 + None, # 1299 + None, # 1300 + None, # 1301 + None, # 1302 + None, # 1303 + None, # 1304 + None, # 1305 + None, # 1306 + None, # 1307 + None, # 1308 + None, # 1309 + None, # 1310 + None, # 1311 + None, # 1312 + None, # 1313 + None, # 1314 + None, # 1315 + None, # 1316 + None, # 1317 + None, # 1318 + None, # 1319 + None, # 1320 + None, # 1321 + None, # 1322 + None, # 1323 + None, # 1324 + None, # 1325 + None, # 1326 + None, # 1327 + None, # 1328 + None, # 1329 + None, # 1330 + None, # 1331 + None, # 1332 + None, # 1333 + None, # 1334 + None, # 1335 + None, # 1336 + None, # 1337 + None, # 1338 + None, # 1339 + None, # 1340 + None, # 1341 + None, # 1342 + None, # 1343 + None, # 1344 + None, # 1345 + None, # 1346 + None, # 1347 + None, # 1348 + None, # 1349 + None, # 1350 + None, # 1351 + None, # 1352 + None, # 1353 + None, # 1354 + None, # 1355 + None, # 1356 + None, # 1357 + None, # 1358 + None, # 1359 + None, # 1360 + None, # 1361 + None, # 1362 + None, # 1363 + None, # 1364 + None, # 1365 + None, # 1366 + None, # 1367 + None, # 1368 + None, # 1369 + None, # 1370 + None, # 1371 + None, # 1372 + None, # 1373 + None, # 1374 + None, # 1375 + None, # 1376 + None, # 1377 + None, # 1378 + None, # 1379 + None, # 1380 + None, # 1381 + None, # 1382 + None, # 1383 + None, # 1384 + None, # 1385 + None, # 1386 + None, # 1387 + None, # 1388 + None, # 1389 + None, # 1390 + None, # 1391 + None, # 1392 + None, # 1393 + None, # 1394 + None, # 1395 + None, # 1396 + None, # 1397 + None, # 1398 + None, # 1399 + None, # 1400 + None, # 1401 + None, # 1402 + None, # 1403 + None, # 1404 + None, # 1405 + None, # 1406 + None, # 1407 + None, # 1408 + None, # 1409 + None, # 1410 + None, # 1411 + None, # 1412 + None, # 1413 + None, # 1414 + None, # 1415 + None, # 1416 + None, # 1417 + None, # 1418 + None, # 1419 + None, # 1420 + None, # 1421 + None, # 1422 + None, # 1423 + None, # 1424 + None, # 1425 + None, # 1426 + None, # 1427 + None, # 1428 + None, # 1429 + None, # 1430 + None, # 1431 + None, # 1432 + None, # 1433 + None, # 1434 + None, # 1435 + None, # 1436 + None, # 1437 + None, # 1438 + None, # 1439 + None, # 1440 + None, # 1441 + None, # 1442 + None, # 1443 + None, # 1444 + None, # 1445 + None, # 1446 + None, # 1447 + None, # 1448 + None, # 1449 + None, # 1450 + None, # 1451 + None, # 1452 + None, # 1453 + None, # 1454 + None, # 1455 + None, # 1456 + None, # 1457 + None, # 1458 + None, # 1459 + None, # 1460 + None, # 1461 + None, # 1462 + None, # 1463 + None, # 1464 + None, # 1465 + None, # 1466 + None, # 1467 + None, # 1468 + None, # 1469 + None, # 1470 + None, # 1471 + None, # 1472 + None, # 1473 + None, # 1474 + None, # 1475 + None, # 1476 + None, # 1477 + None, # 1478 + None, # 1479 + None, # 1480 + None, # 1481 + None, # 1482 + None, # 1483 + None, # 1484 + None, # 1485 + None, # 1486 + None, # 1487 + None, # 1488 + None, # 1489 + None, # 1490 + None, # 1491 + None, # 1492 + None, # 1493 + None, # 1494 + None, # 1495 + None, # 1496 + None, # 1497 + None, # 1498 + None, # 1499 + None, # 1500 + None, # 1501 + None, # 1502 + None, # 1503 + None, # 1504 + None, # 1505 + None, # 1506 + None, # 1507 + None, # 1508 + None, # 1509 + None, # 1510 + None, # 1511 + None, # 1512 + None, # 1513 + None, # 1514 + None, # 1515 + None, # 1516 + None, # 1517 + None, # 1518 + None, # 1519 + None, # 1520 + None, # 1521 + None, # 1522 + None, # 1523 + None, # 1524 + None, # 1525 + None, # 1526 + None, # 1527 + None, # 1528 + None, # 1529 + None, # 1530 + None, # 1531 + None, # 1532 + None, # 1533 + None, # 1534 + None, # 1535 + None, # 1536 + None, # 1537 + None, # 1538 + None, # 1539 + None, # 1540 + None, # 1541 + None, # 1542 + None, # 1543 + None, # 1544 + None, # 1545 + None, # 1546 + None, # 1547 + None, # 1548 + None, # 1549 + None, # 1550 + None, # 1551 + None, # 1552 + None, # 1553 + None, # 1554 + None, # 1555 + None, # 1556 + None, # 1557 + None, # 1558 + None, # 1559 + None, # 1560 + None, # 1561 + None, # 1562 + None, # 1563 + None, # 1564 + None, # 1565 + None, # 1566 + None, # 1567 + None, # 1568 + None, # 1569 + None, # 1570 + None, # 1571 + None, # 1572 + None, # 1573 + None, # 1574 + None, # 1575 + None, # 1576 + None, # 1577 + None, # 1578 + None, # 1579 + None, # 1580 + None, # 1581 + None, # 1582 + None, # 1583 + None, # 1584 + None, # 1585 + None, # 1586 + None, # 1587 + None, # 1588 + None, # 1589 + None, # 1590 + None, # 1591 + None, # 1592 + None, # 1593 + None, # 1594 + None, # 1595 + None, # 1596 + None, # 1597 + None, # 1598 + None, # 1599 + None, # 1600 + None, # 1601 + None, # 1602 + None, # 1603 + None, # 1604 + None, # 1605 + None, # 1606 + None, # 1607 + None, # 1608 + None, # 1609 + None, # 1610 + None, # 1611 + None, # 1612 + None, # 1613 + None, # 1614 + None, # 1615 + None, # 1616 + None, # 1617 + None, # 1618 + None, # 1619 + None, # 1620 + None, # 1621 + None, # 1622 + None, # 1623 + None, # 1624 + None, # 1625 + None, # 1626 + None, # 1627 + None, # 1628 + None, # 1629 + None, # 1630 + None, # 1631 + None, # 1632 + None, # 1633 + None, # 1634 + None, # 1635 + None, # 1636 + None, # 1637 + None, # 1638 + None, # 1639 + None, # 1640 + None, # 1641 + None, # 1642 + None, # 1643 + None, # 1644 + None, # 1645 + None, # 1646 + None, # 1647 + None, # 1648 + None, # 1649 + None, # 1650 + None, # 1651 + None, # 1652 + None, # 1653 + None, # 1654 + None, # 1655 + None, # 1656 + None, # 1657 + None, # 1658 + None, # 1659 + None, # 1660 + None, # 1661 + None, # 1662 + None, # 1663 + None, # 1664 + None, # 1665 + None, # 1666 + None, # 1667 + None, # 1668 + None, # 1669 + None, # 1670 + None, # 1671 + None, # 1672 + None, # 1673 + None, # 1674 + None, # 1675 + None, # 1676 + None, # 1677 + None, # 1678 + None, # 1679 + None, # 1680 + None, # 1681 + None, # 1682 + None, # 1683 + None, # 1684 + None, # 1685 + None, # 1686 + None, # 1687 + None, # 1688 + None, # 1689 + None, # 1690 + None, # 1691 + None, # 1692 + None, # 1693 + None, # 1694 + None, # 1695 + None, # 1696 + None, # 1697 + None, # 1698 + None, # 1699 + None, # 1700 + None, # 1701 + None, # 1702 + None, # 1703 + None, # 1704 + None, # 1705 + None, # 1706 + None, # 1707 + None, # 1708 + None, # 1709 + None, # 1710 + None, # 1711 + None, # 1712 + None, # 1713 + None, # 1714 + None, # 1715 + None, # 1716 + None, # 1717 + None, # 1718 + None, # 1719 + None, # 1720 + None, # 1721 + None, # 1722 + None, # 1723 + None, # 1724 + None, # 1725 + None, # 1726 + None, # 1727 + None, # 1728 + None, # 1729 + None, # 1730 + None, # 1731 + None, # 1732 + None, # 1733 + None, # 1734 + None, # 1735 + None, # 1736 + None, # 1737 + None, # 1738 + None, # 1739 + None, # 1740 + None, # 1741 + None, # 1742 + None, # 1743 + None, # 1744 + None, # 1745 + None, # 1746 + None, # 1747 + None, # 1748 + None, # 1749 + None, # 1750 + None, # 1751 + None, # 1752 + None, # 1753 + None, # 1754 + None, # 1755 + None, # 1756 + None, # 1757 + None, # 1758 + None, # 1759 + None, # 1760 + None, # 1761 + None, # 1762 + None, # 1763 + None, # 1764 + None, # 1765 + None, # 1766 + None, # 1767 + None, # 1768 + None, # 1769 + None, # 1770 + None, # 1771 + None, # 1772 + None, # 1773 + None, # 1774 + None, # 1775 + None, # 1776 + None, # 1777 + None, # 1778 + None, # 1779 + None, # 1780 + None, # 1781 + None, # 1782 + None, # 1783 + None, # 1784 + None, # 1785 + None, # 1786 + None, # 1787 + None, # 1788 + None, # 1789 + None, # 1790 + None, # 1791 + None, # 1792 + None, # 1793 + None, # 1794 + None, # 1795 + None, # 1796 + None, # 1797 + None, # 1798 + None, # 1799 + None, # 1800 + None, # 1801 + None, # 1802 + None, # 1803 + None, # 1804 + None, # 1805 + None, # 1806 + None, # 1807 + None, # 1808 + None, # 1809 + None, # 1810 + None, # 1811 + None, # 1812 + None, # 1813 + None, # 1814 + None, # 1815 + None, # 1816 + None, # 1817 + None, # 1818 + None, # 1819 + None, # 1820 + None, # 1821 + None, # 1822 + None, # 1823 + None, # 1824 + None, # 1825 + None, # 1826 + None, # 1827 + None, # 1828 + None, # 1829 + None, # 1830 + None, # 1831 + None, # 1832 + None, # 1833 + None, # 1834 + None, # 1835 + None, # 1836 + None, # 1837 + None, # 1838 + None, # 1839 + None, # 1840 + None, # 1841 + None, # 1842 + None, # 1843 + None, # 1844 + None, # 1845 + None, # 1846 + None, # 1847 + None, # 1848 + None, # 1849 + None, # 1850 + None, # 1851 + None, # 1852 + None, # 1853 + None, # 1854 + None, # 1855 + None, # 1856 + None, # 1857 + None, # 1858 + None, # 1859 + None, # 1860 + None, # 1861 + None, # 1862 + None, # 1863 + None, # 1864 + None, # 1865 + None, # 1866 + None, # 1867 + None, # 1868 + None, # 1869 + None, # 1870 + None, # 1871 + None, # 1872 + None, # 1873 + None, # 1874 + None, # 1875 + None, # 1876 + None, # 1877 + None, # 1878 + None, # 1879 + None, # 1880 + None, # 1881 + None, # 1882 + None, # 1883 + None, # 1884 + None, # 1885 + None, # 1886 + None, # 1887 + None, # 1888 + None, # 1889 + None, # 1890 + None, # 1891 + None, # 1892 + None, # 1893 + None, # 1894 + None, # 1895 + None, # 1896 + None, # 1897 + None, # 1898 + None, # 1899 + None, # 1900 + None, # 1901 + None, # 1902 + None, # 1903 + None, # 1904 + None, # 1905 + None, # 1906 + None, # 1907 + None, # 1908 + None, # 1909 + None, # 1910 + None, # 1911 + None, # 1912 + None, # 1913 + None, # 1914 + None, # 1915 + None, # 1916 + None, # 1917 + None, # 1918 + None, # 1919 + None, # 1920 + None, # 1921 + None, # 1922 + None, # 1923 + None, # 1924 + None, # 1925 + None, # 1926 + None, # 1927 + None, # 1928 + None, # 1929 + None, # 1930 + None, # 1931 + None, # 1932 + None, # 1933 + None, # 1934 + None, # 1935 + None, # 1936 + None, # 1937 + None, # 1938 + None, # 1939 + None, # 1940 + None, # 1941 + None, # 1942 + None, # 1943 + None, # 1944 + None, # 1945 + None, # 1946 + None, # 1947 + None, # 1948 + None, # 1949 + None, # 1950 + None, # 1951 + None, # 1952 + None, # 1953 + None, # 1954 + None, # 1955 + None, # 1956 + None, # 1957 + None, # 1958 + None, # 1959 + None, # 1960 + None, # 1961 + None, # 1962 + None, # 1963 + None, # 1964 + None, # 1965 + None, # 1966 + None, # 1967 + None, # 1968 + None, # 1969 + None, # 1970 + None, # 1971 + None, # 1972 + None, # 1973 + None, # 1974 + None, # 1975 + None, # 1976 + None, # 1977 + None, # 1978 + None, # 1979 + None, # 1980 + None, # 1981 + None, # 1982 + None, # 1983 + None, # 1984 + None, # 1985 + None, # 1986 + None, # 1987 + None, # 1988 + None, # 1989 + None, # 1990 + None, # 1991 + None, # 1992 + None, # 1993 + None, # 1994 + None, # 1995 + None, # 1996 + None, # 1997 + None, # 1998 + None, # 1999 + None, # 2000 + None, # 2001 + None, # 2002 + None, # 2003 + None, # 2004 + None, # 2005 + None, # 2006 + None, # 2007 + None, # 2008 + None, # 2009 + None, # 2010 + None, # 2011 + None, # 2012 + None, # 2013 + None, # 2014 + None, # 2015 + None, # 2016 + None, # 2017 + None, # 2018 + None, # 2019 + None, # 2020 + None, # 2021 + None, # 2022 + None, # 2023 + None, # 2024 + None, # 2025 + None, # 2026 + None, # 2027 + None, # 2028 + None, # 2029 + None, # 2030 + None, # 2031 + None, # 2032 + None, # 2033 + None, # 2034 + None, # 2035 + None, # 2036 + None, # 2037 + None, # 2038 + None, # 2039 + None, # 2040 + None, # 2041 + None, # 2042 + None, # 2043 + None, # 2044 + None, # 2045 + None, # 2046 + None, # 2047 + None, # 2048 + None, # 2049 + None, # 2050 + None, # 2051 + None, # 2052 + None, # 2053 + None, # 2054 + None, # 2055 + None, # 2056 + None, # 2057 + None, # 2058 + None, # 2059 + None, # 2060 + None, # 2061 + None, # 2062 + None, # 2063 + None, # 2064 + None, # 2065 + None, # 2066 + None, # 2067 + None, # 2068 + None, # 2069 + None, # 2070 + None, # 2071 + None, # 2072 + None, # 2073 + None, # 2074 + None, # 2075 + None, # 2076 + None, # 2077 + None, # 2078 + None, # 2079 + None, # 2080 + None, # 2081 + None, # 2082 + None, # 2083 + None, # 2084 + None, # 2085 + None, # 2086 + None, # 2087 + None, # 2088 + None, # 2089 + None, # 2090 + None, # 2091 + None, # 2092 + None, # 2093 + None, # 2094 + None, # 2095 + None, # 2096 + None, # 2097 + None, # 2098 + None, # 2099 + None, # 2100 + None, # 2101 + None, # 2102 + None, # 2103 + None, # 2104 + None, # 2105 + None, # 2106 + None, # 2107 + None, # 2108 + None, # 2109 + None, # 2110 + None, # 2111 + None, # 2112 + None, # 2113 + None, # 2114 + None, # 2115 + None, # 2116 + None, # 2117 + None, # 2118 + None, # 2119 + None, # 2120 + None, # 2121 + None, # 2122 + None, # 2123 + None, # 2124 + None, # 2125 + None, # 2126 + None, # 2127 + None, # 2128 + None, # 2129 + None, # 2130 + None, # 2131 + None, # 2132 + None, # 2133 + None, # 2134 + None, # 2135 + None, # 2136 + None, # 2137 + None, # 2138 + None, # 2139 + None, # 2140 + None, # 2141 + None, # 2142 + None, # 2143 + None, # 2144 + None, # 2145 + None, # 2146 + None, # 2147 + None, # 2148 + None, # 2149 + None, # 2150 + None, # 2151 + None, # 2152 + None, # 2153 + None, # 2154 + None, # 2155 + None, # 2156 + None, # 2157 + None, # 2158 + None, # 2159 + None, # 2160 + None, # 2161 + None, # 2162 + None, # 2163 + None, # 2164 + None, # 2165 + None, # 2166 + None, # 2167 + None, # 2168 + None, # 2169 + None, # 2170 + None, # 2171 + None, # 2172 + None, # 2173 + None, # 2174 + None, # 2175 + None, # 2176 + None, # 2177 + None, # 2178 + None, # 2179 + None, # 2180 + None, # 2181 + None, # 2182 + None, # 2183 + None, # 2184 + None, # 2185 + None, # 2186 + None, # 2187 + None, # 2188 + None, # 2189 + None, # 2190 + None, # 2191 + None, # 2192 + None, # 2193 + None, # 2194 + None, # 2195 + None, # 2196 + None, # 2197 + None, # 2198 + None, # 2199 + None, # 2200 + None, # 2201 + None, # 2202 + None, # 2203 + None, # 2204 + None, # 2205 + None, # 2206 + None, # 2207 + None, # 2208 + None, # 2209 + None, # 2210 + None, # 2211 + None, # 2212 + None, # 2213 + None, # 2214 + None, # 2215 + None, # 2216 + None, # 2217 + None, # 2218 + None, # 2219 + None, # 2220 + None, # 2221 + None, # 2222 + None, # 2223 + None, # 2224 + None, # 2225 + None, # 2226 + None, # 2227 + None, # 2228 + None, # 2229 + None, # 2230 + None, # 2231 + None, # 2232 + None, # 2233 + None, # 2234 + None, # 2235 + None, # 2236 + None, # 2237 + None, # 2238 + None, # 2239 + None, # 2240 + None, # 2241 + None, # 2242 + None, # 2243 + None, # 2244 + None, # 2245 + None, # 2246 + None, # 2247 + None, # 2248 + None, # 2249 + None, # 2250 + None, # 2251 + None, # 2252 + None, # 2253 + None, # 2254 + None, # 2255 + None, # 2256 + None, # 2257 + None, # 2258 + None, # 2259 + None, # 2260 + None, # 2261 + None, # 2262 + None, # 2263 + None, # 2264 + None, # 2265 + None, # 2266 + None, # 2267 + None, # 2268 + None, # 2269 + None, # 2270 + None, # 2271 + None, # 2272 + None, # 2273 + None, # 2274 + None, # 2275 + None, # 2276 + None, # 2277 + None, # 2278 + None, # 2279 + None, # 2280 + None, # 2281 + None, # 2282 + None, # 2283 + None, # 2284 + None, # 2285 + None, # 2286 + None, # 2287 + None, # 2288 + None, # 2289 + None, # 2290 + None, # 2291 + None, # 2292 + None, # 2293 + None, # 2294 + None, # 2295 + None, # 2296 + None, # 2297 + None, # 2298 + None, # 2299 + None, # 2300 + None, # 2301 + None, # 2302 + None, # 2303 + None, # 2304 + None, # 2305 + None, # 2306 + None, # 2307 + None, # 2308 + None, # 2309 + None, # 2310 + None, # 2311 + None, # 2312 + None, # 2313 + None, # 2314 + None, # 2315 + None, # 2316 + None, # 2317 + None, # 2318 + None, # 2319 + None, # 2320 + None, # 2321 + None, # 2322 + None, # 2323 + None, # 2324 + None, # 2325 + None, # 2326 + None, # 2327 + None, # 2328 + None, # 2329 + None, # 2330 + None, # 2331 + None, # 2332 + None, # 2333 + None, # 2334 + None, # 2335 + None, # 2336 + None, # 2337 + None, # 2338 + None, # 2339 + None, # 2340 + None, # 2341 + None, # 2342 + None, # 2343 + None, # 2344 + None, # 2345 + None, # 2346 + None, # 2347 + None, # 2348 + None, # 2349 + None, # 2350 + None, # 2351 + None, # 2352 + None, # 2353 + None, # 2354 + None, # 2355 + None, # 2356 + None, # 2357 + None, # 2358 + None, # 2359 + None, # 2360 + None, # 2361 + None, # 2362 + None, # 2363 + None, # 2364 + None, # 2365 + None, # 2366 + None, # 2367 + None, # 2368 + None, # 2369 + None, # 2370 + None, # 2371 + None, # 2372 + None, # 2373 + None, # 2374 + None, # 2375 + None, # 2376 + None, # 2377 + None, # 2378 + None, # 2379 + None, # 2380 + None, # 2381 + None, # 2382 + None, # 2383 + None, # 2384 + None, # 2385 + None, # 2386 + None, # 2387 + None, # 2388 + None, # 2389 + None, # 2390 + None, # 2391 + None, # 2392 + None, # 2393 + None, # 2394 + None, # 2395 + None, # 2396 + None, # 2397 + None, # 2398 + None, # 2399 + None, # 2400 + None, # 2401 + None, # 2402 + None, # 2403 + None, # 2404 + None, # 2405 + None, # 2406 + None, # 2407 + None, # 2408 + None, # 2409 + None, # 2410 + None, # 2411 + None, # 2412 + None, # 2413 + None, # 2414 + None, # 2415 + None, # 2416 + None, # 2417 + None, # 2418 + None, # 2419 + None, # 2420 + None, # 2421 + None, # 2422 + None, # 2423 + None, # 2424 + None, # 2425 + None, # 2426 + None, # 2427 + None, # 2428 + None, # 2429 + None, # 2430 + None, # 2431 + None, # 2432 + None, # 2433 + None, # 2434 + None, # 2435 + None, # 2436 + None, # 2437 + None, # 2438 + None, # 2439 + None, # 2440 + None, # 2441 + None, # 2442 + None, # 2443 + None, # 2444 + None, # 2445 + None, # 2446 + None, # 2447 + None, # 2448 + None, # 2449 + None, # 2450 + None, # 2451 + None, # 2452 + None, # 2453 + None, # 2454 + None, # 2455 + None, # 2456 + None, # 2457 + None, # 2458 + None, # 2459 + None, # 2460 + None, # 2461 + None, # 2462 + None, # 2463 + None, # 2464 + None, # 2465 + None, # 2466 + None, # 2467 + None, # 2468 + None, # 2469 + None, # 2470 + None, # 2471 + None, # 2472 + None, # 2473 + None, # 2474 + None, # 2475 + None, # 2476 + None, # 2477 + None, # 2478 + None, # 2479 + None, # 2480 + None, # 2481 + None, # 2482 + None, # 2483 + None, # 2484 + None, # 2485 + None, # 2486 + None, # 2487 + None, # 2488 + None, # 2489 + None, # 2490 + None, # 2491 + None, # 2492 + None, # 2493 + None, # 2494 + None, # 2495 + None, # 2496 + None, # 2497 + None, # 2498 + None, # 2499 + None, # 2500 + None, # 2501 + None, # 2502 + None, # 2503 + None, # 2504 + None, # 2505 + None, # 2506 + None, # 2507 + None, # 2508 + None, # 2509 + None, # 2510 + None, # 2511 + None, # 2512 + None, # 2513 + None, # 2514 + None, # 2515 + None, # 2516 + None, # 2517 + None, # 2518 + None, # 2519 + None, # 2520 + None, # 2521 + None, # 2522 + None, # 2523 + None, # 2524 + None, # 2525 + None, # 2526 + None, # 2527 + None, # 2528 + None, # 2529 + None, # 2530 + None, # 2531 + None, # 2532 + None, # 2533 + None, # 2534 + None, # 2535 + None, # 2536 + None, # 2537 + None, # 2538 + None, # 2539 + None, # 2540 + None, # 2541 + None, # 2542 + None, # 2543 + None, # 2544 + None, # 2545 + None, # 2546 + None, # 2547 + None, # 2548 + None, # 2549 + None, # 2550 + None, # 2551 + None, # 2552 + None, # 2553 + None, # 2554 + None, # 2555 + None, # 2556 + None, # 2557 + None, # 2558 + None, # 2559 + None, # 2560 + None, # 2561 + None, # 2562 + None, # 2563 + None, # 2564 + None, # 2565 + None, # 2566 + None, # 2567 + None, # 2568 + None, # 2569 + None, # 2570 + None, # 2571 + None, # 2572 + None, # 2573 + None, # 2574 + None, # 2575 + None, # 2576 + None, # 2577 + None, # 2578 + None, # 2579 + None, # 2580 + None, # 2581 + None, # 2582 + None, # 2583 + None, # 2584 + None, # 2585 + None, # 2586 + None, # 2587 + None, # 2588 + None, # 2589 + None, # 2590 + None, # 2591 + None, # 2592 + None, # 2593 + None, # 2594 + None, # 2595 + None, # 2596 + None, # 2597 + None, # 2598 + None, # 2599 + None, # 2600 + None, # 2601 + None, # 2602 + None, # 2603 + None, # 2604 + None, # 2605 + None, # 2606 + None, # 2607 + None, # 2608 + None, # 2609 + None, # 2610 + None, # 2611 + None, # 2612 + None, # 2613 + None, # 2614 + None, # 2615 + None, # 2616 + None, # 2617 + None, # 2618 + None, # 2619 + None, # 2620 + None, # 2621 + None, # 2622 + None, # 2623 + None, # 2624 + None, # 2625 + None, # 2626 + None, # 2627 + None, # 2628 + None, # 2629 + None, # 2630 + None, # 2631 + None, # 2632 + None, # 2633 + None, # 2634 + None, # 2635 + None, # 2636 + None, # 2637 + None, # 2638 + None, # 2639 + None, # 2640 + None, # 2641 + None, # 2642 + None, # 2643 + None, # 2644 + None, # 2645 + None, # 2646 + None, # 2647 + None, # 2648 + None, # 2649 + None, # 2650 + None, # 2651 + None, # 2652 + None, # 2653 + None, # 2654 + None, # 2655 + None, # 2656 + None, # 2657 + None, # 2658 + None, # 2659 + None, # 2660 + None, # 2661 + None, # 2662 + None, # 2663 + None, # 2664 + None, # 2665 + None, # 2666 + None, # 2667 + None, # 2668 + None, # 2669 + None, # 2670 + None, # 2671 + None, # 2672 + None, # 2673 + None, # 2674 + None, # 2675 + None, # 2676 + None, # 2677 + None, # 2678 + None, # 2679 + None, # 2680 + None, # 2681 + None, # 2682 + None, # 2683 + None, # 2684 + None, # 2685 + None, # 2686 + None, # 2687 + None, # 2688 + None, # 2689 + None, # 2690 + None, # 2691 + None, # 2692 + None, # 2693 + None, # 2694 + None, # 2695 + None, # 2696 + None, # 2697 + None, # 2698 + None, # 2699 + None, # 2700 + None, # 2701 + None, # 2702 + None, # 2703 + None, # 2704 + None, # 2705 + None, # 2706 + None, # 2707 + None, # 2708 + None, # 2709 + None, # 2710 + None, # 2711 + None, # 2712 + None, # 2713 + None, # 2714 + None, # 2715 + None, # 2716 + None, # 2717 + None, # 2718 + None, # 2719 + None, # 2720 + None, # 2721 + None, # 2722 + None, # 2723 + None, # 2724 + None, # 2725 + None, # 2726 + None, # 2727 + None, # 2728 + None, # 2729 + None, # 2730 + None, # 2731 + None, # 2732 + None, # 2733 + None, # 2734 + None, # 2735 + None, # 2736 + None, # 2737 + None, # 2738 + None, # 2739 + None, # 2740 + None, # 2741 + None, # 2742 + None, # 2743 + None, # 2744 + None, # 2745 + None, # 2746 + None, # 2747 + None, # 2748 + None, # 2749 + None, # 2750 + None, # 2751 + None, # 2752 + None, # 2753 + None, # 2754 + None, # 2755 + None, # 2756 + None, # 2757 + None, # 2758 + None, # 2759 + None, # 2760 + None, # 2761 + None, # 2762 + None, # 2763 + None, # 2764 + None, # 2765 + None, # 2766 + None, # 2767 + None, # 2768 + None, # 2769 + None, # 2770 + None, # 2771 + None, # 2772 + None, # 2773 + None, # 2774 + None, # 2775 + None, # 2776 + None, # 2777 + None, # 2778 + None, # 2779 + None, # 2780 + None, # 2781 + None, # 2782 + None, # 2783 + None, # 2784 + None, # 2785 + None, # 2786 + None, # 2787 + None, # 2788 + None, # 2789 + None, # 2790 + None, # 2791 + None, # 2792 + None, # 2793 + None, # 2794 + None, # 2795 + None, # 2796 + None, # 2797 + None, # 2798 + None, # 2799 + None, # 2800 + None, # 2801 + None, # 2802 + None, # 2803 + None, # 2804 + None, # 2805 + None, # 2806 + None, # 2807 + None, # 2808 + None, # 2809 + None, # 2810 + None, # 2811 + None, # 2812 + None, # 2813 + None, # 2814 + None, # 2815 + None, # 2816 + None, # 2817 + None, # 2818 + None, # 2819 + None, # 2820 + None, # 2821 + None, # 2822 + None, # 2823 + None, # 2824 + None, # 2825 + None, # 2826 + None, # 2827 + None, # 2828 + None, # 2829 + None, # 2830 + None, # 2831 + None, # 2832 + None, # 2833 + None, # 2834 + None, # 2835 + None, # 2836 + None, # 2837 + None, # 2838 + None, # 2839 + None, # 2840 + None, # 2841 + None, # 2842 + None, # 2843 + None, # 2844 + None, # 2845 + None, # 2846 + None, # 2847 + None, # 2848 + None, # 2849 + None, # 2850 + None, # 2851 + None, # 2852 + None, # 2853 + None, # 2854 + None, # 2855 + None, # 2856 + None, # 2857 + None, # 2858 + None, # 2859 + None, # 2860 + None, # 2861 + None, # 2862 + None, # 2863 + None, # 2864 + None, # 2865 + None, # 2866 + None, # 2867 + None, # 2868 + None, # 2869 + None, # 2870 + None, # 2871 + None, # 2872 + None, # 2873 + None, # 2874 + None, # 2875 + None, # 2876 + None, # 2877 + None, # 2878 + None, # 2879 + None, # 2880 + None, # 2881 + None, # 2882 + None, # 2883 + None, # 2884 + None, # 2885 + None, # 2886 + None, # 2887 + None, # 2888 + None, # 2889 + None, # 2890 + None, # 2891 + None, # 2892 + None, # 2893 + None, # 2894 + None, # 2895 + None, # 2896 + None, # 2897 + None, # 2898 + None, # 2899 + None, # 2900 + None, # 2901 + None, # 2902 + None, # 2903 + None, # 2904 + None, # 2905 + None, # 2906 + None, # 2907 + None, # 2908 + None, # 2909 + None, # 2910 + None, # 2911 + None, # 2912 + None, # 2913 + None, # 2914 + None, # 2915 + None, # 2916 + None, # 2917 + None, # 2918 + None, # 2919 + None, # 2920 + None, # 2921 + None, # 2922 + None, # 2923 + None, # 2924 + None, # 2925 + None, # 2926 + None, # 2927 + None, # 2928 + None, # 2929 + None, # 2930 + None, # 2931 + None, # 2932 + None, # 2933 + None, # 2934 + None, # 2935 + None, # 2936 + None, # 2937 + None, # 2938 + None, # 2939 + None, # 2940 + None, # 2941 + None, # 2942 + None, # 2943 + None, # 2944 + None, # 2945 + None, # 2946 + None, # 2947 + None, # 2948 + None, # 2949 + None, # 2950 + None, # 2951 + None, # 2952 + None, # 2953 + None, # 2954 + None, # 2955 + None, # 2956 + None, # 2957 + None, # 2958 + None, # 2959 + None, # 2960 + None, # 2961 + None, # 2962 + None, # 2963 + None, # 2964 + None, # 2965 + None, # 2966 + None, # 2967 + None, # 2968 + None, # 2969 + None, # 2970 + None, # 2971 + None, # 2972 + None, # 2973 + None, # 2974 + None, # 2975 + None, # 2976 + None, # 2977 + None, # 2978 + None, # 2979 + None, # 2980 + None, # 2981 + None, # 2982 + None, # 2983 + None, # 2984 + None, # 2985 + None, # 2986 + None, # 2987 + None, # 2988 + None, # 2989 + None, # 2990 + None, # 2991 + None, # 2992 + None, # 2993 + None, # 2994 + None, # 2995 + None, # 2996 + None, # 2997 + None, # 2998 + None, # 2999 + None, # 3000 + None, # 3001 + None, # 3002 + None, # 3003 + None, # 3004 + None, # 3005 + None, # 3006 + None, # 3007 + None, # 3008 + None, # 3009 + None, # 3010 + None, # 3011 + None, # 3012 + None, # 3013 + None, # 3014 + None, # 3015 + None, # 3016 + None, # 3017 + None, # 3018 + None, # 3019 + None, # 3020 + None, # 3021 + None, # 3022 + None, # 3023 + None, # 3024 + None, # 3025 + None, # 3026 + None, # 3027 + None, # 3028 + None, # 3029 + None, # 3030 + None, # 3031 + None, # 3032 + None, # 3033 + None, # 3034 + None, # 3035 + None, # 3036 + None, # 3037 + None, # 3038 + None, # 3039 + None, # 3040 + None, # 3041 + None, # 3042 + None, # 3043 + None, # 3044 + None, # 3045 + None, # 3046 + None, # 3047 + None, # 3048 + None, # 3049 + None, # 3050 + None, # 3051 + None, # 3052 + None, # 3053 + None, # 3054 + None, # 3055 + None, # 3056 + None, # 3057 + None, # 3058 + None, # 3059 + None, # 3060 + None, # 3061 + None, # 3062 + None, # 3063 + None, # 3064 + None, # 3065 + None, # 3066 + None, # 3067 + None, # 3068 + None, # 3069 + None, # 3070 + None, # 3071 + None, # 3072 + None, # 3073 + None, # 3074 + None, # 3075 + None, # 3076 + None, # 3077 + None, # 3078 + None, # 3079 + None, # 3080 + None, # 3081 + None, # 3082 + None, # 3083 + None, # 3084 + None, # 3085 + None, # 3086 + None, # 3087 + None, # 3088 + None, # 3089 + None, # 3090 + None, # 3091 + None, # 3092 + None, # 3093 + None, # 3094 + None, # 3095 + None, # 3096 + None, # 3097 + None, # 3098 + None, # 3099 + None, # 3100 + None, # 3101 + None, # 3102 + None, # 3103 + None, # 3104 + None, # 3105 + None, # 3106 + None, # 3107 + None, # 3108 + None, # 3109 + None, # 3110 + None, # 3111 + None, # 3112 + None, # 3113 + None, # 3114 + None, # 3115 + None, # 3116 + None, # 3117 + None, # 3118 + None, # 3119 + None, # 3120 + None, # 3121 + None, # 3122 + None, # 3123 + None, # 3124 + None, # 3125 + None, # 3126 + None, # 3127 + None, # 3128 + None, # 3129 + None, # 3130 + None, # 3131 + None, # 3132 + None, # 3133 + None, # 3134 + None, # 3135 + None, # 3136 + None, # 3137 + None, # 3138 + None, # 3139 + None, # 3140 + None, # 3141 + None, # 3142 + None, # 3143 + None, # 3144 + None, # 3145 + None, # 3146 + None, # 3147 + None, # 3148 + None, # 3149 + None, # 3150 + None, # 3151 + None, # 3152 + None, # 3153 + None, # 3154 + None, # 3155 + None, # 3156 + None, # 3157 + None, # 3158 + None, # 3159 + None, # 3160 + None, # 3161 + None, # 3162 + None, # 3163 + None, # 3164 + None, # 3165 + None, # 3166 + None, # 3167 + None, # 3168 + None, # 3169 + None, # 3170 + None, # 3171 + None, # 3172 + None, # 3173 + None, # 3174 + None, # 3175 + None, # 3176 + None, # 3177 + None, # 3178 + None, # 3179 + None, # 3180 + None, # 3181 + None, # 3182 + None, # 3183 + None, # 3184 + None, # 3185 + None, # 3186 + None, # 3187 + None, # 3188 + None, # 3189 + None, # 3190 + None, # 3191 + None, # 3192 + None, # 3193 + None, # 3194 + None, # 3195 + None, # 3196 + None, # 3197 + None, # 3198 + None, # 3199 + None, # 3200 + None, # 3201 + None, # 3202 + None, # 3203 + None, # 3204 + None, # 3205 + None, # 3206 + None, # 3207 + None, # 3208 + None, # 3209 + None, # 3210 + None, # 3211 + None, # 3212 + None, # 3213 + None, # 3214 + None, # 3215 + None, # 3216 + None, # 3217 + None, # 3218 + None, # 3219 + None, # 3220 + None, # 3221 + None, # 3222 + None, # 3223 + None, # 3224 + None, # 3225 + None, # 3226 + None, # 3227 + None, # 3228 + None, # 3229 + None, # 3230 + None, # 3231 + None, # 3232 + None, # 3233 + None, # 3234 + None, # 3235 + None, # 3236 + None, # 3237 + None, # 3238 + None, # 3239 + None, # 3240 + None, # 3241 + None, # 3242 + None, # 3243 + None, # 3244 + None, # 3245 + None, # 3246 + None, # 3247 + None, # 3248 + None, # 3249 + None, # 3250 + None, # 3251 + None, # 3252 + None, # 3253 + None, # 3254 + None, # 3255 + None, # 3256 + None, # 3257 + None, # 3258 + None, # 3259 + None, # 3260 + None, # 3261 + None, # 3262 + None, # 3263 + None, # 3264 + None, # 3265 + None, # 3266 + None, # 3267 + None, # 3268 + None, # 3269 + None, # 3270 + None, # 3271 + None, # 3272 + None, # 3273 + None, # 3274 + None, # 3275 + None, # 3276 + None, # 3277 + None, # 3278 + None, # 3279 + None, # 3280 + None, # 3281 + None, # 3282 + None, # 3283 + None, # 3284 + None, # 3285 + None, # 3286 + None, # 3287 + None, # 3288 + None, # 3289 + None, # 3290 + None, # 3291 + None, # 3292 + None, # 3293 + None, # 3294 + None, # 3295 + None, # 3296 + None, # 3297 + None, # 3298 + None, # 3299 + None, # 3300 + None, # 3301 + None, # 3302 + None, # 3303 + None, # 3304 + None, # 3305 + None, # 3306 + None, # 3307 + None, # 3308 + None, # 3309 + None, # 3310 + None, # 3311 + None, # 3312 + None, # 3313 + None, # 3314 + None, # 3315 + None, # 3316 + None, # 3317 + None, # 3318 + None, # 3319 + None, # 3320 + None, # 3321 + None, # 3322 + None, # 3323 + None, # 3324 + None, # 3325 + None, # 3326 + None, # 3327 + None, # 3328 + (3329, TType.STRUCT, 'operationId', [THandleIdentifier, None], None, ), # 3329 + (3330, TType.STRUCT, 'sessionConf', [TDBSqlSessionConf, None], None, ), # 3330 ) all_structs.append(TGetFunctionsResp) TGetFunctionsResp.thrift_spec = ( - None, # 0 - (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 - (2, TType.STRUCT, 'operationHandle', [TOperationHandle, None], None, ), # 2 - None, # 3 - None, # 4 - None, # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - (1281, TType.STRUCT, 'directResults', [TSparkDirectResults, None], None, ), # 1281 + None, # 0 + (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 + (2, TType.STRUCT, 'operationHandle', [TOperationHandle, None], None, ), # 2 + None, # 3 + None, # 4 + None, # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + (1281, TType.STRUCT, 'directResults', [TSparkDirectResults, None], None, ), # 1281 ) all_structs.append(TGetPrimaryKeysReq) TGetPrimaryKeysReq.thrift_spec = ( - None, # 0 - (1, TType.STRUCT, 'sessionHandle', [TSessionHandle, None], None, ), # 1 - (2, TType.STRING, 'catalogName', 'UTF8', None, ), # 2 - (3, TType.STRING, 'schemaName', 'UTF8', None, ), # 3 - (4, TType.STRING, 'tableName', 'UTF8', None, ), # 4 - None, # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - (1281, TType.STRUCT, 'getDirectResults', [TSparkGetDirectResults, None], None, ), # 1281 - (1282, TType.BOOL, 'runAsync', None, False, ), # 1282 - None, # 1283 - None, # 1284 - None, # 1285 - None, # 1286 - None, # 1287 - None, # 1288 - None, # 1289 - None, # 1290 - None, # 1291 - None, # 1292 - None, # 1293 - None, # 1294 - None, # 1295 - None, # 1296 - None, # 1297 - None, # 1298 - None, # 1299 - None, # 1300 - None, # 1301 - None, # 1302 - None, # 1303 - None, # 1304 - None, # 1305 - None, # 1306 - None, # 1307 - None, # 1308 - None, # 1309 - None, # 1310 - None, # 1311 - None, # 1312 - None, # 1313 - None, # 1314 - None, # 1315 - None, # 1316 - None, # 1317 - None, # 1318 - None, # 1319 - None, # 1320 - None, # 1321 - None, # 1322 - None, # 1323 - None, # 1324 - None, # 1325 - None, # 1326 - None, # 1327 - None, # 1328 - None, # 1329 - None, # 1330 - None, # 1331 - None, # 1332 - None, # 1333 - None, # 1334 - None, # 1335 - None, # 1336 - None, # 1337 - None, # 1338 - None, # 1339 - None, # 1340 - None, # 1341 - None, # 1342 - None, # 1343 - None, # 1344 - None, # 1345 - None, # 1346 - None, # 1347 - None, # 1348 - None, # 1349 - None, # 1350 - None, # 1351 - None, # 1352 - None, # 1353 - None, # 1354 - None, # 1355 - None, # 1356 - None, # 1357 - None, # 1358 - None, # 1359 - None, # 1360 - None, # 1361 - None, # 1362 - None, # 1363 - None, # 1364 - None, # 1365 - None, # 1366 - None, # 1367 - None, # 1368 - None, # 1369 - None, # 1370 - None, # 1371 - None, # 1372 - None, # 1373 - None, # 1374 - None, # 1375 - None, # 1376 - None, # 1377 - None, # 1378 - None, # 1379 - None, # 1380 - None, # 1381 - None, # 1382 - None, # 1383 - None, # 1384 - None, # 1385 - None, # 1386 - None, # 1387 - None, # 1388 - None, # 1389 - None, # 1390 - None, # 1391 - None, # 1392 - None, # 1393 - None, # 1394 - None, # 1395 - None, # 1396 - None, # 1397 - None, # 1398 - None, # 1399 - None, # 1400 - None, # 1401 - None, # 1402 - None, # 1403 - None, # 1404 - None, # 1405 - None, # 1406 - None, # 1407 - None, # 1408 - None, # 1409 - None, # 1410 - None, # 1411 - None, # 1412 - None, # 1413 - None, # 1414 - None, # 1415 - None, # 1416 - None, # 1417 - None, # 1418 - None, # 1419 - None, # 1420 - None, # 1421 - None, # 1422 - None, # 1423 - None, # 1424 - None, # 1425 - None, # 1426 - None, # 1427 - None, # 1428 - None, # 1429 - None, # 1430 - None, # 1431 - None, # 1432 - None, # 1433 - None, # 1434 - None, # 1435 - None, # 1436 - None, # 1437 - None, # 1438 - None, # 1439 - None, # 1440 - None, # 1441 - None, # 1442 - None, # 1443 - None, # 1444 - None, # 1445 - None, # 1446 - None, # 1447 - None, # 1448 - None, # 1449 - None, # 1450 - None, # 1451 - None, # 1452 - None, # 1453 - None, # 1454 - None, # 1455 - None, # 1456 - None, # 1457 - None, # 1458 - None, # 1459 - None, # 1460 - None, # 1461 - None, # 1462 - None, # 1463 - None, # 1464 - None, # 1465 - None, # 1466 - None, # 1467 - None, # 1468 - None, # 1469 - None, # 1470 - None, # 1471 - None, # 1472 - None, # 1473 - None, # 1474 - None, # 1475 - None, # 1476 - None, # 1477 - None, # 1478 - None, # 1479 - None, # 1480 - None, # 1481 - None, # 1482 - None, # 1483 - None, # 1484 - None, # 1485 - None, # 1486 - None, # 1487 - None, # 1488 - None, # 1489 - None, # 1490 - None, # 1491 - None, # 1492 - None, # 1493 - None, # 1494 - None, # 1495 - None, # 1496 - None, # 1497 - None, # 1498 - None, # 1499 - None, # 1500 - None, # 1501 - None, # 1502 - None, # 1503 - None, # 1504 - None, # 1505 - None, # 1506 - None, # 1507 - None, # 1508 - None, # 1509 - None, # 1510 - None, # 1511 - None, # 1512 - None, # 1513 - None, # 1514 - None, # 1515 - None, # 1516 - None, # 1517 - None, # 1518 - None, # 1519 - None, # 1520 - None, # 1521 - None, # 1522 - None, # 1523 - None, # 1524 - None, # 1525 - None, # 1526 - None, # 1527 - None, # 1528 - None, # 1529 - None, # 1530 - None, # 1531 - None, # 1532 - None, # 1533 - None, # 1534 - None, # 1535 - None, # 1536 - None, # 1537 - None, # 1538 - None, # 1539 - None, # 1540 - None, # 1541 - None, # 1542 - None, # 1543 - None, # 1544 - None, # 1545 - None, # 1546 - None, # 1547 - None, # 1548 - None, # 1549 - None, # 1550 - None, # 1551 - None, # 1552 - None, # 1553 - None, # 1554 - None, # 1555 - None, # 1556 - None, # 1557 - None, # 1558 - None, # 1559 - None, # 1560 - None, # 1561 - None, # 1562 - None, # 1563 - None, # 1564 - None, # 1565 - None, # 1566 - None, # 1567 - None, # 1568 - None, # 1569 - None, # 1570 - None, # 1571 - None, # 1572 - None, # 1573 - None, # 1574 - None, # 1575 - None, # 1576 - None, # 1577 - None, # 1578 - None, # 1579 - None, # 1580 - None, # 1581 - None, # 1582 - None, # 1583 - None, # 1584 - None, # 1585 - None, # 1586 - None, # 1587 - None, # 1588 - None, # 1589 - None, # 1590 - None, # 1591 - None, # 1592 - None, # 1593 - None, # 1594 - None, # 1595 - None, # 1596 - None, # 1597 - None, # 1598 - None, # 1599 - None, # 1600 - None, # 1601 - None, # 1602 - None, # 1603 - None, # 1604 - None, # 1605 - None, # 1606 - None, # 1607 - None, # 1608 - None, # 1609 - None, # 1610 - None, # 1611 - None, # 1612 - None, # 1613 - None, # 1614 - None, # 1615 - None, # 1616 - None, # 1617 - None, # 1618 - None, # 1619 - None, # 1620 - None, # 1621 - None, # 1622 - None, # 1623 - None, # 1624 - None, # 1625 - None, # 1626 - None, # 1627 - None, # 1628 - None, # 1629 - None, # 1630 - None, # 1631 - None, # 1632 - None, # 1633 - None, # 1634 - None, # 1635 - None, # 1636 - None, # 1637 - None, # 1638 - None, # 1639 - None, # 1640 - None, # 1641 - None, # 1642 - None, # 1643 - None, # 1644 - None, # 1645 - None, # 1646 - None, # 1647 - None, # 1648 - None, # 1649 - None, # 1650 - None, # 1651 - None, # 1652 - None, # 1653 - None, # 1654 - None, # 1655 - None, # 1656 - None, # 1657 - None, # 1658 - None, # 1659 - None, # 1660 - None, # 1661 - None, # 1662 - None, # 1663 - None, # 1664 - None, # 1665 - None, # 1666 - None, # 1667 - None, # 1668 - None, # 1669 - None, # 1670 - None, # 1671 - None, # 1672 - None, # 1673 - None, # 1674 - None, # 1675 - None, # 1676 - None, # 1677 - None, # 1678 - None, # 1679 - None, # 1680 - None, # 1681 - None, # 1682 - None, # 1683 - None, # 1684 - None, # 1685 - None, # 1686 - None, # 1687 - None, # 1688 - None, # 1689 - None, # 1690 - None, # 1691 - None, # 1692 - None, # 1693 - None, # 1694 - None, # 1695 - None, # 1696 - None, # 1697 - None, # 1698 - None, # 1699 - None, # 1700 - None, # 1701 - None, # 1702 - None, # 1703 - None, # 1704 - None, # 1705 - None, # 1706 - None, # 1707 - None, # 1708 - None, # 1709 - None, # 1710 - None, # 1711 - None, # 1712 - None, # 1713 - None, # 1714 - None, # 1715 - None, # 1716 - None, # 1717 - None, # 1718 - None, # 1719 - None, # 1720 - None, # 1721 - None, # 1722 - None, # 1723 - None, # 1724 - None, # 1725 - None, # 1726 - None, # 1727 - None, # 1728 - None, # 1729 - None, # 1730 - None, # 1731 - None, # 1732 - None, # 1733 - None, # 1734 - None, # 1735 - None, # 1736 - None, # 1737 - None, # 1738 - None, # 1739 - None, # 1740 - None, # 1741 - None, # 1742 - None, # 1743 - None, # 1744 - None, # 1745 - None, # 1746 - None, # 1747 - None, # 1748 - None, # 1749 - None, # 1750 - None, # 1751 - None, # 1752 - None, # 1753 - None, # 1754 - None, # 1755 - None, # 1756 - None, # 1757 - None, # 1758 - None, # 1759 - None, # 1760 - None, # 1761 - None, # 1762 - None, # 1763 - None, # 1764 - None, # 1765 - None, # 1766 - None, # 1767 - None, # 1768 - None, # 1769 - None, # 1770 - None, # 1771 - None, # 1772 - None, # 1773 - None, # 1774 - None, # 1775 - None, # 1776 - None, # 1777 - None, # 1778 - None, # 1779 - None, # 1780 - None, # 1781 - None, # 1782 - None, # 1783 - None, # 1784 - None, # 1785 - None, # 1786 - None, # 1787 - None, # 1788 - None, # 1789 - None, # 1790 - None, # 1791 - None, # 1792 - None, # 1793 - None, # 1794 - None, # 1795 - None, # 1796 - None, # 1797 - None, # 1798 - None, # 1799 - None, # 1800 - None, # 1801 - None, # 1802 - None, # 1803 - None, # 1804 - None, # 1805 - None, # 1806 - None, # 1807 - None, # 1808 - None, # 1809 - None, # 1810 - None, # 1811 - None, # 1812 - None, # 1813 - None, # 1814 - None, # 1815 - None, # 1816 - None, # 1817 - None, # 1818 - None, # 1819 - None, # 1820 - None, # 1821 - None, # 1822 - None, # 1823 - None, # 1824 - None, # 1825 - None, # 1826 - None, # 1827 - None, # 1828 - None, # 1829 - None, # 1830 - None, # 1831 - None, # 1832 - None, # 1833 - None, # 1834 - None, # 1835 - None, # 1836 - None, # 1837 - None, # 1838 - None, # 1839 - None, # 1840 - None, # 1841 - None, # 1842 - None, # 1843 - None, # 1844 - None, # 1845 - None, # 1846 - None, # 1847 - None, # 1848 - None, # 1849 - None, # 1850 - None, # 1851 - None, # 1852 - None, # 1853 - None, # 1854 - None, # 1855 - None, # 1856 - None, # 1857 - None, # 1858 - None, # 1859 - None, # 1860 - None, # 1861 - None, # 1862 - None, # 1863 - None, # 1864 - None, # 1865 - None, # 1866 - None, # 1867 - None, # 1868 - None, # 1869 - None, # 1870 - None, # 1871 - None, # 1872 - None, # 1873 - None, # 1874 - None, # 1875 - None, # 1876 - None, # 1877 - None, # 1878 - None, # 1879 - None, # 1880 - None, # 1881 - None, # 1882 - None, # 1883 - None, # 1884 - None, # 1885 - None, # 1886 - None, # 1887 - None, # 1888 - None, # 1889 - None, # 1890 - None, # 1891 - None, # 1892 - None, # 1893 - None, # 1894 - None, # 1895 - None, # 1896 - None, # 1897 - None, # 1898 - None, # 1899 - None, # 1900 - None, # 1901 - None, # 1902 - None, # 1903 - None, # 1904 - None, # 1905 - None, # 1906 - None, # 1907 - None, # 1908 - None, # 1909 - None, # 1910 - None, # 1911 - None, # 1912 - None, # 1913 - None, # 1914 - None, # 1915 - None, # 1916 - None, # 1917 - None, # 1918 - None, # 1919 - None, # 1920 - None, # 1921 - None, # 1922 - None, # 1923 - None, # 1924 - None, # 1925 - None, # 1926 - None, # 1927 - None, # 1928 - None, # 1929 - None, # 1930 - None, # 1931 - None, # 1932 - None, # 1933 - None, # 1934 - None, # 1935 - None, # 1936 - None, # 1937 - None, # 1938 - None, # 1939 - None, # 1940 - None, # 1941 - None, # 1942 - None, # 1943 - None, # 1944 - None, # 1945 - None, # 1946 - None, # 1947 - None, # 1948 - None, # 1949 - None, # 1950 - None, # 1951 - None, # 1952 - None, # 1953 - None, # 1954 - None, # 1955 - None, # 1956 - None, # 1957 - None, # 1958 - None, # 1959 - None, # 1960 - None, # 1961 - None, # 1962 - None, # 1963 - None, # 1964 - None, # 1965 - None, # 1966 - None, # 1967 - None, # 1968 - None, # 1969 - None, # 1970 - None, # 1971 - None, # 1972 - None, # 1973 - None, # 1974 - None, # 1975 - None, # 1976 - None, # 1977 - None, # 1978 - None, # 1979 - None, # 1980 - None, # 1981 - None, # 1982 - None, # 1983 - None, # 1984 - None, # 1985 - None, # 1986 - None, # 1987 - None, # 1988 - None, # 1989 - None, # 1990 - None, # 1991 - None, # 1992 - None, # 1993 - None, # 1994 - None, # 1995 - None, # 1996 - None, # 1997 - None, # 1998 - None, # 1999 - None, # 2000 - None, # 2001 - None, # 2002 - None, # 2003 - None, # 2004 - None, # 2005 - None, # 2006 - None, # 2007 - None, # 2008 - None, # 2009 - None, # 2010 - None, # 2011 - None, # 2012 - None, # 2013 - None, # 2014 - None, # 2015 - None, # 2016 - None, # 2017 - None, # 2018 - None, # 2019 - None, # 2020 - None, # 2021 - None, # 2022 - None, # 2023 - None, # 2024 - None, # 2025 - None, # 2026 - None, # 2027 - None, # 2028 - None, # 2029 - None, # 2030 - None, # 2031 - None, # 2032 - None, # 2033 - None, # 2034 - None, # 2035 - None, # 2036 - None, # 2037 - None, # 2038 - None, # 2039 - None, # 2040 - None, # 2041 - None, # 2042 - None, # 2043 - None, # 2044 - None, # 2045 - None, # 2046 - None, # 2047 - None, # 2048 - None, # 2049 - None, # 2050 - None, # 2051 - None, # 2052 - None, # 2053 - None, # 2054 - None, # 2055 - None, # 2056 - None, # 2057 - None, # 2058 - None, # 2059 - None, # 2060 - None, # 2061 - None, # 2062 - None, # 2063 - None, # 2064 - None, # 2065 - None, # 2066 - None, # 2067 - None, # 2068 - None, # 2069 - None, # 2070 - None, # 2071 - None, # 2072 - None, # 2073 - None, # 2074 - None, # 2075 - None, # 2076 - None, # 2077 - None, # 2078 - None, # 2079 - None, # 2080 - None, # 2081 - None, # 2082 - None, # 2083 - None, # 2084 - None, # 2085 - None, # 2086 - None, # 2087 - None, # 2088 - None, # 2089 - None, # 2090 - None, # 2091 - None, # 2092 - None, # 2093 - None, # 2094 - None, # 2095 - None, # 2096 - None, # 2097 - None, # 2098 - None, # 2099 - None, # 2100 - None, # 2101 - None, # 2102 - None, # 2103 - None, # 2104 - None, # 2105 - None, # 2106 - None, # 2107 - None, # 2108 - None, # 2109 - None, # 2110 - None, # 2111 - None, # 2112 - None, # 2113 - None, # 2114 - None, # 2115 - None, # 2116 - None, # 2117 - None, # 2118 - None, # 2119 - None, # 2120 - None, # 2121 - None, # 2122 - None, # 2123 - None, # 2124 - None, # 2125 - None, # 2126 - None, # 2127 - None, # 2128 - None, # 2129 - None, # 2130 - None, # 2131 - None, # 2132 - None, # 2133 - None, # 2134 - None, # 2135 - None, # 2136 - None, # 2137 - None, # 2138 - None, # 2139 - None, # 2140 - None, # 2141 - None, # 2142 - None, # 2143 - None, # 2144 - None, # 2145 - None, # 2146 - None, # 2147 - None, # 2148 - None, # 2149 - None, # 2150 - None, # 2151 - None, # 2152 - None, # 2153 - None, # 2154 - None, # 2155 - None, # 2156 - None, # 2157 - None, # 2158 - None, # 2159 - None, # 2160 - None, # 2161 - None, # 2162 - None, # 2163 - None, # 2164 - None, # 2165 - None, # 2166 - None, # 2167 - None, # 2168 - None, # 2169 - None, # 2170 - None, # 2171 - None, # 2172 - None, # 2173 - None, # 2174 - None, # 2175 - None, # 2176 - None, # 2177 - None, # 2178 - None, # 2179 - None, # 2180 - None, # 2181 - None, # 2182 - None, # 2183 - None, # 2184 - None, # 2185 - None, # 2186 - None, # 2187 - None, # 2188 - None, # 2189 - None, # 2190 - None, # 2191 - None, # 2192 - None, # 2193 - None, # 2194 - None, # 2195 - None, # 2196 - None, # 2197 - None, # 2198 - None, # 2199 - None, # 2200 - None, # 2201 - None, # 2202 - None, # 2203 - None, # 2204 - None, # 2205 - None, # 2206 - None, # 2207 - None, # 2208 - None, # 2209 - None, # 2210 - None, # 2211 - None, # 2212 - None, # 2213 - None, # 2214 - None, # 2215 - None, # 2216 - None, # 2217 - None, # 2218 - None, # 2219 - None, # 2220 - None, # 2221 - None, # 2222 - None, # 2223 - None, # 2224 - None, # 2225 - None, # 2226 - None, # 2227 - None, # 2228 - None, # 2229 - None, # 2230 - None, # 2231 - None, # 2232 - None, # 2233 - None, # 2234 - None, # 2235 - None, # 2236 - None, # 2237 - None, # 2238 - None, # 2239 - None, # 2240 - None, # 2241 - None, # 2242 - None, # 2243 - None, # 2244 - None, # 2245 - None, # 2246 - None, # 2247 - None, # 2248 - None, # 2249 - None, # 2250 - None, # 2251 - None, # 2252 - None, # 2253 - None, # 2254 - None, # 2255 - None, # 2256 - None, # 2257 - None, # 2258 - None, # 2259 - None, # 2260 - None, # 2261 - None, # 2262 - None, # 2263 - None, # 2264 - None, # 2265 - None, # 2266 - None, # 2267 - None, # 2268 - None, # 2269 - None, # 2270 - None, # 2271 - None, # 2272 - None, # 2273 - None, # 2274 - None, # 2275 - None, # 2276 - None, # 2277 - None, # 2278 - None, # 2279 - None, # 2280 - None, # 2281 - None, # 2282 - None, # 2283 - None, # 2284 - None, # 2285 - None, # 2286 - None, # 2287 - None, # 2288 - None, # 2289 - None, # 2290 - None, # 2291 - None, # 2292 - None, # 2293 - None, # 2294 - None, # 2295 - None, # 2296 - None, # 2297 - None, # 2298 - None, # 2299 - None, # 2300 - None, # 2301 - None, # 2302 - None, # 2303 - None, # 2304 - None, # 2305 - None, # 2306 - None, # 2307 - None, # 2308 - None, # 2309 - None, # 2310 - None, # 2311 - None, # 2312 - None, # 2313 - None, # 2314 - None, # 2315 - None, # 2316 - None, # 2317 - None, # 2318 - None, # 2319 - None, # 2320 - None, # 2321 - None, # 2322 - None, # 2323 - None, # 2324 - None, # 2325 - None, # 2326 - None, # 2327 - None, # 2328 - None, # 2329 - None, # 2330 - None, # 2331 - None, # 2332 - None, # 2333 - None, # 2334 - None, # 2335 - None, # 2336 - None, # 2337 - None, # 2338 - None, # 2339 - None, # 2340 - None, # 2341 - None, # 2342 - None, # 2343 - None, # 2344 - None, # 2345 - None, # 2346 - None, # 2347 - None, # 2348 - None, # 2349 - None, # 2350 - None, # 2351 - None, # 2352 - None, # 2353 - None, # 2354 - None, # 2355 - None, # 2356 - None, # 2357 - None, # 2358 - None, # 2359 - None, # 2360 - None, # 2361 - None, # 2362 - None, # 2363 - None, # 2364 - None, # 2365 - None, # 2366 - None, # 2367 - None, # 2368 - None, # 2369 - None, # 2370 - None, # 2371 - None, # 2372 - None, # 2373 - None, # 2374 - None, # 2375 - None, # 2376 - None, # 2377 - None, # 2378 - None, # 2379 - None, # 2380 - None, # 2381 - None, # 2382 - None, # 2383 - None, # 2384 - None, # 2385 - None, # 2386 - None, # 2387 - None, # 2388 - None, # 2389 - None, # 2390 - None, # 2391 - None, # 2392 - None, # 2393 - None, # 2394 - None, # 2395 - None, # 2396 - None, # 2397 - None, # 2398 - None, # 2399 - None, # 2400 - None, # 2401 - None, # 2402 - None, # 2403 - None, # 2404 - None, # 2405 - None, # 2406 - None, # 2407 - None, # 2408 - None, # 2409 - None, # 2410 - None, # 2411 - None, # 2412 - None, # 2413 - None, # 2414 - None, # 2415 - None, # 2416 - None, # 2417 - None, # 2418 - None, # 2419 - None, # 2420 - None, # 2421 - None, # 2422 - None, # 2423 - None, # 2424 - None, # 2425 - None, # 2426 - None, # 2427 - None, # 2428 - None, # 2429 - None, # 2430 - None, # 2431 - None, # 2432 - None, # 2433 - None, # 2434 - None, # 2435 - None, # 2436 - None, # 2437 - None, # 2438 - None, # 2439 - None, # 2440 - None, # 2441 - None, # 2442 - None, # 2443 - None, # 2444 - None, # 2445 - None, # 2446 - None, # 2447 - None, # 2448 - None, # 2449 - None, # 2450 - None, # 2451 - None, # 2452 - None, # 2453 - None, # 2454 - None, # 2455 - None, # 2456 - None, # 2457 - None, # 2458 - None, # 2459 - None, # 2460 - None, # 2461 - None, # 2462 - None, # 2463 - None, # 2464 - None, # 2465 - None, # 2466 - None, # 2467 - None, # 2468 - None, # 2469 - None, # 2470 - None, # 2471 - None, # 2472 - None, # 2473 - None, # 2474 - None, # 2475 - None, # 2476 - None, # 2477 - None, # 2478 - None, # 2479 - None, # 2480 - None, # 2481 - None, # 2482 - None, # 2483 - None, # 2484 - None, # 2485 - None, # 2486 - None, # 2487 - None, # 2488 - None, # 2489 - None, # 2490 - None, # 2491 - None, # 2492 - None, # 2493 - None, # 2494 - None, # 2495 - None, # 2496 - None, # 2497 - None, # 2498 - None, # 2499 - None, # 2500 - None, # 2501 - None, # 2502 - None, # 2503 - None, # 2504 - None, # 2505 - None, # 2506 - None, # 2507 - None, # 2508 - None, # 2509 - None, # 2510 - None, # 2511 - None, # 2512 - None, # 2513 - None, # 2514 - None, # 2515 - None, # 2516 - None, # 2517 - None, # 2518 - None, # 2519 - None, # 2520 - None, # 2521 - None, # 2522 - None, # 2523 - None, # 2524 - None, # 2525 - None, # 2526 - None, # 2527 - None, # 2528 - None, # 2529 - None, # 2530 - None, # 2531 - None, # 2532 - None, # 2533 - None, # 2534 - None, # 2535 - None, # 2536 - None, # 2537 - None, # 2538 - None, # 2539 - None, # 2540 - None, # 2541 - None, # 2542 - None, # 2543 - None, # 2544 - None, # 2545 - None, # 2546 - None, # 2547 - None, # 2548 - None, # 2549 - None, # 2550 - None, # 2551 - None, # 2552 - None, # 2553 - None, # 2554 - None, # 2555 - None, # 2556 - None, # 2557 - None, # 2558 - None, # 2559 - None, # 2560 - None, # 2561 - None, # 2562 - None, # 2563 - None, # 2564 - None, # 2565 - None, # 2566 - None, # 2567 - None, # 2568 - None, # 2569 - None, # 2570 - None, # 2571 - None, # 2572 - None, # 2573 - None, # 2574 - None, # 2575 - None, # 2576 - None, # 2577 - None, # 2578 - None, # 2579 - None, # 2580 - None, # 2581 - None, # 2582 - None, # 2583 - None, # 2584 - None, # 2585 - None, # 2586 - None, # 2587 - None, # 2588 - None, # 2589 - None, # 2590 - None, # 2591 - None, # 2592 - None, # 2593 - None, # 2594 - None, # 2595 - None, # 2596 - None, # 2597 - None, # 2598 - None, # 2599 - None, # 2600 - None, # 2601 - None, # 2602 - None, # 2603 - None, # 2604 - None, # 2605 - None, # 2606 - None, # 2607 - None, # 2608 - None, # 2609 - None, # 2610 - None, # 2611 - None, # 2612 - None, # 2613 - None, # 2614 - None, # 2615 - None, # 2616 - None, # 2617 - None, # 2618 - None, # 2619 - None, # 2620 - None, # 2621 - None, # 2622 - None, # 2623 - None, # 2624 - None, # 2625 - None, # 2626 - None, # 2627 - None, # 2628 - None, # 2629 - None, # 2630 - None, # 2631 - None, # 2632 - None, # 2633 - None, # 2634 - None, # 2635 - None, # 2636 - None, # 2637 - None, # 2638 - None, # 2639 - None, # 2640 - None, # 2641 - None, # 2642 - None, # 2643 - None, # 2644 - None, # 2645 - None, # 2646 - None, # 2647 - None, # 2648 - None, # 2649 - None, # 2650 - None, # 2651 - None, # 2652 - None, # 2653 - None, # 2654 - None, # 2655 - None, # 2656 - None, # 2657 - None, # 2658 - None, # 2659 - None, # 2660 - None, # 2661 - None, # 2662 - None, # 2663 - None, # 2664 - None, # 2665 - None, # 2666 - None, # 2667 - None, # 2668 - None, # 2669 - None, # 2670 - None, # 2671 - None, # 2672 - None, # 2673 - None, # 2674 - None, # 2675 - None, # 2676 - None, # 2677 - None, # 2678 - None, # 2679 - None, # 2680 - None, # 2681 - None, # 2682 - None, # 2683 - None, # 2684 - None, # 2685 - None, # 2686 - None, # 2687 - None, # 2688 - None, # 2689 - None, # 2690 - None, # 2691 - None, # 2692 - None, # 2693 - None, # 2694 - None, # 2695 - None, # 2696 - None, # 2697 - None, # 2698 - None, # 2699 - None, # 2700 - None, # 2701 - None, # 2702 - None, # 2703 - None, # 2704 - None, # 2705 - None, # 2706 - None, # 2707 - None, # 2708 - None, # 2709 - None, # 2710 - None, # 2711 - None, # 2712 - None, # 2713 - None, # 2714 - None, # 2715 - None, # 2716 - None, # 2717 - None, # 2718 - None, # 2719 - None, # 2720 - None, # 2721 - None, # 2722 - None, # 2723 - None, # 2724 - None, # 2725 - None, # 2726 - None, # 2727 - None, # 2728 - None, # 2729 - None, # 2730 - None, # 2731 - None, # 2732 - None, # 2733 - None, # 2734 - None, # 2735 - None, # 2736 - None, # 2737 - None, # 2738 - None, # 2739 - None, # 2740 - None, # 2741 - None, # 2742 - None, # 2743 - None, # 2744 - None, # 2745 - None, # 2746 - None, # 2747 - None, # 2748 - None, # 2749 - None, # 2750 - None, # 2751 - None, # 2752 - None, # 2753 - None, # 2754 - None, # 2755 - None, # 2756 - None, # 2757 - None, # 2758 - None, # 2759 - None, # 2760 - None, # 2761 - None, # 2762 - None, # 2763 - None, # 2764 - None, # 2765 - None, # 2766 - None, # 2767 - None, # 2768 - None, # 2769 - None, # 2770 - None, # 2771 - None, # 2772 - None, # 2773 - None, # 2774 - None, # 2775 - None, # 2776 - None, # 2777 - None, # 2778 - None, # 2779 - None, # 2780 - None, # 2781 - None, # 2782 - None, # 2783 - None, # 2784 - None, # 2785 - None, # 2786 - None, # 2787 - None, # 2788 - None, # 2789 - None, # 2790 - None, # 2791 - None, # 2792 - None, # 2793 - None, # 2794 - None, # 2795 - None, # 2796 - None, # 2797 - None, # 2798 - None, # 2799 - None, # 2800 - None, # 2801 - None, # 2802 - None, # 2803 - None, # 2804 - None, # 2805 - None, # 2806 - None, # 2807 - None, # 2808 - None, # 2809 - None, # 2810 - None, # 2811 - None, # 2812 - None, # 2813 - None, # 2814 - None, # 2815 - None, # 2816 - None, # 2817 - None, # 2818 - None, # 2819 - None, # 2820 - None, # 2821 - None, # 2822 - None, # 2823 - None, # 2824 - None, # 2825 - None, # 2826 - None, # 2827 - None, # 2828 - None, # 2829 - None, # 2830 - None, # 2831 - None, # 2832 - None, # 2833 - None, # 2834 - None, # 2835 - None, # 2836 - None, # 2837 - None, # 2838 - None, # 2839 - None, # 2840 - None, # 2841 - None, # 2842 - None, # 2843 - None, # 2844 - None, # 2845 - None, # 2846 - None, # 2847 - None, # 2848 - None, # 2849 - None, # 2850 - None, # 2851 - None, # 2852 - None, # 2853 - None, # 2854 - None, # 2855 - None, # 2856 - None, # 2857 - None, # 2858 - None, # 2859 - None, # 2860 - None, # 2861 - None, # 2862 - None, # 2863 - None, # 2864 - None, # 2865 - None, # 2866 - None, # 2867 - None, # 2868 - None, # 2869 - None, # 2870 - None, # 2871 - None, # 2872 - None, # 2873 - None, # 2874 - None, # 2875 - None, # 2876 - None, # 2877 - None, # 2878 - None, # 2879 - None, # 2880 - None, # 2881 - None, # 2882 - None, # 2883 - None, # 2884 - None, # 2885 - None, # 2886 - None, # 2887 - None, # 2888 - None, # 2889 - None, # 2890 - None, # 2891 - None, # 2892 - None, # 2893 - None, # 2894 - None, # 2895 - None, # 2896 - None, # 2897 - None, # 2898 - None, # 2899 - None, # 2900 - None, # 2901 - None, # 2902 - None, # 2903 - None, # 2904 - None, # 2905 - None, # 2906 - None, # 2907 - None, # 2908 - None, # 2909 - None, # 2910 - None, # 2911 - None, # 2912 - None, # 2913 - None, # 2914 - None, # 2915 - None, # 2916 - None, # 2917 - None, # 2918 - None, # 2919 - None, # 2920 - None, # 2921 - None, # 2922 - None, # 2923 - None, # 2924 - None, # 2925 - None, # 2926 - None, # 2927 - None, # 2928 - None, # 2929 - None, # 2930 - None, # 2931 - None, # 2932 - None, # 2933 - None, # 2934 - None, # 2935 - None, # 2936 - None, # 2937 - None, # 2938 - None, # 2939 - None, # 2940 - None, # 2941 - None, # 2942 - None, # 2943 - None, # 2944 - None, # 2945 - None, # 2946 - None, # 2947 - None, # 2948 - None, # 2949 - None, # 2950 - None, # 2951 - None, # 2952 - None, # 2953 - None, # 2954 - None, # 2955 - None, # 2956 - None, # 2957 - None, # 2958 - None, # 2959 - None, # 2960 - None, # 2961 - None, # 2962 - None, # 2963 - None, # 2964 - None, # 2965 - None, # 2966 - None, # 2967 - None, # 2968 - None, # 2969 - None, # 2970 - None, # 2971 - None, # 2972 - None, # 2973 - None, # 2974 - None, # 2975 - None, # 2976 - None, # 2977 - None, # 2978 - None, # 2979 - None, # 2980 - None, # 2981 - None, # 2982 - None, # 2983 - None, # 2984 - None, # 2985 - None, # 2986 - None, # 2987 - None, # 2988 - None, # 2989 - None, # 2990 - None, # 2991 - None, # 2992 - None, # 2993 - None, # 2994 - None, # 2995 - None, # 2996 - None, # 2997 - None, # 2998 - None, # 2999 - None, # 3000 - None, # 3001 - None, # 3002 - None, # 3003 - None, # 3004 - None, # 3005 - None, # 3006 - None, # 3007 - None, # 3008 - None, # 3009 - None, # 3010 - None, # 3011 - None, # 3012 - None, # 3013 - None, # 3014 - None, # 3015 - None, # 3016 - None, # 3017 - None, # 3018 - None, # 3019 - None, # 3020 - None, # 3021 - None, # 3022 - None, # 3023 - None, # 3024 - None, # 3025 - None, # 3026 - None, # 3027 - None, # 3028 - None, # 3029 - None, # 3030 - None, # 3031 - None, # 3032 - None, # 3033 - None, # 3034 - None, # 3035 - None, # 3036 - None, # 3037 - None, # 3038 - None, # 3039 - None, # 3040 - None, # 3041 - None, # 3042 - None, # 3043 - None, # 3044 - None, # 3045 - None, # 3046 - None, # 3047 - None, # 3048 - None, # 3049 - None, # 3050 - None, # 3051 - None, # 3052 - None, # 3053 - None, # 3054 - None, # 3055 - None, # 3056 - None, # 3057 - None, # 3058 - None, # 3059 - None, # 3060 - None, # 3061 - None, # 3062 - None, # 3063 - None, # 3064 - None, # 3065 - None, # 3066 - None, # 3067 - None, # 3068 - None, # 3069 - None, # 3070 - None, # 3071 - None, # 3072 - None, # 3073 - None, # 3074 - None, # 3075 - None, # 3076 - None, # 3077 - None, # 3078 - None, # 3079 - None, # 3080 - None, # 3081 - None, # 3082 - None, # 3083 - None, # 3084 - None, # 3085 - None, # 3086 - None, # 3087 - None, # 3088 - None, # 3089 - None, # 3090 - None, # 3091 - None, # 3092 - None, # 3093 - None, # 3094 - None, # 3095 - None, # 3096 - None, # 3097 - None, # 3098 - None, # 3099 - None, # 3100 - None, # 3101 - None, # 3102 - None, # 3103 - None, # 3104 - None, # 3105 - None, # 3106 - None, # 3107 - None, # 3108 - None, # 3109 - None, # 3110 - None, # 3111 - None, # 3112 - None, # 3113 - None, # 3114 - None, # 3115 - None, # 3116 - None, # 3117 - None, # 3118 - None, # 3119 - None, # 3120 - None, # 3121 - None, # 3122 - None, # 3123 - None, # 3124 - None, # 3125 - None, # 3126 - None, # 3127 - None, # 3128 - None, # 3129 - None, # 3130 - None, # 3131 - None, # 3132 - None, # 3133 - None, # 3134 - None, # 3135 - None, # 3136 - None, # 3137 - None, # 3138 - None, # 3139 - None, # 3140 - None, # 3141 - None, # 3142 - None, # 3143 - None, # 3144 - None, # 3145 - None, # 3146 - None, # 3147 - None, # 3148 - None, # 3149 - None, # 3150 - None, # 3151 - None, # 3152 - None, # 3153 - None, # 3154 - None, # 3155 - None, # 3156 - None, # 3157 - None, # 3158 - None, # 3159 - None, # 3160 - None, # 3161 - None, # 3162 - None, # 3163 - None, # 3164 - None, # 3165 - None, # 3166 - None, # 3167 - None, # 3168 - None, # 3169 - None, # 3170 - None, # 3171 - None, # 3172 - None, # 3173 - None, # 3174 - None, # 3175 - None, # 3176 - None, # 3177 - None, # 3178 - None, # 3179 - None, # 3180 - None, # 3181 - None, # 3182 - None, # 3183 - None, # 3184 - None, # 3185 - None, # 3186 - None, # 3187 - None, # 3188 - None, # 3189 - None, # 3190 - None, # 3191 - None, # 3192 - None, # 3193 - None, # 3194 - None, # 3195 - None, # 3196 - None, # 3197 - None, # 3198 - None, # 3199 - None, # 3200 - None, # 3201 - None, # 3202 - None, # 3203 - None, # 3204 - None, # 3205 - None, # 3206 - None, # 3207 - None, # 3208 - None, # 3209 - None, # 3210 - None, # 3211 - None, # 3212 - None, # 3213 - None, # 3214 - None, # 3215 - None, # 3216 - None, # 3217 - None, # 3218 - None, # 3219 - None, # 3220 - None, # 3221 - None, # 3222 - None, # 3223 - None, # 3224 - None, # 3225 - None, # 3226 - None, # 3227 - None, # 3228 - None, # 3229 - None, # 3230 - None, # 3231 - None, # 3232 - None, # 3233 - None, # 3234 - None, # 3235 - None, # 3236 - None, # 3237 - None, # 3238 - None, # 3239 - None, # 3240 - None, # 3241 - None, # 3242 - None, # 3243 - None, # 3244 - None, # 3245 - None, # 3246 - None, # 3247 - None, # 3248 - None, # 3249 - None, # 3250 - None, # 3251 - None, # 3252 - None, # 3253 - None, # 3254 - None, # 3255 - None, # 3256 - None, # 3257 - None, # 3258 - None, # 3259 - None, # 3260 - None, # 3261 - None, # 3262 - None, # 3263 - None, # 3264 - None, # 3265 - None, # 3266 - None, # 3267 - None, # 3268 - None, # 3269 - None, # 3270 - None, # 3271 - None, # 3272 - None, # 3273 - None, # 3274 - None, # 3275 - None, # 3276 - None, # 3277 - None, # 3278 - None, # 3279 - None, # 3280 - None, # 3281 - None, # 3282 - None, # 3283 - None, # 3284 - None, # 3285 - None, # 3286 - None, # 3287 - None, # 3288 - None, # 3289 - None, # 3290 - None, # 3291 - None, # 3292 - None, # 3293 - None, # 3294 - None, # 3295 - None, # 3296 - None, # 3297 - None, # 3298 - None, # 3299 - None, # 3300 - None, # 3301 - None, # 3302 - None, # 3303 - None, # 3304 - None, # 3305 - None, # 3306 - None, # 3307 - None, # 3308 - None, # 3309 - None, # 3310 - None, # 3311 - None, # 3312 - None, # 3313 - None, # 3314 - None, # 3315 - None, # 3316 - None, # 3317 - None, # 3318 - None, # 3319 - None, # 3320 - None, # 3321 - None, # 3322 - None, # 3323 - None, # 3324 - None, # 3325 - None, # 3326 - None, # 3327 - None, # 3328 - (3329, TType.STRUCT, 'operationId', [THandleIdentifier, None], None, ), # 3329 - (3330, TType.STRUCT, 'sessionConf', [TDBSqlSessionConf, None], None, ), # 3330 + None, # 0 + (1, TType.STRUCT, 'sessionHandle', [TSessionHandle, None], None, ), # 1 + (2, TType.STRING, 'catalogName', 'UTF8', None, ), # 2 + (3, TType.STRING, 'schemaName', 'UTF8', None, ), # 3 + (4, TType.STRING, 'tableName', 'UTF8', None, ), # 4 + None, # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + (1281, TType.STRUCT, 'getDirectResults', [TSparkGetDirectResults, None], None, ), # 1281 + (1282, TType.BOOL, 'runAsync', None, False, ), # 1282 + None, # 1283 + None, # 1284 + None, # 1285 + None, # 1286 + None, # 1287 + None, # 1288 + None, # 1289 + None, # 1290 + None, # 1291 + None, # 1292 + None, # 1293 + None, # 1294 + None, # 1295 + None, # 1296 + None, # 1297 + None, # 1298 + None, # 1299 + None, # 1300 + None, # 1301 + None, # 1302 + None, # 1303 + None, # 1304 + None, # 1305 + None, # 1306 + None, # 1307 + None, # 1308 + None, # 1309 + None, # 1310 + None, # 1311 + None, # 1312 + None, # 1313 + None, # 1314 + None, # 1315 + None, # 1316 + None, # 1317 + None, # 1318 + None, # 1319 + None, # 1320 + None, # 1321 + None, # 1322 + None, # 1323 + None, # 1324 + None, # 1325 + None, # 1326 + None, # 1327 + None, # 1328 + None, # 1329 + None, # 1330 + None, # 1331 + None, # 1332 + None, # 1333 + None, # 1334 + None, # 1335 + None, # 1336 + None, # 1337 + None, # 1338 + None, # 1339 + None, # 1340 + None, # 1341 + None, # 1342 + None, # 1343 + None, # 1344 + None, # 1345 + None, # 1346 + None, # 1347 + None, # 1348 + None, # 1349 + None, # 1350 + None, # 1351 + None, # 1352 + None, # 1353 + None, # 1354 + None, # 1355 + None, # 1356 + None, # 1357 + None, # 1358 + None, # 1359 + None, # 1360 + None, # 1361 + None, # 1362 + None, # 1363 + None, # 1364 + None, # 1365 + None, # 1366 + None, # 1367 + None, # 1368 + None, # 1369 + None, # 1370 + None, # 1371 + None, # 1372 + None, # 1373 + None, # 1374 + None, # 1375 + None, # 1376 + None, # 1377 + None, # 1378 + None, # 1379 + None, # 1380 + None, # 1381 + None, # 1382 + None, # 1383 + None, # 1384 + None, # 1385 + None, # 1386 + None, # 1387 + None, # 1388 + None, # 1389 + None, # 1390 + None, # 1391 + None, # 1392 + None, # 1393 + None, # 1394 + None, # 1395 + None, # 1396 + None, # 1397 + None, # 1398 + None, # 1399 + None, # 1400 + None, # 1401 + None, # 1402 + None, # 1403 + None, # 1404 + None, # 1405 + None, # 1406 + None, # 1407 + None, # 1408 + None, # 1409 + None, # 1410 + None, # 1411 + None, # 1412 + None, # 1413 + None, # 1414 + None, # 1415 + None, # 1416 + None, # 1417 + None, # 1418 + None, # 1419 + None, # 1420 + None, # 1421 + None, # 1422 + None, # 1423 + None, # 1424 + None, # 1425 + None, # 1426 + None, # 1427 + None, # 1428 + None, # 1429 + None, # 1430 + None, # 1431 + None, # 1432 + None, # 1433 + None, # 1434 + None, # 1435 + None, # 1436 + None, # 1437 + None, # 1438 + None, # 1439 + None, # 1440 + None, # 1441 + None, # 1442 + None, # 1443 + None, # 1444 + None, # 1445 + None, # 1446 + None, # 1447 + None, # 1448 + None, # 1449 + None, # 1450 + None, # 1451 + None, # 1452 + None, # 1453 + None, # 1454 + None, # 1455 + None, # 1456 + None, # 1457 + None, # 1458 + None, # 1459 + None, # 1460 + None, # 1461 + None, # 1462 + None, # 1463 + None, # 1464 + None, # 1465 + None, # 1466 + None, # 1467 + None, # 1468 + None, # 1469 + None, # 1470 + None, # 1471 + None, # 1472 + None, # 1473 + None, # 1474 + None, # 1475 + None, # 1476 + None, # 1477 + None, # 1478 + None, # 1479 + None, # 1480 + None, # 1481 + None, # 1482 + None, # 1483 + None, # 1484 + None, # 1485 + None, # 1486 + None, # 1487 + None, # 1488 + None, # 1489 + None, # 1490 + None, # 1491 + None, # 1492 + None, # 1493 + None, # 1494 + None, # 1495 + None, # 1496 + None, # 1497 + None, # 1498 + None, # 1499 + None, # 1500 + None, # 1501 + None, # 1502 + None, # 1503 + None, # 1504 + None, # 1505 + None, # 1506 + None, # 1507 + None, # 1508 + None, # 1509 + None, # 1510 + None, # 1511 + None, # 1512 + None, # 1513 + None, # 1514 + None, # 1515 + None, # 1516 + None, # 1517 + None, # 1518 + None, # 1519 + None, # 1520 + None, # 1521 + None, # 1522 + None, # 1523 + None, # 1524 + None, # 1525 + None, # 1526 + None, # 1527 + None, # 1528 + None, # 1529 + None, # 1530 + None, # 1531 + None, # 1532 + None, # 1533 + None, # 1534 + None, # 1535 + None, # 1536 + None, # 1537 + None, # 1538 + None, # 1539 + None, # 1540 + None, # 1541 + None, # 1542 + None, # 1543 + None, # 1544 + None, # 1545 + None, # 1546 + None, # 1547 + None, # 1548 + None, # 1549 + None, # 1550 + None, # 1551 + None, # 1552 + None, # 1553 + None, # 1554 + None, # 1555 + None, # 1556 + None, # 1557 + None, # 1558 + None, # 1559 + None, # 1560 + None, # 1561 + None, # 1562 + None, # 1563 + None, # 1564 + None, # 1565 + None, # 1566 + None, # 1567 + None, # 1568 + None, # 1569 + None, # 1570 + None, # 1571 + None, # 1572 + None, # 1573 + None, # 1574 + None, # 1575 + None, # 1576 + None, # 1577 + None, # 1578 + None, # 1579 + None, # 1580 + None, # 1581 + None, # 1582 + None, # 1583 + None, # 1584 + None, # 1585 + None, # 1586 + None, # 1587 + None, # 1588 + None, # 1589 + None, # 1590 + None, # 1591 + None, # 1592 + None, # 1593 + None, # 1594 + None, # 1595 + None, # 1596 + None, # 1597 + None, # 1598 + None, # 1599 + None, # 1600 + None, # 1601 + None, # 1602 + None, # 1603 + None, # 1604 + None, # 1605 + None, # 1606 + None, # 1607 + None, # 1608 + None, # 1609 + None, # 1610 + None, # 1611 + None, # 1612 + None, # 1613 + None, # 1614 + None, # 1615 + None, # 1616 + None, # 1617 + None, # 1618 + None, # 1619 + None, # 1620 + None, # 1621 + None, # 1622 + None, # 1623 + None, # 1624 + None, # 1625 + None, # 1626 + None, # 1627 + None, # 1628 + None, # 1629 + None, # 1630 + None, # 1631 + None, # 1632 + None, # 1633 + None, # 1634 + None, # 1635 + None, # 1636 + None, # 1637 + None, # 1638 + None, # 1639 + None, # 1640 + None, # 1641 + None, # 1642 + None, # 1643 + None, # 1644 + None, # 1645 + None, # 1646 + None, # 1647 + None, # 1648 + None, # 1649 + None, # 1650 + None, # 1651 + None, # 1652 + None, # 1653 + None, # 1654 + None, # 1655 + None, # 1656 + None, # 1657 + None, # 1658 + None, # 1659 + None, # 1660 + None, # 1661 + None, # 1662 + None, # 1663 + None, # 1664 + None, # 1665 + None, # 1666 + None, # 1667 + None, # 1668 + None, # 1669 + None, # 1670 + None, # 1671 + None, # 1672 + None, # 1673 + None, # 1674 + None, # 1675 + None, # 1676 + None, # 1677 + None, # 1678 + None, # 1679 + None, # 1680 + None, # 1681 + None, # 1682 + None, # 1683 + None, # 1684 + None, # 1685 + None, # 1686 + None, # 1687 + None, # 1688 + None, # 1689 + None, # 1690 + None, # 1691 + None, # 1692 + None, # 1693 + None, # 1694 + None, # 1695 + None, # 1696 + None, # 1697 + None, # 1698 + None, # 1699 + None, # 1700 + None, # 1701 + None, # 1702 + None, # 1703 + None, # 1704 + None, # 1705 + None, # 1706 + None, # 1707 + None, # 1708 + None, # 1709 + None, # 1710 + None, # 1711 + None, # 1712 + None, # 1713 + None, # 1714 + None, # 1715 + None, # 1716 + None, # 1717 + None, # 1718 + None, # 1719 + None, # 1720 + None, # 1721 + None, # 1722 + None, # 1723 + None, # 1724 + None, # 1725 + None, # 1726 + None, # 1727 + None, # 1728 + None, # 1729 + None, # 1730 + None, # 1731 + None, # 1732 + None, # 1733 + None, # 1734 + None, # 1735 + None, # 1736 + None, # 1737 + None, # 1738 + None, # 1739 + None, # 1740 + None, # 1741 + None, # 1742 + None, # 1743 + None, # 1744 + None, # 1745 + None, # 1746 + None, # 1747 + None, # 1748 + None, # 1749 + None, # 1750 + None, # 1751 + None, # 1752 + None, # 1753 + None, # 1754 + None, # 1755 + None, # 1756 + None, # 1757 + None, # 1758 + None, # 1759 + None, # 1760 + None, # 1761 + None, # 1762 + None, # 1763 + None, # 1764 + None, # 1765 + None, # 1766 + None, # 1767 + None, # 1768 + None, # 1769 + None, # 1770 + None, # 1771 + None, # 1772 + None, # 1773 + None, # 1774 + None, # 1775 + None, # 1776 + None, # 1777 + None, # 1778 + None, # 1779 + None, # 1780 + None, # 1781 + None, # 1782 + None, # 1783 + None, # 1784 + None, # 1785 + None, # 1786 + None, # 1787 + None, # 1788 + None, # 1789 + None, # 1790 + None, # 1791 + None, # 1792 + None, # 1793 + None, # 1794 + None, # 1795 + None, # 1796 + None, # 1797 + None, # 1798 + None, # 1799 + None, # 1800 + None, # 1801 + None, # 1802 + None, # 1803 + None, # 1804 + None, # 1805 + None, # 1806 + None, # 1807 + None, # 1808 + None, # 1809 + None, # 1810 + None, # 1811 + None, # 1812 + None, # 1813 + None, # 1814 + None, # 1815 + None, # 1816 + None, # 1817 + None, # 1818 + None, # 1819 + None, # 1820 + None, # 1821 + None, # 1822 + None, # 1823 + None, # 1824 + None, # 1825 + None, # 1826 + None, # 1827 + None, # 1828 + None, # 1829 + None, # 1830 + None, # 1831 + None, # 1832 + None, # 1833 + None, # 1834 + None, # 1835 + None, # 1836 + None, # 1837 + None, # 1838 + None, # 1839 + None, # 1840 + None, # 1841 + None, # 1842 + None, # 1843 + None, # 1844 + None, # 1845 + None, # 1846 + None, # 1847 + None, # 1848 + None, # 1849 + None, # 1850 + None, # 1851 + None, # 1852 + None, # 1853 + None, # 1854 + None, # 1855 + None, # 1856 + None, # 1857 + None, # 1858 + None, # 1859 + None, # 1860 + None, # 1861 + None, # 1862 + None, # 1863 + None, # 1864 + None, # 1865 + None, # 1866 + None, # 1867 + None, # 1868 + None, # 1869 + None, # 1870 + None, # 1871 + None, # 1872 + None, # 1873 + None, # 1874 + None, # 1875 + None, # 1876 + None, # 1877 + None, # 1878 + None, # 1879 + None, # 1880 + None, # 1881 + None, # 1882 + None, # 1883 + None, # 1884 + None, # 1885 + None, # 1886 + None, # 1887 + None, # 1888 + None, # 1889 + None, # 1890 + None, # 1891 + None, # 1892 + None, # 1893 + None, # 1894 + None, # 1895 + None, # 1896 + None, # 1897 + None, # 1898 + None, # 1899 + None, # 1900 + None, # 1901 + None, # 1902 + None, # 1903 + None, # 1904 + None, # 1905 + None, # 1906 + None, # 1907 + None, # 1908 + None, # 1909 + None, # 1910 + None, # 1911 + None, # 1912 + None, # 1913 + None, # 1914 + None, # 1915 + None, # 1916 + None, # 1917 + None, # 1918 + None, # 1919 + None, # 1920 + None, # 1921 + None, # 1922 + None, # 1923 + None, # 1924 + None, # 1925 + None, # 1926 + None, # 1927 + None, # 1928 + None, # 1929 + None, # 1930 + None, # 1931 + None, # 1932 + None, # 1933 + None, # 1934 + None, # 1935 + None, # 1936 + None, # 1937 + None, # 1938 + None, # 1939 + None, # 1940 + None, # 1941 + None, # 1942 + None, # 1943 + None, # 1944 + None, # 1945 + None, # 1946 + None, # 1947 + None, # 1948 + None, # 1949 + None, # 1950 + None, # 1951 + None, # 1952 + None, # 1953 + None, # 1954 + None, # 1955 + None, # 1956 + None, # 1957 + None, # 1958 + None, # 1959 + None, # 1960 + None, # 1961 + None, # 1962 + None, # 1963 + None, # 1964 + None, # 1965 + None, # 1966 + None, # 1967 + None, # 1968 + None, # 1969 + None, # 1970 + None, # 1971 + None, # 1972 + None, # 1973 + None, # 1974 + None, # 1975 + None, # 1976 + None, # 1977 + None, # 1978 + None, # 1979 + None, # 1980 + None, # 1981 + None, # 1982 + None, # 1983 + None, # 1984 + None, # 1985 + None, # 1986 + None, # 1987 + None, # 1988 + None, # 1989 + None, # 1990 + None, # 1991 + None, # 1992 + None, # 1993 + None, # 1994 + None, # 1995 + None, # 1996 + None, # 1997 + None, # 1998 + None, # 1999 + None, # 2000 + None, # 2001 + None, # 2002 + None, # 2003 + None, # 2004 + None, # 2005 + None, # 2006 + None, # 2007 + None, # 2008 + None, # 2009 + None, # 2010 + None, # 2011 + None, # 2012 + None, # 2013 + None, # 2014 + None, # 2015 + None, # 2016 + None, # 2017 + None, # 2018 + None, # 2019 + None, # 2020 + None, # 2021 + None, # 2022 + None, # 2023 + None, # 2024 + None, # 2025 + None, # 2026 + None, # 2027 + None, # 2028 + None, # 2029 + None, # 2030 + None, # 2031 + None, # 2032 + None, # 2033 + None, # 2034 + None, # 2035 + None, # 2036 + None, # 2037 + None, # 2038 + None, # 2039 + None, # 2040 + None, # 2041 + None, # 2042 + None, # 2043 + None, # 2044 + None, # 2045 + None, # 2046 + None, # 2047 + None, # 2048 + None, # 2049 + None, # 2050 + None, # 2051 + None, # 2052 + None, # 2053 + None, # 2054 + None, # 2055 + None, # 2056 + None, # 2057 + None, # 2058 + None, # 2059 + None, # 2060 + None, # 2061 + None, # 2062 + None, # 2063 + None, # 2064 + None, # 2065 + None, # 2066 + None, # 2067 + None, # 2068 + None, # 2069 + None, # 2070 + None, # 2071 + None, # 2072 + None, # 2073 + None, # 2074 + None, # 2075 + None, # 2076 + None, # 2077 + None, # 2078 + None, # 2079 + None, # 2080 + None, # 2081 + None, # 2082 + None, # 2083 + None, # 2084 + None, # 2085 + None, # 2086 + None, # 2087 + None, # 2088 + None, # 2089 + None, # 2090 + None, # 2091 + None, # 2092 + None, # 2093 + None, # 2094 + None, # 2095 + None, # 2096 + None, # 2097 + None, # 2098 + None, # 2099 + None, # 2100 + None, # 2101 + None, # 2102 + None, # 2103 + None, # 2104 + None, # 2105 + None, # 2106 + None, # 2107 + None, # 2108 + None, # 2109 + None, # 2110 + None, # 2111 + None, # 2112 + None, # 2113 + None, # 2114 + None, # 2115 + None, # 2116 + None, # 2117 + None, # 2118 + None, # 2119 + None, # 2120 + None, # 2121 + None, # 2122 + None, # 2123 + None, # 2124 + None, # 2125 + None, # 2126 + None, # 2127 + None, # 2128 + None, # 2129 + None, # 2130 + None, # 2131 + None, # 2132 + None, # 2133 + None, # 2134 + None, # 2135 + None, # 2136 + None, # 2137 + None, # 2138 + None, # 2139 + None, # 2140 + None, # 2141 + None, # 2142 + None, # 2143 + None, # 2144 + None, # 2145 + None, # 2146 + None, # 2147 + None, # 2148 + None, # 2149 + None, # 2150 + None, # 2151 + None, # 2152 + None, # 2153 + None, # 2154 + None, # 2155 + None, # 2156 + None, # 2157 + None, # 2158 + None, # 2159 + None, # 2160 + None, # 2161 + None, # 2162 + None, # 2163 + None, # 2164 + None, # 2165 + None, # 2166 + None, # 2167 + None, # 2168 + None, # 2169 + None, # 2170 + None, # 2171 + None, # 2172 + None, # 2173 + None, # 2174 + None, # 2175 + None, # 2176 + None, # 2177 + None, # 2178 + None, # 2179 + None, # 2180 + None, # 2181 + None, # 2182 + None, # 2183 + None, # 2184 + None, # 2185 + None, # 2186 + None, # 2187 + None, # 2188 + None, # 2189 + None, # 2190 + None, # 2191 + None, # 2192 + None, # 2193 + None, # 2194 + None, # 2195 + None, # 2196 + None, # 2197 + None, # 2198 + None, # 2199 + None, # 2200 + None, # 2201 + None, # 2202 + None, # 2203 + None, # 2204 + None, # 2205 + None, # 2206 + None, # 2207 + None, # 2208 + None, # 2209 + None, # 2210 + None, # 2211 + None, # 2212 + None, # 2213 + None, # 2214 + None, # 2215 + None, # 2216 + None, # 2217 + None, # 2218 + None, # 2219 + None, # 2220 + None, # 2221 + None, # 2222 + None, # 2223 + None, # 2224 + None, # 2225 + None, # 2226 + None, # 2227 + None, # 2228 + None, # 2229 + None, # 2230 + None, # 2231 + None, # 2232 + None, # 2233 + None, # 2234 + None, # 2235 + None, # 2236 + None, # 2237 + None, # 2238 + None, # 2239 + None, # 2240 + None, # 2241 + None, # 2242 + None, # 2243 + None, # 2244 + None, # 2245 + None, # 2246 + None, # 2247 + None, # 2248 + None, # 2249 + None, # 2250 + None, # 2251 + None, # 2252 + None, # 2253 + None, # 2254 + None, # 2255 + None, # 2256 + None, # 2257 + None, # 2258 + None, # 2259 + None, # 2260 + None, # 2261 + None, # 2262 + None, # 2263 + None, # 2264 + None, # 2265 + None, # 2266 + None, # 2267 + None, # 2268 + None, # 2269 + None, # 2270 + None, # 2271 + None, # 2272 + None, # 2273 + None, # 2274 + None, # 2275 + None, # 2276 + None, # 2277 + None, # 2278 + None, # 2279 + None, # 2280 + None, # 2281 + None, # 2282 + None, # 2283 + None, # 2284 + None, # 2285 + None, # 2286 + None, # 2287 + None, # 2288 + None, # 2289 + None, # 2290 + None, # 2291 + None, # 2292 + None, # 2293 + None, # 2294 + None, # 2295 + None, # 2296 + None, # 2297 + None, # 2298 + None, # 2299 + None, # 2300 + None, # 2301 + None, # 2302 + None, # 2303 + None, # 2304 + None, # 2305 + None, # 2306 + None, # 2307 + None, # 2308 + None, # 2309 + None, # 2310 + None, # 2311 + None, # 2312 + None, # 2313 + None, # 2314 + None, # 2315 + None, # 2316 + None, # 2317 + None, # 2318 + None, # 2319 + None, # 2320 + None, # 2321 + None, # 2322 + None, # 2323 + None, # 2324 + None, # 2325 + None, # 2326 + None, # 2327 + None, # 2328 + None, # 2329 + None, # 2330 + None, # 2331 + None, # 2332 + None, # 2333 + None, # 2334 + None, # 2335 + None, # 2336 + None, # 2337 + None, # 2338 + None, # 2339 + None, # 2340 + None, # 2341 + None, # 2342 + None, # 2343 + None, # 2344 + None, # 2345 + None, # 2346 + None, # 2347 + None, # 2348 + None, # 2349 + None, # 2350 + None, # 2351 + None, # 2352 + None, # 2353 + None, # 2354 + None, # 2355 + None, # 2356 + None, # 2357 + None, # 2358 + None, # 2359 + None, # 2360 + None, # 2361 + None, # 2362 + None, # 2363 + None, # 2364 + None, # 2365 + None, # 2366 + None, # 2367 + None, # 2368 + None, # 2369 + None, # 2370 + None, # 2371 + None, # 2372 + None, # 2373 + None, # 2374 + None, # 2375 + None, # 2376 + None, # 2377 + None, # 2378 + None, # 2379 + None, # 2380 + None, # 2381 + None, # 2382 + None, # 2383 + None, # 2384 + None, # 2385 + None, # 2386 + None, # 2387 + None, # 2388 + None, # 2389 + None, # 2390 + None, # 2391 + None, # 2392 + None, # 2393 + None, # 2394 + None, # 2395 + None, # 2396 + None, # 2397 + None, # 2398 + None, # 2399 + None, # 2400 + None, # 2401 + None, # 2402 + None, # 2403 + None, # 2404 + None, # 2405 + None, # 2406 + None, # 2407 + None, # 2408 + None, # 2409 + None, # 2410 + None, # 2411 + None, # 2412 + None, # 2413 + None, # 2414 + None, # 2415 + None, # 2416 + None, # 2417 + None, # 2418 + None, # 2419 + None, # 2420 + None, # 2421 + None, # 2422 + None, # 2423 + None, # 2424 + None, # 2425 + None, # 2426 + None, # 2427 + None, # 2428 + None, # 2429 + None, # 2430 + None, # 2431 + None, # 2432 + None, # 2433 + None, # 2434 + None, # 2435 + None, # 2436 + None, # 2437 + None, # 2438 + None, # 2439 + None, # 2440 + None, # 2441 + None, # 2442 + None, # 2443 + None, # 2444 + None, # 2445 + None, # 2446 + None, # 2447 + None, # 2448 + None, # 2449 + None, # 2450 + None, # 2451 + None, # 2452 + None, # 2453 + None, # 2454 + None, # 2455 + None, # 2456 + None, # 2457 + None, # 2458 + None, # 2459 + None, # 2460 + None, # 2461 + None, # 2462 + None, # 2463 + None, # 2464 + None, # 2465 + None, # 2466 + None, # 2467 + None, # 2468 + None, # 2469 + None, # 2470 + None, # 2471 + None, # 2472 + None, # 2473 + None, # 2474 + None, # 2475 + None, # 2476 + None, # 2477 + None, # 2478 + None, # 2479 + None, # 2480 + None, # 2481 + None, # 2482 + None, # 2483 + None, # 2484 + None, # 2485 + None, # 2486 + None, # 2487 + None, # 2488 + None, # 2489 + None, # 2490 + None, # 2491 + None, # 2492 + None, # 2493 + None, # 2494 + None, # 2495 + None, # 2496 + None, # 2497 + None, # 2498 + None, # 2499 + None, # 2500 + None, # 2501 + None, # 2502 + None, # 2503 + None, # 2504 + None, # 2505 + None, # 2506 + None, # 2507 + None, # 2508 + None, # 2509 + None, # 2510 + None, # 2511 + None, # 2512 + None, # 2513 + None, # 2514 + None, # 2515 + None, # 2516 + None, # 2517 + None, # 2518 + None, # 2519 + None, # 2520 + None, # 2521 + None, # 2522 + None, # 2523 + None, # 2524 + None, # 2525 + None, # 2526 + None, # 2527 + None, # 2528 + None, # 2529 + None, # 2530 + None, # 2531 + None, # 2532 + None, # 2533 + None, # 2534 + None, # 2535 + None, # 2536 + None, # 2537 + None, # 2538 + None, # 2539 + None, # 2540 + None, # 2541 + None, # 2542 + None, # 2543 + None, # 2544 + None, # 2545 + None, # 2546 + None, # 2547 + None, # 2548 + None, # 2549 + None, # 2550 + None, # 2551 + None, # 2552 + None, # 2553 + None, # 2554 + None, # 2555 + None, # 2556 + None, # 2557 + None, # 2558 + None, # 2559 + None, # 2560 + None, # 2561 + None, # 2562 + None, # 2563 + None, # 2564 + None, # 2565 + None, # 2566 + None, # 2567 + None, # 2568 + None, # 2569 + None, # 2570 + None, # 2571 + None, # 2572 + None, # 2573 + None, # 2574 + None, # 2575 + None, # 2576 + None, # 2577 + None, # 2578 + None, # 2579 + None, # 2580 + None, # 2581 + None, # 2582 + None, # 2583 + None, # 2584 + None, # 2585 + None, # 2586 + None, # 2587 + None, # 2588 + None, # 2589 + None, # 2590 + None, # 2591 + None, # 2592 + None, # 2593 + None, # 2594 + None, # 2595 + None, # 2596 + None, # 2597 + None, # 2598 + None, # 2599 + None, # 2600 + None, # 2601 + None, # 2602 + None, # 2603 + None, # 2604 + None, # 2605 + None, # 2606 + None, # 2607 + None, # 2608 + None, # 2609 + None, # 2610 + None, # 2611 + None, # 2612 + None, # 2613 + None, # 2614 + None, # 2615 + None, # 2616 + None, # 2617 + None, # 2618 + None, # 2619 + None, # 2620 + None, # 2621 + None, # 2622 + None, # 2623 + None, # 2624 + None, # 2625 + None, # 2626 + None, # 2627 + None, # 2628 + None, # 2629 + None, # 2630 + None, # 2631 + None, # 2632 + None, # 2633 + None, # 2634 + None, # 2635 + None, # 2636 + None, # 2637 + None, # 2638 + None, # 2639 + None, # 2640 + None, # 2641 + None, # 2642 + None, # 2643 + None, # 2644 + None, # 2645 + None, # 2646 + None, # 2647 + None, # 2648 + None, # 2649 + None, # 2650 + None, # 2651 + None, # 2652 + None, # 2653 + None, # 2654 + None, # 2655 + None, # 2656 + None, # 2657 + None, # 2658 + None, # 2659 + None, # 2660 + None, # 2661 + None, # 2662 + None, # 2663 + None, # 2664 + None, # 2665 + None, # 2666 + None, # 2667 + None, # 2668 + None, # 2669 + None, # 2670 + None, # 2671 + None, # 2672 + None, # 2673 + None, # 2674 + None, # 2675 + None, # 2676 + None, # 2677 + None, # 2678 + None, # 2679 + None, # 2680 + None, # 2681 + None, # 2682 + None, # 2683 + None, # 2684 + None, # 2685 + None, # 2686 + None, # 2687 + None, # 2688 + None, # 2689 + None, # 2690 + None, # 2691 + None, # 2692 + None, # 2693 + None, # 2694 + None, # 2695 + None, # 2696 + None, # 2697 + None, # 2698 + None, # 2699 + None, # 2700 + None, # 2701 + None, # 2702 + None, # 2703 + None, # 2704 + None, # 2705 + None, # 2706 + None, # 2707 + None, # 2708 + None, # 2709 + None, # 2710 + None, # 2711 + None, # 2712 + None, # 2713 + None, # 2714 + None, # 2715 + None, # 2716 + None, # 2717 + None, # 2718 + None, # 2719 + None, # 2720 + None, # 2721 + None, # 2722 + None, # 2723 + None, # 2724 + None, # 2725 + None, # 2726 + None, # 2727 + None, # 2728 + None, # 2729 + None, # 2730 + None, # 2731 + None, # 2732 + None, # 2733 + None, # 2734 + None, # 2735 + None, # 2736 + None, # 2737 + None, # 2738 + None, # 2739 + None, # 2740 + None, # 2741 + None, # 2742 + None, # 2743 + None, # 2744 + None, # 2745 + None, # 2746 + None, # 2747 + None, # 2748 + None, # 2749 + None, # 2750 + None, # 2751 + None, # 2752 + None, # 2753 + None, # 2754 + None, # 2755 + None, # 2756 + None, # 2757 + None, # 2758 + None, # 2759 + None, # 2760 + None, # 2761 + None, # 2762 + None, # 2763 + None, # 2764 + None, # 2765 + None, # 2766 + None, # 2767 + None, # 2768 + None, # 2769 + None, # 2770 + None, # 2771 + None, # 2772 + None, # 2773 + None, # 2774 + None, # 2775 + None, # 2776 + None, # 2777 + None, # 2778 + None, # 2779 + None, # 2780 + None, # 2781 + None, # 2782 + None, # 2783 + None, # 2784 + None, # 2785 + None, # 2786 + None, # 2787 + None, # 2788 + None, # 2789 + None, # 2790 + None, # 2791 + None, # 2792 + None, # 2793 + None, # 2794 + None, # 2795 + None, # 2796 + None, # 2797 + None, # 2798 + None, # 2799 + None, # 2800 + None, # 2801 + None, # 2802 + None, # 2803 + None, # 2804 + None, # 2805 + None, # 2806 + None, # 2807 + None, # 2808 + None, # 2809 + None, # 2810 + None, # 2811 + None, # 2812 + None, # 2813 + None, # 2814 + None, # 2815 + None, # 2816 + None, # 2817 + None, # 2818 + None, # 2819 + None, # 2820 + None, # 2821 + None, # 2822 + None, # 2823 + None, # 2824 + None, # 2825 + None, # 2826 + None, # 2827 + None, # 2828 + None, # 2829 + None, # 2830 + None, # 2831 + None, # 2832 + None, # 2833 + None, # 2834 + None, # 2835 + None, # 2836 + None, # 2837 + None, # 2838 + None, # 2839 + None, # 2840 + None, # 2841 + None, # 2842 + None, # 2843 + None, # 2844 + None, # 2845 + None, # 2846 + None, # 2847 + None, # 2848 + None, # 2849 + None, # 2850 + None, # 2851 + None, # 2852 + None, # 2853 + None, # 2854 + None, # 2855 + None, # 2856 + None, # 2857 + None, # 2858 + None, # 2859 + None, # 2860 + None, # 2861 + None, # 2862 + None, # 2863 + None, # 2864 + None, # 2865 + None, # 2866 + None, # 2867 + None, # 2868 + None, # 2869 + None, # 2870 + None, # 2871 + None, # 2872 + None, # 2873 + None, # 2874 + None, # 2875 + None, # 2876 + None, # 2877 + None, # 2878 + None, # 2879 + None, # 2880 + None, # 2881 + None, # 2882 + None, # 2883 + None, # 2884 + None, # 2885 + None, # 2886 + None, # 2887 + None, # 2888 + None, # 2889 + None, # 2890 + None, # 2891 + None, # 2892 + None, # 2893 + None, # 2894 + None, # 2895 + None, # 2896 + None, # 2897 + None, # 2898 + None, # 2899 + None, # 2900 + None, # 2901 + None, # 2902 + None, # 2903 + None, # 2904 + None, # 2905 + None, # 2906 + None, # 2907 + None, # 2908 + None, # 2909 + None, # 2910 + None, # 2911 + None, # 2912 + None, # 2913 + None, # 2914 + None, # 2915 + None, # 2916 + None, # 2917 + None, # 2918 + None, # 2919 + None, # 2920 + None, # 2921 + None, # 2922 + None, # 2923 + None, # 2924 + None, # 2925 + None, # 2926 + None, # 2927 + None, # 2928 + None, # 2929 + None, # 2930 + None, # 2931 + None, # 2932 + None, # 2933 + None, # 2934 + None, # 2935 + None, # 2936 + None, # 2937 + None, # 2938 + None, # 2939 + None, # 2940 + None, # 2941 + None, # 2942 + None, # 2943 + None, # 2944 + None, # 2945 + None, # 2946 + None, # 2947 + None, # 2948 + None, # 2949 + None, # 2950 + None, # 2951 + None, # 2952 + None, # 2953 + None, # 2954 + None, # 2955 + None, # 2956 + None, # 2957 + None, # 2958 + None, # 2959 + None, # 2960 + None, # 2961 + None, # 2962 + None, # 2963 + None, # 2964 + None, # 2965 + None, # 2966 + None, # 2967 + None, # 2968 + None, # 2969 + None, # 2970 + None, # 2971 + None, # 2972 + None, # 2973 + None, # 2974 + None, # 2975 + None, # 2976 + None, # 2977 + None, # 2978 + None, # 2979 + None, # 2980 + None, # 2981 + None, # 2982 + None, # 2983 + None, # 2984 + None, # 2985 + None, # 2986 + None, # 2987 + None, # 2988 + None, # 2989 + None, # 2990 + None, # 2991 + None, # 2992 + None, # 2993 + None, # 2994 + None, # 2995 + None, # 2996 + None, # 2997 + None, # 2998 + None, # 2999 + None, # 3000 + None, # 3001 + None, # 3002 + None, # 3003 + None, # 3004 + None, # 3005 + None, # 3006 + None, # 3007 + None, # 3008 + None, # 3009 + None, # 3010 + None, # 3011 + None, # 3012 + None, # 3013 + None, # 3014 + None, # 3015 + None, # 3016 + None, # 3017 + None, # 3018 + None, # 3019 + None, # 3020 + None, # 3021 + None, # 3022 + None, # 3023 + None, # 3024 + None, # 3025 + None, # 3026 + None, # 3027 + None, # 3028 + None, # 3029 + None, # 3030 + None, # 3031 + None, # 3032 + None, # 3033 + None, # 3034 + None, # 3035 + None, # 3036 + None, # 3037 + None, # 3038 + None, # 3039 + None, # 3040 + None, # 3041 + None, # 3042 + None, # 3043 + None, # 3044 + None, # 3045 + None, # 3046 + None, # 3047 + None, # 3048 + None, # 3049 + None, # 3050 + None, # 3051 + None, # 3052 + None, # 3053 + None, # 3054 + None, # 3055 + None, # 3056 + None, # 3057 + None, # 3058 + None, # 3059 + None, # 3060 + None, # 3061 + None, # 3062 + None, # 3063 + None, # 3064 + None, # 3065 + None, # 3066 + None, # 3067 + None, # 3068 + None, # 3069 + None, # 3070 + None, # 3071 + None, # 3072 + None, # 3073 + None, # 3074 + None, # 3075 + None, # 3076 + None, # 3077 + None, # 3078 + None, # 3079 + None, # 3080 + None, # 3081 + None, # 3082 + None, # 3083 + None, # 3084 + None, # 3085 + None, # 3086 + None, # 3087 + None, # 3088 + None, # 3089 + None, # 3090 + None, # 3091 + None, # 3092 + None, # 3093 + None, # 3094 + None, # 3095 + None, # 3096 + None, # 3097 + None, # 3098 + None, # 3099 + None, # 3100 + None, # 3101 + None, # 3102 + None, # 3103 + None, # 3104 + None, # 3105 + None, # 3106 + None, # 3107 + None, # 3108 + None, # 3109 + None, # 3110 + None, # 3111 + None, # 3112 + None, # 3113 + None, # 3114 + None, # 3115 + None, # 3116 + None, # 3117 + None, # 3118 + None, # 3119 + None, # 3120 + None, # 3121 + None, # 3122 + None, # 3123 + None, # 3124 + None, # 3125 + None, # 3126 + None, # 3127 + None, # 3128 + None, # 3129 + None, # 3130 + None, # 3131 + None, # 3132 + None, # 3133 + None, # 3134 + None, # 3135 + None, # 3136 + None, # 3137 + None, # 3138 + None, # 3139 + None, # 3140 + None, # 3141 + None, # 3142 + None, # 3143 + None, # 3144 + None, # 3145 + None, # 3146 + None, # 3147 + None, # 3148 + None, # 3149 + None, # 3150 + None, # 3151 + None, # 3152 + None, # 3153 + None, # 3154 + None, # 3155 + None, # 3156 + None, # 3157 + None, # 3158 + None, # 3159 + None, # 3160 + None, # 3161 + None, # 3162 + None, # 3163 + None, # 3164 + None, # 3165 + None, # 3166 + None, # 3167 + None, # 3168 + None, # 3169 + None, # 3170 + None, # 3171 + None, # 3172 + None, # 3173 + None, # 3174 + None, # 3175 + None, # 3176 + None, # 3177 + None, # 3178 + None, # 3179 + None, # 3180 + None, # 3181 + None, # 3182 + None, # 3183 + None, # 3184 + None, # 3185 + None, # 3186 + None, # 3187 + None, # 3188 + None, # 3189 + None, # 3190 + None, # 3191 + None, # 3192 + None, # 3193 + None, # 3194 + None, # 3195 + None, # 3196 + None, # 3197 + None, # 3198 + None, # 3199 + None, # 3200 + None, # 3201 + None, # 3202 + None, # 3203 + None, # 3204 + None, # 3205 + None, # 3206 + None, # 3207 + None, # 3208 + None, # 3209 + None, # 3210 + None, # 3211 + None, # 3212 + None, # 3213 + None, # 3214 + None, # 3215 + None, # 3216 + None, # 3217 + None, # 3218 + None, # 3219 + None, # 3220 + None, # 3221 + None, # 3222 + None, # 3223 + None, # 3224 + None, # 3225 + None, # 3226 + None, # 3227 + None, # 3228 + None, # 3229 + None, # 3230 + None, # 3231 + None, # 3232 + None, # 3233 + None, # 3234 + None, # 3235 + None, # 3236 + None, # 3237 + None, # 3238 + None, # 3239 + None, # 3240 + None, # 3241 + None, # 3242 + None, # 3243 + None, # 3244 + None, # 3245 + None, # 3246 + None, # 3247 + None, # 3248 + None, # 3249 + None, # 3250 + None, # 3251 + None, # 3252 + None, # 3253 + None, # 3254 + None, # 3255 + None, # 3256 + None, # 3257 + None, # 3258 + None, # 3259 + None, # 3260 + None, # 3261 + None, # 3262 + None, # 3263 + None, # 3264 + None, # 3265 + None, # 3266 + None, # 3267 + None, # 3268 + None, # 3269 + None, # 3270 + None, # 3271 + None, # 3272 + None, # 3273 + None, # 3274 + None, # 3275 + None, # 3276 + None, # 3277 + None, # 3278 + None, # 3279 + None, # 3280 + None, # 3281 + None, # 3282 + None, # 3283 + None, # 3284 + None, # 3285 + None, # 3286 + None, # 3287 + None, # 3288 + None, # 3289 + None, # 3290 + None, # 3291 + None, # 3292 + None, # 3293 + None, # 3294 + None, # 3295 + None, # 3296 + None, # 3297 + None, # 3298 + None, # 3299 + None, # 3300 + None, # 3301 + None, # 3302 + None, # 3303 + None, # 3304 + None, # 3305 + None, # 3306 + None, # 3307 + None, # 3308 + None, # 3309 + None, # 3310 + None, # 3311 + None, # 3312 + None, # 3313 + None, # 3314 + None, # 3315 + None, # 3316 + None, # 3317 + None, # 3318 + None, # 3319 + None, # 3320 + None, # 3321 + None, # 3322 + None, # 3323 + None, # 3324 + None, # 3325 + None, # 3326 + None, # 3327 + None, # 3328 + (3329, TType.STRUCT, 'operationId', [THandleIdentifier, None], None, ), # 3329 + (3330, TType.STRUCT, 'sessionConf', [TDBSqlSessionConf, None], None, ), # 3330 ) all_structs.append(TGetPrimaryKeysResp) TGetPrimaryKeysResp.thrift_spec = ( - None, # 0 - (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 - (2, TType.STRUCT, 'operationHandle', [TOperationHandle, None], None, ), # 2 - None, # 3 - None, # 4 - None, # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - (1281, TType.STRUCT, 'directResults', [TSparkDirectResults, None], None, ), # 1281 + None, # 0 + (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 + (2, TType.STRUCT, 'operationHandle', [TOperationHandle, None], None, ), # 2 + None, # 3 + None, # 4 + None, # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + (1281, TType.STRUCT, 'directResults', [TSparkDirectResults, None], None, ), # 1281 ) all_structs.append(TGetCrossReferenceReq) TGetCrossReferenceReq.thrift_spec = ( - None, # 0 - (1, TType.STRUCT, 'sessionHandle', [TSessionHandle, None], None, ), # 1 - (2, TType.STRING, 'parentCatalogName', 'UTF8', None, ), # 2 - (3, TType.STRING, 'parentSchemaName', 'UTF8', None, ), # 3 - (4, TType.STRING, 'parentTableName', 'UTF8', None, ), # 4 - (5, TType.STRING, 'foreignCatalogName', 'UTF8', None, ), # 5 - (6, TType.STRING, 'foreignSchemaName', 'UTF8', None, ), # 6 - (7, TType.STRING, 'foreignTableName', 'UTF8', None, ), # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - (1281, TType.STRUCT, 'getDirectResults', [TSparkGetDirectResults, None], None, ), # 1281 - (1282, TType.BOOL, 'runAsync', None, False, ), # 1282 - None, # 1283 - None, # 1284 - None, # 1285 - None, # 1286 - None, # 1287 - None, # 1288 - None, # 1289 - None, # 1290 - None, # 1291 - None, # 1292 - None, # 1293 - None, # 1294 - None, # 1295 - None, # 1296 - None, # 1297 - None, # 1298 - None, # 1299 - None, # 1300 - None, # 1301 - None, # 1302 - None, # 1303 - None, # 1304 - None, # 1305 - None, # 1306 - None, # 1307 - None, # 1308 - None, # 1309 - None, # 1310 - None, # 1311 - None, # 1312 - None, # 1313 - None, # 1314 - None, # 1315 - None, # 1316 - None, # 1317 - None, # 1318 - None, # 1319 - None, # 1320 - None, # 1321 - None, # 1322 - None, # 1323 - None, # 1324 - None, # 1325 - None, # 1326 - None, # 1327 - None, # 1328 - None, # 1329 - None, # 1330 - None, # 1331 - None, # 1332 - None, # 1333 - None, # 1334 - None, # 1335 - None, # 1336 - None, # 1337 - None, # 1338 - None, # 1339 - None, # 1340 - None, # 1341 - None, # 1342 - None, # 1343 - None, # 1344 - None, # 1345 - None, # 1346 - None, # 1347 - None, # 1348 - None, # 1349 - None, # 1350 - None, # 1351 - None, # 1352 - None, # 1353 - None, # 1354 - None, # 1355 - None, # 1356 - None, # 1357 - None, # 1358 - None, # 1359 - None, # 1360 - None, # 1361 - None, # 1362 - None, # 1363 - None, # 1364 - None, # 1365 - None, # 1366 - None, # 1367 - None, # 1368 - None, # 1369 - None, # 1370 - None, # 1371 - None, # 1372 - None, # 1373 - None, # 1374 - None, # 1375 - None, # 1376 - None, # 1377 - None, # 1378 - None, # 1379 - None, # 1380 - None, # 1381 - None, # 1382 - None, # 1383 - None, # 1384 - None, # 1385 - None, # 1386 - None, # 1387 - None, # 1388 - None, # 1389 - None, # 1390 - None, # 1391 - None, # 1392 - None, # 1393 - None, # 1394 - None, # 1395 - None, # 1396 - None, # 1397 - None, # 1398 - None, # 1399 - None, # 1400 - None, # 1401 - None, # 1402 - None, # 1403 - None, # 1404 - None, # 1405 - None, # 1406 - None, # 1407 - None, # 1408 - None, # 1409 - None, # 1410 - None, # 1411 - None, # 1412 - None, # 1413 - None, # 1414 - None, # 1415 - None, # 1416 - None, # 1417 - None, # 1418 - None, # 1419 - None, # 1420 - None, # 1421 - None, # 1422 - None, # 1423 - None, # 1424 - None, # 1425 - None, # 1426 - None, # 1427 - None, # 1428 - None, # 1429 - None, # 1430 - None, # 1431 - None, # 1432 - None, # 1433 - None, # 1434 - None, # 1435 - None, # 1436 - None, # 1437 - None, # 1438 - None, # 1439 - None, # 1440 - None, # 1441 - None, # 1442 - None, # 1443 - None, # 1444 - None, # 1445 - None, # 1446 - None, # 1447 - None, # 1448 - None, # 1449 - None, # 1450 - None, # 1451 - None, # 1452 - None, # 1453 - None, # 1454 - None, # 1455 - None, # 1456 - None, # 1457 - None, # 1458 - None, # 1459 - None, # 1460 - None, # 1461 - None, # 1462 - None, # 1463 - None, # 1464 - None, # 1465 - None, # 1466 - None, # 1467 - None, # 1468 - None, # 1469 - None, # 1470 - None, # 1471 - None, # 1472 - None, # 1473 - None, # 1474 - None, # 1475 - None, # 1476 - None, # 1477 - None, # 1478 - None, # 1479 - None, # 1480 - None, # 1481 - None, # 1482 - None, # 1483 - None, # 1484 - None, # 1485 - None, # 1486 - None, # 1487 - None, # 1488 - None, # 1489 - None, # 1490 - None, # 1491 - None, # 1492 - None, # 1493 - None, # 1494 - None, # 1495 - None, # 1496 - None, # 1497 - None, # 1498 - None, # 1499 - None, # 1500 - None, # 1501 - None, # 1502 - None, # 1503 - None, # 1504 - None, # 1505 - None, # 1506 - None, # 1507 - None, # 1508 - None, # 1509 - None, # 1510 - None, # 1511 - None, # 1512 - None, # 1513 - None, # 1514 - None, # 1515 - None, # 1516 - None, # 1517 - None, # 1518 - None, # 1519 - None, # 1520 - None, # 1521 - None, # 1522 - None, # 1523 - None, # 1524 - None, # 1525 - None, # 1526 - None, # 1527 - None, # 1528 - None, # 1529 - None, # 1530 - None, # 1531 - None, # 1532 - None, # 1533 - None, # 1534 - None, # 1535 - None, # 1536 - None, # 1537 - None, # 1538 - None, # 1539 - None, # 1540 - None, # 1541 - None, # 1542 - None, # 1543 - None, # 1544 - None, # 1545 - None, # 1546 - None, # 1547 - None, # 1548 - None, # 1549 - None, # 1550 - None, # 1551 - None, # 1552 - None, # 1553 - None, # 1554 - None, # 1555 - None, # 1556 - None, # 1557 - None, # 1558 - None, # 1559 - None, # 1560 - None, # 1561 - None, # 1562 - None, # 1563 - None, # 1564 - None, # 1565 - None, # 1566 - None, # 1567 - None, # 1568 - None, # 1569 - None, # 1570 - None, # 1571 - None, # 1572 - None, # 1573 - None, # 1574 - None, # 1575 - None, # 1576 - None, # 1577 - None, # 1578 - None, # 1579 - None, # 1580 - None, # 1581 - None, # 1582 - None, # 1583 - None, # 1584 - None, # 1585 - None, # 1586 - None, # 1587 - None, # 1588 - None, # 1589 - None, # 1590 - None, # 1591 - None, # 1592 - None, # 1593 - None, # 1594 - None, # 1595 - None, # 1596 - None, # 1597 - None, # 1598 - None, # 1599 - None, # 1600 - None, # 1601 - None, # 1602 - None, # 1603 - None, # 1604 - None, # 1605 - None, # 1606 - None, # 1607 - None, # 1608 - None, # 1609 - None, # 1610 - None, # 1611 - None, # 1612 - None, # 1613 - None, # 1614 - None, # 1615 - None, # 1616 - None, # 1617 - None, # 1618 - None, # 1619 - None, # 1620 - None, # 1621 - None, # 1622 - None, # 1623 - None, # 1624 - None, # 1625 - None, # 1626 - None, # 1627 - None, # 1628 - None, # 1629 - None, # 1630 - None, # 1631 - None, # 1632 - None, # 1633 - None, # 1634 - None, # 1635 - None, # 1636 - None, # 1637 - None, # 1638 - None, # 1639 - None, # 1640 - None, # 1641 - None, # 1642 - None, # 1643 - None, # 1644 - None, # 1645 - None, # 1646 - None, # 1647 - None, # 1648 - None, # 1649 - None, # 1650 - None, # 1651 - None, # 1652 - None, # 1653 - None, # 1654 - None, # 1655 - None, # 1656 - None, # 1657 - None, # 1658 - None, # 1659 - None, # 1660 - None, # 1661 - None, # 1662 - None, # 1663 - None, # 1664 - None, # 1665 - None, # 1666 - None, # 1667 - None, # 1668 - None, # 1669 - None, # 1670 - None, # 1671 - None, # 1672 - None, # 1673 - None, # 1674 - None, # 1675 - None, # 1676 - None, # 1677 - None, # 1678 - None, # 1679 - None, # 1680 - None, # 1681 - None, # 1682 - None, # 1683 - None, # 1684 - None, # 1685 - None, # 1686 - None, # 1687 - None, # 1688 - None, # 1689 - None, # 1690 - None, # 1691 - None, # 1692 - None, # 1693 - None, # 1694 - None, # 1695 - None, # 1696 - None, # 1697 - None, # 1698 - None, # 1699 - None, # 1700 - None, # 1701 - None, # 1702 - None, # 1703 - None, # 1704 - None, # 1705 - None, # 1706 - None, # 1707 - None, # 1708 - None, # 1709 - None, # 1710 - None, # 1711 - None, # 1712 - None, # 1713 - None, # 1714 - None, # 1715 - None, # 1716 - None, # 1717 - None, # 1718 - None, # 1719 - None, # 1720 - None, # 1721 - None, # 1722 - None, # 1723 - None, # 1724 - None, # 1725 - None, # 1726 - None, # 1727 - None, # 1728 - None, # 1729 - None, # 1730 - None, # 1731 - None, # 1732 - None, # 1733 - None, # 1734 - None, # 1735 - None, # 1736 - None, # 1737 - None, # 1738 - None, # 1739 - None, # 1740 - None, # 1741 - None, # 1742 - None, # 1743 - None, # 1744 - None, # 1745 - None, # 1746 - None, # 1747 - None, # 1748 - None, # 1749 - None, # 1750 - None, # 1751 - None, # 1752 - None, # 1753 - None, # 1754 - None, # 1755 - None, # 1756 - None, # 1757 - None, # 1758 - None, # 1759 - None, # 1760 - None, # 1761 - None, # 1762 - None, # 1763 - None, # 1764 - None, # 1765 - None, # 1766 - None, # 1767 - None, # 1768 - None, # 1769 - None, # 1770 - None, # 1771 - None, # 1772 - None, # 1773 - None, # 1774 - None, # 1775 - None, # 1776 - None, # 1777 - None, # 1778 - None, # 1779 - None, # 1780 - None, # 1781 - None, # 1782 - None, # 1783 - None, # 1784 - None, # 1785 - None, # 1786 - None, # 1787 - None, # 1788 - None, # 1789 - None, # 1790 - None, # 1791 - None, # 1792 - None, # 1793 - None, # 1794 - None, # 1795 - None, # 1796 - None, # 1797 - None, # 1798 - None, # 1799 - None, # 1800 - None, # 1801 - None, # 1802 - None, # 1803 - None, # 1804 - None, # 1805 - None, # 1806 - None, # 1807 - None, # 1808 - None, # 1809 - None, # 1810 - None, # 1811 - None, # 1812 - None, # 1813 - None, # 1814 - None, # 1815 - None, # 1816 - None, # 1817 - None, # 1818 - None, # 1819 - None, # 1820 - None, # 1821 - None, # 1822 - None, # 1823 - None, # 1824 - None, # 1825 - None, # 1826 - None, # 1827 - None, # 1828 - None, # 1829 - None, # 1830 - None, # 1831 - None, # 1832 - None, # 1833 - None, # 1834 - None, # 1835 - None, # 1836 - None, # 1837 - None, # 1838 - None, # 1839 - None, # 1840 - None, # 1841 - None, # 1842 - None, # 1843 - None, # 1844 - None, # 1845 - None, # 1846 - None, # 1847 - None, # 1848 - None, # 1849 - None, # 1850 - None, # 1851 - None, # 1852 - None, # 1853 - None, # 1854 - None, # 1855 - None, # 1856 - None, # 1857 - None, # 1858 - None, # 1859 - None, # 1860 - None, # 1861 - None, # 1862 - None, # 1863 - None, # 1864 - None, # 1865 - None, # 1866 - None, # 1867 - None, # 1868 - None, # 1869 - None, # 1870 - None, # 1871 - None, # 1872 - None, # 1873 - None, # 1874 - None, # 1875 - None, # 1876 - None, # 1877 - None, # 1878 - None, # 1879 - None, # 1880 - None, # 1881 - None, # 1882 - None, # 1883 - None, # 1884 - None, # 1885 - None, # 1886 - None, # 1887 - None, # 1888 - None, # 1889 - None, # 1890 - None, # 1891 - None, # 1892 - None, # 1893 - None, # 1894 - None, # 1895 - None, # 1896 - None, # 1897 - None, # 1898 - None, # 1899 - None, # 1900 - None, # 1901 - None, # 1902 - None, # 1903 - None, # 1904 - None, # 1905 - None, # 1906 - None, # 1907 - None, # 1908 - None, # 1909 - None, # 1910 - None, # 1911 - None, # 1912 - None, # 1913 - None, # 1914 - None, # 1915 - None, # 1916 - None, # 1917 - None, # 1918 - None, # 1919 - None, # 1920 - None, # 1921 - None, # 1922 - None, # 1923 - None, # 1924 - None, # 1925 - None, # 1926 - None, # 1927 - None, # 1928 - None, # 1929 - None, # 1930 - None, # 1931 - None, # 1932 - None, # 1933 - None, # 1934 - None, # 1935 - None, # 1936 - None, # 1937 - None, # 1938 - None, # 1939 - None, # 1940 - None, # 1941 - None, # 1942 - None, # 1943 - None, # 1944 - None, # 1945 - None, # 1946 - None, # 1947 - None, # 1948 - None, # 1949 - None, # 1950 - None, # 1951 - None, # 1952 - None, # 1953 - None, # 1954 - None, # 1955 - None, # 1956 - None, # 1957 - None, # 1958 - None, # 1959 - None, # 1960 - None, # 1961 - None, # 1962 - None, # 1963 - None, # 1964 - None, # 1965 - None, # 1966 - None, # 1967 - None, # 1968 - None, # 1969 - None, # 1970 - None, # 1971 - None, # 1972 - None, # 1973 - None, # 1974 - None, # 1975 - None, # 1976 - None, # 1977 - None, # 1978 - None, # 1979 - None, # 1980 - None, # 1981 - None, # 1982 - None, # 1983 - None, # 1984 - None, # 1985 - None, # 1986 - None, # 1987 - None, # 1988 - None, # 1989 - None, # 1990 - None, # 1991 - None, # 1992 - None, # 1993 - None, # 1994 - None, # 1995 - None, # 1996 - None, # 1997 - None, # 1998 - None, # 1999 - None, # 2000 - None, # 2001 - None, # 2002 - None, # 2003 - None, # 2004 - None, # 2005 - None, # 2006 - None, # 2007 - None, # 2008 - None, # 2009 - None, # 2010 - None, # 2011 - None, # 2012 - None, # 2013 - None, # 2014 - None, # 2015 - None, # 2016 - None, # 2017 - None, # 2018 - None, # 2019 - None, # 2020 - None, # 2021 - None, # 2022 - None, # 2023 - None, # 2024 - None, # 2025 - None, # 2026 - None, # 2027 - None, # 2028 - None, # 2029 - None, # 2030 - None, # 2031 - None, # 2032 - None, # 2033 - None, # 2034 - None, # 2035 - None, # 2036 - None, # 2037 - None, # 2038 - None, # 2039 - None, # 2040 - None, # 2041 - None, # 2042 - None, # 2043 - None, # 2044 - None, # 2045 - None, # 2046 - None, # 2047 - None, # 2048 - None, # 2049 - None, # 2050 - None, # 2051 - None, # 2052 - None, # 2053 - None, # 2054 - None, # 2055 - None, # 2056 - None, # 2057 - None, # 2058 - None, # 2059 - None, # 2060 - None, # 2061 - None, # 2062 - None, # 2063 - None, # 2064 - None, # 2065 - None, # 2066 - None, # 2067 - None, # 2068 - None, # 2069 - None, # 2070 - None, # 2071 - None, # 2072 - None, # 2073 - None, # 2074 - None, # 2075 - None, # 2076 - None, # 2077 - None, # 2078 - None, # 2079 - None, # 2080 - None, # 2081 - None, # 2082 - None, # 2083 - None, # 2084 - None, # 2085 - None, # 2086 - None, # 2087 - None, # 2088 - None, # 2089 - None, # 2090 - None, # 2091 - None, # 2092 - None, # 2093 - None, # 2094 - None, # 2095 - None, # 2096 - None, # 2097 - None, # 2098 - None, # 2099 - None, # 2100 - None, # 2101 - None, # 2102 - None, # 2103 - None, # 2104 - None, # 2105 - None, # 2106 - None, # 2107 - None, # 2108 - None, # 2109 - None, # 2110 - None, # 2111 - None, # 2112 - None, # 2113 - None, # 2114 - None, # 2115 - None, # 2116 - None, # 2117 - None, # 2118 - None, # 2119 - None, # 2120 - None, # 2121 - None, # 2122 - None, # 2123 - None, # 2124 - None, # 2125 - None, # 2126 - None, # 2127 - None, # 2128 - None, # 2129 - None, # 2130 - None, # 2131 - None, # 2132 - None, # 2133 - None, # 2134 - None, # 2135 - None, # 2136 - None, # 2137 - None, # 2138 - None, # 2139 - None, # 2140 - None, # 2141 - None, # 2142 - None, # 2143 - None, # 2144 - None, # 2145 - None, # 2146 - None, # 2147 - None, # 2148 - None, # 2149 - None, # 2150 - None, # 2151 - None, # 2152 - None, # 2153 - None, # 2154 - None, # 2155 - None, # 2156 - None, # 2157 - None, # 2158 - None, # 2159 - None, # 2160 - None, # 2161 - None, # 2162 - None, # 2163 - None, # 2164 - None, # 2165 - None, # 2166 - None, # 2167 - None, # 2168 - None, # 2169 - None, # 2170 - None, # 2171 - None, # 2172 - None, # 2173 - None, # 2174 - None, # 2175 - None, # 2176 - None, # 2177 - None, # 2178 - None, # 2179 - None, # 2180 - None, # 2181 - None, # 2182 - None, # 2183 - None, # 2184 - None, # 2185 - None, # 2186 - None, # 2187 - None, # 2188 - None, # 2189 - None, # 2190 - None, # 2191 - None, # 2192 - None, # 2193 - None, # 2194 - None, # 2195 - None, # 2196 - None, # 2197 - None, # 2198 - None, # 2199 - None, # 2200 - None, # 2201 - None, # 2202 - None, # 2203 - None, # 2204 - None, # 2205 - None, # 2206 - None, # 2207 - None, # 2208 - None, # 2209 - None, # 2210 - None, # 2211 - None, # 2212 - None, # 2213 - None, # 2214 - None, # 2215 - None, # 2216 - None, # 2217 - None, # 2218 - None, # 2219 - None, # 2220 - None, # 2221 - None, # 2222 - None, # 2223 - None, # 2224 - None, # 2225 - None, # 2226 - None, # 2227 - None, # 2228 - None, # 2229 - None, # 2230 - None, # 2231 - None, # 2232 - None, # 2233 - None, # 2234 - None, # 2235 - None, # 2236 - None, # 2237 - None, # 2238 - None, # 2239 - None, # 2240 - None, # 2241 - None, # 2242 - None, # 2243 - None, # 2244 - None, # 2245 - None, # 2246 - None, # 2247 - None, # 2248 - None, # 2249 - None, # 2250 - None, # 2251 - None, # 2252 - None, # 2253 - None, # 2254 - None, # 2255 - None, # 2256 - None, # 2257 - None, # 2258 - None, # 2259 - None, # 2260 - None, # 2261 - None, # 2262 - None, # 2263 - None, # 2264 - None, # 2265 - None, # 2266 - None, # 2267 - None, # 2268 - None, # 2269 - None, # 2270 - None, # 2271 - None, # 2272 - None, # 2273 - None, # 2274 - None, # 2275 - None, # 2276 - None, # 2277 - None, # 2278 - None, # 2279 - None, # 2280 - None, # 2281 - None, # 2282 - None, # 2283 - None, # 2284 - None, # 2285 - None, # 2286 - None, # 2287 - None, # 2288 - None, # 2289 - None, # 2290 - None, # 2291 - None, # 2292 - None, # 2293 - None, # 2294 - None, # 2295 - None, # 2296 - None, # 2297 - None, # 2298 - None, # 2299 - None, # 2300 - None, # 2301 - None, # 2302 - None, # 2303 - None, # 2304 - None, # 2305 - None, # 2306 - None, # 2307 - None, # 2308 - None, # 2309 - None, # 2310 - None, # 2311 - None, # 2312 - None, # 2313 - None, # 2314 - None, # 2315 - None, # 2316 - None, # 2317 - None, # 2318 - None, # 2319 - None, # 2320 - None, # 2321 - None, # 2322 - None, # 2323 - None, # 2324 - None, # 2325 - None, # 2326 - None, # 2327 - None, # 2328 - None, # 2329 - None, # 2330 - None, # 2331 - None, # 2332 - None, # 2333 - None, # 2334 - None, # 2335 - None, # 2336 - None, # 2337 - None, # 2338 - None, # 2339 - None, # 2340 - None, # 2341 - None, # 2342 - None, # 2343 - None, # 2344 - None, # 2345 - None, # 2346 - None, # 2347 - None, # 2348 - None, # 2349 - None, # 2350 - None, # 2351 - None, # 2352 - None, # 2353 - None, # 2354 - None, # 2355 - None, # 2356 - None, # 2357 - None, # 2358 - None, # 2359 - None, # 2360 - None, # 2361 - None, # 2362 - None, # 2363 - None, # 2364 - None, # 2365 - None, # 2366 - None, # 2367 - None, # 2368 - None, # 2369 - None, # 2370 - None, # 2371 - None, # 2372 - None, # 2373 - None, # 2374 - None, # 2375 - None, # 2376 - None, # 2377 - None, # 2378 - None, # 2379 - None, # 2380 - None, # 2381 - None, # 2382 - None, # 2383 - None, # 2384 - None, # 2385 - None, # 2386 - None, # 2387 - None, # 2388 - None, # 2389 - None, # 2390 - None, # 2391 - None, # 2392 - None, # 2393 - None, # 2394 - None, # 2395 - None, # 2396 - None, # 2397 - None, # 2398 - None, # 2399 - None, # 2400 - None, # 2401 - None, # 2402 - None, # 2403 - None, # 2404 - None, # 2405 - None, # 2406 - None, # 2407 - None, # 2408 - None, # 2409 - None, # 2410 - None, # 2411 - None, # 2412 - None, # 2413 - None, # 2414 - None, # 2415 - None, # 2416 - None, # 2417 - None, # 2418 - None, # 2419 - None, # 2420 - None, # 2421 - None, # 2422 - None, # 2423 - None, # 2424 - None, # 2425 - None, # 2426 - None, # 2427 - None, # 2428 - None, # 2429 - None, # 2430 - None, # 2431 - None, # 2432 - None, # 2433 - None, # 2434 - None, # 2435 - None, # 2436 - None, # 2437 - None, # 2438 - None, # 2439 - None, # 2440 - None, # 2441 - None, # 2442 - None, # 2443 - None, # 2444 - None, # 2445 - None, # 2446 - None, # 2447 - None, # 2448 - None, # 2449 - None, # 2450 - None, # 2451 - None, # 2452 - None, # 2453 - None, # 2454 - None, # 2455 - None, # 2456 - None, # 2457 - None, # 2458 - None, # 2459 - None, # 2460 - None, # 2461 - None, # 2462 - None, # 2463 - None, # 2464 - None, # 2465 - None, # 2466 - None, # 2467 - None, # 2468 - None, # 2469 - None, # 2470 - None, # 2471 - None, # 2472 - None, # 2473 - None, # 2474 - None, # 2475 - None, # 2476 - None, # 2477 - None, # 2478 - None, # 2479 - None, # 2480 - None, # 2481 - None, # 2482 - None, # 2483 - None, # 2484 - None, # 2485 - None, # 2486 - None, # 2487 - None, # 2488 - None, # 2489 - None, # 2490 - None, # 2491 - None, # 2492 - None, # 2493 - None, # 2494 - None, # 2495 - None, # 2496 - None, # 2497 - None, # 2498 - None, # 2499 - None, # 2500 - None, # 2501 - None, # 2502 - None, # 2503 - None, # 2504 - None, # 2505 - None, # 2506 - None, # 2507 - None, # 2508 - None, # 2509 - None, # 2510 - None, # 2511 - None, # 2512 - None, # 2513 - None, # 2514 - None, # 2515 - None, # 2516 - None, # 2517 - None, # 2518 - None, # 2519 - None, # 2520 - None, # 2521 - None, # 2522 - None, # 2523 - None, # 2524 - None, # 2525 - None, # 2526 - None, # 2527 - None, # 2528 - None, # 2529 - None, # 2530 - None, # 2531 - None, # 2532 - None, # 2533 - None, # 2534 - None, # 2535 - None, # 2536 - None, # 2537 - None, # 2538 - None, # 2539 - None, # 2540 - None, # 2541 - None, # 2542 - None, # 2543 - None, # 2544 - None, # 2545 - None, # 2546 - None, # 2547 - None, # 2548 - None, # 2549 - None, # 2550 - None, # 2551 - None, # 2552 - None, # 2553 - None, # 2554 - None, # 2555 - None, # 2556 - None, # 2557 - None, # 2558 - None, # 2559 - None, # 2560 - None, # 2561 - None, # 2562 - None, # 2563 - None, # 2564 - None, # 2565 - None, # 2566 - None, # 2567 - None, # 2568 - None, # 2569 - None, # 2570 - None, # 2571 - None, # 2572 - None, # 2573 - None, # 2574 - None, # 2575 - None, # 2576 - None, # 2577 - None, # 2578 - None, # 2579 - None, # 2580 - None, # 2581 - None, # 2582 - None, # 2583 - None, # 2584 - None, # 2585 - None, # 2586 - None, # 2587 - None, # 2588 - None, # 2589 - None, # 2590 - None, # 2591 - None, # 2592 - None, # 2593 - None, # 2594 - None, # 2595 - None, # 2596 - None, # 2597 - None, # 2598 - None, # 2599 - None, # 2600 - None, # 2601 - None, # 2602 - None, # 2603 - None, # 2604 - None, # 2605 - None, # 2606 - None, # 2607 - None, # 2608 - None, # 2609 - None, # 2610 - None, # 2611 - None, # 2612 - None, # 2613 - None, # 2614 - None, # 2615 - None, # 2616 - None, # 2617 - None, # 2618 - None, # 2619 - None, # 2620 - None, # 2621 - None, # 2622 - None, # 2623 - None, # 2624 - None, # 2625 - None, # 2626 - None, # 2627 - None, # 2628 - None, # 2629 - None, # 2630 - None, # 2631 - None, # 2632 - None, # 2633 - None, # 2634 - None, # 2635 - None, # 2636 - None, # 2637 - None, # 2638 - None, # 2639 - None, # 2640 - None, # 2641 - None, # 2642 - None, # 2643 - None, # 2644 - None, # 2645 - None, # 2646 - None, # 2647 - None, # 2648 - None, # 2649 - None, # 2650 - None, # 2651 - None, # 2652 - None, # 2653 - None, # 2654 - None, # 2655 - None, # 2656 - None, # 2657 - None, # 2658 - None, # 2659 - None, # 2660 - None, # 2661 - None, # 2662 - None, # 2663 - None, # 2664 - None, # 2665 - None, # 2666 - None, # 2667 - None, # 2668 - None, # 2669 - None, # 2670 - None, # 2671 - None, # 2672 - None, # 2673 - None, # 2674 - None, # 2675 - None, # 2676 - None, # 2677 - None, # 2678 - None, # 2679 - None, # 2680 - None, # 2681 - None, # 2682 - None, # 2683 - None, # 2684 - None, # 2685 - None, # 2686 - None, # 2687 - None, # 2688 - None, # 2689 - None, # 2690 - None, # 2691 - None, # 2692 - None, # 2693 - None, # 2694 - None, # 2695 - None, # 2696 - None, # 2697 - None, # 2698 - None, # 2699 - None, # 2700 - None, # 2701 - None, # 2702 - None, # 2703 - None, # 2704 - None, # 2705 - None, # 2706 - None, # 2707 - None, # 2708 - None, # 2709 - None, # 2710 - None, # 2711 - None, # 2712 - None, # 2713 - None, # 2714 - None, # 2715 - None, # 2716 - None, # 2717 - None, # 2718 - None, # 2719 - None, # 2720 - None, # 2721 - None, # 2722 - None, # 2723 - None, # 2724 - None, # 2725 - None, # 2726 - None, # 2727 - None, # 2728 - None, # 2729 - None, # 2730 - None, # 2731 - None, # 2732 - None, # 2733 - None, # 2734 - None, # 2735 - None, # 2736 - None, # 2737 - None, # 2738 - None, # 2739 - None, # 2740 - None, # 2741 - None, # 2742 - None, # 2743 - None, # 2744 - None, # 2745 - None, # 2746 - None, # 2747 - None, # 2748 - None, # 2749 - None, # 2750 - None, # 2751 - None, # 2752 - None, # 2753 - None, # 2754 - None, # 2755 - None, # 2756 - None, # 2757 - None, # 2758 - None, # 2759 - None, # 2760 - None, # 2761 - None, # 2762 - None, # 2763 - None, # 2764 - None, # 2765 - None, # 2766 - None, # 2767 - None, # 2768 - None, # 2769 - None, # 2770 - None, # 2771 - None, # 2772 - None, # 2773 - None, # 2774 - None, # 2775 - None, # 2776 - None, # 2777 - None, # 2778 - None, # 2779 - None, # 2780 - None, # 2781 - None, # 2782 - None, # 2783 - None, # 2784 - None, # 2785 - None, # 2786 - None, # 2787 - None, # 2788 - None, # 2789 - None, # 2790 - None, # 2791 - None, # 2792 - None, # 2793 - None, # 2794 - None, # 2795 - None, # 2796 - None, # 2797 - None, # 2798 - None, # 2799 - None, # 2800 - None, # 2801 - None, # 2802 - None, # 2803 - None, # 2804 - None, # 2805 - None, # 2806 - None, # 2807 - None, # 2808 - None, # 2809 - None, # 2810 - None, # 2811 - None, # 2812 - None, # 2813 - None, # 2814 - None, # 2815 - None, # 2816 - None, # 2817 - None, # 2818 - None, # 2819 - None, # 2820 - None, # 2821 - None, # 2822 - None, # 2823 - None, # 2824 - None, # 2825 - None, # 2826 - None, # 2827 - None, # 2828 - None, # 2829 - None, # 2830 - None, # 2831 - None, # 2832 - None, # 2833 - None, # 2834 - None, # 2835 - None, # 2836 - None, # 2837 - None, # 2838 - None, # 2839 - None, # 2840 - None, # 2841 - None, # 2842 - None, # 2843 - None, # 2844 - None, # 2845 - None, # 2846 - None, # 2847 - None, # 2848 - None, # 2849 - None, # 2850 - None, # 2851 - None, # 2852 - None, # 2853 - None, # 2854 - None, # 2855 - None, # 2856 - None, # 2857 - None, # 2858 - None, # 2859 - None, # 2860 - None, # 2861 - None, # 2862 - None, # 2863 - None, # 2864 - None, # 2865 - None, # 2866 - None, # 2867 - None, # 2868 - None, # 2869 - None, # 2870 - None, # 2871 - None, # 2872 - None, # 2873 - None, # 2874 - None, # 2875 - None, # 2876 - None, # 2877 - None, # 2878 - None, # 2879 - None, # 2880 - None, # 2881 - None, # 2882 - None, # 2883 - None, # 2884 - None, # 2885 - None, # 2886 - None, # 2887 - None, # 2888 - None, # 2889 - None, # 2890 - None, # 2891 - None, # 2892 - None, # 2893 - None, # 2894 - None, # 2895 - None, # 2896 - None, # 2897 - None, # 2898 - None, # 2899 - None, # 2900 - None, # 2901 - None, # 2902 - None, # 2903 - None, # 2904 - None, # 2905 - None, # 2906 - None, # 2907 - None, # 2908 - None, # 2909 - None, # 2910 - None, # 2911 - None, # 2912 - None, # 2913 - None, # 2914 - None, # 2915 - None, # 2916 - None, # 2917 - None, # 2918 - None, # 2919 - None, # 2920 - None, # 2921 - None, # 2922 - None, # 2923 - None, # 2924 - None, # 2925 - None, # 2926 - None, # 2927 - None, # 2928 - None, # 2929 - None, # 2930 - None, # 2931 - None, # 2932 - None, # 2933 - None, # 2934 - None, # 2935 - None, # 2936 - None, # 2937 - None, # 2938 - None, # 2939 - None, # 2940 - None, # 2941 - None, # 2942 - None, # 2943 - None, # 2944 - None, # 2945 - None, # 2946 - None, # 2947 - None, # 2948 - None, # 2949 - None, # 2950 - None, # 2951 - None, # 2952 - None, # 2953 - None, # 2954 - None, # 2955 - None, # 2956 - None, # 2957 - None, # 2958 - None, # 2959 - None, # 2960 - None, # 2961 - None, # 2962 - None, # 2963 - None, # 2964 - None, # 2965 - None, # 2966 - None, # 2967 - None, # 2968 - None, # 2969 - None, # 2970 - None, # 2971 - None, # 2972 - None, # 2973 - None, # 2974 - None, # 2975 - None, # 2976 - None, # 2977 - None, # 2978 - None, # 2979 - None, # 2980 - None, # 2981 - None, # 2982 - None, # 2983 - None, # 2984 - None, # 2985 - None, # 2986 - None, # 2987 - None, # 2988 - None, # 2989 - None, # 2990 - None, # 2991 - None, # 2992 - None, # 2993 - None, # 2994 - None, # 2995 - None, # 2996 - None, # 2997 - None, # 2998 - None, # 2999 - None, # 3000 - None, # 3001 - None, # 3002 - None, # 3003 - None, # 3004 - None, # 3005 - None, # 3006 - None, # 3007 - None, # 3008 - None, # 3009 - None, # 3010 - None, # 3011 - None, # 3012 - None, # 3013 - None, # 3014 - None, # 3015 - None, # 3016 - None, # 3017 - None, # 3018 - None, # 3019 - None, # 3020 - None, # 3021 - None, # 3022 - None, # 3023 - None, # 3024 - None, # 3025 - None, # 3026 - None, # 3027 - None, # 3028 - None, # 3029 - None, # 3030 - None, # 3031 - None, # 3032 - None, # 3033 - None, # 3034 - None, # 3035 - None, # 3036 - None, # 3037 - None, # 3038 - None, # 3039 - None, # 3040 - None, # 3041 - None, # 3042 - None, # 3043 - None, # 3044 - None, # 3045 - None, # 3046 - None, # 3047 - None, # 3048 - None, # 3049 - None, # 3050 - None, # 3051 - None, # 3052 - None, # 3053 - None, # 3054 - None, # 3055 - None, # 3056 - None, # 3057 - None, # 3058 - None, # 3059 - None, # 3060 - None, # 3061 - None, # 3062 - None, # 3063 - None, # 3064 - None, # 3065 - None, # 3066 - None, # 3067 - None, # 3068 - None, # 3069 - None, # 3070 - None, # 3071 - None, # 3072 - None, # 3073 - None, # 3074 - None, # 3075 - None, # 3076 - None, # 3077 - None, # 3078 - None, # 3079 - None, # 3080 - None, # 3081 - None, # 3082 - None, # 3083 - None, # 3084 - None, # 3085 - None, # 3086 - None, # 3087 - None, # 3088 - None, # 3089 - None, # 3090 - None, # 3091 - None, # 3092 - None, # 3093 - None, # 3094 - None, # 3095 - None, # 3096 - None, # 3097 - None, # 3098 - None, # 3099 - None, # 3100 - None, # 3101 - None, # 3102 - None, # 3103 - None, # 3104 - None, # 3105 - None, # 3106 - None, # 3107 - None, # 3108 - None, # 3109 - None, # 3110 - None, # 3111 - None, # 3112 - None, # 3113 - None, # 3114 - None, # 3115 - None, # 3116 - None, # 3117 - None, # 3118 - None, # 3119 - None, # 3120 - None, # 3121 - None, # 3122 - None, # 3123 - None, # 3124 - None, # 3125 - None, # 3126 - None, # 3127 - None, # 3128 - None, # 3129 - None, # 3130 - None, # 3131 - None, # 3132 - None, # 3133 - None, # 3134 - None, # 3135 - None, # 3136 - None, # 3137 - None, # 3138 - None, # 3139 - None, # 3140 - None, # 3141 - None, # 3142 - None, # 3143 - None, # 3144 - None, # 3145 - None, # 3146 - None, # 3147 - None, # 3148 - None, # 3149 - None, # 3150 - None, # 3151 - None, # 3152 - None, # 3153 - None, # 3154 - None, # 3155 - None, # 3156 - None, # 3157 - None, # 3158 - None, # 3159 - None, # 3160 - None, # 3161 - None, # 3162 - None, # 3163 - None, # 3164 - None, # 3165 - None, # 3166 - None, # 3167 - None, # 3168 - None, # 3169 - None, # 3170 - None, # 3171 - None, # 3172 - None, # 3173 - None, # 3174 - None, # 3175 - None, # 3176 - None, # 3177 - None, # 3178 - None, # 3179 - None, # 3180 - None, # 3181 - None, # 3182 - None, # 3183 - None, # 3184 - None, # 3185 - None, # 3186 - None, # 3187 - None, # 3188 - None, # 3189 - None, # 3190 - None, # 3191 - None, # 3192 - None, # 3193 - None, # 3194 - None, # 3195 - None, # 3196 - None, # 3197 - None, # 3198 - None, # 3199 - None, # 3200 - None, # 3201 - None, # 3202 - None, # 3203 - None, # 3204 - None, # 3205 - None, # 3206 - None, # 3207 - None, # 3208 - None, # 3209 - None, # 3210 - None, # 3211 - None, # 3212 - None, # 3213 - None, # 3214 - None, # 3215 - None, # 3216 - None, # 3217 - None, # 3218 - None, # 3219 - None, # 3220 - None, # 3221 - None, # 3222 - None, # 3223 - None, # 3224 - None, # 3225 - None, # 3226 - None, # 3227 - None, # 3228 - None, # 3229 - None, # 3230 - None, # 3231 - None, # 3232 - None, # 3233 - None, # 3234 - None, # 3235 - None, # 3236 - None, # 3237 - None, # 3238 - None, # 3239 - None, # 3240 - None, # 3241 - None, # 3242 - None, # 3243 - None, # 3244 - None, # 3245 - None, # 3246 - None, # 3247 - None, # 3248 - None, # 3249 - None, # 3250 - None, # 3251 - None, # 3252 - None, # 3253 - None, # 3254 - None, # 3255 - None, # 3256 - None, # 3257 - None, # 3258 - None, # 3259 - None, # 3260 - None, # 3261 - None, # 3262 - None, # 3263 - None, # 3264 - None, # 3265 - None, # 3266 - None, # 3267 - None, # 3268 - None, # 3269 - None, # 3270 - None, # 3271 - None, # 3272 - None, # 3273 - None, # 3274 - None, # 3275 - None, # 3276 - None, # 3277 - None, # 3278 - None, # 3279 - None, # 3280 - None, # 3281 - None, # 3282 - None, # 3283 - None, # 3284 - None, # 3285 - None, # 3286 - None, # 3287 - None, # 3288 - None, # 3289 - None, # 3290 - None, # 3291 - None, # 3292 - None, # 3293 - None, # 3294 - None, # 3295 - None, # 3296 - None, # 3297 - None, # 3298 - None, # 3299 - None, # 3300 - None, # 3301 - None, # 3302 - None, # 3303 - None, # 3304 - None, # 3305 - None, # 3306 - None, # 3307 - None, # 3308 - None, # 3309 - None, # 3310 - None, # 3311 - None, # 3312 - None, # 3313 - None, # 3314 - None, # 3315 - None, # 3316 - None, # 3317 - None, # 3318 - None, # 3319 - None, # 3320 - None, # 3321 - None, # 3322 - None, # 3323 - None, # 3324 - None, # 3325 - None, # 3326 - None, # 3327 - None, # 3328 - (3329, TType.STRUCT, 'operationId', [THandleIdentifier, None], None, ), # 3329 - (3330, TType.STRUCT, 'sessionConf', [TDBSqlSessionConf, None], None, ), # 3330 + None, # 0 + (1, TType.STRUCT, 'sessionHandle', [TSessionHandle, None], None, ), # 1 + (2, TType.STRING, 'parentCatalogName', 'UTF8', None, ), # 2 + (3, TType.STRING, 'parentSchemaName', 'UTF8', None, ), # 3 + (4, TType.STRING, 'parentTableName', 'UTF8', None, ), # 4 + (5, TType.STRING, 'foreignCatalogName', 'UTF8', None, ), # 5 + (6, TType.STRING, 'foreignSchemaName', 'UTF8', None, ), # 6 + (7, TType.STRING, 'foreignTableName', 'UTF8', None, ), # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + (1281, TType.STRUCT, 'getDirectResults', [TSparkGetDirectResults, None], None, ), # 1281 + (1282, TType.BOOL, 'runAsync', None, False, ), # 1282 + None, # 1283 + None, # 1284 + None, # 1285 + None, # 1286 + None, # 1287 + None, # 1288 + None, # 1289 + None, # 1290 + None, # 1291 + None, # 1292 + None, # 1293 + None, # 1294 + None, # 1295 + None, # 1296 + None, # 1297 + None, # 1298 + None, # 1299 + None, # 1300 + None, # 1301 + None, # 1302 + None, # 1303 + None, # 1304 + None, # 1305 + None, # 1306 + None, # 1307 + None, # 1308 + None, # 1309 + None, # 1310 + None, # 1311 + None, # 1312 + None, # 1313 + None, # 1314 + None, # 1315 + None, # 1316 + None, # 1317 + None, # 1318 + None, # 1319 + None, # 1320 + None, # 1321 + None, # 1322 + None, # 1323 + None, # 1324 + None, # 1325 + None, # 1326 + None, # 1327 + None, # 1328 + None, # 1329 + None, # 1330 + None, # 1331 + None, # 1332 + None, # 1333 + None, # 1334 + None, # 1335 + None, # 1336 + None, # 1337 + None, # 1338 + None, # 1339 + None, # 1340 + None, # 1341 + None, # 1342 + None, # 1343 + None, # 1344 + None, # 1345 + None, # 1346 + None, # 1347 + None, # 1348 + None, # 1349 + None, # 1350 + None, # 1351 + None, # 1352 + None, # 1353 + None, # 1354 + None, # 1355 + None, # 1356 + None, # 1357 + None, # 1358 + None, # 1359 + None, # 1360 + None, # 1361 + None, # 1362 + None, # 1363 + None, # 1364 + None, # 1365 + None, # 1366 + None, # 1367 + None, # 1368 + None, # 1369 + None, # 1370 + None, # 1371 + None, # 1372 + None, # 1373 + None, # 1374 + None, # 1375 + None, # 1376 + None, # 1377 + None, # 1378 + None, # 1379 + None, # 1380 + None, # 1381 + None, # 1382 + None, # 1383 + None, # 1384 + None, # 1385 + None, # 1386 + None, # 1387 + None, # 1388 + None, # 1389 + None, # 1390 + None, # 1391 + None, # 1392 + None, # 1393 + None, # 1394 + None, # 1395 + None, # 1396 + None, # 1397 + None, # 1398 + None, # 1399 + None, # 1400 + None, # 1401 + None, # 1402 + None, # 1403 + None, # 1404 + None, # 1405 + None, # 1406 + None, # 1407 + None, # 1408 + None, # 1409 + None, # 1410 + None, # 1411 + None, # 1412 + None, # 1413 + None, # 1414 + None, # 1415 + None, # 1416 + None, # 1417 + None, # 1418 + None, # 1419 + None, # 1420 + None, # 1421 + None, # 1422 + None, # 1423 + None, # 1424 + None, # 1425 + None, # 1426 + None, # 1427 + None, # 1428 + None, # 1429 + None, # 1430 + None, # 1431 + None, # 1432 + None, # 1433 + None, # 1434 + None, # 1435 + None, # 1436 + None, # 1437 + None, # 1438 + None, # 1439 + None, # 1440 + None, # 1441 + None, # 1442 + None, # 1443 + None, # 1444 + None, # 1445 + None, # 1446 + None, # 1447 + None, # 1448 + None, # 1449 + None, # 1450 + None, # 1451 + None, # 1452 + None, # 1453 + None, # 1454 + None, # 1455 + None, # 1456 + None, # 1457 + None, # 1458 + None, # 1459 + None, # 1460 + None, # 1461 + None, # 1462 + None, # 1463 + None, # 1464 + None, # 1465 + None, # 1466 + None, # 1467 + None, # 1468 + None, # 1469 + None, # 1470 + None, # 1471 + None, # 1472 + None, # 1473 + None, # 1474 + None, # 1475 + None, # 1476 + None, # 1477 + None, # 1478 + None, # 1479 + None, # 1480 + None, # 1481 + None, # 1482 + None, # 1483 + None, # 1484 + None, # 1485 + None, # 1486 + None, # 1487 + None, # 1488 + None, # 1489 + None, # 1490 + None, # 1491 + None, # 1492 + None, # 1493 + None, # 1494 + None, # 1495 + None, # 1496 + None, # 1497 + None, # 1498 + None, # 1499 + None, # 1500 + None, # 1501 + None, # 1502 + None, # 1503 + None, # 1504 + None, # 1505 + None, # 1506 + None, # 1507 + None, # 1508 + None, # 1509 + None, # 1510 + None, # 1511 + None, # 1512 + None, # 1513 + None, # 1514 + None, # 1515 + None, # 1516 + None, # 1517 + None, # 1518 + None, # 1519 + None, # 1520 + None, # 1521 + None, # 1522 + None, # 1523 + None, # 1524 + None, # 1525 + None, # 1526 + None, # 1527 + None, # 1528 + None, # 1529 + None, # 1530 + None, # 1531 + None, # 1532 + None, # 1533 + None, # 1534 + None, # 1535 + None, # 1536 + None, # 1537 + None, # 1538 + None, # 1539 + None, # 1540 + None, # 1541 + None, # 1542 + None, # 1543 + None, # 1544 + None, # 1545 + None, # 1546 + None, # 1547 + None, # 1548 + None, # 1549 + None, # 1550 + None, # 1551 + None, # 1552 + None, # 1553 + None, # 1554 + None, # 1555 + None, # 1556 + None, # 1557 + None, # 1558 + None, # 1559 + None, # 1560 + None, # 1561 + None, # 1562 + None, # 1563 + None, # 1564 + None, # 1565 + None, # 1566 + None, # 1567 + None, # 1568 + None, # 1569 + None, # 1570 + None, # 1571 + None, # 1572 + None, # 1573 + None, # 1574 + None, # 1575 + None, # 1576 + None, # 1577 + None, # 1578 + None, # 1579 + None, # 1580 + None, # 1581 + None, # 1582 + None, # 1583 + None, # 1584 + None, # 1585 + None, # 1586 + None, # 1587 + None, # 1588 + None, # 1589 + None, # 1590 + None, # 1591 + None, # 1592 + None, # 1593 + None, # 1594 + None, # 1595 + None, # 1596 + None, # 1597 + None, # 1598 + None, # 1599 + None, # 1600 + None, # 1601 + None, # 1602 + None, # 1603 + None, # 1604 + None, # 1605 + None, # 1606 + None, # 1607 + None, # 1608 + None, # 1609 + None, # 1610 + None, # 1611 + None, # 1612 + None, # 1613 + None, # 1614 + None, # 1615 + None, # 1616 + None, # 1617 + None, # 1618 + None, # 1619 + None, # 1620 + None, # 1621 + None, # 1622 + None, # 1623 + None, # 1624 + None, # 1625 + None, # 1626 + None, # 1627 + None, # 1628 + None, # 1629 + None, # 1630 + None, # 1631 + None, # 1632 + None, # 1633 + None, # 1634 + None, # 1635 + None, # 1636 + None, # 1637 + None, # 1638 + None, # 1639 + None, # 1640 + None, # 1641 + None, # 1642 + None, # 1643 + None, # 1644 + None, # 1645 + None, # 1646 + None, # 1647 + None, # 1648 + None, # 1649 + None, # 1650 + None, # 1651 + None, # 1652 + None, # 1653 + None, # 1654 + None, # 1655 + None, # 1656 + None, # 1657 + None, # 1658 + None, # 1659 + None, # 1660 + None, # 1661 + None, # 1662 + None, # 1663 + None, # 1664 + None, # 1665 + None, # 1666 + None, # 1667 + None, # 1668 + None, # 1669 + None, # 1670 + None, # 1671 + None, # 1672 + None, # 1673 + None, # 1674 + None, # 1675 + None, # 1676 + None, # 1677 + None, # 1678 + None, # 1679 + None, # 1680 + None, # 1681 + None, # 1682 + None, # 1683 + None, # 1684 + None, # 1685 + None, # 1686 + None, # 1687 + None, # 1688 + None, # 1689 + None, # 1690 + None, # 1691 + None, # 1692 + None, # 1693 + None, # 1694 + None, # 1695 + None, # 1696 + None, # 1697 + None, # 1698 + None, # 1699 + None, # 1700 + None, # 1701 + None, # 1702 + None, # 1703 + None, # 1704 + None, # 1705 + None, # 1706 + None, # 1707 + None, # 1708 + None, # 1709 + None, # 1710 + None, # 1711 + None, # 1712 + None, # 1713 + None, # 1714 + None, # 1715 + None, # 1716 + None, # 1717 + None, # 1718 + None, # 1719 + None, # 1720 + None, # 1721 + None, # 1722 + None, # 1723 + None, # 1724 + None, # 1725 + None, # 1726 + None, # 1727 + None, # 1728 + None, # 1729 + None, # 1730 + None, # 1731 + None, # 1732 + None, # 1733 + None, # 1734 + None, # 1735 + None, # 1736 + None, # 1737 + None, # 1738 + None, # 1739 + None, # 1740 + None, # 1741 + None, # 1742 + None, # 1743 + None, # 1744 + None, # 1745 + None, # 1746 + None, # 1747 + None, # 1748 + None, # 1749 + None, # 1750 + None, # 1751 + None, # 1752 + None, # 1753 + None, # 1754 + None, # 1755 + None, # 1756 + None, # 1757 + None, # 1758 + None, # 1759 + None, # 1760 + None, # 1761 + None, # 1762 + None, # 1763 + None, # 1764 + None, # 1765 + None, # 1766 + None, # 1767 + None, # 1768 + None, # 1769 + None, # 1770 + None, # 1771 + None, # 1772 + None, # 1773 + None, # 1774 + None, # 1775 + None, # 1776 + None, # 1777 + None, # 1778 + None, # 1779 + None, # 1780 + None, # 1781 + None, # 1782 + None, # 1783 + None, # 1784 + None, # 1785 + None, # 1786 + None, # 1787 + None, # 1788 + None, # 1789 + None, # 1790 + None, # 1791 + None, # 1792 + None, # 1793 + None, # 1794 + None, # 1795 + None, # 1796 + None, # 1797 + None, # 1798 + None, # 1799 + None, # 1800 + None, # 1801 + None, # 1802 + None, # 1803 + None, # 1804 + None, # 1805 + None, # 1806 + None, # 1807 + None, # 1808 + None, # 1809 + None, # 1810 + None, # 1811 + None, # 1812 + None, # 1813 + None, # 1814 + None, # 1815 + None, # 1816 + None, # 1817 + None, # 1818 + None, # 1819 + None, # 1820 + None, # 1821 + None, # 1822 + None, # 1823 + None, # 1824 + None, # 1825 + None, # 1826 + None, # 1827 + None, # 1828 + None, # 1829 + None, # 1830 + None, # 1831 + None, # 1832 + None, # 1833 + None, # 1834 + None, # 1835 + None, # 1836 + None, # 1837 + None, # 1838 + None, # 1839 + None, # 1840 + None, # 1841 + None, # 1842 + None, # 1843 + None, # 1844 + None, # 1845 + None, # 1846 + None, # 1847 + None, # 1848 + None, # 1849 + None, # 1850 + None, # 1851 + None, # 1852 + None, # 1853 + None, # 1854 + None, # 1855 + None, # 1856 + None, # 1857 + None, # 1858 + None, # 1859 + None, # 1860 + None, # 1861 + None, # 1862 + None, # 1863 + None, # 1864 + None, # 1865 + None, # 1866 + None, # 1867 + None, # 1868 + None, # 1869 + None, # 1870 + None, # 1871 + None, # 1872 + None, # 1873 + None, # 1874 + None, # 1875 + None, # 1876 + None, # 1877 + None, # 1878 + None, # 1879 + None, # 1880 + None, # 1881 + None, # 1882 + None, # 1883 + None, # 1884 + None, # 1885 + None, # 1886 + None, # 1887 + None, # 1888 + None, # 1889 + None, # 1890 + None, # 1891 + None, # 1892 + None, # 1893 + None, # 1894 + None, # 1895 + None, # 1896 + None, # 1897 + None, # 1898 + None, # 1899 + None, # 1900 + None, # 1901 + None, # 1902 + None, # 1903 + None, # 1904 + None, # 1905 + None, # 1906 + None, # 1907 + None, # 1908 + None, # 1909 + None, # 1910 + None, # 1911 + None, # 1912 + None, # 1913 + None, # 1914 + None, # 1915 + None, # 1916 + None, # 1917 + None, # 1918 + None, # 1919 + None, # 1920 + None, # 1921 + None, # 1922 + None, # 1923 + None, # 1924 + None, # 1925 + None, # 1926 + None, # 1927 + None, # 1928 + None, # 1929 + None, # 1930 + None, # 1931 + None, # 1932 + None, # 1933 + None, # 1934 + None, # 1935 + None, # 1936 + None, # 1937 + None, # 1938 + None, # 1939 + None, # 1940 + None, # 1941 + None, # 1942 + None, # 1943 + None, # 1944 + None, # 1945 + None, # 1946 + None, # 1947 + None, # 1948 + None, # 1949 + None, # 1950 + None, # 1951 + None, # 1952 + None, # 1953 + None, # 1954 + None, # 1955 + None, # 1956 + None, # 1957 + None, # 1958 + None, # 1959 + None, # 1960 + None, # 1961 + None, # 1962 + None, # 1963 + None, # 1964 + None, # 1965 + None, # 1966 + None, # 1967 + None, # 1968 + None, # 1969 + None, # 1970 + None, # 1971 + None, # 1972 + None, # 1973 + None, # 1974 + None, # 1975 + None, # 1976 + None, # 1977 + None, # 1978 + None, # 1979 + None, # 1980 + None, # 1981 + None, # 1982 + None, # 1983 + None, # 1984 + None, # 1985 + None, # 1986 + None, # 1987 + None, # 1988 + None, # 1989 + None, # 1990 + None, # 1991 + None, # 1992 + None, # 1993 + None, # 1994 + None, # 1995 + None, # 1996 + None, # 1997 + None, # 1998 + None, # 1999 + None, # 2000 + None, # 2001 + None, # 2002 + None, # 2003 + None, # 2004 + None, # 2005 + None, # 2006 + None, # 2007 + None, # 2008 + None, # 2009 + None, # 2010 + None, # 2011 + None, # 2012 + None, # 2013 + None, # 2014 + None, # 2015 + None, # 2016 + None, # 2017 + None, # 2018 + None, # 2019 + None, # 2020 + None, # 2021 + None, # 2022 + None, # 2023 + None, # 2024 + None, # 2025 + None, # 2026 + None, # 2027 + None, # 2028 + None, # 2029 + None, # 2030 + None, # 2031 + None, # 2032 + None, # 2033 + None, # 2034 + None, # 2035 + None, # 2036 + None, # 2037 + None, # 2038 + None, # 2039 + None, # 2040 + None, # 2041 + None, # 2042 + None, # 2043 + None, # 2044 + None, # 2045 + None, # 2046 + None, # 2047 + None, # 2048 + None, # 2049 + None, # 2050 + None, # 2051 + None, # 2052 + None, # 2053 + None, # 2054 + None, # 2055 + None, # 2056 + None, # 2057 + None, # 2058 + None, # 2059 + None, # 2060 + None, # 2061 + None, # 2062 + None, # 2063 + None, # 2064 + None, # 2065 + None, # 2066 + None, # 2067 + None, # 2068 + None, # 2069 + None, # 2070 + None, # 2071 + None, # 2072 + None, # 2073 + None, # 2074 + None, # 2075 + None, # 2076 + None, # 2077 + None, # 2078 + None, # 2079 + None, # 2080 + None, # 2081 + None, # 2082 + None, # 2083 + None, # 2084 + None, # 2085 + None, # 2086 + None, # 2087 + None, # 2088 + None, # 2089 + None, # 2090 + None, # 2091 + None, # 2092 + None, # 2093 + None, # 2094 + None, # 2095 + None, # 2096 + None, # 2097 + None, # 2098 + None, # 2099 + None, # 2100 + None, # 2101 + None, # 2102 + None, # 2103 + None, # 2104 + None, # 2105 + None, # 2106 + None, # 2107 + None, # 2108 + None, # 2109 + None, # 2110 + None, # 2111 + None, # 2112 + None, # 2113 + None, # 2114 + None, # 2115 + None, # 2116 + None, # 2117 + None, # 2118 + None, # 2119 + None, # 2120 + None, # 2121 + None, # 2122 + None, # 2123 + None, # 2124 + None, # 2125 + None, # 2126 + None, # 2127 + None, # 2128 + None, # 2129 + None, # 2130 + None, # 2131 + None, # 2132 + None, # 2133 + None, # 2134 + None, # 2135 + None, # 2136 + None, # 2137 + None, # 2138 + None, # 2139 + None, # 2140 + None, # 2141 + None, # 2142 + None, # 2143 + None, # 2144 + None, # 2145 + None, # 2146 + None, # 2147 + None, # 2148 + None, # 2149 + None, # 2150 + None, # 2151 + None, # 2152 + None, # 2153 + None, # 2154 + None, # 2155 + None, # 2156 + None, # 2157 + None, # 2158 + None, # 2159 + None, # 2160 + None, # 2161 + None, # 2162 + None, # 2163 + None, # 2164 + None, # 2165 + None, # 2166 + None, # 2167 + None, # 2168 + None, # 2169 + None, # 2170 + None, # 2171 + None, # 2172 + None, # 2173 + None, # 2174 + None, # 2175 + None, # 2176 + None, # 2177 + None, # 2178 + None, # 2179 + None, # 2180 + None, # 2181 + None, # 2182 + None, # 2183 + None, # 2184 + None, # 2185 + None, # 2186 + None, # 2187 + None, # 2188 + None, # 2189 + None, # 2190 + None, # 2191 + None, # 2192 + None, # 2193 + None, # 2194 + None, # 2195 + None, # 2196 + None, # 2197 + None, # 2198 + None, # 2199 + None, # 2200 + None, # 2201 + None, # 2202 + None, # 2203 + None, # 2204 + None, # 2205 + None, # 2206 + None, # 2207 + None, # 2208 + None, # 2209 + None, # 2210 + None, # 2211 + None, # 2212 + None, # 2213 + None, # 2214 + None, # 2215 + None, # 2216 + None, # 2217 + None, # 2218 + None, # 2219 + None, # 2220 + None, # 2221 + None, # 2222 + None, # 2223 + None, # 2224 + None, # 2225 + None, # 2226 + None, # 2227 + None, # 2228 + None, # 2229 + None, # 2230 + None, # 2231 + None, # 2232 + None, # 2233 + None, # 2234 + None, # 2235 + None, # 2236 + None, # 2237 + None, # 2238 + None, # 2239 + None, # 2240 + None, # 2241 + None, # 2242 + None, # 2243 + None, # 2244 + None, # 2245 + None, # 2246 + None, # 2247 + None, # 2248 + None, # 2249 + None, # 2250 + None, # 2251 + None, # 2252 + None, # 2253 + None, # 2254 + None, # 2255 + None, # 2256 + None, # 2257 + None, # 2258 + None, # 2259 + None, # 2260 + None, # 2261 + None, # 2262 + None, # 2263 + None, # 2264 + None, # 2265 + None, # 2266 + None, # 2267 + None, # 2268 + None, # 2269 + None, # 2270 + None, # 2271 + None, # 2272 + None, # 2273 + None, # 2274 + None, # 2275 + None, # 2276 + None, # 2277 + None, # 2278 + None, # 2279 + None, # 2280 + None, # 2281 + None, # 2282 + None, # 2283 + None, # 2284 + None, # 2285 + None, # 2286 + None, # 2287 + None, # 2288 + None, # 2289 + None, # 2290 + None, # 2291 + None, # 2292 + None, # 2293 + None, # 2294 + None, # 2295 + None, # 2296 + None, # 2297 + None, # 2298 + None, # 2299 + None, # 2300 + None, # 2301 + None, # 2302 + None, # 2303 + None, # 2304 + None, # 2305 + None, # 2306 + None, # 2307 + None, # 2308 + None, # 2309 + None, # 2310 + None, # 2311 + None, # 2312 + None, # 2313 + None, # 2314 + None, # 2315 + None, # 2316 + None, # 2317 + None, # 2318 + None, # 2319 + None, # 2320 + None, # 2321 + None, # 2322 + None, # 2323 + None, # 2324 + None, # 2325 + None, # 2326 + None, # 2327 + None, # 2328 + None, # 2329 + None, # 2330 + None, # 2331 + None, # 2332 + None, # 2333 + None, # 2334 + None, # 2335 + None, # 2336 + None, # 2337 + None, # 2338 + None, # 2339 + None, # 2340 + None, # 2341 + None, # 2342 + None, # 2343 + None, # 2344 + None, # 2345 + None, # 2346 + None, # 2347 + None, # 2348 + None, # 2349 + None, # 2350 + None, # 2351 + None, # 2352 + None, # 2353 + None, # 2354 + None, # 2355 + None, # 2356 + None, # 2357 + None, # 2358 + None, # 2359 + None, # 2360 + None, # 2361 + None, # 2362 + None, # 2363 + None, # 2364 + None, # 2365 + None, # 2366 + None, # 2367 + None, # 2368 + None, # 2369 + None, # 2370 + None, # 2371 + None, # 2372 + None, # 2373 + None, # 2374 + None, # 2375 + None, # 2376 + None, # 2377 + None, # 2378 + None, # 2379 + None, # 2380 + None, # 2381 + None, # 2382 + None, # 2383 + None, # 2384 + None, # 2385 + None, # 2386 + None, # 2387 + None, # 2388 + None, # 2389 + None, # 2390 + None, # 2391 + None, # 2392 + None, # 2393 + None, # 2394 + None, # 2395 + None, # 2396 + None, # 2397 + None, # 2398 + None, # 2399 + None, # 2400 + None, # 2401 + None, # 2402 + None, # 2403 + None, # 2404 + None, # 2405 + None, # 2406 + None, # 2407 + None, # 2408 + None, # 2409 + None, # 2410 + None, # 2411 + None, # 2412 + None, # 2413 + None, # 2414 + None, # 2415 + None, # 2416 + None, # 2417 + None, # 2418 + None, # 2419 + None, # 2420 + None, # 2421 + None, # 2422 + None, # 2423 + None, # 2424 + None, # 2425 + None, # 2426 + None, # 2427 + None, # 2428 + None, # 2429 + None, # 2430 + None, # 2431 + None, # 2432 + None, # 2433 + None, # 2434 + None, # 2435 + None, # 2436 + None, # 2437 + None, # 2438 + None, # 2439 + None, # 2440 + None, # 2441 + None, # 2442 + None, # 2443 + None, # 2444 + None, # 2445 + None, # 2446 + None, # 2447 + None, # 2448 + None, # 2449 + None, # 2450 + None, # 2451 + None, # 2452 + None, # 2453 + None, # 2454 + None, # 2455 + None, # 2456 + None, # 2457 + None, # 2458 + None, # 2459 + None, # 2460 + None, # 2461 + None, # 2462 + None, # 2463 + None, # 2464 + None, # 2465 + None, # 2466 + None, # 2467 + None, # 2468 + None, # 2469 + None, # 2470 + None, # 2471 + None, # 2472 + None, # 2473 + None, # 2474 + None, # 2475 + None, # 2476 + None, # 2477 + None, # 2478 + None, # 2479 + None, # 2480 + None, # 2481 + None, # 2482 + None, # 2483 + None, # 2484 + None, # 2485 + None, # 2486 + None, # 2487 + None, # 2488 + None, # 2489 + None, # 2490 + None, # 2491 + None, # 2492 + None, # 2493 + None, # 2494 + None, # 2495 + None, # 2496 + None, # 2497 + None, # 2498 + None, # 2499 + None, # 2500 + None, # 2501 + None, # 2502 + None, # 2503 + None, # 2504 + None, # 2505 + None, # 2506 + None, # 2507 + None, # 2508 + None, # 2509 + None, # 2510 + None, # 2511 + None, # 2512 + None, # 2513 + None, # 2514 + None, # 2515 + None, # 2516 + None, # 2517 + None, # 2518 + None, # 2519 + None, # 2520 + None, # 2521 + None, # 2522 + None, # 2523 + None, # 2524 + None, # 2525 + None, # 2526 + None, # 2527 + None, # 2528 + None, # 2529 + None, # 2530 + None, # 2531 + None, # 2532 + None, # 2533 + None, # 2534 + None, # 2535 + None, # 2536 + None, # 2537 + None, # 2538 + None, # 2539 + None, # 2540 + None, # 2541 + None, # 2542 + None, # 2543 + None, # 2544 + None, # 2545 + None, # 2546 + None, # 2547 + None, # 2548 + None, # 2549 + None, # 2550 + None, # 2551 + None, # 2552 + None, # 2553 + None, # 2554 + None, # 2555 + None, # 2556 + None, # 2557 + None, # 2558 + None, # 2559 + None, # 2560 + None, # 2561 + None, # 2562 + None, # 2563 + None, # 2564 + None, # 2565 + None, # 2566 + None, # 2567 + None, # 2568 + None, # 2569 + None, # 2570 + None, # 2571 + None, # 2572 + None, # 2573 + None, # 2574 + None, # 2575 + None, # 2576 + None, # 2577 + None, # 2578 + None, # 2579 + None, # 2580 + None, # 2581 + None, # 2582 + None, # 2583 + None, # 2584 + None, # 2585 + None, # 2586 + None, # 2587 + None, # 2588 + None, # 2589 + None, # 2590 + None, # 2591 + None, # 2592 + None, # 2593 + None, # 2594 + None, # 2595 + None, # 2596 + None, # 2597 + None, # 2598 + None, # 2599 + None, # 2600 + None, # 2601 + None, # 2602 + None, # 2603 + None, # 2604 + None, # 2605 + None, # 2606 + None, # 2607 + None, # 2608 + None, # 2609 + None, # 2610 + None, # 2611 + None, # 2612 + None, # 2613 + None, # 2614 + None, # 2615 + None, # 2616 + None, # 2617 + None, # 2618 + None, # 2619 + None, # 2620 + None, # 2621 + None, # 2622 + None, # 2623 + None, # 2624 + None, # 2625 + None, # 2626 + None, # 2627 + None, # 2628 + None, # 2629 + None, # 2630 + None, # 2631 + None, # 2632 + None, # 2633 + None, # 2634 + None, # 2635 + None, # 2636 + None, # 2637 + None, # 2638 + None, # 2639 + None, # 2640 + None, # 2641 + None, # 2642 + None, # 2643 + None, # 2644 + None, # 2645 + None, # 2646 + None, # 2647 + None, # 2648 + None, # 2649 + None, # 2650 + None, # 2651 + None, # 2652 + None, # 2653 + None, # 2654 + None, # 2655 + None, # 2656 + None, # 2657 + None, # 2658 + None, # 2659 + None, # 2660 + None, # 2661 + None, # 2662 + None, # 2663 + None, # 2664 + None, # 2665 + None, # 2666 + None, # 2667 + None, # 2668 + None, # 2669 + None, # 2670 + None, # 2671 + None, # 2672 + None, # 2673 + None, # 2674 + None, # 2675 + None, # 2676 + None, # 2677 + None, # 2678 + None, # 2679 + None, # 2680 + None, # 2681 + None, # 2682 + None, # 2683 + None, # 2684 + None, # 2685 + None, # 2686 + None, # 2687 + None, # 2688 + None, # 2689 + None, # 2690 + None, # 2691 + None, # 2692 + None, # 2693 + None, # 2694 + None, # 2695 + None, # 2696 + None, # 2697 + None, # 2698 + None, # 2699 + None, # 2700 + None, # 2701 + None, # 2702 + None, # 2703 + None, # 2704 + None, # 2705 + None, # 2706 + None, # 2707 + None, # 2708 + None, # 2709 + None, # 2710 + None, # 2711 + None, # 2712 + None, # 2713 + None, # 2714 + None, # 2715 + None, # 2716 + None, # 2717 + None, # 2718 + None, # 2719 + None, # 2720 + None, # 2721 + None, # 2722 + None, # 2723 + None, # 2724 + None, # 2725 + None, # 2726 + None, # 2727 + None, # 2728 + None, # 2729 + None, # 2730 + None, # 2731 + None, # 2732 + None, # 2733 + None, # 2734 + None, # 2735 + None, # 2736 + None, # 2737 + None, # 2738 + None, # 2739 + None, # 2740 + None, # 2741 + None, # 2742 + None, # 2743 + None, # 2744 + None, # 2745 + None, # 2746 + None, # 2747 + None, # 2748 + None, # 2749 + None, # 2750 + None, # 2751 + None, # 2752 + None, # 2753 + None, # 2754 + None, # 2755 + None, # 2756 + None, # 2757 + None, # 2758 + None, # 2759 + None, # 2760 + None, # 2761 + None, # 2762 + None, # 2763 + None, # 2764 + None, # 2765 + None, # 2766 + None, # 2767 + None, # 2768 + None, # 2769 + None, # 2770 + None, # 2771 + None, # 2772 + None, # 2773 + None, # 2774 + None, # 2775 + None, # 2776 + None, # 2777 + None, # 2778 + None, # 2779 + None, # 2780 + None, # 2781 + None, # 2782 + None, # 2783 + None, # 2784 + None, # 2785 + None, # 2786 + None, # 2787 + None, # 2788 + None, # 2789 + None, # 2790 + None, # 2791 + None, # 2792 + None, # 2793 + None, # 2794 + None, # 2795 + None, # 2796 + None, # 2797 + None, # 2798 + None, # 2799 + None, # 2800 + None, # 2801 + None, # 2802 + None, # 2803 + None, # 2804 + None, # 2805 + None, # 2806 + None, # 2807 + None, # 2808 + None, # 2809 + None, # 2810 + None, # 2811 + None, # 2812 + None, # 2813 + None, # 2814 + None, # 2815 + None, # 2816 + None, # 2817 + None, # 2818 + None, # 2819 + None, # 2820 + None, # 2821 + None, # 2822 + None, # 2823 + None, # 2824 + None, # 2825 + None, # 2826 + None, # 2827 + None, # 2828 + None, # 2829 + None, # 2830 + None, # 2831 + None, # 2832 + None, # 2833 + None, # 2834 + None, # 2835 + None, # 2836 + None, # 2837 + None, # 2838 + None, # 2839 + None, # 2840 + None, # 2841 + None, # 2842 + None, # 2843 + None, # 2844 + None, # 2845 + None, # 2846 + None, # 2847 + None, # 2848 + None, # 2849 + None, # 2850 + None, # 2851 + None, # 2852 + None, # 2853 + None, # 2854 + None, # 2855 + None, # 2856 + None, # 2857 + None, # 2858 + None, # 2859 + None, # 2860 + None, # 2861 + None, # 2862 + None, # 2863 + None, # 2864 + None, # 2865 + None, # 2866 + None, # 2867 + None, # 2868 + None, # 2869 + None, # 2870 + None, # 2871 + None, # 2872 + None, # 2873 + None, # 2874 + None, # 2875 + None, # 2876 + None, # 2877 + None, # 2878 + None, # 2879 + None, # 2880 + None, # 2881 + None, # 2882 + None, # 2883 + None, # 2884 + None, # 2885 + None, # 2886 + None, # 2887 + None, # 2888 + None, # 2889 + None, # 2890 + None, # 2891 + None, # 2892 + None, # 2893 + None, # 2894 + None, # 2895 + None, # 2896 + None, # 2897 + None, # 2898 + None, # 2899 + None, # 2900 + None, # 2901 + None, # 2902 + None, # 2903 + None, # 2904 + None, # 2905 + None, # 2906 + None, # 2907 + None, # 2908 + None, # 2909 + None, # 2910 + None, # 2911 + None, # 2912 + None, # 2913 + None, # 2914 + None, # 2915 + None, # 2916 + None, # 2917 + None, # 2918 + None, # 2919 + None, # 2920 + None, # 2921 + None, # 2922 + None, # 2923 + None, # 2924 + None, # 2925 + None, # 2926 + None, # 2927 + None, # 2928 + None, # 2929 + None, # 2930 + None, # 2931 + None, # 2932 + None, # 2933 + None, # 2934 + None, # 2935 + None, # 2936 + None, # 2937 + None, # 2938 + None, # 2939 + None, # 2940 + None, # 2941 + None, # 2942 + None, # 2943 + None, # 2944 + None, # 2945 + None, # 2946 + None, # 2947 + None, # 2948 + None, # 2949 + None, # 2950 + None, # 2951 + None, # 2952 + None, # 2953 + None, # 2954 + None, # 2955 + None, # 2956 + None, # 2957 + None, # 2958 + None, # 2959 + None, # 2960 + None, # 2961 + None, # 2962 + None, # 2963 + None, # 2964 + None, # 2965 + None, # 2966 + None, # 2967 + None, # 2968 + None, # 2969 + None, # 2970 + None, # 2971 + None, # 2972 + None, # 2973 + None, # 2974 + None, # 2975 + None, # 2976 + None, # 2977 + None, # 2978 + None, # 2979 + None, # 2980 + None, # 2981 + None, # 2982 + None, # 2983 + None, # 2984 + None, # 2985 + None, # 2986 + None, # 2987 + None, # 2988 + None, # 2989 + None, # 2990 + None, # 2991 + None, # 2992 + None, # 2993 + None, # 2994 + None, # 2995 + None, # 2996 + None, # 2997 + None, # 2998 + None, # 2999 + None, # 3000 + None, # 3001 + None, # 3002 + None, # 3003 + None, # 3004 + None, # 3005 + None, # 3006 + None, # 3007 + None, # 3008 + None, # 3009 + None, # 3010 + None, # 3011 + None, # 3012 + None, # 3013 + None, # 3014 + None, # 3015 + None, # 3016 + None, # 3017 + None, # 3018 + None, # 3019 + None, # 3020 + None, # 3021 + None, # 3022 + None, # 3023 + None, # 3024 + None, # 3025 + None, # 3026 + None, # 3027 + None, # 3028 + None, # 3029 + None, # 3030 + None, # 3031 + None, # 3032 + None, # 3033 + None, # 3034 + None, # 3035 + None, # 3036 + None, # 3037 + None, # 3038 + None, # 3039 + None, # 3040 + None, # 3041 + None, # 3042 + None, # 3043 + None, # 3044 + None, # 3045 + None, # 3046 + None, # 3047 + None, # 3048 + None, # 3049 + None, # 3050 + None, # 3051 + None, # 3052 + None, # 3053 + None, # 3054 + None, # 3055 + None, # 3056 + None, # 3057 + None, # 3058 + None, # 3059 + None, # 3060 + None, # 3061 + None, # 3062 + None, # 3063 + None, # 3064 + None, # 3065 + None, # 3066 + None, # 3067 + None, # 3068 + None, # 3069 + None, # 3070 + None, # 3071 + None, # 3072 + None, # 3073 + None, # 3074 + None, # 3075 + None, # 3076 + None, # 3077 + None, # 3078 + None, # 3079 + None, # 3080 + None, # 3081 + None, # 3082 + None, # 3083 + None, # 3084 + None, # 3085 + None, # 3086 + None, # 3087 + None, # 3088 + None, # 3089 + None, # 3090 + None, # 3091 + None, # 3092 + None, # 3093 + None, # 3094 + None, # 3095 + None, # 3096 + None, # 3097 + None, # 3098 + None, # 3099 + None, # 3100 + None, # 3101 + None, # 3102 + None, # 3103 + None, # 3104 + None, # 3105 + None, # 3106 + None, # 3107 + None, # 3108 + None, # 3109 + None, # 3110 + None, # 3111 + None, # 3112 + None, # 3113 + None, # 3114 + None, # 3115 + None, # 3116 + None, # 3117 + None, # 3118 + None, # 3119 + None, # 3120 + None, # 3121 + None, # 3122 + None, # 3123 + None, # 3124 + None, # 3125 + None, # 3126 + None, # 3127 + None, # 3128 + None, # 3129 + None, # 3130 + None, # 3131 + None, # 3132 + None, # 3133 + None, # 3134 + None, # 3135 + None, # 3136 + None, # 3137 + None, # 3138 + None, # 3139 + None, # 3140 + None, # 3141 + None, # 3142 + None, # 3143 + None, # 3144 + None, # 3145 + None, # 3146 + None, # 3147 + None, # 3148 + None, # 3149 + None, # 3150 + None, # 3151 + None, # 3152 + None, # 3153 + None, # 3154 + None, # 3155 + None, # 3156 + None, # 3157 + None, # 3158 + None, # 3159 + None, # 3160 + None, # 3161 + None, # 3162 + None, # 3163 + None, # 3164 + None, # 3165 + None, # 3166 + None, # 3167 + None, # 3168 + None, # 3169 + None, # 3170 + None, # 3171 + None, # 3172 + None, # 3173 + None, # 3174 + None, # 3175 + None, # 3176 + None, # 3177 + None, # 3178 + None, # 3179 + None, # 3180 + None, # 3181 + None, # 3182 + None, # 3183 + None, # 3184 + None, # 3185 + None, # 3186 + None, # 3187 + None, # 3188 + None, # 3189 + None, # 3190 + None, # 3191 + None, # 3192 + None, # 3193 + None, # 3194 + None, # 3195 + None, # 3196 + None, # 3197 + None, # 3198 + None, # 3199 + None, # 3200 + None, # 3201 + None, # 3202 + None, # 3203 + None, # 3204 + None, # 3205 + None, # 3206 + None, # 3207 + None, # 3208 + None, # 3209 + None, # 3210 + None, # 3211 + None, # 3212 + None, # 3213 + None, # 3214 + None, # 3215 + None, # 3216 + None, # 3217 + None, # 3218 + None, # 3219 + None, # 3220 + None, # 3221 + None, # 3222 + None, # 3223 + None, # 3224 + None, # 3225 + None, # 3226 + None, # 3227 + None, # 3228 + None, # 3229 + None, # 3230 + None, # 3231 + None, # 3232 + None, # 3233 + None, # 3234 + None, # 3235 + None, # 3236 + None, # 3237 + None, # 3238 + None, # 3239 + None, # 3240 + None, # 3241 + None, # 3242 + None, # 3243 + None, # 3244 + None, # 3245 + None, # 3246 + None, # 3247 + None, # 3248 + None, # 3249 + None, # 3250 + None, # 3251 + None, # 3252 + None, # 3253 + None, # 3254 + None, # 3255 + None, # 3256 + None, # 3257 + None, # 3258 + None, # 3259 + None, # 3260 + None, # 3261 + None, # 3262 + None, # 3263 + None, # 3264 + None, # 3265 + None, # 3266 + None, # 3267 + None, # 3268 + None, # 3269 + None, # 3270 + None, # 3271 + None, # 3272 + None, # 3273 + None, # 3274 + None, # 3275 + None, # 3276 + None, # 3277 + None, # 3278 + None, # 3279 + None, # 3280 + None, # 3281 + None, # 3282 + None, # 3283 + None, # 3284 + None, # 3285 + None, # 3286 + None, # 3287 + None, # 3288 + None, # 3289 + None, # 3290 + None, # 3291 + None, # 3292 + None, # 3293 + None, # 3294 + None, # 3295 + None, # 3296 + None, # 3297 + None, # 3298 + None, # 3299 + None, # 3300 + None, # 3301 + None, # 3302 + None, # 3303 + None, # 3304 + None, # 3305 + None, # 3306 + None, # 3307 + None, # 3308 + None, # 3309 + None, # 3310 + None, # 3311 + None, # 3312 + None, # 3313 + None, # 3314 + None, # 3315 + None, # 3316 + None, # 3317 + None, # 3318 + None, # 3319 + None, # 3320 + None, # 3321 + None, # 3322 + None, # 3323 + None, # 3324 + None, # 3325 + None, # 3326 + None, # 3327 + None, # 3328 + (3329, TType.STRUCT, 'operationId', [THandleIdentifier, None], None, ), # 3329 + (3330, TType.STRUCT, 'sessionConf', [TDBSqlSessionConf, None], None, ), # 3330 ) all_structs.append(TGetCrossReferenceResp) TGetCrossReferenceResp.thrift_spec = ( - None, # 0 - (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 - (2, TType.STRUCT, 'operationHandle', [TOperationHandle, None], None, ), # 2 - None, # 3 - None, # 4 - None, # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - (1281, TType.STRUCT, 'directResults', [TSparkDirectResults, None], None, ), # 1281 + None, # 0 + (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 + (2, TType.STRUCT, 'operationHandle', [TOperationHandle, None], None, ), # 2 + None, # 3 + None, # 4 + None, # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + (1281, TType.STRUCT, 'directResults', [TSparkDirectResults, None], None, ), # 1281 ) all_structs.append(TGetOperationStatusReq) TGetOperationStatusReq.thrift_spec = ( - None, # 0 - (1, TType.STRUCT, 'operationHandle', [TOperationHandle, None], None, ), # 1 - (2, TType.BOOL, 'getProgressUpdate', None, None, ), # 2 + None, # 0 + (1, TType.STRUCT, 'operationHandle', [TOperationHandle, None], None, ), # 1 + (2, TType.BOOL, 'getProgressUpdate', None, None, ), # 2 ) all_structs.append(TGetOperationStatusResp) TGetOperationStatusResp.thrift_spec = ( - None, # 0 - (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 - (2, TType.I32, 'operationState', None, None, ), # 2 - (3, TType.STRING, 'sqlState', 'UTF8', None, ), # 3 - (4, TType.I32, 'errorCode', None, None, ), # 4 - (5, TType.STRING, 'errorMessage', 'UTF8', None, ), # 5 - (6, TType.STRING, 'taskStatus', 'UTF8', None, ), # 6 - (7, TType.I64, 'operationStarted', None, None, ), # 7 - (8, TType.I64, 'operationCompleted', None, None, ), # 8 - (9, TType.BOOL, 'hasResultSet', None, None, ), # 9 - (10, TType.STRUCT, 'progressUpdateResponse', [TProgressUpdateResp, None], None, ), # 10 - (11, TType.I64, 'numModifiedRows', None, None, ), # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - (1281, TType.STRING, 'displayMessage', 'UTF8', None, ), # 1281 - (1282, TType.STRING, 'diagnosticInfo', 'UTF8', None, ), # 1282 - (1283, TType.STRING, 'errorDetailsJson', 'UTF8', None, ), # 1283 - None, # 1284 - None, # 1285 - None, # 1286 - None, # 1287 - None, # 1288 - None, # 1289 - None, # 1290 - None, # 1291 - None, # 1292 - None, # 1293 - None, # 1294 - None, # 1295 - None, # 1296 - None, # 1297 - None, # 1298 - None, # 1299 - None, # 1300 - None, # 1301 - None, # 1302 - None, # 1303 - None, # 1304 - None, # 1305 - None, # 1306 - None, # 1307 - None, # 1308 - None, # 1309 - None, # 1310 - None, # 1311 - None, # 1312 - None, # 1313 - None, # 1314 - None, # 1315 - None, # 1316 - None, # 1317 - None, # 1318 - None, # 1319 - None, # 1320 - None, # 1321 - None, # 1322 - None, # 1323 - None, # 1324 - None, # 1325 - None, # 1326 - None, # 1327 - None, # 1328 - None, # 1329 - None, # 1330 - None, # 1331 - None, # 1332 - None, # 1333 - None, # 1334 - None, # 1335 - None, # 1336 - None, # 1337 - None, # 1338 - None, # 1339 - None, # 1340 - None, # 1341 - None, # 1342 - None, # 1343 - None, # 1344 - None, # 1345 - None, # 1346 - None, # 1347 - None, # 1348 - None, # 1349 - None, # 1350 - None, # 1351 - None, # 1352 - None, # 1353 - None, # 1354 - None, # 1355 - None, # 1356 - None, # 1357 - None, # 1358 - None, # 1359 - None, # 1360 - None, # 1361 - None, # 1362 - None, # 1363 - None, # 1364 - None, # 1365 - None, # 1366 - None, # 1367 - None, # 1368 - None, # 1369 - None, # 1370 - None, # 1371 - None, # 1372 - None, # 1373 - None, # 1374 - None, # 1375 - None, # 1376 - None, # 1377 - None, # 1378 - None, # 1379 - None, # 1380 - None, # 1381 - None, # 1382 - None, # 1383 - None, # 1384 - None, # 1385 - None, # 1386 - None, # 1387 - None, # 1388 - None, # 1389 - None, # 1390 - None, # 1391 - None, # 1392 - None, # 1393 - None, # 1394 - None, # 1395 - None, # 1396 - None, # 1397 - None, # 1398 - None, # 1399 - None, # 1400 - None, # 1401 - None, # 1402 - None, # 1403 - None, # 1404 - None, # 1405 - None, # 1406 - None, # 1407 - None, # 1408 - None, # 1409 - None, # 1410 - None, # 1411 - None, # 1412 - None, # 1413 - None, # 1414 - None, # 1415 - None, # 1416 - None, # 1417 - None, # 1418 - None, # 1419 - None, # 1420 - None, # 1421 - None, # 1422 - None, # 1423 - None, # 1424 - None, # 1425 - None, # 1426 - None, # 1427 - None, # 1428 - None, # 1429 - None, # 1430 - None, # 1431 - None, # 1432 - None, # 1433 - None, # 1434 - None, # 1435 - None, # 1436 - None, # 1437 - None, # 1438 - None, # 1439 - None, # 1440 - None, # 1441 - None, # 1442 - None, # 1443 - None, # 1444 - None, # 1445 - None, # 1446 - None, # 1447 - None, # 1448 - None, # 1449 - None, # 1450 - None, # 1451 - None, # 1452 - None, # 1453 - None, # 1454 - None, # 1455 - None, # 1456 - None, # 1457 - None, # 1458 - None, # 1459 - None, # 1460 - None, # 1461 - None, # 1462 - None, # 1463 - None, # 1464 - None, # 1465 - None, # 1466 - None, # 1467 - None, # 1468 - None, # 1469 - None, # 1470 - None, # 1471 - None, # 1472 - None, # 1473 - None, # 1474 - None, # 1475 - None, # 1476 - None, # 1477 - None, # 1478 - None, # 1479 - None, # 1480 - None, # 1481 - None, # 1482 - None, # 1483 - None, # 1484 - None, # 1485 - None, # 1486 - None, # 1487 - None, # 1488 - None, # 1489 - None, # 1490 - None, # 1491 - None, # 1492 - None, # 1493 - None, # 1494 - None, # 1495 - None, # 1496 - None, # 1497 - None, # 1498 - None, # 1499 - None, # 1500 - None, # 1501 - None, # 1502 - None, # 1503 - None, # 1504 - None, # 1505 - None, # 1506 - None, # 1507 - None, # 1508 - None, # 1509 - None, # 1510 - None, # 1511 - None, # 1512 - None, # 1513 - None, # 1514 - None, # 1515 - None, # 1516 - None, # 1517 - None, # 1518 - None, # 1519 - None, # 1520 - None, # 1521 - None, # 1522 - None, # 1523 - None, # 1524 - None, # 1525 - None, # 1526 - None, # 1527 - None, # 1528 - None, # 1529 - None, # 1530 - None, # 1531 - None, # 1532 - None, # 1533 - None, # 1534 - None, # 1535 - None, # 1536 - None, # 1537 - None, # 1538 - None, # 1539 - None, # 1540 - None, # 1541 - None, # 1542 - None, # 1543 - None, # 1544 - None, # 1545 - None, # 1546 - None, # 1547 - None, # 1548 - None, # 1549 - None, # 1550 - None, # 1551 - None, # 1552 - None, # 1553 - None, # 1554 - None, # 1555 - None, # 1556 - None, # 1557 - None, # 1558 - None, # 1559 - None, # 1560 - None, # 1561 - None, # 1562 - None, # 1563 - None, # 1564 - None, # 1565 - None, # 1566 - None, # 1567 - None, # 1568 - None, # 1569 - None, # 1570 - None, # 1571 - None, # 1572 - None, # 1573 - None, # 1574 - None, # 1575 - None, # 1576 - None, # 1577 - None, # 1578 - None, # 1579 - None, # 1580 - None, # 1581 - None, # 1582 - None, # 1583 - None, # 1584 - None, # 1585 - None, # 1586 - None, # 1587 - None, # 1588 - None, # 1589 - None, # 1590 - None, # 1591 - None, # 1592 - None, # 1593 - None, # 1594 - None, # 1595 - None, # 1596 - None, # 1597 - None, # 1598 - None, # 1599 - None, # 1600 - None, # 1601 - None, # 1602 - None, # 1603 - None, # 1604 - None, # 1605 - None, # 1606 - None, # 1607 - None, # 1608 - None, # 1609 - None, # 1610 - None, # 1611 - None, # 1612 - None, # 1613 - None, # 1614 - None, # 1615 - None, # 1616 - None, # 1617 - None, # 1618 - None, # 1619 - None, # 1620 - None, # 1621 - None, # 1622 - None, # 1623 - None, # 1624 - None, # 1625 - None, # 1626 - None, # 1627 - None, # 1628 - None, # 1629 - None, # 1630 - None, # 1631 - None, # 1632 - None, # 1633 - None, # 1634 - None, # 1635 - None, # 1636 - None, # 1637 - None, # 1638 - None, # 1639 - None, # 1640 - None, # 1641 - None, # 1642 - None, # 1643 - None, # 1644 - None, # 1645 - None, # 1646 - None, # 1647 - None, # 1648 - None, # 1649 - None, # 1650 - None, # 1651 - None, # 1652 - None, # 1653 - None, # 1654 - None, # 1655 - None, # 1656 - None, # 1657 - None, # 1658 - None, # 1659 - None, # 1660 - None, # 1661 - None, # 1662 - None, # 1663 - None, # 1664 - None, # 1665 - None, # 1666 - None, # 1667 - None, # 1668 - None, # 1669 - None, # 1670 - None, # 1671 - None, # 1672 - None, # 1673 - None, # 1674 - None, # 1675 - None, # 1676 - None, # 1677 - None, # 1678 - None, # 1679 - None, # 1680 - None, # 1681 - None, # 1682 - None, # 1683 - None, # 1684 - None, # 1685 - None, # 1686 - None, # 1687 - None, # 1688 - None, # 1689 - None, # 1690 - None, # 1691 - None, # 1692 - None, # 1693 - None, # 1694 - None, # 1695 - None, # 1696 - None, # 1697 - None, # 1698 - None, # 1699 - None, # 1700 - None, # 1701 - None, # 1702 - None, # 1703 - None, # 1704 - None, # 1705 - None, # 1706 - None, # 1707 - None, # 1708 - None, # 1709 - None, # 1710 - None, # 1711 - None, # 1712 - None, # 1713 - None, # 1714 - None, # 1715 - None, # 1716 - None, # 1717 - None, # 1718 - None, # 1719 - None, # 1720 - None, # 1721 - None, # 1722 - None, # 1723 - None, # 1724 - None, # 1725 - None, # 1726 - None, # 1727 - None, # 1728 - None, # 1729 - None, # 1730 - None, # 1731 - None, # 1732 - None, # 1733 - None, # 1734 - None, # 1735 - None, # 1736 - None, # 1737 - None, # 1738 - None, # 1739 - None, # 1740 - None, # 1741 - None, # 1742 - None, # 1743 - None, # 1744 - None, # 1745 - None, # 1746 - None, # 1747 - None, # 1748 - None, # 1749 - None, # 1750 - None, # 1751 - None, # 1752 - None, # 1753 - None, # 1754 - None, # 1755 - None, # 1756 - None, # 1757 - None, # 1758 - None, # 1759 - None, # 1760 - None, # 1761 - None, # 1762 - None, # 1763 - None, # 1764 - None, # 1765 - None, # 1766 - None, # 1767 - None, # 1768 - None, # 1769 - None, # 1770 - None, # 1771 - None, # 1772 - None, # 1773 - None, # 1774 - None, # 1775 - None, # 1776 - None, # 1777 - None, # 1778 - None, # 1779 - None, # 1780 - None, # 1781 - None, # 1782 - None, # 1783 - None, # 1784 - None, # 1785 - None, # 1786 - None, # 1787 - None, # 1788 - None, # 1789 - None, # 1790 - None, # 1791 - None, # 1792 - None, # 1793 - None, # 1794 - None, # 1795 - None, # 1796 - None, # 1797 - None, # 1798 - None, # 1799 - None, # 1800 - None, # 1801 - None, # 1802 - None, # 1803 - None, # 1804 - None, # 1805 - None, # 1806 - None, # 1807 - None, # 1808 - None, # 1809 - None, # 1810 - None, # 1811 - None, # 1812 - None, # 1813 - None, # 1814 - None, # 1815 - None, # 1816 - None, # 1817 - None, # 1818 - None, # 1819 - None, # 1820 - None, # 1821 - None, # 1822 - None, # 1823 - None, # 1824 - None, # 1825 - None, # 1826 - None, # 1827 - None, # 1828 - None, # 1829 - None, # 1830 - None, # 1831 - None, # 1832 - None, # 1833 - None, # 1834 - None, # 1835 - None, # 1836 - None, # 1837 - None, # 1838 - None, # 1839 - None, # 1840 - None, # 1841 - None, # 1842 - None, # 1843 - None, # 1844 - None, # 1845 - None, # 1846 - None, # 1847 - None, # 1848 - None, # 1849 - None, # 1850 - None, # 1851 - None, # 1852 - None, # 1853 - None, # 1854 - None, # 1855 - None, # 1856 - None, # 1857 - None, # 1858 - None, # 1859 - None, # 1860 - None, # 1861 - None, # 1862 - None, # 1863 - None, # 1864 - None, # 1865 - None, # 1866 - None, # 1867 - None, # 1868 - None, # 1869 - None, # 1870 - None, # 1871 - None, # 1872 - None, # 1873 - None, # 1874 - None, # 1875 - None, # 1876 - None, # 1877 - None, # 1878 - None, # 1879 - None, # 1880 - None, # 1881 - None, # 1882 - None, # 1883 - None, # 1884 - None, # 1885 - None, # 1886 - None, # 1887 - None, # 1888 - None, # 1889 - None, # 1890 - None, # 1891 - None, # 1892 - None, # 1893 - None, # 1894 - None, # 1895 - None, # 1896 - None, # 1897 - None, # 1898 - None, # 1899 - None, # 1900 - None, # 1901 - None, # 1902 - None, # 1903 - None, # 1904 - None, # 1905 - None, # 1906 - None, # 1907 - None, # 1908 - None, # 1909 - None, # 1910 - None, # 1911 - None, # 1912 - None, # 1913 - None, # 1914 - None, # 1915 - None, # 1916 - None, # 1917 - None, # 1918 - None, # 1919 - None, # 1920 - None, # 1921 - None, # 1922 - None, # 1923 - None, # 1924 - None, # 1925 - None, # 1926 - None, # 1927 - None, # 1928 - None, # 1929 - None, # 1930 - None, # 1931 - None, # 1932 - None, # 1933 - None, # 1934 - None, # 1935 - None, # 1936 - None, # 1937 - None, # 1938 - None, # 1939 - None, # 1940 - None, # 1941 - None, # 1942 - None, # 1943 - None, # 1944 - None, # 1945 - None, # 1946 - None, # 1947 - None, # 1948 - None, # 1949 - None, # 1950 - None, # 1951 - None, # 1952 - None, # 1953 - None, # 1954 - None, # 1955 - None, # 1956 - None, # 1957 - None, # 1958 - None, # 1959 - None, # 1960 - None, # 1961 - None, # 1962 - None, # 1963 - None, # 1964 - None, # 1965 - None, # 1966 - None, # 1967 - None, # 1968 - None, # 1969 - None, # 1970 - None, # 1971 - None, # 1972 - None, # 1973 - None, # 1974 - None, # 1975 - None, # 1976 - None, # 1977 - None, # 1978 - None, # 1979 - None, # 1980 - None, # 1981 - None, # 1982 - None, # 1983 - None, # 1984 - None, # 1985 - None, # 1986 - None, # 1987 - None, # 1988 - None, # 1989 - None, # 1990 - None, # 1991 - None, # 1992 - None, # 1993 - None, # 1994 - None, # 1995 - None, # 1996 - None, # 1997 - None, # 1998 - None, # 1999 - None, # 2000 - None, # 2001 - None, # 2002 - None, # 2003 - None, # 2004 - None, # 2005 - None, # 2006 - None, # 2007 - None, # 2008 - None, # 2009 - None, # 2010 - None, # 2011 - None, # 2012 - None, # 2013 - None, # 2014 - None, # 2015 - None, # 2016 - None, # 2017 - None, # 2018 - None, # 2019 - None, # 2020 - None, # 2021 - None, # 2022 - None, # 2023 - None, # 2024 - None, # 2025 - None, # 2026 - None, # 2027 - None, # 2028 - None, # 2029 - None, # 2030 - None, # 2031 - None, # 2032 - None, # 2033 - None, # 2034 - None, # 2035 - None, # 2036 - None, # 2037 - None, # 2038 - None, # 2039 - None, # 2040 - None, # 2041 - None, # 2042 - None, # 2043 - None, # 2044 - None, # 2045 - None, # 2046 - None, # 2047 - None, # 2048 - None, # 2049 - None, # 2050 - None, # 2051 - None, # 2052 - None, # 2053 - None, # 2054 - None, # 2055 - None, # 2056 - None, # 2057 - None, # 2058 - None, # 2059 - None, # 2060 - None, # 2061 - None, # 2062 - None, # 2063 - None, # 2064 - None, # 2065 - None, # 2066 - None, # 2067 - None, # 2068 - None, # 2069 - None, # 2070 - None, # 2071 - None, # 2072 - None, # 2073 - None, # 2074 - None, # 2075 - None, # 2076 - None, # 2077 - None, # 2078 - None, # 2079 - None, # 2080 - None, # 2081 - None, # 2082 - None, # 2083 - None, # 2084 - None, # 2085 - None, # 2086 - None, # 2087 - None, # 2088 - None, # 2089 - None, # 2090 - None, # 2091 - None, # 2092 - None, # 2093 - None, # 2094 - None, # 2095 - None, # 2096 - None, # 2097 - None, # 2098 - None, # 2099 - None, # 2100 - None, # 2101 - None, # 2102 - None, # 2103 - None, # 2104 - None, # 2105 - None, # 2106 - None, # 2107 - None, # 2108 - None, # 2109 - None, # 2110 - None, # 2111 - None, # 2112 - None, # 2113 - None, # 2114 - None, # 2115 - None, # 2116 - None, # 2117 - None, # 2118 - None, # 2119 - None, # 2120 - None, # 2121 - None, # 2122 - None, # 2123 - None, # 2124 - None, # 2125 - None, # 2126 - None, # 2127 - None, # 2128 - None, # 2129 - None, # 2130 - None, # 2131 - None, # 2132 - None, # 2133 - None, # 2134 - None, # 2135 - None, # 2136 - None, # 2137 - None, # 2138 - None, # 2139 - None, # 2140 - None, # 2141 - None, # 2142 - None, # 2143 - None, # 2144 - None, # 2145 - None, # 2146 - None, # 2147 - None, # 2148 - None, # 2149 - None, # 2150 - None, # 2151 - None, # 2152 - None, # 2153 - None, # 2154 - None, # 2155 - None, # 2156 - None, # 2157 - None, # 2158 - None, # 2159 - None, # 2160 - None, # 2161 - None, # 2162 - None, # 2163 - None, # 2164 - None, # 2165 - None, # 2166 - None, # 2167 - None, # 2168 - None, # 2169 - None, # 2170 - None, # 2171 - None, # 2172 - None, # 2173 - None, # 2174 - None, # 2175 - None, # 2176 - None, # 2177 - None, # 2178 - None, # 2179 - None, # 2180 - None, # 2181 - None, # 2182 - None, # 2183 - None, # 2184 - None, # 2185 - None, # 2186 - None, # 2187 - None, # 2188 - None, # 2189 - None, # 2190 - None, # 2191 - None, # 2192 - None, # 2193 - None, # 2194 - None, # 2195 - None, # 2196 - None, # 2197 - None, # 2198 - None, # 2199 - None, # 2200 - None, # 2201 - None, # 2202 - None, # 2203 - None, # 2204 - None, # 2205 - None, # 2206 - None, # 2207 - None, # 2208 - None, # 2209 - None, # 2210 - None, # 2211 - None, # 2212 - None, # 2213 - None, # 2214 - None, # 2215 - None, # 2216 - None, # 2217 - None, # 2218 - None, # 2219 - None, # 2220 - None, # 2221 - None, # 2222 - None, # 2223 - None, # 2224 - None, # 2225 - None, # 2226 - None, # 2227 - None, # 2228 - None, # 2229 - None, # 2230 - None, # 2231 - None, # 2232 - None, # 2233 - None, # 2234 - None, # 2235 - None, # 2236 - None, # 2237 - None, # 2238 - None, # 2239 - None, # 2240 - None, # 2241 - None, # 2242 - None, # 2243 - None, # 2244 - None, # 2245 - None, # 2246 - None, # 2247 - None, # 2248 - None, # 2249 - None, # 2250 - None, # 2251 - None, # 2252 - None, # 2253 - None, # 2254 - None, # 2255 - None, # 2256 - None, # 2257 - None, # 2258 - None, # 2259 - None, # 2260 - None, # 2261 - None, # 2262 - None, # 2263 - None, # 2264 - None, # 2265 - None, # 2266 - None, # 2267 - None, # 2268 - None, # 2269 - None, # 2270 - None, # 2271 - None, # 2272 - None, # 2273 - None, # 2274 - None, # 2275 - None, # 2276 - None, # 2277 - None, # 2278 - None, # 2279 - None, # 2280 - None, # 2281 - None, # 2282 - None, # 2283 - None, # 2284 - None, # 2285 - None, # 2286 - None, # 2287 - None, # 2288 - None, # 2289 - None, # 2290 - None, # 2291 - None, # 2292 - None, # 2293 - None, # 2294 - None, # 2295 - None, # 2296 - None, # 2297 - None, # 2298 - None, # 2299 - None, # 2300 - None, # 2301 - None, # 2302 - None, # 2303 - None, # 2304 - None, # 2305 - None, # 2306 - None, # 2307 - None, # 2308 - None, # 2309 - None, # 2310 - None, # 2311 - None, # 2312 - None, # 2313 - None, # 2314 - None, # 2315 - None, # 2316 - None, # 2317 - None, # 2318 - None, # 2319 - None, # 2320 - None, # 2321 - None, # 2322 - None, # 2323 - None, # 2324 - None, # 2325 - None, # 2326 - None, # 2327 - None, # 2328 - None, # 2329 - None, # 2330 - None, # 2331 - None, # 2332 - None, # 2333 - None, # 2334 - None, # 2335 - None, # 2336 - None, # 2337 - None, # 2338 - None, # 2339 - None, # 2340 - None, # 2341 - None, # 2342 - None, # 2343 - None, # 2344 - None, # 2345 - None, # 2346 - None, # 2347 - None, # 2348 - None, # 2349 - None, # 2350 - None, # 2351 - None, # 2352 - None, # 2353 - None, # 2354 - None, # 2355 - None, # 2356 - None, # 2357 - None, # 2358 - None, # 2359 - None, # 2360 - None, # 2361 - None, # 2362 - None, # 2363 - None, # 2364 - None, # 2365 - None, # 2366 - None, # 2367 - None, # 2368 - None, # 2369 - None, # 2370 - None, # 2371 - None, # 2372 - None, # 2373 - None, # 2374 - None, # 2375 - None, # 2376 - None, # 2377 - None, # 2378 - None, # 2379 - None, # 2380 - None, # 2381 - None, # 2382 - None, # 2383 - None, # 2384 - None, # 2385 - None, # 2386 - None, # 2387 - None, # 2388 - None, # 2389 - None, # 2390 - None, # 2391 - None, # 2392 - None, # 2393 - None, # 2394 - None, # 2395 - None, # 2396 - None, # 2397 - None, # 2398 - None, # 2399 - None, # 2400 - None, # 2401 - None, # 2402 - None, # 2403 - None, # 2404 - None, # 2405 - None, # 2406 - None, # 2407 - None, # 2408 - None, # 2409 - None, # 2410 - None, # 2411 - None, # 2412 - None, # 2413 - None, # 2414 - None, # 2415 - None, # 2416 - None, # 2417 - None, # 2418 - None, # 2419 - None, # 2420 - None, # 2421 - None, # 2422 - None, # 2423 - None, # 2424 - None, # 2425 - None, # 2426 - None, # 2427 - None, # 2428 - None, # 2429 - None, # 2430 - None, # 2431 - None, # 2432 - None, # 2433 - None, # 2434 - None, # 2435 - None, # 2436 - None, # 2437 - None, # 2438 - None, # 2439 - None, # 2440 - None, # 2441 - None, # 2442 - None, # 2443 - None, # 2444 - None, # 2445 - None, # 2446 - None, # 2447 - None, # 2448 - None, # 2449 - None, # 2450 - None, # 2451 - None, # 2452 - None, # 2453 - None, # 2454 - None, # 2455 - None, # 2456 - None, # 2457 - None, # 2458 - None, # 2459 - None, # 2460 - None, # 2461 - None, # 2462 - None, # 2463 - None, # 2464 - None, # 2465 - None, # 2466 - None, # 2467 - None, # 2468 - None, # 2469 - None, # 2470 - None, # 2471 - None, # 2472 - None, # 2473 - None, # 2474 - None, # 2475 - None, # 2476 - None, # 2477 - None, # 2478 - None, # 2479 - None, # 2480 - None, # 2481 - None, # 2482 - None, # 2483 - None, # 2484 - None, # 2485 - None, # 2486 - None, # 2487 - None, # 2488 - None, # 2489 - None, # 2490 - None, # 2491 - None, # 2492 - None, # 2493 - None, # 2494 - None, # 2495 - None, # 2496 - None, # 2497 - None, # 2498 - None, # 2499 - None, # 2500 - None, # 2501 - None, # 2502 - None, # 2503 - None, # 2504 - None, # 2505 - None, # 2506 - None, # 2507 - None, # 2508 - None, # 2509 - None, # 2510 - None, # 2511 - None, # 2512 - None, # 2513 - None, # 2514 - None, # 2515 - None, # 2516 - None, # 2517 - None, # 2518 - None, # 2519 - None, # 2520 - None, # 2521 - None, # 2522 - None, # 2523 - None, # 2524 - None, # 2525 - None, # 2526 - None, # 2527 - None, # 2528 - None, # 2529 - None, # 2530 - None, # 2531 - None, # 2532 - None, # 2533 - None, # 2534 - None, # 2535 - None, # 2536 - None, # 2537 - None, # 2538 - None, # 2539 - None, # 2540 - None, # 2541 - None, # 2542 - None, # 2543 - None, # 2544 - None, # 2545 - None, # 2546 - None, # 2547 - None, # 2548 - None, # 2549 - None, # 2550 - None, # 2551 - None, # 2552 - None, # 2553 - None, # 2554 - None, # 2555 - None, # 2556 - None, # 2557 - None, # 2558 - None, # 2559 - None, # 2560 - None, # 2561 - None, # 2562 - None, # 2563 - None, # 2564 - None, # 2565 - None, # 2566 - None, # 2567 - None, # 2568 - None, # 2569 - None, # 2570 - None, # 2571 - None, # 2572 - None, # 2573 - None, # 2574 - None, # 2575 - None, # 2576 - None, # 2577 - None, # 2578 - None, # 2579 - None, # 2580 - None, # 2581 - None, # 2582 - None, # 2583 - None, # 2584 - None, # 2585 - None, # 2586 - None, # 2587 - None, # 2588 - None, # 2589 - None, # 2590 - None, # 2591 - None, # 2592 - None, # 2593 - None, # 2594 - None, # 2595 - None, # 2596 - None, # 2597 - None, # 2598 - None, # 2599 - None, # 2600 - None, # 2601 - None, # 2602 - None, # 2603 - None, # 2604 - None, # 2605 - None, # 2606 - None, # 2607 - None, # 2608 - None, # 2609 - None, # 2610 - None, # 2611 - None, # 2612 - None, # 2613 - None, # 2614 - None, # 2615 - None, # 2616 - None, # 2617 - None, # 2618 - None, # 2619 - None, # 2620 - None, # 2621 - None, # 2622 - None, # 2623 - None, # 2624 - None, # 2625 - None, # 2626 - None, # 2627 - None, # 2628 - None, # 2629 - None, # 2630 - None, # 2631 - None, # 2632 - None, # 2633 - None, # 2634 - None, # 2635 - None, # 2636 - None, # 2637 - None, # 2638 - None, # 2639 - None, # 2640 - None, # 2641 - None, # 2642 - None, # 2643 - None, # 2644 - None, # 2645 - None, # 2646 - None, # 2647 - None, # 2648 - None, # 2649 - None, # 2650 - None, # 2651 - None, # 2652 - None, # 2653 - None, # 2654 - None, # 2655 - None, # 2656 - None, # 2657 - None, # 2658 - None, # 2659 - None, # 2660 - None, # 2661 - None, # 2662 - None, # 2663 - None, # 2664 - None, # 2665 - None, # 2666 - None, # 2667 - None, # 2668 - None, # 2669 - None, # 2670 - None, # 2671 - None, # 2672 - None, # 2673 - None, # 2674 - None, # 2675 - None, # 2676 - None, # 2677 - None, # 2678 - None, # 2679 - None, # 2680 - None, # 2681 - None, # 2682 - None, # 2683 - None, # 2684 - None, # 2685 - None, # 2686 - None, # 2687 - None, # 2688 - None, # 2689 - None, # 2690 - None, # 2691 - None, # 2692 - None, # 2693 - None, # 2694 - None, # 2695 - None, # 2696 - None, # 2697 - None, # 2698 - None, # 2699 - None, # 2700 - None, # 2701 - None, # 2702 - None, # 2703 - None, # 2704 - None, # 2705 - None, # 2706 - None, # 2707 - None, # 2708 - None, # 2709 - None, # 2710 - None, # 2711 - None, # 2712 - None, # 2713 - None, # 2714 - None, # 2715 - None, # 2716 - None, # 2717 - None, # 2718 - None, # 2719 - None, # 2720 - None, # 2721 - None, # 2722 - None, # 2723 - None, # 2724 - None, # 2725 - None, # 2726 - None, # 2727 - None, # 2728 - None, # 2729 - None, # 2730 - None, # 2731 - None, # 2732 - None, # 2733 - None, # 2734 - None, # 2735 - None, # 2736 - None, # 2737 - None, # 2738 - None, # 2739 - None, # 2740 - None, # 2741 - None, # 2742 - None, # 2743 - None, # 2744 - None, # 2745 - None, # 2746 - None, # 2747 - None, # 2748 - None, # 2749 - None, # 2750 - None, # 2751 - None, # 2752 - None, # 2753 - None, # 2754 - None, # 2755 - None, # 2756 - None, # 2757 - None, # 2758 - None, # 2759 - None, # 2760 - None, # 2761 - None, # 2762 - None, # 2763 - None, # 2764 - None, # 2765 - None, # 2766 - None, # 2767 - None, # 2768 - None, # 2769 - None, # 2770 - None, # 2771 - None, # 2772 - None, # 2773 - None, # 2774 - None, # 2775 - None, # 2776 - None, # 2777 - None, # 2778 - None, # 2779 - None, # 2780 - None, # 2781 - None, # 2782 - None, # 2783 - None, # 2784 - None, # 2785 - None, # 2786 - None, # 2787 - None, # 2788 - None, # 2789 - None, # 2790 - None, # 2791 - None, # 2792 - None, # 2793 - None, # 2794 - None, # 2795 - None, # 2796 - None, # 2797 - None, # 2798 - None, # 2799 - None, # 2800 - None, # 2801 - None, # 2802 - None, # 2803 - None, # 2804 - None, # 2805 - None, # 2806 - None, # 2807 - None, # 2808 - None, # 2809 - None, # 2810 - None, # 2811 - None, # 2812 - None, # 2813 - None, # 2814 - None, # 2815 - None, # 2816 - None, # 2817 - None, # 2818 - None, # 2819 - None, # 2820 - None, # 2821 - None, # 2822 - None, # 2823 - None, # 2824 - None, # 2825 - None, # 2826 - None, # 2827 - None, # 2828 - None, # 2829 - None, # 2830 - None, # 2831 - None, # 2832 - None, # 2833 - None, # 2834 - None, # 2835 - None, # 2836 - None, # 2837 - None, # 2838 - None, # 2839 - None, # 2840 - None, # 2841 - None, # 2842 - None, # 2843 - None, # 2844 - None, # 2845 - None, # 2846 - None, # 2847 - None, # 2848 - None, # 2849 - None, # 2850 - None, # 2851 - None, # 2852 - None, # 2853 - None, # 2854 - None, # 2855 - None, # 2856 - None, # 2857 - None, # 2858 - None, # 2859 - None, # 2860 - None, # 2861 - None, # 2862 - None, # 2863 - None, # 2864 - None, # 2865 - None, # 2866 - None, # 2867 - None, # 2868 - None, # 2869 - None, # 2870 - None, # 2871 - None, # 2872 - None, # 2873 - None, # 2874 - None, # 2875 - None, # 2876 - None, # 2877 - None, # 2878 - None, # 2879 - None, # 2880 - None, # 2881 - None, # 2882 - None, # 2883 - None, # 2884 - None, # 2885 - None, # 2886 - None, # 2887 - None, # 2888 - None, # 2889 - None, # 2890 - None, # 2891 - None, # 2892 - None, # 2893 - None, # 2894 - None, # 2895 - None, # 2896 - None, # 2897 - None, # 2898 - None, # 2899 - None, # 2900 - None, # 2901 - None, # 2902 - None, # 2903 - None, # 2904 - None, # 2905 - None, # 2906 - None, # 2907 - None, # 2908 - None, # 2909 - None, # 2910 - None, # 2911 - None, # 2912 - None, # 2913 - None, # 2914 - None, # 2915 - None, # 2916 - None, # 2917 - None, # 2918 - None, # 2919 - None, # 2920 - None, # 2921 - None, # 2922 - None, # 2923 - None, # 2924 - None, # 2925 - None, # 2926 - None, # 2927 - None, # 2928 - None, # 2929 - None, # 2930 - None, # 2931 - None, # 2932 - None, # 2933 - None, # 2934 - None, # 2935 - None, # 2936 - None, # 2937 - None, # 2938 - None, # 2939 - None, # 2940 - None, # 2941 - None, # 2942 - None, # 2943 - None, # 2944 - None, # 2945 - None, # 2946 - None, # 2947 - None, # 2948 - None, # 2949 - None, # 2950 - None, # 2951 - None, # 2952 - None, # 2953 - None, # 2954 - None, # 2955 - None, # 2956 - None, # 2957 - None, # 2958 - None, # 2959 - None, # 2960 - None, # 2961 - None, # 2962 - None, # 2963 - None, # 2964 - None, # 2965 - None, # 2966 - None, # 2967 - None, # 2968 - None, # 2969 - None, # 2970 - None, # 2971 - None, # 2972 - None, # 2973 - None, # 2974 - None, # 2975 - None, # 2976 - None, # 2977 - None, # 2978 - None, # 2979 - None, # 2980 - None, # 2981 - None, # 2982 - None, # 2983 - None, # 2984 - None, # 2985 - None, # 2986 - None, # 2987 - None, # 2988 - None, # 2989 - None, # 2990 - None, # 2991 - None, # 2992 - None, # 2993 - None, # 2994 - None, # 2995 - None, # 2996 - None, # 2997 - None, # 2998 - None, # 2999 - None, # 3000 - None, # 3001 - None, # 3002 - None, # 3003 - None, # 3004 - None, # 3005 - None, # 3006 - None, # 3007 - None, # 3008 - None, # 3009 - None, # 3010 - None, # 3011 - None, # 3012 - None, # 3013 - None, # 3014 - None, # 3015 - None, # 3016 - None, # 3017 - None, # 3018 - None, # 3019 - None, # 3020 - None, # 3021 - None, # 3022 - None, # 3023 - None, # 3024 - None, # 3025 - None, # 3026 - None, # 3027 - None, # 3028 - None, # 3029 - None, # 3030 - None, # 3031 - None, # 3032 - None, # 3033 - None, # 3034 - None, # 3035 - None, # 3036 - None, # 3037 - None, # 3038 - None, # 3039 - None, # 3040 - None, # 3041 - None, # 3042 - None, # 3043 - None, # 3044 - None, # 3045 - None, # 3046 - None, # 3047 - None, # 3048 - None, # 3049 - None, # 3050 - None, # 3051 - None, # 3052 - None, # 3053 - None, # 3054 - None, # 3055 - None, # 3056 - None, # 3057 - None, # 3058 - None, # 3059 - None, # 3060 - None, # 3061 - None, # 3062 - None, # 3063 - None, # 3064 - None, # 3065 - None, # 3066 - None, # 3067 - None, # 3068 - None, # 3069 - None, # 3070 - None, # 3071 - None, # 3072 - None, # 3073 - None, # 3074 - None, # 3075 - None, # 3076 - None, # 3077 - None, # 3078 - None, # 3079 - None, # 3080 - None, # 3081 - None, # 3082 - None, # 3083 - None, # 3084 - None, # 3085 - None, # 3086 - None, # 3087 - None, # 3088 - None, # 3089 - None, # 3090 - None, # 3091 - None, # 3092 - None, # 3093 - None, # 3094 - None, # 3095 - None, # 3096 - None, # 3097 - None, # 3098 - None, # 3099 - None, # 3100 - None, # 3101 - None, # 3102 - None, # 3103 - None, # 3104 - None, # 3105 - None, # 3106 - None, # 3107 - None, # 3108 - None, # 3109 - None, # 3110 - None, # 3111 - None, # 3112 - None, # 3113 - None, # 3114 - None, # 3115 - None, # 3116 - None, # 3117 - None, # 3118 - None, # 3119 - None, # 3120 - None, # 3121 - None, # 3122 - None, # 3123 - None, # 3124 - None, # 3125 - None, # 3126 - None, # 3127 - None, # 3128 - None, # 3129 - None, # 3130 - None, # 3131 - None, # 3132 - None, # 3133 - None, # 3134 - None, # 3135 - None, # 3136 - None, # 3137 - None, # 3138 - None, # 3139 - None, # 3140 - None, # 3141 - None, # 3142 - None, # 3143 - None, # 3144 - None, # 3145 - None, # 3146 - None, # 3147 - None, # 3148 - None, # 3149 - None, # 3150 - None, # 3151 - None, # 3152 - None, # 3153 - None, # 3154 - None, # 3155 - None, # 3156 - None, # 3157 - None, # 3158 - None, # 3159 - None, # 3160 - None, # 3161 - None, # 3162 - None, # 3163 - None, # 3164 - None, # 3165 - None, # 3166 - None, # 3167 - None, # 3168 - None, # 3169 - None, # 3170 - None, # 3171 - None, # 3172 - None, # 3173 - None, # 3174 - None, # 3175 - None, # 3176 - None, # 3177 - None, # 3178 - None, # 3179 - None, # 3180 - None, # 3181 - None, # 3182 - None, # 3183 - None, # 3184 - None, # 3185 - None, # 3186 - None, # 3187 - None, # 3188 - None, # 3189 - None, # 3190 - None, # 3191 - None, # 3192 - None, # 3193 - None, # 3194 - None, # 3195 - None, # 3196 - None, # 3197 - None, # 3198 - None, # 3199 - None, # 3200 - None, # 3201 - None, # 3202 - None, # 3203 - None, # 3204 - None, # 3205 - None, # 3206 - None, # 3207 - None, # 3208 - None, # 3209 - None, # 3210 - None, # 3211 - None, # 3212 - None, # 3213 - None, # 3214 - None, # 3215 - None, # 3216 - None, # 3217 - None, # 3218 - None, # 3219 - None, # 3220 - None, # 3221 - None, # 3222 - None, # 3223 - None, # 3224 - None, # 3225 - None, # 3226 - None, # 3227 - None, # 3228 - None, # 3229 - None, # 3230 - None, # 3231 - None, # 3232 - None, # 3233 - None, # 3234 - None, # 3235 - None, # 3236 - None, # 3237 - None, # 3238 - None, # 3239 - None, # 3240 - None, # 3241 - None, # 3242 - None, # 3243 - None, # 3244 - None, # 3245 - None, # 3246 - None, # 3247 - None, # 3248 - None, # 3249 - None, # 3250 - None, # 3251 - None, # 3252 - None, # 3253 - None, # 3254 - None, # 3255 - None, # 3256 - None, # 3257 - None, # 3258 - None, # 3259 - None, # 3260 - None, # 3261 - None, # 3262 - None, # 3263 - None, # 3264 - None, # 3265 - None, # 3266 - None, # 3267 - None, # 3268 - None, # 3269 - None, # 3270 - None, # 3271 - None, # 3272 - None, # 3273 - None, # 3274 - None, # 3275 - None, # 3276 - None, # 3277 - None, # 3278 - None, # 3279 - None, # 3280 - None, # 3281 - None, # 3282 - None, # 3283 - None, # 3284 - None, # 3285 - None, # 3286 - None, # 3287 - None, # 3288 - None, # 3289 - None, # 3290 - None, # 3291 - None, # 3292 - None, # 3293 - None, # 3294 - None, # 3295 - None, # 3296 - None, # 3297 - None, # 3298 - None, # 3299 - None, # 3300 - None, # 3301 - None, # 3302 - None, # 3303 - None, # 3304 - None, # 3305 - None, # 3306 - None, # 3307 - None, # 3308 - None, # 3309 - None, # 3310 - None, # 3311 - None, # 3312 - None, # 3313 - None, # 3314 - None, # 3315 - None, # 3316 - None, # 3317 - None, # 3318 - None, # 3319 - None, # 3320 - None, # 3321 - None, # 3322 - None, # 3323 - None, # 3324 - None, # 3325 - None, # 3326 - None, # 3327 - None, # 3328 - (3329, TType.STRING, 'responseValidation', 'BINARY', None, ), # 3329 - (3330, TType.I32, 'idempotencyType', None, None, ), # 3330 - (3331, TType.I64, 'statementTimeout', None, None, ), # 3331 - (3332, TType.I32, 'statementTimeoutLevel', None, None, ), # 3332 + None, # 0 + (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 + (2, TType.I32, 'operationState', None, None, ), # 2 + (3, TType.STRING, 'sqlState', 'UTF8', None, ), # 3 + (4, TType.I32, 'errorCode', None, None, ), # 4 + (5, TType.STRING, 'errorMessage', 'UTF8', None, ), # 5 + (6, TType.STRING, 'taskStatus', 'UTF8', None, ), # 6 + (7, TType.I64, 'operationStarted', None, None, ), # 7 + (8, TType.I64, 'operationCompleted', None, None, ), # 8 + (9, TType.BOOL, 'hasResultSet', None, None, ), # 9 + (10, TType.STRUCT, 'progressUpdateResponse', [TProgressUpdateResp, None], None, ), # 10 + (11, TType.I64, 'numModifiedRows', None, None, ), # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + (1281, TType.STRING, 'displayMessage', 'UTF8', None, ), # 1281 + (1282, TType.STRING, 'diagnosticInfo', 'UTF8', None, ), # 1282 + (1283, TType.STRING, 'errorDetailsJson', 'UTF8', None, ), # 1283 + None, # 1284 + None, # 1285 + None, # 1286 + None, # 1287 + None, # 1288 + None, # 1289 + None, # 1290 + None, # 1291 + None, # 1292 + None, # 1293 + None, # 1294 + None, # 1295 + None, # 1296 + None, # 1297 + None, # 1298 + None, # 1299 + None, # 1300 + None, # 1301 + None, # 1302 + None, # 1303 + None, # 1304 + None, # 1305 + None, # 1306 + None, # 1307 + None, # 1308 + None, # 1309 + None, # 1310 + None, # 1311 + None, # 1312 + None, # 1313 + None, # 1314 + None, # 1315 + None, # 1316 + None, # 1317 + None, # 1318 + None, # 1319 + None, # 1320 + None, # 1321 + None, # 1322 + None, # 1323 + None, # 1324 + None, # 1325 + None, # 1326 + None, # 1327 + None, # 1328 + None, # 1329 + None, # 1330 + None, # 1331 + None, # 1332 + None, # 1333 + None, # 1334 + None, # 1335 + None, # 1336 + None, # 1337 + None, # 1338 + None, # 1339 + None, # 1340 + None, # 1341 + None, # 1342 + None, # 1343 + None, # 1344 + None, # 1345 + None, # 1346 + None, # 1347 + None, # 1348 + None, # 1349 + None, # 1350 + None, # 1351 + None, # 1352 + None, # 1353 + None, # 1354 + None, # 1355 + None, # 1356 + None, # 1357 + None, # 1358 + None, # 1359 + None, # 1360 + None, # 1361 + None, # 1362 + None, # 1363 + None, # 1364 + None, # 1365 + None, # 1366 + None, # 1367 + None, # 1368 + None, # 1369 + None, # 1370 + None, # 1371 + None, # 1372 + None, # 1373 + None, # 1374 + None, # 1375 + None, # 1376 + None, # 1377 + None, # 1378 + None, # 1379 + None, # 1380 + None, # 1381 + None, # 1382 + None, # 1383 + None, # 1384 + None, # 1385 + None, # 1386 + None, # 1387 + None, # 1388 + None, # 1389 + None, # 1390 + None, # 1391 + None, # 1392 + None, # 1393 + None, # 1394 + None, # 1395 + None, # 1396 + None, # 1397 + None, # 1398 + None, # 1399 + None, # 1400 + None, # 1401 + None, # 1402 + None, # 1403 + None, # 1404 + None, # 1405 + None, # 1406 + None, # 1407 + None, # 1408 + None, # 1409 + None, # 1410 + None, # 1411 + None, # 1412 + None, # 1413 + None, # 1414 + None, # 1415 + None, # 1416 + None, # 1417 + None, # 1418 + None, # 1419 + None, # 1420 + None, # 1421 + None, # 1422 + None, # 1423 + None, # 1424 + None, # 1425 + None, # 1426 + None, # 1427 + None, # 1428 + None, # 1429 + None, # 1430 + None, # 1431 + None, # 1432 + None, # 1433 + None, # 1434 + None, # 1435 + None, # 1436 + None, # 1437 + None, # 1438 + None, # 1439 + None, # 1440 + None, # 1441 + None, # 1442 + None, # 1443 + None, # 1444 + None, # 1445 + None, # 1446 + None, # 1447 + None, # 1448 + None, # 1449 + None, # 1450 + None, # 1451 + None, # 1452 + None, # 1453 + None, # 1454 + None, # 1455 + None, # 1456 + None, # 1457 + None, # 1458 + None, # 1459 + None, # 1460 + None, # 1461 + None, # 1462 + None, # 1463 + None, # 1464 + None, # 1465 + None, # 1466 + None, # 1467 + None, # 1468 + None, # 1469 + None, # 1470 + None, # 1471 + None, # 1472 + None, # 1473 + None, # 1474 + None, # 1475 + None, # 1476 + None, # 1477 + None, # 1478 + None, # 1479 + None, # 1480 + None, # 1481 + None, # 1482 + None, # 1483 + None, # 1484 + None, # 1485 + None, # 1486 + None, # 1487 + None, # 1488 + None, # 1489 + None, # 1490 + None, # 1491 + None, # 1492 + None, # 1493 + None, # 1494 + None, # 1495 + None, # 1496 + None, # 1497 + None, # 1498 + None, # 1499 + None, # 1500 + None, # 1501 + None, # 1502 + None, # 1503 + None, # 1504 + None, # 1505 + None, # 1506 + None, # 1507 + None, # 1508 + None, # 1509 + None, # 1510 + None, # 1511 + None, # 1512 + None, # 1513 + None, # 1514 + None, # 1515 + None, # 1516 + None, # 1517 + None, # 1518 + None, # 1519 + None, # 1520 + None, # 1521 + None, # 1522 + None, # 1523 + None, # 1524 + None, # 1525 + None, # 1526 + None, # 1527 + None, # 1528 + None, # 1529 + None, # 1530 + None, # 1531 + None, # 1532 + None, # 1533 + None, # 1534 + None, # 1535 + None, # 1536 + None, # 1537 + None, # 1538 + None, # 1539 + None, # 1540 + None, # 1541 + None, # 1542 + None, # 1543 + None, # 1544 + None, # 1545 + None, # 1546 + None, # 1547 + None, # 1548 + None, # 1549 + None, # 1550 + None, # 1551 + None, # 1552 + None, # 1553 + None, # 1554 + None, # 1555 + None, # 1556 + None, # 1557 + None, # 1558 + None, # 1559 + None, # 1560 + None, # 1561 + None, # 1562 + None, # 1563 + None, # 1564 + None, # 1565 + None, # 1566 + None, # 1567 + None, # 1568 + None, # 1569 + None, # 1570 + None, # 1571 + None, # 1572 + None, # 1573 + None, # 1574 + None, # 1575 + None, # 1576 + None, # 1577 + None, # 1578 + None, # 1579 + None, # 1580 + None, # 1581 + None, # 1582 + None, # 1583 + None, # 1584 + None, # 1585 + None, # 1586 + None, # 1587 + None, # 1588 + None, # 1589 + None, # 1590 + None, # 1591 + None, # 1592 + None, # 1593 + None, # 1594 + None, # 1595 + None, # 1596 + None, # 1597 + None, # 1598 + None, # 1599 + None, # 1600 + None, # 1601 + None, # 1602 + None, # 1603 + None, # 1604 + None, # 1605 + None, # 1606 + None, # 1607 + None, # 1608 + None, # 1609 + None, # 1610 + None, # 1611 + None, # 1612 + None, # 1613 + None, # 1614 + None, # 1615 + None, # 1616 + None, # 1617 + None, # 1618 + None, # 1619 + None, # 1620 + None, # 1621 + None, # 1622 + None, # 1623 + None, # 1624 + None, # 1625 + None, # 1626 + None, # 1627 + None, # 1628 + None, # 1629 + None, # 1630 + None, # 1631 + None, # 1632 + None, # 1633 + None, # 1634 + None, # 1635 + None, # 1636 + None, # 1637 + None, # 1638 + None, # 1639 + None, # 1640 + None, # 1641 + None, # 1642 + None, # 1643 + None, # 1644 + None, # 1645 + None, # 1646 + None, # 1647 + None, # 1648 + None, # 1649 + None, # 1650 + None, # 1651 + None, # 1652 + None, # 1653 + None, # 1654 + None, # 1655 + None, # 1656 + None, # 1657 + None, # 1658 + None, # 1659 + None, # 1660 + None, # 1661 + None, # 1662 + None, # 1663 + None, # 1664 + None, # 1665 + None, # 1666 + None, # 1667 + None, # 1668 + None, # 1669 + None, # 1670 + None, # 1671 + None, # 1672 + None, # 1673 + None, # 1674 + None, # 1675 + None, # 1676 + None, # 1677 + None, # 1678 + None, # 1679 + None, # 1680 + None, # 1681 + None, # 1682 + None, # 1683 + None, # 1684 + None, # 1685 + None, # 1686 + None, # 1687 + None, # 1688 + None, # 1689 + None, # 1690 + None, # 1691 + None, # 1692 + None, # 1693 + None, # 1694 + None, # 1695 + None, # 1696 + None, # 1697 + None, # 1698 + None, # 1699 + None, # 1700 + None, # 1701 + None, # 1702 + None, # 1703 + None, # 1704 + None, # 1705 + None, # 1706 + None, # 1707 + None, # 1708 + None, # 1709 + None, # 1710 + None, # 1711 + None, # 1712 + None, # 1713 + None, # 1714 + None, # 1715 + None, # 1716 + None, # 1717 + None, # 1718 + None, # 1719 + None, # 1720 + None, # 1721 + None, # 1722 + None, # 1723 + None, # 1724 + None, # 1725 + None, # 1726 + None, # 1727 + None, # 1728 + None, # 1729 + None, # 1730 + None, # 1731 + None, # 1732 + None, # 1733 + None, # 1734 + None, # 1735 + None, # 1736 + None, # 1737 + None, # 1738 + None, # 1739 + None, # 1740 + None, # 1741 + None, # 1742 + None, # 1743 + None, # 1744 + None, # 1745 + None, # 1746 + None, # 1747 + None, # 1748 + None, # 1749 + None, # 1750 + None, # 1751 + None, # 1752 + None, # 1753 + None, # 1754 + None, # 1755 + None, # 1756 + None, # 1757 + None, # 1758 + None, # 1759 + None, # 1760 + None, # 1761 + None, # 1762 + None, # 1763 + None, # 1764 + None, # 1765 + None, # 1766 + None, # 1767 + None, # 1768 + None, # 1769 + None, # 1770 + None, # 1771 + None, # 1772 + None, # 1773 + None, # 1774 + None, # 1775 + None, # 1776 + None, # 1777 + None, # 1778 + None, # 1779 + None, # 1780 + None, # 1781 + None, # 1782 + None, # 1783 + None, # 1784 + None, # 1785 + None, # 1786 + None, # 1787 + None, # 1788 + None, # 1789 + None, # 1790 + None, # 1791 + None, # 1792 + None, # 1793 + None, # 1794 + None, # 1795 + None, # 1796 + None, # 1797 + None, # 1798 + None, # 1799 + None, # 1800 + None, # 1801 + None, # 1802 + None, # 1803 + None, # 1804 + None, # 1805 + None, # 1806 + None, # 1807 + None, # 1808 + None, # 1809 + None, # 1810 + None, # 1811 + None, # 1812 + None, # 1813 + None, # 1814 + None, # 1815 + None, # 1816 + None, # 1817 + None, # 1818 + None, # 1819 + None, # 1820 + None, # 1821 + None, # 1822 + None, # 1823 + None, # 1824 + None, # 1825 + None, # 1826 + None, # 1827 + None, # 1828 + None, # 1829 + None, # 1830 + None, # 1831 + None, # 1832 + None, # 1833 + None, # 1834 + None, # 1835 + None, # 1836 + None, # 1837 + None, # 1838 + None, # 1839 + None, # 1840 + None, # 1841 + None, # 1842 + None, # 1843 + None, # 1844 + None, # 1845 + None, # 1846 + None, # 1847 + None, # 1848 + None, # 1849 + None, # 1850 + None, # 1851 + None, # 1852 + None, # 1853 + None, # 1854 + None, # 1855 + None, # 1856 + None, # 1857 + None, # 1858 + None, # 1859 + None, # 1860 + None, # 1861 + None, # 1862 + None, # 1863 + None, # 1864 + None, # 1865 + None, # 1866 + None, # 1867 + None, # 1868 + None, # 1869 + None, # 1870 + None, # 1871 + None, # 1872 + None, # 1873 + None, # 1874 + None, # 1875 + None, # 1876 + None, # 1877 + None, # 1878 + None, # 1879 + None, # 1880 + None, # 1881 + None, # 1882 + None, # 1883 + None, # 1884 + None, # 1885 + None, # 1886 + None, # 1887 + None, # 1888 + None, # 1889 + None, # 1890 + None, # 1891 + None, # 1892 + None, # 1893 + None, # 1894 + None, # 1895 + None, # 1896 + None, # 1897 + None, # 1898 + None, # 1899 + None, # 1900 + None, # 1901 + None, # 1902 + None, # 1903 + None, # 1904 + None, # 1905 + None, # 1906 + None, # 1907 + None, # 1908 + None, # 1909 + None, # 1910 + None, # 1911 + None, # 1912 + None, # 1913 + None, # 1914 + None, # 1915 + None, # 1916 + None, # 1917 + None, # 1918 + None, # 1919 + None, # 1920 + None, # 1921 + None, # 1922 + None, # 1923 + None, # 1924 + None, # 1925 + None, # 1926 + None, # 1927 + None, # 1928 + None, # 1929 + None, # 1930 + None, # 1931 + None, # 1932 + None, # 1933 + None, # 1934 + None, # 1935 + None, # 1936 + None, # 1937 + None, # 1938 + None, # 1939 + None, # 1940 + None, # 1941 + None, # 1942 + None, # 1943 + None, # 1944 + None, # 1945 + None, # 1946 + None, # 1947 + None, # 1948 + None, # 1949 + None, # 1950 + None, # 1951 + None, # 1952 + None, # 1953 + None, # 1954 + None, # 1955 + None, # 1956 + None, # 1957 + None, # 1958 + None, # 1959 + None, # 1960 + None, # 1961 + None, # 1962 + None, # 1963 + None, # 1964 + None, # 1965 + None, # 1966 + None, # 1967 + None, # 1968 + None, # 1969 + None, # 1970 + None, # 1971 + None, # 1972 + None, # 1973 + None, # 1974 + None, # 1975 + None, # 1976 + None, # 1977 + None, # 1978 + None, # 1979 + None, # 1980 + None, # 1981 + None, # 1982 + None, # 1983 + None, # 1984 + None, # 1985 + None, # 1986 + None, # 1987 + None, # 1988 + None, # 1989 + None, # 1990 + None, # 1991 + None, # 1992 + None, # 1993 + None, # 1994 + None, # 1995 + None, # 1996 + None, # 1997 + None, # 1998 + None, # 1999 + None, # 2000 + None, # 2001 + None, # 2002 + None, # 2003 + None, # 2004 + None, # 2005 + None, # 2006 + None, # 2007 + None, # 2008 + None, # 2009 + None, # 2010 + None, # 2011 + None, # 2012 + None, # 2013 + None, # 2014 + None, # 2015 + None, # 2016 + None, # 2017 + None, # 2018 + None, # 2019 + None, # 2020 + None, # 2021 + None, # 2022 + None, # 2023 + None, # 2024 + None, # 2025 + None, # 2026 + None, # 2027 + None, # 2028 + None, # 2029 + None, # 2030 + None, # 2031 + None, # 2032 + None, # 2033 + None, # 2034 + None, # 2035 + None, # 2036 + None, # 2037 + None, # 2038 + None, # 2039 + None, # 2040 + None, # 2041 + None, # 2042 + None, # 2043 + None, # 2044 + None, # 2045 + None, # 2046 + None, # 2047 + None, # 2048 + None, # 2049 + None, # 2050 + None, # 2051 + None, # 2052 + None, # 2053 + None, # 2054 + None, # 2055 + None, # 2056 + None, # 2057 + None, # 2058 + None, # 2059 + None, # 2060 + None, # 2061 + None, # 2062 + None, # 2063 + None, # 2064 + None, # 2065 + None, # 2066 + None, # 2067 + None, # 2068 + None, # 2069 + None, # 2070 + None, # 2071 + None, # 2072 + None, # 2073 + None, # 2074 + None, # 2075 + None, # 2076 + None, # 2077 + None, # 2078 + None, # 2079 + None, # 2080 + None, # 2081 + None, # 2082 + None, # 2083 + None, # 2084 + None, # 2085 + None, # 2086 + None, # 2087 + None, # 2088 + None, # 2089 + None, # 2090 + None, # 2091 + None, # 2092 + None, # 2093 + None, # 2094 + None, # 2095 + None, # 2096 + None, # 2097 + None, # 2098 + None, # 2099 + None, # 2100 + None, # 2101 + None, # 2102 + None, # 2103 + None, # 2104 + None, # 2105 + None, # 2106 + None, # 2107 + None, # 2108 + None, # 2109 + None, # 2110 + None, # 2111 + None, # 2112 + None, # 2113 + None, # 2114 + None, # 2115 + None, # 2116 + None, # 2117 + None, # 2118 + None, # 2119 + None, # 2120 + None, # 2121 + None, # 2122 + None, # 2123 + None, # 2124 + None, # 2125 + None, # 2126 + None, # 2127 + None, # 2128 + None, # 2129 + None, # 2130 + None, # 2131 + None, # 2132 + None, # 2133 + None, # 2134 + None, # 2135 + None, # 2136 + None, # 2137 + None, # 2138 + None, # 2139 + None, # 2140 + None, # 2141 + None, # 2142 + None, # 2143 + None, # 2144 + None, # 2145 + None, # 2146 + None, # 2147 + None, # 2148 + None, # 2149 + None, # 2150 + None, # 2151 + None, # 2152 + None, # 2153 + None, # 2154 + None, # 2155 + None, # 2156 + None, # 2157 + None, # 2158 + None, # 2159 + None, # 2160 + None, # 2161 + None, # 2162 + None, # 2163 + None, # 2164 + None, # 2165 + None, # 2166 + None, # 2167 + None, # 2168 + None, # 2169 + None, # 2170 + None, # 2171 + None, # 2172 + None, # 2173 + None, # 2174 + None, # 2175 + None, # 2176 + None, # 2177 + None, # 2178 + None, # 2179 + None, # 2180 + None, # 2181 + None, # 2182 + None, # 2183 + None, # 2184 + None, # 2185 + None, # 2186 + None, # 2187 + None, # 2188 + None, # 2189 + None, # 2190 + None, # 2191 + None, # 2192 + None, # 2193 + None, # 2194 + None, # 2195 + None, # 2196 + None, # 2197 + None, # 2198 + None, # 2199 + None, # 2200 + None, # 2201 + None, # 2202 + None, # 2203 + None, # 2204 + None, # 2205 + None, # 2206 + None, # 2207 + None, # 2208 + None, # 2209 + None, # 2210 + None, # 2211 + None, # 2212 + None, # 2213 + None, # 2214 + None, # 2215 + None, # 2216 + None, # 2217 + None, # 2218 + None, # 2219 + None, # 2220 + None, # 2221 + None, # 2222 + None, # 2223 + None, # 2224 + None, # 2225 + None, # 2226 + None, # 2227 + None, # 2228 + None, # 2229 + None, # 2230 + None, # 2231 + None, # 2232 + None, # 2233 + None, # 2234 + None, # 2235 + None, # 2236 + None, # 2237 + None, # 2238 + None, # 2239 + None, # 2240 + None, # 2241 + None, # 2242 + None, # 2243 + None, # 2244 + None, # 2245 + None, # 2246 + None, # 2247 + None, # 2248 + None, # 2249 + None, # 2250 + None, # 2251 + None, # 2252 + None, # 2253 + None, # 2254 + None, # 2255 + None, # 2256 + None, # 2257 + None, # 2258 + None, # 2259 + None, # 2260 + None, # 2261 + None, # 2262 + None, # 2263 + None, # 2264 + None, # 2265 + None, # 2266 + None, # 2267 + None, # 2268 + None, # 2269 + None, # 2270 + None, # 2271 + None, # 2272 + None, # 2273 + None, # 2274 + None, # 2275 + None, # 2276 + None, # 2277 + None, # 2278 + None, # 2279 + None, # 2280 + None, # 2281 + None, # 2282 + None, # 2283 + None, # 2284 + None, # 2285 + None, # 2286 + None, # 2287 + None, # 2288 + None, # 2289 + None, # 2290 + None, # 2291 + None, # 2292 + None, # 2293 + None, # 2294 + None, # 2295 + None, # 2296 + None, # 2297 + None, # 2298 + None, # 2299 + None, # 2300 + None, # 2301 + None, # 2302 + None, # 2303 + None, # 2304 + None, # 2305 + None, # 2306 + None, # 2307 + None, # 2308 + None, # 2309 + None, # 2310 + None, # 2311 + None, # 2312 + None, # 2313 + None, # 2314 + None, # 2315 + None, # 2316 + None, # 2317 + None, # 2318 + None, # 2319 + None, # 2320 + None, # 2321 + None, # 2322 + None, # 2323 + None, # 2324 + None, # 2325 + None, # 2326 + None, # 2327 + None, # 2328 + None, # 2329 + None, # 2330 + None, # 2331 + None, # 2332 + None, # 2333 + None, # 2334 + None, # 2335 + None, # 2336 + None, # 2337 + None, # 2338 + None, # 2339 + None, # 2340 + None, # 2341 + None, # 2342 + None, # 2343 + None, # 2344 + None, # 2345 + None, # 2346 + None, # 2347 + None, # 2348 + None, # 2349 + None, # 2350 + None, # 2351 + None, # 2352 + None, # 2353 + None, # 2354 + None, # 2355 + None, # 2356 + None, # 2357 + None, # 2358 + None, # 2359 + None, # 2360 + None, # 2361 + None, # 2362 + None, # 2363 + None, # 2364 + None, # 2365 + None, # 2366 + None, # 2367 + None, # 2368 + None, # 2369 + None, # 2370 + None, # 2371 + None, # 2372 + None, # 2373 + None, # 2374 + None, # 2375 + None, # 2376 + None, # 2377 + None, # 2378 + None, # 2379 + None, # 2380 + None, # 2381 + None, # 2382 + None, # 2383 + None, # 2384 + None, # 2385 + None, # 2386 + None, # 2387 + None, # 2388 + None, # 2389 + None, # 2390 + None, # 2391 + None, # 2392 + None, # 2393 + None, # 2394 + None, # 2395 + None, # 2396 + None, # 2397 + None, # 2398 + None, # 2399 + None, # 2400 + None, # 2401 + None, # 2402 + None, # 2403 + None, # 2404 + None, # 2405 + None, # 2406 + None, # 2407 + None, # 2408 + None, # 2409 + None, # 2410 + None, # 2411 + None, # 2412 + None, # 2413 + None, # 2414 + None, # 2415 + None, # 2416 + None, # 2417 + None, # 2418 + None, # 2419 + None, # 2420 + None, # 2421 + None, # 2422 + None, # 2423 + None, # 2424 + None, # 2425 + None, # 2426 + None, # 2427 + None, # 2428 + None, # 2429 + None, # 2430 + None, # 2431 + None, # 2432 + None, # 2433 + None, # 2434 + None, # 2435 + None, # 2436 + None, # 2437 + None, # 2438 + None, # 2439 + None, # 2440 + None, # 2441 + None, # 2442 + None, # 2443 + None, # 2444 + None, # 2445 + None, # 2446 + None, # 2447 + None, # 2448 + None, # 2449 + None, # 2450 + None, # 2451 + None, # 2452 + None, # 2453 + None, # 2454 + None, # 2455 + None, # 2456 + None, # 2457 + None, # 2458 + None, # 2459 + None, # 2460 + None, # 2461 + None, # 2462 + None, # 2463 + None, # 2464 + None, # 2465 + None, # 2466 + None, # 2467 + None, # 2468 + None, # 2469 + None, # 2470 + None, # 2471 + None, # 2472 + None, # 2473 + None, # 2474 + None, # 2475 + None, # 2476 + None, # 2477 + None, # 2478 + None, # 2479 + None, # 2480 + None, # 2481 + None, # 2482 + None, # 2483 + None, # 2484 + None, # 2485 + None, # 2486 + None, # 2487 + None, # 2488 + None, # 2489 + None, # 2490 + None, # 2491 + None, # 2492 + None, # 2493 + None, # 2494 + None, # 2495 + None, # 2496 + None, # 2497 + None, # 2498 + None, # 2499 + None, # 2500 + None, # 2501 + None, # 2502 + None, # 2503 + None, # 2504 + None, # 2505 + None, # 2506 + None, # 2507 + None, # 2508 + None, # 2509 + None, # 2510 + None, # 2511 + None, # 2512 + None, # 2513 + None, # 2514 + None, # 2515 + None, # 2516 + None, # 2517 + None, # 2518 + None, # 2519 + None, # 2520 + None, # 2521 + None, # 2522 + None, # 2523 + None, # 2524 + None, # 2525 + None, # 2526 + None, # 2527 + None, # 2528 + None, # 2529 + None, # 2530 + None, # 2531 + None, # 2532 + None, # 2533 + None, # 2534 + None, # 2535 + None, # 2536 + None, # 2537 + None, # 2538 + None, # 2539 + None, # 2540 + None, # 2541 + None, # 2542 + None, # 2543 + None, # 2544 + None, # 2545 + None, # 2546 + None, # 2547 + None, # 2548 + None, # 2549 + None, # 2550 + None, # 2551 + None, # 2552 + None, # 2553 + None, # 2554 + None, # 2555 + None, # 2556 + None, # 2557 + None, # 2558 + None, # 2559 + None, # 2560 + None, # 2561 + None, # 2562 + None, # 2563 + None, # 2564 + None, # 2565 + None, # 2566 + None, # 2567 + None, # 2568 + None, # 2569 + None, # 2570 + None, # 2571 + None, # 2572 + None, # 2573 + None, # 2574 + None, # 2575 + None, # 2576 + None, # 2577 + None, # 2578 + None, # 2579 + None, # 2580 + None, # 2581 + None, # 2582 + None, # 2583 + None, # 2584 + None, # 2585 + None, # 2586 + None, # 2587 + None, # 2588 + None, # 2589 + None, # 2590 + None, # 2591 + None, # 2592 + None, # 2593 + None, # 2594 + None, # 2595 + None, # 2596 + None, # 2597 + None, # 2598 + None, # 2599 + None, # 2600 + None, # 2601 + None, # 2602 + None, # 2603 + None, # 2604 + None, # 2605 + None, # 2606 + None, # 2607 + None, # 2608 + None, # 2609 + None, # 2610 + None, # 2611 + None, # 2612 + None, # 2613 + None, # 2614 + None, # 2615 + None, # 2616 + None, # 2617 + None, # 2618 + None, # 2619 + None, # 2620 + None, # 2621 + None, # 2622 + None, # 2623 + None, # 2624 + None, # 2625 + None, # 2626 + None, # 2627 + None, # 2628 + None, # 2629 + None, # 2630 + None, # 2631 + None, # 2632 + None, # 2633 + None, # 2634 + None, # 2635 + None, # 2636 + None, # 2637 + None, # 2638 + None, # 2639 + None, # 2640 + None, # 2641 + None, # 2642 + None, # 2643 + None, # 2644 + None, # 2645 + None, # 2646 + None, # 2647 + None, # 2648 + None, # 2649 + None, # 2650 + None, # 2651 + None, # 2652 + None, # 2653 + None, # 2654 + None, # 2655 + None, # 2656 + None, # 2657 + None, # 2658 + None, # 2659 + None, # 2660 + None, # 2661 + None, # 2662 + None, # 2663 + None, # 2664 + None, # 2665 + None, # 2666 + None, # 2667 + None, # 2668 + None, # 2669 + None, # 2670 + None, # 2671 + None, # 2672 + None, # 2673 + None, # 2674 + None, # 2675 + None, # 2676 + None, # 2677 + None, # 2678 + None, # 2679 + None, # 2680 + None, # 2681 + None, # 2682 + None, # 2683 + None, # 2684 + None, # 2685 + None, # 2686 + None, # 2687 + None, # 2688 + None, # 2689 + None, # 2690 + None, # 2691 + None, # 2692 + None, # 2693 + None, # 2694 + None, # 2695 + None, # 2696 + None, # 2697 + None, # 2698 + None, # 2699 + None, # 2700 + None, # 2701 + None, # 2702 + None, # 2703 + None, # 2704 + None, # 2705 + None, # 2706 + None, # 2707 + None, # 2708 + None, # 2709 + None, # 2710 + None, # 2711 + None, # 2712 + None, # 2713 + None, # 2714 + None, # 2715 + None, # 2716 + None, # 2717 + None, # 2718 + None, # 2719 + None, # 2720 + None, # 2721 + None, # 2722 + None, # 2723 + None, # 2724 + None, # 2725 + None, # 2726 + None, # 2727 + None, # 2728 + None, # 2729 + None, # 2730 + None, # 2731 + None, # 2732 + None, # 2733 + None, # 2734 + None, # 2735 + None, # 2736 + None, # 2737 + None, # 2738 + None, # 2739 + None, # 2740 + None, # 2741 + None, # 2742 + None, # 2743 + None, # 2744 + None, # 2745 + None, # 2746 + None, # 2747 + None, # 2748 + None, # 2749 + None, # 2750 + None, # 2751 + None, # 2752 + None, # 2753 + None, # 2754 + None, # 2755 + None, # 2756 + None, # 2757 + None, # 2758 + None, # 2759 + None, # 2760 + None, # 2761 + None, # 2762 + None, # 2763 + None, # 2764 + None, # 2765 + None, # 2766 + None, # 2767 + None, # 2768 + None, # 2769 + None, # 2770 + None, # 2771 + None, # 2772 + None, # 2773 + None, # 2774 + None, # 2775 + None, # 2776 + None, # 2777 + None, # 2778 + None, # 2779 + None, # 2780 + None, # 2781 + None, # 2782 + None, # 2783 + None, # 2784 + None, # 2785 + None, # 2786 + None, # 2787 + None, # 2788 + None, # 2789 + None, # 2790 + None, # 2791 + None, # 2792 + None, # 2793 + None, # 2794 + None, # 2795 + None, # 2796 + None, # 2797 + None, # 2798 + None, # 2799 + None, # 2800 + None, # 2801 + None, # 2802 + None, # 2803 + None, # 2804 + None, # 2805 + None, # 2806 + None, # 2807 + None, # 2808 + None, # 2809 + None, # 2810 + None, # 2811 + None, # 2812 + None, # 2813 + None, # 2814 + None, # 2815 + None, # 2816 + None, # 2817 + None, # 2818 + None, # 2819 + None, # 2820 + None, # 2821 + None, # 2822 + None, # 2823 + None, # 2824 + None, # 2825 + None, # 2826 + None, # 2827 + None, # 2828 + None, # 2829 + None, # 2830 + None, # 2831 + None, # 2832 + None, # 2833 + None, # 2834 + None, # 2835 + None, # 2836 + None, # 2837 + None, # 2838 + None, # 2839 + None, # 2840 + None, # 2841 + None, # 2842 + None, # 2843 + None, # 2844 + None, # 2845 + None, # 2846 + None, # 2847 + None, # 2848 + None, # 2849 + None, # 2850 + None, # 2851 + None, # 2852 + None, # 2853 + None, # 2854 + None, # 2855 + None, # 2856 + None, # 2857 + None, # 2858 + None, # 2859 + None, # 2860 + None, # 2861 + None, # 2862 + None, # 2863 + None, # 2864 + None, # 2865 + None, # 2866 + None, # 2867 + None, # 2868 + None, # 2869 + None, # 2870 + None, # 2871 + None, # 2872 + None, # 2873 + None, # 2874 + None, # 2875 + None, # 2876 + None, # 2877 + None, # 2878 + None, # 2879 + None, # 2880 + None, # 2881 + None, # 2882 + None, # 2883 + None, # 2884 + None, # 2885 + None, # 2886 + None, # 2887 + None, # 2888 + None, # 2889 + None, # 2890 + None, # 2891 + None, # 2892 + None, # 2893 + None, # 2894 + None, # 2895 + None, # 2896 + None, # 2897 + None, # 2898 + None, # 2899 + None, # 2900 + None, # 2901 + None, # 2902 + None, # 2903 + None, # 2904 + None, # 2905 + None, # 2906 + None, # 2907 + None, # 2908 + None, # 2909 + None, # 2910 + None, # 2911 + None, # 2912 + None, # 2913 + None, # 2914 + None, # 2915 + None, # 2916 + None, # 2917 + None, # 2918 + None, # 2919 + None, # 2920 + None, # 2921 + None, # 2922 + None, # 2923 + None, # 2924 + None, # 2925 + None, # 2926 + None, # 2927 + None, # 2928 + None, # 2929 + None, # 2930 + None, # 2931 + None, # 2932 + None, # 2933 + None, # 2934 + None, # 2935 + None, # 2936 + None, # 2937 + None, # 2938 + None, # 2939 + None, # 2940 + None, # 2941 + None, # 2942 + None, # 2943 + None, # 2944 + None, # 2945 + None, # 2946 + None, # 2947 + None, # 2948 + None, # 2949 + None, # 2950 + None, # 2951 + None, # 2952 + None, # 2953 + None, # 2954 + None, # 2955 + None, # 2956 + None, # 2957 + None, # 2958 + None, # 2959 + None, # 2960 + None, # 2961 + None, # 2962 + None, # 2963 + None, # 2964 + None, # 2965 + None, # 2966 + None, # 2967 + None, # 2968 + None, # 2969 + None, # 2970 + None, # 2971 + None, # 2972 + None, # 2973 + None, # 2974 + None, # 2975 + None, # 2976 + None, # 2977 + None, # 2978 + None, # 2979 + None, # 2980 + None, # 2981 + None, # 2982 + None, # 2983 + None, # 2984 + None, # 2985 + None, # 2986 + None, # 2987 + None, # 2988 + None, # 2989 + None, # 2990 + None, # 2991 + None, # 2992 + None, # 2993 + None, # 2994 + None, # 2995 + None, # 2996 + None, # 2997 + None, # 2998 + None, # 2999 + None, # 3000 + None, # 3001 + None, # 3002 + None, # 3003 + None, # 3004 + None, # 3005 + None, # 3006 + None, # 3007 + None, # 3008 + None, # 3009 + None, # 3010 + None, # 3011 + None, # 3012 + None, # 3013 + None, # 3014 + None, # 3015 + None, # 3016 + None, # 3017 + None, # 3018 + None, # 3019 + None, # 3020 + None, # 3021 + None, # 3022 + None, # 3023 + None, # 3024 + None, # 3025 + None, # 3026 + None, # 3027 + None, # 3028 + None, # 3029 + None, # 3030 + None, # 3031 + None, # 3032 + None, # 3033 + None, # 3034 + None, # 3035 + None, # 3036 + None, # 3037 + None, # 3038 + None, # 3039 + None, # 3040 + None, # 3041 + None, # 3042 + None, # 3043 + None, # 3044 + None, # 3045 + None, # 3046 + None, # 3047 + None, # 3048 + None, # 3049 + None, # 3050 + None, # 3051 + None, # 3052 + None, # 3053 + None, # 3054 + None, # 3055 + None, # 3056 + None, # 3057 + None, # 3058 + None, # 3059 + None, # 3060 + None, # 3061 + None, # 3062 + None, # 3063 + None, # 3064 + None, # 3065 + None, # 3066 + None, # 3067 + None, # 3068 + None, # 3069 + None, # 3070 + None, # 3071 + None, # 3072 + None, # 3073 + None, # 3074 + None, # 3075 + None, # 3076 + None, # 3077 + None, # 3078 + None, # 3079 + None, # 3080 + None, # 3081 + None, # 3082 + None, # 3083 + None, # 3084 + None, # 3085 + None, # 3086 + None, # 3087 + None, # 3088 + None, # 3089 + None, # 3090 + None, # 3091 + None, # 3092 + None, # 3093 + None, # 3094 + None, # 3095 + None, # 3096 + None, # 3097 + None, # 3098 + None, # 3099 + None, # 3100 + None, # 3101 + None, # 3102 + None, # 3103 + None, # 3104 + None, # 3105 + None, # 3106 + None, # 3107 + None, # 3108 + None, # 3109 + None, # 3110 + None, # 3111 + None, # 3112 + None, # 3113 + None, # 3114 + None, # 3115 + None, # 3116 + None, # 3117 + None, # 3118 + None, # 3119 + None, # 3120 + None, # 3121 + None, # 3122 + None, # 3123 + None, # 3124 + None, # 3125 + None, # 3126 + None, # 3127 + None, # 3128 + None, # 3129 + None, # 3130 + None, # 3131 + None, # 3132 + None, # 3133 + None, # 3134 + None, # 3135 + None, # 3136 + None, # 3137 + None, # 3138 + None, # 3139 + None, # 3140 + None, # 3141 + None, # 3142 + None, # 3143 + None, # 3144 + None, # 3145 + None, # 3146 + None, # 3147 + None, # 3148 + None, # 3149 + None, # 3150 + None, # 3151 + None, # 3152 + None, # 3153 + None, # 3154 + None, # 3155 + None, # 3156 + None, # 3157 + None, # 3158 + None, # 3159 + None, # 3160 + None, # 3161 + None, # 3162 + None, # 3163 + None, # 3164 + None, # 3165 + None, # 3166 + None, # 3167 + None, # 3168 + None, # 3169 + None, # 3170 + None, # 3171 + None, # 3172 + None, # 3173 + None, # 3174 + None, # 3175 + None, # 3176 + None, # 3177 + None, # 3178 + None, # 3179 + None, # 3180 + None, # 3181 + None, # 3182 + None, # 3183 + None, # 3184 + None, # 3185 + None, # 3186 + None, # 3187 + None, # 3188 + None, # 3189 + None, # 3190 + None, # 3191 + None, # 3192 + None, # 3193 + None, # 3194 + None, # 3195 + None, # 3196 + None, # 3197 + None, # 3198 + None, # 3199 + None, # 3200 + None, # 3201 + None, # 3202 + None, # 3203 + None, # 3204 + None, # 3205 + None, # 3206 + None, # 3207 + None, # 3208 + None, # 3209 + None, # 3210 + None, # 3211 + None, # 3212 + None, # 3213 + None, # 3214 + None, # 3215 + None, # 3216 + None, # 3217 + None, # 3218 + None, # 3219 + None, # 3220 + None, # 3221 + None, # 3222 + None, # 3223 + None, # 3224 + None, # 3225 + None, # 3226 + None, # 3227 + None, # 3228 + None, # 3229 + None, # 3230 + None, # 3231 + None, # 3232 + None, # 3233 + None, # 3234 + None, # 3235 + None, # 3236 + None, # 3237 + None, # 3238 + None, # 3239 + None, # 3240 + None, # 3241 + None, # 3242 + None, # 3243 + None, # 3244 + None, # 3245 + None, # 3246 + None, # 3247 + None, # 3248 + None, # 3249 + None, # 3250 + None, # 3251 + None, # 3252 + None, # 3253 + None, # 3254 + None, # 3255 + None, # 3256 + None, # 3257 + None, # 3258 + None, # 3259 + None, # 3260 + None, # 3261 + None, # 3262 + None, # 3263 + None, # 3264 + None, # 3265 + None, # 3266 + None, # 3267 + None, # 3268 + None, # 3269 + None, # 3270 + None, # 3271 + None, # 3272 + None, # 3273 + None, # 3274 + None, # 3275 + None, # 3276 + None, # 3277 + None, # 3278 + None, # 3279 + None, # 3280 + None, # 3281 + None, # 3282 + None, # 3283 + None, # 3284 + None, # 3285 + None, # 3286 + None, # 3287 + None, # 3288 + None, # 3289 + None, # 3290 + None, # 3291 + None, # 3292 + None, # 3293 + None, # 3294 + None, # 3295 + None, # 3296 + None, # 3297 + None, # 3298 + None, # 3299 + None, # 3300 + None, # 3301 + None, # 3302 + None, # 3303 + None, # 3304 + None, # 3305 + None, # 3306 + None, # 3307 + None, # 3308 + None, # 3309 + None, # 3310 + None, # 3311 + None, # 3312 + None, # 3313 + None, # 3314 + None, # 3315 + None, # 3316 + None, # 3317 + None, # 3318 + None, # 3319 + None, # 3320 + None, # 3321 + None, # 3322 + None, # 3323 + None, # 3324 + None, # 3325 + None, # 3326 + None, # 3327 + None, # 3328 + (3329, TType.STRING, 'responseValidation', 'BINARY', None, ), # 3329 + (3330, TType.I32, 'idempotencyType', None, None, ), # 3330 + (3331, TType.I64, 'statementTimeout', None, None, ), # 3331 + (3332, TType.I32, 'statementTimeoutLevel', None, None, ), # 3332 ) all_structs.append(TCancelOperationReq) TCancelOperationReq.thrift_spec = ( - None, # 0 - (1, TType.STRUCT, 'operationHandle', [TOperationHandle, None], None, ), # 1 - None, # 2 - None, # 3 - None, # 4 - None, # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - None, # 1281 - None, # 1282 - None, # 1283 - None, # 1284 - None, # 1285 - None, # 1286 - None, # 1287 - None, # 1288 - None, # 1289 - None, # 1290 - None, # 1291 - None, # 1292 - None, # 1293 - None, # 1294 - None, # 1295 - None, # 1296 - None, # 1297 - None, # 1298 - None, # 1299 - None, # 1300 - None, # 1301 - None, # 1302 - None, # 1303 - None, # 1304 - None, # 1305 - None, # 1306 - None, # 1307 - None, # 1308 - None, # 1309 - None, # 1310 - None, # 1311 - None, # 1312 - None, # 1313 - None, # 1314 - None, # 1315 - None, # 1316 - None, # 1317 - None, # 1318 - None, # 1319 - None, # 1320 - None, # 1321 - None, # 1322 - None, # 1323 - None, # 1324 - None, # 1325 - None, # 1326 - None, # 1327 - None, # 1328 - None, # 1329 - None, # 1330 - None, # 1331 - None, # 1332 - None, # 1333 - None, # 1334 - None, # 1335 - None, # 1336 - None, # 1337 - None, # 1338 - None, # 1339 - None, # 1340 - None, # 1341 - None, # 1342 - None, # 1343 - None, # 1344 - None, # 1345 - None, # 1346 - None, # 1347 - None, # 1348 - None, # 1349 - None, # 1350 - None, # 1351 - None, # 1352 - None, # 1353 - None, # 1354 - None, # 1355 - None, # 1356 - None, # 1357 - None, # 1358 - None, # 1359 - None, # 1360 - None, # 1361 - None, # 1362 - None, # 1363 - None, # 1364 - None, # 1365 - None, # 1366 - None, # 1367 - None, # 1368 - None, # 1369 - None, # 1370 - None, # 1371 - None, # 1372 - None, # 1373 - None, # 1374 - None, # 1375 - None, # 1376 - None, # 1377 - None, # 1378 - None, # 1379 - None, # 1380 - None, # 1381 - None, # 1382 - None, # 1383 - None, # 1384 - None, # 1385 - None, # 1386 - None, # 1387 - None, # 1388 - None, # 1389 - None, # 1390 - None, # 1391 - None, # 1392 - None, # 1393 - None, # 1394 - None, # 1395 - None, # 1396 - None, # 1397 - None, # 1398 - None, # 1399 - None, # 1400 - None, # 1401 - None, # 1402 - None, # 1403 - None, # 1404 - None, # 1405 - None, # 1406 - None, # 1407 - None, # 1408 - None, # 1409 - None, # 1410 - None, # 1411 - None, # 1412 - None, # 1413 - None, # 1414 - None, # 1415 - None, # 1416 - None, # 1417 - None, # 1418 - None, # 1419 - None, # 1420 - None, # 1421 - None, # 1422 - None, # 1423 - None, # 1424 - None, # 1425 - None, # 1426 - None, # 1427 - None, # 1428 - None, # 1429 - None, # 1430 - None, # 1431 - None, # 1432 - None, # 1433 - None, # 1434 - None, # 1435 - None, # 1436 - None, # 1437 - None, # 1438 - None, # 1439 - None, # 1440 - None, # 1441 - None, # 1442 - None, # 1443 - None, # 1444 - None, # 1445 - None, # 1446 - None, # 1447 - None, # 1448 - None, # 1449 - None, # 1450 - None, # 1451 - None, # 1452 - None, # 1453 - None, # 1454 - None, # 1455 - None, # 1456 - None, # 1457 - None, # 1458 - None, # 1459 - None, # 1460 - None, # 1461 - None, # 1462 - None, # 1463 - None, # 1464 - None, # 1465 - None, # 1466 - None, # 1467 - None, # 1468 - None, # 1469 - None, # 1470 - None, # 1471 - None, # 1472 - None, # 1473 - None, # 1474 - None, # 1475 - None, # 1476 - None, # 1477 - None, # 1478 - None, # 1479 - None, # 1480 - None, # 1481 - None, # 1482 - None, # 1483 - None, # 1484 - None, # 1485 - None, # 1486 - None, # 1487 - None, # 1488 - None, # 1489 - None, # 1490 - None, # 1491 - None, # 1492 - None, # 1493 - None, # 1494 - None, # 1495 - None, # 1496 - None, # 1497 - None, # 1498 - None, # 1499 - None, # 1500 - None, # 1501 - None, # 1502 - None, # 1503 - None, # 1504 - None, # 1505 - None, # 1506 - None, # 1507 - None, # 1508 - None, # 1509 - None, # 1510 - None, # 1511 - None, # 1512 - None, # 1513 - None, # 1514 - None, # 1515 - None, # 1516 - None, # 1517 - None, # 1518 - None, # 1519 - None, # 1520 - None, # 1521 - None, # 1522 - None, # 1523 - None, # 1524 - None, # 1525 - None, # 1526 - None, # 1527 - None, # 1528 - None, # 1529 - None, # 1530 - None, # 1531 - None, # 1532 - None, # 1533 - None, # 1534 - None, # 1535 - None, # 1536 - None, # 1537 - None, # 1538 - None, # 1539 - None, # 1540 - None, # 1541 - None, # 1542 - None, # 1543 - None, # 1544 - None, # 1545 - None, # 1546 - None, # 1547 - None, # 1548 - None, # 1549 - None, # 1550 - None, # 1551 - None, # 1552 - None, # 1553 - None, # 1554 - None, # 1555 - None, # 1556 - None, # 1557 - None, # 1558 - None, # 1559 - None, # 1560 - None, # 1561 - None, # 1562 - None, # 1563 - None, # 1564 - None, # 1565 - None, # 1566 - None, # 1567 - None, # 1568 - None, # 1569 - None, # 1570 - None, # 1571 - None, # 1572 - None, # 1573 - None, # 1574 - None, # 1575 - None, # 1576 - None, # 1577 - None, # 1578 - None, # 1579 - None, # 1580 - None, # 1581 - None, # 1582 - None, # 1583 - None, # 1584 - None, # 1585 - None, # 1586 - None, # 1587 - None, # 1588 - None, # 1589 - None, # 1590 - None, # 1591 - None, # 1592 - None, # 1593 - None, # 1594 - None, # 1595 - None, # 1596 - None, # 1597 - None, # 1598 - None, # 1599 - None, # 1600 - None, # 1601 - None, # 1602 - None, # 1603 - None, # 1604 - None, # 1605 - None, # 1606 - None, # 1607 - None, # 1608 - None, # 1609 - None, # 1610 - None, # 1611 - None, # 1612 - None, # 1613 - None, # 1614 - None, # 1615 - None, # 1616 - None, # 1617 - None, # 1618 - None, # 1619 - None, # 1620 - None, # 1621 - None, # 1622 - None, # 1623 - None, # 1624 - None, # 1625 - None, # 1626 - None, # 1627 - None, # 1628 - None, # 1629 - None, # 1630 - None, # 1631 - None, # 1632 - None, # 1633 - None, # 1634 - None, # 1635 - None, # 1636 - None, # 1637 - None, # 1638 - None, # 1639 - None, # 1640 - None, # 1641 - None, # 1642 - None, # 1643 - None, # 1644 - None, # 1645 - None, # 1646 - None, # 1647 - None, # 1648 - None, # 1649 - None, # 1650 - None, # 1651 - None, # 1652 - None, # 1653 - None, # 1654 - None, # 1655 - None, # 1656 - None, # 1657 - None, # 1658 - None, # 1659 - None, # 1660 - None, # 1661 - None, # 1662 - None, # 1663 - None, # 1664 - None, # 1665 - None, # 1666 - None, # 1667 - None, # 1668 - None, # 1669 - None, # 1670 - None, # 1671 - None, # 1672 - None, # 1673 - None, # 1674 - None, # 1675 - None, # 1676 - None, # 1677 - None, # 1678 - None, # 1679 - None, # 1680 - None, # 1681 - None, # 1682 - None, # 1683 - None, # 1684 - None, # 1685 - None, # 1686 - None, # 1687 - None, # 1688 - None, # 1689 - None, # 1690 - None, # 1691 - None, # 1692 - None, # 1693 - None, # 1694 - None, # 1695 - None, # 1696 - None, # 1697 - None, # 1698 - None, # 1699 - None, # 1700 - None, # 1701 - None, # 1702 - None, # 1703 - None, # 1704 - None, # 1705 - None, # 1706 - None, # 1707 - None, # 1708 - None, # 1709 - None, # 1710 - None, # 1711 - None, # 1712 - None, # 1713 - None, # 1714 - None, # 1715 - None, # 1716 - None, # 1717 - None, # 1718 - None, # 1719 - None, # 1720 - None, # 1721 - None, # 1722 - None, # 1723 - None, # 1724 - None, # 1725 - None, # 1726 - None, # 1727 - None, # 1728 - None, # 1729 - None, # 1730 - None, # 1731 - None, # 1732 - None, # 1733 - None, # 1734 - None, # 1735 - None, # 1736 - None, # 1737 - None, # 1738 - None, # 1739 - None, # 1740 - None, # 1741 - None, # 1742 - None, # 1743 - None, # 1744 - None, # 1745 - None, # 1746 - None, # 1747 - None, # 1748 - None, # 1749 - None, # 1750 - None, # 1751 - None, # 1752 - None, # 1753 - None, # 1754 - None, # 1755 - None, # 1756 - None, # 1757 - None, # 1758 - None, # 1759 - None, # 1760 - None, # 1761 - None, # 1762 - None, # 1763 - None, # 1764 - None, # 1765 - None, # 1766 - None, # 1767 - None, # 1768 - None, # 1769 - None, # 1770 - None, # 1771 - None, # 1772 - None, # 1773 - None, # 1774 - None, # 1775 - None, # 1776 - None, # 1777 - None, # 1778 - None, # 1779 - None, # 1780 - None, # 1781 - None, # 1782 - None, # 1783 - None, # 1784 - None, # 1785 - None, # 1786 - None, # 1787 - None, # 1788 - None, # 1789 - None, # 1790 - None, # 1791 - None, # 1792 - None, # 1793 - None, # 1794 - None, # 1795 - None, # 1796 - None, # 1797 - None, # 1798 - None, # 1799 - None, # 1800 - None, # 1801 - None, # 1802 - None, # 1803 - None, # 1804 - None, # 1805 - None, # 1806 - None, # 1807 - None, # 1808 - None, # 1809 - None, # 1810 - None, # 1811 - None, # 1812 - None, # 1813 - None, # 1814 - None, # 1815 - None, # 1816 - None, # 1817 - None, # 1818 - None, # 1819 - None, # 1820 - None, # 1821 - None, # 1822 - None, # 1823 - None, # 1824 - None, # 1825 - None, # 1826 - None, # 1827 - None, # 1828 - None, # 1829 - None, # 1830 - None, # 1831 - None, # 1832 - None, # 1833 - None, # 1834 - None, # 1835 - None, # 1836 - None, # 1837 - None, # 1838 - None, # 1839 - None, # 1840 - None, # 1841 - None, # 1842 - None, # 1843 - None, # 1844 - None, # 1845 - None, # 1846 - None, # 1847 - None, # 1848 - None, # 1849 - None, # 1850 - None, # 1851 - None, # 1852 - None, # 1853 - None, # 1854 - None, # 1855 - None, # 1856 - None, # 1857 - None, # 1858 - None, # 1859 - None, # 1860 - None, # 1861 - None, # 1862 - None, # 1863 - None, # 1864 - None, # 1865 - None, # 1866 - None, # 1867 - None, # 1868 - None, # 1869 - None, # 1870 - None, # 1871 - None, # 1872 - None, # 1873 - None, # 1874 - None, # 1875 - None, # 1876 - None, # 1877 - None, # 1878 - None, # 1879 - None, # 1880 - None, # 1881 - None, # 1882 - None, # 1883 - None, # 1884 - None, # 1885 - None, # 1886 - None, # 1887 - None, # 1888 - None, # 1889 - None, # 1890 - None, # 1891 - None, # 1892 - None, # 1893 - None, # 1894 - None, # 1895 - None, # 1896 - None, # 1897 - None, # 1898 - None, # 1899 - None, # 1900 - None, # 1901 - None, # 1902 - None, # 1903 - None, # 1904 - None, # 1905 - None, # 1906 - None, # 1907 - None, # 1908 - None, # 1909 - None, # 1910 - None, # 1911 - None, # 1912 - None, # 1913 - None, # 1914 - None, # 1915 - None, # 1916 - None, # 1917 - None, # 1918 - None, # 1919 - None, # 1920 - None, # 1921 - None, # 1922 - None, # 1923 - None, # 1924 - None, # 1925 - None, # 1926 - None, # 1927 - None, # 1928 - None, # 1929 - None, # 1930 - None, # 1931 - None, # 1932 - None, # 1933 - None, # 1934 - None, # 1935 - None, # 1936 - None, # 1937 - None, # 1938 - None, # 1939 - None, # 1940 - None, # 1941 - None, # 1942 - None, # 1943 - None, # 1944 - None, # 1945 - None, # 1946 - None, # 1947 - None, # 1948 - None, # 1949 - None, # 1950 - None, # 1951 - None, # 1952 - None, # 1953 - None, # 1954 - None, # 1955 - None, # 1956 - None, # 1957 - None, # 1958 - None, # 1959 - None, # 1960 - None, # 1961 - None, # 1962 - None, # 1963 - None, # 1964 - None, # 1965 - None, # 1966 - None, # 1967 - None, # 1968 - None, # 1969 - None, # 1970 - None, # 1971 - None, # 1972 - None, # 1973 - None, # 1974 - None, # 1975 - None, # 1976 - None, # 1977 - None, # 1978 - None, # 1979 - None, # 1980 - None, # 1981 - None, # 1982 - None, # 1983 - None, # 1984 - None, # 1985 - None, # 1986 - None, # 1987 - None, # 1988 - None, # 1989 - None, # 1990 - None, # 1991 - None, # 1992 - None, # 1993 - None, # 1994 - None, # 1995 - None, # 1996 - None, # 1997 - None, # 1998 - None, # 1999 - None, # 2000 - None, # 2001 - None, # 2002 - None, # 2003 - None, # 2004 - None, # 2005 - None, # 2006 - None, # 2007 - None, # 2008 - None, # 2009 - None, # 2010 - None, # 2011 - None, # 2012 - None, # 2013 - None, # 2014 - None, # 2015 - None, # 2016 - None, # 2017 - None, # 2018 - None, # 2019 - None, # 2020 - None, # 2021 - None, # 2022 - None, # 2023 - None, # 2024 - None, # 2025 - None, # 2026 - None, # 2027 - None, # 2028 - None, # 2029 - None, # 2030 - None, # 2031 - None, # 2032 - None, # 2033 - None, # 2034 - None, # 2035 - None, # 2036 - None, # 2037 - None, # 2038 - None, # 2039 - None, # 2040 - None, # 2041 - None, # 2042 - None, # 2043 - None, # 2044 - None, # 2045 - None, # 2046 - None, # 2047 - None, # 2048 - None, # 2049 - None, # 2050 - None, # 2051 - None, # 2052 - None, # 2053 - None, # 2054 - None, # 2055 - None, # 2056 - None, # 2057 - None, # 2058 - None, # 2059 - None, # 2060 - None, # 2061 - None, # 2062 - None, # 2063 - None, # 2064 - None, # 2065 - None, # 2066 - None, # 2067 - None, # 2068 - None, # 2069 - None, # 2070 - None, # 2071 - None, # 2072 - None, # 2073 - None, # 2074 - None, # 2075 - None, # 2076 - None, # 2077 - None, # 2078 - None, # 2079 - None, # 2080 - None, # 2081 - None, # 2082 - None, # 2083 - None, # 2084 - None, # 2085 - None, # 2086 - None, # 2087 - None, # 2088 - None, # 2089 - None, # 2090 - None, # 2091 - None, # 2092 - None, # 2093 - None, # 2094 - None, # 2095 - None, # 2096 - None, # 2097 - None, # 2098 - None, # 2099 - None, # 2100 - None, # 2101 - None, # 2102 - None, # 2103 - None, # 2104 - None, # 2105 - None, # 2106 - None, # 2107 - None, # 2108 - None, # 2109 - None, # 2110 - None, # 2111 - None, # 2112 - None, # 2113 - None, # 2114 - None, # 2115 - None, # 2116 - None, # 2117 - None, # 2118 - None, # 2119 - None, # 2120 - None, # 2121 - None, # 2122 - None, # 2123 - None, # 2124 - None, # 2125 - None, # 2126 - None, # 2127 - None, # 2128 - None, # 2129 - None, # 2130 - None, # 2131 - None, # 2132 - None, # 2133 - None, # 2134 - None, # 2135 - None, # 2136 - None, # 2137 - None, # 2138 - None, # 2139 - None, # 2140 - None, # 2141 - None, # 2142 - None, # 2143 - None, # 2144 - None, # 2145 - None, # 2146 - None, # 2147 - None, # 2148 - None, # 2149 - None, # 2150 - None, # 2151 - None, # 2152 - None, # 2153 - None, # 2154 - None, # 2155 - None, # 2156 - None, # 2157 - None, # 2158 - None, # 2159 - None, # 2160 - None, # 2161 - None, # 2162 - None, # 2163 - None, # 2164 - None, # 2165 - None, # 2166 - None, # 2167 - None, # 2168 - None, # 2169 - None, # 2170 - None, # 2171 - None, # 2172 - None, # 2173 - None, # 2174 - None, # 2175 - None, # 2176 - None, # 2177 - None, # 2178 - None, # 2179 - None, # 2180 - None, # 2181 - None, # 2182 - None, # 2183 - None, # 2184 - None, # 2185 - None, # 2186 - None, # 2187 - None, # 2188 - None, # 2189 - None, # 2190 - None, # 2191 - None, # 2192 - None, # 2193 - None, # 2194 - None, # 2195 - None, # 2196 - None, # 2197 - None, # 2198 - None, # 2199 - None, # 2200 - None, # 2201 - None, # 2202 - None, # 2203 - None, # 2204 - None, # 2205 - None, # 2206 - None, # 2207 - None, # 2208 - None, # 2209 - None, # 2210 - None, # 2211 - None, # 2212 - None, # 2213 - None, # 2214 - None, # 2215 - None, # 2216 - None, # 2217 - None, # 2218 - None, # 2219 - None, # 2220 - None, # 2221 - None, # 2222 - None, # 2223 - None, # 2224 - None, # 2225 - None, # 2226 - None, # 2227 - None, # 2228 - None, # 2229 - None, # 2230 - None, # 2231 - None, # 2232 - None, # 2233 - None, # 2234 - None, # 2235 - None, # 2236 - None, # 2237 - None, # 2238 - None, # 2239 - None, # 2240 - None, # 2241 - None, # 2242 - None, # 2243 - None, # 2244 - None, # 2245 - None, # 2246 - None, # 2247 - None, # 2248 - None, # 2249 - None, # 2250 - None, # 2251 - None, # 2252 - None, # 2253 - None, # 2254 - None, # 2255 - None, # 2256 - None, # 2257 - None, # 2258 - None, # 2259 - None, # 2260 - None, # 2261 - None, # 2262 - None, # 2263 - None, # 2264 - None, # 2265 - None, # 2266 - None, # 2267 - None, # 2268 - None, # 2269 - None, # 2270 - None, # 2271 - None, # 2272 - None, # 2273 - None, # 2274 - None, # 2275 - None, # 2276 - None, # 2277 - None, # 2278 - None, # 2279 - None, # 2280 - None, # 2281 - None, # 2282 - None, # 2283 - None, # 2284 - None, # 2285 - None, # 2286 - None, # 2287 - None, # 2288 - None, # 2289 - None, # 2290 - None, # 2291 - None, # 2292 - None, # 2293 - None, # 2294 - None, # 2295 - None, # 2296 - None, # 2297 - None, # 2298 - None, # 2299 - None, # 2300 - None, # 2301 - None, # 2302 - None, # 2303 - None, # 2304 - None, # 2305 - None, # 2306 - None, # 2307 - None, # 2308 - None, # 2309 - None, # 2310 - None, # 2311 - None, # 2312 - None, # 2313 - None, # 2314 - None, # 2315 - None, # 2316 - None, # 2317 - None, # 2318 - None, # 2319 - None, # 2320 - None, # 2321 - None, # 2322 - None, # 2323 - None, # 2324 - None, # 2325 - None, # 2326 - None, # 2327 - None, # 2328 - None, # 2329 - None, # 2330 - None, # 2331 - None, # 2332 - None, # 2333 - None, # 2334 - None, # 2335 - None, # 2336 - None, # 2337 - None, # 2338 - None, # 2339 - None, # 2340 - None, # 2341 - None, # 2342 - None, # 2343 - None, # 2344 - None, # 2345 - None, # 2346 - None, # 2347 - None, # 2348 - None, # 2349 - None, # 2350 - None, # 2351 - None, # 2352 - None, # 2353 - None, # 2354 - None, # 2355 - None, # 2356 - None, # 2357 - None, # 2358 - None, # 2359 - None, # 2360 - None, # 2361 - None, # 2362 - None, # 2363 - None, # 2364 - None, # 2365 - None, # 2366 - None, # 2367 - None, # 2368 - None, # 2369 - None, # 2370 - None, # 2371 - None, # 2372 - None, # 2373 - None, # 2374 - None, # 2375 - None, # 2376 - None, # 2377 - None, # 2378 - None, # 2379 - None, # 2380 - None, # 2381 - None, # 2382 - None, # 2383 - None, # 2384 - None, # 2385 - None, # 2386 - None, # 2387 - None, # 2388 - None, # 2389 - None, # 2390 - None, # 2391 - None, # 2392 - None, # 2393 - None, # 2394 - None, # 2395 - None, # 2396 - None, # 2397 - None, # 2398 - None, # 2399 - None, # 2400 - None, # 2401 - None, # 2402 - None, # 2403 - None, # 2404 - None, # 2405 - None, # 2406 - None, # 2407 - None, # 2408 - None, # 2409 - None, # 2410 - None, # 2411 - None, # 2412 - None, # 2413 - None, # 2414 - None, # 2415 - None, # 2416 - None, # 2417 - None, # 2418 - None, # 2419 - None, # 2420 - None, # 2421 - None, # 2422 - None, # 2423 - None, # 2424 - None, # 2425 - None, # 2426 - None, # 2427 - None, # 2428 - None, # 2429 - None, # 2430 - None, # 2431 - None, # 2432 - None, # 2433 - None, # 2434 - None, # 2435 - None, # 2436 - None, # 2437 - None, # 2438 - None, # 2439 - None, # 2440 - None, # 2441 - None, # 2442 - None, # 2443 - None, # 2444 - None, # 2445 - None, # 2446 - None, # 2447 - None, # 2448 - None, # 2449 - None, # 2450 - None, # 2451 - None, # 2452 - None, # 2453 - None, # 2454 - None, # 2455 - None, # 2456 - None, # 2457 - None, # 2458 - None, # 2459 - None, # 2460 - None, # 2461 - None, # 2462 - None, # 2463 - None, # 2464 - None, # 2465 - None, # 2466 - None, # 2467 - None, # 2468 - None, # 2469 - None, # 2470 - None, # 2471 - None, # 2472 - None, # 2473 - None, # 2474 - None, # 2475 - None, # 2476 - None, # 2477 - None, # 2478 - None, # 2479 - None, # 2480 - None, # 2481 - None, # 2482 - None, # 2483 - None, # 2484 - None, # 2485 - None, # 2486 - None, # 2487 - None, # 2488 - None, # 2489 - None, # 2490 - None, # 2491 - None, # 2492 - None, # 2493 - None, # 2494 - None, # 2495 - None, # 2496 - None, # 2497 - None, # 2498 - None, # 2499 - None, # 2500 - None, # 2501 - None, # 2502 - None, # 2503 - None, # 2504 - None, # 2505 - None, # 2506 - None, # 2507 - None, # 2508 - None, # 2509 - None, # 2510 - None, # 2511 - None, # 2512 - None, # 2513 - None, # 2514 - None, # 2515 - None, # 2516 - None, # 2517 - None, # 2518 - None, # 2519 - None, # 2520 - None, # 2521 - None, # 2522 - None, # 2523 - None, # 2524 - None, # 2525 - None, # 2526 - None, # 2527 - None, # 2528 - None, # 2529 - None, # 2530 - None, # 2531 - None, # 2532 - None, # 2533 - None, # 2534 - None, # 2535 - None, # 2536 - None, # 2537 - None, # 2538 - None, # 2539 - None, # 2540 - None, # 2541 - None, # 2542 - None, # 2543 - None, # 2544 - None, # 2545 - None, # 2546 - None, # 2547 - None, # 2548 - None, # 2549 - None, # 2550 - None, # 2551 - None, # 2552 - None, # 2553 - None, # 2554 - None, # 2555 - None, # 2556 - None, # 2557 - None, # 2558 - None, # 2559 - None, # 2560 - None, # 2561 - None, # 2562 - None, # 2563 - None, # 2564 - None, # 2565 - None, # 2566 - None, # 2567 - None, # 2568 - None, # 2569 - None, # 2570 - None, # 2571 - None, # 2572 - None, # 2573 - None, # 2574 - None, # 2575 - None, # 2576 - None, # 2577 - None, # 2578 - None, # 2579 - None, # 2580 - None, # 2581 - None, # 2582 - None, # 2583 - None, # 2584 - None, # 2585 - None, # 2586 - None, # 2587 - None, # 2588 - None, # 2589 - None, # 2590 - None, # 2591 - None, # 2592 - None, # 2593 - None, # 2594 - None, # 2595 - None, # 2596 - None, # 2597 - None, # 2598 - None, # 2599 - None, # 2600 - None, # 2601 - None, # 2602 - None, # 2603 - None, # 2604 - None, # 2605 - None, # 2606 - None, # 2607 - None, # 2608 - None, # 2609 - None, # 2610 - None, # 2611 - None, # 2612 - None, # 2613 - None, # 2614 - None, # 2615 - None, # 2616 - None, # 2617 - None, # 2618 - None, # 2619 - None, # 2620 - None, # 2621 - None, # 2622 - None, # 2623 - None, # 2624 - None, # 2625 - None, # 2626 - None, # 2627 - None, # 2628 - None, # 2629 - None, # 2630 - None, # 2631 - None, # 2632 - None, # 2633 - None, # 2634 - None, # 2635 - None, # 2636 - None, # 2637 - None, # 2638 - None, # 2639 - None, # 2640 - None, # 2641 - None, # 2642 - None, # 2643 - None, # 2644 - None, # 2645 - None, # 2646 - None, # 2647 - None, # 2648 - None, # 2649 - None, # 2650 - None, # 2651 - None, # 2652 - None, # 2653 - None, # 2654 - None, # 2655 - None, # 2656 - None, # 2657 - None, # 2658 - None, # 2659 - None, # 2660 - None, # 2661 - None, # 2662 - None, # 2663 - None, # 2664 - None, # 2665 - None, # 2666 - None, # 2667 - None, # 2668 - None, # 2669 - None, # 2670 - None, # 2671 - None, # 2672 - None, # 2673 - None, # 2674 - None, # 2675 - None, # 2676 - None, # 2677 - None, # 2678 - None, # 2679 - None, # 2680 - None, # 2681 - None, # 2682 - None, # 2683 - None, # 2684 - None, # 2685 - None, # 2686 - None, # 2687 - None, # 2688 - None, # 2689 - None, # 2690 - None, # 2691 - None, # 2692 - None, # 2693 - None, # 2694 - None, # 2695 - None, # 2696 - None, # 2697 - None, # 2698 - None, # 2699 - None, # 2700 - None, # 2701 - None, # 2702 - None, # 2703 - None, # 2704 - None, # 2705 - None, # 2706 - None, # 2707 - None, # 2708 - None, # 2709 - None, # 2710 - None, # 2711 - None, # 2712 - None, # 2713 - None, # 2714 - None, # 2715 - None, # 2716 - None, # 2717 - None, # 2718 - None, # 2719 - None, # 2720 - None, # 2721 - None, # 2722 - None, # 2723 - None, # 2724 - None, # 2725 - None, # 2726 - None, # 2727 - None, # 2728 - None, # 2729 - None, # 2730 - None, # 2731 - None, # 2732 - None, # 2733 - None, # 2734 - None, # 2735 - None, # 2736 - None, # 2737 - None, # 2738 - None, # 2739 - None, # 2740 - None, # 2741 - None, # 2742 - None, # 2743 - None, # 2744 - None, # 2745 - None, # 2746 - None, # 2747 - None, # 2748 - None, # 2749 - None, # 2750 - None, # 2751 - None, # 2752 - None, # 2753 - None, # 2754 - None, # 2755 - None, # 2756 - None, # 2757 - None, # 2758 - None, # 2759 - None, # 2760 - None, # 2761 - None, # 2762 - None, # 2763 - None, # 2764 - None, # 2765 - None, # 2766 - None, # 2767 - None, # 2768 - None, # 2769 - None, # 2770 - None, # 2771 - None, # 2772 - None, # 2773 - None, # 2774 - None, # 2775 - None, # 2776 - None, # 2777 - None, # 2778 - None, # 2779 - None, # 2780 - None, # 2781 - None, # 2782 - None, # 2783 - None, # 2784 - None, # 2785 - None, # 2786 - None, # 2787 - None, # 2788 - None, # 2789 - None, # 2790 - None, # 2791 - None, # 2792 - None, # 2793 - None, # 2794 - None, # 2795 - None, # 2796 - None, # 2797 - None, # 2798 - None, # 2799 - None, # 2800 - None, # 2801 - None, # 2802 - None, # 2803 - None, # 2804 - None, # 2805 - None, # 2806 - None, # 2807 - None, # 2808 - None, # 2809 - None, # 2810 - None, # 2811 - None, # 2812 - None, # 2813 - None, # 2814 - None, # 2815 - None, # 2816 - None, # 2817 - None, # 2818 - None, # 2819 - None, # 2820 - None, # 2821 - None, # 2822 - None, # 2823 - None, # 2824 - None, # 2825 - None, # 2826 - None, # 2827 - None, # 2828 - None, # 2829 - None, # 2830 - None, # 2831 - None, # 2832 - None, # 2833 - None, # 2834 - None, # 2835 - None, # 2836 - None, # 2837 - None, # 2838 - None, # 2839 - None, # 2840 - None, # 2841 - None, # 2842 - None, # 2843 - None, # 2844 - None, # 2845 - None, # 2846 - None, # 2847 - None, # 2848 - None, # 2849 - None, # 2850 - None, # 2851 - None, # 2852 - None, # 2853 - None, # 2854 - None, # 2855 - None, # 2856 - None, # 2857 - None, # 2858 - None, # 2859 - None, # 2860 - None, # 2861 - None, # 2862 - None, # 2863 - None, # 2864 - None, # 2865 - None, # 2866 - None, # 2867 - None, # 2868 - None, # 2869 - None, # 2870 - None, # 2871 - None, # 2872 - None, # 2873 - None, # 2874 - None, # 2875 - None, # 2876 - None, # 2877 - None, # 2878 - None, # 2879 - None, # 2880 - None, # 2881 - None, # 2882 - None, # 2883 - None, # 2884 - None, # 2885 - None, # 2886 - None, # 2887 - None, # 2888 - None, # 2889 - None, # 2890 - None, # 2891 - None, # 2892 - None, # 2893 - None, # 2894 - None, # 2895 - None, # 2896 - None, # 2897 - None, # 2898 - None, # 2899 - None, # 2900 - None, # 2901 - None, # 2902 - None, # 2903 - None, # 2904 - None, # 2905 - None, # 2906 - None, # 2907 - None, # 2908 - None, # 2909 - None, # 2910 - None, # 2911 - None, # 2912 - None, # 2913 - None, # 2914 - None, # 2915 - None, # 2916 - None, # 2917 - None, # 2918 - None, # 2919 - None, # 2920 - None, # 2921 - None, # 2922 - None, # 2923 - None, # 2924 - None, # 2925 - None, # 2926 - None, # 2927 - None, # 2928 - None, # 2929 - None, # 2930 - None, # 2931 - None, # 2932 - None, # 2933 - None, # 2934 - None, # 2935 - None, # 2936 - None, # 2937 - None, # 2938 - None, # 2939 - None, # 2940 - None, # 2941 - None, # 2942 - None, # 2943 - None, # 2944 - None, # 2945 - None, # 2946 - None, # 2947 - None, # 2948 - None, # 2949 - None, # 2950 - None, # 2951 - None, # 2952 - None, # 2953 - None, # 2954 - None, # 2955 - None, # 2956 - None, # 2957 - None, # 2958 - None, # 2959 - None, # 2960 - None, # 2961 - None, # 2962 - None, # 2963 - None, # 2964 - None, # 2965 - None, # 2966 - None, # 2967 - None, # 2968 - None, # 2969 - None, # 2970 - None, # 2971 - None, # 2972 - None, # 2973 - None, # 2974 - None, # 2975 - None, # 2976 - None, # 2977 - None, # 2978 - None, # 2979 - None, # 2980 - None, # 2981 - None, # 2982 - None, # 2983 - None, # 2984 - None, # 2985 - None, # 2986 - None, # 2987 - None, # 2988 - None, # 2989 - None, # 2990 - None, # 2991 - None, # 2992 - None, # 2993 - None, # 2994 - None, # 2995 - None, # 2996 - None, # 2997 - None, # 2998 - None, # 2999 - None, # 3000 - None, # 3001 - None, # 3002 - None, # 3003 - None, # 3004 - None, # 3005 - None, # 3006 - None, # 3007 - None, # 3008 - None, # 3009 - None, # 3010 - None, # 3011 - None, # 3012 - None, # 3013 - None, # 3014 - None, # 3015 - None, # 3016 - None, # 3017 - None, # 3018 - None, # 3019 - None, # 3020 - None, # 3021 - None, # 3022 - None, # 3023 - None, # 3024 - None, # 3025 - None, # 3026 - None, # 3027 - None, # 3028 - None, # 3029 - None, # 3030 - None, # 3031 - None, # 3032 - None, # 3033 - None, # 3034 - None, # 3035 - None, # 3036 - None, # 3037 - None, # 3038 - None, # 3039 - None, # 3040 - None, # 3041 - None, # 3042 - None, # 3043 - None, # 3044 - None, # 3045 - None, # 3046 - None, # 3047 - None, # 3048 - None, # 3049 - None, # 3050 - None, # 3051 - None, # 3052 - None, # 3053 - None, # 3054 - None, # 3055 - None, # 3056 - None, # 3057 - None, # 3058 - None, # 3059 - None, # 3060 - None, # 3061 - None, # 3062 - None, # 3063 - None, # 3064 - None, # 3065 - None, # 3066 - None, # 3067 - None, # 3068 - None, # 3069 - None, # 3070 - None, # 3071 - None, # 3072 - None, # 3073 - None, # 3074 - None, # 3075 - None, # 3076 - None, # 3077 - None, # 3078 - None, # 3079 - None, # 3080 - None, # 3081 - None, # 3082 - None, # 3083 - None, # 3084 - None, # 3085 - None, # 3086 - None, # 3087 - None, # 3088 - None, # 3089 - None, # 3090 - None, # 3091 - None, # 3092 - None, # 3093 - None, # 3094 - None, # 3095 - None, # 3096 - None, # 3097 - None, # 3098 - None, # 3099 - None, # 3100 - None, # 3101 - None, # 3102 - None, # 3103 - None, # 3104 - None, # 3105 - None, # 3106 - None, # 3107 - None, # 3108 - None, # 3109 - None, # 3110 - None, # 3111 - None, # 3112 - None, # 3113 - None, # 3114 - None, # 3115 - None, # 3116 - None, # 3117 - None, # 3118 - None, # 3119 - None, # 3120 - None, # 3121 - None, # 3122 - None, # 3123 - None, # 3124 - None, # 3125 - None, # 3126 - None, # 3127 - None, # 3128 - None, # 3129 - None, # 3130 - None, # 3131 - None, # 3132 - None, # 3133 - None, # 3134 - None, # 3135 - None, # 3136 - None, # 3137 - None, # 3138 - None, # 3139 - None, # 3140 - None, # 3141 - None, # 3142 - None, # 3143 - None, # 3144 - None, # 3145 - None, # 3146 - None, # 3147 - None, # 3148 - None, # 3149 - None, # 3150 - None, # 3151 - None, # 3152 - None, # 3153 - None, # 3154 - None, # 3155 - None, # 3156 - None, # 3157 - None, # 3158 - None, # 3159 - None, # 3160 - None, # 3161 - None, # 3162 - None, # 3163 - None, # 3164 - None, # 3165 - None, # 3166 - None, # 3167 - None, # 3168 - None, # 3169 - None, # 3170 - None, # 3171 - None, # 3172 - None, # 3173 - None, # 3174 - None, # 3175 - None, # 3176 - None, # 3177 - None, # 3178 - None, # 3179 - None, # 3180 - None, # 3181 - None, # 3182 - None, # 3183 - None, # 3184 - None, # 3185 - None, # 3186 - None, # 3187 - None, # 3188 - None, # 3189 - None, # 3190 - None, # 3191 - None, # 3192 - None, # 3193 - None, # 3194 - None, # 3195 - None, # 3196 - None, # 3197 - None, # 3198 - None, # 3199 - None, # 3200 - None, # 3201 - None, # 3202 - None, # 3203 - None, # 3204 - None, # 3205 - None, # 3206 - None, # 3207 - None, # 3208 - None, # 3209 - None, # 3210 - None, # 3211 - None, # 3212 - None, # 3213 - None, # 3214 - None, # 3215 - None, # 3216 - None, # 3217 - None, # 3218 - None, # 3219 - None, # 3220 - None, # 3221 - None, # 3222 - None, # 3223 - None, # 3224 - None, # 3225 - None, # 3226 - None, # 3227 - None, # 3228 - None, # 3229 - None, # 3230 - None, # 3231 - None, # 3232 - None, # 3233 - None, # 3234 - None, # 3235 - None, # 3236 - None, # 3237 - None, # 3238 - None, # 3239 - None, # 3240 - None, # 3241 - None, # 3242 - None, # 3243 - None, # 3244 - None, # 3245 - None, # 3246 - None, # 3247 - None, # 3248 - None, # 3249 - None, # 3250 - None, # 3251 - None, # 3252 - None, # 3253 - None, # 3254 - None, # 3255 - None, # 3256 - None, # 3257 - None, # 3258 - None, # 3259 - None, # 3260 - None, # 3261 - None, # 3262 - None, # 3263 - None, # 3264 - None, # 3265 - None, # 3266 - None, # 3267 - None, # 3268 - None, # 3269 - None, # 3270 - None, # 3271 - None, # 3272 - None, # 3273 - None, # 3274 - None, # 3275 - None, # 3276 - None, # 3277 - None, # 3278 - None, # 3279 - None, # 3280 - None, # 3281 - None, # 3282 - None, # 3283 - None, # 3284 - None, # 3285 - None, # 3286 - None, # 3287 - None, # 3288 - None, # 3289 - None, # 3290 - None, # 3291 - None, # 3292 - None, # 3293 - None, # 3294 - None, # 3295 - None, # 3296 - None, # 3297 - None, # 3298 - None, # 3299 - None, # 3300 - None, # 3301 - None, # 3302 - None, # 3303 - None, # 3304 - None, # 3305 - None, # 3306 - None, # 3307 - None, # 3308 - None, # 3309 - None, # 3310 - None, # 3311 - None, # 3312 - None, # 3313 - None, # 3314 - None, # 3315 - None, # 3316 - None, # 3317 - None, # 3318 - None, # 3319 - None, # 3320 - None, # 3321 - None, # 3322 - None, # 3323 - None, # 3324 - None, # 3325 - None, # 3326 - None, # 3327 - None, # 3328 - (3329, TType.I16, 'executionVersion', None, None, ), # 3329 - (3330, TType.BOOL, 'replacedByNextAttempt', None, None, ), # 3330 + None, # 0 + (1, TType.STRUCT, 'operationHandle', [TOperationHandle, None], None, ), # 1 + None, # 2 + None, # 3 + None, # 4 + None, # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + None, # 1281 + None, # 1282 + None, # 1283 + None, # 1284 + None, # 1285 + None, # 1286 + None, # 1287 + None, # 1288 + None, # 1289 + None, # 1290 + None, # 1291 + None, # 1292 + None, # 1293 + None, # 1294 + None, # 1295 + None, # 1296 + None, # 1297 + None, # 1298 + None, # 1299 + None, # 1300 + None, # 1301 + None, # 1302 + None, # 1303 + None, # 1304 + None, # 1305 + None, # 1306 + None, # 1307 + None, # 1308 + None, # 1309 + None, # 1310 + None, # 1311 + None, # 1312 + None, # 1313 + None, # 1314 + None, # 1315 + None, # 1316 + None, # 1317 + None, # 1318 + None, # 1319 + None, # 1320 + None, # 1321 + None, # 1322 + None, # 1323 + None, # 1324 + None, # 1325 + None, # 1326 + None, # 1327 + None, # 1328 + None, # 1329 + None, # 1330 + None, # 1331 + None, # 1332 + None, # 1333 + None, # 1334 + None, # 1335 + None, # 1336 + None, # 1337 + None, # 1338 + None, # 1339 + None, # 1340 + None, # 1341 + None, # 1342 + None, # 1343 + None, # 1344 + None, # 1345 + None, # 1346 + None, # 1347 + None, # 1348 + None, # 1349 + None, # 1350 + None, # 1351 + None, # 1352 + None, # 1353 + None, # 1354 + None, # 1355 + None, # 1356 + None, # 1357 + None, # 1358 + None, # 1359 + None, # 1360 + None, # 1361 + None, # 1362 + None, # 1363 + None, # 1364 + None, # 1365 + None, # 1366 + None, # 1367 + None, # 1368 + None, # 1369 + None, # 1370 + None, # 1371 + None, # 1372 + None, # 1373 + None, # 1374 + None, # 1375 + None, # 1376 + None, # 1377 + None, # 1378 + None, # 1379 + None, # 1380 + None, # 1381 + None, # 1382 + None, # 1383 + None, # 1384 + None, # 1385 + None, # 1386 + None, # 1387 + None, # 1388 + None, # 1389 + None, # 1390 + None, # 1391 + None, # 1392 + None, # 1393 + None, # 1394 + None, # 1395 + None, # 1396 + None, # 1397 + None, # 1398 + None, # 1399 + None, # 1400 + None, # 1401 + None, # 1402 + None, # 1403 + None, # 1404 + None, # 1405 + None, # 1406 + None, # 1407 + None, # 1408 + None, # 1409 + None, # 1410 + None, # 1411 + None, # 1412 + None, # 1413 + None, # 1414 + None, # 1415 + None, # 1416 + None, # 1417 + None, # 1418 + None, # 1419 + None, # 1420 + None, # 1421 + None, # 1422 + None, # 1423 + None, # 1424 + None, # 1425 + None, # 1426 + None, # 1427 + None, # 1428 + None, # 1429 + None, # 1430 + None, # 1431 + None, # 1432 + None, # 1433 + None, # 1434 + None, # 1435 + None, # 1436 + None, # 1437 + None, # 1438 + None, # 1439 + None, # 1440 + None, # 1441 + None, # 1442 + None, # 1443 + None, # 1444 + None, # 1445 + None, # 1446 + None, # 1447 + None, # 1448 + None, # 1449 + None, # 1450 + None, # 1451 + None, # 1452 + None, # 1453 + None, # 1454 + None, # 1455 + None, # 1456 + None, # 1457 + None, # 1458 + None, # 1459 + None, # 1460 + None, # 1461 + None, # 1462 + None, # 1463 + None, # 1464 + None, # 1465 + None, # 1466 + None, # 1467 + None, # 1468 + None, # 1469 + None, # 1470 + None, # 1471 + None, # 1472 + None, # 1473 + None, # 1474 + None, # 1475 + None, # 1476 + None, # 1477 + None, # 1478 + None, # 1479 + None, # 1480 + None, # 1481 + None, # 1482 + None, # 1483 + None, # 1484 + None, # 1485 + None, # 1486 + None, # 1487 + None, # 1488 + None, # 1489 + None, # 1490 + None, # 1491 + None, # 1492 + None, # 1493 + None, # 1494 + None, # 1495 + None, # 1496 + None, # 1497 + None, # 1498 + None, # 1499 + None, # 1500 + None, # 1501 + None, # 1502 + None, # 1503 + None, # 1504 + None, # 1505 + None, # 1506 + None, # 1507 + None, # 1508 + None, # 1509 + None, # 1510 + None, # 1511 + None, # 1512 + None, # 1513 + None, # 1514 + None, # 1515 + None, # 1516 + None, # 1517 + None, # 1518 + None, # 1519 + None, # 1520 + None, # 1521 + None, # 1522 + None, # 1523 + None, # 1524 + None, # 1525 + None, # 1526 + None, # 1527 + None, # 1528 + None, # 1529 + None, # 1530 + None, # 1531 + None, # 1532 + None, # 1533 + None, # 1534 + None, # 1535 + None, # 1536 + None, # 1537 + None, # 1538 + None, # 1539 + None, # 1540 + None, # 1541 + None, # 1542 + None, # 1543 + None, # 1544 + None, # 1545 + None, # 1546 + None, # 1547 + None, # 1548 + None, # 1549 + None, # 1550 + None, # 1551 + None, # 1552 + None, # 1553 + None, # 1554 + None, # 1555 + None, # 1556 + None, # 1557 + None, # 1558 + None, # 1559 + None, # 1560 + None, # 1561 + None, # 1562 + None, # 1563 + None, # 1564 + None, # 1565 + None, # 1566 + None, # 1567 + None, # 1568 + None, # 1569 + None, # 1570 + None, # 1571 + None, # 1572 + None, # 1573 + None, # 1574 + None, # 1575 + None, # 1576 + None, # 1577 + None, # 1578 + None, # 1579 + None, # 1580 + None, # 1581 + None, # 1582 + None, # 1583 + None, # 1584 + None, # 1585 + None, # 1586 + None, # 1587 + None, # 1588 + None, # 1589 + None, # 1590 + None, # 1591 + None, # 1592 + None, # 1593 + None, # 1594 + None, # 1595 + None, # 1596 + None, # 1597 + None, # 1598 + None, # 1599 + None, # 1600 + None, # 1601 + None, # 1602 + None, # 1603 + None, # 1604 + None, # 1605 + None, # 1606 + None, # 1607 + None, # 1608 + None, # 1609 + None, # 1610 + None, # 1611 + None, # 1612 + None, # 1613 + None, # 1614 + None, # 1615 + None, # 1616 + None, # 1617 + None, # 1618 + None, # 1619 + None, # 1620 + None, # 1621 + None, # 1622 + None, # 1623 + None, # 1624 + None, # 1625 + None, # 1626 + None, # 1627 + None, # 1628 + None, # 1629 + None, # 1630 + None, # 1631 + None, # 1632 + None, # 1633 + None, # 1634 + None, # 1635 + None, # 1636 + None, # 1637 + None, # 1638 + None, # 1639 + None, # 1640 + None, # 1641 + None, # 1642 + None, # 1643 + None, # 1644 + None, # 1645 + None, # 1646 + None, # 1647 + None, # 1648 + None, # 1649 + None, # 1650 + None, # 1651 + None, # 1652 + None, # 1653 + None, # 1654 + None, # 1655 + None, # 1656 + None, # 1657 + None, # 1658 + None, # 1659 + None, # 1660 + None, # 1661 + None, # 1662 + None, # 1663 + None, # 1664 + None, # 1665 + None, # 1666 + None, # 1667 + None, # 1668 + None, # 1669 + None, # 1670 + None, # 1671 + None, # 1672 + None, # 1673 + None, # 1674 + None, # 1675 + None, # 1676 + None, # 1677 + None, # 1678 + None, # 1679 + None, # 1680 + None, # 1681 + None, # 1682 + None, # 1683 + None, # 1684 + None, # 1685 + None, # 1686 + None, # 1687 + None, # 1688 + None, # 1689 + None, # 1690 + None, # 1691 + None, # 1692 + None, # 1693 + None, # 1694 + None, # 1695 + None, # 1696 + None, # 1697 + None, # 1698 + None, # 1699 + None, # 1700 + None, # 1701 + None, # 1702 + None, # 1703 + None, # 1704 + None, # 1705 + None, # 1706 + None, # 1707 + None, # 1708 + None, # 1709 + None, # 1710 + None, # 1711 + None, # 1712 + None, # 1713 + None, # 1714 + None, # 1715 + None, # 1716 + None, # 1717 + None, # 1718 + None, # 1719 + None, # 1720 + None, # 1721 + None, # 1722 + None, # 1723 + None, # 1724 + None, # 1725 + None, # 1726 + None, # 1727 + None, # 1728 + None, # 1729 + None, # 1730 + None, # 1731 + None, # 1732 + None, # 1733 + None, # 1734 + None, # 1735 + None, # 1736 + None, # 1737 + None, # 1738 + None, # 1739 + None, # 1740 + None, # 1741 + None, # 1742 + None, # 1743 + None, # 1744 + None, # 1745 + None, # 1746 + None, # 1747 + None, # 1748 + None, # 1749 + None, # 1750 + None, # 1751 + None, # 1752 + None, # 1753 + None, # 1754 + None, # 1755 + None, # 1756 + None, # 1757 + None, # 1758 + None, # 1759 + None, # 1760 + None, # 1761 + None, # 1762 + None, # 1763 + None, # 1764 + None, # 1765 + None, # 1766 + None, # 1767 + None, # 1768 + None, # 1769 + None, # 1770 + None, # 1771 + None, # 1772 + None, # 1773 + None, # 1774 + None, # 1775 + None, # 1776 + None, # 1777 + None, # 1778 + None, # 1779 + None, # 1780 + None, # 1781 + None, # 1782 + None, # 1783 + None, # 1784 + None, # 1785 + None, # 1786 + None, # 1787 + None, # 1788 + None, # 1789 + None, # 1790 + None, # 1791 + None, # 1792 + None, # 1793 + None, # 1794 + None, # 1795 + None, # 1796 + None, # 1797 + None, # 1798 + None, # 1799 + None, # 1800 + None, # 1801 + None, # 1802 + None, # 1803 + None, # 1804 + None, # 1805 + None, # 1806 + None, # 1807 + None, # 1808 + None, # 1809 + None, # 1810 + None, # 1811 + None, # 1812 + None, # 1813 + None, # 1814 + None, # 1815 + None, # 1816 + None, # 1817 + None, # 1818 + None, # 1819 + None, # 1820 + None, # 1821 + None, # 1822 + None, # 1823 + None, # 1824 + None, # 1825 + None, # 1826 + None, # 1827 + None, # 1828 + None, # 1829 + None, # 1830 + None, # 1831 + None, # 1832 + None, # 1833 + None, # 1834 + None, # 1835 + None, # 1836 + None, # 1837 + None, # 1838 + None, # 1839 + None, # 1840 + None, # 1841 + None, # 1842 + None, # 1843 + None, # 1844 + None, # 1845 + None, # 1846 + None, # 1847 + None, # 1848 + None, # 1849 + None, # 1850 + None, # 1851 + None, # 1852 + None, # 1853 + None, # 1854 + None, # 1855 + None, # 1856 + None, # 1857 + None, # 1858 + None, # 1859 + None, # 1860 + None, # 1861 + None, # 1862 + None, # 1863 + None, # 1864 + None, # 1865 + None, # 1866 + None, # 1867 + None, # 1868 + None, # 1869 + None, # 1870 + None, # 1871 + None, # 1872 + None, # 1873 + None, # 1874 + None, # 1875 + None, # 1876 + None, # 1877 + None, # 1878 + None, # 1879 + None, # 1880 + None, # 1881 + None, # 1882 + None, # 1883 + None, # 1884 + None, # 1885 + None, # 1886 + None, # 1887 + None, # 1888 + None, # 1889 + None, # 1890 + None, # 1891 + None, # 1892 + None, # 1893 + None, # 1894 + None, # 1895 + None, # 1896 + None, # 1897 + None, # 1898 + None, # 1899 + None, # 1900 + None, # 1901 + None, # 1902 + None, # 1903 + None, # 1904 + None, # 1905 + None, # 1906 + None, # 1907 + None, # 1908 + None, # 1909 + None, # 1910 + None, # 1911 + None, # 1912 + None, # 1913 + None, # 1914 + None, # 1915 + None, # 1916 + None, # 1917 + None, # 1918 + None, # 1919 + None, # 1920 + None, # 1921 + None, # 1922 + None, # 1923 + None, # 1924 + None, # 1925 + None, # 1926 + None, # 1927 + None, # 1928 + None, # 1929 + None, # 1930 + None, # 1931 + None, # 1932 + None, # 1933 + None, # 1934 + None, # 1935 + None, # 1936 + None, # 1937 + None, # 1938 + None, # 1939 + None, # 1940 + None, # 1941 + None, # 1942 + None, # 1943 + None, # 1944 + None, # 1945 + None, # 1946 + None, # 1947 + None, # 1948 + None, # 1949 + None, # 1950 + None, # 1951 + None, # 1952 + None, # 1953 + None, # 1954 + None, # 1955 + None, # 1956 + None, # 1957 + None, # 1958 + None, # 1959 + None, # 1960 + None, # 1961 + None, # 1962 + None, # 1963 + None, # 1964 + None, # 1965 + None, # 1966 + None, # 1967 + None, # 1968 + None, # 1969 + None, # 1970 + None, # 1971 + None, # 1972 + None, # 1973 + None, # 1974 + None, # 1975 + None, # 1976 + None, # 1977 + None, # 1978 + None, # 1979 + None, # 1980 + None, # 1981 + None, # 1982 + None, # 1983 + None, # 1984 + None, # 1985 + None, # 1986 + None, # 1987 + None, # 1988 + None, # 1989 + None, # 1990 + None, # 1991 + None, # 1992 + None, # 1993 + None, # 1994 + None, # 1995 + None, # 1996 + None, # 1997 + None, # 1998 + None, # 1999 + None, # 2000 + None, # 2001 + None, # 2002 + None, # 2003 + None, # 2004 + None, # 2005 + None, # 2006 + None, # 2007 + None, # 2008 + None, # 2009 + None, # 2010 + None, # 2011 + None, # 2012 + None, # 2013 + None, # 2014 + None, # 2015 + None, # 2016 + None, # 2017 + None, # 2018 + None, # 2019 + None, # 2020 + None, # 2021 + None, # 2022 + None, # 2023 + None, # 2024 + None, # 2025 + None, # 2026 + None, # 2027 + None, # 2028 + None, # 2029 + None, # 2030 + None, # 2031 + None, # 2032 + None, # 2033 + None, # 2034 + None, # 2035 + None, # 2036 + None, # 2037 + None, # 2038 + None, # 2039 + None, # 2040 + None, # 2041 + None, # 2042 + None, # 2043 + None, # 2044 + None, # 2045 + None, # 2046 + None, # 2047 + None, # 2048 + None, # 2049 + None, # 2050 + None, # 2051 + None, # 2052 + None, # 2053 + None, # 2054 + None, # 2055 + None, # 2056 + None, # 2057 + None, # 2058 + None, # 2059 + None, # 2060 + None, # 2061 + None, # 2062 + None, # 2063 + None, # 2064 + None, # 2065 + None, # 2066 + None, # 2067 + None, # 2068 + None, # 2069 + None, # 2070 + None, # 2071 + None, # 2072 + None, # 2073 + None, # 2074 + None, # 2075 + None, # 2076 + None, # 2077 + None, # 2078 + None, # 2079 + None, # 2080 + None, # 2081 + None, # 2082 + None, # 2083 + None, # 2084 + None, # 2085 + None, # 2086 + None, # 2087 + None, # 2088 + None, # 2089 + None, # 2090 + None, # 2091 + None, # 2092 + None, # 2093 + None, # 2094 + None, # 2095 + None, # 2096 + None, # 2097 + None, # 2098 + None, # 2099 + None, # 2100 + None, # 2101 + None, # 2102 + None, # 2103 + None, # 2104 + None, # 2105 + None, # 2106 + None, # 2107 + None, # 2108 + None, # 2109 + None, # 2110 + None, # 2111 + None, # 2112 + None, # 2113 + None, # 2114 + None, # 2115 + None, # 2116 + None, # 2117 + None, # 2118 + None, # 2119 + None, # 2120 + None, # 2121 + None, # 2122 + None, # 2123 + None, # 2124 + None, # 2125 + None, # 2126 + None, # 2127 + None, # 2128 + None, # 2129 + None, # 2130 + None, # 2131 + None, # 2132 + None, # 2133 + None, # 2134 + None, # 2135 + None, # 2136 + None, # 2137 + None, # 2138 + None, # 2139 + None, # 2140 + None, # 2141 + None, # 2142 + None, # 2143 + None, # 2144 + None, # 2145 + None, # 2146 + None, # 2147 + None, # 2148 + None, # 2149 + None, # 2150 + None, # 2151 + None, # 2152 + None, # 2153 + None, # 2154 + None, # 2155 + None, # 2156 + None, # 2157 + None, # 2158 + None, # 2159 + None, # 2160 + None, # 2161 + None, # 2162 + None, # 2163 + None, # 2164 + None, # 2165 + None, # 2166 + None, # 2167 + None, # 2168 + None, # 2169 + None, # 2170 + None, # 2171 + None, # 2172 + None, # 2173 + None, # 2174 + None, # 2175 + None, # 2176 + None, # 2177 + None, # 2178 + None, # 2179 + None, # 2180 + None, # 2181 + None, # 2182 + None, # 2183 + None, # 2184 + None, # 2185 + None, # 2186 + None, # 2187 + None, # 2188 + None, # 2189 + None, # 2190 + None, # 2191 + None, # 2192 + None, # 2193 + None, # 2194 + None, # 2195 + None, # 2196 + None, # 2197 + None, # 2198 + None, # 2199 + None, # 2200 + None, # 2201 + None, # 2202 + None, # 2203 + None, # 2204 + None, # 2205 + None, # 2206 + None, # 2207 + None, # 2208 + None, # 2209 + None, # 2210 + None, # 2211 + None, # 2212 + None, # 2213 + None, # 2214 + None, # 2215 + None, # 2216 + None, # 2217 + None, # 2218 + None, # 2219 + None, # 2220 + None, # 2221 + None, # 2222 + None, # 2223 + None, # 2224 + None, # 2225 + None, # 2226 + None, # 2227 + None, # 2228 + None, # 2229 + None, # 2230 + None, # 2231 + None, # 2232 + None, # 2233 + None, # 2234 + None, # 2235 + None, # 2236 + None, # 2237 + None, # 2238 + None, # 2239 + None, # 2240 + None, # 2241 + None, # 2242 + None, # 2243 + None, # 2244 + None, # 2245 + None, # 2246 + None, # 2247 + None, # 2248 + None, # 2249 + None, # 2250 + None, # 2251 + None, # 2252 + None, # 2253 + None, # 2254 + None, # 2255 + None, # 2256 + None, # 2257 + None, # 2258 + None, # 2259 + None, # 2260 + None, # 2261 + None, # 2262 + None, # 2263 + None, # 2264 + None, # 2265 + None, # 2266 + None, # 2267 + None, # 2268 + None, # 2269 + None, # 2270 + None, # 2271 + None, # 2272 + None, # 2273 + None, # 2274 + None, # 2275 + None, # 2276 + None, # 2277 + None, # 2278 + None, # 2279 + None, # 2280 + None, # 2281 + None, # 2282 + None, # 2283 + None, # 2284 + None, # 2285 + None, # 2286 + None, # 2287 + None, # 2288 + None, # 2289 + None, # 2290 + None, # 2291 + None, # 2292 + None, # 2293 + None, # 2294 + None, # 2295 + None, # 2296 + None, # 2297 + None, # 2298 + None, # 2299 + None, # 2300 + None, # 2301 + None, # 2302 + None, # 2303 + None, # 2304 + None, # 2305 + None, # 2306 + None, # 2307 + None, # 2308 + None, # 2309 + None, # 2310 + None, # 2311 + None, # 2312 + None, # 2313 + None, # 2314 + None, # 2315 + None, # 2316 + None, # 2317 + None, # 2318 + None, # 2319 + None, # 2320 + None, # 2321 + None, # 2322 + None, # 2323 + None, # 2324 + None, # 2325 + None, # 2326 + None, # 2327 + None, # 2328 + None, # 2329 + None, # 2330 + None, # 2331 + None, # 2332 + None, # 2333 + None, # 2334 + None, # 2335 + None, # 2336 + None, # 2337 + None, # 2338 + None, # 2339 + None, # 2340 + None, # 2341 + None, # 2342 + None, # 2343 + None, # 2344 + None, # 2345 + None, # 2346 + None, # 2347 + None, # 2348 + None, # 2349 + None, # 2350 + None, # 2351 + None, # 2352 + None, # 2353 + None, # 2354 + None, # 2355 + None, # 2356 + None, # 2357 + None, # 2358 + None, # 2359 + None, # 2360 + None, # 2361 + None, # 2362 + None, # 2363 + None, # 2364 + None, # 2365 + None, # 2366 + None, # 2367 + None, # 2368 + None, # 2369 + None, # 2370 + None, # 2371 + None, # 2372 + None, # 2373 + None, # 2374 + None, # 2375 + None, # 2376 + None, # 2377 + None, # 2378 + None, # 2379 + None, # 2380 + None, # 2381 + None, # 2382 + None, # 2383 + None, # 2384 + None, # 2385 + None, # 2386 + None, # 2387 + None, # 2388 + None, # 2389 + None, # 2390 + None, # 2391 + None, # 2392 + None, # 2393 + None, # 2394 + None, # 2395 + None, # 2396 + None, # 2397 + None, # 2398 + None, # 2399 + None, # 2400 + None, # 2401 + None, # 2402 + None, # 2403 + None, # 2404 + None, # 2405 + None, # 2406 + None, # 2407 + None, # 2408 + None, # 2409 + None, # 2410 + None, # 2411 + None, # 2412 + None, # 2413 + None, # 2414 + None, # 2415 + None, # 2416 + None, # 2417 + None, # 2418 + None, # 2419 + None, # 2420 + None, # 2421 + None, # 2422 + None, # 2423 + None, # 2424 + None, # 2425 + None, # 2426 + None, # 2427 + None, # 2428 + None, # 2429 + None, # 2430 + None, # 2431 + None, # 2432 + None, # 2433 + None, # 2434 + None, # 2435 + None, # 2436 + None, # 2437 + None, # 2438 + None, # 2439 + None, # 2440 + None, # 2441 + None, # 2442 + None, # 2443 + None, # 2444 + None, # 2445 + None, # 2446 + None, # 2447 + None, # 2448 + None, # 2449 + None, # 2450 + None, # 2451 + None, # 2452 + None, # 2453 + None, # 2454 + None, # 2455 + None, # 2456 + None, # 2457 + None, # 2458 + None, # 2459 + None, # 2460 + None, # 2461 + None, # 2462 + None, # 2463 + None, # 2464 + None, # 2465 + None, # 2466 + None, # 2467 + None, # 2468 + None, # 2469 + None, # 2470 + None, # 2471 + None, # 2472 + None, # 2473 + None, # 2474 + None, # 2475 + None, # 2476 + None, # 2477 + None, # 2478 + None, # 2479 + None, # 2480 + None, # 2481 + None, # 2482 + None, # 2483 + None, # 2484 + None, # 2485 + None, # 2486 + None, # 2487 + None, # 2488 + None, # 2489 + None, # 2490 + None, # 2491 + None, # 2492 + None, # 2493 + None, # 2494 + None, # 2495 + None, # 2496 + None, # 2497 + None, # 2498 + None, # 2499 + None, # 2500 + None, # 2501 + None, # 2502 + None, # 2503 + None, # 2504 + None, # 2505 + None, # 2506 + None, # 2507 + None, # 2508 + None, # 2509 + None, # 2510 + None, # 2511 + None, # 2512 + None, # 2513 + None, # 2514 + None, # 2515 + None, # 2516 + None, # 2517 + None, # 2518 + None, # 2519 + None, # 2520 + None, # 2521 + None, # 2522 + None, # 2523 + None, # 2524 + None, # 2525 + None, # 2526 + None, # 2527 + None, # 2528 + None, # 2529 + None, # 2530 + None, # 2531 + None, # 2532 + None, # 2533 + None, # 2534 + None, # 2535 + None, # 2536 + None, # 2537 + None, # 2538 + None, # 2539 + None, # 2540 + None, # 2541 + None, # 2542 + None, # 2543 + None, # 2544 + None, # 2545 + None, # 2546 + None, # 2547 + None, # 2548 + None, # 2549 + None, # 2550 + None, # 2551 + None, # 2552 + None, # 2553 + None, # 2554 + None, # 2555 + None, # 2556 + None, # 2557 + None, # 2558 + None, # 2559 + None, # 2560 + None, # 2561 + None, # 2562 + None, # 2563 + None, # 2564 + None, # 2565 + None, # 2566 + None, # 2567 + None, # 2568 + None, # 2569 + None, # 2570 + None, # 2571 + None, # 2572 + None, # 2573 + None, # 2574 + None, # 2575 + None, # 2576 + None, # 2577 + None, # 2578 + None, # 2579 + None, # 2580 + None, # 2581 + None, # 2582 + None, # 2583 + None, # 2584 + None, # 2585 + None, # 2586 + None, # 2587 + None, # 2588 + None, # 2589 + None, # 2590 + None, # 2591 + None, # 2592 + None, # 2593 + None, # 2594 + None, # 2595 + None, # 2596 + None, # 2597 + None, # 2598 + None, # 2599 + None, # 2600 + None, # 2601 + None, # 2602 + None, # 2603 + None, # 2604 + None, # 2605 + None, # 2606 + None, # 2607 + None, # 2608 + None, # 2609 + None, # 2610 + None, # 2611 + None, # 2612 + None, # 2613 + None, # 2614 + None, # 2615 + None, # 2616 + None, # 2617 + None, # 2618 + None, # 2619 + None, # 2620 + None, # 2621 + None, # 2622 + None, # 2623 + None, # 2624 + None, # 2625 + None, # 2626 + None, # 2627 + None, # 2628 + None, # 2629 + None, # 2630 + None, # 2631 + None, # 2632 + None, # 2633 + None, # 2634 + None, # 2635 + None, # 2636 + None, # 2637 + None, # 2638 + None, # 2639 + None, # 2640 + None, # 2641 + None, # 2642 + None, # 2643 + None, # 2644 + None, # 2645 + None, # 2646 + None, # 2647 + None, # 2648 + None, # 2649 + None, # 2650 + None, # 2651 + None, # 2652 + None, # 2653 + None, # 2654 + None, # 2655 + None, # 2656 + None, # 2657 + None, # 2658 + None, # 2659 + None, # 2660 + None, # 2661 + None, # 2662 + None, # 2663 + None, # 2664 + None, # 2665 + None, # 2666 + None, # 2667 + None, # 2668 + None, # 2669 + None, # 2670 + None, # 2671 + None, # 2672 + None, # 2673 + None, # 2674 + None, # 2675 + None, # 2676 + None, # 2677 + None, # 2678 + None, # 2679 + None, # 2680 + None, # 2681 + None, # 2682 + None, # 2683 + None, # 2684 + None, # 2685 + None, # 2686 + None, # 2687 + None, # 2688 + None, # 2689 + None, # 2690 + None, # 2691 + None, # 2692 + None, # 2693 + None, # 2694 + None, # 2695 + None, # 2696 + None, # 2697 + None, # 2698 + None, # 2699 + None, # 2700 + None, # 2701 + None, # 2702 + None, # 2703 + None, # 2704 + None, # 2705 + None, # 2706 + None, # 2707 + None, # 2708 + None, # 2709 + None, # 2710 + None, # 2711 + None, # 2712 + None, # 2713 + None, # 2714 + None, # 2715 + None, # 2716 + None, # 2717 + None, # 2718 + None, # 2719 + None, # 2720 + None, # 2721 + None, # 2722 + None, # 2723 + None, # 2724 + None, # 2725 + None, # 2726 + None, # 2727 + None, # 2728 + None, # 2729 + None, # 2730 + None, # 2731 + None, # 2732 + None, # 2733 + None, # 2734 + None, # 2735 + None, # 2736 + None, # 2737 + None, # 2738 + None, # 2739 + None, # 2740 + None, # 2741 + None, # 2742 + None, # 2743 + None, # 2744 + None, # 2745 + None, # 2746 + None, # 2747 + None, # 2748 + None, # 2749 + None, # 2750 + None, # 2751 + None, # 2752 + None, # 2753 + None, # 2754 + None, # 2755 + None, # 2756 + None, # 2757 + None, # 2758 + None, # 2759 + None, # 2760 + None, # 2761 + None, # 2762 + None, # 2763 + None, # 2764 + None, # 2765 + None, # 2766 + None, # 2767 + None, # 2768 + None, # 2769 + None, # 2770 + None, # 2771 + None, # 2772 + None, # 2773 + None, # 2774 + None, # 2775 + None, # 2776 + None, # 2777 + None, # 2778 + None, # 2779 + None, # 2780 + None, # 2781 + None, # 2782 + None, # 2783 + None, # 2784 + None, # 2785 + None, # 2786 + None, # 2787 + None, # 2788 + None, # 2789 + None, # 2790 + None, # 2791 + None, # 2792 + None, # 2793 + None, # 2794 + None, # 2795 + None, # 2796 + None, # 2797 + None, # 2798 + None, # 2799 + None, # 2800 + None, # 2801 + None, # 2802 + None, # 2803 + None, # 2804 + None, # 2805 + None, # 2806 + None, # 2807 + None, # 2808 + None, # 2809 + None, # 2810 + None, # 2811 + None, # 2812 + None, # 2813 + None, # 2814 + None, # 2815 + None, # 2816 + None, # 2817 + None, # 2818 + None, # 2819 + None, # 2820 + None, # 2821 + None, # 2822 + None, # 2823 + None, # 2824 + None, # 2825 + None, # 2826 + None, # 2827 + None, # 2828 + None, # 2829 + None, # 2830 + None, # 2831 + None, # 2832 + None, # 2833 + None, # 2834 + None, # 2835 + None, # 2836 + None, # 2837 + None, # 2838 + None, # 2839 + None, # 2840 + None, # 2841 + None, # 2842 + None, # 2843 + None, # 2844 + None, # 2845 + None, # 2846 + None, # 2847 + None, # 2848 + None, # 2849 + None, # 2850 + None, # 2851 + None, # 2852 + None, # 2853 + None, # 2854 + None, # 2855 + None, # 2856 + None, # 2857 + None, # 2858 + None, # 2859 + None, # 2860 + None, # 2861 + None, # 2862 + None, # 2863 + None, # 2864 + None, # 2865 + None, # 2866 + None, # 2867 + None, # 2868 + None, # 2869 + None, # 2870 + None, # 2871 + None, # 2872 + None, # 2873 + None, # 2874 + None, # 2875 + None, # 2876 + None, # 2877 + None, # 2878 + None, # 2879 + None, # 2880 + None, # 2881 + None, # 2882 + None, # 2883 + None, # 2884 + None, # 2885 + None, # 2886 + None, # 2887 + None, # 2888 + None, # 2889 + None, # 2890 + None, # 2891 + None, # 2892 + None, # 2893 + None, # 2894 + None, # 2895 + None, # 2896 + None, # 2897 + None, # 2898 + None, # 2899 + None, # 2900 + None, # 2901 + None, # 2902 + None, # 2903 + None, # 2904 + None, # 2905 + None, # 2906 + None, # 2907 + None, # 2908 + None, # 2909 + None, # 2910 + None, # 2911 + None, # 2912 + None, # 2913 + None, # 2914 + None, # 2915 + None, # 2916 + None, # 2917 + None, # 2918 + None, # 2919 + None, # 2920 + None, # 2921 + None, # 2922 + None, # 2923 + None, # 2924 + None, # 2925 + None, # 2926 + None, # 2927 + None, # 2928 + None, # 2929 + None, # 2930 + None, # 2931 + None, # 2932 + None, # 2933 + None, # 2934 + None, # 2935 + None, # 2936 + None, # 2937 + None, # 2938 + None, # 2939 + None, # 2940 + None, # 2941 + None, # 2942 + None, # 2943 + None, # 2944 + None, # 2945 + None, # 2946 + None, # 2947 + None, # 2948 + None, # 2949 + None, # 2950 + None, # 2951 + None, # 2952 + None, # 2953 + None, # 2954 + None, # 2955 + None, # 2956 + None, # 2957 + None, # 2958 + None, # 2959 + None, # 2960 + None, # 2961 + None, # 2962 + None, # 2963 + None, # 2964 + None, # 2965 + None, # 2966 + None, # 2967 + None, # 2968 + None, # 2969 + None, # 2970 + None, # 2971 + None, # 2972 + None, # 2973 + None, # 2974 + None, # 2975 + None, # 2976 + None, # 2977 + None, # 2978 + None, # 2979 + None, # 2980 + None, # 2981 + None, # 2982 + None, # 2983 + None, # 2984 + None, # 2985 + None, # 2986 + None, # 2987 + None, # 2988 + None, # 2989 + None, # 2990 + None, # 2991 + None, # 2992 + None, # 2993 + None, # 2994 + None, # 2995 + None, # 2996 + None, # 2997 + None, # 2998 + None, # 2999 + None, # 3000 + None, # 3001 + None, # 3002 + None, # 3003 + None, # 3004 + None, # 3005 + None, # 3006 + None, # 3007 + None, # 3008 + None, # 3009 + None, # 3010 + None, # 3011 + None, # 3012 + None, # 3013 + None, # 3014 + None, # 3015 + None, # 3016 + None, # 3017 + None, # 3018 + None, # 3019 + None, # 3020 + None, # 3021 + None, # 3022 + None, # 3023 + None, # 3024 + None, # 3025 + None, # 3026 + None, # 3027 + None, # 3028 + None, # 3029 + None, # 3030 + None, # 3031 + None, # 3032 + None, # 3033 + None, # 3034 + None, # 3035 + None, # 3036 + None, # 3037 + None, # 3038 + None, # 3039 + None, # 3040 + None, # 3041 + None, # 3042 + None, # 3043 + None, # 3044 + None, # 3045 + None, # 3046 + None, # 3047 + None, # 3048 + None, # 3049 + None, # 3050 + None, # 3051 + None, # 3052 + None, # 3053 + None, # 3054 + None, # 3055 + None, # 3056 + None, # 3057 + None, # 3058 + None, # 3059 + None, # 3060 + None, # 3061 + None, # 3062 + None, # 3063 + None, # 3064 + None, # 3065 + None, # 3066 + None, # 3067 + None, # 3068 + None, # 3069 + None, # 3070 + None, # 3071 + None, # 3072 + None, # 3073 + None, # 3074 + None, # 3075 + None, # 3076 + None, # 3077 + None, # 3078 + None, # 3079 + None, # 3080 + None, # 3081 + None, # 3082 + None, # 3083 + None, # 3084 + None, # 3085 + None, # 3086 + None, # 3087 + None, # 3088 + None, # 3089 + None, # 3090 + None, # 3091 + None, # 3092 + None, # 3093 + None, # 3094 + None, # 3095 + None, # 3096 + None, # 3097 + None, # 3098 + None, # 3099 + None, # 3100 + None, # 3101 + None, # 3102 + None, # 3103 + None, # 3104 + None, # 3105 + None, # 3106 + None, # 3107 + None, # 3108 + None, # 3109 + None, # 3110 + None, # 3111 + None, # 3112 + None, # 3113 + None, # 3114 + None, # 3115 + None, # 3116 + None, # 3117 + None, # 3118 + None, # 3119 + None, # 3120 + None, # 3121 + None, # 3122 + None, # 3123 + None, # 3124 + None, # 3125 + None, # 3126 + None, # 3127 + None, # 3128 + None, # 3129 + None, # 3130 + None, # 3131 + None, # 3132 + None, # 3133 + None, # 3134 + None, # 3135 + None, # 3136 + None, # 3137 + None, # 3138 + None, # 3139 + None, # 3140 + None, # 3141 + None, # 3142 + None, # 3143 + None, # 3144 + None, # 3145 + None, # 3146 + None, # 3147 + None, # 3148 + None, # 3149 + None, # 3150 + None, # 3151 + None, # 3152 + None, # 3153 + None, # 3154 + None, # 3155 + None, # 3156 + None, # 3157 + None, # 3158 + None, # 3159 + None, # 3160 + None, # 3161 + None, # 3162 + None, # 3163 + None, # 3164 + None, # 3165 + None, # 3166 + None, # 3167 + None, # 3168 + None, # 3169 + None, # 3170 + None, # 3171 + None, # 3172 + None, # 3173 + None, # 3174 + None, # 3175 + None, # 3176 + None, # 3177 + None, # 3178 + None, # 3179 + None, # 3180 + None, # 3181 + None, # 3182 + None, # 3183 + None, # 3184 + None, # 3185 + None, # 3186 + None, # 3187 + None, # 3188 + None, # 3189 + None, # 3190 + None, # 3191 + None, # 3192 + None, # 3193 + None, # 3194 + None, # 3195 + None, # 3196 + None, # 3197 + None, # 3198 + None, # 3199 + None, # 3200 + None, # 3201 + None, # 3202 + None, # 3203 + None, # 3204 + None, # 3205 + None, # 3206 + None, # 3207 + None, # 3208 + None, # 3209 + None, # 3210 + None, # 3211 + None, # 3212 + None, # 3213 + None, # 3214 + None, # 3215 + None, # 3216 + None, # 3217 + None, # 3218 + None, # 3219 + None, # 3220 + None, # 3221 + None, # 3222 + None, # 3223 + None, # 3224 + None, # 3225 + None, # 3226 + None, # 3227 + None, # 3228 + None, # 3229 + None, # 3230 + None, # 3231 + None, # 3232 + None, # 3233 + None, # 3234 + None, # 3235 + None, # 3236 + None, # 3237 + None, # 3238 + None, # 3239 + None, # 3240 + None, # 3241 + None, # 3242 + None, # 3243 + None, # 3244 + None, # 3245 + None, # 3246 + None, # 3247 + None, # 3248 + None, # 3249 + None, # 3250 + None, # 3251 + None, # 3252 + None, # 3253 + None, # 3254 + None, # 3255 + None, # 3256 + None, # 3257 + None, # 3258 + None, # 3259 + None, # 3260 + None, # 3261 + None, # 3262 + None, # 3263 + None, # 3264 + None, # 3265 + None, # 3266 + None, # 3267 + None, # 3268 + None, # 3269 + None, # 3270 + None, # 3271 + None, # 3272 + None, # 3273 + None, # 3274 + None, # 3275 + None, # 3276 + None, # 3277 + None, # 3278 + None, # 3279 + None, # 3280 + None, # 3281 + None, # 3282 + None, # 3283 + None, # 3284 + None, # 3285 + None, # 3286 + None, # 3287 + None, # 3288 + None, # 3289 + None, # 3290 + None, # 3291 + None, # 3292 + None, # 3293 + None, # 3294 + None, # 3295 + None, # 3296 + None, # 3297 + None, # 3298 + None, # 3299 + None, # 3300 + None, # 3301 + None, # 3302 + None, # 3303 + None, # 3304 + None, # 3305 + None, # 3306 + None, # 3307 + None, # 3308 + None, # 3309 + None, # 3310 + None, # 3311 + None, # 3312 + None, # 3313 + None, # 3314 + None, # 3315 + None, # 3316 + None, # 3317 + None, # 3318 + None, # 3319 + None, # 3320 + None, # 3321 + None, # 3322 + None, # 3323 + None, # 3324 + None, # 3325 + None, # 3326 + None, # 3327 + None, # 3328 + (3329, TType.I16, 'executionVersion', None, None, ), # 3329 + (3330, TType.BOOL, 'replacedByNextAttempt', None, None, ), # 3330 ) all_structs.append(TCancelOperationResp) TCancelOperationResp.thrift_spec = ( - None, # 0 - (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 + None, # 0 + (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 ) all_structs.append(TCloseOperationReq) TCloseOperationReq.thrift_spec = ( - None, # 0 - (1, TType.STRUCT, 'operationHandle', [TOperationHandle, None], None, ), # 1 - None, # 2 - None, # 3 - None, # 4 - None, # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - None, # 1281 - None, # 1282 - None, # 1283 - None, # 1284 - None, # 1285 - None, # 1286 - None, # 1287 - None, # 1288 - None, # 1289 - None, # 1290 - None, # 1291 - None, # 1292 - None, # 1293 - None, # 1294 - None, # 1295 - None, # 1296 - None, # 1297 - None, # 1298 - None, # 1299 - None, # 1300 - None, # 1301 - None, # 1302 - None, # 1303 - None, # 1304 - None, # 1305 - None, # 1306 - None, # 1307 - None, # 1308 - None, # 1309 - None, # 1310 - None, # 1311 - None, # 1312 - None, # 1313 - None, # 1314 - None, # 1315 - None, # 1316 - None, # 1317 - None, # 1318 - None, # 1319 - None, # 1320 - None, # 1321 - None, # 1322 - None, # 1323 - None, # 1324 - None, # 1325 - None, # 1326 - None, # 1327 - None, # 1328 - None, # 1329 - None, # 1330 - None, # 1331 - None, # 1332 - None, # 1333 - None, # 1334 - None, # 1335 - None, # 1336 - None, # 1337 - None, # 1338 - None, # 1339 - None, # 1340 - None, # 1341 - None, # 1342 - None, # 1343 - None, # 1344 - None, # 1345 - None, # 1346 - None, # 1347 - None, # 1348 - None, # 1349 - None, # 1350 - None, # 1351 - None, # 1352 - None, # 1353 - None, # 1354 - None, # 1355 - None, # 1356 - None, # 1357 - None, # 1358 - None, # 1359 - None, # 1360 - None, # 1361 - None, # 1362 - None, # 1363 - None, # 1364 - None, # 1365 - None, # 1366 - None, # 1367 - None, # 1368 - None, # 1369 - None, # 1370 - None, # 1371 - None, # 1372 - None, # 1373 - None, # 1374 - None, # 1375 - None, # 1376 - None, # 1377 - None, # 1378 - None, # 1379 - None, # 1380 - None, # 1381 - None, # 1382 - None, # 1383 - None, # 1384 - None, # 1385 - None, # 1386 - None, # 1387 - None, # 1388 - None, # 1389 - None, # 1390 - None, # 1391 - None, # 1392 - None, # 1393 - None, # 1394 - None, # 1395 - None, # 1396 - None, # 1397 - None, # 1398 - None, # 1399 - None, # 1400 - None, # 1401 - None, # 1402 - None, # 1403 - None, # 1404 - None, # 1405 - None, # 1406 - None, # 1407 - None, # 1408 - None, # 1409 - None, # 1410 - None, # 1411 - None, # 1412 - None, # 1413 - None, # 1414 - None, # 1415 - None, # 1416 - None, # 1417 - None, # 1418 - None, # 1419 - None, # 1420 - None, # 1421 - None, # 1422 - None, # 1423 - None, # 1424 - None, # 1425 - None, # 1426 - None, # 1427 - None, # 1428 - None, # 1429 - None, # 1430 - None, # 1431 - None, # 1432 - None, # 1433 - None, # 1434 - None, # 1435 - None, # 1436 - None, # 1437 - None, # 1438 - None, # 1439 - None, # 1440 - None, # 1441 - None, # 1442 - None, # 1443 - None, # 1444 - None, # 1445 - None, # 1446 - None, # 1447 - None, # 1448 - None, # 1449 - None, # 1450 - None, # 1451 - None, # 1452 - None, # 1453 - None, # 1454 - None, # 1455 - None, # 1456 - None, # 1457 - None, # 1458 - None, # 1459 - None, # 1460 - None, # 1461 - None, # 1462 - None, # 1463 - None, # 1464 - None, # 1465 - None, # 1466 - None, # 1467 - None, # 1468 - None, # 1469 - None, # 1470 - None, # 1471 - None, # 1472 - None, # 1473 - None, # 1474 - None, # 1475 - None, # 1476 - None, # 1477 - None, # 1478 - None, # 1479 - None, # 1480 - None, # 1481 - None, # 1482 - None, # 1483 - None, # 1484 - None, # 1485 - None, # 1486 - None, # 1487 - None, # 1488 - None, # 1489 - None, # 1490 - None, # 1491 - None, # 1492 - None, # 1493 - None, # 1494 - None, # 1495 - None, # 1496 - None, # 1497 - None, # 1498 - None, # 1499 - None, # 1500 - None, # 1501 - None, # 1502 - None, # 1503 - None, # 1504 - None, # 1505 - None, # 1506 - None, # 1507 - None, # 1508 - None, # 1509 - None, # 1510 - None, # 1511 - None, # 1512 - None, # 1513 - None, # 1514 - None, # 1515 - None, # 1516 - None, # 1517 - None, # 1518 - None, # 1519 - None, # 1520 - None, # 1521 - None, # 1522 - None, # 1523 - None, # 1524 - None, # 1525 - None, # 1526 - None, # 1527 - None, # 1528 - None, # 1529 - None, # 1530 - None, # 1531 - None, # 1532 - None, # 1533 - None, # 1534 - None, # 1535 - None, # 1536 - None, # 1537 - None, # 1538 - None, # 1539 - None, # 1540 - None, # 1541 - None, # 1542 - None, # 1543 - None, # 1544 - None, # 1545 - None, # 1546 - None, # 1547 - None, # 1548 - None, # 1549 - None, # 1550 - None, # 1551 - None, # 1552 - None, # 1553 - None, # 1554 - None, # 1555 - None, # 1556 - None, # 1557 - None, # 1558 - None, # 1559 - None, # 1560 - None, # 1561 - None, # 1562 - None, # 1563 - None, # 1564 - None, # 1565 - None, # 1566 - None, # 1567 - None, # 1568 - None, # 1569 - None, # 1570 - None, # 1571 - None, # 1572 - None, # 1573 - None, # 1574 - None, # 1575 - None, # 1576 - None, # 1577 - None, # 1578 - None, # 1579 - None, # 1580 - None, # 1581 - None, # 1582 - None, # 1583 - None, # 1584 - None, # 1585 - None, # 1586 - None, # 1587 - None, # 1588 - None, # 1589 - None, # 1590 - None, # 1591 - None, # 1592 - None, # 1593 - None, # 1594 - None, # 1595 - None, # 1596 - None, # 1597 - None, # 1598 - None, # 1599 - None, # 1600 - None, # 1601 - None, # 1602 - None, # 1603 - None, # 1604 - None, # 1605 - None, # 1606 - None, # 1607 - None, # 1608 - None, # 1609 - None, # 1610 - None, # 1611 - None, # 1612 - None, # 1613 - None, # 1614 - None, # 1615 - None, # 1616 - None, # 1617 - None, # 1618 - None, # 1619 - None, # 1620 - None, # 1621 - None, # 1622 - None, # 1623 - None, # 1624 - None, # 1625 - None, # 1626 - None, # 1627 - None, # 1628 - None, # 1629 - None, # 1630 - None, # 1631 - None, # 1632 - None, # 1633 - None, # 1634 - None, # 1635 - None, # 1636 - None, # 1637 - None, # 1638 - None, # 1639 - None, # 1640 - None, # 1641 - None, # 1642 - None, # 1643 - None, # 1644 - None, # 1645 - None, # 1646 - None, # 1647 - None, # 1648 - None, # 1649 - None, # 1650 - None, # 1651 - None, # 1652 - None, # 1653 - None, # 1654 - None, # 1655 - None, # 1656 - None, # 1657 - None, # 1658 - None, # 1659 - None, # 1660 - None, # 1661 - None, # 1662 - None, # 1663 - None, # 1664 - None, # 1665 - None, # 1666 - None, # 1667 - None, # 1668 - None, # 1669 - None, # 1670 - None, # 1671 - None, # 1672 - None, # 1673 - None, # 1674 - None, # 1675 - None, # 1676 - None, # 1677 - None, # 1678 - None, # 1679 - None, # 1680 - None, # 1681 - None, # 1682 - None, # 1683 - None, # 1684 - None, # 1685 - None, # 1686 - None, # 1687 - None, # 1688 - None, # 1689 - None, # 1690 - None, # 1691 - None, # 1692 - None, # 1693 - None, # 1694 - None, # 1695 - None, # 1696 - None, # 1697 - None, # 1698 - None, # 1699 - None, # 1700 - None, # 1701 - None, # 1702 - None, # 1703 - None, # 1704 - None, # 1705 - None, # 1706 - None, # 1707 - None, # 1708 - None, # 1709 - None, # 1710 - None, # 1711 - None, # 1712 - None, # 1713 - None, # 1714 - None, # 1715 - None, # 1716 - None, # 1717 - None, # 1718 - None, # 1719 - None, # 1720 - None, # 1721 - None, # 1722 - None, # 1723 - None, # 1724 - None, # 1725 - None, # 1726 - None, # 1727 - None, # 1728 - None, # 1729 - None, # 1730 - None, # 1731 - None, # 1732 - None, # 1733 - None, # 1734 - None, # 1735 - None, # 1736 - None, # 1737 - None, # 1738 - None, # 1739 - None, # 1740 - None, # 1741 - None, # 1742 - None, # 1743 - None, # 1744 - None, # 1745 - None, # 1746 - None, # 1747 - None, # 1748 - None, # 1749 - None, # 1750 - None, # 1751 - None, # 1752 - None, # 1753 - None, # 1754 - None, # 1755 - None, # 1756 - None, # 1757 - None, # 1758 - None, # 1759 - None, # 1760 - None, # 1761 - None, # 1762 - None, # 1763 - None, # 1764 - None, # 1765 - None, # 1766 - None, # 1767 - None, # 1768 - None, # 1769 - None, # 1770 - None, # 1771 - None, # 1772 - None, # 1773 - None, # 1774 - None, # 1775 - None, # 1776 - None, # 1777 - None, # 1778 - None, # 1779 - None, # 1780 - None, # 1781 - None, # 1782 - None, # 1783 - None, # 1784 - None, # 1785 - None, # 1786 - None, # 1787 - None, # 1788 - None, # 1789 - None, # 1790 - None, # 1791 - None, # 1792 - None, # 1793 - None, # 1794 - None, # 1795 - None, # 1796 - None, # 1797 - None, # 1798 - None, # 1799 - None, # 1800 - None, # 1801 - None, # 1802 - None, # 1803 - None, # 1804 - None, # 1805 - None, # 1806 - None, # 1807 - None, # 1808 - None, # 1809 - None, # 1810 - None, # 1811 - None, # 1812 - None, # 1813 - None, # 1814 - None, # 1815 - None, # 1816 - None, # 1817 - None, # 1818 - None, # 1819 - None, # 1820 - None, # 1821 - None, # 1822 - None, # 1823 - None, # 1824 - None, # 1825 - None, # 1826 - None, # 1827 - None, # 1828 - None, # 1829 - None, # 1830 - None, # 1831 - None, # 1832 - None, # 1833 - None, # 1834 - None, # 1835 - None, # 1836 - None, # 1837 - None, # 1838 - None, # 1839 - None, # 1840 - None, # 1841 - None, # 1842 - None, # 1843 - None, # 1844 - None, # 1845 - None, # 1846 - None, # 1847 - None, # 1848 - None, # 1849 - None, # 1850 - None, # 1851 - None, # 1852 - None, # 1853 - None, # 1854 - None, # 1855 - None, # 1856 - None, # 1857 - None, # 1858 - None, # 1859 - None, # 1860 - None, # 1861 - None, # 1862 - None, # 1863 - None, # 1864 - None, # 1865 - None, # 1866 - None, # 1867 - None, # 1868 - None, # 1869 - None, # 1870 - None, # 1871 - None, # 1872 - None, # 1873 - None, # 1874 - None, # 1875 - None, # 1876 - None, # 1877 - None, # 1878 - None, # 1879 - None, # 1880 - None, # 1881 - None, # 1882 - None, # 1883 - None, # 1884 - None, # 1885 - None, # 1886 - None, # 1887 - None, # 1888 - None, # 1889 - None, # 1890 - None, # 1891 - None, # 1892 - None, # 1893 - None, # 1894 - None, # 1895 - None, # 1896 - None, # 1897 - None, # 1898 - None, # 1899 - None, # 1900 - None, # 1901 - None, # 1902 - None, # 1903 - None, # 1904 - None, # 1905 - None, # 1906 - None, # 1907 - None, # 1908 - None, # 1909 - None, # 1910 - None, # 1911 - None, # 1912 - None, # 1913 - None, # 1914 - None, # 1915 - None, # 1916 - None, # 1917 - None, # 1918 - None, # 1919 - None, # 1920 - None, # 1921 - None, # 1922 - None, # 1923 - None, # 1924 - None, # 1925 - None, # 1926 - None, # 1927 - None, # 1928 - None, # 1929 - None, # 1930 - None, # 1931 - None, # 1932 - None, # 1933 - None, # 1934 - None, # 1935 - None, # 1936 - None, # 1937 - None, # 1938 - None, # 1939 - None, # 1940 - None, # 1941 - None, # 1942 - None, # 1943 - None, # 1944 - None, # 1945 - None, # 1946 - None, # 1947 - None, # 1948 - None, # 1949 - None, # 1950 - None, # 1951 - None, # 1952 - None, # 1953 - None, # 1954 - None, # 1955 - None, # 1956 - None, # 1957 - None, # 1958 - None, # 1959 - None, # 1960 - None, # 1961 - None, # 1962 - None, # 1963 - None, # 1964 - None, # 1965 - None, # 1966 - None, # 1967 - None, # 1968 - None, # 1969 - None, # 1970 - None, # 1971 - None, # 1972 - None, # 1973 - None, # 1974 - None, # 1975 - None, # 1976 - None, # 1977 - None, # 1978 - None, # 1979 - None, # 1980 - None, # 1981 - None, # 1982 - None, # 1983 - None, # 1984 - None, # 1985 - None, # 1986 - None, # 1987 - None, # 1988 - None, # 1989 - None, # 1990 - None, # 1991 - None, # 1992 - None, # 1993 - None, # 1994 - None, # 1995 - None, # 1996 - None, # 1997 - None, # 1998 - None, # 1999 - None, # 2000 - None, # 2001 - None, # 2002 - None, # 2003 - None, # 2004 - None, # 2005 - None, # 2006 - None, # 2007 - None, # 2008 - None, # 2009 - None, # 2010 - None, # 2011 - None, # 2012 - None, # 2013 - None, # 2014 - None, # 2015 - None, # 2016 - None, # 2017 - None, # 2018 - None, # 2019 - None, # 2020 - None, # 2021 - None, # 2022 - None, # 2023 - None, # 2024 - None, # 2025 - None, # 2026 - None, # 2027 - None, # 2028 - None, # 2029 - None, # 2030 - None, # 2031 - None, # 2032 - None, # 2033 - None, # 2034 - None, # 2035 - None, # 2036 - None, # 2037 - None, # 2038 - None, # 2039 - None, # 2040 - None, # 2041 - None, # 2042 - None, # 2043 - None, # 2044 - None, # 2045 - None, # 2046 - None, # 2047 - None, # 2048 - None, # 2049 - None, # 2050 - None, # 2051 - None, # 2052 - None, # 2053 - None, # 2054 - None, # 2055 - None, # 2056 - None, # 2057 - None, # 2058 - None, # 2059 - None, # 2060 - None, # 2061 - None, # 2062 - None, # 2063 - None, # 2064 - None, # 2065 - None, # 2066 - None, # 2067 - None, # 2068 - None, # 2069 - None, # 2070 - None, # 2071 - None, # 2072 - None, # 2073 - None, # 2074 - None, # 2075 - None, # 2076 - None, # 2077 - None, # 2078 - None, # 2079 - None, # 2080 - None, # 2081 - None, # 2082 - None, # 2083 - None, # 2084 - None, # 2085 - None, # 2086 - None, # 2087 - None, # 2088 - None, # 2089 - None, # 2090 - None, # 2091 - None, # 2092 - None, # 2093 - None, # 2094 - None, # 2095 - None, # 2096 - None, # 2097 - None, # 2098 - None, # 2099 - None, # 2100 - None, # 2101 - None, # 2102 - None, # 2103 - None, # 2104 - None, # 2105 - None, # 2106 - None, # 2107 - None, # 2108 - None, # 2109 - None, # 2110 - None, # 2111 - None, # 2112 - None, # 2113 - None, # 2114 - None, # 2115 - None, # 2116 - None, # 2117 - None, # 2118 - None, # 2119 - None, # 2120 - None, # 2121 - None, # 2122 - None, # 2123 - None, # 2124 - None, # 2125 - None, # 2126 - None, # 2127 - None, # 2128 - None, # 2129 - None, # 2130 - None, # 2131 - None, # 2132 - None, # 2133 - None, # 2134 - None, # 2135 - None, # 2136 - None, # 2137 - None, # 2138 - None, # 2139 - None, # 2140 - None, # 2141 - None, # 2142 - None, # 2143 - None, # 2144 - None, # 2145 - None, # 2146 - None, # 2147 - None, # 2148 - None, # 2149 - None, # 2150 - None, # 2151 - None, # 2152 - None, # 2153 - None, # 2154 - None, # 2155 - None, # 2156 - None, # 2157 - None, # 2158 - None, # 2159 - None, # 2160 - None, # 2161 - None, # 2162 - None, # 2163 - None, # 2164 - None, # 2165 - None, # 2166 - None, # 2167 - None, # 2168 - None, # 2169 - None, # 2170 - None, # 2171 - None, # 2172 - None, # 2173 - None, # 2174 - None, # 2175 - None, # 2176 - None, # 2177 - None, # 2178 - None, # 2179 - None, # 2180 - None, # 2181 - None, # 2182 - None, # 2183 - None, # 2184 - None, # 2185 - None, # 2186 - None, # 2187 - None, # 2188 - None, # 2189 - None, # 2190 - None, # 2191 - None, # 2192 - None, # 2193 - None, # 2194 - None, # 2195 - None, # 2196 - None, # 2197 - None, # 2198 - None, # 2199 - None, # 2200 - None, # 2201 - None, # 2202 - None, # 2203 - None, # 2204 - None, # 2205 - None, # 2206 - None, # 2207 - None, # 2208 - None, # 2209 - None, # 2210 - None, # 2211 - None, # 2212 - None, # 2213 - None, # 2214 - None, # 2215 - None, # 2216 - None, # 2217 - None, # 2218 - None, # 2219 - None, # 2220 - None, # 2221 - None, # 2222 - None, # 2223 - None, # 2224 - None, # 2225 - None, # 2226 - None, # 2227 - None, # 2228 - None, # 2229 - None, # 2230 - None, # 2231 - None, # 2232 - None, # 2233 - None, # 2234 - None, # 2235 - None, # 2236 - None, # 2237 - None, # 2238 - None, # 2239 - None, # 2240 - None, # 2241 - None, # 2242 - None, # 2243 - None, # 2244 - None, # 2245 - None, # 2246 - None, # 2247 - None, # 2248 - None, # 2249 - None, # 2250 - None, # 2251 - None, # 2252 - None, # 2253 - None, # 2254 - None, # 2255 - None, # 2256 - None, # 2257 - None, # 2258 - None, # 2259 - None, # 2260 - None, # 2261 - None, # 2262 - None, # 2263 - None, # 2264 - None, # 2265 - None, # 2266 - None, # 2267 - None, # 2268 - None, # 2269 - None, # 2270 - None, # 2271 - None, # 2272 - None, # 2273 - None, # 2274 - None, # 2275 - None, # 2276 - None, # 2277 - None, # 2278 - None, # 2279 - None, # 2280 - None, # 2281 - None, # 2282 - None, # 2283 - None, # 2284 - None, # 2285 - None, # 2286 - None, # 2287 - None, # 2288 - None, # 2289 - None, # 2290 - None, # 2291 - None, # 2292 - None, # 2293 - None, # 2294 - None, # 2295 - None, # 2296 - None, # 2297 - None, # 2298 - None, # 2299 - None, # 2300 - None, # 2301 - None, # 2302 - None, # 2303 - None, # 2304 - None, # 2305 - None, # 2306 - None, # 2307 - None, # 2308 - None, # 2309 - None, # 2310 - None, # 2311 - None, # 2312 - None, # 2313 - None, # 2314 - None, # 2315 - None, # 2316 - None, # 2317 - None, # 2318 - None, # 2319 - None, # 2320 - None, # 2321 - None, # 2322 - None, # 2323 - None, # 2324 - None, # 2325 - None, # 2326 - None, # 2327 - None, # 2328 - None, # 2329 - None, # 2330 - None, # 2331 - None, # 2332 - None, # 2333 - None, # 2334 - None, # 2335 - None, # 2336 - None, # 2337 - None, # 2338 - None, # 2339 - None, # 2340 - None, # 2341 - None, # 2342 - None, # 2343 - None, # 2344 - None, # 2345 - None, # 2346 - None, # 2347 - None, # 2348 - None, # 2349 - None, # 2350 - None, # 2351 - None, # 2352 - None, # 2353 - None, # 2354 - None, # 2355 - None, # 2356 - None, # 2357 - None, # 2358 - None, # 2359 - None, # 2360 - None, # 2361 - None, # 2362 - None, # 2363 - None, # 2364 - None, # 2365 - None, # 2366 - None, # 2367 - None, # 2368 - None, # 2369 - None, # 2370 - None, # 2371 - None, # 2372 - None, # 2373 - None, # 2374 - None, # 2375 - None, # 2376 - None, # 2377 - None, # 2378 - None, # 2379 - None, # 2380 - None, # 2381 - None, # 2382 - None, # 2383 - None, # 2384 - None, # 2385 - None, # 2386 - None, # 2387 - None, # 2388 - None, # 2389 - None, # 2390 - None, # 2391 - None, # 2392 - None, # 2393 - None, # 2394 - None, # 2395 - None, # 2396 - None, # 2397 - None, # 2398 - None, # 2399 - None, # 2400 - None, # 2401 - None, # 2402 - None, # 2403 - None, # 2404 - None, # 2405 - None, # 2406 - None, # 2407 - None, # 2408 - None, # 2409 - None, # 2410 - None, # 2411 - None, # 2412 - None, # 2413 - None, # 2414 - None, # 2415 - None, # 2416 - None, # 2417 - None, # 2418 - None, # 2419 - None, # 2420 - None, # 2421 - None, # 2422 - None, # 2423 - None, # 2424 - None, # 2425 - None, # 2426 - None, # 2427 - None, # 2428 - None, # 2429 - None, # 2430 - None, # 2431 - None, # 2432 - None, # 2433 - None, # 2434 - None, # 2435 - None, # 2436 - None, # 2437 - None, # 2438 - None, # 2439 - None, # 2440 - None, # 2441 - None, # 2442 - None, # 2443 - None, # 2444 - None, # 2445 - None, # 2446 - None, # 2447 - None, # 2448 - None, # 2449 - None, # 2450 - None, # 2451 - None, # 2452 - None, # 2453 - None, # 2454 - None, # 2455 - None, # 2456 - None, # 2457 - None, # 2458 - None, # 2459 - None, # 2460 - None, # 2461 - None, # 2462 - None, # 2463 - None, # 2464 - None, # 2465 - None, # 2466 - None, # 2467 - None, # 2468 - None, # 2469 - None, # 2470 - None, # 2471 - None, # 2472 - None, # 2473 - None, # 2474 - None, # 2475 - None, # 2476 - None, # 2477 - None, # 2478 - None, # 2479 - None, # 2480 - None, # 2481 - None, # 2482 - None, # 2483 - None, # 2484 - None, # 2485 - None, # 2486 - None, # 2487 - None, # 2488 - None, # 2489 - None, # 2490 - None, # 2491 - None, # 2492 - None, # 2493 - None, # 2494 - None, # 2495 - None, # 2496 - None, # 2497 - None, # 2498 - None, # 2499 - None, # 2500 - None, # 2501 - None, # 2502 - None, # 2503 - None, # 2504 - None, # 2505 - None, # 2506 - None, # 2507 - None, # 2508 - None, # 2509 - None, # 2510 - None, # 2511 - None, # 2512 - None, # 2513 - None, # 2514 - None, # 2515 - None, # 2516 - None, # 2517 - None, # 2518 - None, # 2519 - None, # 2520 - None, # 2521 - None, # 2522 - None, # 2523 - None, # 2524 - None, # 2525 - None, # 2526 - None, # 2527 - None, # 2528 - None, # 2529 - None, # 2530 - None, # 2531 - None, # 2532 - None, # 2533 - None, # 2534 - None, # 2535 - None, # 2536 - None, # 2537 - None, # 2538 - None, # 2539 - None, # 2540 - None, # 2541 - None, # 2542 - None, # 2543 - None, # 2544 - None, # 2545 - None, # 2546 - None, # 2547 - None, # 2548 - None, # 2549 - None, # 2550 - None, # 2551 - None, # 2552 - None, # 2553 - None, # 2554 - None, # 2555 - None, # 2556 - None, # 2557 - None, # 2558 - None, # 2559 - None, # 2560 - None, # 2561 - None, # 2562 - None, # 2563 - None, # 2564 - None, # 2565 - None, # 2566 - None, # 2567 - None, # 2568 - None, # 2569 - None, # 2570 - None, # 2571 - None, # 2572 - None, # 2573 - None, # 2574 - None, # 2575 - None, # 2576 - None, # 2577 - None, # 2578 - None, # 2579 - None, # 2580 - None, # 2581 - None, # 2582 - None, # 2583 - None, # 2584 - None, # 2585 - None, # 2586 - None, # 2587 - None, # 2588 - None, # 2589 - None, # 2590 - None, # 2591 - None, # 2592 - None, # 2593 - None, # 2594 - None, # 2595 - None, # 2596 - None, # 2597 - None, # 2598 - None, # 2599 - None, # 2600 - None, # 2601 - None, # 2602 - None, # 2603 - None, # 2604 - None, # 2605 - None, # 2606 - None, # 2607 - None, # 2608 - None, # 2609 - None, # 2610 - None, # 2611 - None, # 2612 - None, # 2613 - None, # 2614 - None, # 2615 - None, # 2616 - None, # 2617 - None, # 2618 - None, # 2619 - None, # 2620 - None, # 2621 - None, # 2622 - None, # 2623 - None, # 2624 - None, # 2625 - None, # 2626 - None, # 2627 - None, # 2628 - None, # 2629 - None, # 2630 - None, # 2631 - None, # 2632 - None, # 2633 - None, # 2634 - None, # 2635 - None, # 2636 - None, # 2637 - None, # 2638 - None, # 2639 - None, # 2640 - None, # 2641 - None, # 2642 - None, # 2643 - None, # 2644 - None, # 2645 - None, # 2646 - None, # 2647 - None, # 2648 - None, # 2649 - None, # 2650 - None, # 2651 - None, # 2652 - None, # 2653 - None, # 2654 - None, # 2655 - None, # 2656 - None, # 2657 - None, # 2658 - None, # 2659 - None, # 2660 - None, # 2661 - None, # 2662 - None, # 2663 - None, # 2664 - None, # 2665 - None, # 2666 - None, # 2667 - None, # 2668 - None, # 2669 - None, # 2670 - None, # 2671 - None, # 2672 - None, # 2673 - None, # 2674 - None, # 2675 - None, # 2676 - None, # 2677 - None, # 2678 - None, # 2679 - None, # 2680 - None, # 2681 - None, # 2682 - None, # 2683 - None, # 2684 - None, # 2685 - None, # 2686 - None, # 2687 - None, # 2688 - None, # 2689 - None, # 2690 - None, # 2691 - None, # 2692 - None, # 2693 - None, # 2694 - None, # 2695 - None, # 2696 - None, # 2697 - None, # 2698 - None, # 2699 - None, # 2700 - None, # 2701 - None, # 2702 - None, # 2703 - None, # 2704 - None, # 2705 - None, # 2706 - None, # 2707 - None, # 2708 - None, # 2709 - None, # 2710 - None, # 2711 - None, # 2712 - None, # 2713 - None, # 2714 - None, # 2715 - None, # 2716 - None, # 2717 - None, # 2718 - None, # 2719 - None, # 2720 - None, # 2721 - None, # 2722 - None, # 2723 - None, # 2724 - None, # 2725 - None, # 2726 - None, # 2727 - None, # 2728 - None, # 2729 - None, # 2730 - None, # 2731 - None, # 2732 - None, # 2733 - None, # 2734 - None, # 2735 - None, # 2736 - None, # 2737 - None, # 2738 - None, # 2739 - None, # 2740 - None, # 2741 - None, # 2742 - None, # 2743 - None, # 2744 - None, # 2745 - None, # 2746 - None, # 2747 - None, # 2748 - None, # 2749 - None, # 2750 - None, # 2751 - None, # 2752 - None, # 2753 - None, # 2754 - None, # 2755 - None, # 2756 - None, # 2757 - None, # 2758 - None, # 2759 - None, # 2760 - None, # 2761 - None, # 2762 - None, # 2763 - None, # 2764 - None, # 2765 - None, # 2766 - None, # 2767 - None, # 2768 - None, # 2769 - None, # 2770 - None, # 2771 - None, # 2772 - None, # 2773 - None, # 2774 - None, # 2775 - None, # 2776 - None, # 2777 - None, # 2778 - None, # 2779 - None, # 2780 - None, # 2781 - None, # 2782 - None, # 2783 - None, # 2784 - None, # 2785 - None, # 2786 - None, # 2787 - None, # 2788 - None, # 2789 - None, # 2790 - None, # 2791 - None, # 2792 - None, # 2793 - None, # 2794 - None, # 2795 - None, # 2796 - None, # 2797 - None, # 2798 - None, # 2799 - None, # 2800 - None, # 2801 - None, # 2802 - None, # 2803 - None, # 2804 - None, # 2805 - None, # 2806 - None, # 2807 - None, # 2808 - None, # 2809 - None, # 2810 - None, # 2811 - None, # 2812 - None, # 2813 - None, # 2814 - None, # 2815 - None, # 2816 - None, # 2817 - None, # 2818 - None, # 2819 - None, # 2820 - None, # 2821 - None, # 2822 - None, # 2823 - None, # 2824 - None, # 2825 - None, # 2826 - None, # 2827 - None, # 2828 - None, # 2829 - None, # 2830 - None, # 2831 - None, # 2832 - None, # 2833 - None, # 2834 - None, # 2835 - None, # 2836 - None, # 2837 - None, # 2838 - None, # 2839 - None, # 2840 - None, # 2841 - None, # 2842 - None, # 2843 - None, # 2844 - None, # 2845 - None, # 2846 - None, # 2847 - None, # 2848 - None, # 2849 - None, # 2850 - None, # 2851 - None, # 2852 - None, # 2853 - None, # 2854 - None, # 2855 - None, # 2856 - None, # 2857 - None, # 2858 - None, # 2859 - None, # 2860 - None, # 2861 - None, # 2862 - None, # 2863 - None, # 2864 - None, # 2865 - None, # 2866 - None, # 2867 - None, # 2868 - None, # 2869 - None, # 2870 - None, # 2871 - None, # 2872 - None, # 2873 - None, # 2874 - None, # 2875 - None, # 2876 - None, # 2877 - None, # 2878 - None, # 2879 - None, # 2880 - None, # 2881 - None, # 2882 - None, # 2883 - None, # 2884 - None, # 2885 - None, # 2886 - None, # 2887 - None, # 2888 - None, # 2889 - None, # 2890 - None, # 2891 - None, # 2892 - None, # 2893 - None, # 2894 - None, # 2895 - None, # 2896 - None, # 2897 - None, # 2898 - None, # 2899 - None, # 2900 - None, # 2901 - None, # 2902 - None, # 2903 - None, # 2904 - None, # 2905 - None, # 2906 - None, # 2907 - None, # 2908 - None, # 2909 - None, # 2910 - None, # 2911 - None, # 2912 - None, # 2913 - None, # 2914 - None, # 2915 - None, # 2916 - None, # 2917 - None, # 2918 - None, # 2919 - None, # 2920 - None, # 2921 - None, # 2922 - None, # 2923 - None, # 2924 - None, # 2925 - None, # 2926 - None, # 2927 - None, # 2928 - None, # 2929 - None, # 2930 - None, # 2931 - None, # 2932 - None, # 2933 - None, # 2934 - None, # 2935 - None, # 2936 - None, # 2937 - None, # 2938 - None, # 2939 - None, # 2940 - None, # 2941 - None, # 2942 - None, # 2943 - None, # 2944 - None, # 2945 - None, # 2946 - None, # 2947 - None, # 2948 - None, # 2949 - None, # 2950 - None, # 2951 - None, # 2952 - None, # 2953 - None, # 2954 - None, # 2955 - None, # 2956 - None, # 2957 - None, # 2958 - None, # 2959 - None, # 2960 - None, # 2961 - None, # 2962 - None, # 2963 - None, # 2964 - None, # 2965 - None, # 2966 - None, # 2967 - None, # 2968 - None, # 2969 - None, # 2970 - None, # 2971 - None, # 2972 - None, # 2973 - None, # 2974 - None, # 2975 - None, # 2976 - None, # 2977 - None, # 2978 - None, # 2979 - None, # 2980 - None, # 2981 - None, # 2982 - None, # 2983 - None, # 2984 - None, # 2985 - None, # 2986 - None, # 2987 - None, # 2988 - None, # 2989 - None, # 2990 - None, # 2991 - None, # 2992 - None, # 2993 - None, # 2994 - None, # 2995 - None, # 2996 - None, # 2997 - None, # 2998 - None, # 2999 - None, # 3000 - None, # 3001 - None, # 3002 - None, # 3003 - None, # 3004 - None, # 3005 - None, # 3006 - None, # 3007 - None, # 3008 - None, # 3009 - None, # 3010 - None, # 3011 - None, # 3012 - None, # 3013 - None, # 3014 - None, # 3015 - None, # 3016 - None, # 3017 - None, # 3018 - None, # 3019 - None, # 3020 - None, # 3021 - None, # 3022 - None, # 3023 - None, # 3024 - None, # 3025 - None, # 3026 - None, # 3027 - None, # 3028 - None, # 3029 - None, # 3030 - None, # 3031 - None, # 3032 - None, # 3033 - None, # 3034 - None, # 3035 - None, # 3036 - None, # 3037 - None, # 3038 - None, # 3039 - None, # 3040 - None, # 3041 - None, # 3042 - None, # 3043 - None, # 3044 - None, # 3045 - None, # 3046 - None, # 3047 - None, # 3048 - None, # 3049 - None, # 3050 - None, # 3051 - None, # 3052 - None, # 3053 - None, # 3054 - None, # 3055 - None, # 3056 - None, # 3057 - None, # 3058 - None, # 3059 - None, # 3060 - None, # 3061 - None, # 3062 - None, # 3063 - None, # 3064 - None, # 3065 - None, # 3066 - None, # 3067 - None, # 3068 - None, # 3069 - None, # 3070 - None, # 3071 - None, # 3072 - None, # 3073 - None, # 3074 - None, # 3075 - None, # 3076 - None, # 3077 - None, # 3078 - None, # 3079 - None, # 3080 - None, # 3081 - None, # 3082 - None, # 3083 - None, # 3084 - None, # 3085 - None, # 3086 - None, # 3087 - None, # 3088 - None, # 3089 - None, # 3090 - None, # 3091 - None, # 3092 - None, # 3093 - None, # 3094 - None, # 3095 - None, # 3096 - None, # 3097 - None, # 3098 - None, # 3099 - None, # 3100 - None, # 3101 - None, # 3102 - None, # 3103 - None, # 3104 - None, # 3105 - None, # 3106 - None, # 3107 - None, # 3108 - None, # 3109 - None, # 3110 - None, # 3111 - None, # 3112 - None, # 3113 - None, # 3114 - None, # 3115 - None, # 3116 - None, # 3117 - None, # 3118 - None, # 3119 - None, # 3120 - None, # 3121 - None, # 3122 - None, # 3123 - None, # 3124 - None, # 3125 - None, # 3126 - None, # 3127 - None, # 3128 - None, # 3129 - None, # 3130 - None, # 3131 - None, # 3132 - None, # 3133 - None, # 3134 - None, # 3135 - None, # 3136 - None, # 3137 - None, # 3138 - None, # 3139 - None, # 3140 - None, # 3141 - None, # 3142 - None, # 3143 - None, # 3144 - None, # 3145 - None, # 3146 - None, # 3147 - None, # 3148 - None, # 3149 - None, # 3150 - None, # 3151 - None, # 3152 - None, # 3153 - None, # 3154 - None, # 3155 - None, # 3156 - None, # 3157 - None, # 3158 - None, # 3159 - None, # 3160 - None, # 3161 - None, # 3162 - None, # 3163 - None, # 3164 - None, # 3165 - None, # 3166 - None, # 3167 - None, # 3168 - None, # 3169 - None, # 3170 - None, # 3171 - None, # 3172 - None, # 3173 - None, # 3174 - None, # 3175 - None, # 3176 - None, # 3177 - None, # 3178 - None, # 3179 - None, # 3180 - None, # 3181 - None, # 3182 - None, # 3183 - None, # 3184 - None, # 3185 - None, # 3186 - None, # 3187 - None, # 3188 - None, # 3189 - None, # 3190 - None, # 3191 - None, # 3192 - None, # 3193 - None, # 3194 - None, # 3195 - None, # 3196 - None, # 3197 - None, # 3198 - None, # 3199 - None, # 3200 - None, # 3201 - None, # 3202 - None, # 3203 - None, # 3204 - None, # 3205 - None, # 3206 - None, # 3207 - None, # 3208 - None, # 3209 - None, # 3210 - None, # 3211 - None, # 3212 - None, # 3213 - None, # 3214 - None, # 3215 - None, # 3216 - None, # 3217 - None, # 3218 - None, # 3219 - None, # 3220 - None, # 3221 - None, # 3222 - None, # 3223 - None, # 3224 - None, # 3225 - None, # 3226 - None, # 3227 - None, # 3228 - None, # 3229 - None, # 3230 - None, # 3231 - None, # 3232 - None, # 3233 - None, # 3234 - None, # 3235 - None, # 3236 - None, # 3237 - None, # 3238 - None, # 3239 - None, # 3240 - None, # 3241 - None, # 3242 - None, # 3243 - None, # 3244 - None, # 3245 - None, # 3246 - None, # 3247 - None, # 3248 - None, # 3249 - None, # 3250 - None, # 3251 - None, # 3252 - None, # 3253 - None, # 3254 - None, # 3255 - None, # 3256 - None, # 3257 - None, # 3258 - None, # 3259 - None, # 3260 - None, # 3261 - None, # 3262 - None, # 3263 - None, # 3264 - None, # 3265 - None, # 3266 - None, # 3267 - None, # 3268 - None, # 3269 - None, # 3270 - None, # 3271 - None, # 3272 - None, # 3273 - None, # 3274 - None, # 3275 - None, # 3276 - None, # 3277 - None, # 3278 - None, # 3279 - None, # 3280 - None, # 3281 - None, # 3282 - None, # 3283 - None, # 3284 - None, # 3285 - None, # 3286 - None, # 3287 - None, # 3288 - None, # 3289 - None, # 3290 - None, # 3291 - None, # 3292 - None, # 3293 - None, # 3294 - None, # 3295 - None, # 3296 - None, # 3297 - None, # 3298 - None, # 3299 - None, # 3300 - None, # 3301 - None, # 3302 - None, # 3303 - None, # 3304 - None, # 3305 - None, # 3306 - None, # 3307 - None, # 3308 - None, # 3309 - None, # 3310 - None, # 3311 - None, # 3312 - None, # 3313 - None, # 3314 - None, # 3315 - None, # 3316 - None, # 3317 - None, # 3318 - None, # 3319 - None, # 3320 - None, # 3321 - None, # 3322 - None, # 3323 - None, # 3324 - None, # 3325 - None, # 3326 - None, # 3327 - None, # 3328 - (3329, TType.I32, 'closeReason', None, 0, ), # 3329 + None, # 0 + (1, TType.STRUCT, 'operationHandle', [TOperationHandle, None], None, ), # 1 + None, # 2 + None, # 3 + None, # 4 + None, # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + None, # 1281 + None, # 1282 + None, # 1283 + None, # 1284 + None, # 1285 + None, # 1286 + None, # 1287 + None, # 1288 + None, # 1289 + None, # 1290 + None, # 1291 + None, # 1292 + None, # 1293 + None, # 1294 + None, # 1295 + None, # 1296 + None, # 1297 + None, # 1298 + None, # 1299 + None, # 1300 + None, # 1301 + None, # 1302 + None, # 1303 + None, # 1304 + None, # 1305 + None, # 1306 + None, # 1307 + None, # 1308 + None, # 1309 + None, # 1310 + None, # 1311 + None, # 1312 + None, # 1313 + None, # 1314 + None, # 1315 + None, # 1316 + None, # 1317 + None, # 1318 + None, # 1319 + None, # 1320 + None, # 1321 + None, # 1322 + None, # 1323 + None, # 1324 + None, # 1325 + None, # 1326 + None, # 1327 + None, # 1328 + None, # 1329 + None, # 1330 + None, # 1331 + None, # 1332 + None, # 1333 + None, # 1334 + None, # 1335 + None, # 1336 + None, # 1337 + None, # 1338 + None, # 1339 + None, # 1340 + None, # 1341 + None, # 1342 + None, # 1343 + None, # 1344 + None, # 1345 + None, # 1346 + None, # 1347 + None, # 1348 + None, # 1349 + None, # 1350 + None, # 1351 + None, # 1352 + None, # 1353 + None, # 1354 + None, # 1355 + None, # 1356 + None, # 1357 + None, # 1358 + None, # 1359 + None, # 1360 + None, # 1361 + None, # 1362 + None, # 1363 + None, # 1364 + None, # 1365 + None, # 1366 + None, # 1367 + None, # 1368 + None, # 1369 + None, # 1370 + None, # 1371 + None, # 1372 + None, # 1373 + None, # 1374 + None, # 1375 + None, # 1376 + None, # 1377 + None, # 1378 + None, # 1379 + None, # 1380 + None, # 1381 + None, # 1382 + None, # 1383 + None, # 1384 + None, # 1385 + None, # 1386 + None, # 1387 + None, # 1388 + None, # 1389 + None, # 1390 + None, # 1391 + None, # 1392 + None, # 1393 + None, # 1394 + None, # 1395 + None, # 1396 + None, # 1397 + None, # 1398 + None, # 1399 + None, # 1400 + None, # 1401 + None, # 1402 + None, # 1403 + None, # 1404 + None, # 1405 + None, # 1406 + None, # 1407 + None, # 1408 + None, # 1409 + None, # 1410 + None, # 1411 + None, # 1412 + None, # 1413 + None, # 1414 + None, # 1415 + None, # 1416 + None, # 1417 + None, # 1418 + None, # 1419 + None, # 1420 + None, # 1421 + None, # 1422 + None, # 1423 + None, # 1424 + None, # 1425 + None, # 1426 + None, # 1427 + None, # 1428 + None, # 1429 + None, # 1430 + None, # 1431 + None, # 1432 + None, # 1433 + None, # 1434 + None, # 1435 + None, # 1436 + None, # 1437 + None, # 1438 + None, # 1439 + None, # 1440 + None, # 1441 + None, # 1442 + None, # 1443 + None, # 1444 + None, # 1445 + None, # 1446 + None, # 1447 + None, # 1448 + None, # 1449 + None, # 1450 + None, # 1451 + None, # 1452 + None, # 1453 + None, # 1454 + None, # 1455 + None, # 1456 + None, # 1457 + None, # 1458 + None, # 1459 + None, # 1460 + None, # 1461 + None, # 1462 + None, # 1463 + None, # 1464 + None, # 1465 + None, # 1466 + None, # 1467 + None, # 1468 + None, # 1469 + None, # 1470 + None, # 1471 + None, # 1472 + None, # 1473 + None, # 1474 + None, # 1475 + None, # 1476 + None, # 1477 + None, # 1478 + None, # 1479 + None, # 1480 + None, # 1481 + None, # 1482 + None, # 1483 + None, # 1484 + None, # 1485 + None, # 1486 + None, # 1487 + None, # 1488 + None, # 1489 + None, # 1490 + None, # 1491 + None, # 1492 + None, # 1493 + None, # 1494 + None, # 1495 + None, # 1496 + None, # 1497 + None, # 1498 + None, # 1499 + None, # 1500 + None, # 1501 + None, # 1502 + None, # 1503 + None, # 1504 + None, # 1505 + None, # 1506 + None, # 1507 + None, # 1508 + None, # 1509 + None, # 1510 + None, # 1511 + None, # 1512 + None, # 1513 + None, # 1514 + None, # 1515 + None, # 1516 + None, # 1517 + None, # 1518 + None, # 1519 + None, # 1520 + None, # 1521 + None, # 1522 + None, # 1523 + None, # 1524 + None, # 1525 + None, # 1526 + None, # 1527 + None, # 1528 + None, # 1529 + None, # 1530 + None, # 1531 + None, # 1532 + None, # 1533 + None, # 1534 + None, # 1535 + None, # 1536 + None, # 1537 + None, # 1538 + None, # 1539 + None, # 1540 + None, # 1541 + None, # 1542 + None, # 1543 + None, # 1544 + None, # 1545 + None, # 1546 + None, # 1547 + None, # 1548 + None, # 1549 + None, # 1550 + None, # 1551 + None, # 1552 + None, # 1553 + None, # 1554 + None, # 1555 + None, # 1556 + None, # 1557 + None, # 1558 + None, # 1559 + None, # 1560 + None, # 1561 + None, # 1562 + None, # 1563 + None, # 1564 + None, # 1565 + None, # 1566 + None, # 1567 + None, # 1568 + None, # 1569 + None, # 1570 + None, # 1571 + None, # 1572 + None, # 1573 + None, # 1574 + None, # 1575 + None, # 1576 + None, # 1577 + None, # 1578 + None, # 1579 + None, # 1580 + None, # 1581 + None, # 1582 + None, # 1583 + None, # 1584 + None, # 1585 + None, # 1586 + None, # 1587 + None, # 1588 + None, # 1589 + None, # 1590 + None, # 1591 + None, # 1592 + None, # 1593 + None, # 1594 + None, # 1595 + None, # 1596 + None, # 1597 + None, # 1598 + None, # 1599 + None, # 1600 + None, # 1601 + None, # 1602 + None, # 1603 + None, # 1604 + None, # 1605 + None, # 1606 + None, # 1607 + None, # 1608 + None, # 1609 + None, # 1610 + None, # 1611 + None, # 1612 + None, # 1613 + None, # 1614 + None, # 1615 + None, # 1616 + None, # 1617 + None, # 1618 + None, # 1619 + None, # 1620 + None, # 1621 + None, # 1622 + None, # 1623 + None, # 1624 + None, # 1625 + None, # 1626 + None, # 1627 + None, # 1628 + None, # 1629 + None, # 1630 + None, # 1631 + None, # 1632 + None, # 1633 + None, # 1634 + None, # 1635 + None, # 1636 + None, # 1637 + None, # 1638 + None, # 1639 + None, # 1640 + None, # 1641 + None, # 1642 + None, # 1643 + None, # 1644 + None, # 1645 + None, # 1646 + None, # 1647 + None, # 1648 + None, # 1649 + None, # 1650 + None, # 1651 + None, # 1652 + None, # 1653 + None, # 1654 + None, # 1655 + None, # 1656 + None, # 1657 + None, # 1658 + None, # 1659 + None, # 1660 + None, # 1661 + None, # 1662 + None, # 1663 + None, # 1664 + None, # 1665 + None, # 1666 + None, # 1667 + None, # 1668 + None, # 1669 + None, # 1670 + None, # 1671 + None, # 1672 + None, # 1673 + None, # 1674 + None, # 1675 + None, # 1676 + None, # 1677 + None, # 1678 + None, # 1679 + None, # 1680 + None, # 1681 + None, # 1682 + None, # 1683 + None, # 1684 + None, # 1685 + None, # 1686 + None, # 1687 + None, # 1688 + None, # 1689 + None, # 1690 + None, # 1691 + None, # 1692 + None, # 1693 + None, # 1694 + None, # 1695 + None, # 1696 + None, # 1697 + None, # 1698 + None, # 1699 + None, # 1700 + None, # 1701 + None, # 1702 + None, # 1703 + None, # 1704 + None, # 1705 + None, # 1706 + None, # 1707 + None, # 1708 + None, # 1709 + None, # 1710 + None, # 1711 + None, # 1712 + None, # 1713 + None, # 1714 + None, # 1715 + None, # 1716 + None, # 1717 + None, # 1718 + None, # 1719 + None, # 1720 + None, # 1721 + None, # 1722 + None, # 1723 + None, # 1724 + None, # 1725 + None, # 1726 + None, # 1727 + None, # 1728 + None, # 1729 + None, # 1730 + None, # 1731 + None, # 1732 + None, # 1733 + None, # 1734 + None, # 1735 + None, # 1736 + None, # 1737 + None, # 1738 + None, # 1739 + None, # 1740 + None, # 1741 + None, # 1742 + None, # 1743 + None, # 1744 + None, # 1745 + None, # 1746 + None, # 1747 + None, # 1748 + None, # 1749 + None, # 1750 + None, # 1751 + None, # 1752 + None, # 1753 + None, # 1754 + None, # 1755 + None, # 1756 + None, # 1757 + None, # 1758 + None, # 1759 + None, # 1760 + None, # 1761 + None, # 1762 + None, # 1763 + None, # 1764 + None, # 1765 + None, # 1766 + None, # 1767 + None, # 1768 + None, # 1769 + None, # 1770 + None, # 1771 + None, # 1772 + None, # 1773 + None, # 1774 + None, # 1775 + None, # 1776 + None, # 1777 + None, # 1778 + None, # 1779 + None, # 1780 + None, # 1781 + None, # 1782 + None, # 1783 + None, # 1784 + None, # 1785 + None, # 1786 + None, # 1787 + None, # 1788 + None, # 1789 + None, # 1790 + None, # 1791 + None, # 1792 + None, # 1793 + None, # 1794 + None, # 1795 + None, # 1796 + None, # 1797 + None, # 1798 + None, # 1799 + None, # 1800 + None, # 1801 + None, # 1802 + None, # 1803 + None, # 1804 + None, # 1805 + None, # 1806 + None, # 1807 + None, # 1808 + None, # 1809 + None, # 1810 + None, # 1811 + None, # 1812 + None, # 1813 + None, # 1814 + None, # 1815 + None, # 1816 + None, # 1817 + None, # 1818 + None, # 1819 + None, # 1820 + None, # 1821 + None, # 1822 + None, # 1823 + None, # 1824 + None, # 1825 + None, # 1826 + None, # 1827 + None, # 1828 + None, # 1829 + None, # 1830 + None, # 1831 + None, # 1832 + None, # 1833 + None, # 1834 + None, # 1835 + None, # 1836 + None, # 1837 + None, # 1838 + None, # 1839 + None, # 1840 + None, # 1841 + None, # 1842 + None, # 1843 + None, # 1844 + None, # 1845 + None, # 1846 + None, # 1847 + None, # 1848 + None, # 1849 + None, # 1850 + None, # 1851 + None, # 1852 + None, # 1853 + None, # 1854 + None, # 1855 + None, # 1856 + None, # 1857 + None, # 1858 + None, # 1859 + None, # 1860 + None, # 1861 + None, # 1862 + None, # 1863 + None, # 1864 + None, # 1865 + None, # 1866 + None, # 1867 + None, # 1868 + None, # 1869 + None, # 1870 + None, # 1871 + None, # 1872 + None, # 1873 + None, # 1874 + None, # 1875 + None, # 1876 + None, # 1877 + None, # 1878 + None, # 1879 + None, # 1880 + None, # 1881 + None, # 1882 + None, # 1883 + None, # 1884 + None, # 1885 + None, # 1886 + None, # 1887 + None, # 1888 + None, # 1889 + None, # 1890 + None, # 1891 + None, # 1892 + None, # 1893 + None, # 1894 + None, # 1895 + None, # 1896 + None, # 1897 + None, # 1898 + None, # 1899 + None, # 1900 + None, # 1901 + None, # 1902 + None, # 1903 + None, # 1904 + None, # 1905 + None, # 1906 + None, # 1907 + None, # 1908 + None, # 1909 + None, # 1910 + None, # 1911 + None, # 1912 + None, # 1913 + None, # 1914 + None, # 1915 + None, # 1916 + None, # 1917 + None, # 1918 + None, # 1919 + None, # 1920 + None, # 1921 + None, # 1922 + None, # 1923 + None, # 1924 + None, # 1925 + None, # 1926 + None, # 1927 + None, # 1928 + None, # 1929 + None, # 1930 + None, # 1931 + None, # 1932 + None, # 1933 + None, # 1934 + None, # 1935 + None, # 1936 + None, # 1937 + None, # 1938 + None, # 1939 + None, # 1940 + None, # 1941 + None, # 1942 + None, # 1943 + None, # 1944 + None, # 1945 + None, # 1946 + None, # 1947 + None, # 1948 + None, # 1949 + None, # 1950 + None, # 1951 + None, # 1952 + None, # 1953 + None, # 1954 + None, # 1955 + None, # 1956 + None, # 1957 + None, # 1958 + None, # 1959 + None, # 1960 + None, # 1961 + None, # 1962 + None, # 1963 + None, # 1964 + None, # 1965 + None, # 1966 + None, # 1967 + None, # 1968 + None, # 1969 + None, # 1970 + None, # 1971 + None, # 1972 + None, # 1973 + None, # 1974 + None, # 1975 + None, # 1976 + None, # 1977 + None, # 1978 + None, # 1979 + None, # 1980 + None, # 1981 + None, # 1982 + None, # 1983 + None, # 1984 + None, # 1985 + None, # 1986 + None, # 1987 + None, # 1988 + None, # 1989 + None, # 1990 + None, # 1991 + None, # 1992 + None, # 1993 + None, # 1994 + None, # 1995 + None, # 1996 + None, # 1997 + None, # 1998 + None, # 1999 + None, # 2000 + None, # 2001 + None, # 2002 + None, # 2003 + None, # 2004 + None, # 2005 + None, # 2006 + None, # 2007 + None, # 2008 + None, # 2009 + None, # 2010 + None, # 2011 + None, # 2012 + None, # 2013 + None, # 2014 + None, # 2015 + None, # 2016 + None, # 2017 + None, # 2018 + None, # 2019 + None, # 2020 + None, # 2021 + None, # 2022 + None, # 2023 + None, # 2024 + None, # 2025 + None, # 2026 + None, # 2027 + None, # 2028 + None, # 2029 + None, # 2030 + None, # 2031 + None, # 2032 + None, # 2033 + None, # 2034 + None, # 2035 + None, # 2036 + None, # 2037 + None, # 2038 + None, # 2039 + None, # 2040 + None, # 2041 + None, # 2042 + None, # 2043 + None, # 2044 + None, # 2045 + None, # 2046 + None, # 2047 + None, # 2048 + None, # 2049 + None, # 2050 + None, # 2051 + None, # 2052 + None, # 2053 + None, # 2054 + None, # 2055 + None, # 2056 + None, # 2057 + None, # 2058 + None, # 2059 + None, # 2060 + None, # 2061 + None, # 2062 + None, # 2063 + None, # 2064 + None, # 2065 + None, # 2066 + None, # 2067 + None, # 2068 + None, # 2069 + None, # 2070 + None, # 2071 + None, # 2072 + None, # 2073 + None, # 2074 + None, # 2075 + None, # 2076 + None, # 2077 + None, # 2078 + None, # 2079 + None, # 2080 + None, # 2081 + None, # 2082 + None, # 2083 + None, # 2084 + None, # 2085 + None, # 2086 + None, # 2087 + None, # 2088 + None, # 2089 + None, # 2090 + None, # 2091 + None, # 2092 + None, # 2093 + None, # 2094 + None, # 2095 + None, # 2096 + None, # 2097 + None, # 2098 + None, # 2099 + None, # 2100 + None, # 2101 + None, # 2102 + None, # 2103 + None, # 2104 + None, # 2105 + None, # 2106 + None, # 2107 + None, # 2108 + None, # 2109 + None, # 2110 + None, # 2111 + None, # 2112 + None, # 2113 + None, # 2114 + None, # 2115 + None, # 2116 + None, # 2117 + None, # 2118 + None, # 2119 + None, # 2120 + None, # 2121 + None, # 2122 + None, # 2123 + None, # 2124 + None, # 2125 + None, # 2126 + None, # 2127 + None, # 2128 + None, # 2129 + None, # 2130 + None, # 2131 + None, # 2132 + None, # 2133 + None, # 2134 + None, # 2135 + None, # 2136 + None, # 2137 + None, # 2138 + None, # 2139 + None, # 2140 + None, # 2141 + None, # 2142 + None, # 2143 + None, # 2144 + None, # 2145 + None, # 2146 + None, # 2147 + None, # 2148 + None, # 2149 + None, # 2150 + None, # 2151 + None, # 2152 + None, # 2153 + None, # 2154 + None, # 2155 + None, # 2156 + None, # 2157 + None, # 2158 + None, # 2159 + None, # 2160 + None, # 2161 + None, # 2162 + None, # 2163 + None, # 2164 + None, # 2165 + None, # 2166 + None, # 2167 + None, # 2168 + None, # 2169 + None, # 2170 + None, # 2171 + None, # 2172 + None, # 2173 + None, # 2174 + None, # 2175 + None, # 2176 + None, # 2177 + None, # 2178 + None, # 2179 + None, # 2180 + None, # 2181 + None, # 2182 + None, # 2183 + None, # 2184 + None, # 2185 + None, # 2186 + None, # 2187 + None, # 2188 + None, # 2189 + None, # 2190 + None, # 2191 + None, # 2192 + None, # 2193 + None, # 2194 + None, # 2195 + None, # 2196 + None, # 2197 + None, # 2198 + None, # 2199 + None, # 2200 + None, # 2201 + None, # 2202 + None, # 2203 + None, # 2204 + None, # 2205 + None, # 2206 + None, # 2207 + None, # 2208 + None, # 2209 + None, # 2210 + None, # 2211 + None, # 2212 + None, # 2213 + None, # 2214 + None, # 2215 + None, # 2216 + None, # 2217 + None, # 2218 + None, # 2219 + None, # 2220 + None, # 2221 + None, # 2222 + None, # 2223 + None, # 2224 + None, # 2225 + None, # 2226 + None, # 2227 + None, # 2228 + None, # 2229 + None, # 2230 + None, # 2231 + None, # 2232 + None, # 2233 + None, # 2234 + None, # 2235 + None, # 2236 + None, # 2237 + None, # 2238 + None, # 2239 + None, # 2240 + None, # 2241 + None, # 2242 + None, # 2243 + None, # 2244 + None, # 2245 + None, # 2246 + None, # 2247 + None, # 2248 + None, # 2249 + None, # 2250 + None, # 2251 + None, # 2252 + None, # 2253 + None, # 2254 + None, # 2255 + None, # 2256 + None, # 2257 + None, # 2258 + None, # 2259 + None, # 2260 + None, # 2261 + None, # 2262 + None, # 2263 + None, # 2264 + None, # 2265 + None, # 2266 + None, # 2267 + None, # 2268 + None, # 2269 + None, # 2270 + None, # 2271 + None, # 2272 + None, # 2273 + None, # 2274 + None, # 2275 + None, # 2276 + None, # 2277 + None, # 2278 + None, # 2279 + None, # 2280 + None, # 2281 + None, # 2282 + None, # 2283 + None, # 2284 + None, # 2285 + None, # 2286 + None, # 2287 + None, # 2288 + None, # 2289 + None, # 2290 + None, # 2291 + None, # 2292 + None, # 2293 + None, # 2294 + None, # 2295 + None, # 2296 + None, # 2297 + None, # 2298 + None, # 2299 + None, # 2300 + None, # 2301 + None, # 2302 + None, # 2303 + None, # 2304 + None, # 2305 + None, # 2306 + None, # 2307 + None, # 2308 + None, # 2309 + None, # 2310 + None, # 2311 + None, # 2312 + None, # 2313 + None, # 2314 + None, # 2315 + None, # 2316 + None, # 2317 + None, # 2318 + None, # 2319 + None, # 2320 + None, # 2321 + None, # 2322 + None, # 2323 + None, # 2324 + None, # 2325 + None, # 2326 + None, # 2327 + None, # 2328 + None, # 2329 + None, # 2330 + None, # 2331 + None, # 2332 + None, # 2333 + None, # 2334 + None, # 2335 + None, # 2336 + None, # 2337 + None, # 2338 + None, # 2339 + None, # 2340 + None, # 2341 + None, # 2342 + None, # 2343 + None, # 2344 + None, # 2345 + None, # 2346 + None, # 2347 + None, # 2348 + None, # 2349 + None, # 2350 + None, # 2351 + None, # 2352 + None, # 2353 + None, # 2354 + None, # 2355 + None, # 2356 + None, # 2357 + None, # 2358 + None, # 2359 + None, # 2360 + None, # 2361 + None, # 2362 + None, # 2363 + None, # 2364 + None, # 2365 + None, # 2366 + None, # 2367 + None, # 2368 + None, # 2369 + None, # 2370 + None, # 2371 + None, # 2372 + None, # 2373 + None, # 2374 + None, # 2375 + None, # 2376 + None, # 2377 + None, # 2378 + None, # 2379 + None, # 2380 + None, # 2381 + None, # 2382 + None, # 2383 + None, # 2384 + None, # 2385 + None, # 2386 + None, # 2387 + None, # 2388 + None, # 2389 + None, # 2390 + None, # 2391 + None, # 2392 + None, # 2393 + None, # 2394 + None, # 2395 + None, # 2396 + None, # 2397 + None, # 2398 + None, # 2399 + None, # 2400 + None, # 2401 + None, # 2402 + None, # 2403 + None, # 2404 + None, # 2405 + None, # 2406 + None, # 2407 + None, # 2408 + None, # 2409 + None, # 2410 + None, # 2411 + None, # 2412 + None, # 2413 + None, # 2414 + None, # 2415 + None, # 2416 + None, # 2417 + None, # 2418 + None, # 2419 + None, # 2420 + None, # 2421 + None, # 2422 + None, # 2423 + None, # 2424 + None, # 2425 + None, # 2426 + None, # 2427 + None, # 2428 + None, # 2429 + None, # 2430 + None, # 2431 + None, # 2432 + None, # 2433 + None, # 2434 + None, # 2435 + None, # 2436 + None, # 2437 + None, # 2438 + None, # 2439 + None, # 2440 + None, # 2441 + None, # 2442 + None, # 2443 + None, # 2444 + None, # 2445 + None, # 2446 + None, # 2447 + None, # 2448 + None, # 2449 + None, # 2450 + None, # 2451 + None, # 2452 + None, # 2453 + None, # 2454 + None, # 2455 + None, # 2456 + None, # 2457 + None, # 2458 + None, # 2459 + None, # 2460 + None, # 2461 + None, # 2462 + None, # 2463 + None, # 2464 + None, # 2465 + None, # 2466 + None, # 2467 + None, # 2468 + None, # 2469 + None, # 2470 + None, # 2471 + None, # 2472 + None, # 2473 + None, # 2474 + None, # 2475 + None, # 2476 + None, # 2477 + None, # 2478 + None, # 2479 + None, # 2480 + None, # 2481 + None, # 2482 + None, # 2483 + None, # 2484 + None, # 2485 + None, # 2486 + None, # 2487 + None, # 2488 + None, # 2489 + None, # 2490 + None, # 2491 + None, # 2492 + None, # 2493 + None, # 2494 + None, # 2495 + None, # 2496 + None, # 2497 + None, # 2498 + None, # 2499 + None, # 2500 + None, # 2501 + None, # 2502 + None, # 2503 + None, # 2504 + None, # 2505 + None, # 2506 + None, # 2507 + None, # 2508 + None, # 2509 + None, # 2510 + None, # 2511 + None, # 2512 + None, # 2513 + None, # 2514 + None, # 2515 + None, # 2516 + None, # 2517 + None, # 2518 + None, # 2519 + None, # 2520 + None, # 2521 + None, # 2522 + None, # 2523 + None, # 2524 + None, # 2525 + None, # 2526 + None, # 2527 + None, # 2528 + None, # 2529 + None, # 2530 + None, # 2531 + None, # 2532 + None, # 2533 + None, # 2534 + None, # 2535 + None, # 2536 + None, # 2537 + None, # 2538 + None, # 2539 + None, # 2540 + None, # 2541 + None, # 2542 + None, # 2543 + None, # 2544 + None, # 2545 + None, # 2546 + None, # 2547 + None, # 2548 + None, # 2549 + None, # 2550 + None, # 2551 + None, # 2552 + None, # 2553 + None, # 2554 + None, # 2555 + None, # 2556 + None, # 2557 + None, # 2558 + None, # 2559 + None, # 2560 + None, # 2561 + None, # 2562 + None, # 2563 + None, # 2564 + None, # 2565 + None, # 2566 + None, # 2567 + None, # 2568 + None, # 2569 + None, # 2570 + None, # 2571 + None, # 2572 + None, # 2573 + None, # 2574 + None, # 2575 + None, # 2576 + None, # 2577 + None, # 2578 + None, # 2579 + None, # 2580 + None, # 2581 + None, # 2582 + None, # 2583 + None, # 2584 + None, # 2585 + None, # 2586 + None, # 2587 + None, # 2588 + None, # 2589 + None, # 2590 + None, # 2591 + None, # 2592 + None, # 2593 + None, # 2594 + None, # 2595 + None, # 2596 + None, # 2597 + None, # 2598 + None, # 2599 + None, # 2600 + None, # 2601 + None, # 2602 + None, # 2603 + None, # 2604 + None, # 2605 + None, # 2606 + None, # 2607 + None, # 2608 + None, # 2609 + None, # 2610 + None, # 2611 + None, # 2612 + None, # 2613 + None, # 2614 + None, # 2615 + None, # 2616 + None, # 2617 + None, # 2618 + None, # 2619 + None, # 2620 + None, # 2621 + None, # 2622 + None, # 2623 + None, # 2624 + None, # 2625 + None, # 2626 + None, # 2627 + None, # 2628 + None, # 2629 + None, # 2630 + None, # 2631 + None, # 2632 + None, # 2633 + None, # 2634 + None, # 2635 + None, # 2636 + None, # 2637 + None, # 2638 + None, # 2639 + None, # 2640 + None, # 2641 + None, # 2642 + None, # 2643 + None, # 2644 + None, # 2645 + None, # 2646 + None, # 2647 + None, # 2648 + None, # 2649 + None, # 2650 + None, # 2651 + None, # 2652 + None, # 2653 + None, # 2654 + None, # 2655 + None, # 2656 + None, # 2657 + None, # 2658 + None, # 2659 + None, # 2660 + None, # 2661 + None, # 2662 + None, # 2663 + None, # 2664 + None, # 2665 + None, # 2666 + None, # 2667 + None, # 2668 + None, # 2669 + None, # 2670 + None, # 2671 + None, # 2672 + None, # 2673 + None, # 2674 + None, # 2675 + None, # 2676 + None, # 2677 + None, # 2678 + None, # 2679 + None, # 2680 + None, # 2681 + None, # 2682 + None, # 2683 + None, # 2684 + None, # 2685 + None, # 2686 + None, # 2687 + None, # 2688 + None, # 2689 + None, # 2690 + None, # 2691 + None, # 2692 + None, # 2693 + None, # 2694 + None, # 2695 + None, # 2696 + None, # 2697 + None, # 2698 + None, # 2699 + None, # 2700 + None, # 2701 + None, # 2702 + None, # 2703 + None, # 2704 + None, # 2705 + None, # 2706 + None, # 2707 + None, # 2708 + None, # 2709 + None, # 2710 + None, # 2711 + None, # 2712 + None, # 2713 + None, # 2714 + None, # 2715 + None, # 2716 + None, # 2717 + None, # 2718 + None, # 2719 + None, # 2720 + None, # 2721 + None, # 2722 + None, # 2723 + None, # 2724 + None, # 2725 + None, # 2726 + None, # 2727 + None, # 2728 + None, # 2729 + None, # 2730 + None, # 2731 + None, # 2732 + None, # 2733 + None, # 2734 + None, # 2735 + None, # 2736 + None, # 2737 + None, # 2738 + None, # 2739 + None, # 2740 + None, # 2741 + None, # 2742 + None, # 2743 + None, # 2744 + None, # 2745 + None, # 2746 + None, # 2747 + None, # 2748 + None, # 2749 + None, # 2750 + None, # 2751 + None, # 2752 + None, # 2753 + None, # 2754 + None, # 2755 + None, # 2756 + None, # 2757 + None, # 2758 + None, # 2759 + None, # 2760 + None, # 2761 + None, # 2762 + None, # 2763 + None, # 2764 + None, # 2765 + None, # 2766 + None, # 2767 + None, # 2768 + None, # 2769 + None, # 2770 + None, # 2771 + None, # 2772 + None, # 2773 + None, # 2774 + None, # 2775 + None, # 2776 + None, # 2777 + None, # 2778 + None, # 2779 + None, # 2780 + None, # 2781 + None, # 2782 + None, # 2783 + None, # 2784 + None, # 2785 + None, # 2786 + None, # 2787 + None, # 2788 + None, # 2789 + None, # 2790 + None, # 2791 + None, # 2792 + None, # 2793 + None, # 2794 + None, # 2795 + None, # 2796 + None, # 2797 + None, # 2798 + None, # 2799 + None, # 2800 + None, # 2801 + None, # 2802 + None, # 2803 + None, # 2804 + None, # 2805 + None, # 2806 + None, # 2807 + None, # 2808 + None, # 2809 + None, # 2810 + None, # 2811 + None, # 2812 + None, # 2813 + None, # 2814 + None, # 2815 + None, # 2816 + None, # 2817 + None, # 2818 + None, # 2819 + None, # 2820 + None, # 2821 + None, # 2822 + None, # 2823 + None, # 2824 + None, # 2825 + None, # 2826 + None, # 2827 + None, # 2828 + None, # 2829 + None, # 2830 + None, # 2831 + None, # 2832 + None, # 2833 + None, # 2834 + None, # 2835 + None, # 2836 + None, # 2837 + None, # 2838 + None, # 2839 + None, # 2840 + None, # 2841 + None, # 2842 + None, # 2843 + None, # 2844 + None, # 2845 + None, # 2846 + None, # 2847 + None, # 2848 + None, # 2849 + None, # 2850 + None, # 2851 + None, # 2852 + None, # 2853 + None, # 2854 + None, # 2855 + None, # 2856 + None, # 2857 + None, # 2858 + None, # 2859 + None, # 2860 + None, # 2861 + None, # 2862 + None, # 2863 + None, # 2864 + None, # 2865 + None, # 2866 + None, # 2867 + None, # 2868 + None, # 2869 + None, # 2870 + None, # 2871 + None, # 2872 + None, # 2873 + None, # 2874 + None, # 2875 + None, # 2876 + None, # 2877 + None, # 2878 + None, # 2879 + None, # 2880 + None, # 2881 + None, # 2882 + None, # 2883 + None, # 2884 + None, # 2885 + None, # 2886 + None, # 2887 + None, # 2888 + None, # 2889 + None, # 2890 + None, # 2891 + None, # 2892 + None, # 2893 + None, # 2894 + None, # 2895 + None, # 2896 + None, # 2897 + None, # 2898 + None, # 2899 + None, # 2900 + None, # 2901 + None, # 2902 + None, # 2903 + None, # 2904 + None, # 2905 + None, # 2906 + None, # 2907 + None, # 2908 + None, # 2909 + None, # 2910 + None, # 2911 + None, # 2912 + None, # 2913 + None, # 2914 + None, # 2915 + None, # 2916 + None, # 2917 + None, # 2918 + None, # 2919 + None, # 2920 + None, # 2921 + None, # 2922 + None, # 2923 + None, # 2924 + None, # 2925 + None, # 2926 + None, # 2927 + None, # 2928 + None, # 2929 + None, # 2930 + None, # 2931 + None, # 2932 + None, # 2933 + None, # 2934 + None, # 2935 + None, # 2936 + None, # 2937 + None, # 2938 + None, # 2939 + None, # 2940 + None, # 2941 + None, # 2942 + None, # 2943 + None, # 2944 + None, # 2945 + None, # 2946 + None, # 2947 + None, # 2948 + None, # 2949 + None, # 2950 + None, # 2951 + None, # 2952 + None, # 2953 + None, # 2954 + None, # 2955 + None, # 2956 + None, # 2957 + None, # 2958 + None, # 2959 + None, # 2960 + None, # 2961 + None, # 2962 + None, # 2963 + None, # 2964 + None, # 2965 + None, # 2966 + None, # 2967 + None, # 2968 + None, # 2969 + None, # 2970 + None, # 2971 + None, # 2972 + None, # 2973 + None, # 2974 + None, # 2975 + None, # 2976 + None, # 2977 + None, # 2978 + None, # 2979 + None, # 2980 + None, # 2981 + None, # 2982 + None, # 2983 + None, # 2984 + None, # 2985 + None, # 2986 + None, # 2987 + None, # 2988 + None, # 2989 + None, # 2990 + None, # 2991 + None, # 2992 + None, # 2993 + None, # 2994 + None, # 2995 + None, # 2996 + None, # 2997 + None, # 2998 + None, # 2999 + None, # 3000 + None, # 3001 + None, # 3002 + None, # 3003 + None, # 3004 + None, # 3005 + None, # 3006 + None, # 3007 + None, # 3008 + None, # 3009 + None, # 3010 + None, # 3011 + None, # 3012 + None, # 3013 + None, # 3014 + None, # 3015 + None, # 3016 + None, # 3017 + None, # 3018 + None, # 3019 + None, # 3020 + None, # 3021 + None, # 3022 + None, # 3023 + None, # 3024 + None, # 3025 + None, # 3026 + None, # 3027 + None, # 3028 + None, # 3029 + None, # 3030 + None, # 3031 + None, # 3032 + None, # 3033 + None, # 3034 + None, # 3035 + None, # 3036 + None, # 3037 + None, # 3038 + None, # 3039 + None, # 3040 + None, # 3041 + None, # 3042 + None, # 3043 + None, # 3044 + None, # 3045 + None, # 3046 + None, # 3047 + None, # 3048 + None, # 3049 + None, # 3050 + None, # 3051 + None, # 3052 + None, # 3053 + None, # 3054 + None, # 3055 + None, # 3056 + None, # 3057 + None, # 3058 + None, # 3059 + None, # 3060 + None, # 3061 + None, # 3062 + None, # 3063 + None, # 3064 + None, # 3065 + None, # 3066 + None, # 3067 + None, # 3068 + None, # 3069 + None, # 3070 + None, # 3071 + None, # 3072 + None, # 3073 + None, # 3074 + None, # 3075 + None, # 3076 + None, # 3077 + None, # 3078 + None, # 3079 + None, # 3080 + None, # 3081 + None, # 3082 + None, # 3083 + None, # 3084 + None, # 3085 + None, # 3086 + None, # 3087 + None, # 3088 + None, # 3089 + None, # 3090 + None, # 3091 + None, # 3092 + None, # 3093 + None, # 3094 + None, # 3095 + None, # 3096 + None, # 3097 + None, # 3098 + None, # 3099 + None, # 3100 + None, # 3101 + None, # 3102 + None, # 3103 + None, # 3104 + None, # 3105 + None, # 3106 + None, # 3107 + None, # 3108 + None, # 3109 + None, # 3110 + None, # 3111 + None, # 3112 + None, # 3113 + None, # 3114 + None, # 3115 + None, # 3116 + None, # 3117 + None, # 3118 + None, # 3119 + None, # 3120 + None, # 3121 + None, # 3122 + None, # 3123 + None, # 3124 + None, # 3125 + None, # 3126 + None, # 3127 + None, # 3128 + None, # 3129 + None, # 3130 + None, # 3131 + None, # 3132 + None, # 3133 + None, # 3134 + None, # 3135 + None, # 3136 + None, # 3137 + None, # 3138 + None, # 3139 + None, # 3140 + None, # 3141 + None, # 3142 + None, # 3143 + None, # 3144 + None, # 3145 + None, # 3146 + None, # 3147 + None, # 3148 + None, # 3149 + None, # 3150 + None, # 3151 + None, # 3152 + None, # 3153 + None, # 3154 + None, # 3155 + None, # 3156 + None, # 3157 + None, # 3158 + None, # 3159 + None, # 3160 + None, # 3161 + None, # 3162 + None, # 3163 + None, # 3164 + None, # 3165 + None, # 3166 + None, # 3167 + None, # 3168 + None, # 3169 + None, # 3170 + None, # 3171 + None, # 3172 + None, # 3173 + None, # 3174 + None, # 3175 + None, # 3176 + None, # 3177 + None, # 3178 + None, # 3179 + None, # 3180 + None, # 3181 + None, # 3182 + None, # 3183 + None, # 3184 + None, # 3185 + None, # 3186 + None, # 3187 + None, # 3188 + None, # 3189 + None, # 3190 + None, # 3191 + None, # 3192 + None, # 3193 + None, # 3194 + None, # 3195 + None, # 3196 + None, # 3197 + None, # 3198 + None, # 3199 + None, # 3200 + None, # 3201 + None, # 3202 + None, # 3203 + None, # 3204 + None, # 3205 + None, # 3206 + None, # 3207 + None, # 3208 + None, # 3209 + None, # 3210 + None, # 3211 + None, # 3212 + None, # 3213 + None, # 3214 + None, # 3215 + None, # 3216 + None, # 3217 + None, # 3218 + None, # 3219 + None, # 3220 + None, # 3221 + None, # 3222 + None, # 3223 + None, # 3224 + None, # 3225 + None, # 3226 + None, # 3227 + None, # 3228 + None, # 3229 + None, # 3230 + None, # 3231 + None, # 3232 + None, # 3233 + None, # 3234 + None, # 3235 + None, # 3236 + None, # 3237 + None, # 3238 + None, # 3239 + None, # 3240 + None, # 3241 + None, # 3242 + None, # 3243 + None, # 3244 + None, # 3245 + None, # 3246 + None, # 3247 + None, # 3248 + None, # 3249 + None, # 3250 + None, # 3251 + None, # 3252 + None, # 3253 + None, # 3254 + None, # 3255 + None, # 3256 + None, # 3257 + None, # 3258 + None, # 3259 + None, # 3260 + None, # 3261 + None, # 3262 + None, # 3263 + None, # 3264 + None, # 3265 + None, # 3266 + None, # 3267 + None, # 3268 + None, # 3269 + None, # 3270 + None, # 3271 + None, # 3272 + None, # 3273 + None, # 3274 + None, # 3275 + None, # 3276 + None, # 3277 + None, # 3278 + None, # 3279 + None, # 3280 + None, # 3281 + None, # 3282 + None, # 3283 + None, # 3284 + None, # 3285 + None, # 3286 + None, # 3287 + None, # 3288 + None, # 3289 + None, # 3290 + None, # 3291 + None, # 3292 + None, # 3293 + None, # 3294 + None, # 3295 + None, # 3296 + None, # 3297 + None, # 3298 + None, # 3299 + None, # 3300 + None, # 3301 + None, # 3302 + None, # 3303 + None, # 3304 + None, # 3305 + None, # 3306 + None, # 3307 + None, # 3308 + None, # 3309 + None, # 3310 + None, # 3311 + None, # 3312 + None, # 3313 + None, # 3314 + None, # 3315 + None, # 3316 + None, # 3317 + None, # 3318 + None, # 3319 + None, # 3320 + None, # 3321 + None, # 3322 + None, # 3323 + None, # 3324 + None, # 3325 + None, # 3326 + None, # 3327 + None, # 3328 + (3329, TType.I32, 'closeReason', None, 0, ), # 3329 ) all_structs.append(TCloseOperationResp) TCloseOperationResp.thrift_spec = ( - None, # 0 - (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 + None, # 0 + (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 ) all_structs.append(TGetResultSetMetadataReq) TGetResultSetMetadataReq.thrift_spec = ( - None, # 0 - (1, TType.STRUCT, 'operationHandle', [TOperationHandle, None], None, ), # 1 - None, # 2 - None, # 3 - None, # 4 - None, # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - None, # 1281 - None, # 1282 - None, # 1283 - None, # 1284 - None, # 1285 - None, # 1286 - None, # 1287 - None, # 1288 - None, # 1289 - None, # 1290 - None, # 1291 - None, # 1292 - None, # 1293 - None, # 1294 - None, # 1295 - None, # 1296 - None, # 1297 - None, # 1298 - None, # 1299 - None, # 1300 - None, # 1301 - None, # 1302 - None, # 1303 - None, # 1304 - None, # 1305 - None, # 1306 - None, # 1307 - None, # 1308 - None, # 1309 - None, # 1310 - None, # 1311 - None, # 1312 - None, # 1313 - None, # 1314 - None, # 1315 - None, # 1316 - None, # 1317 - None, # 1318 - None, # 1319 - None, # 1320 - None, # 1321 - None, # 1322 - None, # 1323 - None, # 1324 - None, # 1325 - None, # 1326 - None, # 1327 - None, # 1328 - None, # 1329 - None, # 1330 - None, # 1331 - None, # 1332 - None, # 1333 - None, # 1334 - None, # 1335 - None, # 1336 - None, # 1337 - None, # 1338 - None, # 1339 - None, # 1340 - None, # 1341 - None, # 1342 - None, # 1343 - None, # 1344 - None, # 1345 - None, # 1346 - None, # 1347 - None, # 1348 - None, # 1349 - None, # 1350 - None, # 1351 - None, # 1352 - None, # 1353 - None, # 1354 - None, # 1355 - None, # 1356 - None, # 1357 - None, # 1358 - None, # 1359 - None, # 1360 - None, # 1361 - None, # 1362 - None, # 1363 - None, # 1364 - None, # 1365 - None, # 1366 - None, # 1367 - None, # 1368 - None, # 1369 - None, # 1370 - None, # 1371 - None, # 1372 - None, # 1373 - None, # 1374 - None, # 1375 - None, # 1376 - None, # 1377 - None, # 1378 - None, # 1379 - None, # 1380 - None, # 1381 - None, # 1382 - None, # 1383 - None, # 1384 - None, # 1385 - None, # 1386 - None, # 1387 - None, # 1388 - None, # 1389 - None, # 1390 - None, # 1391 - None, # 1392 - None, # 1393 - None, # 1394 - None, # 1395 - None, # 1396 - None, # 1397 - None, # 1398 - None, # 1399 - None, # 1400 - None, # 1401 - None, # 1402 - None, # 1403 - None, # 1404 - None, # 1405 - None, # 1406 - None, # 1407 - None, # 1408 - None, # 1409 - None, # 1410 - None, # 1411 - None, # 1412 - None, # 1413 - None, # 1414 - None, # 1415 - None, # 1416 - None, # 1417 - None, # 1418 - None, # 1419 - None, # 1420 - None, # 1421 - None, # 1422 - None, # 1423 - None, # 1424 - None, # 1425 - None, # 1426 - None, # 1427 - None, # 1428 - None, # 1429 - None, # 1430 - None, # 1431 - None, # 1432 - None, # 1433 - None, # 1434 - None, # 1435 - None, # 1436 - None, # 1437 - None, # 1438 - None, # 1439 - None, # 1440 - None, # 1441 - None, # 1442 - None, # 1443 - None, # 1444 - None, # 1445 - None, # 1446 - None, # 1447 - None, # 1448 - None, # 1449 - None, # 1450 - None, # 1451 - None, # 1452 - None, # 1453 - None, # 1454 - None, # 1455 - None, # 1456 - None, # 1457 - None, # 1458 - None, # 1459 - None, # 1460 - None, # 1461 - None, # 1462 - None, # 1463 - None, # 1464 - None, # 1465 - None, # 1466 - None, # 1467 - None, # 1468 - None, # 1469 - None, # 1470 - None, # 1471 - None, # 1472 - None, # 1473 - None, # 1474 - None, # 1475 - None, # 1476 - None, # 1477 - None, # 1478 - None, # 1479 - None, # 1480 - None, # 1481 - None, # 1482 - None, # 1483 - None, # 1484 - None, # 1485 - None, # 1486 - None, # 1487 - None, # 1488 - None, # 1489 - None, # 1490 - None, # 1491 - None, # 1492 - None, # 1493 - None, # 1494 - None, # 1495 - None, # 1496 - None, # 1497 - None, # 1498 - None, # 1499 - None, # 1500 - None, # 1501 - None, # 1502 - None, # 1503 - None, # 1504 - None, # 1505 - None, # 1506 - None, # 1507 - None, # 1508 - None, # 1509 - None, # 1510 - None, # 1511 - None, # 1512 - None, # 1513 - None, # 1514 - None, # 1515 - None, # 1516 - None, # 1517 - None, # 1518 - None, # 1519 - None, # 1520 - None, # 1521 - None, # 1522 - None, # 1523 - None, # 1524 - None, # 1525 - None, # 1526 - None, # 1527 - None, # 1528 - None, # 1529 - None, # 1530 - None, # 1531 - None, # 1532 - None, # 1533 - None, # 1534 - None, # 1535 - None, # 1536 - None, # 1537 - None, # 1538 - None, # 1539 - None, # 1540 - None, # 1541 - None, # 1542 - None, # 1543 - None, # 1544 - None, # 1545 - None, # 1546 - None, # 1547 - None, # 1548 - None, # 1549 - None, # 1550 - None, # 1551 - None, # 1552 - None, # 1553 - None, # 1554 - None, # 1555 - None, # 1556 - None, # 1557 - None, # 1558 - None, # 1559 - None, # 1560 - None, # 1561 - None, # 1562 - None, # 1563 - None, # 1564 - None, # 1565 - None, # 1566 - None, # 1567 - None, # 1568 - None, # 1569 - None, # 1570 - None, # 1571 - None, # 1572 - None, # 1573 - None, # 1574 - None, # 1575 - None, # 1576 - None, # 1577 - None, # 1578 - None, # 1579 - None, # 1580 - None, # 1581 - None, # 1582 - None, # 1583 - None, # 1584 - None, # 1585 - None, # 1586 - None, # 1587 - None, # 1588 - None, # 1589 - None, # 1590 - None, # 1591 - None, # 1592 - None, # 1593 - None, # 1594 - None, # 1595 - None, # 1596 - None, # 1597 - None, # 1598 - None, # 1599 - None, # 1600 - None, # 1601 - None, # 1602 - None, # 1603 - None, # 1604 - None, # 1605 - None, # 1606 - None, # 1607 - None, # 1608 - None, # 1609 - None, # 1610 - None, # 1611 - None, # 1612 - None, # 1613 - None, # 1614 - None, # 1615 - None, # 1616 - None, # 1617 - None, # 1618 - None, # 1619 - None, # 1620 - None, # 1621 - None, # 1622 - None, # 1623 - None, # 1624 - None, # 1625 - None, # 1626 - None, # 1627 - None, # 1628 - None, # 1629 - None, # 1630 - None, # 1631 - None, # 1632 - None, # 1633 - None, # 1634 - None, # 1635 - None, # 1636 - None, # 1637 - None, # 1638 - None, # 1639 - None, # 1640 - None, # 1641 - None, # 1642 - None, # 1643 - None, # 1644 - None, # 1645 - None, # 1646 - None, # 1647 - None, # 1648 - None, # 1649 - None, # 1650 - None, # 1651 - None, # 1652 - None, # 1653 - None, # 1654 - None, # 1655 - None, # 1656 - None, # 1657 - None, # 1658 - None, # 1659 - None, # 1660 - None, # 1661 - None, # 1662 - None, # 1663 - None, # 1664 - None, # 1665 - None, # 1666 - None, # 1667 - None, # 1668 - None, # 1669 - None, # 1670 - None, # 1671 - None, # 1672 - None, # 1673 - None, # 1674 - None, # 1675 - None, # 1676 - None, # 1677 - None, # 1678 - None, # 1679 - None, # 1680 - None, # 1681 - None, # 1682 - None, # 1683 - None, # 1684 - None, # 1685 - None, # 1686 - None, # 1687 - None, # 1688 - None, # 1689 - None, # 1690 - None, # 1691 - None, # 1692 - None, # 1693 - None, # 1694 - None, # 1695 - None, # 1696 - None, # 1697 - None, # 1698 - None, # 1699 - None, # 1700 - None, # 1701 - None, # 1702 - None, # 1703 - None, # 1704 - None, # 1705 - None, # 1706 - None, # 1707 - None, # 1708 - None, # 1709 - None, # 1710 - None, # 1711 - None, # 1712 - None, # 1713 - None, # 1714 - None, # 1715 - None, # 1716 - None, # 1717 - None, # 1718 - None, # 1719 - None, # 1720 - None, # 1721 - None, # 1722 - None, # 1723 - None, # 1724 - None, # 1725 - None, # 1726 - None, # 1727 - None, # 1728 - None, # 1729 - None, # 1730 - None, # 1731 - None, # 1732 - None, # 1733 - None, # 1734 - None, # 1735 - None, # 1736 - None, # 1737 - None, # 1738 - None, # 1739 - None, # 1740 - None, # 1741 - None, # 1742 - None, # 1743 - None, # 1744 - None, # 1745 - None, # 1746 - None, # 1747 - None, # 1748 - None, # 1749 - None, # 1750 - None, # 1751 - None, # 1752 - None, # 1753 - None, # 1754 - None, # 1755 - None, # 1756 - None, # 1757 - None, # 1758 - None, # 1759 - None, # 1760 - None, # 1761 - None, # 1762 - None, # 1763 - None, # 1764 - None, # 1765 - None, # 1766 - None, # 1767 - None, # 1768 - None, # 1769 - None, # 1770 - None, # 1771 - None, # 1772 - None, # 1773 - None, # 1774 - None, # 1775 - None, # 1776 - None, # 1777 - None, # 1778 - None, # 1779 - None, # 1780 - None, # 1781 - None, # 1782 - None, # 1783 - None, # 1784 - None, # 1785 - None, # 1786 - None, # 1787 - None, # 1788 - None, # 1789 - None, # 1790 - None, # 1791 - None, # 1792 - None, # 1793 - None, # 1794 - None, # 1795 - None, # 1796 - None, # 1797 - None, # 1798 - None, # 1799 - None, # 1800 - None, # 1801 - None, # 1802 - None, # 1803 - None, # 1804 - None, # 1805 - None, # 1806 - None, # 1807 - None, # 1808 - None, # 1809 - None, # 1810 - None, # 1811 - None, # 1812 - None, # 1813 - None, # 1814 - None, # 1815 - None, # 1816 - None, # 1817 - None, # 1818 - None, # 1819 - None, # 1820 - None, # 1821 - None, # 1822 - None, # 1823 - None, # 1824 - None, # 1825 - None, # 1826 - None, # 1827 - None, # 1828 - None, # 1829 - None, # 1830 - None, # 1831 - None, # 1832 - None, # 1833 - None, # 1834 - None, # 1835 - None, # 1836 - None, # 1837 - None, # 1838 - None, # 1839 - None, # 1840 - None, # 1841 - None, # 1842 - None, # 1843 - None, # 1844 - None, # 1845 - None, # 1846 - None, # 1847 - None, # 1848 - None, # 1849 - None, # 1850 - None, # 1851 - None, # 1852 - None, # 1853 - None, # 1854 - None, # 1855 - None, # 1856 - None, # 1857 - None, # 1858 - None, # 1859 - None, # 1860 - None, # 1861 - None, # 1862 - None, # 1863 - None, # 1864 - None, # 1865 - None, # 1866 - None, # 1867 - None, # 1868 - None, # 1869 - None, # 1870 - None, # 1871 - None, # 1872 - None, # 1873 - None, # 1874 - None, # 1875 - None, # 1876 - None, # 1877 - None, # 1878 - None, # 1879 - None, # 1880 - None, # 1881 - None, # 1882 - None, # 1883 - None, # 1884 - None, # 1885 - None, # 1886 - None, # 1887 - None, # 1888 - None, # 1889 - None, # 1890 - None, # 1891 - None, # 1892 - None, # 1893 - None, # 1894 - None, # 1895 - None, # 1896 - None, # 1897 - None, # 1898 - None, # 1899 - None, # 1900 - None, # 1901 - None, # 1902 - None, # 1903 - None, # 1904 - None, # 1905 - None, # 1906 - None, # 1907 - None, # 1908 - None, # 1909 - None, # 1910 - None, # 1911 - None, # 1912 - None, # 1913 - None, # 1914 - None, # 1915 - None, # 1916 - None, # 1917 - None, # 1918 - None, # 1919 - None, # 1920 - None, # 1921 - None, # 1922 - None, # 1923 - None, # 1924 - None, # 1925 - None, # 1926 - None, # 1927 - None, # 1928 - None, # 1929 - None, # 1930 - None, # 1931 - None, # 1932 - None, # 1933 - None, # 1934 - None, # 1935 - None, # 1936 - None, # 1937 - None, # 1938 - None, # 1939 - None, # 1940 - None, # 1941 - None, # 1942 - None, # 1943 - None, # 1944 - None, # 1945 - None, # 1946 - None, # 1947 - None, # 1948 - None, # 1949 - None, # 1950 - None, # 1951 - None, # 1952 - None, # 1953 - None, # 1954 - None, # 1955 - None, # 1956 - None, # 1957 - None, # 1958 - None, # 1959 - None, # 1960 - None, # 1961 - None, # 1962 - None, # 1963 - None, # 1964 - None, # 1965 - None, # 1966 - None, # 1967 - None, # 1968 - None, # 1969 - None, # 1970 - None, # 1971 - None, # 1972 - None, # 1973 - None, # 1974 - None, # 1975 - None, # 1976 - None, # 1977 - None, # 1978 - None, # 1979 - None, # 1980 - None, # 1981 - None, # 1982 - None, # 1983 - None, # 1984 - None, # 1985 - None, # 1986 - None, # 1987 - None, # 1988 - None, # 1989 - None, # 1990 - None, # 1991 - None, # 1992 - None, # 1993 - None, # 1994 - None, # 1995 - None, # 1996 - None, # 1997 - None, # 1998 - None, # 1999 - None, # 2000 - None, # 2001 - None, # 2002 - None, # 2003 - None, # 2004 - None, # 2005 - None, # 2006 - None, # 2007 - None, # 2008 - None, # 2009 - None, # 2010 - None, # 2011 - None, # 2012 - None, # 2013 - None, # 2014 - None, # 2015 - None, # 2016 - None, # 2017 - None, # 2018 - None, # 2019 - None, # 2020 - None, # 2021 - None, # 2022 - None, # 2023 - None, # 2024 - None, # 2025 - None, # 2026 - None, # 2027 - None, # 2028 - None, # 2029 - None, # 2030 - None, # 2031 - None, # 2032 - None, # 2033 - None, # 2034 - None, # 2035 - None, # 2036 - None, # 2037 - None, # 2038 - None, # 2039 - None, # 2040 - None, # 2041 - None, # 2042 - None, # 2043 - None, # 2044 - None, # 2045 - None, # 2046 - None, # 2047 - None, # 2048 - None, # 2049 - None, # 2050 - None, # 2051 - None, # 2052 - None, # 2053 - None, # 2054 - None, # 2055 - None, # 2056 - None, # 2057 - None, # 2058 - None, # 2059 - None, # 2060 - None, # 2061 - None, # 2062 - None, # 2063 - None, # 2064 - None, # 2065 - None, # 2066 - None, # 2067 - None, # 2068 - None, # 2069 - None, # 2070 - None, # 2071 - None, # 2072 - None, # 2073 - None, # 2074 - None, # 2075 - None, # 2076 - None, # 2077 - None, # 2078 - None, # 2079 - None, # 2080 - None, # 2081 - None, # 2082 - None, # 2083 - None, # 2084 - None, # 2085 - None, # 2086 - None, # 2087 - None, # 2088 - None, # 2089 - None, # 2090 - None, # 2091 - None, # 2092 - None, # 2093 - None, # 2094 - None, # 2095 - None, # 2096 - None, # 2097 - None, # 2098 - None, # 2099 - None, # 2100 - None, # 2101 - None, # 2102 - None, # 2103 - None, # 2104 - None, # 2105 - None, # 2106 - None, # 2107 - None, # 2108 - None, # 2109 - None, # 2110 - None, # 2111 - None, # 2112 - None, # 2113 - None, # 2114 - None, # 2115 - None, # 2116 - None, # 2117 - None, # 2118 - None, # 2119 - None, # 2120 - None, # 2121 - None, # 2122 - None, # 2123 - None, # 2124 - None, # 2125 - None, # 2126 - None, # 2127 - None, # 2128 - None, # 2129 - None, # 2130 - None, # 2131 - None, # 2132 - None, # 2133 - None, # 2134 - None, # 2135 - None, # 2136 - None, # 2137 - None, # 2138 - None, # 2139 - None, # 2140 - None, # 2141 - None, # 2142 - None, # 2143 - None, # 2144 - None, # 2145 - None, # 2146 - None, # 2147 - None, # 2148 - None, # 2149 - None, # 2150 - None, # 2151 - None, # 2152 - None, # 2153 - None, # 2154 - None, # 2155 - None, # 2156 - None, # 2157 - None, # 2158 - None, # 2159 - None, # 2160 - None, # 2161 - None, # 2162 - None, # 2163 - None, # 2164 - None, # 2165 - None, # 2166 - None, # 2167 - None, # 2168 - None, # 2169 - None, # 2170 - None, # 2171 - None, # 2172 - None, # 2173 - None, # 2174 - None, # 2175 - None, # 2176 - None, # 2177 - None, # 2178 - None, # 2179 - None, # 2180 - None, # 2181 - None, # 2182 - None, # 2183 - None, # 2184 - None, # 2185 - None, # 2186 - None, # 2187 - None, # 2188 - None, # 2189 - None, # 2190 - None, # 2191 - None, # 2192 - None, # 2193 - None, # 2194 - None, # 2195 - None, # 2196 - None, # 2197 - None, # 2198 - None, # 2199 - None, # 2200 - None, # 2201 - None, # 2202 - None, # 2203 - None, # 2204 - None, # 2205 - None, # 2206 - None, # 2207 - None, # 2208 - None, # 2209 - None, # 2210 - None, # 2211 - None, # 2212 - None, # 2213 - None, # 2214 - None, # 2215 - None, # 2216 - None, # 2217 - None, # 2218 - None, # 2219 - None, # 2220 - None, # 2221 - None, # 2222 - None, # 2223 - None, # 2224 - None, # 2225 - None, # 2226 - None, # 2227 - None, # 2228 - None, # 2229 - None, # 2230 - None, # 2231 - None, # 2232 - None, # 2233 - None, # 2234 - None, # 2235 - None, # 2236 - None, # 2237 - None, # 2238 - None, # 2239 - None, # 2240 - None, # 2241 - None, # 2242 - None, # 2243 - None, # 2244 - None, # 2245 - None, # 2246 - None, # 2247 - None, # 2248 - None, # 2249 - None, # 2250 - None, # 2251 - None, # 2252 - None, # 2253 - None, # 2254 - None, # 2255 - None, # 2256 - None, # 2257 - None, # 2258 - None, # 2259 - None, # 2260 - None, # 2261 - None, # 2262 - None, # 2263 - None, # 2264 - None, # 2265 - None, # 2266 - None, # 2267 - None, # 2268 - None, # 2269 - None, # 2270 - None, # 2271 - None, # 2272 - None, # 2273 - None, # 2274 - None, # 2275 - None, # 2276 - None, # 2277 - None, # 2278 - None, # 2279 - None, # 2280 - None, # 2281 - None, # 2282 - None, # 2283 - None, # 2284 - None, # 2285 - None, # 2286 - None, # 2287 - None, # 2288 - None, # 2289 - None, # 2290 - None, # 2291 - None, # 2292 - None, # 2293 - None, # 2294 - None, # 2295 - None, # 2296 - None, # 2297 - None, # 2298 - None, # 2299 - None, # 2300 - None, # 2301 - None, # 2302 - None, # 2303 - None, # 2304 - None, # 2305 - None, # 2306 - None, # 2307 - None, # 2308 - None, # 2309 - None, # 2310 - None, # 2311 - None, # 2312 - None, # 2313 - None, # 2314 - None, # 2315 - None, # 2316 - None, # 2317 - None, # 2318 - None, # 2319 - None, # 2320 - None, # 2321 - None, # 2322 - None, # 2323 - None, # 2324 - None, # 2325 - None, # 2326 - None, # 2327 - None, # 2328 - None, # 2329 - None, # 2330 - None, # 2331 - None, # 2332 - None, # 2333 - None, # 2334 - None, # 2335 - None, # 2336 - None, # 2337 - None, # 2338 - None, # 2339 - None, # 2340 - None, # 2341 - None, # 2342 - None, # 2343 - None, # 2344 - None, # 2345 - None, # 2346 - None, # 2347 - None, # 2348 - None, # 2349 - None, # 2350 - None, # 2351 - None, # 2352 - None, # 2353 - None, # 2354 - None, # 2355 - None, # 2356 - None, # 2357 - None, # 2358 - None, # 2359 - None, # 2360 - None, # 2361 - None, # 2362 - None, # 2363 - None, # 2364 - None, # 2365 - None, # 2366 - None, # 2367 - None, # 2368 - None, # 2369 - None, # 2370 - None, # 2371 - None, # 2372 - None, # 2373 - None, # 2374 - None, # 2375 - None, # 2376 - None, # 2377 - None, # 2378 - None, # 2379 - None, # 2380 - None, # 2381 - None, # 2382 - None, # 2383 - None, # 2384 - None, # 2385 - None, # 2386 - None, # 2387 - None, # 2388 - None, # 2389 - None, # 2390 - None, # 2391 - None, # 2392 - None, # 2393 - None, # 2394 - None, # 2395 - None, # 2396 - None, # 2397 - None, # 2398 - None, # 2399 - None, # 2400 - None, # 2401 - None, # 2402 - None, # 2403 - None, # 2404 - None, # 2405 - None, # 2406 - None, # 2407 - None, # 2408 - None, # 2409 - None, # 2410 - None, # 2411 - None, # 2412 - None, # 2413 - None, # 2414 - None, # 2415 - None, # 2416 - None, # 2417 - None, # 2418 - None, # 2419 - None, # 2420 - None, # 2421 - None, # 2422 - None, # 2423 - None, # 2424 - None, # 2425 - None, # 2426 - None, # 2427 - None, # 2428 - None, # 2429 - None, # 2430 - None, # 2431 - None, # 2432 - None, # 2433 - None, # 2434 - None, # 2435 - None, # 2436 - None, # 2437 - None, # 2438 - None, # 2439 - None, # 2440 - None, # 2441 - None, # 2442 - None, # 2443 - None, # 2444 - None, # 2445 - None, # 2446 - None, # 2447 - None, # 2448 - None, # 2449 - None, # 2450 - None, # 2451 - None, # 2452 - None, # 2453 - None, # 2454 - None, # 2455 - None, # 2456 - None, # 2457 - None, # 2458 - None, # 2459 - None, # 2460 - None, # 2461 - None, # 2462 - None, # 2463 - None, # 2464 - None, # 2465 - None, # 2466 - None, # 2467 - None, # 2468 - None, # 2469 - None, # 2470 - None, # 2471 - None, # 2472 - None, # 2473 - None, # 2474 - None, # 2475 - None, # 2476 - None, # 2477 - None, # 2478 - None, # 2479 - None, # 2480 - None, # 2481 - None, # 2482 - None, # 2483 - None, # 2484 - None, # 2485 - None, # 2486 - None, # 2487 - None, # 2488 - None, # 2489 - None, # 2490 - None, # 2491 - None, # 2492 - None, # 2493 - None, # 2494 - None, # 2495 - None, # 2496 - None, # 2497 - None, # 2498 - None, # 2499 - None, # 2500 - None, # 2501 - None, # 2502 - None, # 2503 - None, # 2504 - None, # 2505 - None, # 2506 - None, # 2507 - None, # 2508 - None, # 2509 - None, # 2510 - None, # 2511 - None, # 2512 - None, # 2513 - None, # 2514 - None, # 2515 - None, # 2516 - None, # 2517 - None, # 2518 - None, # 2519 - None, # 2520 - None, # 2521 - None, # 2522 - None, # 2523 - None, # 2524 - None, # 2525 - None, # 2526 - None, # 2527 - None, # 2528 - None, # 2529 - None, # 2530 - None, # 2531 - None, # 2532 - None, # 2533 - None, # 2534 - None, # 2535 - None, # 2536 - None, # 2537 - None, # 2538 - None, # 2539 - None, # 2540 - None, # 2541 - None, # 2542 - None, # 2543 - None, # 2544 - None, # 2545 - None, # 2546 - None, # 2547 - None, # 2548 - None, # 2549 - None, # 2550 - None, # 2551 - None, # 2552 - None, # 2553 - None, # 2554 - None, # 2555 - None, # 2556 - None, # 2557 - None, # 2558 - None, # 2559 - None, # 2560 - None, # 2561 - None, # 2562 - None, # 2563 - None, # 2564 - None, # 2565 - None, # 2566 - None, # 2567 - None, # 2568 - None, # 2569 - None, # 2570 - None, # 2571 - None, # 2572 - None, # 2573 - None, # 2574 - None, # 2575 - None, # 2576 - None, # 2577 - None, # 2578 - None, # 2579 - None, # 2580 - None, # 2581 - None, # 2582 - None, # 2583 - None, # 2584 - None, # 2585 - None, # 2586 - None, # 2587 - None, # 2588 - None, # 2589 - None, # 2590 - None, # 2591 - None, # 2592 - None, # 2593 - None, # 2594 - None, # 2595 - None, # 2596 - None, # 2597 - None, # 2598 - None, # 2599 - None, # 2600 - None, # 2601 - None, # 2602 - None, # 2603 - None, # 2604 - None, # 2605 - None, # 2606 - None, # 2607 - None, # 2608 - None, # 2609 - None, # 2610 - None, # 2611 - None, # 2612 - None, # 2613 - None, # 2614 - None, # 2615 - None, # 2616 - None, # 2617 - None, # 2618 - None, # 2619 - None, # 2620 - None, # 2621 - None, # 2622 - None, # 2623 - None, # 2624 - None, # 2625 - None, # 2626 - None, # 2627 - None, # 2628 - None, # 2629 - None, # 2630 - None, # 2631 - None, # 2632 - None, # 2633 - None, # 2634 - None, # 2635 - None, # 2636 - None, # 2637 - None, # 2638 - None, # 2639 - None, # 2640 - None, # 2641 - None, # 2642 - None, # 2643 - None, # 2644 - None, # 2645 - None, # 2646 - None, # 2647 - None, # 2648 - None, # 2649 - None, # 2650 - None, # 2651 - None, # 2652 - None, # 2653 - None, # 2654 - None, # 2655 - None, # 2656 - None, # 2657 - None, # 2658 - None, # 2659 - None, # 2660 - None, # 2661 - None, # 2662 - None, # 2663 - None, # 2664 - None, # 2665 - None, # 2666 - None, # 2667 - None, # 2668 - None, # 2669 - None, # 2670 - None, # 2671 - None, # 2672 - None, # 2673 - None, # 2674 - None, # 2675 - None, # 2676 - None, # 2677 - None, # 2678 - None, # 2679 - None, # 2680 - None, # 2681 - None, # 2682 - None, # 2683 - None, # 2684 - None, # 2685 - None, # 2686 - None, # 2687 - None, # 2688 - None, # 2689 - None, # 2690 - None, # 2691 - None, # 2692 - None, # 2693 - None, # 2694 - None, # 2695 - None, # 2696 - None, # 2697 - None, # 2698 - None, # 2699 - None, # 2700 - None, # 2701 - None, # 2702 - None, # 2703 - None, # 2704 - None, # 2705 - None, # 2706 - None, # 2707 - None, # 2708 - None, # 2709 - None, # 2710 - None, # 2711 - None, # 2712 - None, # 2713 - None, # 2714 - None, # 2715 - None, # 2716 - None, # 2717 - None, # 2718 - None, # 2719 - None, # 2720 - None, # 2721 - None, # 2722 - None, # 2723 - None, # 2724 - None, # 2725 - None, # 2726 - None, # 2727 - None, # 2728 - None, # 2729 - None, # 2730 - None, # 2731 - None, # 2732 - None, # 2733 - None, # 2734 - None, # 2735 - None, # 2736 - None, # 2737 - None, # 2738 - None, # 2739 - None, # 2740 - None, # 2741 - None, # 2742 - None, # 2743 - None, # 2744 - None, # 2745 - None, # 2746 - None, # 2747 - None, # 2748 - None, # 2749 - None, # 2750 - None, # 2751 - None, # 2752 - None, # 2753 - None, # 2754 - None, # 2755 - None, # 2756 - None, # 2757 - None, # 2758 - None, # 2759 - None, # 2760 - None, # 2761 - None, # 2762 - None, # 2763 - None, # 2764 - None, # 2765 - None, # 2766 - None, # 2767 - None, # 2768 - None, # 2769 - None, # 2770 - None, # 2771 - None, # 2772 - None, # 2773 - None, # 2774 - None, # 2775 - None, # 2776 - None, # 2777 - None, # 2778 - None, # 2779 - None, # 2780 - None, # 2781 - None, # 2782 - None, # 2783 - None, # 2784 - None, # 2785 - None, # 2786 - None, # 2787 - None, # 2788 - None, # 2789 - None, # 2790 - None, # 2791 - None, # 2792 - None, # 2793 - None, # 2794 - None, # 2795 - None, # 2796 - None, # 2797 - None, # 2798 - None, # 2799 - None, # 2800 - None, # 2801 - None, # 2802 - None, # 2803 - None, # 2804 - None, # 2805 - None, # 2806 - None, # 2807 - None, # 2808 - None, # 2809 - None, # 2810 - None, # 2811 - None, # 2812 - None, # 2813 - None, # 2814 - None, # 2815 - None, # 2816 - None, # 2817 - None, # 2818 - None, # 2819 - None, # 2820 - None, # 2821 - None, # 2822 - None, # 2823 - None, # 2824 - None, # 2825 - None, # 2826 - None, # 2827 - None, # 2828 - None, # 2829 - None, # 2830 - None, # 2831 - None, # 2832 - None, # 2833 - None, # 2834 - None, # 2835 - None, # 2836 - None, # 2837 - None, # 2838 - None, # 2839 - None, # 2840 - None, # 2841 - None, # 2842 - None, # 2843 - None, # 2844 - None, # 2845 - None, # 2846 - None, # 2847 - None, # 2848 - None, # 2849 - None, # 2850 - None, # 2851 - None, # 2852 - None, # 2853 - None, # 2854 - None, # 2855 - None, # 2856 - None, # 2857 - None, # 2858 - None, # 2859 - None, # 2860 - None, # 2861 - None, # 2862 - None, # 2863 - None, # 2864 - None, # 2865 - None, # 2866 - None, # 2867 - None, # 2868 - None, # 2869 - None, # 2870 - None, # 2871 - None, # 2872 - None, # 2873 - None, # 2874 - None, # 2875 - None, # 2876 - None, # 2877 - None, # 2878 - None, # 2879 - None, # 2880 - None, # 2881 - None, # 2882 - None, # 2883 - None, # 2884 - None, # 2885 - None, # 2886 - None, # 2887 - None, # 2888 - None, # 2889 - None, # 2890 - None, # 2891 - None, # 2892 - None, # 2893 - None, # 2894 - None, # 2895 - None, # 2896 - None, # 2897 - None, # 2898 - None, # 2899 - None, # 2900 - None, # 2901 - None, # 2902 - None, # 2903 - None, # 2904 - None, # 2905 - None, # 2906 - None, # 2907 - None, # 2908 - None, # 2909 - None, # 2910 - None, # 2911 - None, # 2912 - None, # 2913 - None, # 2914 - None, # 2915 - None, # 2916 - None, # 2917 - None, # 2918 - None, # 2919 - None, # 2920 - None, # 2921 - None, # 2922 - None, # 2923 - None, # 2924 - None, # 2925 - None, # 2926 - None, # 2927 - None, # 2928 - None, # 2929 - None, # 2930 - None, # 2931 - None, # 2932 - None, # 2933 - None, # 2934 - None, # 2935 - None, # 2936 - None, # 2937 - None, # 2938 - None, # 2939 - None, # 2940 - None, # 2941 - None, # 2942 - None, # 2943 - None, # 2944 - None, # 2945 - None, # 2946 - None, # 2947 - None, # 2948 - None, # 2949 - None, # 2950 - None, # 2951 - None, # 2952 - None, # 2953 - None, # 2954 - None, # 2955 - None, # 2956 - None, # 2957 - None, # 2958 - None, # 2959 - None, # 2960 - None, # 2961 - None, # 2962 - None, # 2963 - None, # 2964 - None, # 2965 - None, # 2966 - None, # 2967 - None, # 2968 - None, # 2969 - None, # 2970 - None, # 2971 - None, # 2972 - None, # 2973 - None, # 2974 - None, # 2975 - None, # 2976 - None, # 2977 - None, # 2978 - None, # 2979 - None, # 2980 - None, # 2981 - None, # 2982 - None, # 2983 - None, # 2984 - None, # 2985 - None, # 2986 - None, # 2987 - None, # 2988 - None, # 2989 - None, # 2990 - None, # 2991 - None, # 2992 - None, # 2993 - None, # 2994 - None, # 2995 - None, # 2996 - None, # 2997 - None, # 2998 - None, # 2999 - None, # 3000 - None, # 3001 - None, # 3002 - None, # 3003 - None, # 3004 - None, # 3005 - None, # 3006 - None, # 3007 - None, # 3008 - None, # 3009 - None, # 3010 - None, # 3011 - None, # 3012 - None, # 3013 - None, # 3014 - None, # 3015 - None, # 3016 - None, # 3017 - None, # 3018 - None, # 3019 - None, # 3020 - None, # 3021 - None, # 3022 - None, # 3023 - None, # 3024 - None, # 3025 - None, # 3026 - None, # 3027 - None, # 3028 - None, # 3029 - None, # 3030 - None, # 3031 - None, # 3032 - None, # 3033 - None, # 3034 - None, # 3035 - None, # 3036 - None, # 3037 - None, # 3038 - None, # 3039 - None, # 3040 - None, # 3041 - None, # 3042 - None, # 3043 - None, # 3044 - None, # 3045 - None, # 3046 - None, # 3047 - None, # 3048 - None, # 3049 - None, # 3050 - None, # 3051 - None, # 3052 - None, # 3053 - None, # 3054 - None, # 3055 - None, # 3056 - None, # 3057 - None, # 3058 - None, # 3059 - None, # 3060 - None, # 3061 - None, # 3062 - None, # 3063 - None, # 3064 - None, # 3065 - None, # 3066 - None, # 3067 - None, # 3068 - None, # 3069 - None, # 3070 - None, # 3071 - None, # 3072 - None, # 3073 - None, # 3074 - None, # 3075 - None, # 3076 - None, # 3077 - None, # 3078 - None, # 3079 - None, # 3080 - None, # 3081 - None, # 3082 - None, # 3083 - None, # 3084 - None, # 3085 - None, # 3086 - None, # 3087 - None, # 3088 - None, # 3089 - None, # 3090 - None, # 3091 - None, # 3092 - None, # 3093 - None, # 3094 - None, # 3095 - None, # 3096 - None, # 3097 - None, # 3098 - None, # 3099 - None, # 3100 - None, # 3101 - None, # 3102 - None, # 3103 - None, # 3104 - None, # 3105 - None, # 3106 - None, # 3107 - None, # 3108 - None, # 3109 - None, # 3110 - None, # 3111 - None, # 3112 - None, # 3113 - None, # 3114 - None, # 3115 - None, # 3116 - None, # 3117 - None, # 3118 - None, # 3119 - None, # 3120 - None, # 3121 - None, # 3122 - None, # 3123 - None, # 3124 - None, # 3125 - None, # 3126 - None, # 3127 - None, # 3128 - None, # 3129 - None, # 3130 - None, # 3131 - None, # 3132 - None, # 3133 - None, # 3134 - None, # 3135 - None, # 3136 - None, # 3137 - None, # 3138 - None, # 3139 - None, # 3140 - None, # 3141 - None, # 3142 - None, # 3143 - None, # 3144 - None, # 3145 - None, # 3146 - None, # 3147 - None, # 3148 - None, # 3149 - None, # 3150 - None, # 3151 - None, # 3152 - None, # 3153 - None, # 3154 - None, # 3155 - None, # 3156 - None, # 3157 - None, # 3158 - None, # 3159 - None, # 3160 - None, # 3161 - None, # 3162 - None, # 3163 - None, # 3164 - None, # 3165 - None, # 3166 - None, # 3167 - None, # 3168 - None, # 3169 - None, # 3170 - None, # 3171 - None, # 3172 - None, # 3173 - None, # 3174 - None, # 3175 - None, # 3176 - None, # 3177 - None, # 3178 - None, # 3179 - None, # 3180 - None, # 3181 - None, # 3182 - None, # 3183 - None, # 3184 - None, # 3185 - None, # 3186 - None, # 3187 - None, # 3188 - None, # 3189 - None, # 3190 - None, # 3191 - None, # 3192 - None, # 3193 - None, # 3194 - None, # 3195 - None, # 3196 - None, # 3197 - None, # 3198 - None, # 3199 - None, # 3200 - None, # 3201 - None, # 3202 - None, # 3203 - None, # 3204 - None, # 3205 - None, # 3206 - None, # 3207 - None, # 3208 - None, # 3209 - None, # 3210 - None, # 3211 - None, # 3212 - None, # 3213 - None, # 3214 - None, # 3215 - None, # 3216 - None, # 3217 - None, # 3218 - None, # 3219 - None, # 3220 - None, # 3221 - None, # 3222 - None, # 3223 - None, # 3224 - None, # 3225 - None, # 3226 - None, # 3227 - None, # 3228 - None, # 3229 - None, # 3230 - None, # 3231 - None, # 3232 - None, # 3233 - None, # 3234 - None, # 3235 - None, # 3236 - None, # 3237 - None, # 3238 - None, # 3239 - None, # 3240 - None, # 3241 - None, # 3242 - None, # 3243 - None, # 3244 - None, # 3245 - None, # 3246 - None, # 3247 - None, # 3248 - None, # 3249 - None, # 3250 - None, # 3251 - None, # 3252 - None, # 3253 - None, # 3254 - None, # 3255 - None, # 3256 - None, # 3257 - None, # 3258 - None, # 3259 - None, # 3260 - None, # 3261 - None, # 3262 - None, # 3263 - None, # 3264 - None, # 3265 - None, # 3266 - None, # 3267 - None, # 3268 - None, # 3269 - None, # 3270 - None, # 3271 - None, # 3272 - None, # 3273 - None, # 3274 - None, # 3275 - None, # 3276 - None, # 3277 - None, # 3278 - None, # 3279 - None, # 3280 - None, # 3281 - None, # 3282 - None, # 3283 - None, # 3284 - None, # 3285 - None, # 3286 - None, # 3287 - None, # 3288 - None, # 3289 - None, # 3290 - None, # 3291 - None, # 3292 - None, # 3293 - None, # 3294 - None, # 3295 - None, # 3296 - None, # 3297 - None, # 3298 - None, # 3299 - None, # 3300 - None, # 3301 - None, # 3302 - None, # 3303 - None, # 3304 - None, # 3305 - None, # 3306 - None, # 3307 - None, # 3308 - None, # 3309 - None, # 3310 - None, # 3311 - None, # 3312 - None, # 3313 - None, # 3314 - None, # 3315 - None, # 3316 - None, # 3317 - None, # 3318 - None, # 3319 - None, # 3320 - None, # 3321 - None, # 3322 - None, # 3323 - None, # 3324 - None, # 3325 - None, # 3326 - None, # 3327 - None, # 3328 - (3329, TType.BOOL, 'includeCloudResultFiles', None, None, ), # 3329 + None, # 0 + (1, TType.STRUCT, 'operationHandle', [TOperationHandle, None], None, ), # 1 + None, # 2 + None, # 3 + None, # 4 + None, # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + None, # 1281 + None, # 1282 + None, # 1283 + None, # 1284 + None, # 1285 + None, # 1286 + None, # 1287 + None, # 1288 + None, # 1289 + None, # 1290 + None, # 1291 + None, # 1292 + None, # 1293 + None, # 1294 + None, # 1295 + None, # 1296 + None, # 1297 + None, # 1298 + None, # 1299 + None, # 1300 + None, # 1301 + None, # 1302 + None, # 1303 + None, # 1304 + None, # 1305 + None, # 1306 + None, # 1307 + None, # 1308 + None, # 1309 + None, # 1310 + None, # 1311 + None, # 1312 + None, # 1313 + None, # 1314 + None, # 1315 + None, # 1316 + None, # 1317 + None, # 1318 + None, # 1319 + None, # 1320 + None, # 1321 + None, # 1322 + None, # 1323 + None, # 1324 + None, # 1325 + None, # 1326 + None, # 1327 + None, # 1328 + None, # 1329 + None, # 1330 + None, # 1331 + None, # 1332 + None, # 1333 + None, # 1334 + None, # 1335 + None, # 1336 + None, # 1337 + None, # 1338 + None, # 1339 + None, # 1340 + None, # 1341 + None, # 1342 + None, # 1343 + None, # 1344 + None, # 1345 + None, # 1346 + None, # 1347 + None, # 1348 + None, # 1349 + None, # 1350 + None, # 1351 + None, # 1352 + None, # 1353 + None, # 1354 + None, # 1355 + None, # 1356 + None, # 1357 + None, # 1358 + None, # 1359 + None, # 1360 + None, # 1361 + None, # 1362 + None, # 1363 + None, # 1364 + None, # 1365 + None, # 1366 + None, # 1367 + None, # 1368 + None, # 1369 + None, # 1370 + None, # 1371 + None, # 1372 + None, # 1373 + None, # 1374 + None, # 1375 + None, # 1376 + None, # 1377 + None, # 1378 + None, # 1379 + None, # 1380 + None, # 1381 + None, # 1382 + None, # 1383 + None, # 1384 + None, # 1385 + None, # 1386 + None, # 1387 + None, # 1388 + None, # 1389 + None, # 1390 + None, # 1391 + None, # 1392 + None, # 1393 + None, # 1394 + None, # 1395 + None, # 1396 + None, # 1397 + None, # 1398 + None, # 1399 + None, # 1400 + None, # 1401 + None, # 1402 + None, # 1403 + None, # 1404 + None, # 1405 + None, # 1406 + None, # 1407 + None, # 1408 + None, # 1409 + None, # 1410 + None, # 1411 + None, # 1412 + None, # 1413 + None, # 1414 + None, # 1415 + None, # 1416 + None, # 1417 + None, # 1418 + None, # 1419 + None, # 1420 + None, # 1421 + None, # 1422 + None, # 1423 + None, # 1424 + None, # 1425 + None, # 1426 + None, # 1427 + None, # 1428 + None, # 1429 + None, # 1430 + None, # 1431 + None, # 1432 + None, # 1433 + None, # 1434 + None, # 1435 + None, # 1436 + None, # 1437 + None, # 1438 + None, # 1439 + None, # 1440 + None, # 1441 + None, # 1442 + None, # 1443 + None, # 1444 + None, # 1445 + None, # 1446 + None, # 1447 + None, # 1448 + None, # 1449 + None, # 1450 + None, # 1451 + None, # 1452 + None, # 1453 + None, # 1454 + None, # 1455 + None, # 1456 + None, # 1457 + None, # 1458 + None, # 1459 + None, # 1460 + None, # 1461 + None, # 1462 + None, # 1463 + None, # 1464 + None, # 1465 + None, # 1466 + None, # 1467 + None, # 1468 + None, # 1469 + None, # 1470 + None, # 1471 + None, # 1472 + None, # 1473 + None, # 1474 + None, # 1475 + None, # 1476 + None, # 1477 + None, # 1478 + None, # 1479 + None, # 1480 + None, # 1481 + None, # 1482 + None, # 1483 + None, # 1484 + None, # 1485 + None, # 1486 + None, # 1487 + None, # 1488 + None, # 1489 + None, # 1490 + None, # 1491 + None, # 1492 + None, # 1493 + None, # 1494 + None, # 1495 + None, # 1496 + None, # 1497 + None, # 1498 + None, # 1499 + None, # 1500 + None, # 1501 + None, # 1502 + None, # 1503 + None, # 1504 + None, # 1505 + None, # 1506 + None, # 1507 + None, # 1508 + None, # 1509 + None, # 1510 + None, # 1511 + None, # 1512 + None, # 1513 + None, # 1514 + None, # 1515 + None, # 1516 + None, # 1517 + None, # 1518 + None, # 1519 + None, # 1520 + None, # 1521 + None, # 1522 + None, # 1523 + None, # 1524 + None, # 1525 + None, # 1526 + None, # 1527 + None, # 1528 + None, # 1529 + None, # 1530 + None, # 1531 + None, # 1532 + None, # 1533 + None, # 1534 + None, # 1535 + None, # 1536 + None, # 1537 + None, # 1538 + None, # 1539 + None, # 1540 + None, # 1541 + None, # 1542 + None, # 1543 + None, # 1544 + None, # 1545 + None, # 1546 + None, # 1547 + None, # 1548 + None, # 1549 + None, # 1550 + None, # 1551 + None, # 1552 + None, # 1553 + None, # 1554 + None, # 1555 + None, # 1556 + None, # 1557 + None, # 1558 + None, # 1559 + None, # 1560 + None, # 1561 + None, # 1562 + None, # 1563 + None, # 1564 + None, # 1565 + None, # 1566 + None, # 1567 + None, # 1568 + None, # 1569 + None, # 1570 + None, # 1571 + None, # 1572 + None, # 1573 + None, # 1574 + None, # 1575 + None, # 1576 + None, # 1577 + None, # 1578 + None, # 1579 + None, # 1580 + None, # 1581 + None, # 1582 + None, # 1583 + None, # 1584 + None, # 1585 + None, # 1586 + None, # 1587 + None, # 1588 + None, # 1589 + None, # 1590 + None, # 1591 + None, # 1592 + None, # 1593 + None, # 1594 + None, # 1595 + None, # 1596 + None, # 1597 + None, # 1598 + None, # 1599 + None, # 1600 + None, # 1601 + None, # 1602 + None, # 1603 + None, # 1604 + None, # 1605 + None, # 1606 + None, # 1607 + None, # 1608 + None, # 1609 + None, # 1610 + None, # 1611 + None, # 1612 + None, # 1613 + None, # 1614 + None, # 1615 + None, # 1616 + None, # 1617 + None, # 1618 + None, # 1619 + None, # 1620 + None, # 1621 + None, # 1622 + None, # 1623 + None, # 1624 + None, # 1625 + None, # 1626 + None, # 1627 + None, # 1628 + None, # 1629 + None, # 1630 + None, # 1631 + None, # 1632 + None, # 1633 + None, # 1634 + None, # 1635 + None, # 1636 + None, # 1637 + None, # 1638 + None, # 1639 + None, # 1640 + None, # 1641 + None, # 1642 + None, # 1643 + None, # 1644 + None, # 1645 + None, # 1646 + None, # 1647 + None, # 1648 + None, # 1649 + None, # 1650 + None, # 1651 + None, # 1652 + None, # 1653 + None, # 1654 + None, # 1655 + None, # 1656 + None, # 1657 + None, # 1658 + None, # 1659 + None, # 1660 + None, # 1661 + None, # 1662 + None, # 1663 + None, # 1664 + None, # 1665 + None, # 1666 + None, # 1667 + None, # 1668 + None, # 1669 + None, # 1670 + None, # 1671 + None, # 1672 + None, # 1673 + None, # 1674 + None, # 1675 + None, # 1676 + None, # 1677 + None, # 1678 + None, # 1679 + None, # 1680 + None, # 1681 + None, # 1682 + None, # 1683 + None, # 1684 + None, # 1685 + None, # 1686 + None, # 1687 + None, # 1688 + None, # 1689 + None, # 1690 + None, # 1691 + None, # 1692 + None, # 1693 + None, # 1694 + None, # 1695 + None, # 1696 + None, # 1697 + None, # 1698 + None, # 1699 + None, # 1700 + None, # 1701 + None, # 1702 + None, # 1703 + None, # 1704 + None, # 1705 + None, # 1706 + None, # 1707 + None, # 1708 + None, # 1709 + None, # 1710 + None, # 1711 + None, # 1712 + None, # 1713 + None, # 1714 + None, # 1715 + None, # 1716 + None, # 1717 + None, # 1718 + None, # 1719 + None, # 1720 + None, # 1721 + None, # 1722 + None, # 1723 + None, # 1724 + None, # 1725 + None, # 1726 + None, # 1727 + None, # 1728 + None, # 1729 + None, # 1730 + None, # 1731 + None, # 1732 + None, # 1733 + None, # 1734 + None, # 1735 + None, # 1736 + None, # 1737 + None, # 1738 + None, # 1739 + None, # 1740 + None, # 1741 + None, # 1742 + None, # 1743 + None, # 1744 + None, # 1745 + None, # 1746 + None, # 1747 + None, # 1748 + None, # 1749 + None, # 1750 + None, # 1751 + None, # 1752 + None, # 1753 + None, # 1754 + None, # 1755 + None, # 1756 + None, # 1757 + None, # 1758 + None, # 1759 + None, # 1760 + None, # 1761 + None, # 1762 + None, # 1763 + None, # 1764 + None, # 1765 + None, # 1766 + None, # 1767 + None, # 1768 + None, # 1769 + None, # 1770 + None, # 1771 + None, # 1772 + None, # 1773 + None, # 1774 + None, # 1775 + None, # 1776 + None, # 1777 + None, # 1778 + None, # 1779 + None, # 1780 + None, # 1781 + None, # 1782 + None, # 1783 + None, # 1784 + None, # 1785 + None, # 1786 + None, # 1787 + None, # 1788 + None, # 1789 + None, # 1790 + None, # 1791 + None, # 1792 + None, # 1793 + None, # 1794 + None, # 1795 + None, # 1796 + None, # 1797 + None, # 1798 + None, # 1799 + None, # 1800 + None, # 1801 + None, # 1802 + None, # 1803 + None, # 1804 + None, # 1805 + None, # 1806 + None, # 1807 + None, # 1808 + None, # 1809 + None, # 1810 + None, # 1811 + None, # 1812 + None, # 1813 + None, # 1814 + None, # 1815 + None, # 1816 + None, # 1817 + None, # 1818 + None, # 1819 + None, # 1820 + None, # 1821 + None, # 1822 + None, # 1823 + None, # 1824 + None, # 1825 + None, # 1826 + None, # 1827 + None, # 1828 + None, # 1829 + None, # 1830 + None, # 1831 + None, # 1832 + None, # 1833 + None, # 1834 + None, # 1835 + None, # 1836 + None, # 1837 + None, # 1838 + None, # 1839 + None, # 1840 + None, # 1841 + None, # 1842 + None, # 1843 + None, # 1844 + None, # 1845 + None, # 1846 + None, # 1847 + None, # 1848 + None, # 1849 + None, # 1850 + None, # 1851 + None, # 1852 + None, # 1853 + None, # 1854 + None, # 1855 + None, # 1856 + None, # 1857 + None, # 1858 + None, # 1859 + None, # 1860 + None, # 1861 + None, # 1862 + None, # 1863 + None, # 1864 + None, # 1865 + None, # 1866 + None, # 1867 + None, # 1868 + None, # 1869 + None, # 1870 + None, # 1871 + None, # 1872 + None, # 1873 + None, # 1874 + None, # 1875 + None, # 1876 + None, # 1877 + None, # 1878 + None, # 1879 + None, # 1880 + None, # 1881 + None, # 1882 + None, # 1883 + None, # 1884 + None, # 1885 + None, # 1886 + None, # 1887 + None, # 1888 + None, # 1889 + None, # 1890 + None, # 1891 + None, # 1892 + None, # 1893 + None, # 1894 + None, # 1895 + None, # 1896 + None, # 1897 + None, # 1898 + None, # 1899 + None, # 1900 + None, # 1901 + None, # 1902 + None, # 1903 + None, # 1904 + None, # 1905 + None, # 1906 + None, # 1907 + None, # 1908 + None, # 1909 + None, # 1910 + None, # 1911 + None, # 1912 + None, # 1913 + None, # 1914 + None, # 1915 + None, # 1916 + None, # 1917 + None, # 1918 + None, # 1919 + None, # 1920 + None, # 1921 + None, # 1922 + None, # 1923 + None, # 1924 + None, # 1925 + None, # 1926 + None, # 1927 + None, # 1928 + None, # 1929 + None, # 1930 + None, # 1931 + None, # 1932 + None, # 1933 + None, # 1934 + None, # 1935 + None, # 1936 + None, # 1937 + None, # 1938 + None, # 1939 + None, # 1940 + None, # 1941 + None, # 1942 + None, # 1943 + None, # 1944 + None, # 1945 + None, # 1946 + None, # 1947 + None, # 1948 + None, # 1949 + None, # 1950 + None, # 1951 + None, # 1952 + None, # 1953 + None, # 1954 + None, # 1955 + None, # 1956 + None, # 1957 + None, # 1958 + None, # 1959 + None, # 1960 + None, # 1961 + None, # 1962 + None, # 1963 + None, # 1964 + None, # 1965 + None, # 1966 + None, # 1967 + None, # 1968 + None, # 1969 + None, # 1970 + None, # 1971 + None, # 1972 + None, # 1973 + None, # 1974 + None, # 1975 + None, # 1976 + None, # 1977 + None, # 1978 + None, # 1979 + None, # 1980 + None, # 1981 + None, # 1982 + None, # 1983 + None, # 1984 + None, # 1985 + None, # 1986 + None, # 1987 + None, # 1988 + None, # 1989 + None, # 1990 + None, # 1991 + None, # 1992 + None, # 1993 + None, # 1994 + None, # 1995 + None, # 1996 + None, # 1997 + None, # 1998 + None, # 1999 + None, # 2000 + None, # 2001 + None, # 2002 + None, # 2003 + None, # 2004 + None, # 2005 + None, # 2006 + None, # 2007 + None, # 2008 + None, # 2009 + None, # 2010 + None, # 2011 + None, # 2012 + None, # 2013 + None, # 2014 + None, # 2015 + None, # 2016 + None, # 2017 + None, # 2018 + None, # 2019 + None, # 2020 + None, # 2021 + None, # 2022 + None, # 2023 + None, # 2024 + None, # 2025 + None, # 2026 + None, # 2027 + None, # 2028 + None, # 2029 + None, # 2030 + None, # 2031 + None, # 2032 + None, # 2033 + None, # 2034 + None, # 2035 + None, # 2036 + None, # 2037 + None, # 2038 + None, # 2039 + None, # 2040 + None, # 2041 + None, # 2042 + None, # 2043 + None, # 2044 + None, # 2045 + None, # 2046 + None, # 2047 + None, # 2048 + None, # 2049 + None, # 2050 + None, # 2051 + None, # 2052 + None, # 2053 + None, # 2054 + None, # 2055 + None, # 2056 + None, # 2057 + None, # 2058 + None, # 2059 + None, # 2060 + None, # 2061 + None, # 2062 + None, # 2063 + None, # 2064 + None, # 2065 + None, # 2066 + None, # 2067 + None, # 2068 + None, # 2069 + None, # 2070 + None, # 2071 + None, # 2072 + None, # 2073 + None, # 2074 + None, # 2075 + None, # 2076 + None, # 2077 + None, # 2078 + None, # 2079 + None, # 2080 + None, # 2081 + None, # 2082 + None, # 2083 + None, # 2084 + None, # 2085 + None, # 2086 + None, # 2087 + None, # 2088 + None, # 2089 + None, # 2090 + None, # 2091 + None, # 2092 + None, # 2093 + None, # 2094 + None, # 2095 + None, # 2096 + None, # 2097 + None, # 2098 + None, # 2099 + None, # 2100 + None, # 2101 + None, # 2102 + None, # 2103 + None, # 2104 + None, # 2105 + None, # 2106 + None, # 2107 + None, # 2108 + None, # 2109 + None, # 2110 + None, # 2111 + None, # 2112 + None, # 2113 + None, # 2114 + None, # 2115 + None, # 2116 + None, # 2117 + None, # 2118 + None, # 2119 + None, # 2120 + None, # 2121 + None, # 2122 + None, # 2123 + None, # 2124 + None, # 2125 + None, # 2126 + None, # 2127 + None, # 2128 + None, # 2129 + None, # 2130 + None, # 2131 + None, # 2132 + None, # 2133 + None, # 2134 + None, # 2135 + None, # 2136 + None, # 2137 + None, # 2138 + None, # 2139 + None, # 2140 + None, # 2141 + None, # 2142 + None, # 2143 + None, # 2144 + None, # 2145 + None, # 2146 + None, # 2147 + None, # 2148 + None, # 2149 + None, # 2150 + None, # 2151 + None, # 2152 + None, # 2153 + None, # 2154 + None, # 2155 + None, # 2156 + None, # 2157 + None, # 2158 + None, # 2159 + None, # 2160 + None, # 2161 + None, # 2162 + None, # 2163 + None, # 2164 + None, # 2165 + None, # 2166 + None, # 2167 + None, # 2168 + None, # 2169 + None, # 2170 + None, # 2171 + None, # 2172 + None, # 2173 + None, # 2174 + None, # 2175 + None, # 2176 + None, # 2177 + None, # 2178 + None, # 2179 + None, # 2180 + None, # 2181 + None, # 2182 + None, # 2183 + None, # 2184 + None, # 2185 + None, # 2186 + None, # 2187 + None, # 2188 + None, # 2189 + None, # 2190 + None, # 2191 + None, # 2192 + None, # 2193 + None, # 2194 + None, # 2195 + None, # 2196 + None, # 2197 + None, # 2198 + None, # 2199 + None, # 2200 + None, # 2201 + None, # 2202 + None, # 2203 + None, # 2204 + None, # 2205 + None, # 2206 + None, # 2207 + None, # 2208 + None, # 2209 + None, # 2210 + None, # 2211 + None, # 2212 + None, # 2213 + None, # 2214 + None, # 2215 + None, # 2216 + None, # 2217 + None, # 2218 + None, # 2219 + None, # 2220 + None, # 2221 + None, # 2222 + None, # 2223 + None, # 2224 + None, # 2225 + None, # 2226 + None, # 2227 + None, # 2228 + None, # 2229 + None, # 2230 + None, # 2231 + None, # 2232 + None, # 2233 + None, # 2234 + None, # 2235 + None, # 2236 + None, # 2237 + None, # 2238 + None, # 2239 + None, # 2240 + None, # 2241 + None, # 2242 + None, # 2243 + None, # 2244 + None, # 2245 + None, # 2246 + None, # 2247 + None, # 2248 + None, # 2249 + None, # 2250 + None, # 2251 + None, # 2252 + None, # 2253 + None, # 2254 + None, # 2255 + None, # 2256 + None, # 2257 + None, # 2258 + None, # 2259 + None, # 2260 + None, # 2261 + None, # 2262 + None, # 2263 + None, # 2264 + None, # 2265 + None, # 2266 + None, # 2267 + None, # 2268 + None, # 2269 + None, # 2270 + None, # 2271 + None, # 2272 + None, # 2273 + None, # 2274 + None, # 2275 + None, # 2276 + None, # 2277 + None, # 2278 + None, # 2279 + None, # 2280 + None, # 2281 + None, # 2282 + None, # 2283 + None, # 2284 + None, # 2285 + None, # 2286 + None, # 2287 + None, # 2288 + None, # 2289 + None, # 2290 + None, # 2291 + None, # 2292 + None, # 2293 + None, # 2294 + None, # 2295 + None, # 2296 + None, # 2297 + None, # 2298 + None, # 2299 + None, # 2300 + None, # 2301 + None, # 2302 + None, # 2303 + None, # 2304 + None, # 2305 + None, # 2306 + None, # 2307 + None, # 2308 + None, # 2309 + None, # 2310 + None, # 2311 + None, # 2312 + None, # 2313 + None, # 2314 + None, # 2315 + None, # 2316 + None, # 2317 + None, # 2318 + None, # 2319 + None, # 2320 + None, # 2321 + None, # 2322 + None, # 2323 + None, # 2324 + None, # 2325 + None, # 2326 + None, # 2327 + None, # 2328 + None, # 2329 + None, # 2330 + None, # 2331 + None, # 2332 + None, # 2333 + None, # 2334 + None, # 2335 + None, # 2336 + None, # 2337 + None, # 2338 + None, # 2339 + None, # 2340 + None, # 2341 + None, # 2342 + None, # 2343 + None, # 2344 + None, # 2345 + None, # 2346 + None, # 2347 + None, # 2348 + None, # 2349 + None, # 2350 + None, # 2351 + None, # 2352 + None, # 2353 + None, # 2354 + None, # 2355 + None, # 2356 + None, # 2357 + None, # 2358 + None, # 2359 + None, # 2360 + None, # 2361 + None, # 2362 + None, # 2363 + None, # 2364 + None, # 2365 + None, # 2366 + None, # 2367 + None, # 2368 + None, # 2369 + None, # 2370 + None, # 2371 + None, # 2372 + None, # 2373 + None, # 2374 + None, # 2375 + None, # 2376 + None, # 2377 + None, # 2378 + None, # 2379 + None, # 2380 + None, # 2381 + None, # 2382 + None, # 2383 + None, # 2384 + None, # 2385 + None, # 2386 + None, # 2387 + None, # 2388 + None, # 2389 + None, # 2390 + None, # 2391 + None, # 2392 + None, # 2393 + None, # 2394 + None, # 2395 + None, # 2396 + None, # 2397 + None, # 2398 + None, # 2399 + None, # 2400 + None, # 2401 + None, # 2402 + None, # 2403 + None, # 2404 + None, # 2405 + None, # 2406 + None, # 2407 + None, # 2408 + None, # 2409 + None, # 2410 + None, # 2411 + None, # 2412 + None, # 2413 + None, # 2414 + None, # 2415 + None, # 2416 + None, # 2417 + None, # 2418 + None, # 2419 + None, # 2420 + None, # 2421 + None, # 2422 + None, # 2423 + None, # 2424 + None, # 2425 + None, # 2426 + None, # 2427 + None, # 2428 + None, # 2429 + None, # 2430 + None, # 2431 + None, # 2432 + None, # 2433 + None, # 2434 + None, # 2435 + None, # 2436 + None, # 2437 + None, # 2438 + None, # 2439 + None, # 2440 + None, # 2441 + None, # 2442 + None, # 2443 + None, # 2444 + None, # 2445 + None, # 2446 + None, # 2447 + None, # 2448 + None, # 2449 + None, # 2450 + None, # 2451 + None, # 2452 + None, # 2453 + None, # 2454 + None, # 2455 + None, # 2456 + None, # 2457 + None, # 2458 + None, # 2459 + None, # 2460 + None, # 2461 + None, # 2462 + None, # 2463 + None, # 2464 + None, # 2465 + None, # 2466 + None, # 2467 + None, # 2468 + None, # 2469 + None, # 2470 + None, # 2471 + None, # 2472 + None, # 2473 + None, # 2474 + None, # 2475 + None, # 2476 + None, # 2477 + None, # 2478 + None, # 2479 + None, # 2480 + None, # 2481 + None, # 2482 + None, # 2483 + None, # 2484 + None, # 2485 + None, # 2486 + None, # 2487 + None, # 2488 + None, # 2489 + None, # 2490 + None, # 2491 + None, # 2492 + None, # 2493 + None, # 2494 + None, # 2495 + None, # 2496 + None, # 2497 + None, # 2498 + None, # 2499 + None, # 2500 + None, # 2501 + None, # 2502 + None, # 2503 + None, # 2504 + None, # 2505 + None, # 2506 + None, # 2507 + None, # 2508 + None, # 2509 + None, # 2510 + None, # 2511 + None, # 2512 + None, # 2513 + None, # 2514 + None, # 2515 + None, # 2516 + None, # 2517 + None, # 2518 + None, # 2519 + None, # 2520 + None, # 2521 + None, # 2522 + None, # 2523 + None, # 2524 + None, # 2525 + None, # 2526 + None, # 2527 + None, # 2528 + None, # 2529 + None, # 2530 + None, # 2531 + None, # 2532 + None, # 2533 + None, # 2534 + None, # 2535 + None, # 2536 + None, # 2537 + None, # 2538 + None, # 2539 + None, # 2540 + None, # 2541 + None, # 2542 + None, # 2543 + None, # 2544 + None, # 2545 + None, # 2546 + None, # 2547 + None, # 2548 + None, # 2549 + None, # 2550 + None, # 2551 + None, # 2552 + None, # 2553 + None, # 2554 + None, # 2555 + None, # 2556 + None, # 2557 + None, # 2558 + None, # 2559 + None, # 2560 + None, # 2561 + None, # 2562 + None, # 2563 + None, # 2564 + None, # 2565 + None, # 2566 + None, # 2567 + None, # 2568 + None, # 2569 + None, # 2570 + None, # 2571 + None, # 2572 + None, # 2573 + None, # 2574 + None, # 2575 + None, # 2576 + None, # 2577 + None, # 2578 + None, # 2579 + None, # 2580 + None, # 2581 + None, # 2582 + None, # 2583 + None, # 2584 + None, # 2585 + None, # 2586 + None, # 2587 + None, # 2588 + None, # 2589 + None, # 2590 + None, # 2591 + None, # 2592 + None, # 2593 + None, # 2594 + None, # 2595 + None, # 2596 + None, # 2597 + None, # 2598 + None, # 2599 + None, # 2600 + None, # 2601 + None, # 2602 + None, # 2603 + None, # 2604 + None, # 2605 + None, # 2606 + None, # 2607 + None, # 2608 + None, # 2609 + None, # 2610 + None, # 2611 + None, # 2612 + None, # 2613 + None, # 2614 + None, # 2615 + None, # 2616 + None, # 2617 + None, # 2618 + None, # 2619 + None, # 2620 + None, # 2621 + None, # 2622 + None, # 2623 + None, # 2624 + None, # 2625 + None, # 2626 + None, # 2627 + None, # 2628 + None, # 2629 + None, # 2630 + None, # 2631 + None, # 2632 + None, # 2633 + None, # 2634 + None, # 2635 + None, # 2636 + None, # 2637 + None, # 2638 + None, # 2639 + None, # 2640 + None, # 2641 + None, # 2642 + None, # 2643 + None, # 2644 + None, # 2645 + None, # 2646 + None, # 2647 + None, # 2648 + None, # 2649 + None, # 2650 + None, # 2651 + None, # 2652 + None, # 2653 + None, # 2654 + None, # 2655 + None, # 2656 + None, # 2657 + None, # 2658 + None, # 2659 + None, # 2660 + None, # 2661 + None, # 2662 + None, # 2663 + None, # 2664 + None, # 2665 + None, # 2666 + None, # 2667 + None, # 2668 + None, # 2669 + None, # 2670 + None, # 2671 + None, # 2672 + None, # 2673 + None, # 2674 + None, # 2675 + None, # 2676 + None, # 2677 + None, # 2678 + None, # 2679 + None, # 2680 + None, # 2681 + None, # 2682 + None, # 2683 + None, # 2684 + None, # 2685 + None, # 2686 + None, # 2687 + None, # 2688 + None, # 2689 + None, # 2690 + None, # 2691 + None, # 2692 + None, # 2693 + None, # 2694 + None, # 2695 + None, # 2696 + None, # 2697 + None, # 2698 + None, # 2699 + None, # 2700 + None, # 2701 + None, # 2702 + None, # 2703 + None, # 2704 + None, # 2705 + None, # 2706 + None, # 2707 + None, # 2708 + None, # 2709 + None, # 2710 + None, # 2711 + None, # 2712 + None, # 2713 + None, # 2714 + None, # 2715 + None, # 2716 + None, # 2717 + None, # 2718 + None, # 2719 + None, # 2720 + None, # 2721 + None, # 2722 + None, # 2723 + None, # 2724 + None, # 2725 + None, # 2726 + None, # 2727 + None, # 2728 + None, # 2729 + None, # 2730 + None, # 2731 + None, # 2732 + None, # 2733 + None, # 2734 + None, # 2735 + None, # 2736 + None, # 2737 + None, # 2738 + None, # 2739 + None, # 2740 + None, # 2741 + None, # 2742 + None, # 2743 + None, # 2744 + None, # 2745 + None, # 2746 + None, # 2747 + None, # 2748 + None, # 2749 + None, # 2750 + None, # 2751 + None, # 2752 + None, # 2753 + None, # 2754 + None, # 2755 + None, # 2756 + None, # 2757 + None, # 2758 + None, # 2759 + None, # 2760 + None, # 2761 + None, # 2762 + None, # 2763 + None, # 2764 + None, # 2765 + None, # 2766 + None, # 2767 + None, # 2768 + None, # 2769 + None, # 2770 + None, # 2771 + None, # 2772 + None, # 2773 + None, # 2774 + None, # 2775 + None, # 2776 + None, # 2777 + None, # 2778 + None, # 2779 + None, # 2780 + None, # 2781 + None, # 2782 + None, # 2783 + None, # 2784 + None, # 2785 + None, # 2786 + None, # 2787 + None, # 2788 + None, # 2789 + None, # 2790 + None, # 2791 + None, # 2792 + None, # 2793 + None, # 2794 + None, # 2795 + None, # 2796 + None, # 2797 + None, # 2798 + None, # 2799 + None, # 2800 + None, # 2801 + None, # 2802 + None, # 2803 + None, # 2804 + None, # 2805 + None, # 2806 + None, # 2807 + None, # 2808 + None, # 2809 + None, # 2810 + None, # 2811 + None, # 2812 + None, # 2813 + None, # 2814 + None, # 2815 + None, # 2816 + None, # 2817 + None, # 2818 + None, # 2819 + None, # 2820 + None, # 2821 + None, # 2822 + None, # 2823 + None, # 2824 + None, # 2825 + None, # 2826 + None, # 2827 + None, # 2828 + None, # 2829 + None, # 2830 + None, # 2831 + None, # 2832 + None, # 2833 + None, # 2834 + None, # 2835 + None, # 2836 + None, # 2837 + None, # 2838 + None, # 2839 + None, # 2840 + None, # 2841 + None, # 2842 + None, # 2843 + None, # 2844 + None, # 2845 + None, # 2846 + None, # 2847 + None, # 2848 + None, # 2849 + None, # 2850 + None, # 2851 + None, # 2852 + None, # 2853 + None, # 2854 + None, # 2855 + None, # 2856 + None, # 2857 + None, # 2858 + None, # 2859 + None, # 2860 + None, # 2861 + None, # 2862 + None, # 2863 + None, # 2864 + None, # 2865 + None, # 2866 + None, # 2867 + None, # 2868 + None, # 2869 + None, # 2870 + None, # 2871 + None, # 2872 + None, # 2873 + None, # 2874 + None, # 2875 + None, # 2876 + None, # 2877 + None, # 2878 + None, # 2879 + None, # 2880 + None, # 2881 + None, # 2882 + None, # 2883 + None, # 2884 + None, # 2885 + None, # 2886 + None, # 2887 + None, # 2888 + None, # 2889 + None, # 2890 + None, # 2891 + None, # 2892 + None, # 2893 + None, # 2894 + None, # 2895 + None, # 2896 + None, # 2897 + None, # 2898 + None, # 2899 + None, # 2900 + None, # 2901 + None, # 2902 + None, # 2903 + None, # 2904 + None, # 2905 + None, # 2906 + None, # 2907 + None, # 2908 + None, # 2909 + None, # 2910 + None, # 2911 + None, # 2912 + None, # 2913 + None, # 2914 + None, # 2915 + None, # 2916 + None, # 2917 + None, # 2918 + None, # 2919 + None, # 2920 + None, # 2921 + None, # 2922 + None, # 2923 + None, # 2924 + None, # 2925 + None, # 2926 + None, # 2927 + None, # 2928 + None, # 2929 + None, # 2930 + None, # 2931 + None, # 2932 + None, # 2933 + None, # 2934 + None, # 2935 + None, # 2936 + None, # 2937 + None, # 2938 + None, # 2939 + None, # 2940 + None, # 2941 + None, # 2942 + None, # 2943 + None, # 2944 + None, # 2945 + None, # 2946 + None, # 2947 + None, # 2948 + None, # 2949 + None, # 2950 + None, # 2951 + None, # 2952 + None, # 2953 + None, # 2954 + None, # 2955 + None, # 2956 + None, # 2957 + None, # 2958 + None, # 2959 + None, # 2960 + None, # 2961 + None, # 2962 + None, # 2963 + None, # 2964 + None, # 2965 + None, # 2966 + None, # 2967 + None, # 2968 + None, # 2969 + None, # 2970 + None, # 2971 + None, # 2972 + None, # 2973 + None, # 2974 + None, # 2975 + None, # 2976 + None, # 2977 + None, # 2978 + None, # 2979 + None, # 2980 + None, # 2981 + None, # 2982 + None, # 2983 + None, # 2984 + None, # 2985 + None, # 2986 + None, # 2987 + None, # 2988 + None, # 2989 + None, # 2990 + None, # 2991 + None, # 2992 + None, # 2993 + None, # 2994 + None, # 2995 + None, # 2996 + None, # 2997 + None, # 2998 + None, # 2999 + None, # 3000 + None, # 3001 + None, # 3002 + None, # 3003 + None, # 3004 + None, # 3005 + None, # 3006 + None, # 3007 + None, # 3008 + None, # 3009 + None, # 3010 + None, # 3011 + None, # 3012 + None, # 3013 + None, # 3014 + None, # 3015 + None, # 3016 + None, # 3017 + None, # 3018 + None, # 3019 + None, # 3020 + None, # 3021 + None, # 3022 + None, # 3023 + None, # 3024 + None, # 3025 + None, # 3026 + None, # 3027 + None, # 3028 + None, # 3029 + None, # 3030 + None, # 3031 + None, # 3032 + None, # 3033 + None, # 3034 + None, # 3035 + None, # 3036 + None, # 3037 + None, # 3038 + None, # 3039 + None, # 3040 + None, # 3041 + None, # 3042 + None, # 3043 + None, # 3044 + None, # 3045 + None, # 3046 + None, # 3047 + None, # 3048 + None, # 3049 + None, # 3050 + None, # 3051 + None, # 3052 + None, # 3053 + None, # 3054 + None, # 3055 + None, # 3056 + None, # 3057 + None, # 3058 + None, # 3059 + None, # 3060 + None, # 3061 + None, # 3062 + None, # 3063 + None, # 3064 + None, # 3065 + None, # 3066 + None, # 3067 + None, # 3068 + None, # 3069 + None, # 3070 + None, # 3071 + None, # 3072 + None, # 3073 + None, # 3074 + None, # 3075 + None, # 3076 + None, # 3077 + None, # 3078 + None, # 3079 + None, # 3080 + None, # 3081 + None, # 3082 + None, # 3083 + None, # 3084 + None, # 3085 + None, # 3086 + None, # 3087 + None, # 3088 + None, # 3089 + None, # 3090 + None, # 3091 + None, # 3092 + None, # 3093 + None, # 3094 + None, # 3095 + None, # 3096 + None, # 3097 + None, # 3098 + None, # 3099 + None, # 3100 + None, # 3101 + None, # 3102 + None, # 3103 + None, # 3104 + None, # 3105 + None, # 3106 + None, # 3107 + None, # 3108 + None, # 3109 + None, # 3110 + None, # 3111 + None, # 3112 + None, # 3113 + None, # 3114 + None, # 3115 + None, # 3116 + None, # 3117 + None, # 3118 + None, # 3119 + None, # 3120 + None, # 3121 + None, # 3122 + None, # 3123 + None, # 3124 + None, # 3125 + None, # 3126 + None, # 3127 + None, # 3128 + None, # 3129 + None, # 3130 + None, # 3131 + None, # 3132 + None, # 3133 + None, # 3134 + None, # 3135 + None, # 3136 + None, # 3137 + None, # 3138 + None, # 3139 + None, # 3140 + None, # 3141 + None, # 3142 + None, # 3143 + None, # 3144 + None, # 3145 + None, # 3146 + None, # 3147 + None, # 3148 + None, # 3149 + None, # 3150 + None, # 3151 + None, # 3152 + None, # 3153 + None, # 3154 + None, # 3155 + None, # 3156 + None, # 3157 + None, # 3158 + None, # 3159 + None, # 3160 + None, # 3161 + None, # 3162 + None, # 3163 + None, # 3164 + None, # 3165 + None, # 3166 + None, # 3167 + None, # 3168 + None, # 3169 + None, # 3170 + None, # 3171 + None, # 3172 + None, # 3173 + None, # 3174 + None, # 3175 + None, # 3176 + None, # 3177 + None, # 3178 + None, # 3179 + None, # 3180 + None, # 3181 + None, # 3182 + None, # 3183 + None, # 3184 + None, # 3185 + None, # 3186 + None, # 3187 + None, # 3188 + None, # 3189 + None, # 3190 + None, # 3191 + None, # 3192 + None, # 3193 + None, # 3194 + None, # 3195 + None, # 3196 + None, # 3197 + None, # 3198 + None, # 3199 + None, # 3200 + None, # 3201 + None, # 3202 + None, # 3203 + None, # 3204 + None, # 3205 + None, # 3206 + None, # 3207 + None, # 3208 + None, # 3209 + None, # 3210 + None, # 3211 + None, # 3212 + None, # 3213 + None, # 3214 + None, # 3215 + None, # 3216 + None, # 3217 + None, # 3218 + None, # 3219 + None, # 3220 + None, # 3221 + None, # 3222 + None, # 3223 + None, # 3224 + None, # 3225 + None, # 3226 + None, # 3227 + None, # 3228 + None, # 3229 + None, # 3230 + None, # 3231 + None, # 3232 + None, # 3233 + None, # 3234 + None, # 3235 + None, # 3236 + None, # 3237 + None, # 3238 + None, # 3239 + None, # 3240 + None, # 3241 + None, # 3242 + None, # 3243 + None, # 3244 + None, # 3245 + None, # 3246 + None, # 3247 + None, # 3248 + None, # 3249 + None, # 3250 + None, # 3251 + None, # 3252 + None, # 3253 + None, # 3254 + None, # 3255 + None, # 3256 + None, # 3257 + None, # 3258 + None, # 3259 + None, # 3260 + None, # 3261 + None, # 3262 + None, # 3263 + None, # 3264 + None, # 3265 + None, # 3266 + None, # 3267 + None, # 3268 + None, # 3269 + None, # 3270 + None, # 3271 + None, # 3272 + None, # 3273 + None, # 3274 + None, # 3275 + None, # 3276 + None, # 3277 + None, # 3278 + None, # 3279 + None, # 3280 + None, # 3281 + None, # 3282 + None, # 3283 + None, # 3284 + None, # 3285 + None, # 3286 + None, # 3287 + None, # 3288 + None, # 3289 + None, # 3290 + None, # 3291 + None, # 3292 + None, # 3293 + None, # 3294 + None, # 3295 + None, # 3296 + None, # 3297 + None, # 3298 + None, # 3299 + None, # 3300 + None, # 3301 + None, # 3302 + None, # 3303 + None, # 3304 + None, # 3305 + None, # 3306 + None, # 3307 + None, # 3308 + None, # 3309 + None, # 3310 + None, # 3311 + None, # 3312 + None, # 3313 + None, # 3314 + None, # 3315 + None, # 3316 + None, # 3317 + None, # 3318 + None, # 3319 + None, # 3320 + None, # 3321 + None, # 3322 + None, # 3323 + None, # 3324 + None, # 3325 + None, # 3326 + None, # 3327 + None, # 3328 + (3329, TType.BOOL, 'includeCloudResultFiles', None, None, ), # 3329 ) all_structs.append(TGetResultSetMetadataResp) TGetResultSetMetadataResp.thrift_spec = ( - None, # 0 - (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 - (2, TType.STRUCT, 'schema', [TTableSchema, None], None, ), # 2 - None, # 3 - None, # 4 - None, # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - (1281, TType.I32, 'resultFormat', None, None, ), # 1281 - (1282, TType.BOOL, 'lz4Compressed', None, None, ), # 1282 - (1283, TType.STRING, 'arrowSchema', 'BINARY', None, ), # 1283 - (1284, TType.I32, 'cacheLookupResult', None, None, ), # 1284 - (1285, TType.I64, 'uncompressedBytes', None, None, ), # 1285 - (1286, TType.I64, 'compressedBytes', None, None, ), # 1286 - (1287, TType.BOOL, 'isStagingOperation', None, None, ), # 1287 - None, # 1288 - None, # 1289 - None, # 1290 - None, # 1291 - None, # 1292 - None, # 1293 - None, # 1294 - None, # 1295 - None, # 1296 - None, # 1297 - None, # 1298 - None, # 1299 - None, # 1300 - None, # 1301 - None, # 1302 - None, # 1303 - None, # 1304 - None, # 1305 - None, # 1306 - None, # 1307 - None, # 1308 - None, # 1309 - None, # 1310 - None, # 1311 - None, # 1312 - None, # 1313 - None, # 1314 - None, # 1315 - None, # 1316 - None, # 1317 - None, # 1318 - None, # 1319 - None, # 1320 - None, # 1321 - None, # 1322 - None, # 1323 - None, # 1324 - None, # 1325 - None, # 1326 - None, # 1327 - None, # 1328 - None, # 1329 - None, # 1330 - None, # 1331 - None, # 1332 - None, # 1333 - None, # 1334 - None, # 1335 - None, # 1336 - None, # 1337 - None, # 1338 - None, # 1339 - None, # 1340 - None, # 1341 - None, # 1342 - None, # 1343 - None, # 1344 - None, # 1345 - None, # 1346 - None, # 1347 - None, # 1348 - None, # 1349 - None, # 1350 - None, # 1351 - None, # 1352 - None, # 1353 - None, # 1354 - None, # 1355 - None, # 1356 - None, # 1357 - None, # 1358 - None, # 1359 - None, # 1360 - None, # 1361 - None, # 1362 - None, # 1363 - None, # 1364 - None, # 1365 - None, # 1366 - None, # 1367 - None, # 1368 - None, # 1369 - None, # 1370 - None, # 1371 - None, # 1372 - None, # 1373 - None, # 1374 - None, # 1375 - None, # 1376 - None, # 1377 - None, # 1378 - None, # 1379 - None, # 1380 - None, # 1381 - None, # 1382 - None, # 1383 - None, # 1384 - None, # 1385 - None, # 1386 - None, # 1387 - None, # 1388 - None, # 1389 - None, # 1390 - None, # 1391 - None, # 1392 - None, # 1393 - None, # 1394 - None, # 1395 - None, # 1396 - None, # 1397 - None, # 1398 - None, # 1399 - None, # 1400 - None, # 1401 - None, # 1402 - None, # 1403 - None, # 1404 - None, # 1405 - None, # 1406 - None, # 1407 - None, # 1408 - None, # 1409 - None, # 1410 - None, # 1411 - None, # 1412 - None, # 1413 - None, # 1414 - None, # 1415 - None, # 1416 - None, # 1417 - None, # 1418 - None, # 1419 - None, # 1420 - None, # 1421 - None, # 1422 - None, # 1423 - None, # 1424 - None, # 1425 - None, # 1426 - None, # 1427 - None, # 1428 - None, # 1429 - None, # 1430 - None, # 1431 - None, # 1432 - None, # 1433 - None, # 1434 - None, # 1435 - None, # 1436 - None, # 1437 - None, # 1438 - None, # 1439 - None, # 1440 - None, # 1441 - None, # 1442 - None, # 1443 - None, # 1444 - None, # 1445 - None, # 1446 - None, # 1447 - None, # 1448 - None, # 1449 - None, # 1450 - None, # 1451 - None, # 1452 - None, # 1453 - None, # 1454 - None, # 1455 - None, # 1456 - None, # 1457 - None, # 1458 - None, # 1459 - None, # 1460 - None, # 1461 - None, # 1462 - None, # 1463 - None, # 1464 - None, # 1465 - None, # 1466 - None, # 1467 - None, # 1468 - None, # 1469 - None, # 1470 - None, # 1471 - None, # 1472 - None, # 1473 - None, # 1474 - None, # 1475 - None, # 1476 - None, # 1477 - None, # 1478 - None, # 1479 - None, # 1480 - None, # 1481 - None, # 1482 - None, # 1483 - None, # 1484 - None, # 1485 - None, # 1486 - None, # 1487 - None, # 1488 - None, # 1489 - None, # 1490 - None, # 1491 - None, # 1492 - None, # 1493 - None, # 1494 - None, # 1495 - None, # 1496 - None, # 1497 - None, # 1498 - None, # 1499 - None, # 1500 - None, # 1501 - None, # 1502 - None, # 1503 - None, # 1504 - None, # 1505 - None, # 1506 - None, # 1507 - None, # 1508 - None, # 1509 - None, # 1510 - None, # 1511 - None, # 1512 - None, # 1513 - None, # 1514 - None, # 1515 - None, # 1516 - None, # 1517 - None, # 1518 - None, # 1519 - None, # 1520 - None, # 1521 - None, # 1522 - None, # 1523 - None, # 1524 - None, # 1525 - None, # 1526 - None, # 1527 - None, # 1528 - None, # 1529 - None, # 1530 - None, # 1531 - None, # 1532 - None, # 1533 - None, # 1534 - None, # 1535 - None, # 1536 - None, # 1537 - None, # 1538 - None, # 1539 - None, # 1540 - None, # 1541 - None, # 1542 - None, # 1543 - None, # 1544 - None, # 1545 - None, # 1546 - None, # 1547 - None, # 1548 - None, # 1549 - None, # 1550 - None, # 1551 - None, # 1552 - None, # 1553 - None, # 1554 - None, # 1555 - None, # 1556 - None, # 1557 - None, # 1558 - None, # 1559 - None, # 1560 - None, # 1561 - None, # 1562 - None, # 1563 - None, # 1564 - None, # 1565 - None, # 1566 - None, # 1567 - None, # 1568 - None, # 1569 - None, # 1570 - None, # 1571 - None, # 1572 - None, # 1573 - None, # 1574 - None, # 1575 - None, # 1576 - None, # 1577 - None, # 1578 - None, # 1579 - None, # 1580 - None, # 1581 - None, # 1582 - None, # 1583 - None, # 1584 - None, # 1585 - None, # 1586 - None, # 1587 - None, # 1588 - None, # 1589 - None, # 1590 - None, # 1591 - None, # 1592 - None, # 1593 - None, # 1594 - None, # 1595 - None, # 1596 - None, # 1597 - None, # 1598 - None, # 1599 - None, # 1600 - None, # 1601 - None, # 1602 - None, # 1603 - None, # 1604 - None, # 1605 - None, # 1606 - None, # 1607 - None, # 1608 - None, # 1609 - None, # 1610 - None, # 1611 - None, # 1612 - None, # 1613 - None, # 1614 - None, # 1615 - None, # 1616 - None, # 1617 - None, # 1618 - None, # 1619 - None, # 1620 - None, # 1621 - None, # 1622 - None, # 1623 - None, # 1624 - None, # 1625 - None, # 1626 - None, # 1627 - None, # 1628 - None, # 1629 - None, # 1630 - None, # 1631 - None, # 1632 - None, # 1633 - None, # 1634 - None, # 1635 - None, # 1636 - None, # 1637 - None, # 1638 - None, # 1639 - None, # 1640 - None, # 1641 - None, # 1642 - None, # 1643 - None, # 1644 - None, # 1645 - None, # 1646 - None, # 1647 - None, # 1648 - None, # 1649 - None, # 1650 - None, # 1651 - None, # 1652 - None, # 1653 - None, # 1654 - None, # 1655 - None, # 1656 - None, # 1657 - None, # 1658 - None, # 1659 - None, # 1660 - None, # 1661 - None, # 1662 - None, # 1663 - None, # 1664 - None, # 1665 - None, # 1666 - None, # 1667 - None, # 1668 - None, # 1669 - None, # 1670 - None, # 1671 - None, # 1672 - None, # 1673 - None, # 1674 - None, # 1675 - None, # 1676 - None, # 1677 - None, # 1678 - None, # 1679 - None, # 1680 - None, # 1681 - None, # 1682 - None, # 1683 - None, # 1684 - None, # 1685 - None, # 1686 - None, # 1687 - None, # 1688 - None, # 1689 - None, # 1690 - None, # 1691 - None, # 1692 - None, # 1693 - None, # 1694 - None, # 1695 - None, # 1696 - None, # 1697 - None, # 1698 - None, # 1699 - None, # 1700 - None, # 1701 - None, # 1702 - None, # 1703 - None, # 1704 - None, # 1705 - None, # 1706 - None, # 1707 - None, # 1708 - None, # 1709 - None, # 1710 - None, # 1711 - None, # 1712 - None, # 1713 - None, # 1714 - None, # 1715 - None, # 1716 - None, # 1717 - None, # 1718 - None, # 1719 - None, # 1720 - None, # 1721 - None, # 1722 - None, # 1723 - None, # 1724 - None, # 1725 - None, # 1726 - None, # 1727 - None, # 1728 - None, # 1729 - None, # 1730 - None, # 1731 - None, # 1732 - None, # 1733 - None, # 1734 - None, # 1735 - None, # 1736 - None, # 1737 - None, # 1738 - None, # 1739 - None, # 1740 - None, # 1741 - None, # 1742 - None, # 1743 - None, # 1744 - None, # 1745 - None, # 1746 - None, # 1747 - None, # 1748 - None, # 1749 - None, # 1750 - None, # 1751 - None, # 1752 - None, # 1753 - None, # 1754 - None, # 1755 - None, # 1756 - None, # 1757 - None, # 1758 - None, # 1759 - None, # 1760 - None, # 1761 - None, # 1762 - None, # 1763 - None, # 1764 - None, # 1765 - None, # 1766 - None, # 1767 - None, # 1768 - None, # 1769 - None, # 1770 - None, # 1771 - None, # 1772 - None, # 1773 - None, # 1774 - None, # 1775 - None, # 1776 - None, # 1777 - None, # 1778 - None, # 1779 - None, # 1780 - None, # 1781 - None, # 1782 - None, # 1783 - None, # 1784 - None, # 1785 - None, # 1786 - None, # 1787 - None, # 1788 - None, # 1789 - None, # 1790 - None, # 1791 - None, # 1792 - None, # 1793 - None, # 1794 - None, # 1795 - None, # 1796 - None, # 1797 - None, # 1798 - None, # 1799 - None, # 1800 - None, # 1801 - None, # 1802 - None, # 1803 - None, # 1804 - None, # 1805 - None, # 1806 - None, # 1807 - None, # 1808 - None, # 1809 - None, # 1810 - None, # 1811 - None, # 1812 - None, # 1813 - None, # 1814 - None, # 1815 - None, # 1816 - None, # 1817 - None, # 1818 - None, # 1819 - None, # 1820 - None, # 1821 - None, # 1822 - None, # 1823 - None, # 1824 - None, # 1825 - None, # 1826 - None, # 1827 - None, # 1828 - None, # 1829 - None, # 1830 - None, # 1831 - None, # 1832 - None, # 1833 - None, # 1834 - None, # 1835 - None, # 1836 - None, # 1837 - None, # 1838 - None, # 1839 - None, # 1840 - None, # 1841 - None, # 1842 - None, # 1843 - None, # 1844 - None, # 1845 - None, # 1846 - None, # 1847 - None, # 1848 - None, # 1849 - None, # 1850 - None, # 1851 - None, # 1852 - None, # 1853 - None, # 1854 - None, # 1855 - None, # 1856 - None, # 1857 - None, # 1858 - None, # 1859 - None, # 1860 - None, # 1861 - None, # 1862 - None, # 1863 - None, # 1864 - None, # 1865 - None, # 1866 - None, # 1867 - None, # 1868 - None, # 1869 - None, # 1870 - None, # 1871 - None, # 1872 - None, # 1873 - None, # 1874 - None, # 1875 - None, # 1876 - None, # 1877 - None, # 1878 - None, # 1879 - None, # 1880 - None, # 1881 - None, # 1882 - None, # 1883 - None, # 1884 - None, # 1885 - None, # 1886 - None, # 1887 - None, # 1888 - None, # 1889 - None, # 1890 - None, # 1891 - None, # 1892 - None, # 1893 - None, # 1894 - None, # 1895 - None, # 1896 - None, # 1897 - None, # 1898 - None, # 1899 - None, # 1900 - None, # 1901 - None, # 1902 - None, # 1903 - None, # 1904 - None, # 1905 - None, # 1906 - None, # 1907 - None, # 1908 - None, # 1909 - None, # 1910 - None, # 1911 - None, # 1912 - None, # 1913 - None, # 1914 - None, # 1915 - None, # 1916 - None, # 1917 - None, # 1918 - None, # 1919 - None, # 1920 - None, # 1921 - None, # 1922 - None, # 1923 - None, # 1924 - None, # 1925 - None, # 1926 - None, # 1927 - None, # 1928 - None, # 1929 - None, # 1930 - None, # 1931 - None, # 1932 - None, # 1933 - None, # 1934 - None, # 1935 - None, # 1936 - None, # 1937 - None, # 1938 - None, # 1939 - None, # 1940 - None, # 1941 - None, # 1942 - None, # 1943 - None, # 1944 - None, # 1945 - None, # 1946 - None, # 1947 - None, # 1948 - None, # 1949 - None, # 1950 - None, # 1951 - None, # 1952 - None, # 1953 - None, # 1954 - None, # 1955 - None, # 1956 - None, # 1957 - None, # 1958 - None, # 1959 - None, # 1960 - None, # 1961 - None, # 1962 - None, # 1963 - None, # 1964 - None, # 1965 - None, # 1966 - None, # 1967 - None, # 1968 - None, # 1969 - None, # 1970 - None, # 1971 - None, # 1972 - None, # 1973 - None, # 1974 - None, # 1975 - None, # 1976 - None, # 1977 - None, # 1978 - None, # 1979 - None, # 1980 - None, # 1981 - None, # 1982 - None, # 1983 - None, # 1984 - None, # 1985 - None, # 1986 - None, # 1987 - None, # 1988 - None, # 1989 - None, # 1990 - None, # 1991 - None, # 1992 - None, # 1993 - None, # 1994 - None, # 1995 - None, # 1996 - None, # 1997 - None, # 1998 - None, # 1999 - None, # 2000 - None, # 2001 - None, # 2002 - None, # 2003 - None, # 2004 - None, # 2005 - None, # 2006 - None, # 2007 - None, # 2008 - None, # 2009 - None, # 2010 - None, # 2011 - None, # 2012 - None, # 2013 - None, # 2014 - None, # 2015 - None, # 2016 - None, # 2017 - None, # 2018 - None, # 2019 - None, # 2020 - None, # 2021 - None, # 2022 - None, # 2023 - None, # 2024 - None, # 2025 - None, # 2026 - None, # 2027 - None, # 2028 - None, # 2029 - None, # 2030 - None, # 2031 - None, # 2032 - None, # 2033 - None, # 2034 - None, # 2035 - None, # 2036 - None, # 2037 - None, # 2038 - None, # 2039 - None, # 2040 - None, # 2041 - None, # 2042 - None, # 2043 - None, # 2044 - None, # 2045 - None, # 2046 - None, # 2047 - None, # 2048 - None, # 2049 - None, # 2050 - None, # 2051 - None, # 2052 - None, # 2053 - None, # 2054 - None, # 2055 - None, # 2056 - None, # 2057 - None, # 2058 - None, # 2059 - None, # 2060 - None, # 2061 - None, # 2062 - None, # 2063 - None, # 2064 - None, # 2065 - None, # 2066 - None, # 2067 - None, # 2068 - None, # 2069 - None, # 2070 - None, # 2071 - None, # 2072 - None, # 2073 - None, # 2074 - None, # 2075 - None, # 2076 - None, # 2077 - None, # 2078 - None, # 2079 - None, # 2080 - None, # 2081 - None, # 2082 - None, # 2083 - None, # 2084 - None, # 2085 - None, # 2086 - None, # 2087 - None, # 2088 - None, # 2089 - None, # 2090 - None, # 2091 - None, # 2092 - None, # 2093 - None, # 2094 - None, # 2095 - None, # 2096 - None, # 2097 - None, # 2098 - None, # 2099 - None, # 2100 - None, # 2101 - None, # 2102 - None, # 2103 - None, # 2104 - None, # 2105 - None, # 2106 - None, # 2107 - None, # 2108 - None, # 2109 - None, # 2110 - None, # 2111 - None, # 2112 - None, # 2113 - None, # 2114 - None, # 2115 - None, # 2116 - None, # 2117 - None, # 2118 - None, # 2119 - None, # 2120 - None, # 2121 - None, # 2122 - None, # 2123 - None, # 2124 - None, # 2125 - None, # 2126 - None, # 2127 - None, # 2128 - None, # 2129 - None, # 2130 - None, # 2131 - None, # 2132 - None, # 2133 - None, # 2134 - None, # 2135 - None, # 2136 - None, # 2137 - None, # 2138 - None, # 2139 - None, # 2140 - None, # 2141 - None, # 2142 - None, # 2143 - None, # 2144 - None, # 2145 - None, # 2146 - None, # 2147 - None, # 2148 - None, # 2149 - None, # 2150 - None, # 2151 - None, # 2152 - None, # 2153 - None, # 2154 - None, # 2155 - None, # 2156 - None, # 2157 - None, # 2158 - None, # 2159 - None, # 2160 - None, # 2161 - None, # 2162 - None, # 2163 - None, # 2164 - None, # 2165 - None, # 2166 - None, # 2167 - None, # 2168 - None, # 2169 - None, # 2170 - None, # 2171 - None, # 2172 - None, # 2173 - None, # 2174 - None, # 2175 - None, # 2176 - None, # 2177 - None, # 2178 - None, # 2179 - None, # 2180 - None, # 2181 - None, # 2182 - None, # 2183 - None, # 2184 - None, # 2185 - None, # 2186 - None, # 2187 - None, # 2188 - None, # 2189 - None, # 2190 - None, # 2191 - None, # 2192 - None, # 2193 - None, # 2194 - None, # 2195 - None, # 2196 - None, # 2197 - None, # 2198 - None, # 2199 - None, # 2200 - None, # 2201 - None, # 2202 - None, # 2203 - None, # 2204 - None, # 2205 - None, # 2206 - None, # 2207 - None, # 2208 - None, # 2209 - None, # 2210 - None, # 2211 - None, # 2212 - None, # 2213 - None, # 2214 - None, # 2215 - None, # 2216 - None, # 2217 - None, # 2218 - None, # 2219 - None, # 2220 - None, # 2221 - None, # 2222 - None, # 2223 - None, # 2224 - None, # 2225 - None, # 2226 - None, # 2227 - None, # 2228 - None, # 2229 - None, # 2230 - None, # 2231 - None, # 2232 - None, # 2233 - None, # 2234 - None, # 2235 - None, # 2236 - None, # 2237 - None, # 2238 - None, # 2239 - None, # 2240 - None, # 2241 - None, # 2242 - None, # 2243 - None, # 2244 - None, # 2245 - None, # 2246 - None, # 2247 - None, # 2248 - None, # 2249 - None, # 2250 - None, # 2251 - None, # 2252 - None, # 2253 - None, # 2254 - None, # 2255 - None, # 2256 - None, # 2257 - None, # 2258 - None, # 2259 - None, # 2260 - None, # 2261 - None, # 2262 - None, # 2263 - None, # 2264 - None, # 2265 - None, # 2266 - None, # 2267 - None, # 2268 - None, # 2269 - None, # 2270 - None, # 2271 - None, # 2272 - None, # 2273 - None, # 2274 - None, # 2275 - None, # 2276 - None, # 2277 - None, # 2278 - None, # 2279 - None, # 2280 - None, # 2281 - None, # 2282 - None, # 2283 - None, # 2284 - None, # 2285 - None, # 2286 - None, # 2287 - None, # 2288 - None, # 2289 - None, # 2290 - None, # 2291 - None, # 2292 - None, # 2293 - None, # 2294 - None, # 2295 - None, # 2296 - None, # 2297 - None, # 2298 - None, # 2299 - None, # 2300 - None, # 2301 - None, # 2302 - None, # 2303 - None, # 2304 - None, # 2305 - None, # 2306 - None, # 2307 - None, # 2308 - None, # 2309 - None, # 2310 - None, # 2311 - None, # 2312 - None, # 2313 - None, # 2314 - None, # 2315 - None, # 2316 - None, # 2317 - None, # 2318 - None, # 2319 - None, # 2320 - None, # 2321 - None, # 2322 - None, # 2323 - None, # 2324 - None, # 2325 - None, # 2326 - None, # 2327 - None, # 2328 - None, # 2329 - None, # 2330 - None, # 2331 - None, # 2332 - None, # 2333 - None, # 2334 - None, # 2335 - None, # 2336 - None, # 2337 - None, # 2338 - None, # 2339 - None, # 2340 - None, # 2341 - None, # 2342 - None, # 2343 - None, # 2344 - None, # 2345 - None, # 2346 - None, # 2347 - None, # 2348 - None, # 2349 - None, # 2350 - None, # 2351 - None, # 2352 - None, # 2353 - None, # 2354 - None, # 2355 - None, # 2356 - None, # 2357 - None, # 2358 - None, # 2359 - None, # 2360 - None, # 2361 - None, # 2362 - None, # 2363 - None, # 2364 - None, # 2365 - None, # 2366 - None, # 2367 - None, # 2368 - None, # 2369 - None, # 2370 - None, # 2371 - None, # 2372 - None, # 2373 - None, # 2374 - None, # 2375 - None, # 2376 - None, # 2377 - None, # 2378 - None, # 2379 - None, # 2380 - None, # 2381 - None, # 2382 - None, # 2383 - None, # 2384 - None, # 2385 - None, # 2386 - None, # 2387 - None, # 2388 - None, # 2389 - None, # 2390 - None, # 2391 - None, # 2392 - None, # 2393 - None, # 2394 - None, # 2395 - None, # 2396 - None, # 2397 - None, # 2398 - None, # 2399 - None, # 2400 - None, # 2401 - None, # 2402 - None, # 2403 - None, # 2404 - None, # 2405 - None, # 2406 - None, # 2407 - None, # 2408 - None, # 2409 - None, # 2410 - None, # 2411 - None, # 2412 - None, # 2413 - None, # 2414 - None, # 2415 - None, # 2416 - None, # 2417 - None, # 2418 - None, # 2419 - None, # 2420 - None, # 2421 - None, # 2422 - None, # 2423 - None, # 2424 - None, # 2425 - None, # 2426 - None, # 2427 - None, # 2428 - None, # 2429 - None, # 2430 - None, # 2431 - None, # 2432 - None, # 2433 - None, # 2434 - None, # 2435 - None, # 2436 - None, # 2437 - None, # 2438 - None, # 2439 - None, # 2440 - None, # 2441 - None, # 2442 - None, # 2443 - None, # 2444 - None, # 2445 - None, # 2446 - None, # 2447 - None, # 2448 - None, # 2449 - None, # 2450 - None, # 2451 - None, # 2452 - None, # 2453 - None, # 2454 - None, # 2455 - None, # 2456 - None, # 2457 - None, # 2458 - None, # 2459 - None, # 2460 - None, # 2461 - None, # 2462 - None, # 2463 - None, # 2464 - None, # 2465 - None, # 2466 - None, # 2467 - None, # 2468 - None, # 2469 - None, # 2470 - None, # 2471 - None, # 2472 - None, # 2473 - None, # 2474 - None, # 2475 - None, # 2476 - None, # 2477 - None, # 2478 - None, # 2479 - None, # 2480 - None, # 2481 - None, # 2482 - None, # 2483 - None, # 2484 - None, # 2485 - None, # 2486 - None, # 2487 - None, # 2488 - None, # 2489 - None, # 2490 - None, # 2491 - None, # 2492 - None, # 2493 - None, # 2494 - None, # 2495 - None, # 2496 - None, # 2497 - None, # 2498 - None, # 2499 - None, # 2500 - None, # 2501 - None, # 2502 - None, # 2503 - None, # 2504 - None, # 2505 - None, # 2506 - None, # 2507 - None, # 2508 - None, # 2509 - None, # 2510 - None, # 2511 - None, # 2512 - None, # 2513 - None, # 2514 - None, # 2515 - None, # 2516 - None, # 2517 - None, # 2518 - None, # 2519 - None, # 2520 - None, # 2521 - None, # 2522 - None, # 2523 - None, # 2524 - None, # 2525 - None, # 2526 - None, # 2527 - None, # 2528 - None, # 2529 - None, # 2530 - None, # 2531 - None, # 2532 - None, # 2533 - None, # 2534 - None, # 2535 - None, # 2536 - None, # 2537 - None, # 2538 - None, # 2539 - None, # 2540 - None, # 2541 - None, # 2542 - None, # 2543 - None, # 2544 - None, # 2545 - None, # 2546 - None, # 2547 - None, # 2548 - None, # 2549 - None, # 2550 - None, # 2551 - None, # 2552 - None, # 2553 - None, # 2554 - None, # 2555 - None, # 2556 - None, # 2557 - None, # 2558 - None, # 2559 - None, # 2560 - None, # 2561 - None, # 2562 - None, # 2563 - None, # 2564 - None, # 2565 - None, # 2566 - None, # 2567 - None, # 2568 - None, # 2569 - None, # 2570 - None, # 2571 - None, # 2572 - None, # 2573 - None, # 2574 - None, # 2575 - None, # 2576 - None, # 2577 - None, # 2578 - None, # 2579 - None, # 2580 - None, # 2581 - None, # 2582 - None, # 2583 - None, # 2584 - None, # 2585 - None, # 2586 - None, # 2587 - None, # 2588 - None, # 2589 - None, # 2590 - None, # 2591 - None, # 2592 - None, # 2593 - None, # 2594 - None, # 2595 - None, # 2596 - None, # 2597 - None, # 2598 - None, # 2599 - None, # 2600 - None, # 2601 - None, # 2602 - None, # 2603 - None, # 2604 - None, # 2605 - None, # 2606 - None, # 2607 - None, # 2608 - None, # 2609 - None, # 2610 - None, # 2611 - None, # 2612 - None, # 2613 - None, # 2614 - None, # 2615 - None, # 2616 - None, # 2617 - None, # 2618 - None, # 2619 - None, # 2620 - None, # 2621 - None, # 2622 - None, # 2623 - None, # 2624 - None, # 2625 - None, # 2626 - None, # 2627 - None, # 2628 - None, # 2629 - None, # 2630 - None, # 2631 - None, # 2632 - None, # 2633 - None, # 2634 - None, # 2635 - None, # 2636 - None, # 2637 - None, # 2638 - None, # 2639 - None, # 2640 - None, # 2641 - None, # 2642 - None, # 2643 - None, # 2644 - None, # 2645 - None, # 2646 - None, # 2647 - None, # 2648 - None, # 2649 - None, # 2650 - None, # 2651 - None, # 2652 - None, # 2653 - None, # 2654 - None, # 2655 - None, # 2656 - None, # 2657 - None, # 2658 - None, # 2659 - None, # 2660 - None, # 2661 - None, # 2662 - None, # 2663 - None, # 2664 - None, # 2665 - None, # 2666 - None, # 2667 - None, # 2668 - None, # 2669 - None, # 2670 - None, # 2671 - None, # 2672 - None, # 2673 - None, # 2674 - None, # 2675 - None, # 2676 - None, # 2677 - None, # 2678 - None, # 2679 - None, # 2680 - None, # 2681 - None, # 2682 - None, # 2683 - None, # 2684 - None, # 2685 - None, # 2686 - None, # 2687 - None, # 2688 - None, # 2689 - None, # 2690 - None, # 2691 - None, # 2692 - None, # 2693 - None, # 2694 - None, # 2695 - None, # 2696 - None, # 2697 - None, # 2698 - None, # 2699 - None, # 2700 - None, # 2701 - None, # 2702 - None, # 2703 - None, # 2704 - None, # 2705 - None, # 2706 - None, # 2707 - None, # 2708 - None, # 2709 - None, # 2710 - None, # 2711 - None, # 2712 - None, # 2713 - None, # 2714 - None, # 2715 - None, # 2716 - None, # 2717 - None, # 2718 - None, # 2719 - None, # 2720 - None, # 2721 - None, # 2722 - None, # 2723 - None, # 2724 - None, # 2725 - None, # 2726 - None, # 2727 - None, # 2728 - None, # 2729 - None, # 2730 - None, # 2731 - None, # 2732 - None, # 2733 - None, # 2734 - None, # 2735 - None, # 2736 - None, # 2737 - None, # 2738 - None, # 2739 - None, # 2740 - None, # 2741 - None, # 2742 - None, # 2743 - None, # 2744 - None, # 2745 - None, # 2746 - None, # 2747 - None, # 2748 - None, # 2749 - None, # 2750 - None, # 2751 - None, # 2752 - None, # 2753 - None, # 2754 - None, # 2755 - None, # 2756 - None, # 2757 - None, # 2758 - None, # 2759 - None, # 2760 - None, # 2761 - None, # 2762 - None, # 2763 - None, # 2764 - None, # 2765 - None, # 2766 - None, # 2767 - None, # 2768 - None, # 2769 - None, # 2770 - None, # 2771 - None, # 2772 - None, # 2773 - None, # 2774 - None, # 2775 - None, # 2776 - None, # 2777 - None, # 2778 - None, # 2779 - None, # 2780 - None, # 2781 - None, # 2782 - None, # 2783 - None, # 2784 - None, # 2785 - None, # 2786 - None, # 2787 - None, # 2788 - None, # 2789 - None, # 2790 - None, # 2791 - None, # 2792 - None, # 2793 - None, # 2794 - None, # 2795 - None, # 2796 - None, # 2797 - None, # 2798 - None, # 2799 - None, # 2800 - None, # 2801 - None, # 2802 - None, # 2803 - None, # 2804 - None, # 2805 - None, # 2806 - None, # 2807 - None, # 2808 - None, # 2809 - None, # 2810 - None, # 2811 - None, # 2812 - None, # 2813 - None, # 2814 - None, # 2815 - None, # 2816 - None, # 2817 - None, # 2818 - None, # 2819 - None, # 2820 - None, # 2821 - None, # 2822 - None, # 2823 - None, # 2824 - None, # 2825 - None, # 2826 - None, # 2827 - None, # 2828 - None, # 2829 - None, # 2830 - None, # 2831 - None, # 2832 - None, # 2833 - None, # 2834 - None, # 2835 - None, # 2836 - None, # 2837 - None, # 2838 - None, # 2839 - None, # 2840 - None, # 2841 - None, # 2842 - None, # 2843 - None, # 2844 - None, # 2845 - None, # 2846 - None, # 2847 - None, # 2848 - None, # 2849 - None, # 2850 - None, # 2851 - None, # 2852 - None, # 2853 - None, # 2854 - None, # 2855 - None, # 2856 - None, # 2857 - None, # 2858 - None, # 2859 - None, # 2860 - None, # 2861 - None, # 2862 - None, # 2863 - None, # 2864 - None, # 2865 - None, # 2866 - None, # 2867 - None, # 2868 - None, # 2869 - None, # 2870 - None, # 2871 - None, # 2872 - None, # 2873 - None, # 2874 - None, # 2875 - None, # 2876 - None, # 2877 - None, # 2878 - None, # 2879 - None, # 2880 - None, # 2881 - None, # 2882 - None, # 2883 - None, # 2884 - None, # 2885 - None, # 2886 - None, # 2887 - None, # 2888 - None, # 2889 - None, # 2890 - None, # 2891 - None, # 2892 - None, # 2893 - None, # 2894 - None, # 2895 - None, # 2896 - None, # 2897 - None, # 2898 - None, # 2899 - None, # 2900 - None, # 2901 - None, # 2902 - None, # 2903 - None, # 2904 - None, # 2905 - None, # 2906 - None, # 2907 - None, # 2908 - None, # 2909 - None, # 2910 - None, # 2911 - None, # 2912 - None, # 2913 - None, # 2914 - None, # 2915 - None, # 2916 - None, # 2917 - None, # 2918 - None, # 2919 - None, # 2920 - None, # 2921 - None, # 2922 - None, # 2923 - None, # 2924 - None, # 2925 - None, # 2926 - None, # 2927 - None, # 2928 - None, # 2929 - None, # 2930 - None, # 2931 - None, # 2932 - None, # 2933 - None, # 2934 - None, # 2935 - None, # 2936 - None, # 2937 - None, # 2938 - None, # 2939 - None, # 2940 - None, # 2941 - None, # 2942 - None, # 2943 - None, # 2944 - None, # 2945 - None, # 2946 - None, # 2947 - None, # 2948 - None, # 2949 - None, # 2950 - None, # 2951 - None, # 2952 - None, # 2953 - None, # 2954 - None, # 2955 - None, # 2956 - None, # 2957 - None, # 2958 - None, # 2959 - None, # 2960 - None, # 2961 - None, # 2962 - None, # 2963 - None, # 2964 - None, # 2965 - None, # 2966 - None, # 2967 - None, # 2968 - None, # 2969 - None, # 2970 - None, # 2971 - None, # 2972 - None, # 2973 - None, # 2974 - None, # 2975 - None, # 2976 - None, # 2977 - None, # 2978 - None, # 2979 - None, # 2980 - None, # 2981 - None, # 2982 - None, # 2983 - None, # 2984 - None, # 2985 - None, # 2986 - None, # 2987 - None, # 2988 - None, # 2989 - None, # 2990 - None, # 2991 - None, # 2992 - None, # 2993 - None, # 2994 - None, # 2995 - None, # 2996 - None, # 2997 - None, # 2998 - None, # 2999 - None, # 3000 - None, # 3001 - None, # 3002 - None, # 3003 - None, # 3004 - None, # 3005 - None, # 3006 - None, # 3007 - None, # 3008 - None, # 3009 - None, # 3010 - None, # 3011 - None, # 3012 - None, # 3013 - None, # 3014 - None, # 3015 - None, # 3016 - None, # 3017 - None, # 3018 - None, # 3019 - None, # 3020 - None, # 3021 - None, # 3022 - None, # 3023 - None, # 3024 - None, # 3025 - None, # 3026 - None, # 3027 - None, # 3028 - None, # 3029 - None, # 3030 - None, # 3031 - None, # 3032 - None, # 3033 - None, # 3034 - None, # 3035 - None, # 3036 - None, # 3037 - None, # 3038 - None, # 3039 - None, # 3040 - None, # 3041 - None, # 3042 - None, # 3043 - None, # 3044 - None, # 3045 - None, # 3046 - None, # 3047 - None, # 3048 - None, # 3049 - None, # 3050 - None, # 3051 - None, # 3052 - None, # 3053 - None, # 3054 - None, # 3055 - None, # 3056 - None, # 3057 - None, # 3058 - None, # 3059 - None, # 3060 - None, # 3061 - None, # 3062 - None, # 3063 - None, # 3064 - None, # 3065 - None, # 3066 - None, # 3067 - None, # 3068 - None, # 3069 - None, # 3070 - None, # 3071 - None, # 3072 - None, # 3073 - None, # 3074 - None, # 3075 - None, # 3076 - None, # 3077 - None, # 3078 - None, # 3079 - None, # 3080 - None, # 3081 - None, # 3082 - None, # 3083 - None, # 3084 - None, # 3085 - None, # 3086 - None, # 3087 - None, # 3088 - None, # 3089 - None, # 3090 - None, # 3091 - None, # 3092 - None, # 3093 - None, # 3094 - None, # 3095 - None, # 3096 - None, # 3097 - None, # 3098 - None, # 3099 - None, # 3100 - None, # 3101 - None, # 3102 - None, # 3103 - None, # 3104 - None, # 3105 - None, # 3106 - None, # 3107 - None, # 3108 - None, # 3109 - None, # 3110 - None, # 3111 - None, # 3112 - None, # 3113 - None, # 3114 - None, # 3115 - None, # 3116 - None, # 3117 - None, # 3118 - None, # 3119 - None, # 3120 - None, # 3121 - None, # 3122 - None, # 3123 - None, # 3124 - None, # 3125 - None, # 3126 - None, # 3127 - None, # 3128 - None, # 3129 - None, # 3130 - None, # 3131 - None, # 3132 - None, # 3133 - None, # 3134 - None, # 3135 - None, # 3136 - None, # 3137 - None, # 3138 - None, # 3139 - None, # 3140 - None, # 3141 - None, # 3142 - None, # 3143 - None, # 3144 - None, # 3145 - None, # 3146 - None, # 3147 - None, # 3148 - None, # 3149 - None, # 3150 - None, # 3151 - None, # 3152 - None, # 3153 - None, # 3154 - None, # 3155 - None, # 3156 - None, # 3157 - None, # 3158 - None, # 3159 - None, # 3160 - None, # 3161 - None, # 3162 - None, # 3163 - None, # 3164 - None, # 3165 - None, # 3166 - None, # 3167 - None, # 3168 - None, # 3169 - None, # 3170 - None, # 3171 - None, # 3172 - None, # 3173 - None, # 3174 - None, # 3175 - None, # 3176 - None, # 3177 - None, # 3178 - None, # 3179 - None, # 3180 - None, # 3181 - None, # 3182 - None, # 3183 - None, # 3184 - None, # 3185 - None, # 3186 - None, # 3187 - None, # 3188 - None, # 3189 - None, # 3190 - None, # 3191 - None, # 3192 - None, # 3193 - None, # 3194 - None, # 3195 - None, # 3196 - None, # 3197 - None, # 3198 - None, # 3199 - None, # 3200 - None, # 3201 - None, # 3202 - None, # 3203 - None, # 3204 - None, # 3205 - None, # 3206 - None, # 3207 - None, # 3208 - None, # 3209 - None, # 3210 - None, # 3211 - None, # 3212 - None, # 3213 - None, # 3214 - None, # 3215 - None, # 3216 - None, # 3217 - None, # 3218 - None, # 3219 - None, # 3220 - None, # 3221 - None, # 3222 - None, # 3223 - None, # 3224 - None, # 3225 - None, # 3226 - None, # 3227 - None, # 3228 - None, # 3229 - None, # 3230 - None, # 3231 - None, # 3232 - None, # 3233 - None, # 3234 - None, # 3235 - None, # 3236 - None, # 3237 - None, # 3238 - None, # 3239 - None, # 3240 - None, # 3241 - None, # 3242 - None, # 3243 - None, # 3244 - None, # 3245 - None, # 3246 - None, # 3247 - None, # 3248 - None, # 3249 - None, # 3250 - None, # 3251 - None, # 3252 - None, # 3253 - None, # 3254 - None, # 3255 - None, # 3256 - None, # 3257 - None, # 3258 - None, # 3259 - None, # 3260 - None, # 3261 - None, # 3262 - None, # 3263 - None, # 3264 - None, # 3265 - None, # 3266 - None, # 3267 - None, # 3268 - None, # 3269 - None, # 3270 - None, # 3271 - None, # 3272 - None, # 3273 - None, # 3274 - None, # 3275 - None, # 3276 - None, # 3277 - None, # 3278 - None, # 3279 - None, # 3280 - None, # 3281 - None, # 3282 - None, # 3283 - None, # 3284 - None, # 3285 - None, # 3286 - None, # 3287 - None, # 3288 - None, # 3289 - None, # 3290 - None, # 3291 - None, # 3292 - None, # 3293 - None, # 3294 - None, # 3295 - None, # 3296 - None, # 3297 - None, # 3298 - None, # 3299 - None, # 3300 - None, # 3301 - None, # 3302 - None, # 3303 - None, # 3304 - None, # 3305 - None, # 3306 - None, # 3307 - None, # 3308 - None, # 3309 - None, # 3310 - None, # 3311 - None, # 3312 - None, # 3313 - None, # 3314 - None, # 3315 - None, # 3316 - None, # 3317 - None, # 3318 - None, # 3319 - None, # 3320 - None, # 3321 - None, # 3322 - None, # 3323 - None, # 3324 - None, # 3325 - None, # 3326 - None, # 3327 - None, # 3328 - (3329, TType.I32, 'reasonForNoCloudFetch', None, None, ), # 3329 - (3330, TType.LIST, 'resultFiles', (TType.STRUCT, [TDBSqlCloudResultFile, None], False), None, ), # 3330 - (3331, TType.STRING, 'manifestFile', 'UTF8', None, ), # 3331 - (3332, TType.I32, 'manifestFileFormat', None, None, ), # 3332 - (3333, TType.I64, 'cacheLookupLatency', None, None, ), # 3333 - (3334, TType.STRING, 'remoteCacheMissReason', 'UTF8', None, ), # 3334 - (3335, TType.I32, 'fetchDisposition', None, None, ), # 3335 - (3336, TType.BOOL, 'remoteResultCacheEnabled', None, None, ), # 3336 - (3337, TType.BOOL, 'isServerless', None, None, ), # 3337 - None, # 3338 - None, # 3339 - None, # 3340 - None, # 3341 - None, # 3342 - None, # 3343 - (3344, TType.STRUCT, 'resultDataFormat', [TDBSqlResultFormat, None], None, ), # 3344 - (3345, TType.BOOL, 'truncatedByThriftLimit', None, None, ), # 3345 - (3346, TType.I64, 'resultByteLimit', None, None, ), # 3346 + None, # 0 + (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 + (2, TType.STRUCT, 'schema', [TTableSchema, None], None, ), # 2 + None, # 3 + None, # 4 + None, # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + (1281, TType.I32, 'resultFormat', None, None, ), # 1281 + (1282, TType.BOOL, 'lz4Compressed', None, None, ), # 1282 + (1283, TType.STRING, 'arrowSchema', 'BINARY', None, ), # 1283 + (1284, TType.I32, 'cacheLookupResult', None, None, ), # 1284 + (1285, TType.I64, 'uncompressedBytes', None, None, ), # 1285 + (1286, TType.I64, 'compressedBytes', None, None, ), # 1286 + (1287, TType.BOOL, 'isStagingOperation', None, None, ), # 1287 + None, # 1288 + None, # 1289 + None, # 1290 + None, # 1291 + None, # 1292 + None, # 1293 + None, # 1294 + None, # 1295 + None, # 1296 + None, # 1297 + None, # 1298 + None, # 1299 + None, # 1300 + None, # 1301 + None, # 1302 + None, # 1303 + None, # 1304 + None, # 1305 + None, # 1306 + None, # 1307 + None, # 1308 + None, # 1309 + None, # 1310 + None, # 1311 + None, # 1312 + None, # 1313 + None, # 1314 + None, # 1315 + None, # 1316 + None, # 1317 + None, # 1318 + None, # 1319 + None, # 1320 + None, # 1321 + None, # 1322 + None, # 1323 + None, # 1324 + None, # 1325 + None, # 1326 + None, # 1327 + None, # 1328 + None, # 1329 + None, # 1330 + None, # 1331 + None, # 1332 + None, # 1333 + None, # 1334 + None, # 1335 + None, # 1336 + None, # 1337 + None, # 1338 + None, # 1339 + None, # 1340 + None, # 1341 + None, # 1342 + None, # 1343 + None, # 1344 + None, # 1345 + None, # 1346 + None, # 1347 + None, # 1348 + None, # 1349 + None, # 1350 + None, # 1351 + None, # 1352 + None, # 1353 + None, # 1354 + None, # 1355 + None, # 1356 + None, # 1357 + None, # 1358 + None, # 1359 + None, # 1360 + None, # 1361 + None, # 1362 + None, # 1363 + None, # 1364 + None, # 1365 + None, # 1366 + None, # 1367 + None, # 1368 + None, # 1369 + None, # 1370 + None, # 1371 + None, # 1372 + None, # 1373 + None, # 1374 + None, # 1375 + None, # 1376 + None, # 1377 + None, # 1378 + None, # 1379 + None, # 1380 + None, # 1381 + None, # 1382 + None, # 1383 + None, # 1384 + None, # 1385 + None, # 1386 + None, # 1387 + None, # 1388 + None, # 1389 + None, # 1390 + None, # 1391 + None, # 1392 + None, # 1393 + None, # 1394 + None, # 1395 + None, # 1396 + None, # 1397 + None, # 1398 + None, # 1399 + None, # 1400 + None, # 1401 + None, # 1402 + None, # 1403 + None, # 1404 + None, # 1405 + None, # 1406 + None, # 1407 + None, # 1408 + None, # 1409 + None, # 1410 + None, # 1411 + None, # 1412 + None, # 1413 + None, # 1414 + None, # 1415 + None, # 1416 + None, # 1417 + None, # 1418 + None, # 1419 + None, # 1420 + None, # 1421 + None, # 1422 + None, # 1423 + None, # 1424 + None, # 1425 + None, # 1426 + None, # 1427 + None, # 1428 + None, # 1429 + None, # 1430 + None, # 1431 + None, # 1432 + None, # 1433 + None, # 1434 + None, # 1435 + None, # 1436 + None, # 1437 + None, # 1438 + None, # 1439 + None, # 1440 + None, # 1441 + None, # 1442 + None, # 1443 + None, # 1444 + None, # 1445 + None, # 1446 + None, # 1447 + None, # 1448 + None, # 1449 + None, # 1450 + None, # 1451 + None, # 1452 + None, # 1453 + None, # 1454 + None, # 1455 + None, # 1456 + None, # 1457 + None, # 1458 + None, # 1459 + None, # 1460 + None, # 1461 + None, # 1462 + None, # 1463 + None, # 1464 + None, # 1465 + None, # 1466 + None, # 1467 + None, # 1468 + None, # 1469 + None, # 1470 + None, # 1471 + None, # 1472 + None, # 1473 + None, # 1474 + None, # 1475 + None, # 1476 + None, # 1477 + None, # 1478 + None, # 1479 + None, # 1480 + None, # 1481 + None, # 1482 + None, # 1483 + None, # 1484 + None, # 1485 + None, # 1486 + None, # 1487 + None, # 1488 + None, # 1489 + None, # 1490 + None, # 1491 + None, # 1492 + None, # 1493 + None, # 1494 + None, # 1495 + None, # 1496 + None, # 1497 + None, # 1498 + None, # 1499 + None, # 1500 + None, # 1501 + None, # 1502 + None, # 1503 + None, # 1504 + None, # 1505 + None, # 1506 + None, # 1507 + None, # 1508 + None, # 1509 + None, # 1510 + None, # 1511 + None, # 1512 + None, # 1513 + None, # 1514 + None, # 1515 + None, # 1516 + None, # 1517 + None, # 1518 + None, # 1519 + None, # 1520 + None, # 1521 + None, # 1522 + None, # 1523 + None, # 1524 + None, # 1525 + None, # 1526 + None, # 1527 + None, # 1528 + None, # 1529 + None, # 1530 + None, # 1531 + None, # 1532 + None, # 1533 + None, # 1534 + None, # 1535 + None, # 1536 + None, # 1537 + None, # 1538 + None, # 1539 + None, # 1540 + None, # 1541 + None, # 1542 + None, # 1543 + None, # 1544 + None, # 1545 + None, # 1546 + None, # 1547 + None, # 1548 + None, # 1549 + None, # 1550 + None, # 1551 + None, # 1552 + None, # 1553 + None, # 1554 + None, # 1555 + None, # 1556 + None, # 1557 + None, # 1558 + None, # 1559 + None, # 1560 + None, # 1561 + None, # 1562 + None, # 1563 + None, # 1564 + None, # 1565 + None, # 1566 + None, # 1567 + None, # 1568 + None, # 1569 + None, # 1570 + None, # 1571 + None, # 1572 + None, # 1573 + None, # 1574 + None, # 1575 + None, # 1576 + None, # 1577 + None, # 1578 + None, # 1579 + None, # 1580 + None, # 1581 + None, # 1582 + None, # 1583 + None, # 1584 + None, # 1585 + None, # 1586 + None, # 1587 + None, # 1588 + None, # 1589 + None, # 1590 + None, # 1591 + None, # 1592 + None, # 1593 + None, # 1594 + None, # 1595 + None, # 1596 + None, # 1597 + None, # 1598 + None, # 1599 + None, # 1600 + None, # 1601 + None, # 1602 + None, # 1603 + None, # 1604 + None, # 1605 + None, # 1606 + None, # 1607 + None, # 1608 + None, # 1609 + None, # 1610 + None, # 1611 + None, # 1612 + None, # 1613 + None, # 1614 + None, # 1615 + None, # 1616 + None, # 1617 + None, # 1618 + None, # 1619 + None, # 1620 + None, # 1621 + None, # 1622 + None, # 1623 + None, # 1624 + None, # 1625 + None, # 1626 + None, # 1627 + None, # 1628 + None, # 1629 + None, # 1630 + None, # 1631 + None, # 1632 + None, # 1633 + None, # 1634 + None, # 1635 + None, # 1636 + None, # 1637 + None, # 1638 + None, # 1639 + None, # 1640 + None, # 1641 + None, # 1642 + None, # 1643 + None, # 1644 + None, # 1645 + None, # 1646 + None, # 1647 + None, # 1648 + None, # 1649 + None, # 1650 + None, # 1651 + None, # 1652 + None, # 1653 + None, # 1654 + None, # 1655 + None, # 1656 + None, # 1657 + None, # 1658 + None, # 1659 + None, # 1660 + None, # 1661 + None, # 1662 + None, # 1663 + None, # 1664 + None, # 1665 + None, # 1666 + None, # 1667 + None, # 1668 + None, # 1669 + None, # 1670 + None, # 1671 + None, # 1672 + None, # 1673 + None, # 1674 + None, # 1675 + None, # 1676 + None, # 1677 + None, # 1678 + None, # 1679 + None, # 1680 + None, # 1681 + None, # 1682 + None, # 1683 + None, # 1684 + None, # 1685 + None, # 1686 + None, # 1687 + None, # 1688 + None, # 1689 + None, # 1690 + None, # 1691 + None, # 1692 + None, # 1693 + None, # 1694 + None, # 1695 + None, # 1696 + None, # 1697 + None, # 1698 + None, # 1699 + None, # 1700 + None, # 1701 + None, # 1702 + None, # 1703 + None, # 1704 + None, # 1705 + None, # 1706 + None, # 1707 + None, # 1708 + None, # 1709 + None, # 1710 + None, # 1711 + None, # 1712 + None, # 1713 + None, # 1714 + None, # 1715 + None, # 1716 + None, # 1717 + None, # 1718 + None, # 1719 + None, # 1720 + None, # 1721 + None, # 1722 + None, # 1723 + None, # 1724 + None, # 1725 + None, # 1726 + None, # 1727 + None, # 1728 + None, # 1729 + None, # 1730 + None, # 1731 + None, # 1732 + None, # 1733 + None, # 1734 + None, # 1735 + None, # 1736 + None, # 1737 + None, # 1738 + None, # 1739 + None, # 1740 + None, # 1741 + None, # 1742 + None, # 1743 + None, # 1744 + None, # 1745 + None, # 1746 + None, # 1747 + None, # 1748 + None, # 1749 + None, # 1750 + None, # 1751 + None, # 1752 + None, # 1753 + None, # 1754 + None, # 1755 + None, # 1756 + None, # 1757 + None, # 1758 + None, # 1759 + None, # 1760 + None, # 1761 + None, # 1762 + None, # 1763 + None, # 1764 + None, # 1765 + None, # 1766 + None, # 1767 + None, # 1768 + None, # 1769 + None, # 1770 + None, # 1771 + None, # 1772 + None, # 1773 + None, # 1774 + None, # 1775 + None, # 1776 + None, # 1777 + None, # 1778 + None, # 1779 + None, # 1780 + None, # 1781 + None, # 1782 + None, # 1783 + None, # 1784 + None, # 1785 + None, # 1786 + None, # 1787 + None, # 1788 + None, # 1789 + None, # 1790 + None, # 1791 + None, # 1792 + None, # 1793 + None, # 1794 + None, # 1795 + None, # 1796 + None, # 1797 + None, # 1798 + None, # 1799 + None, # 1800 + None, # 1801 + None, # 1802 + None, # 1803 + None, # 1804 + None, # 1805 + None, # 1806 + None, # 1807 + None, # 1808 + None, # 1809 + None, # 1810 + None, # 1811 + None, # 1812 + None, # 1813 + None, # 1814 + None, # 1815 + None, # 1816 + None, # 1817 + None, # 1818 + None, # 1819 + None, # 1820 + None, # 1821 + None, # 1822 + None, # 1823 + None, # 1824 + None, # 1825 + None, # 1826 + None, # 1827 + None, # 1828 + None, # 1829 + None, # 1830 + None, # 1831 + None, # 1832 + None, # 1833 + None, # 1834 + None, # 1835 + None, # 1836 + None, # 1837 + None, # 1838 + None, # 1839 + None, # 1840 + None, # 1841 + None, # 1842 + None, # 1843 + None, # 1844 + None, # 1845 + None, # 1846 + None, # 1847 + None, # 1848 + None, # 1849 + None, # 1850 + None, # 1851 + None, # 1852 + None, # 1853 + None, # 1854 + None, # 1855 + None, # 1856 + None, # 1857 + None, # 1858 + None, # 1859 + None, # 1860 + None, # 1861 + None, # 1862 + None, # 1863 + None, # 1864 + None, # 1865 + None, # 1866 + None, # 1867 + None, # 1868 + None, # 1869 + None, # 1870 + None, # 1871 + None, # 1872 + None, # 1873 + None, # 1874 + None, # 1875 + None, # 1876 + None, # 1877 + None, # 1878 + None, # 1879 + None, # 1880 + None, # 1881 + None, # 1882 + None, # 1883 + None, # 1884 + None, # 1885 + None, # 1886 + None, # 1887 + None, # 1888 + None, # 1889 + None, # 1890 + None, # 1891 + None, # 1892 + None, # 1893 + None, # 1894 + None, # 1895 + None, # 1896 + None, # 1897 + None, # 1898 + None, # 1899 + None, # 1900 + None, # 1901 + None, # 1902 + None, # 1903 + None, # 1904 + None, # 1905 + None, # 1906 + None, # 1907 + None, # 1908 + None, # 1909 + None, # 1910 + None, # 1911 + None, # 1912 + None, # 1913 + None, # 1914 + None, # 1915 + None, # 1916 + None, # 1917 + None, # 1918 + None, # 1919 + None, # 1920 + None, # 1921 + None, # 1922 + None, # 1923 + None, # 1924 + None, # 1925 + None, # 1926 + None, # 1927 + None, # 1928 + None, # 1929 + None, # 1930 + None, # 1931 + None, # 1932 + None, # 1933 + None, # 1934 + None, # 1935 + None, # 1936 + None, # 1937 + None, # 1938 + None, # 1939 + None, # 1940 + None, # 1941 + None, # 1942 + None, # 1943 + None, # 1944 + None, # 1945 + None, # 1946 + None, # 1947 + None, # 1948 + None, # 1949 + None, # 1950 + None, # 1951 + None, # 1952 + None, # 1953 + None, # 1954 + None, # 1955 + None, # 1956 + None, # 1957 + None, # 1958 + None, # 1959 + None, # 1960 + None, # 1961 + None, # 1962 + None, # 1963 + None, # 1964 + None, # 1965 + None, # 1966 + None, # 1967 + None, # 1968 + None, # 1969 + None, # 1970 + None, # 1971 + None, # 1972 + None, # 1973 + None, # 1974 + None, # 1975 + None, # 1976 + None, # 1977 + None, # 1978 + None, # 1979 + None, # 1980 + None, # 1981 + None, # 1982 + None, # 1983 + None, # 1984 + None, # 1985 + None, # 1986 + None, # 1987 + None, # 1988 + None, # 1989 + None, # 1990 + None, # 1991 + None, # 1992 + None, # 1993 + None, # 1994 + None, # 1995 + None, # 1996 + None, # 1997 + None, # 1998 + None, # 1999 + None, # 2000 + None, # 2001 + None, # 2002 + None, # 2003 + None, # 2004 + None, # 2005 + None, # 2006 + None, # 2007 + None, # 2008 + None, # 2009 + None, # 2010 + None, # 2011 + None, # 2012 + None, # 2013 + None, # 2014 + None, # 2015 + None, # 2016 + None, # 2017 + None, # 2018 + None, # 2019 + None, # 2020 + None, # 2021 + None, # 2022 + None, # 2023 + None, # 2024 + None, # 2025 + None, # 2026 + None, # 2027 + None, # 2028 + None, # 2029 + None, # 2030 + None, # 2031 + None, # 2032 + None, # 2033 + None, # 2034 + None, # 2035 + None, # 2036 + None, # 2037 + None, # 2038 + None, # 2039 + None, # 2040 + None, # 2041 + None, # 2042 + None, # 2043 + None, # 2044 + None, # 2045 + None, # 2046 + None, # 2047 + None, # 2048 + None, # 2049 + None, # 2050 + None, # 2051 + None, # 2052 + None, # 2053 + None, # 2054 + None, # 2055 + None, # 2056 + None, # 2057 + None, # 2058 + None, # 2059 + None, # 2060 + None, # 2061 + None, # 2062 + None, # 2063 + None, # 2064 + None, # 2065 + None, # 2066 + None, # 2067 + None, # 2068 + None, # 2069 + None, # 2070 + None, # 2071 + None, # 2072 + None, # 2073 + None, # 2074 + None, # 2075 + None, # 2076 + None, # 2077 + None, # 2078 + None, # 2079 + None, # 2080 + None, # 2081 + None, # 2082 + None, # 2083 + None, # 2084 + None, # 2085 + None, # 2086 + None, # 2087 + None, # 2088 + None, # 2089 + None, # 2090 + None, # 2091 + None, # 2092 + None, # 2093 + None, # 2094 + None, # 2095 + None, # 2096 + None, # 2097 + None, # 2098 + None, # 2099 + None, # 2100 + None, # 2101 + None, # 2102 + None, # 2103 + None, # 2104 + None, # 2105 + None, # 2106 + None, # 2107 + None, # 2108 + None, # 2109 + None, # 2110 + None, # 2111 + None, # 2112 + None, # 2113 + None, # 2114 + None, # 2115 + None, # 2116 + None, # 2117 + None, # 2118 + None, # 2119 + None, # 2120 + None, # 2121 + None, # 2122 + None, # 2123 + None, # 2124 + None, # 2125 + None, # 2126 + None, # 2127 + None, # 2128 + None, # 2129 + None, # 2130 + None, # 2131 + None, # 2132 + None, # 2133 + None, # 2134 + None, # 2135 + None, # 2136 + None, # 2137 + None, # 2138 + None, # 2139 + None, # 2140 + None, # 2141 + None, # 2142 + None, # 2143 + None, # 2144 + None, # 2145 + None, # 2146 + None, # 2147 + None, # 2148 + None, # 2149 + None, # 2150 + None, # 2151 + None, # 2152 + None, # 2153 + None, # 2154 + None, # 2155 + None, # 2156 + None, # 2157 + None, # 2158 + None, # 2159 + None, # 2160 + None, # 2161 + None, # 2162 + None, # 2163 + None, # 2164 + None, # 2165 + None, # 2166 + None, # 2167 + None, # 2168 + None, # 2169 + None, # 2170 + None, # 2171 + None, # 2172 + None, # 2173 + None, # 2174 + None, # 2175 + None, # 2176 + None, # 2177 + None, # 2178 + None, # 2179 + None, # 2180 + None, # 2181 + None, # 2182 + None, # 2183 + None, # 2184 + None, # 2185 + None, # 2186 + None, # 2187 + None, # 2188 + None, # 2189 + None, # 2190 + None, # 2191 + None, # 2192 + None, # 2193 + None, # 2194 + None, # 2195 + None, # 2196 + None, # 2197 + None, # 2198 + None, # 2199 + None, # 2200 + None, # 2201 + None, # 2202 + None, # 2203 + None, # 2204 + None, # 2205 + None, # 2206 + None, # 2207 + None, # 2208 + None, # 2209 + None, # 2210 + None, # 2211 + None, # 2212 + None, # 2213 + None, # 2214 + None, # 2215 + None, # 2216 + None, # 2217 + None, # 2218 + None, # 2219 + None, # 2220 + None, # 2221 + None, # 2222 + None, # 2223 + None, # 2224 + None, # 2225 + None, # 2226 + None, # 2227 + None, # 2228 + None, # 2229 + None, # 2230 + None, # 2231 + None, # 2232 + None, # 2233 + None, # 2234 + None, # 2235 + None, # 2236 + None, # 2237 + None, # 2238 + None, # 2239 + None, # 2240 + None, # 2241 + None, # 2242 + None, # 2243 + None, # 2244 + None, # 2245 + None, # 2246 + None, # 2247 + None, # 2248 + None, # 2249 + None, # 2250 + None, # 2251 + None, # 2252 + None, # 2253 + None, # 2254 + None, # 2255 + None, # 2256 + None, # 2257 + None, # 2258 + None, # 2259 + None, # 2260 + None, # 2261 + None, # 2262 + None, # 2263 + None, # 2264 + None, # 2265 + None, # 2266 + None, # 2267 + None, # 2268 + None, # 2269 + None, # 2270 + None, # 2271 + None, # 2272 + None, # 2273 + None, # 2274 + None, # 2275 + None, # 2276 + None, # 2277 + None, # 2278 + None, # 2279 + None, # 2280 + None, # 2281 + None, # 2282 + None, # 2283 + None, # 2284 + None, # 2285 + None, # 2286 + None, # 2287 + None, # 2288 + None, # 2289 + None, # 2290 + None, # 2291 + None, # 2292 + None, # 2293 + None, # 2294 + None, # 2295 + None, # 2296 + None, # 2297 + None, # 2298 + None, # 2299 + None, # 2300 + None, # 2301 + None, # 2302 + None, # 2303 + None, # 2304 + None, # 2305 + None, # 2306 + None, # 2307 + None, # 2308 + None, # 2309 + None, # 2310 + None, # 2311 + None, # 2312 + None, # 2313 + None, # 2314 + None, # 2315 + None, # 2316 + None, # 2317 + None, # 2318 + None, # 2319 + None, # 2320 + None, # 2321 + None, # 2322 + None, # 2323 + None, # 2324 + None, # 2325 + None, # 2326 + None, # 2327 + None, # 2328 + None, # 2329 + None, # 2330 + None, # 2331 + None, # 2332 + None, # 2333 + None, # 2334 + None, # 2335 + None, # 2336 + None, # 2337 + None, # 2338 + None, # 2339 + None, # 2340 + None, # 2341 + None, # 2342 + None, # 2343 + None, # 2344 + None, # 2345 + None, # 2346 + None, # 2347 + None, # 2348 + None, # 2349 + None, # 2350 + None, # 2351 + None, # 2352 + None, # 2353 + None, # 2354 + None, # 2355 + None, # 2356 + None, # 2357 + None, # 2358 + None, # 2359 + None, # 2360 + None, # 2361 + None, # 2362 + None, # 2363 + None, # 2364 + None, # 2365 + None, # 2366 + None, # 2367 + None, # 2368 + None, # 2369 + None, # 2370 + None, # 2371 + None, # 2372 + None, # 2373 + None, # 2374 + None, # 2375 + None, # 2376 + None, # 2377 + None, # 2378 + None, # 2379 + None, # 2380 + None, # 2381 + None, # 2382 + None, # 2383 + None, # 2384 + None, # 2385 + None, # 2386 + None, # 2387 + None, # 2388 + None, # 2389 + None, # 2390 + None, # 2391 + None, # 2392 + None, # 2393 + None, # 2394 + None, # 2395 + None, # 2396 + None, # 2397 + None, # 2398 + None, # 2399 + None, # 2400 + None, # 2401 + None, # 2402 + None, # 2403 + None, # 2404 + None, # 2405 + None, # 2406 + None, # 2407 + None, # 2408 + None, # 2409 + None, # 2410 + None, # 2411 + None, # 2412 + None, # 2413 + None, # 2414 + None, # 2415 + None, # 2416 + None, # 2417 + None, # 2418 + None, # 2419 + None, # 2420 + None, # 2421 + None, # 2422 + None, # 2423 + None, # 2424 + None, # 2425 + None, # 2426 + None, # 2427 + None, # 2428 + None, # 2429 + None, # 2430 + None, # 2431 + None, # 2432 + None, # 2433 + None, # 2434 + None, # 2435 + None, # 2436 + None, # 2437 + None, # 2438 + None, # 2439 + None, # 2440 + None, # 2441 + None, # 2442 + None, # 2443 + None, # 2444 + None, # 2445 + None, # 2446 + None, # 2447 + None, # 2448 + None, # 2449 + None, # 2450 + None, # 2451 + None, # 2452 + None, # 2453 + None, # 2454 + None, # 2455 + None, # 2456 + None, # 2457 + None, # 2458 + None, # 2459 + None, # 2460 + None, # 2461 + None, # 2462 + None, # 2463 + None, # 2464 + None, # 2465 + None, # 2466 + None, # 2467 + None, # 2468 + None, # 2469 + None, # 2470 + None, # 2471 + None, # 2472 + None, # 2473 + None, # 2474 + None, # 2475 + None, # 2476 + None, # 2477 + None, # 2478 + None, # 2479 + None, # 2480 + None, # 2481 + None, # 2482 + None, # 2483 + None, # 2484 + None, # 2485 + None, # 2486 + None, # 2487 + None, # 2488 + None, # 2489 + None, # 2490 + None, # 2491 + None, # 2492 + None, # 2493 + None, # 2494 + None, # 2495 + None, # 2496 + None, # 2497 + None, # 2498 + None, # 2499 + None, # 2500 + None, # 2501 + None, # 2502 + None, # 2503 + None, # 2504 + None, # 2505 + None, # 2506 + None, # 2507 + None, # 2508 + None, # 2509 + None, # 2510 + None, # 2511 + None, # 2512 + None, # 2513 + None, # 2514 + None, # 2515 + None, # 2516 + None, # 2517 + None, # 2518 + None, # 2519 + None, # 2520 + None, # 2521 + None, # 2522 + None, # 2523 + None, # 2524 + None, # 2525 + None, # 2526 + None, # 2527 + None, # 2528 + None, # 2529 + None, # 2530 + None, # 2531 + None, # 2532 + None, # 2533 + None, # 2534 + None, # 2535 + None, # 2536 + None, # 2537 + None, # 2538 + None, # 2539 + None, # 2540 + None, # 2541 + None, # 2542 + None, # 2543 + None, # 2544 + None, # 2545 + None, # 2546 + None, # 2547 + None, # 2548 + None, # 2549 + None, # 2550 + None, # 2551 + None, # 2552 + None, # 2553 + None, # 2554 + None, # 2555 + None, # 2556 + None, # 2557 + None, # 2558 + None, # 2559 + None, # 2560 + None, # 2561 + None, # 2562 + None, # 2563 + None, # 2564 + None, # 2565 + None, # 2566 + None, # 2567 + None, # 2568 + None, # 2569 + None, # 2570 + None, # 2571 + None, # 2572 + None, # 2573 + None, # 2574 + None, # 2575 + None, # 2576 + None, # 2577 + None, # 2578 + None, # 2579 + None, # 2580 + None, # 2581 + None, # 2582 + None, # 2583 + None, # 2584 + None, # 2585 + None, # 2586 + None, # 2587 + None, # 2588 + None, # 2589 + None, # 2590 + None, # 2591 + None, # 2592 + None, # 2593 + None, # 2594 + None, # 2595 + None, # 2596 + None, # 2597 + None, # 2598 + None, # 2599 + None, # 2600 + None, # 2601 + None, # 2602 + None, # 2603 + None, # 2604 + None, # 2605 + None, # 2606 + None, # 2607 + None, # 2608 + None, # 2609 + None, # 2610 + None, # 2611 + None, # 2612 + None, # 2613 + None, # 2614 + None, # 2615 + None, # 2616 + None, # 2617 + None, # 2618 + None, # 2619 + None, # 2620 + None, # 2621 + None, # 2622 + None, # 2623 + None, # 2624 + None, # 2625 + None, # 2626 + None, # 2627 + None, # 2628 + None, # 2629 + None, # 2630 + None, # 2631 + None, # 2632 + None, # 2633 + None, # 2634 + None, # 2635 + None, # 2636 + None, # 2637 + None, # 2638 + None, # 2639 + None, # 2640 + None, # 2641 + None, # 2642 + None, # 2643 + None, # 2644 + None, # 2645 + None, # 2646 + None, # 2647 + None, # 2648 + None, # 2649 + None, # 2650 + None, # 2651 + None, # 2652 + None, # 2653 + None, # 2654 + None, # 2655 + None, # 2656 + None, # 2657 + None, # 2658 + None, # 2659 + None, # 2660 + None, # 2661 + None, # 2662 + None, # 2663 + None, # 2664 + None, # 2665 + None, # 2666 + None, # 2667 + None, # 2668 + None, # 2669 + None, # 2670 + None, # 2671 + None, # 2672 + None, # 2673 + None, # 2674 + None, # 2675 + None, # 2676 + None, # 2677 + None, # 2678 + None, # 2679 + None, # 2680 + None, # 2681 + None, # 2682 + None, # 2683 + None, # 2684 + None, # 2685 + None, # 2686 + None, # 2687 + None, # 2688 + None, # 2689 + None, # 2690 + None, # 2691 + None, # 2692 + None, # 2693 + None, # 2694 + None, # 2695 + None, # 2696 + None, # 2697 + None, # 2698 + None, # 2699 + None, # 2700 + None, # 2701 + None, # 2702 + None, # 2703 + None, # 2704 + None, # 2705 + None, # 2706 + None, # 2707 + None, # 2708 + None, # 2709 + None, # 2710 + None, # 2711 + None, # 2712 + None, # 2713 + None, # 2714 + None, # 2715 + None, # 2716 + None, # 2717 + None, # 2718 + None, # 2719 + None, # 2720 + None, # 2721 + None, # 2722 + None, # 2723 + None, # 2724 + None, # 2725 + None, # 2726 + None, # 2727 + None, # 2728 + None, # 2729 + None, # 2730 + None, # 2731 + None, # 2732 + None, # 2733 + None, # 2734 + None, # 2735 + None, # 2736 + None, # 2737 + None, # 2738 + None, # 2739 + None, # 2740 + None, # 2741 + None, # 2742 + None, # 2743 + None, # 2744 + None, # 2745 + None, # 2746 + None, # 2747 + None, # 2748 + None, # 2749 + None, # 2750 + None, # 2751 + None, # 2752 + None, # 2753 + None, # 2754 + None, # 2755 + None, # 2756 + None, # 2757 + None, # 2758 + None, # 2759 + None, # 2760 + None, # 2761 + None, # 2762 + None, # 2763 + None, # 2764 + None, # 2765 + None, # 2766 + None, # 2767 + None, # 2768 + None, # 2769 + None, # 2770 + None, # 2771 + None, # 2772 + None, # 2773 + None, # 2774 + None, # 2775 + None, # 2776 + None, # 2777 + None, # 2778 + None, # 2779 + None, # 2780 + None, # 2781 + None, # 2782 + None, # 2783 + None, # 2784 + None, # 2785 + None, # 2786 + None, # 2787 + None, # 2788 + None, # 2789 + None, # 2790 + None, # 2791 + None, # 2792 + None, # 2793 + None, # 2794 + None, # 2795 + None, # 2796 + None, # 2797 + None, # 2798 + None, # 2799 + None, # 2800 + None, # 2801 + None, # 2802 + None, # 2803 + None, # 2804 + None, # 2805 + None, # 2806 + None, # 2807 + None, # 2808 + None, # 2809 + None, # 2810 + None, # 2811 + None, # 2812 + None, # 2813 + None, # 2814 + None, # 2815 + None, # 2816 + None, # 2817 + None, # 2818 + None, # 2819 + None, # 2820 + None, # 2821 + None, # 2822 + None, # 2823 + None, # 2824 + None, # 2825 + None, # 2826 + None, # 2827 + None, # 2828 + None, # 2829 + None, # 2830 + None, # 2831 + None, # 2832 + None, # 2833 + None, # 2834 + None, # 2835 + None, # 2836 + None, # 2837 + None, # 2838 + None, # 2839 + None, # 2840 + None, # 2841 + None, # 2842 + None, # 2843 + None, # 2844 + None, # 2845 + None, # 2846 + None, # 2847 + None, # 2848 + None, # 2849 + None, # 2850 + None, # 2851 + None, # 2852 + None, # 2853 + None, # 2854 + None, # 2855 + None, # 2856 + None, # 2857 + None, # 2858 + None, # 2859 + None, # 2860 + None, # 2861 + None, # 2862 + None, # 2863 + None, # 2864 + None, # 2865 + None, # 2866 + None, # 2867 + None, # 2868 + None, # 2869 + None, # 2870 + None, # 2871 + None, # 2872 + None, # 2873 + None, # 2874 + None, # 2875 + None, # 2876 + None, # 2877 + None, # 2878 + None, # 2879 + None, # 2880 + None, # 2881 + None, # 2882 + None, # 2883 + None, # 2884 + None, # 2885 + None, # 2886 + None, # 2887 + None, # 2888 + None, # 2889 + None, # 2890 + None, # 2891 + None, # 2892 + None, # 2893 + None, # 2894 + None, # 2895 + None, # 2896 + None, # 2897 + None, # 2898 + None, # 2899 + None, # 2900 + None, # 2901 + None, # 2902 + None, # 2903 + None, # 2904 + None, # 2905 + None, # 2906 + None, # 2907 + None, # 2908 + None, # 2909 + None, # 2910 + None, # 2911 + None, # 2912 + None, # 2913 + None, # 2914 + None, # 2915 + None, # 2916 + None, # 2917 + None, # 2918 + None, # 2919 + None, # 2920 + None, # 2921 + None, # 2922 + None, # 2923 + None, # 2924 + None, # 2925 + None, # 2926 + None, # 2927 + None, # 2928 + None, # 2929 + None, # 2930 + None, # 2931 + None, # 2932 + None, # 2933 + None, # 2934 + None, # 2935 + None, # 2936 + None, # 2937 + None, # 2938 + None, # 2939 + None, # 2940 + None, # 2941 + None, # 2942 + None, # 2943 + None, # 2944 + None, # 2945 + None, # 2946 + None, # 2947 + None, # 2948 + None, # 2949 + None, # 2950 + None, # 2951 + None, # 2952 + None, # 2953 + None, # 2954 + None, # 2955 + None, # 2956 + None, # 2957 + None, # 2958 + None, # 2959 + None, # 2960 + None, # 2961 + None, # 2962 + None, # 2963 + None, # 2964 + None, # 2965 + None, # 2966 + None, # 2967 + None, # 2968 + None, # 2969 + None, # 2970 + None, # 2971 + None, # 2972 + None, # 2973 + None, # 2974 + None, # 2975 + None, # 2976 + None, # 2977 + None, # 2978 + None, # 2979 + None, # 2980 + None, # 2981 + None, # 2982 + None, # 2983 + None, # 2984 + None, # 2985 + None, # 2986 + None, # 2987 + None, # 2988 + None, # 2989 + None, # 2990 + None, # 2991 + None, # 2992 + None, # 2993 + None, # 2994 + None, # 2995 + None, # 2996 + None, # 2997 + None, # 2998 + None, # 2999 + None, # 3000 + None, # 3001 + None, # 3002 + None, # 3003 + None, # 3004 + None, # 3005 + None, # 3006 + None, # 3007 + None, # 3008 + None, # 3009 + None, # 3010 + None, # 3011 + None, # 3012 + None, # 3013 + None, # 3014 + None, # 3015 + None, # 3016 + None, # 3017 + None, # 3018 + None, # 3019 + None, # 3020 + None, # 3021 + None, # 3022 + None, # 3023 + None, # 3024 + None, # 3025 + None, # 3026 + None, # 3027 + None, # 3028 + None, # 3029 + None, # 3030 + None, # 3031 + None, # 3032 + None, # 3033 + None, # 3034 + None, # 3035 + None, # 3036 + None, # 3037 + None, # 3038 + None, # 3039 + None, # 3040 + None, # 3041 + None, # 3042 + None, # 3043 + None, # 3044 + None, # 3045 + None, # 3046 + None, # 3047 + None, # 3048 + None, # 3049 + None, # 3050 + None, # 3051 + None, # 3052 + None, # 3053 + None, # 3054 + None, # 3055 + None, # 3056 + None, # 3057 + None, # 3058 + None, # 3059 + None, # 3060 + None, # 3061 + None, # 3062 + None, # 3063 + None, # 3064 + None, # 3065 + None, # 3066 + None, # 3067 + None, # 3068 + None, # 3069 + None, # 3070 + None, # 3071 + None, # 3072 + None, # 3073 + None, # 3074 + None, # 3075 + None, # 3076 + None, # 3077 + None, # 3078 + None, # 3079 + None, # 3080 + None, # 3081 + None, # 3082 + None, # 3083 + None, # 3084 + None, # 3085 + None, # 3086 + None, # 3087 + None, # 3088 + None, # 3089 + None, # 3090 + None, # 3091 + None, # 3092 + None, # 3093 + None, # 3094 + None, # 3095 + None, # 3096 + None, # 3097 + None, # 3098 + None, # 3099 + None, # 3100 + None, # 3101 + None, # 3102 + None, # 3103 + None, # 3104 + None, # 3105 + None, # 3106 + None, # 3107 + None, # 3108 + None, # 3109 + None, # 3110 + None, # 3111 + None, # 3112 + None, # 3113 + None, # 3114 + None, # 3115 + None, # 3116 + None, # 3117 + None, # 3118 + None, # 3119 + None, # 3120 + None, # 3121 + None, # 3122 + None, # 3123 + None, # 3124 + None, # 3125 + None, # 3126 + None, # 3127 + None, # 3128 + None, # 3129 + None, # 3130 + None, # 3131 + None, # 3132 + None, # 3133 + None, # 3134 + None, # 3135 + None, # 3136 + None, # 3137 + None, # 3138 + None, # 3139 + None, # 3140 + None, # 3141 + None, # 3142 + None, # 3143 + None, # 3144 + None, # 3145 + None, # 3146 + None, # 3147 + None, # 3148 + None, # 3149 + None, # 3150 + None, # 3151 + None, # 3152 + None, # 3153 + None, # 3154 + None, # 3155 + None, # 3156 + None, # 3157 + None, # 3158 + None, # 3159 + None, # 3160 + None, # 3161 + None, # 3162 + None, # 3163 + None, # 3164 + None, # 3165 + None, # 3166 + None, # 3167 + None, # 3168 + None, # 3169 + None, # 3170 + None, # 3171 + None, # 3172 + None, # 3173 + None, # 3174 + None, # 3175 + None, # 3176 + None, # 3177 + None, # 3178 + None, # 3179 + None, # 3180 + None, # 3181 + None, # 3182 + None, # 3183 + None, # 3184 + None, # 3185 + None, # 3186 + None, # 3187 + None, # 3188 + None, # 3189 + None, # 3190 + None, # 3191 + None, # 3192 + None, # 3193 + None, # 3194 + None, # 3195 + None, # 3196 + None, # 3197 + None, # 3198 + None, # 3199 + None, # 3200 + None, # 3201 + None, # 3202 + None, # 3203 + None, # 3204 + None, # 3205 + None, # 3206 + None, # 3207 + None, # 3208 + None, # 3209 + None, # 3210 + None, # 3211 + None, # 3212 + None, # 3213 + None, # 3214 + None, # 3215 + None, # 3216 + None, # 3217 + None, # 3218 + None, # 3219 + None, # 3220 + None, # 3221 + None, # 3222 + None, # 3223 + None, # 3224 + None, # 3225 + None, # 3226 + None, # 3227 + None, # 3228 + None, # 3229 + None, # 3230 + None, # 3231 + None, # 3232 + None, # 3233 + None, # 3234 + None, # 3235 + None, # 3236 + None, # 3237 + None, # 3238 + None, # 3239 + None, # 3240 + None, # 3241 + None, # 3242 + None, # 3243 + None, # 3244 + None, # 3245 + None, # 3246 + None, # 3247 + None, # 3248 + None, # 3249 + None, # 3250 + None, # 3251 + None, # 3252 + None, # 3253 + None, # 3254 + None, # 3255 + None, # 3256 + None, # 3257 + None, # 3258 + None, # 3259 + None, # 3260 + None, # 3261 + None, # 3262 + None, # 3263 + None, # 3264 + None, # 3265 + None, # 3266 + None, # 3267 + None, # 3268 + None, # 3269 + None, # 3270 + None, # 3271 + None, # 3272 + None, # 3273 + None, # 3274 + None, # 3275 + None, # 3276 + None, # 3277 + None, # 3278 + None, # 3279 + None, # 3280 + None, # 3281 + None, # 3282 + None, # 3283 + None, # 3284 + None, # 3285 + None, # 3286 + None, # 3287 + None, # 3288 + None, # 3289 + None, # 3290 + None, # 3291 + None, # 3292 + None, # 3293 + None, # 3294 + None, # 3295 + None, # 3296 + None, # 3297 + None, # 3298 + None, # 3299 + None, # 3300 + None, # 3301 + None, # 3302 + None, # 3303 + None, # 3304 + None, # 3305 + None, # 3306 + None, # 3307 + None, # 3308 + None, # 3309 + None, # 3310 + None, # 3311 + None, # 3312 + None, # 3313 + None, # 3314 + None, # 3315 + None, # 3316 + None, # 3317 + None, # 3318 + None, # 3319 + None, # 3320 + None, # 3321 + None, # 3322 + None, # 3323 + None, # 3324 + None, # 3325 + None, # 3326 + None, # 3327 + None, # 3328 + (3329, TType.I32, 'reasonForNoCloudFetch', None, None, ), # 3329 + (3330, TType.LIST, 'resultFiles', (TType.STRUCT, [TDBSqlCloudResultFile, None], False), None, ), # 3330 + (3331, TType.STRING, 'manifestFile', 'UTF8', None, ), # 3331 + (3332, TType.I32, 'manifestFileFormat', None, None, ), # 3332 + (3333, TType.I64, 'cacheLookupLatency', None, None, ), # 3333 + (3334, TType.STRING, 'remoteCacheMissReason', 'UTF8', None, ), # 3334 + (3335, TType.I32, 'fetchDisposition', None, None, ), # 3335 + (3336, TType.BOOL, 'remoteResultCacheEnabled', None, None, ), # 3336 + (3337, TType.BOOL, 'isServerless', None, None, ), # 3337 + None, # 3338 + None, # 3339 + None, # 3340 + None, # 3341 + None, # 3342 + None, # 3343 + (3344, TType.STRUCT, 'resultDataFormat', [TDBSqlResultFormat, None], None, ), # 3344 + (3345, TType.BOOL, 'truncatedByThriftLimit', None, None, ), # 3345 + (3346, TType.I64, 'resultByteLimit', None, None, ), # 3346 ) all_structs.append(TFetchResultsReq) TFetchResultsReq.thrift_spec = ( - None, # 0 - (1, TType.STRUCT, 'operationHandle', [TOperationHandle, None], None, ), # 1 - (2, TType.I32, 'orientation', None, 0, ), # 2 - (3, TType.I64, 'maxRows', None, None, ), # 3 - (4, TType.I16, 'fetchType', None, 0, ), # 4 - None, # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - (1281, TType.I64, 'maxBytes', None, None, ), # 1281 - (1282, TType.I64, 'startRowOffset', None, None, ), # 1282 - (1283, TType.BOOL, 'includeResultSetMetadata', None, None, ), # 1283 + None, # 0 + (1, TType.STRUCT, 'operationHandle', [TOperationHandle, None], None, ), # 1 + (2, TType.I32, 'orientation', None, 0, ), # 2 + (3, TType.I64, 'maxRows', None, None, ), # 3 + (4, TType.I16, 'fetchType', None, 0, ), # 4 + None, # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + (1281, TType.I64, 'maxBytes', None, None, ), # 1281 + (1282, TType.I64, 'startRowOffset', None, None, ), # 1282 + (1283, TType.BOOL, 'includeResultSetMetadata', None, None, ), # 1283 ) all_structs.append(TFetchResultsResp) TFetchResultsResp.thrift_spec = ( - None, # 0 - (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 - (2, TType.BOOL, 'hasMoreRows', None, None, ), # 2 - (3, TType.STRUCT, 'results', [TRowSet, None], None, ), # 3 - None, # 4 - None, # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - (1281, TType.STRUCT, 'resultSetMetadata', [TGetResultSetMetadataResp, None], None, ), # 1281 - None, # 1282 - None, # 1283 - None, # 1284 - None, # 1285 - None, # 1286 - None, # 1287 - None, # 1288 - None, # 1289 - None, # 1290 - None, # 1291 - None, # 1292 - None, # 1293 - None, # 1294 - None, # 1295 - None, # 1296 - None, # 1297 - None, # 1298 - None, # 1299 - None, # 1300 - None, # 1301 - None, # 1302 - None, # 1303 - None, # 1304 - None, # 1305 - None, # 1306 - None, # 1307 - None, # 1308 - None, # 1309 - None, # 1310 - None, # 1311 - None, # 1312 - None, # 1313 - None, # 1314 - None, # 1315 - None, # 1316 - None, # 1317 - None, # 1318 - None, # 1319 - None, # 1320 - None, # 1321 - None, # 1322 - None, # 1323 - None, # 1324 - None, # 1325 - None, # 1326 - None, # 1327 - None, # 1328 - None, # 1329 - None, # 1330 - None, # 1331 - None, # 1332 - None, # 1333 - None, # 1334 - None, # 1335 - None, # 1336 - None, # 1337 - None, # 1338 - None, # 1339 - None, # 1340 - None, # 1341 - None, # 1342 - None, # 1343 - None, # 1344 - None, # 1345 - None, # 1346 - None, # 1347 - None, # 1348 - None, # 1349 - None, # 1350 - None, # 1351 - None, # 1352 - None, # 1353 - None, # 1354 - None, # 1355 - None, # 1356 - None, # 1357 - None, # 1358 - None, # 1359 - None, # 1360 - None, # 1361 - None, # 1362 - None, # 1363 - None, # 1364 - None, # 1365 - None, # 1366 - None, # 1367 - None, # 1368 - None, # 1369 - None, # 1370 - None, # 1371 - None, # 1372 - None, # 1373 - None, # 1374 - None, # 1375 - None, # 1376 - None, # 1377 - None, # 1378 - None, # 1379 - None, # 1380 - None, # 1381 - None, # 1382 - None, # 1383 - None, # 1384 - None, # 1385 - None, # 1386 - None, # 1387 - None, # 1388 - None, # 1389 - None, # 1390 - None, # 1391 - None, # 1392 - None, # 1393 - None, # 1394 - None, # 1395 - None, # 1396 - None, # 1397 - None, # 1398 - None, # 1399 - None, # 1400 - None, # 1401 - None, # 1402 - None, # 1403 - None, # 1404 - None, # 1405 - None, # 1406 - None, # 1407 - None, # 1408 - None, # 1409 - None, # 1410 - None, # 1411 - None, # 1412 - None, # 1413 - None, # 1414 - None, # 1415 - None, # 1416 - None, # 1417 - None, # 1418 - None, # 1419 - None, # 1420 - None, # 1421 - None, # 1422 - None, # 1423 - None, # 1424 - None, # 1425 - None, # 1426 - None, # 1427 - None, # 1428 - None, # 1429 - None, # 1430 - None, # 1431 - None, # 1432 - None, # 1433 - None, # 1434 - None, # 1435 - None, # 1436 - None, # 1437 - None, # 1438 - None, # 1439 - None, # 1440 - None, # 1441 - None, # 1442 - None, # 1443 - None, # 1444 - None, # 1445 - None, # 1446 - None, # 1447 - None, # 1448 - None, # 1449 - None, # 1450 - None, # 1451 - None, # 1452 - None, # 1453 - None, # 1454 - None, # 1455 - None, # 1456 - None, # 1457 - None, # 1458 - None, # 1459 - None, # 1460 - None, # 1461 - None, # 1462 - None, # 1463 - None, # 1464 - None, # 1465 - None, # 1466 - None, # 1467 - None, # 1468 - None, # 1469 - None, # 1470 - None, # 1471 - None, # 1472 - None, # 1473 - None, # 1474 - None, # 1475 - None, # 1476 - None, # 1477 - None, # 1478 - None, # 1479 - None, # 1480 - None, # 1481 - None, # 1482 - None, # 1483 - None, # 1484 - None, # 1485 - None, # 1486 - None, # 1487 - None, # 1488 - None, # 1489 - None, # 1490 - None, # 1491 - None, # 1492 - None, # 1493 - None, # 1494 - None, # 1495 - None, # 1496 - None, # 1497 - None, # 1498 - None, # 1499 - None, # 1500 - None, # 1501 - None, # 1502 - None, # 1503 - None, # 1504 - None, # 1505 - None, # 1506 - None, # 1507 - None, # 1508 - None, # 1509 - None, # 1510 - None, # 1511 - None, # 1512 - None, # 1513 - None, # 1514 - None, # 1515 - None, # 1516 - None, # 1517 - None, # 1518 - None, # 1519 - None, # 1520 - None, # 1521 - None, # 1522 - None, # 1523 - None, # 1524 - None, # 1525 - None, # 1526 - None, # 1527 - None, # 1528 - None, # 1529 - None, # 1530 - None, # 1531 - None, # 1532 - None, # 1533 - None, # 1534 - None, # 1535 - None, # 1536 - None, # 1537 - None, # 1538 - None, # 1539 - None, # 1540 - None, # 1541 - None, # 1542 - None, # 1543 - None, # 1544 - None, # 1545 - None, # 1546 - None, # 1547 - None, # 1548 - None, # 1549 - None, # 1550 - None, # 1551 - None, # 1552 - None, # 1553 - None, # 1554 - None, # 1555 - None, # 1556 - None, # 1557 - None, # 1558 - None, # 1559 - None, # 1560 - None, # 1561 - None, # 1562 - None, # 1563 - None, # 1564 - None, # 1565 - None, # 1566 - None, # 1567 - None, # 1568 - None, # 1569 - None, # 1570 - None, # 1571 - None, # 1572 - None, # 1573 - None, # 1574 - None, # 1575 - None, # 1576 - None, # 1577 - None, # 1578 - None, # 1579 - None, # 1580 - None, # 1581 - None, # 1582 - None, # 1583 - None, # 1584 - None, # 1585 - None, # 1586 - None, # 1587 - None, # 1588 - None, # 1589 - None, # 1590 - None, # 1591 - None, # 1592 - None, # 1593 - None, # 1594 - None, # 1595 - None, # 1596 - None, # 1597 - None, # 1598 - None, # 1599 - None, # 1600 - None, # 1601 - None, # 1602 - None, # 1603 - None, # 1604 - None, # 1605 - None, # 1606 - None, # 1607 - None, # 1608 - None, # 1609 - None, # 1610 - None, # 1611 - None, # 1612 - None, # 1613 - None, # 1614 - None, # 1615 - None, # 1616 - None, # 1617 - None, # 1618 - None, # 1619 - None, # 1620 - None, # 1621 - None, # 1622 - None, # 1623 - None, # 1624 - None, # 1625 - None, # 1626 - None, # 1627 - None, # 1628 - None, # 1629 - None, # 1630 - None, # 1631 - None, # 1632 - None, # 1633 - None, # 1634 - None, # 1635 - None, # 1636 - None, # 1637 - None, # 1638 - None, # 1639 - None, # 1640 - None, # 1641 - None, # 1642 - None, # 1643 - None, # 1644 - None, # 1645 - None, # 1646 - None, # 1647 - None, # 1648 - None, # 1649 - None, # 1650 - None, # 1651 - None, # 1652 - None, # 1653 - None, # 1654 - None, # 1655 - None, # 1656 - None, # 1657 - None, # 1658 - None, # 1659 - None, # 1660 - None, # 1661 - None, # 1662 - None, # 1663 - None, # 1664 - None, # 1665 - None, # 1666 - None, # 1667 - None, # 1668 - None, # 1669 - None, # 1670 - None, # 1671 - None, # 1672 - None, # 1673 - None, # 1674 - None, # 1675 - None, # 1676 - None, # 1677 - None, # 1678 - None, # 1679 - None, # 1680 - None, # 1681 - None, # 1682 - None, # 1683 - None, # 1684 - None, # 1685 - None, # 1686 - None, # 1687 - None, # 1688 - None, # 1689 - None, # 1690 - None, # 1691 - None, # 1692 - None, # 1693 - None, # 1694 - None, # 1695 - None, # 1696 - None, # 1697 - None, # 1698 - None, # 1699 - None, # 1700 - None, # 1701 - None, # 1702 - None, # 1703 - None, # 1704 - None, # 1705 - None, # 1706 - None, # 1707 - None, # 1708 - None, # 1709 - None, # 1710 - None, # 1711 - None, # 1712 - None, # 1713 - None, # 1714 - None, # 1715 - None, # 1716 - None, # 1717 - None, # 1718 - None, # 1719 - None, # 1720 - None, # 1721 - None, # 1722 - None, # 1723 - None, # 1724 - None, # 1725 - None, # 1726 - None, # 1727 - None, # 1728 - None, # 1729 - None, # 1730 - None, # 1731 - None, # 1732 - None, # 1733 - None, # 1734 - None, # 1735 - None, # 1736 - None, # 1737 - None, # 1738 - None, # 1739 - None, # 1740 - None, # 1741 - None, # 1742 - None, # 1743 - None, # 1744 - None, # 1745 - None, # 1746 - None, # 1747 - None, # 1748 - None, # 1749 - None, # 1750 - None, # 1751 - None, # 1752 - None, # 1753 - None, # 1754 - None, # 1755 - None, # 1756 - None, # 1757 - None, # 1758 - None, # 1759 - None, # 1760 - None, # 1761 - None, # 1762 - None, # 1763 - None, # 1764 - None, # 1765 - None, # 1766 - None, # 1767 - None, # 1768 - None, # 1769 - None, # 1770 - None, # 1771 - None, # 1772 - None, # 1773 - None, # 1774 - None, # 1775 - None, # 1776 - None, # 1777 - None, # 1778 - None, # 1779 - None, # 1780 - None, # 1781 - None, # 1782 - None, # 1783 - None, # 1784 - None, # 1785 - None, # 1786 - None, # 1787 - None, # 1788 - None, # 1789 - None, # 1790 - None, # 1791 - None, # 1792 - None, # 1793 - None, # 1794 - None, # 1795 - None, # 1796 - None, # 1797 - None, # 1798 - None, # 1799 - None, # 1800 - None, # 1801 - None, # 1802 - None, # 1803 - None, # 1804 - None, # 1805 - None, # 1806 - None, # 1807 - None, # 1808 - None, # 1809 - None, # 1810 - None, # 1811 - None, # 1812 - None, # 1813 - None, # 1814 - None, # 1815 - None, # 1816 - None, # 1817 - None, # 1818 - None, # 1819 - None, # 1820 - None, # 1821 - None, # 1822 - None, # 1823 - None, # 1824 - None, # 1825 - None, # 1826 - None, # 1827 - None, # 1828 - None, # 1829 - None, # 1830 - None, # 1831 - None, # 1832 - None, # 1833 - None, # 1834 - None, # 1835 - None, # 1836 - None, # 1837 - None, # 1838 - None, # 1839 - None, # 1840 - None, # 1841 - None, # 1842 - None, # 1843 - None, # 1844 - None, # 1845 - None, # 1846 - None, # 1847 - None, # 1848 - None, # 1849 - None, # 1850 - None, # 1851 - None, # 1852 - None, # 1853 - None, # 1854 - None, # 1855 - None, # 1856 - None, # 1857 - None, # 1858 - None, # 1859 - None, # 1860 - None, # 1861 - None, # 1862 - None, # 1863 - None, # 1864 - None, # 1865 - None, # 1866 - None, # 1867 - None, # 1868 - None, # 1869 - None, # 1870 - None, # 1871 - None, # 1872 - None, # 1873 - None, # 1874 - None, # 1875 - None, # 1876 - None, # 1877 - None, # 1878 - None, # 1879 - None, # 1880 - None, # 1881 - None, # 1882 - None, # 1883 - None, # 1884 - None, # 1885 - None, # 1886 - None, # 1887 - None, # 1888 - None, # 1889 - None, # 1890 - None, # 1891 - None, # 1892 - None, # 1893 - None, # 1894 - None, # 1895 - None, # 1896 - None, # 1897 - None, # 1898 - None, # 1899 - None, # 1900 - None, # 1901 - None, # 1902 - None, # 1903 - None, # 1904 - None, # 1905 - None, # 1906 - None, # 1907 - None, # 1908 - None, # 1909 - None, # 1910 - None, # 1911 - None, # 1912 - None, # 1913 - None, # 1914 - None, # 1915 - None, # 1916 - None, # 1917 - None, # 1918 - None, # 1919 - None, # 1920 - None, # 1921 - None, # 1922 - None, # 1923 - None, # 1924 - None, # 1925 - None, # 1926 - None, # 1927 - None, # 1928 - None, # 1929 - None, # 1930 - None, # 1931 - None, # 1932 - None, # 1933 - None, # 1934 - None, # 1935 - None, # 1936 - None, # 1937 - None, # 1938 - None, # 1939 - None, # 1940 - None, # 1941 - None, # 1942 - None, # 1943 - None, # 1944 - None, # 1945 - None, # 1946 - None, # 1947 - None, # 1948 - None, # 1949 - None, # 1950 - None, # 1951 - None, # 1952 - None, # 1953 - None, # 1954 - None, # 1955 - None, # 1956 - None, # 1957 - None, # 1958 - None, # 1959 - None, # 1960 - None, # 1961 - None, # 1962 - None, # 1963 - None, # 1964 - None, # 1965 - None, # 1966 - None, # 1967 - None, # 1968 - None, # 1969 - None, # 1970 - None, # 1971 - None, # 1972 - None, # 1973 - None, # 1974 - None, # 1975 - None, # 1976 - None, # 1977 - None, # 1978 - None, # 1979 - None, # 1980 - None, # 1981 - None, # 1982 - None, # 1983 - None, # 1984 - None, # 1985 - None, # 1986 - None, # 1987 - None, # 1988 - None, # 1989 - None, # 1990 - None, # 1991 - None, # 1992 - None, # 1993 - None, # 1994 - None, # 1995 - None, # 1996 - None, # 1997 - None, # 1998 - None, # 1999 - None, # 2000 - None, # 2001 - None, # 2002 - None, # 2003 - None, # 2004 - None, # 2005 - None, # 2006 - None, # 2007 - None, # 2008 - None, # 2009 - None, # 2010 - None, # 2011 - None, # 2012 - None, # 2013 - None, # 2014 - None, # 2015 - None, # 2016 - None, # 2017 - None, # 2018 - None, # 2019 - None, # 2020 - None, # 2021 - None, # 2022 - None, # 2023 - None, # 2024 - None, # 2025 - None, # 2026 - None, # 2027 - None, # 2028 - None, # 2029 - None, # 2030 - None, # 2031 - None, # 2032 - None, # 2033 - None, # 2034 - None, # 2035 - None, # 2036 - None, # 2037 - None, # 2038 - None, # 2039 - None, # 2040 - None, # 2041 - None, # 2042 - None, # 2043 - None, # 2044 - None, # 2045 - None, # 2046 - None, # 2047 - None, # 2048 - None, # 2049 - None, # 2050 - None, # 2051 - None, # 2052 - None, # 2053 - None, # 2054 - None, # 2055 - None, # 2056 - None, # 2057 - None, # 2058 - None, # 2059 - None, # 2060 - None, # 2061 - None, # 2062 - None, # 2063 - None, # 2064 - None, # 2065 - None, # 2066 - None, # 2067 - None, # 2068 - None, # 2069 - None, # 2070 - None, # 2071 - None, # 2072 - None, # 2073 - None, # 2074 - None, # 2075 - None, # 2076 - None, # 2077 - None, # 2078 - None, # 2079 - None, # 2080 - None, # 2081 - None, # 2082 - None, # 2083 - None, # 2084 - None, # 2085 - None, # 2086 - None, # 2087 - None, # 2088 - None, # 2089 - None, # 2090 - None, # 2091 - None, # 2092 - None, # 2093 - None, # 2094 - None, # 2095 - None, # 2096 - None, # 2097 - None, # 2098 - None, # 2099 - None, # 2100 - None, # 2101 - None, # 2102 - None, # 2103 - None, # 2104 - None, # 2105 - None, # 2106 - None, # 2107 - None, # 2108 - None, # 2109 - None, # 2110 - None, # 2111 - None, # 2112 - None, # 2113 - None, # 2114 - None, # 2115 - None, # 2116 - None, # 2117 - None, # 2118 - None, # 2119 - None, # 2120 - None, # 2121 - None, # 2122 - None, # 2123 - None, # 2124 - None, # 2125 - None, # 2126 - None, # 2127 - None, # 2128 - None, # 2129 - None, # 2130 - None, # 2131 - None, # 2132 - None, # 2133 - None, # 2134 - None, # 2135 - None, # 2136 - None, # 2137 - None, # 2138 - None, # 2139 - None, # 2140 - None, # 2141 - None, # 2142 - None, # 2143 - None, # 2144 - None, # 2145 - None, # 2146 - None, # 2147 - None, # 2148 - None, # 2149 - None, # 2150 - None, # 2151 - None, # 2152 - None, # 2153 - None, # 2154 - None, # 2155 - None, # 2156 - None, # 2157 - None, # 2158 - None, # 2159 - None, # 2160 - None, # 2161 - None, # 2162 - None, # 2163 - None, # 2164 - None, # 2165 - None, # 2166 - None, # 2167 - None, # 2168 - None, # 2169 - None, # 2170 - None, # 2171 - None, # 2172 - None, # 2173 - None, # 2174 - None, # 2175 - None, # 2176 - None, # 2177 - None, # 2178 - None, # 2179 - None, # 2180 - None, # 2181 - None, # 2182 - None, # 2183 - None, # 2184 - None, # 2185 - None, # 2186 - None, # 2187 - None, # 2188 - None, # 2189 - None, # 2190 - None, # 2191 - None, # 2192 - None, # 2193 - None, # 2194 - None, # 2195 - None, # 2196 - None, # 2197 - None, # 2198 - None, # 2199 - None, # 2200 - None, # 2201 - None, # 2202 - None, # 2203 - None, # 2204 - None, # 2205 - None, # 2206 - None, # 2207 - None, # 2208 - None, # 2209 - None, # 2210 - None, # 2211 - None, # 2212 - None, # 2213 - None, # 2214 - None, # 2215 - None, # 2216 - None, # 2217 - None, # 2218 - None, # 2219 - None, # 2220 - None, # 2221 - None, # 2222 - None, # 2223 - None, # 2224 - None, # 2225 - None, # 2226 - None, # 2227 - None, # 2228 - None, # 2229 - None, # 2230 - None, # 2231 - None, # 2232 - None, # 2233 - None, # 2234 - None, # 2235 - None, # 2236 - None, # 2237 - None, # 2238 - None, # 2239 - None, # 2240 - None, # 2241 - None, # 2242 - None, # 2243 - None, # 2244 - None, # 2245 - None, # 2246 - None, # 2247 - None, # 2248 - None, # 2249 - None, # 2250 - None, # 2251 - None, # 2252 - None, # 2253 - None, # 2254 - None, # 2255 - None, # 2256 - None, # 2257 - None, # 2258 - None, # 2259 - None, # 2260 - None, # 2261 - None, # 2262 - None, # 2263 - None, # 2264 - None, # 2265 - None, # 2266 - None, # 2267 - None, # 2268 - None, # 2269 - None, # 2270 - None, # 2271 - None, # 2272 - None, # 2273 - None, # 2274 - None, # 2275 - None, # 2276 - None, # 2277 - None, # 2278 - None, # 2279 - None, # 2280 - None, # 2281 - None, # 2282 - None, # 2283 - None, # 2284 - None, # 2285 - None, # 2286 - None, # 2287 - None, # 2288 - None, # 2289 - None, # 2290 - None, # 2291 - None, # 2292 - None, # 2293 - None, # 2294 - None, # 2295 - None, # 2296 - None, # 2297 - None, # 2298 - None, # 2299 - None, # 2300 - None, # 2301 - None, # 2302 - None, # 2303 - None, # 2304 - None, # 2305 - None, # 2306 - None, # 2307 - None, # 2308 - None, # 2309 - None, # 2310 - None, # 2311 - None, # 2312 - None, # 2313 - None, # 2314 - None, # 2315 - None, # 2316 - None, # 2317 - None, # 2318 - None, # 2319 - None, # 2320 - None, # 2321 - None, # 2322 - None, # 2323 - None, # 2324 - None, # 2325 - None, # 2326 - None, # 2327 - None, # 2328 - None, # 2329 - None, # 2330 - None, # 2331 - None, # 2332 - None, # 2333 - None, # 2334 - None, # 2335 - None, # 2336 - None, # 2337 - None, # 2338 - None, # 2339 - None, # 2340 - None, # 2341 - None, # 2342 - None, # 2343 - None, # 2344 - None, # 2345 - None, # 2346 - None, # 2347 - None, # 2348 - None, # 2349 - None, # 2350 - None, # 2351 - None, # 2352 - None, # 2353 - None, # 2354 - None, # 2355 - None, # 2356 - None, # 2357 - None, # 2358 - None, # 2359 - None, # 2360 - None, # 2361 - None, # 2362 - None, # 2363 - None, # 2364 - None, # 2365 - None, # 2366 - None, # 2367 - None, # 2368 - None, # 2369 - None, # 2370 - None, # 2371 - None, # 2372 - None, # 2373 - None, # 2374 - None, # 2375 - None, # 2376 - None, # 2377 - None, # 2378 - None, # 2379 - None, # 2380 - None, # 2381 - None, # 2382 - None, # 2383 - None, # 2384 - None, # 2385 - None, # 2386 - None, # 2387 - None, # 2388 - None, # 2389 - None, # 2390 - None, # 2391 - None, # 2392 - None, # 2393 - None, # 2394 - None, # 2395 - None, # 2396 - None, # 2397 - None, # 2398 - None, # 2399 - None, # 2400 - None, # 2401 - None, # 2402 - None, # 2403 - None, # 2404 - None, # 2405 - None, # 2406 - None, # 2407 - None, # 2408 - None, # 2409 - None, # 2410 - None, # 2411 - None, # 2412 - None, # 2413 - None, # 2414 - None, # 2415 - None, # 2416 - None, # 2417 - None, # 2418 - None, # 2419 - None, # 2420 - None, # 2421 - None, # 2422 - None, # 2423 - None, # 2424 - None, # 2425 - None, # 2426 - None, # 2427 - None, # 2428 - None, # 2429 - None, # 2430 - None, # 2431 - None, # 2432 - None, # 2433 - None, # 2434 - None, # 2435 - None, # 2436 - None, # 2437 - None, # 2438 - None, # 2439 - None, # 2440 - None, # 2441 - None, # 2442 - None, # 2443 - None, # 2444 - None, # 2445 - None, # 2446 - None, # 2447 - None, # 2448 - None, # 2449 - None, # 2450 - None, # 2451 - None, # 2452 - None, # 2453 - None, # 2454 - None, # 2455 - None, # 2456 - None, # 2457 - None, # 2458 - None, # 2459 - None, # 2460 - None, # 2461 - None, # 2462 - None, # 2463 - None, # 2464 - None, # 2465 - None, # 2466 - None, # 2467 - None, # 2468 - None, # 2469 - None, # 2470 - None, # 2471 - None, # 2472 - None, # 2473 - None, # 2474 - None, # 2475 - None, # 2476 - None, # 2477 - None, # 2478 - None, # 2479 - None, # 2480 - None, # 2481 - None, # 2482 - None, # 2483 - None, # 2484 - None, # 2485 - None, # 2486 - None, # 2487 - None, # 2488 - None, # 2489 - None, # 2490 - None, # 2491 - None, # 2492 - None, # 2493 - None, # 2494 - None, # 2495 - None, # 2496 - None, # 2497 - None, # 2498 - None, # 2499 - None, # 2500 - None, # 2501 - None, # 2502 - None, # 2503 - None, # 2504 - None, # 2505 - None, # 2506 - None, # 2507 - None, # 2508 - None, # 2509 - None, # 2510 - None, # 2511 - None, # 2512 - None, # 2513 - None, # 2514 - None, # 2515 - None, # 2516 - None, # 2517 - None, # 2518 - None, # 2519 - None, # 2520 - None, # 2521 - None, # 2522 - None, # 2523 - None, # 2524 - None, # 2525 - None, # 2526 - None, # 2527 - None, # 2528 - None, # 2529 - None, # 2530 - None, # 2531 - None, # 2532 - None, # 2533 - None, # 2534 - None, # 2535 - None, # 2536 - None, # 2537 - None, # 2538 - None, # 2539 - None, # 2540 - None, # 2541 - None, # 2542 - None, # 2543 - None, # 2544 - None, # 2545 - None, # 2546 - None, # 2547 - None, # 2548 - None, # 2549 - None, # 2550 - None, # 2551 - None, # 2552 - None, # 2553 - None, # 2554 - None, # 2555 - None, # 2556 - None, # 2557 - None, # 2558 - None, # 2559 - None, # 2560 - None, # 2561 - None, # 2562 - None, # 2563 - None, # 2564 - None, # 2565 - None, # 2566 - None, # 2567 - None, # 2568 - None, # 2569 - None, # 2570 - None, # 2571 - None, # 2572 - None, # 2573 - None, # 2574 - None, # 2575 - None, # 2576 - None, # 2577 - None, # 2578 - None, # 2579 - None, # 2580 - None, # 2581 - None, # 2582 - None, # 2583 - None, # 2584 - None, # 2585 - None, # 2586 - None, # 2587 - None, # 2588 - None, # 2589 - None, # 2590 - None, # 2591 - None, # 2592 - None, # 2593 - None, # 2594 - None, # 2595 - None, # 2596 - None, # 2597 - None, # 2598 - None, # 2599 - None, # 2600 - None, # 2601 - None, # 2602 - None, # 2603 - None, # 2604 - None, # 2605 - None, # 2606 - None, # 2607 - None, # 2608 - None, # 2609 - None, # 2610 - None, # 2611 - None, # 2612 - None, # 2613 - None, # 2614 - None, # 2615 - None, # 2616 - None, # 2617 - None, # 2618 - None, # 2619 - None, # 2620 - None, # 2621 - None, # 2622 - None, # 2623 - None, # 2624 - None, # 2625 - None, # 2626 - None, # 2627 - None, # 2628 - None, # 2629 - None, # 2630 - None, # 2631 - None, # 2632 - None, # 2633 - None, # 2634 - None, # 2635 - None, # 2636 - None, # 2637 - None, # 2638 - None, # 2639 - None, # 2640 - None, # 2641 - None, # 2642 - None, # 2643 - None, # 2644 - None, # 2645 - None, # 2646 - None, # 2647 - None, # 2648 - None, # 2649 - None, # 2650 - None, # 2651 - None, # 2652 - None, # 2653 - None, # 2654 - None, # 2655 - None, # 2656 - None, # 2657 - None, # 2658 - None, # 2659 - None, # 2660 - None, # 2661 - None, # 2662 - None, # 2663 - None, # 2664 - None, # 2665 - None, # 2666 - None, # 2667 - None, # 2668 - None, # 2669 - None, # 2670 - None, # 2671 - None, # 2672 - None, # 2673 - None, # 2674 - None, # 2675 - None, # 2676 - None, # 2677 - None, # 2678 - None, # 2679 - None, # 2680 - None, # 2681 - None, # 2682 - None, # 2683 - None, # 2684 - None, # 2685 - None, # 2686 - None, # 2687 - None, # 2688 - None, # 2689 - None, # 2690 - None, # 2691 - None, # 2692 - None, # 2693 - None, # 2694 - None, # 2695 - None, # 2696 - None, # 2697 - None, # 2698 - None, # 2699 - None, # 2700 - None, # 2701 - None, # 2702 - None, # 2703 - None, # 2704 - None, # 2705 - None, # 2706 - None, # 2707 - None, # 2708 - None, # 2709 - None, # 2710 - None, # 2711 - None, # 2712 - None, # 2713 - None, # 2714 - None, # 2715 - None, # 2716 - None, # 2717 - None, # 2718 - None, # 2719 - None, # 2720 - None, # 2721 - None, # 2722 - None, # 2723 - None, # 2724 - None, # 2725 - None, # 2726 - None, # 2727 - None, # 2728 - None, # 2729 - None, # 2730 - None, # 2731 - None, # 2732 - None, # 2733 - None, # 2734 - None, # 2735 - None, # 2736 - None, # 2737 - None, # 2738 - None, # 2739 - None, # 2740 - None, # 2741 - None, # 2742 - None, # 2743 - None, # 2744 - None, # 2745 - None, # 2746 - None, # 2747 - None, # 2748 - None, # 2749 - None, # 2750 - None, # 2751 - None, # 2752 - None, # 2753 - None, # 2754 - None, # 2755 - None, # 2756 - None, # 2757 - None, # 2758 - None, # 2759 - None, # 2760 - None, # 2761 - None, # 2762 - None, # 2763 - None, # 2764 - None, # 2765 - None, # 2766 - None, # 2767 - None, # 2768 - None, # 2769 - None, # 2770 - None, # 2771 - None, # 2772 - None, # 2773 - None, # 2774 - None, # 2775 - None, # 2776 - None, # 2777 - None, # 2778 - None, # 2779 - None, # 2780 - None, # 2781 - None, # 2782 - None, # 2783 - None, # 2784 - None, # 2785 - None, # 2786 - None, # 2787 - None, # 2788 - None, # 2789 - None, # 2790 - None, # 2791 - None, # 2792 - None, # 2793 - None, # 2794 - None, # 2795 - None, # 2796 - None, # 2797 - None, # 2798 - None, # 2799 - None, # 2800 - None, # 2801 - None, # 2802 - None, # 2803 - None, # 2804 - None, # 2805 - None, # 2806 - None, # 2807 - None, # 2808 - None, # 2809 - None, # 2810 - None, # 2811 - None, # 2812 - None, # 2813 - None, # 2814 - None, # 2815 - None, # 2816 - None, # 2817 - None, # 2818 - None, # 2819 - None, # 2820 - None, # 2821 - None, # 2822 - None, # 2823 - None, # 2824 - None, # 2825 - None, # 2826 - None, # 2827 - None, # 2828 - None, # 2829 - None, # 2830 - None, # 2831 - None, # 2832 - None, # 2833 - None, # 2834 - None, # 2835 - None, # 2836 - None, # 2837 - None, # 2838 - None, # 2839 - None, # 2840 - None, # 2841 - None, # 2842 - None, # 2843 - None, # 2844 - None, # 2845 - None, # 2846 - None, # 2847 - None, # 2848 - None, # 2849 - None, # 2850 - None, # 2851 - None, # 2852 - None, # 2853 - None, # 2854 - None, # 2855 - None, # 2856 - None, # 2857 - None, # 2858 - None, # 2859 - None, # 2860 - None, # 2861 - None, # 2862 - None, # 2863 - None, # 2864 - None, # 2865 - None, # 2866 - None, # 2867 - None, # 2868 - None, # 2869 - None, # 2870 - None, # 2871 - None, # 2872 - None, # 2873 - None, # 2874 - None, # 2875 - None, # 2876 - None, # 2877 - None, # 2878 - None, # 2879 - None, # 2880 - None, # 2881 - None, # 2882 - None, # 2883 - None, # 2884 - None, # 2885 - None, # 2886 - None, # 2887 - None, # 2888 - None, # 2889 - None, # 2890 - None, # 2891 - None, # 2892 - None, # 2893 - None, # 2894 - None, # 2895 - None, # 2896 - None, # 2897 - None, # 2898 - None, # 2899 - None, # 2900 - None, # 2901 - None, # 2902 - None, # 2903 - None, # 2904 - None, # 2905 - None, # 2906 - None, # 2907 - None, # 2908 - None, # 2909 - None, # 2910 - None, # 2911 - None, # 2912 - None, # 2913 - None, # 2914 - None, # 2915 - None, # 2916 - None, # 2917 - None, # 2918 - None, # 2919 - None, # 2920 - None, # 2921 - None, # 2922 - None, # 2923 - None, # 2924 - None, # 2925 - None, # 2926 - None, # 2927 - None, # 2928 - None, # 2929 - None, # 2930 - None, # 2931 - None, # 2932 - None, # 2933 - None, # 2934 - None, # 2935 - None, # 2936 - None, # 2937 - None, # 2938 - None, # 2939 - None, # 2940 - None, # 2941 - None, # 2942 - None, # 2943 - None, # 2944 - None, # 2945 - None, # 2946 - None, # 2947 - None, # 2948 - None, # 2949 - None, # 2950 - None, # 2951 - None, # 2952 - None, # 2953 - None, # 2954 - None, # 2955 - None, # 2956 - None, # 2957 - None, # 2958 - None, # 2959 - None, # 2960 - None, # 2961 - None, # 2962 - None, # 2963 - None, # 2964 - None, # 2965 - None, # 2966 - None, # 2967 - None, # 2968 - None, # 2969 - None, # 2970 - None, # 2971 - None, # 2972 - None, # 2973 - None, # 2974 - None, # 2975 - None, # 2976 - None, # 2977 - None, # 2978 - None, # 2979 - None, # 2980 - None, # 2981 - None, # 2982 - None, # 2983 - None, # 2984 - None, # 2985 - None, # 2986 - None, # 2987 - None, # 2988 - None, # 2989 - None, # 2990 - None, # 2991 - None, # 2992 - None, # 2993 - None, # 2994 - None, # 2995 - None, # 2996 - None, # 2997 - None, # 2998 - None, # 2999 - None, # 3000 - None, # 3001 - None, # 3002 - None, # 3003 - None, # 3004 - None, # 3005 - None, # 3006 - None, # 3007 - None, # 3008 - None, # 3009 - None, # 3010 - None, # 3011 - None, # 3012 - None, # 3013 - None, # 3014 - None, # 3015 - None, # 3016 - None, # 3017 - None, # 3018 - None, # 3019 - None, # 3020 - None, # 3021 - None, # 3022 - None, # 3023 - None, # 3024 - None, # 3025 - None, # 3026 - None, # 3027 - None, # 3028 - None, # 3029 - None, # 3030 - None, # 3031 - None, # 3032 - None, # 3033 - None, # 3034 - None, # 3035 - None, # 3036 - None, # 3037 - None, # 3038 - None, # 3039 - None, # 3040 - None, # 3041 - None, # 3042 - None, # 3043 - None, # 3044 - None, # 3045 - None, # 3046 - None, # 3047 - None, # 3048 - None, # 3049 - None, # 3050 - None, # 3051 - None, # 3052 - None, # 3053 - None, # 3054 - None, # 3055 - None, # 3056 - None, # 3057 - None, # 3058 - None, # 3059 - None, # 3060 - None, # 3061 - None, # 3062 - None, # 3063 - None, # 3064 - None, # 3065 - None, # 3066 - None, # 3067 - None, # 3068 - None, # 3069 - None, # 3070 - None, # 3071 - None, # 3072 - None, # 3073 - None, # 3074 - None, # 3075 - None, # 3076 - None, # 3077 - None, # 3078 - None, # 3079 - None, # 3080 - None, # 3081 - None, # 3082 - None, # 3083 - None, # 3084 - None, # 3085 - None, # 3086 - None, # 3087 - None, # 3088 - None, # 3089 - None, # 3090 - None, # 3091 - None, # 3092 - None, # 3093 - None, # 3094 - None, # 3095 - None, # 3096 - None, # 3097 - None, # 3098 - None, # 3099 - None, # 3100 - None, # 3101 - None, # 3102 - None, # 3103 - None, # 3104 - None, # 3105 - None, # 3106 - None, # 3107 - None, # 3108 - None, # 3109 - None, # 3110 - None, # 3111 - None, # 3112 - None, # 3113 - None, # 3114 - None, # 3115 - None, # 3116 - None, # 3117 - None, # 3118 - None, # 3119 - None, # 3120 - None, # 3121 - None, # 3122 - None, # 3123 - None, # 3124 - None, # 3125 - None, # 3126 - None, # 3127 - None, # 3128 - None, # 3129 - None, # 3130 - None, # 3131 - None, # 3132 - None, # 3133 - None, # 3134 - None, # 3135 - None, # 3136 - None, # 3137 - None, # 3138 - None, # 3139 - None, # 3140 - None, # 3141 - None, # 3142 - None, # 3143 - None, # 3144 - None, # 3145 - None, # 3146 - None, # 3147 - None, # 3148 - None, # 3149 - None, # 3150 - None, # 3151 - None, # 3152 - None, # 3153 - None, # 3154 - None, # 3155 - None, # 3156 - None, # 3157 - None, # 3158 - None, # 3159 - None, # 3160 - None, # 3161 - None, # 3162 - None, # 3163 - None, # 3164 - None, # 3165 - None, # 3166 - None, # 3167 - None, # 3168 - None, # 3169 - None, # 3170 - None, # 3171 - None, # 3172 - None, # 3173 - None, # 3174 - None, # 3175 - None, # 3176 - None, # 3177 - None, # 3178 - None, # 3179 - None, # 3180 - None, # 3181 - None, # 3182 - None, # 3183 - None, # 3184 - None, # 3185 - None, # 3186 - None, # 3187 - None, # 3188 - None, # 3189 - None, # 3190 - None, # 3191 - None, # 3192 - None, # 3193 - None, # 3194 - None, # 3195 - None, # 3196 - None, # 3197 - None, # 3198 - None, # 3199 - None, # 3200 - None, # 3201 - None, # 3202 - None, # 3203 - None, # 3204 - None, # 3205 - None, # 3206 - None, # 3207 - None, # 3208 - None, # 3209 - None, # 3210 - None, # 3211 - None, # 3212 - None, # 3213 - None, # 3214 - None, # 3215 - None, # 3216 - None, # 3217 - None, # 3218 - None, # 3219 - None, # 3220 - None, # 3221 - None, # 3222 - None, # 3223 - None, # 3224 - None, # 3225 - None, # 3226 - None, # 3227 - None, # 3228 - None, # 3229 - None, # 3230 - None, # 3231 - None, # 3232 - None, # 3233 - None, # 3234 - None, # 3235 - None, # 3236 - None, # 3237 - None, # 3238 - None, # 3239 - None, # 3240 - None, # 3241 - None, # 3242 - None, # 3243 - None, # 3244 - None, # 3245 - None, # 3246 - None, # 3247 - None, # 3248 - None, # 3249 - None, # 3250 - None, # 3251 - None, # 3252 - None, # 3253 - None, # 3254 - None, # 3255 - None, # 3256 - None, # 3257 - None, # 3258 - None, # 3259 - None, # 3260 - None, # 3261 - None, # 3262 - None, # 3263 - None, # 3264 - None, # 3265 - None, # 3266 - None, # 3267 - None, # 3268 - None, # 3269 - None, # 3270 - None, # 3271 - None, # 3272 - None, # 3273 - None, # 3274 - None, # 3275 - None, # 3276 - None, # 3277 - None, # 3278 - None, # 3279 - None, # 3280 - None, # 3281 - None, # 3282 - None, # 3283 - None, # 3284 - None, # 3285 - None, # 3286 - None, # 3287 - None, # 3288 - None, # 3289 - None, # 3290 - None, # 3291 - None, # 3292 - None, # 3293 - None, # 3294 - None, # 3295 - None, # 3296 - None, # 3297 - None, # 3298 - None, # 3299 - None, # 3300 - None, # 3301 - None, # 3302 - None, # 3303 - None, # 3304 - None, # 3305 - None, # 3306 - None, # 3307 - None, # 3308 - None, # 3309 - None, # 3310 - None, # 3311 - None, # 3312 - None, # 3313 - None, # 3314 - None, # 3315 - None, # 3316 - None, # 3317 - None, # 3318 - None, # 3319 - None, # 3320 - None, # 3321 - None, # 3322 - None, # 3323 - None, # 3324 - None, # 3325 - None, # 3326 - None, # 3327 - None, # 3328 - (3329, TType.STRING, 'responseValidation', 'BINARY', None, ), # 3329 + None, # 0 + (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 + (2, TType.BOOL, 'hasMoreRows', None, None, ), # 2 + (3, TType.STRUCT, 'results', [TRowSet, None], None, ), # 3 + None, # 4 + None, # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + (1281, TType.STRUCT, 'resultSetMetadata', [TGetResultSetMetadataResp, None], None, ), # 1281 + None, # 1282 + None, # 1283 + None, # 1284 + None, # 1285 + None, # 1286 + None, # 1287 + None, # 1288 + None, # 1289 + None, # 1290 + None, # 1291 + None, # 1292 + None, # 1293 + None, # 1294 + None, # 1295 + None, # 1296 + None, # 1297 + None, # 1298 + None, # 1299 + None, # 1300 + None, # 1301 + None, # 1302 + None, # 1303 + None, # 1304 + None, # 1305 + None, # 1306 + None, # 1307 + None, # 1308 + None, # 1309 + None, # 1310 + None, # 1311 + None, # 1312 + None, # 1313 + None, # 1314 + None, # 1315 + None, # 1316 + None, # 1317 + None, # 1318 + None, # 1319 + None, # 1320 + None, # 1321 + None, # 1322 + None, # 1323 + None, # 1324 + None, # 1325 + None, # 1326 + None, # 1327 + None, # 1328 + None, # 1329 + None, # 1330 + None, # 1331 + None, # 1332 + None, # 1333 + None, # 1334 + None, # 1335 + None, # 1336 + None, # 1337 + None, # 1338 + None, # 1339 + None, # 1340 + None, # 1341 + None, # 1342 + None, # 1343 + None, # 1344 + None, # 1345 + None, # 1346 + None, # 1347 + None, # 1348 + None, # 1349 + None, # 1350 + None, # 1351 + None, # 1352 + None, # 1353 + None, # 1354 + None, # 1355 + None, # 1356 + None, # 1357 + None, # 1358 + None, # 1359 + None, # 1360 + None, # 1361 + None, # 1362 + None, # 1363 + None, # 1364 + None, # 1365 + None, # 1366 + None, # 1367 + None, # 1368 + None, # 1369 + None, # 1370 + None, # 1371 + None, # 1372 + None, # 1373 + None, # 1374 + None, # 1375 + None, # 1376 + None, # 1377 + None, # 1378 + None, # 1379 + None, # 1380 + None, # 1381 + None, # 1382 + None, # 1383 + None, # 1384 + None, # 1385 + None, # 1386 + None, # 1387 + None, # 1388 + None, # 1389 + None, # 1390 + None, # 1391 + None, # 1392 + None, # 1393 + None, # 1394 + None, # 1395 + None, # 1396 + None, # 1397 + None, # 1398 + None, # 1399 + None, # 1400 + None, # 1401 + None, # 1402 + None, # 1403 + None, # 1404 + None, # 1405 + None, # 1406 + None, # 1407 + None, # 1408 + None, # 1409 + None, # 1410 + None, # 1411 + None, # 1412 + None, # 1413 + None, # 1414 + None, # 1415 + None, # 1416 + None, # 1417 + None, # 1418 + None, # 1419 + None, # 1420 + None, # 1421 + None, # 1422 + None, # 1423 + None, # 1424 + None, # 1425 + None, # 1426 + None, # 1427 + None, # 1428 + None, # 1429 + None, # 1430 + None, # 1431 + None, # 1432 + None, # 1433 + None, # 1434 + None, # 1435 + None, # 1436 + None, # 1437 + None, # 1438 + None, # 1439 + None, # 1440 + None, # 1441 + None, # 1442 + None, # 1443 + None, # 1444 + None, # 1445 + None, # 1446 + None, # 1447 + None, # 1448 + None, # 1449 + None, # 1450 + None, # 1451 + None, # 1452 + None, # 1453 + None, # 1454 + None, # 1455 + None, # 1456 + None, # 1457 + None, # 1458 + None, # 1459 + None, # 1460 + None, # 1461 + None, # 1462 + None, # 1463 + None, # 1464 + None, # 1465 + None, # 1466 + None, # 1467 + None, # 1468 + None, # 1469 + None, # 1470 + None, # 1471 + None, # 1472 + None, # 1473 + None, # 1474 + None, # 1475 + None, # 1476 + None, # 1477 + None, # 1478 + None, # 1479 + None, # 1480 + None, # 1481 + None, # 1482 + None, # 1483 + None, # 1484 + None, # 1485 + None, # 1486 + None, # 1487 + None, # 1488 + None, # 1489 + None, # 1490 + None, # 1491 + None, # 1492 + None, # 1493 + None, # 1494 + None, # 1495 + None, # 1496 + None, # 1497 + None, # 1498 + None, # 1499 + None, # 1500 + None, # 1501 + None, # 1502 + None, # 1503 + None, # 1504 + None, # 1505 + None, # 1506 + None, # 1507 + None, # 1508 + None, # 1509 + None, # 1510 + None, # 1511 + None, # 1512 + None, # 1513 + None, # 1514 + None, # 1515 + None, # 1516 + None, # 1517 + None, # 1518 + None, # 1519 + None, # 1520 + None, # 1521 + None, # 1522 + None, # 1523 + None, # 1524 + None, # 1525 + None, # 1526 + None, # 1527 + None, # 1528 + None, # 1529 + None, # 1530 + None, # 1531 + None, # 1532 + None, # 1533 + None, # 1534 + None, # 1535 + None, # 1536 + None, # 1537 + None, # 1538 + None, # 1539 + None, # 1540 + None, # 1541 + None, # 1542 + None, # 1543 + None, # 1544 + None, # 1545 + None, # 1546 + None, # 1547 + None, # 1548 + None, # 1549 + None, # 1550 + None, # 1551 + None, # 1552 + None, # 1553 + None, # 1554 + None, # 1555 + None, # 1556 + None, # 1557 + None, # 1558 + None, # 1559 + None, # 1560 + None, # 1561 + None, # 1562 + None, # 1563 + None, # 1564 + None, # 1565 + None, # 1566 + None, # 1567 + None, # 1568 + None, # 1569 + None, # 1570 + None, # 1571 + None, # 1572 + None, # 1573 + None, # 1574 + None, # 1575 + None, # 1576 + None, # 1577 + None, # 1578 + None, # 1579 + None, # 1580 + None, # 1581 + None, # 1582 + None, # 1583 + None, # 1584 + None, # 1585 + None, # 1586 + None, # 1587 + None, # 1588 + None, # 1589 + None, # 1590 + None, # 1591 + None, # 1592 + None, # 1593 + None, # 1594 + None, # 1595 + None, # 1596 + None, # 1597 + None, # 1598 + None, # 1599 + None, # 1600 + None, # 1601 + None, # 1602 + None, # 1603 + None, # 1604 + None, # 1605 + None, # 1606 + None, # 1607 + None, # 1608 + None, # 1609 + None, # 1610 + None, # 1611 + None, # 1612 + None, # 1613 + None, # 1614 + None, # 1615 + None, # 1616 + None, # 1617 + None, # 1618 + None, # 1619 + None, # 1620 + None, # 1621 + None, # 1622 + None, # 1623 + None, # 1624 + None, # 1625 + None, # 1626 + None, # 1627 + None, # 1628 + None, # 1629 + None, # 1630 + None, # 1631 + None, # 1632 + None, # 1633 + None, # 1634 + None, # 1635 + None, # 1636 + None, # 1637 + None, # 1638 + None, # 1639 + None, # 1640 + None, # 1641 + None, # 1642 + None, # 1643 + None, # 1644 + None, # 1645 + None, # 1646 + None, # 1647 + None, # 1648 + None, # 1649 + None, # 1650 + None, # 1651 + None, # 1652 + None, # 1653 + None, # 1654 + None, # 1655 + None, # 1656 + None, # 1657 + None, # 1658 + None, # 1659 + None, # 1660 + None, # 1661 + None, # 1662 + None, # 1663 + None, # 1664 + None, # 1665 + None, # 1666 + None, # 1667 + None, # 1668 + None, # 1669 + None, # 1670 + None, # 1671 + None, # 1672 + None, # 1673 + None, # 1674 + None, # 1675 + None, # 1676 + None, # 1677 + None, # 1678 + None, # 1679 + None, # 1680 + None, # 1681 + None, # 1682 + None, # 1683 + None, # 1684 + None, # 1685 + None, # 1686 + None, # 1687 + None, # 1688 + None, # 1689 + None, # 1690 + None, # 1691 + None, # 1692 + None, # 1693 + None, # 1694 + None, # 1695 + None, # 1696 + None, # 1697 + None, # 1698 + None, # 1699 + None, # 1700 + None, # 1701 + None, # 1702 + None, # 1703 + None, # 1704 + None, # 1705 + None, # 1706 + None, # 1707 + None, # 1708 + None, # 1709 + None, # 1710 + None, # 1711 + None, # 1712 + None, # 1713 + None, # 1714 + None, # 1715 + None, # 1716 + None, # 1717 + None, # 1718 + None, # 1719 + None, # 1720 + None, # 1721 + None, # 1722 + None, # 1723 + None, # 1724 + None, # 1725 + None, # 1726 + None, # 1727 + None, # 1728 + None, # 1729 + None, # 1730 + None, # 1731 + None, # 1732 + None, # 1733 + None, # 1734 + None, # 1735 + None, # 1736 + None, # 1737 + None, # 1738 + None, # 1739 + None, # 1740 + None, # 1741 + None, # 1742 + None, # 1743 + None, # 1744 + None, # 1745 + None, # 1746 + None, # 1747 + None, # 1748 + None, # 1749 + None, # 1750 + None, # 1751 + None, # 1752 + None, # 1753 + None, # 1754 + None, # 1755 + None, # 1756 + None, # 1757 + None, # 1758 + None, # 1759 + None, # 1760 + None, # 1761 + None, # 1762 + None, # 1763 + None, # 1764 + None, # 1765 + None, # 1766 + None, # 1767 + None, # 1768 + None, # 1769 + None, # 1770 + None, # 1771 + None, # 1772 + None, # 1773 + None, # 1774 + None, # 1775 + None, # 1776 + None, # 1777 + None, # 1778 + None, # 1779 + None, # 1780 + None, # 1781 + None, # 1782 + None, # 1783 + None, # 1784 + None, # 1785 + None, # 1786 + None, # 1787 + None, # 1788 + None, # 1789 + None, # 1790 + None, # 1791 + None, # 1792 + None, # 1793 + None, # 1794 + None, # 1795 + None, # 1796 + None, # 1797 + None, # 1798 + None, # 1799 + None, # 1800 + None, # 1801 + None, # 1802 + None, # 1803 + None, # 1804 + None, # 1805 + None, # 1806 + None, # 1807 + None, # 1808 + None, # 1809 + None, # 1810 + None, # 1811 + None, # 1812 + None, # 1813 + None, # 1814 + None, # 1815 + None, # 1816 + None, # 1817 + None, # 1818 + None, # 1819 + None, # 1820 + None, # 1821 + None, # 1822 + None, # 1823 + None, # 1824 + None, # 1825 + None, # 1826 + None, # 1827 + None, # 1828 + None, # 1829 + None, # 1830 + None, # 1831 + None, # 1832 + None, # 1833 + None, # 1834 + None, # 1835 + None, # 1836 + None, # 1837 + None, # 1838 + None, # 1839 + None, # 1840 + None, # 1841 + None, # 1842 + None, # 1843 + None, # 1844 + None, # 1845 + None, # 1846 + None, # 1847 + None, # 1848 + None, # 1849 + None, # 1850 + None, # 1851 + None, # 1852 + None, # 1853 + None, # 1854 + None, # 1855 + None, # 1856 + None, # 1857 + None, # 1858 + None, # 1859 + None, # 1860 + None, # 1861 + None, # 1862 + None, # 1863 + None, # 1864 + None, # 1865 + None, # 1866 + None, # 1867 + None, # 1868 + None, # 1869 + None, # 1870 + None, # 1871 + None, # 1872 + None, # 1873 + None, # 1874 + None, # 1875 + None, # 1876 + None, # 1877 + None, # 1878 + None, # 1879 + None, # 1880 + None, # 1881 + None, # 1882 + None, # 1883 + None, # 1884 + None, # 1885 + None, # 1886 + None, # 1887 + None, # 1888 + None, # 1889 + None, # 1890 + None, # 1891 + None, # 1892 + None, # 1893 + None, # 1894 + None, # 1895 + None, # 1896 + None, # 1897 + None, # 1898 + None, # 1899 + None, # 1900 + None, # 1901 + None, # 1902 + None, # 1903 + None, # 1904 + None, # 1905 + None, # 1906 + None, # 1907 + None, # 1908 + None, # 1909 + None, # 1910 + None, # 1911 + None, # 1912 + None, # 1913 + None, # 1914 + None, # 1915 + None, # 1916 + None, # 1917 + None, # 1918 + None, # 1919 + None, # 1920 + None, # 1921 + None, # 1922 + None, # 1923 + None, # 1924 + None, # 1925 + None, # 1926 + None, # 1927 + None, # 1928 + None, # 1929 + None, # 1930 + None, # 1931 + None, # 1932 + None, # 1933 + None, # 1934 + None, # 1935 + None, # 1936 + None, # 1937 + None, # 1938 + None, # 1939 + None, # 1940 + None, # 1941 + None, # 1942 + None, # 1943 + None, # 1944 + None, # 1945 + None, # 1946 + None, # 1947 + None, # 1948 + None, # 1949 + None, # 1950 + None, # 1951 + None, # 1952 + None, # 1953 + None, # 1954 + None, # 1955 + None, # 1956 + None, # 1957 + None, # 1958 + None, # 1959 + None, # 1960 + None, # 1961 + None, # 1962 + None, # 1963 + None, # 1964 + None, # 1965 + None, # 1966 + None, # 1967 + None, # 1968 + None, # 1969 + None, # 1970 + None, # 1971 + None, # 1972 + None, # 1973 + None, # 1974 + None, # 1975 + None, # 1976 + None, # 1977 + None, # 1978 + None, # 1979 + None, # 1980 + None, # 1981 + None, # 1982 + None, # 1983 + None, # 1984 + None, # 1985 + None, # 1986 + None, # 1987 + None, # 1988 + None, # 1989 + None, # 1990 + None, # 1991 + None, # 1992 + None, # 1993 + None, # 1994 + None, # 1995 + None, # 1996 + None, # 1997 + None, # 1998 + None, # 1999 + None, # 2000 + None, # 2001 + None, # 2002 + None, # 2003 + None, # 2004 + None, # 2005 + None, # 2006 + None, # 2007 + None, # 2008 + None, # 2009 + None, # 2010 + None, # 2011 + None, # 2012 + None, # 2013 + None, # 2014 + None, # 2015 + None, # 2016 + None, # 2017 + None, # 2018 + None, # 2019 + None, # 2020 + None, # 2021 + None, # 2022 + None, # 2023 + None, # 2024 + None, # 2025 + None, # 2026 + None, # 2027 + None, # 2028 + None, # 2029 + None, # 2030 + None, # 2031 + None, # 2032 + None, # 2033 + None, # 2034 + None, # 2035 + None, # 2036 + None, # 2037 + None, # 2038 + None, # 2039 + None, # 2040 + None, # 2041 + None, # 2042 + None, # 2043 + None, # 2044 + None, # 2045 + None, # 2046 + None, # 2047 + None, # 2048 + None, # 2049 + None, # 2050 + None, # 2051 + None, # 2052 + None, # 2053 + None, # 2054 + None, # 2055 + None, # 2056 + None, # 2057 + None, # 2058 + None, # 2059 + None, # 2060 + None, # 2061 + None, # 2062 + None, # 2063 + None, # 2064 + None, # 2065 + None, # 2066 + None, # 2067 + None, # 2068 + None, # 2069 + None, # 2070 + None, # 2071 + None, # 2072 + None, # 2073 + None, # 2074 + None, # 2075 + None, # 2076 + None, # 2077 + None, # 2078 + None, # 2079 + None, # 2080 + None, # 2081 + None, # 2082 + None, # 2083 + None, # 2084 + None, # 2085 + None, # 2086 + None, # 2087 + None, # 2088 + None, # 2089 + None, # 2090 + None, # 2091 + None, # 2092 + None, # 2093 + None, # 2094 + None, # 2095 + None, # 2096 + None, # 2097 + None, # 2098 + None, # 2099 + None, # 2100 + None, # 2101 + None, # 2102 + None, # 2103 + None, # 2104 + None, # 2105 + None, # 2106 + None, # 2107 + None, # 2108 + None, # 2109 + None, # 2110 + None, # 2111 + None, # 2112 + None, # 2113 + None, # 2114 + None, # 2115 + None, # 2116 + None, # 2117 + None, # 2118 + None, # 2119 + None, # 2120 + None, # 2121 + None, # 2122 + None, # 2123 + None, # 2124 + None, # 2125 + None, # 2126 + None, # 2127 + None, # 2128 + None, # 2129 + None, # 2130 + None, # 2131 + None, # 2132 + None, # 2133 + None, # 2134 + None, # 2135 + None, # 2136 + None, # 2137 + None, # 2138 + None, # 2139 + None, # 2140 + None, # 2141 + None, # 2142 + None, # 2143 + None, # 2144 + None, # 2145 + None, # 2146 + None, # 2147 + None, # 2148 + None, # 2149 + None, # 2150 + None, # 2151 + None, # 2152 + None, # 2153 + None, # 2154 + None, # 2155 + None, # 2156 + None, # 2157 + None, # 2158 + None, # 2159 + None, # 2160 + None, # 2161 + None, # 2162 + None, # 2163 + None, # 2164 + None, # 2165 + None, # 2166 + None, # 2167 + None, # 2168 + None, # 2169 + None, # 2170 + None, # 2171 + None, # 2172 + None, # 2173 + None, # 2174 + None, # 2175 + None, # 2176 + None, # 2177 + None, # 2178 + None, # 2179 + None, # 2180 + None, # 2181 + None, # 2182 + None, # 2183 + None, # 2184 + None, # 2185 + None, # 2186 + None, # 2187 + None, # 2188 + None, # 2189 + None, # 2190 + None, # 2191 + None, # 2192 + None, # 2193 + None, # 2194 + None, # 2195 + None, # 2196 + None, # 2197 + None, # 2198 + None, # 2199 + None, # 2200 + None, # 2201 + None, # 2202 + None, # 2203 + None, # 2204 + None, # 2205 + None, # 2206 + None, # 2207 + None, # 2208 + None, # 2209 + None, # 2210 + None, # 2211 + None, # 2212 + None, # 2213 + None, # 2214 + None, # 2215 + None, # 2216 + None, # 2217 + None, # 2218 + None, # 2219 + None, # 2220 + None, # 2221 + None, # 2222 + None, # 2223 + None, # 2224 + None, # 2225 + None, # 2226 + None, # 2227 + None, # 2228 + None, # 2229 + None, # 2230 + None, # 2231 + None, # 2232 + None, # 2233 + None, # 2234 + None, # 2235 + None, # 2236 + None, # 2237 + None, # 2238 + None, # 2239 + None, # 2240 + None, # 2241 + None, # 2242 + None, # 2243 + None, # 2244 + None, # 2245 + None, # 2246 + None, # 2247 + None, # 2248 + None, # 2249 + None, # 2250 + None, # 2251 + None, # 2252 + None, # 2253 + None, # 2254 + None, # 2255 + None, # 2256 + None, # 2257 + None, # 2258 + None, # 2259 + None, # 2260 + None, # 2261 + None, # 2262 + None, # 2263 + None, # 2264 + None, # 2265 + None, # 2266 + None, # 2267 + None, # 2268 + None, # 2269 + None, # 2270 + None, # 2271 + None, # 2272 + None, # 2273 + None, # 2274 + None, # 2275 + None, # 2276 + None, # 2277 + None, # 2278 + None, # 2279 + None, # 2280 + None, # 2281 + None, # 2282 + None, # 2283 + None, # 2284 + None, # 2285 + None, # 2286 + None, # 2287 + None, # 2288 + None, # 2289 + None, # 2290 + None, # 2291 + None, # 2292 + None, # 2293 + None, # 2294 + None, # 2295 + None, # 2296 + None, # 2297 + None, # 2298 + None, # 2299 + None, # 2300 + None, # 2301 + None, # 2302 + None, # 2303 + None, # 2304 + None, # 2305 + None, # 2306 + None, # 2307 + None, # 2308 + None, # 2309 + None, # 2310 + None, # 2311 + None, # 2312 + None, # 2313 + None, # 2314 + None, # 2315 + None, # 2316 + None, # 2317 + None, # 2318 + None, # 2319 + None, # 2320 + None, # 2321 + None, # 2322 + None, # 2323 + None, # 2324 + None, # 2325 + None, # 2326 + None, # 2327 + None, # 2328 + None, # 2329 + None, # 2330 + None, # 2331 + None, # 2332 + None, # 2333 + None, # 2334 + None, # 2335 + None, # 2336 + None, # 2337 + None, # 2338 + None, # 2339 + None, # 2340 + None, # 2341 + None, # 2342 + None, # 2343 + None, # 2344 + None, # 2345 + None, # 2346 + None, # 2347 + None, # 2348 + None, # 2349 + None, # 2350 + None, # 2351 + None, # 2352 + None, # 2353 + None, # 2354 + None, # 2355 + None, # 2356 + None, # 2357 + None, # 2358 + None, # 2359 + None, # 2360 + None, # 2361 + None, # 2362 + None, # 2363 + None, # 2364 + None, # 2365 + None, # 2366 + None, # 2367 + None, # 2368 + None, # 2369 + None, # 2370 + None, # 2371 + None, # 2372 + None, # 2373 + None, # 2374 + None, # 2375 + None, # 2376 + None, # 2377 + None, # 2378 + None, # 2379 + None, # 2380 + None, # 2381 + None, # 2382 + None, # 2383 + None, # 2384 + None, # 2385 + None, # 2386 + None, # 2387 + None, # 2388 + None, # 2389 + None, # 2390 + None, # 2391 + None, # 2392 + None, # 2393 + None, # 2394 + None, # 2395 + None, # 2396 + None, # 2397 + None, # 2398 + None, # 2399 + None, # 2400 + None, # 2401 + None, # 2402 + None, # 2403 + None, # 2404 + None, # 2405 + None, # 2406 + None, # 2407 + None, # 2408 + None, # 2409 + None, # 2410 + None, # 2411 + None, # 2412 + None, # 2413 + None, # 2414 + None, # 2415 + None, # 2416 + None, # 2417 + None, # 2418 + None, # 2419 + None, # 2420 + None, # 2421 + None, # 2422 + None, # 2423 + None, # 2424 + None, # 2425 + None, # 2426 + None, # 2427 + None, # 2428 + None, # 2429 + None, # 2430 + None, # 2431 + None, # 2432 + None, # 2433 + None, # 2434 + None, # 2435 + None, # 2436 + None, # 2437 + None, # 2438 + None, # 2439 + None, # 2440 + None, # 2441 + None, # 2442 + None, # 2443 + None, # 2444 + None, # 2445 + None, # 2446 + None, # 2447 + None, # 2448 + None, # 2449 + None, # 2450 + None, # 2451 + None, # 2452 + None, # 2453 + None, # 2454 + None, # 2455 + None, # 2456 + None, # 2457 + None, # 2458 + None, # 2459 + None, # 2460 + None, # 2461 + None, # 2462 + None, # 2463 + None, # 2464 + None, # 2465 + None, # 2466 + None, # 2467 + None, # 2468 + None, # 2469 + None, # 2470 + None, # 2471 + None, # 2472 + None, # 2473 + None, # 2474 + None, # 2475 + None, # 2476 + None, # 2477 + None, # 2478 + None, # 2479 + None, # 2480 + None, # 2481 + None, # 2482 + None, # 2483 + None, # 2484 + None, # 2485 + None, # 2486 + None, # 2487 + None, # 2488 + None, # 2489 + None, # 2490 + None, # 2491 + None, # 2492 + None, # 2493 + None, # 2494 + None, # 2495 + None, # 2496 + None, # 2497 + None, # 2498 + None, # 2499 + None, # 2500 + None, # 2501 + None, # 2502 + None, # 2503 + None, # 2504 + None, # 2505 + None, # 2506 + None, # 2507 + None, # 2508 + None, # 2509 + None, # 2510 + None, # 2511 + None, # 2512 + None, # 2513 + None, # 2514 + None, # 2515 + None, # 2516 + None, # 2517 + None, # 2518 + None, # 2519 + None, # 2520 + None, # 2521 + None, # 2522 + None, # 2523 + None, # 2524 + None, # 2525 + None, # 2526 + None, # 2527 + None, # 2528 + None, # 2529 + None, # 2530 + None, # 2531 + None, # 2532 + None, # 2533 + None, # 2534 + None, # 2535 + None, # 2536 + None, # 2537 + None, # 2538 + None, # 2539 + None, # 2540 + None, # 2541 + None, # 2542 + None, # 2543 + None, # 2544 + None, # 2545 + None, # 2546 + None, # 2547 + None, # 2548 + None, # 2549 + None, # 2550 + None, # 2551 + None, # 2552 + None, # 2553 + None, # 2554 + None, # 2555 + None, # 2556 + None, # 2557 + None, # 2558 + None, # 2559 + None, # 2560 + None, # 2561 + None, # 2562 + None, # 2563 + None, # 2564 + None, # 2565 + None, # 2566 + None, # 2567 + None, # 2568 + None, # 2569 + None, # 2570 + None, # 2571 + None, # 2572 + None, # 2573 + None, # 2574 + None, # 2575 + None, # 2576 + None, # 2577 + None, # 2578 + None, # 2579 + None, # 2580 + None, # 2581 + None, # 2582 + None, # 2583 + None, # 2584 + None, # 2585 + None, # 2586 + None, # 2587 + None, # 2588 + None, # 2589 + None, # 2590 + None, # 2591 + None, # 2592 + None, # 2593 + None, # 2594 + None, # 2595 + None, # 2596 + None, # 2597 + None, # 2598 + None, # 2599 + None, # 2600 + None, # 2601 + None, # 2602 + None, # 2603 + None, # 2604 + None, # 2605 + None, # 2606 + None, # 2607 + None, # 2608 + None, # 2609 + None, # 2610 + None, # 2611 + None, # 2612 + None, # 2613 + None, # 2614 + None, # 2615 + None, # 2616 + None, # 2617 + None, # 2618 + None, # 2619 + None, # 2620 + None, # 2621 + None, # 2622 + None, # 2623 + None, # 2624 + None, # 2625 + None, # 2626 + None, # 2627 + None, # 2628 + None, # 2629 + None, # 2630 + None, # 2631 + None, # 2632 + None, # 2633 + None, # 2634 + None, # 2635 + None, # 2636 + None, # 2637 + None, # 2638 + None, # 2639 + None, # 2640 + None, # 2641 + None, # 2642 + None, # 2643 + None, # 2644 + None, # 2645 + None, # 2646 + None, # 2647 + None, # 2648 + None, # 2649 + None, # 2650 + None, # 2651 + None, # 2652 + None, # 2653 + None, # 2654 + None, # 2655 + None, # 2656 + None, # 2657 + None, # 2658 + None, # 2659 + None, # 2660 + None, # 2661 + None, # 2662 + None, # 2663 + None, # 2664 + None, # 2665 + None, # 2666 + None, # 2667 + None, # 2668 + None, # 2669 + None, # 2670 + None, # 2671 + None, # 2672 + None, # 2673 + None, # 2674 + None, # 2675 + None, # 2676 + None, # 2677 + None, # 2678 + None, # 2679 + None, # 2680 + None, # 2681 + None, # 2682 + None, # 2683 + None, # 2684 + None, # 2685 + None, # 2686 + None, # 2687 + None, # 2688 + None, # 2689 + None, # 2690 + None, # 2691 + None, # 2692 + None, # 2693 + None, # 2694 + None, # 2695 + None, # 2696 + None, # 2697 + None, # 2698 + None, # 2699 + None, # 2700 + None, # 2701 + None, # 2702 + None, # 2703 + None, # 2704 + None, # 2705 + None, # 2706 + None, # 2707 + None, # 2708 + None, # 2709 + None, # 2710 + None, # 2711 + None, # 2712 + None, # 2713 + None, # 2714 + None, # 2715 + None, # 2716 + None, # 2717 + None, # 2718 + None, # 2719 + None, # 2720 + None, # 2721 + None, # 2722 + None, # 2723 + None, # 2724 + None, # 2725 + None, # 2726 + None, # 2727 + None, # 2728 + None, # 2729 + None, # 2730 + None, # 2731 + None, # 2732 + None, # 2733 + None, # 2734 + None, # 2735 + None, # 2736 + None, # 2737 + None, # 2738 + None, # 2739 + None, # 2740 + None, # 2741 + None, # 2742 + None, # 2743 + None, # 2744 + None, # 2745 + None, # 2746 + None, # 2747 + None, # 2748 + None, # 2749 + None, # 2750 + None, # 2751 + None, # 2752 + None, # 2753 + None, # 2754 + None, # 2755 + None, # 2756 + None, # 2757 + None, # 2758 + None, # 2759 + None, # 2760 + None, # 2761 + None, # 2762 + None, # 2763 + None, # 2764 + None, # 2765 + None, # 2766 + None, # 2767 + None, # 2768 + None, # 2769 + None, # 2770 + None, # 2771 + None, # 2772 + None, # 2773 + None, # 2774 + None, # 2775 + None, # 2776 + None, # 2777 + None, # 2778 + None, # 2779 + None, # 2780 + None, # 2781 + None, # 2782 + None, # 2783 + None, # 2784 + None, # 2785 + None, # 2786 + None, # 2787 + None, # 2788 + None, # 2789 + None, # 2790 + None, # 2791 + None, # 2792 + None, # 2793 + None, # 2794 + None, # 2795 + None, # 2796 + None, # 2797 + None, # 2798 + None, # 2799 + None, # 2800 + None, # 2801 + None, # 2802 + None, # 2803 + None, # 2804 + None, # 2805 + None, # 2806 + None, # 2807 + None, # 2808 + None, # 2809 + None, # 2810 + None, # 2811 + None, # 2812 + None, # 2813 + None, # 2814 + None, # 2815 + None, # 2816 + None, # 2817 + None, # 2818 + None, # 2819 + None, # 2820 + None, # 2821 + None, # 2822 + None, # 2823 + None, # 2824 + None, # 2825 + None, # 2826 + None, # 2827 + None, # 2828 + None, # 2829 + None, # 2830 + None, # 2831 + None, # 2832 + None, # 2833 + None, # 2834 + None, # 2835 + None, # 2836 + None, # 2837 + None, # 2838 + None, # 2839 + None, # 2840 + None, # 2841 + None, # 2842 + None, # 2843 + None, # 2844 + None, # 2845 + None, # 2846 + None, # 2847 + None, # 2848 + None, # 2849 + None, # 2850 + None, # 2851 + None, # 2852 + None, # 2853 + None, # 2854 + None, # 2855 + None, # 2856 + None, # 2857 + None, # 2858 + None, # 2859 + None, # 2860 + None, # 2861 + None, # 2862 + None, # 2863 + None, # 2864 + None, # 2865 + None, # 2866 + None, # 2867 + None, # 2868 + None, # 2869 + None, # 2870 + None, # 2871 + None, # 2872 + None, # 2873 + None, # 2874 + None, # 2875 + None, # 2876 + None, # 2877 + None, # 2878 + None, # 2879 + None, # 2880 + None, # 2881 + None, # 2882 + None, # 2883 + None, # 2884 + None, # 2885 + None, # 2886 + None, # 2887 + None, # 2888 + None, # 2889 + None, # 2890 + None, # 2891 + None, # 2892 + None, # 2893 + None, # 2894 + None, # 2895 + None, # 2896 + None, # 2897 + None, # 2898 + None, # 2899 + None, # 2900 + None, # 2901 + None, # 2902 + None, # 2903 + None, # 2904 + None, # 2905 + None, # 2906 + None, # 2907 + None, # 2908 + None, # 2909 + None, # 2910 + None, # 2911 + None, # 2912 + None, # 2913 + None, # 2914 + None, # 2915 + None, # 2916 + None, # 2917 + None, # 2918 + None, # 2919 + None, # 2920 + None, # 2921 + None, # 2922 + None, # 2923 + None, # 2924 + None, # 2925 + None, # 2926 + None, # 2927 + None, # 2928 + None, # 2929 + None, # 2930 + None, # 2931 + None, # 2932 + None, # 2933 + None, # 2934 + None, # 2935 + None, # 2936 + None, # 2937 + None, # 2938 + None, # 2939 + None, # 2940 + None, # 2941 + None, # 2942 + None, # 2943 + None, # 2944 + None, # 2945 + None, # 2946 + None, # 2947 + None, # 2948 + None, # 2949 + None, # 2950 + None, # 2951 + None, # 2952 + None, # 2953 + None, # 2954 + None, # 2955 + None, # 2956 + None, # 2957 + None, # 2958 + None, # 2959 + None, # 2960 + None, # 2961 + None, # 2962 + None, # 2963 + None, # 2964 + None, # 2965 + None, # 2966 + None, # 2967 + None, # 2968 + None, # 2969 + None, # 2970 + None, # 2971 + None, # 2972 + None, # 2973 + None, # 2974 + None, # 2975 + None, # 2976 + None, # 2977 + None, # 2978 + None, # 2979 + None, # 2980 + None, # 2981 + None, # 2982 + None, # 2983 + None, # 2984 + None, # 2985 + None, # 2986 + None, # 2987 + None, # 2988 + None, # 2989 + None, # 2990 + None, # 2991 + None, # 2992 + None, # 2993 + None, # 2994 + None, # 2995 + None, # 2996 + None, # 2997 + None, # 2998 + None, # 2999 + None, # 3000 + None, # 3001 + None, # 3002 + None, # 3003 + None, # 3004 + None, # 3005 + None, # 3006 + None, # 3007 + None, # 3008 + None, # 3009 + None, # 3010 + None, # 3011 + None, # 3012 + None, # 3013 + None, # 3014 + None, # 3015 + None, # 3016 + None, # 3017 + None, # 3018 + None, # 3019 + None, # 3020 + None, # 3021 + None, # 3022 + None, # 3023 + None, # 3024 + None, # 3025 + None, # 3026 + None, # 3027 + None, # 3028 + None, # 3029 + None, # 3030 + None, # 3031 + None, # 3032 + None, # 3033 + None, # 3034 + None, # 3035 + None, # 3036 + None, # 3037 + None, # 3038 + None, # 3039 + None, # 3040 + None, # 3041 + None, # 3042 + None, # 3043 + None, # 3044 + None, # 3045 + None, # 3046 + None, # 3047 + None, # 3048 + None, # 3049 + None, # 3050 + None, # 3051 + None, # 3052 + None, # 3053 + None, # 3054 + None, # 3055 + None, # 3056 + None, # 3057 + None, # 3058 + None, # 3059 + None, # 3060 + None, # 3061 + None, # 3062 + None, # 3063 + None, # 3064 + None, # 3065 + None, # 3066 + None, # 3067 + None, # 3068 + None, # 3069 + None, # 3070 + None, # 3071 + None, # 3072 + None, # 3073 + None, # 3074 + None, # 3075 + None, # 3076 + None, # 3077 + None, # 3078 + None, # 3079 + None, # 3080 + None, # 3081 + None, # 3082 + None, # 3083 + None, # 3084 + None, # 3085 + None, # 3086 + None, # 3087 + None, # 3088 + None, # 3089 + None, # 3090 + None, # 3091 + None, # 3092 + None, # 3093 + None, # 3094 + None, # 3095 + None, # 3096 + None, # 3097 + None, # 3098 + None, # 3099 + None, # 3100 + None, # 3101 + None, # 3102 + None, # 3103 + None, # 3104 + None, # 3105 + None, # 3106 + None, # 3107 + None, # 3108 + None, # 3109 + None, # 3110 + None, # 3111 + None, # 3112 + None, # 3113 + None, # 3114 + None, # 3115 + None, # 3116 + None, # 3117 + None, # 3118 + None, # 3119 + None, # 3120 + None, # 3121 + None, # 3122 + None, # 3123 + None, # 3124 + None, # 3125 + None, # 3126 + None, # 3127 + None, # 3128 + None, # 3129 + None, # 3130 + None, # 3131 + None, # 3132 + None, # 3133 + None, # 3134 + None, # 3135 + None, # 3136 + None, # 3137 + None, # 3138 + None, # 3139 + None, # 3140 + None, # 3141 + None, # 3142 + None, # 3143 + None, # 3144 + None, # 3145 + None, # 3146 + None, # 3147 + None, # 3148 + None, # 3149 + None, # 3150 + None, # 3151 + None, # 3152 + None, # 3153 + None, # 3154 + None, # 3155 + None, # 3156 + None, # 3157 + None, # 3158 + None, # 3159 + None, # 3160 + None, # 3161 + None, # 3162 + None, # 3163 + None, # 3164 + None, # 3165 + None, # 3166 + None, # 3167 + None, # 3168 + None, # 3169 + None, # 3170 + None, # 3171 + None, # 3172 + None, # 3173 + None, # 3174 + None, # 3175 + None, # 3176 + None, # 3177 + None, # 3178 + None, # 3179 + None, # 3180 + None, # 3181 + None, # 3182 + None, # 3183 + None, # 3184 + None, # 3185 + None, # 3186 + None, # 3187 + None, # 3188 + None, # 3189 + None, # 3190 + None, # 3191 + None, # 3192 + None, # 3193 + None, # 3194 + None, # 3195 + None, # 3196 + None, # 3197 + None, # 3198 + None, # 3199 + None, # 3200 + None, # 3201 + None, # 3202 + None, # 3203 + None, # 3204 + None, # 3205 + None, # 3206 + None, # 3207 + None, # 3208 + None, # 3209 + None, # 3210 + None, # 3211 + None, # 3212 + None, # 3213 + None, # 3214 + None, # 3215 + None, # 3216 + None, # 3217 + None, # 3218 + None, # 3219 + None, # 3220 + None, # 3221 + None, # 3222 + None, # 3223 + None, # 3224 + None, # 3225 + None, # 3226 + None, # 3227 + None, # 3228 + None, # 3229 + None, # 3230 + None, # 3231 + None, # 3232 + None, # 3233 + None, # 3234 + None, # 3235 + None, # 3236 + None, # 3237 + None, # 3238 + None, # 3239 + None, # 3240 + None, # 3241 + None, # 3242 + None, # 3243 + None, # 3244 + None, # 3245 + None, # 3246 + None, # 3247 + None, # 3248 + None, # 3249 + None, # 3250 + None, # 3251 + None, # 3252 + None, # 3253 + None, # 3254 + None, # 3255 + None, # 3256 + None, # 3257 + None, # 3258 + None, # 3259 + None, # 3260 + None, # 3261 + None, # 3262 + None, # 3263 + None, # 3264 + None, # 3265 + None, # 3266 + None, # 3267 + None, # 3268 + None, # 3269 + None, # 3270 + None, # 3271 + None, # 3272 + None, # 3273 + None, # 3274 + None, # 3275 + None, # 3276 + None, # 3277 + None, # 3278 + None, # 3279 + None, # 3280 + None, # 3281 + None, # 3282 + None, # 3283 + None, # 3284 + None, # 3285 + None, # 3286 + None, # 3287 + None, # 3288 + None, # 3289 + None, # 3290 + None, # 3291 + None, # 3292 + None, # 3293 + None, # 3294 + None, # 3295 + None, # 3296 + None, # 3297 + None, # 3298 + None, # 3299 + None, # 3300 + None, # 3301 + None, # 3302 + None, # 3303 + None, # 3304 + None, # 3305 + None, # 3306 + None, # 3307 + None, # 3308 + None, # 3309 + None, # 3310 + None, # 3311 + None, # 3312 + None, # 3313 + None, # 3314 + None, # 3315 + None, # 3316 + None, # 3317 + None, # 3318 + None, # 3319 + None, # 3320 + None, # 3321 + None, # 3322 + None, # 3323 + None, # 3324 + None, # 3325 + None, # 3326 + None, # 3327 + None, # 3328 + (3329, TType.STRING, 'responseValidation', 'BINARY', None, ), # 3329 ) all_structs.append(TGetDelegationTokenReq) TGetDelegationTokenReq.thrift_spec = ( - None, # 0 - (1, TType.STRUCT, 'sessionHandle', [TSessionHandle, None], None, ), # 1 - (2, TType.STRING, 'owner', 'UTF8', None, ), # 2 - (3, TType.STRING, 'renewer', 'UTF8', None, ), # 3 - None, # 4 - None, # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - None, # 1281 - None, # 1282 - None, # 1283 - None, # 1284 - None, # 1285 - None, # 1286 - None, # 1287 - None, # 1288 - None, # 1289 - None, # 1290 - None, # 1291 - None, # 1292 - None, # 1293 - None, # 1294 - None, # 1295 - None, # 1296 - None, # 1297 - None, # 1298 - None, # 1299 - None, # 1300 - None, # 1301 - None, # 1302 - None, # 1303 - None, # 1304 - None, # 1305 - None, # 1306 - None, # 1307 - None, # 1308 - None, # 1309 - None, # 1310 - None, # 1311 - None, # 1312 - None, # 1313 - None, # 1314 - None, # 1315 - None, # 1316 - None, # 1317 - None, # 1318 - None, # 1319 - None, # 1320 - None, # 1321 - None, # 1322 - None, # 1323 - None, # 1324 - None, # 1325 - None, # 1326 - None, # 1327 - None, # 1328 - None, # 1329 - None, # 1330 - None, # 1331 - None, # 1332 - None, # 1333 - None, # 1334 - None, # 1335 - None, # 1336 - None, # 1337 - None, # 1338 - None, # 1339 - None, # 1340 - None, # 1341 - None, # 1342 - None, # 1343 - None, # 1344 - None, # 1345 - None, # 1346 - None, # 1347 - None, # 1348 - None, # 1349 - None, # 1350 - None, # 1351 - None, # 1352 - None, # 1353 - None, # 1354 - None, # 1355 - None, # 1356 - None, # 1357 - None, # 1358 - None, # 1359 - None, # 1360 - None, # 1361 - None, # 1362 - None, # 1363 - None, # 1364 - None, # 1365 - None, # 1366 - None, # 1367 - None, # 1368 - None, # 1369 - None, # 1370 - None, # 1371 - None, # 1372 - None, # 1373 - None, # 1374 - None, # 1375 - None, # 1376 - None, # 1377 - None, # 1378 - None, # 1379 - None, # 1380 - None, # 1381 - None, # 1382 - None, # 1383 - None, # 1384 - None, # 1385 - None, # 1386 - None, # 1387 - None, # 1388 - None, # 1389 - None, # 1390 - None, # 1391 - None, # 1392 - None, # 1393 - None, # 1394 - None, # 1395 - None, # 1396 - None, # 1397 - None, # 1398 - None, # 1399 - None, # 1400 - None, # 1401 - None, # 1402 - None, # 1403 - None, # 1404 - None, # 1405 - None, # 1406 - None, # 1407 - None, # 1408 - None, # 1409 - None, # 1410 - None, # 1411 - None, # 1412 - None, # 1413 - None, # 1414 - None, # 1415 - None, # 1416 - None, # 1417 - None, # 1418 - None, # 1419 - None, # 1420 - None, # 1421 - None, # 1422 - None, # 1423 - None, # 1424 - None, # 1425 - None, # 1426 - None, # 1427 - None, # 1428 - None, # 1429 - None, # 1430 - None, # 1431 - None, # 1432 - None, # 1433 - None, # 1434 - None, # 1435 - None, # 1436 - None, # 1437 - None, # 1438 - None, # 1439 - None, # 1440 - None, # 1441 - None, # 1442 - None, # 1443 - None, # 1444 - None, # 1445 - None, # 1446 - None, # 1447 - None, # 1448 - None, # 1449 - None, # 1450 - None, # 1451 - None, # 1452 - None, # 1453 - None, # 1454 - None, # 1455 - None, # 1456 - None, # 1457 - None, # 1458 - None, # 1459 - None, # 1460 - None, # 1461 - None, # 1462 - None, # 1463 - None, # 1464 - None, # 1465 - None, # 1466 - None, # 1467 - None, # 1468 - None, # 1469 - None, # 1470 - None, # 1471 - None, # 1472 - None, # 1473 - None, # 1474 - None, # 1475 - None, # 1476 - None, # 1477 - None, # 1478 - None, # 1479 - None, # 1480 - None, # 1481 - None, # 1482 - None, # 1483 - None, # 1484 - None, # 1485 - None, # 1486 - None, # 1487 - None, # 1488 - None, # 1489 - None, # 1490 - None, # 1491 - None, # 1492 - None, # 1493 - None, # 1494 - None, # 1495 - None, # 1496 - None, # 1497 - None, # 1498 - None, # 1499 - None, # 1500 - None, # 1501 - None, # 1502 - None, # 1503 - None, # 1504 - None, # 1505 - None, # 1506 - None, # 1507 - None, # 1508 - None, # 1509 - None, # 1510 - None, # 1511 - None, # 1512 - None, # 1513 - None, # 1514 - None, # 1515 - None, # 1516 - None, # 1517 - None, # 1518 - None, # 1519 - None, # 1520 - None, # 1521 - None, # 1522 - None, # 1523 - None, # 1524 - None, # 1525 - None, # 1526 - None, # 1527 - None, # 1528 - None, # 1529 - None, # 1530 - None, # 1531 - None, # 1532 - None, # 1533 - None, # 1534 - None, # 1535 - None, # 1536 - None, # 1537 - None, # 1538 - None, # 1539 - None, # 1540 - None, # 1541 - None, # 1542 - None, # 1543 - None, # 1544 - None, # 1545 - None, # 1546 - None, # 1547 - None, # 1548 - None, # 1549 - None, # 1550 - None, # 1551 - None, # 1552 - None, # 1553 - None, # 1554 - None, # 1555 - None, # 1556 - None, # 1557 - None, # 1558 - None, # 1559 - None, # 1560 - None, # 1561 - None, # 1562 - None, # 1563 - None, # 1564 - None, # 1565 - None, # 1566 - None, # 1567 - None, # 1568 - None, # 1569 - None, # 1570 - None, # 1571 - None, # 1572 - None, # 1573 - None, # 1574 - None, # 1575 - None, # 1576 - None, # 1577 - None, # 1578 - None, # 1579 - None, # 1580 - None, # 1581 - None, # 1582 - None, # 1583 - None, # 1584 - None, # 1585 - None, # 1586 - None, # 1587 - None, # 1588 - None, # 1589 - None, # 1590 - None, # 1591 - None, # 1592 - None, # 1593 - None, # 1594 - None, # 1595 - None, # 1596 - None, # 1597 - None, # 1598 - None, # 1599 - None, # 1600 - None, # 1601 - None, # 1602 - None, # 1603 - None, # 1604 - None, # 1605 - None, # 1606 - None, # 1607 - None, # 1608 - None, # 1609 - None, # 1610 - None, # 1611 - None, # 1612 - None, # 1613 - None, # 1614 - None, # 1615 - None, # 1616 - None, # 1617 - None, # 1618 - None, # 1619 - None, # 1620 - None, # 1621 - None, # 1622 - None, # 1623 - None, # 1624 - None, # 1625 - None, # 1626 - None, # 1627 - None, # 1628 - None, # 1629 - None, # 1630 - None, # 1631 - None, # 1632 - None, # 1633 - None, # 1634 - None, # 1635 - None, # 1636 - None, # 1637 - None, # 1638 - None, # 1639 - None, # 1640 - None, # 1641 - None, # 1642 - None, # 1643 - None, # 1644 - None, # 1645 - None, # 1646 - None, # 1647 - None, # 1648 - None, # 1649 - None, # 1650 - None, # 1651 - None, # 1652 - None, # 1653 - None, # 1654 - None, # 1655 - None, # 1656 - None, # 1657 - None, # 1658 - None, # 1659 - None, # 1660 - None, # 1661 - None, # 1662 - None, # 1663 - None, # 1664 - None, # 1665 - None, # 1666 - None, # 1667 - None, # 1668 - None, # 1669 - None, # 1670 - None, # 1671 - None, # 1672 - None, # 1673 - None, # 1674 - None, # 1675 - None, # 1676 - None, # 1677 - None, # 1678 - None, # 1679 - None, # 1680 - None, # 1681 - None, # 1682 - None, # 1683 - None, # 1684 - None, # 1685 - None, # 1686 - None, # 1687 - None, # 1688 - None, # 1689 - None, # 1690 - None, # 1691 - None, # 1692 - None, # 1693 - None, # 1694 - None, # 1695 - None, # 1696 - None, # 1697 - None, # 1698 - None, # 1699 - None, # 1700 - None, # 1701 - None, # 1702 - None, # 1703 - None, # 1704 - None, # 1705 - None, # 1706 - None, # 1707 - None, # 1708 - None, # 1709 - None, # 1710 - None, # 1711 - None, # 1712 - None, # 1713 - None, # 1714 - None, # 1715 - None, # 1716 - None, # 1717 - None, # 1718 - None, # 1719 - None, # 1720 - None, # 1721 - None, # 1722 - None, # 1723 - None, # 1724 - None, # 1725 - None, # 1726 - None, # 1727 - None, # 1728 - None, # 1729 - None, # 1730 - None, # 1731 - None, # 1732 - None, # 1733 - None, # 1734 - None, # 1735 - None, # 1736 - None, # 1737 - None, # 1738 - None, # 1739 - None, # 1740 - None, # 1741 - None, # 1742 - None, # 1743 - None, # 1744 - None, # 1745 - None, # 1746 - None, # 1747 - None, # 1748 - None, # 1749 - None, # 1750 - None, # 1751 - None, # 1752 - None, # 1753 - None, # 1754 - None, # 1755 - None, # 1756 - None, # 1757 - None, # 1758 - None, # 1759 - None, # 1760 - None, # 1761 - None, # 1762 - None, # 1763 - None, # 1764 - None, # 1765 - None, # 1766 - None, # 1767 - None, # 1768 - None, # 1769 - None, # 1770 - None, # 1771 - None, # 1772 - None, # 1773 - None, # 1774 - None, # 1775 - None, # 1776 - None, # 1777 - None, # 1778 - None, # 1779 - None, # 1780 - None, # 1781 - None, # 1782 - None, # 1783 - None, # 1784 - None, # 1785 - None, # 1786 - None, # 1787 - None, # 1788 - None, # 1789 - None, # 1790 - None, # 1791 - None, # 1792 - None, # 1793 - None, # 1794 - None, # 1795 - None, # 1796 - None, # 1797 - None, # 1798 - None, # 1799 - None, # 1800 - None, # 1801 - None, # 1802 - None, # 1803 - None, # 1804 - None, # 1805 - None, # 1806 - None, # 1807 - None, # 1808 - None, # 1809 - None, # 1810 - None, # 1811 - None, # 1812 - None, # 1813 - None, # 1814 - None, # 1815 - None, # 1816 - None, # 1817 - None, # 1818 - None, # 1819 - None, # 1820 - None, # 1821 - None, # 1822 - None, # 1823 - None, # 1824 - None, # 1825 - None, # 1826 - None, # 1827 - None, # 1828 - None, # 1829 - None, # 1830 - None, # 1831 - None, # 1832 - None, # 1833 - None, # 1834 - None, # 1835 - None, # 1836 - None, # 1837 - None, # 1838 - None, # 1839 - None, # 1840 - None, # 1841 - None, # 1842 - None, # 1843 - None, # 1844 - None, # 1845 - None, # 1846 - None, # 1847 - None, # 1848 - None, # 1849 - None, # 1850 - None, # 1851 - None, # 1852 - None, # 1853 - None, # 1854 - None, # 1855 - None, # 1856 - None, # 1857 - None, # 1858 - None, # 1859 - None, # 1860 - None, # 1861 - None, # 1862 - None, # 1863 - None, # 1864 - None, # 1865 - None, # 1866 - None, # 1867 - None, # 1868 - None, # 1869 - None, # 1870 - None, # 1871 - None, # 1872 - None, # 1873 - None, # 1874 - None, # 1875 - None, # 1876 - None, # 1877 - None, # 1878 - None, # 1879 - None, # 1880 - None, # 1881 - None, # 1882 - None, # 1883 - None, # 1884 - None, # 1885 - None, # 1886 - None, # 1887 - None, # 1888 - None, # 1889 - None, # 1890 - None, # 1891 - None, # 1892 - None, # 1893 - None, # 1894 - None, # 1895 - None, # 1896 - None, # 1897 - None, # 1898 - None, # 1899 - None, # 1900 - None, # 1901 - None, # 1902 - None, # 1903 - None, # 1904 - None, # 1905 - None, # 1906 - None, # 1907 - None, # 1908 - None, # 1909 - None, # 1910 - None, # 1911 - None, # 1912 - None, # 1913 - None, # 1914 - None, # 1915 - None, # 1916 - None, # 1917 - None, # 1918 - None, # 1919 - None, # 1920 - None, # 1921 - None, # 1922 - None, # 1923 - None, # 1924 - None, # 1925 - None, # 1926 - None, # 1927 - None, # 1928 - None, # 1929 - None, # 1930 - None, # 1931 - None, # 1932 - None, # 1933 - None, # 1934 - None, # 1935 - None, # 1936 - None, # 1937 - None, # 1938 - None, # 1939 - None, # 1940 - None, # 1941 - None, # 1942 - None, # 1943 - None, # 1944 - None, # 1945 - None, # 1946 - None, # 1947 - None, # 1948 - None, # 1949 - None, # 1950 - None, # 1951 - None, # 1952 - None, # 1953 - None, # 1954 - None, # 1955 - None, # 1956 - None, # 1957 - None, # 1958 - None, # 1959 - None, # 1960 - None, # 1961 - None, # 1962 - None, # 1963 - None, # 1964 - None, # 1965 - None, # 1966 - None, # 1967 - None, # 1968 - None, # 1969 - None, # 1970 - None, # 1971 - None, # 1972 - None, # 1973 - None, # 1974 - None, # 1975 - None, # 1976 - None, # 1977 - None, # 1978 - None, # 1979 - None, # 1980 - None, # 1981 - None, # 1982 - None, # 1983 - None, # 1984 - None, # 1985 - None, # 1986 - None, # 1987 - None, # 1988 - None, # 1989 - None, # 1990 - None, # 1991 - None, # 1992 - None, # 1993 - None, # 1994 - None, # 1995 - None, # 1996 - None, # 1997 - None, # 1998 - None, # 1999 - None, # 2000 - None, # 2001 - None, # 2002 - None, # 2003 - None, # 2004 - None, # 2005 - None, # 2006 - None, # 2007 - None, # 2008 - None, # 2009 - None, # 2010 - None, # 2011 - None, # 2012 - None, # 2013 - None, # 2014 - None, # 2015 - None, # 2016 - None, # 2017 - None, # 2018 - None, # 2019 - None, # 2020 - None, # 2021 - None, # 2022 - None, # 2023 - None, # 2024 - None, # 2025 - None, # 2026 - None, # 2027 - None, # 2028 - None, # 2029 - None, # 2030 - None, # 2031 - None, # 2032 - None, # 2033 - None, # 2034 - None, # 2035 - None, # 2036 - None, # 2037 - None, # 2038 - None, # 2039 - None, # 2040 - None, # 2041 - None, # 2042 - None, # 2043 - None, # 2044 - None, # 2045 - None, # 2046 - None, # 2047 - None, # 2048 - None, # 2049 - None, # 2050 - None, # 2051 - None, # 2052 - None, # 2053 - None, # 2054 - None, # 2055 - None, # 2056 - None, # 2057 - None, # 2058 - None, # 2059 - None, # 2060 - None, # 2061 - None, # 2062 - None, # 2063 - None, # 2064 - None, # 2065 - None, # 2066 - None, # 2067 - None, # 2068 - None, # 2069 - None, # 2070 - None, # 2071 - None, # 2072 - None, # 2073 - None, # 2074 - None, # 2075 - None, # 2076 - None, # 2077 - None, # 2078 - None, # 2079 - None, # 2080 - None, # 2081 - None, # 2082 - None, # 2083 - None, # 2084 - None, # 2085 - None, # 2086 - None, # 2087 - None, # 2088 - None, # 2089 - None, # 2090 - None, # 2091 - None, # 2092 - None, # 2093 - None, # 2094 - None, # 2095 - None, # 2096 - None, # 2097 - None, # 2098 - None, # 2099 - None, # 2100 - None, # 2101 - None, # 2102 - None, # 2103 - None, # 2104 - None, # 2105 - None, # 2106 - None, # 2107 - None, # 2108 - None, # 2109 - None, # 2110 - None, # 2111 - None, # 2112 - None, # 2113 - None, # 2114 - None, # 2115 - None, # 2116 - None, # 2117 - None, # 2118 - None, # 2119 - None, # 2120 - None, # 2121 - None, # 2122 - None, # 2123 - None, # 2124 - None, # 2125 - None, # 2126 - None, # 2127 - None, # 2128 - None, # 2129 - None, # 2130 - None, # 2131 - None, # 2132 - None, # 2133 - None, # 2134 - None, # 2135 - None, # 2136 - None, # 2137 - None, # 2138 - None, # 2139 - None, # 2140 - None, # 2141 - None, # 2142 - None, # 2143 - None, # 2144 - None, # 2145 - None, # 2146 - None, # 2147 - None, # 2148 - None, # 2149 - None, # 2150 - None, # 2151 - None, # 2152 - None, # 2153 - None, # 2154 - None, # 2155 - None, # 2156 - None, # 2157 - None, # 2158 - None, # 2159 - None, # 2160 - None, # 2161 - None, # 2162 - None, # 2163 - None, # 2164 - None, # 2165 - None, # 2166 - None, # 2167 - None, # 2168 - None, # 2169 - None, # 2170 - None, # 2171 - None, # 2172 - None, # 2173 - None, # 2174 - None, # 2175 - None, # 2176 - None, # 2177 - None, # 2178 - None, # 2179 - None, # 2180 - None, # 2181 - None, # 2182 - None, # 2183 - None, # 2184 - None, # 2185 - None, # 2186 - None, # 2187 - None, # 2188 - None, # 2189 - None, # 2190 - None, # 2191 - None, # 2192 - None, # 2193 - None, # 2194 - None, # 2195 - None, # 2196 - None, # 2197 - None, # 2198 - None, # 2199 - None, # 2200 - None, # 2201 - None, # 2202 - None, # 2203 - None, # 2204 - None, # 2205 - None, # 2206 - None, # 2207 - None, # 2208 - None, # 2209 - None, # 2210 - None, # 2211 - None, # 2212 - None, # 2213 - None, # 2214 - None, # 2215 - None, # 2216 - None, # 2217 - None, # 2218 - None, # 2219 - None, # 2220 - None, # 2221 - None, # 2222 - None, # 2223 - None, # 2224 - None, # 2225 - None, # 2226 - None, # 2227 - None, # 2228 - None, # 2229 - None, # 2230 - None, # 2231 - None, # 2232 - None, # 2233 - None, # 2234 - None, # 2235 - None, # 2236 - None, # 2237 - None, # 2238 - None, # 2239 - None, # 2240 - None, # 2241 - None, # 2242 - None, # 2243 - None, # 2244 - None, # 2245 - None, # 2246 - None, # 2247 - None, # 2248 - None, # 2249 - None, # 2250 - None, # 2251 - None, # 2252 - None, # 2253 - None, # 2254 - None, # 2255 - None, # 2256 - None, # 2257 - None, # 2258 - None, # 2259 - None, # 2260 - None, # 2261 - None, # 2262 - None, # 2263 - None, # 2264 - None, # 2265 - None, # 2266 - None, # 2267 - None, # 2268 - None, # 2269 - None, # 2270 - None, # 2271 - None, # 2272 - None, # 2273 - None, # 2274 - None, # 2275 - None, # 2276 - None, # 2277 - None, # 2278 - None, # 2279 - None, # 2280 - None, # 2281 - None, # 2282 - None, # 2283 - None, # 2284 - None, # 2285 - None, # 2286 - None, # 2287 - None, # 2288 - None, # 2289 - None, # 2290 - None, # 2291 - None, # 2292 - None, # 2293 - None, # 2294 - None, # 2295 - None, # 2296 - None, # 2297 - None, # 2298 - None, # 2299 - None, # 2300 - None, # 2301 - None, # 2302 - None, # 2303 - None, # 2304 - None, # 2305 - None, # 2306 - None, # 2307 - None, # 2308 - None, # 2309 - None, # 2310 - None, # 2311 - None, # 2312 - None, # 2313 - None, # 2314 - None, # 2315 - None, # 2316 - None, # 2317 - None, # 2318 - None, # 2319 - None, # 2320 - None, # 2321 - None, # 2322 - None, # 2323 - None, # 2324 - None, # 2325 - None, # 2326 - None, # 2327 - None, # 2328 - None, # 2329 - None, # 2330 - None, # 2331 - None, # 2332 - None, # 2333 - None, # 2334 - None, # 2335 - None, # 2336 - None, # 2337 - None, # 2338 - None, # 2339 - None, # 2340 - None, # 2341 - None, # 2342 - None, # 2343 - None, # 2344 - None, # 2345 - None, # 2346 - None, # 2347 - None, # 2348 - None, # 2349 - None, # 2350 - None, # 2351 - None, # 2352 - None, # 2353 - None, # 2354 - None, # 2355 - None, # 2356 - None, # 2357 - None, # 2358 - None, # 2359 - None, # 2360 - None, # 2361 - None, # 2362 - None, # 2363 - None, # 2364 - None, # 2365 - None, # 2366 - None, # 2367 - None, # 2368 - None, # 2369 - None, # 2370 - None, # 2371 - None, # 2372 - None, # 2373 - None, # 2374 - None, # 2375 - None, # 2376 - None, # 2377 - None, # 2378 - None, # 2379 - None, # 2380 - None, # 2381 - None, # 2382 - None, # 2383 - None, # 2384 - None, # 2385 - None, # 2386 - None, # 2387 - None, # 2388 - None, # 2389 - None, # 2390 - None, # 2391 - None, # 2392 - None, # 2393 - None, # 2394 - None, # 2395 - None, # 2396 - None, # 2397 - None, # 2398 - None, # 2399 - None, # 2400 - None, # 2401 - None, # 2402 - None, # 2403 - None, # 2404 - None, # 2405 - None, # 2406 - None, # 2407 - None, # 2408 - None, # 2409 - None, # 2410 - None, # 2411 - None, # 2412 - None, # 2413 - None, # 2414 - None, # 2415 - None, # 2416 - None, # 2417 - None, # 2418 - None, # 2419 - None, # 2420 - None, # 2421 - None, # 2422 - None, # 2423 - None, # 2424 - None, # 2425 - None, # 2426 - None, # 2427 - None, # 2428 - None, # 2429 - None, # 2430 - None, # 2431 - None, # 2432 - None, # 2433 - None, # 2434 - None, # 2435 - None, # 2436 - None, # 2437 - None, # 2438 - None, # 2439 - None, # 2440 - None, # 2441 - None, # 2442 - None, # 2443 - None, # 2444 - None, # 2445 - None, # 2446 - None, # 2447 - None, # 2448 - None, # 2449 - None, # 2450 - None, # 2451 - None, # 2452 - None, # 2453 - None, # 2454 - None, # 2455 - None, # 2456 - None, # 2457 - None, # 2458 - None, # 2459 - None, # 2460 - None, # 2461 - None, # 2462 - None, # 2463 - None, # 2464 - None, # 2465 - None, # 2466 - None, # 2467 - None, # 2468 - None, # 2469 - None, # 2470 - None, # 2471 - None, # 2472 - None, # 2473 - None, # 2474 - None, # 2475 - None, # 2476 - None, # 2477 - None, # 2478 - None, # 2479 - None, # 2480 - None, # 2481 - None, # 2482 - None, # 2483 - None, # 2484 - None, # 2485 - None, # 2486 - None, # 2487 - None, # 2488 - None, # 2489 - None, # 2490 - None, # 2491 - None, # 2492 - None, # 2493 - None, # 2494 - None, # 2495 - None, # 2496 - None, # 2497 - None, # 2498 - None, # 2499 - None, # 2500 - None, # 2501 - None, # 2502 - None, # 2503 - None, # 2504 - None, # 2505 - None, # 2506 - None, # 2507 - None, # 2508 - None, # 2509 - None, # 2510 - None, # 2511 - None, # 2512 - None, # 2513 - None, # 2514 - None, # 2515 - None, # 2516 - None, # 2517 - None, # 2518 - None, # 2519 - None, # 2520 - None, # 2521 - None, # 2522 - None, # 2523 - None, # 2524 - None, # 2525 - None, # 2526 - None, # 2527 - None, # 2528 - None, # 2529 - None, # 2530 - None, # 2531 - None, # 2532 - None, # 2533 - None, # 2534 - None, # 2535 - None, # 2536 - None, # 2537 - None, # 2538 - None, # 2539 - None, # 2540 - None, # 2541 - None, # 2542 - None, # 2543 - None, # 2544 - None, # 2545 - None, # 2546 - None, # 2547 - None, # 2548 - None, # 2549 - None, # 2550 - None, # 2551 - None, # 2552 - None, # 2553 - None, # 2554 - None, # 2555 - None, # 2556 - None, # 2557 - None, # 2558 - None, # 2559 - None, # 2560 - None, # 2561 - None, # 2562 - None, # 2563 - None, # 2564 - None, # 2565 - None, # 2566 - None, # 2567 - None, # 2568 - None, # 2569 - None, # 2570 - None, # 2571 - None, # 2572 - None, # 2573 - None, # 2574 - None, # 2575 - None, # 2576 - None, # 2577 - None, # 2578 - None, # 2579 - None, # 2580 - None, # 2581 - None, # 2582 - None, # 2583 - None, # 2584 - None, # 2585 - None, # 2586 - None, # 2587 - None, # 2588 - None, # 2589 - None, # 2590 - None, # 2591 - None, # 2592 - None, # 2593 - None, # 2594 - None, # 2595 - None, # 2596 - None, # 2597 - None, # 2598 - None, # 2599 - None, # 2600 - None, # 2601 - None, # 2602 - None, # 2603 - None, # 2604 - None, # 2605 - None, # 2606 - None, # 2607 - None, # 2608 - None, # 2609 - None, # 2610 - None, # 2611 - None, # 2612 - None, # 2613 - None, # 2614 - None, # 2615 - None, # 2616 - None, # 2617 - None, # 2618 - None, # 2619 - None, # 2620 - None, # 2621 - None, # 2622 - None, # 2623 - None, # 2624 - None, # 2625 - None, # 2626 - None, # 2627 - None, # 2628 - None, # 2629 - None, # 2630 - None, # 2631 - None, # 2632 - None, # 2633 - None, # 2634 - None, # 2635 - None, # 2636 - None, # 2637 - None, # 2638 - None, # 2639 - None, # 2640 - None, # 2641 - None, # 2642 - None, # 2643 - None, # 2644 - None, # 2645 - None, # 2646 - None, # 2647 - None, # 2648 - None, # 2649 - None, # 2650 - None, # 2651 - None, # 2652 - None, # 2653 - None, # 2654 - None, # 2655 - None, # 2656 - None, # 2657 - None, # 2658 - None, # 2659 - None, # 2660 - None, # 2661 - None, # 2662 - None, # 2663 - None, # 2664 - None, # 2665 - None, # 2666 - None, # 2667 - None, # 2668 - None, # 2669 - None, # 2670 - None, # 2671 - None, # 2672 - None, # 2673 - None, # 2674 - None, # 2675 - None, # 2676 - None, # 2677 - None, # 2678 - None, # 2679 - None, # 2680 - None, # 2681 - None, # 2682 - None, # 2683 - None, # 2684 - None, # 2685 - None, # 2686 - None, # 2687 - None, # 2688 - None, # 2689 - None, # 2690 - None, # 2691 - None, # 2692 - None, # 2693 - None, # 2694 - None, # 2695 - None, # 2696 - None, # 2697 - None, # 2698 - None, # 2699 - None, # 2700 - None, # 2701 - None, # 2702 - None, # 2703 - None, # 2704 - None, # 2705 - None, # 2706 - None, # 2707 - None, # 2708 - None, # 2709 - None, # 2710 - None, # 2711 - None, # 2712 - None, # 2713 - None, # 2714 - None, # 2715 - None, # 2716 - None, # 2717 - None, # 2718 - None, # 2719 - None, # 2720 - None, # 2721 - None, # 2722 - None, # 2723 - None, # 2724 - None, # 2725 - None, # 2726 - None, # 2727 - None, # 2728 - None, # 2729 - None, # 2730 - None, # 2731 - None, # 2732 - None, # 2733 - None, # 2734 - None, # 2735 - None, # 2736 - None, # 2737 - None, # 2738 - None, # 2739 - None, # 2740 - None, # 2741 - None, # 2742 - None, # 2743 - None, # 2744 - None, # 2745 - None, # 2746 - None, # 2747 - None, # 2748 - None, # 2749 - None, # 2750 - None, # 2751 - None, # 2752 - None, # 2753 - None, # 2754 - None, # 2755 - None, # 2756 - None, # 2757 - None, # 2758 - None, # 2759 - None, # 2760 - None, # 2761 - None, # 2762 - None, # 2763 - None, # 2764 - None, # 2765 - None, # 2766 - None, # 2767 - None, # 2768 - None, # 2769 - None, # 2770 - None, # 2771 - None, # 2772 - None, # 2773 - None, # 2774 - None, # 2775 - None, # 2776 - None, # 2777 - None, # 2778 - None, # 2779 - None, # 2780 - None, # 2781 - None, # 2782 - None, # 2783 - None, # 2784 - None, # 2785 - None, # 2786 - None, # 2787 - None, # 2788 - None, # 2789 - None, # 2790 - None, # 2791 - None, # 2792 - None, # 2793 - None, # 2794 - None, # 2795 - None, # 2796 - None, # 2797 - None, # 2798 - None, # 2799 - None, # 2800 - None, # 2801 - None, # 2802 - None, # 2803 - None, # 2804 - None, # 2805 - None, # 2806 - None, # 2807 - None, # 2808 - None, # 2809 - None, # 2810 - None, # 2811 - None, # 2812 - None, # 2813 - None, # 2814 - None, # 2815 - None, # 2816 - None, # 2817 - None, # 2818 - None, # 2819 - None, # 2820 - None, # 2821 - None, # 2822 - None, # 2823 - None, # 2824 - None, # 2825 - None, # 2826 - None, # 2827 - None, # 2828 - None, # 2829 - None, # 2830 - None, # 2831 - None, # 2832 - None, # 2833 - None, # 2834 - None, # 2835 - None, # 2836 - None, # 2837 - None, # 2838 - None, # 2839 - None, # 2840 - None, # 2841 - None, # 2842 - None, # 2843 - None, # 2844 - None, # 2845 - None, # 2846 - None, # 2847 - None, # 2848 - None, # 2849 - None, # 2850 - None, # 2851 - None, # 2852 - None, # 2853 - None, # 2854 - None, # 2855 - None, # 2856 - None, # 2857 - None, # 2858 - None, # 2859 - None, # 2860 - None, # 2861 - None, # 2862 - None, # 2863 - None, # 2864 - None, # 2865 - None, # 2866 - None, # 2867 - None, # 2868 - None, # 2869 - None, # 2870 - None, # 2871 - None, # 2872 - None, # 2873 - None, # 2874 - None, # 2875 - None, # 2876 - None, # 2877 - None, # 2878 - None, # 2879 - None, # 2880 - None, # 2881 - None, # 2882 - None, # 2883 - None, # 2884 - None, # 2885 - None, # 2886 - None, # 2887 - None, # 2888 - None, # 2889 - None, # 2890 - None, # 2891 - None, # 2892 - None, # 2893 - None, # 2894 - None, # 2895 - None, # 2896 - None, # 2897 - None, # 2898 - None, # 2899 - None, # 2900 - None, # 2901 - None, # 2902 - None, # 2903 - None, # 2904 - None, # 2905 - None, # 2906 - None, # 2907 - None, # 2908 - None, # 2909 - None, # 2910 - None, # 2911 - None, # 2912 - None, # 2913 - None, # 2914 - None, # 2915 - None, # 2916 - None, # 2917 - None, # 2918 - None, # 2919 - None, # 2920 - None, # 2921 - None, # 2922 - None, # 2923 - None, # 2924 - None, # 2925 - None, # 2926 - None, # 2927 - None, # 2928 - None, # 2929 - None, # 2930 - None, # 2931 - None, # 2932 - None, # 2933 - None, # 2934 - None, # 2935 - None, # 2936 - None, # 2937 - None, # 2938 - None, # 2939 - None, # 2940 - None, # 2941 - None, # 2942 - None, # 2943 - None, # 2944 - None, # 2945 - None, # 2946 - None, # 2947 - None, # 2948 - None, # 2949 - None, # 2950 - None, # 2951 - None, # 2952 - None, # 2953 - None, # 2954 - None, # 2955 - None, # 2956 - None, # 2957 - None, # 2958 - None, # 2959 - None, # 2960 - None, # 2961 - None, # 2962 - None, # 2963 - None, # 2964 - None, # 2965 - None, # 2966 - None, # 2967 - None, # 2968 - None, # 2969 - None, # 2970 - None, # 2971 - None, # 2972 - None, # 2973 - None, # 2974 - None, # 2975 - None, # 2976 - None, # 2977 - None, # 2978 - None, # 2979 - None, # 2980 - None, # 2981 - None, # 2982 - None, # 2983 - None, # 2984 - None, # 2985 - None, # 2986 - None, # 2987 - None, # 2988 - None, # 2989 - None, # 2990 - None, # 2991 - None, # 2992 - None, # 2993 - None, # 2994 - None, # 2995 - None, # 2996 - None, # 2997 - None, # 2998 - None, # 2999 - None, # 3000 - None, # 3001 - None, # 3002 - None, # 3003 - None, # 3004 - None, # 3005 - None, # 3006 - None, # 3007 - None, # 3008 - None, # 3009 - None, # 3010 - None, # 3011 - None, # 3012 - None, # 3013 - None, # 3014 - None, # 3015 - None, # 3016 - None, # 3017 - None, # 3018 - None, # 3019 - None, # 3020 - None, # 3021 - None, # 3022 - None, # 3023 - None, # 3024 - None, # 3025 - None, # 3026 - None, # 3027 - None, # 3028 - None, # 3029 - None, # 3030 - None, # 3031 - None, # 3032 - None, # 3033 - None, # 3034 - None, # 3035 - None, # 3036 - None, # 3037 - None, # 3038 - None, # 3039 - None, # 3040 - None, # 3041 - None, # 3042 - None, # 3043 - None, # 3044 - None, # 3045 - None, # 3046 - None, # 3047 - None, # 3048 - None, # 3049 - None, # 3050 - None, # 3051 - None, # 3052 - None, # 3053 - None, # 3054 - None, # 3055 - None, # 3056 - None, # 3057 - None, # 3058 - None, # 3059 - None, # 3060 - None, # 3061 - None, # 3062 - None, # 3063 - None, # 3064 - None, # 3065 - None, # 3066 - None, # 3067 - None, # 3068 - None, # 3069 - None, # 3070 - None, # 3071 - None, # 3072 - None, # 3073 - None, # 3074 - None, # 3075 - None, # 3076 - None, # 3077 - None, # 3078 - None, # 3079 - None, # 3080 - None, # 3081 - None, # 3082 - None, # 3083 - None, # 3084 - None, # 3085 - None, # 3086 - None, # 3087 - None, # 3088 - None, # 3089 - None, # 3090 - None, # 3091 - None, # 3092 - None, # 3093 - None, # 3094 - None, # 3095 - None, # 3096 - None, # 3097 - None, # 3098 - None, # 3099 - None, # 3100 - None, # 3101 - None, # 3102 - None, # 3103 - None, # 3104 - None, # 3105 - None, # 3106 - None, # 3107 - None, # 3108 - None, # 3109 - None, # 3110 - None, # 3111 - None, # 3112 - None, # 3113 - None, # 3114 - None, # 3115 - None, # 3116 - None, # 3117 - None, # 3118 - None, # 3119 - None, # 3120 - None, # 3121 - None, # 3122 - None, # 3123 - None, # 3124 - None, # 3125 - None, # 3126 - None, # 3127 - None, # 3128 - None, # 3129 - None, # 3130 - None, # 3131 - None, # 3132 - None, # 3133 - None, # 3134 - None, # 3135 - None, # 3136 - None, # 3137 - None, # 3138 - None, # 3139 - None, # 3140 - None, # 3141 - None, # 3142 - None, # 3143 - None, # 3144 - None, # 3145 - None, # 3146 - None, # 3147 - None, # 3148 - None, # 3149 - None, # 3150 - None, # 3151 - None, # 3152 - None, # 3153 - None, # 3154 - None, # 3155 - None, # 3156 - None, # 3157 - None, # 3158 - None, # 3159 - None, # 3160 - None, # 3161 - None, # 3162 - None, # 3163 - None, # 3164 - None, # 3165 - None, # 3166 - None, # 3167 - None, # 3168 - None, # 3169 - None, # 3170 - None, # 3171 - None, # 3172 - None, # 3173 - None, # 3174 - None, # 3175 - None, # 3176 - None, # 3177 - None, # 3178 - None, # 3179 - None, # 3180 - None, # 3181 - None, # 3182 - None, # 3183 - None, # 3184 - None, # 3185 - None, # 3186 - None, # 3187 - None, # 3188 - None, # 3189 - None, # 3190 - None, # 3191 - None, # 3192 - None, # 3193 - None, # 3194 - None, # 3195 - None, # 3196 - None, # 3197 - None, # 3198 - None, # 3199 - None, # 3200 - None, # 3201 - None, # 3202 - None, # 3203 - None, # 3204 - None, # 3205 - None, # 3206 - None, # 3207 - None, # 3208 - None, # 3209 - None, # 3210 - None, # 3211 - None, # 3212 - None, # 3213 - None, # 3214 - None, # 3215 - None, # 3216 - None, # 3217 - None, # 3218 - None, # 3219 - None, # 3220 - None, # 3221 - None, # 3222 - None, # 3223 - None, # 3224 - None, # 3225 - None, # 3226 - None, # 3227 - None, # 3228 - None, # 3229 - None, # 3230 - None, # 3231 - None, # 3232 - None, # 3233 - None, # 3234 - None, # 3235 - None, # 3236 - None, # 3237 - None, # 3238 - None, # 3239 - None, # 3240 - None, # 3241 - None, # 3242 - None, # 3243 - None, # 3244 - None, # 3245 - None, # 3246 - None, # 3247 - None, # 3248 - None, # 3249 - None, # 3250 - None, # 3251 - None, # 3252 - None, # 3253 - None, # 3254 - None, # 3255 - None, # 3256 - None, # 3257 - None, # 3258 - None, # 3259 - None, # 3260 - None, # 3261 - None, # 3262 - None, # 3263 - None, # 3264 - None, # 3265 - None, # 3266 - None, # 3267 - None, # 3268 - None, # 3269 - None, # 3270 - None, # 3271 - None, # 3272 - None, # 3273 - None, # 3274 - None, # 3275 - None, # 3276 - None, # 3277 - None, # 3278 - None, # 3279 - None, # 3280 - None, # 3281 - None, # 3282 - None, # 3283 - None, # 3284 - None, # 3285 - None, # 3286 - None, # 3287 - None, # 3288 - None, # 3289 - None, # 3290 - None, # 3291 - None, # 3292 - None, # 3293 - None, # 3294 - None, # 3295 - None, # 3296 - None, # 3297 - None, # 3298 - None, # 3299 - None, # 3300 - None, # 3301 - None, # 3302 - None, # 3303 - None, # 3304 - None, # 3305 - None, # 3306 - None, # 3307 - None, # 3308 - None, # 3309 - None, # 3310 - None, # 3311 - None, # 3312 - None, # 3313 - None, # 3314 - None, # 3315 - None, # 3316 - None, # 3317 - None, # 3318 - None, # 3319 - None, # 3320 - None, # 3321 - None, # 3322 - None, # 3323 - None, # 3324 - None, # 3325 - None, # 3326 - None, # 3327 - None, # 3328 - (3329, TType.STRUCT, 'sessionConf', [TDBSqlSessionConf, None], None, ), # 3329 + None, # 0 + (1, TType.STRUCT, 'sessionHandle', [TSessionHandle, None], None, ), # 1 + (2, TType.STRING, 'owner', 'UTF8', None, ), # 2 + (3, TType.STRING, 'renewer', 'UTF8', None, ), # 3 + None, # 4 + None, # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + None, # 1281 + None, # 1282 + None, # 1283 + None, # 1284 + None, # 1285 + None, # 1286 + None, # 1287 + None, # 1288 + None, # 1289 + None, # 1290 + None, # 1291 + None, # 1292 + None, # 1293 + None, # 1294 + None, # 1295 + None, # 1296 + None, # 1297 + None, # 1298 + None, # 1299 + None, # 1300 + None, # 1301 + None, # 1302 + None, # 1303 + None, # 1304 + None, # 1305 + None, # 1306 + None, # 1307 + None, # 1308 + None, # 1309 + None, # 1310 + None, # 1311 + None, # 1312 + None, # 1313 + None, # 1314 + None, # 1315 + None, # 1316 + None, # 1317 + None, # 1318 + None, # 1319 + None, # 1320 + None, # 1321 + None, # 1322 + None, # 1323 + None, # 1324 + None, # 1325 + None, # 1326 + None, # 1327 + None, # 1328 + None, # 1329 + None, # 1330 + None, # 1331 + None, # 1332 + None, # 1333 + None, # 1334 + None, # 1335 + None, # 1336 + None, # 1337 + None, # 1338 + None, # 1339 + None, # 1340 + None, # 1341 + None, # 1342 + None, # 1343 + None, # 1344 + None, # 1345 + None, # 1346 + None, # 1347 + None, # 1348 + None, # 1349 + None, # 1350 + None, # 1351 + None, # 1352 + None, # 1353 + None, # 1354 + None, # 1355 + None, # 1356 + None, # 1357 + None, # 1358 + None, # 1359 + None, # 1360 + None, # 1361 + None, # 1362 + None, # 1363 + None, # 1364 + None, # 1365 + None, # 1366 + None, # 1367 + None, # 1368 + None, # 1369 + None, # 1370 + None, # 1371 + None, # 1372 + None, # 1373 + None, # 1374 + None, # 1375 + None, # 1376 + None, # 1377 + None, # 1378 + None, # 1379 + None, # 1380 + None, # 1381 + None, # 1382 + None, # 1383 + None, # 1384 + None, # 1385 + None, # 1386 + None, # 1387 + None, # 1388 + None, # 1389 + None, # 1390 + None, # 1391 + None, # 1392 + None, # 1393 + None, # 1394 + None, # 1395 + None, # 1396 + None, # 1397 + None, # 1398 + None, # 1399 + None, # 1400 + None, # 1401 + None, # 1402 + None, # 1403 + None, # 1404 + None, # 1405 + None, # 1406 + None, # 1407 + None, # 1408 + None, # 1409 + None, # 1410 + None, # 1411 + None, # 1412 + None, # 1413 + None, # 1414 + None, # 1415 + None, # 1416 + None, # 1417 + None, # 1418 + None, # 1419 + None, # 1420 + None, # 1421 + None, # 1422 + None, # 1423 + None, # 1424 + None, # 1425 + None, # 1426 + None, # 1427 + None, # 1428 + None, # 1429 + None, # 1430 + None, # 1431 + None, # 1432 + None, # 1433 + None, # 1434 + None, # 1435 + None, # 1436 + None, # 1437 + None, # 1438 + None, # 1439 + None, # 1440 + None, # 1441 + None, # 1442 + None, # 1443 + None, # 1444 + None, # 1445 + None, # 1446 + None, # 1447 + None, # 1448 + None, # 1449 + None, # 1450 + None, # 1451 + None, # 1452 + None, # 1453 + None, # 1454 + None, # 1455 + None, # 1456 + None, # 1457 + None, # 1458 + None, # 1459 + None, # 1460 + None, # 1461 + None, # 1462 + None, # 1463 + None, # 1464 + None, # 1465 + None, # 1466 + None, # 1467 + None, # 1468 + None, # 1469 + None, # 1470 + None, # 1471 + None, # 1472 + None, # 1473 + None, # 1474 + None, # 1475 + None, # 1476 + None, # 1477 + None, # 1478 + None, # 1479 + None, # 1480 + None, # 1481 + None, # 1482 + None, # 1483 + None, # 1484 + None, # 1485 + None, # 1486 + None, # 1487 + None, # 1488 + None, # 1489 + None, # 1490 + None, # 1491 + None, # 1492 + None, # 1493 + None, # 1494 + None, # 1495 + None, # 1496 + None, # 1497 + None, # 1498 + None, # 1499 + None, # 1500 + None, # 1501 + None, # 1502 + None, # 1503 + None, # 1504 + None, # 1505 + None, # 1506 + None, # 1507 + None, # 1508 + None, # 1509 + None, # 1510 + None, # 1511 + None, # 1512 + None, # 1513 + None, # 1514 + None, # 1515 + None, # 1516 + None, # 1517 + None, # 1518 + None, # 1519 + None, # 1520 + None, # 1521 + None, # 1522 + None, # 1523 + None, # 1524 + None, # 1525 + None, # 1526 + None, # 1527 + None, # 1528 + None, # 1529 + None, # 1530 + None, # 1531 + None, # 1532 + None, # 1533 + None, # 1534 + None, # 1535 + None, # 1536 + None, # 1537 + None, # 1538 + None, # 1539 + None, # 1540 + None, # 1541 + None, # 1542 + None, # 1543 + None, # 1544 + None, # 1545 + None, # 1546 + None, # 1547 + None, # 1548 + None, # 1549 + None, # 1550 + None, # 1551 + None, # 1552 + None, # 1553 + None, # 1554 + None, # 1555 + None, # 1556 + None, # 1557 + None, # 1558 + None, # 1559 + None, # 1560 + None, # 1561 + None, # 1562 + None, # 1563 + None, # 1564 + None, # 1565 + None, # 1566 + None, # 1567 + None, # 1568 + None, # 1569 + None, # 1570 + None, # 1571 + None, # 1572 + None, # 1573 + None, # 1574 + None, # 1575 + None, # 1576 + None, # 1577 + None, # 1578 + None, # 1579 + None, # 1580 + None, # 1581 + None, # 1582 + None, # 1583 + None, # 1584 + None, # 1585 + None, # 1586 + None, # 1587 + None, # 1588 + None, # 1589 + None, # 1590 + None, # 1591 + None, # 1592 + None, # 1593 + None, # 1594 + None, # 1595 + None, # 1596 + None, # 1597 + None, # 1598 + None, # 1599 + None, # 1600 + None, # 1601 + None, # 1602 + None, # 1603 + None, # 1604 + None, # 1605 + None, # 1606 + None, # 1607 + None, # 1608 + None, # 1609 + None, # 1610 + None, # 1611 + None, # 1612 + None, # 1613 + None, # 1614 + None, # 1615 + None, # 1616 + None, # 1617 + None, # 1618 + None, # 1619 + None, # 1620 + None, # 1621 + None, # 1622 + None, # 1623 + None, # 1624 + None, # 1625 + None, # 1626 + None, # 1627 + None, # 1628 + None, # 1629 + None, # 1630 + None, # 1631 + None, # 1632 + None, # 1633 + None, # 1634 + None, # 1635 + None, # 1636 + None, # 1637 + None, # 1638 + None, # 1639 + None, # 1640 + None, # 1641 + None, # 1642 + None, # 1643 + None, # 1644 + None, # 1645 + None, # 1646 + None, # 1647 + None, # 1648 + None, # 1649 + None, # 1650 + None, # 1651 + None, # 1652 + None, # 1653 + None, # 1654 + None, # 1655 + None, # 1656 + None, # 1657 + None, # 1658 + None, # 1659 + None, # 1660 + None, # 1661 + None, # 1662 + None, # 1663 + None, # 1664 + None, # 1665 + None, # 1666 + None, # 1667 + None, # 1668 + None, # 1669 + None, # 1670 + None, # 1671 + None, # 1672 + None, # 1673 + None, # 1674 + None, # 1675 + None, # 1676 + None, # 1677 + None, # 1678 + None, # 1679 + None, # 1680 + None, # 1681 + None, # 1682 + None, # 1683 + None, # 1684 + None, # 1685 + None, # 1686 + None, # 1687 + None, # 1688 + None, # 1689 + None, # 1690 + None, # 1691 + None, # 1692 + None, # 1693 + None, # 1694 + None, # 1695 + None, # 1696 + None, # 1697 + None, # 1698 + None, # 1699 + None, # 1700 + None, # 1701 + None, # 1702 + None, # 1703 + None, # 1704 + None, # 1705 + None, # 1706 + None, # 1707 + None, # 1708 + None, # 1709 + None, # 1710 + None, # 1711 + None, # 1712 + None, # 1713 + None, # 1714 + None, # 1715 + None, # 1716 + None, # 1717 + None, # 1718 + None, # 1719 + None, # 1720 + None, # 1721 + None, # 1722 + None, # 1723 + None, # 1724 + None, # 1725 + None, # 1726 + None, # 1727 + None, # 1728 + None, # 1729 + None, # 1730 + None, # 1731 + None, # 1732 + None, # 1733 + None, # 1734 + None, # 1735 + None, # 1736 + None, # 1737 + None, # 1738 + None, # 1739 + None, # 1740 + None, # 1741 + None, # 1742 + None, # 1743 + None, # 1744 + None, # 1745 + None, # 1746 + None, # 1747 + None, # 1748 + None, # 1749 + None, # 1750 + None, # 1751 + None, # 1752 + None, # 1753 + None, # 1754 + None, # 1755 + None, # 1756 + None, # 1757 + None, # 1758 + None, # 1759 + None, # 1760 + None, # 1761 + None, # 1762 + None, # 1763 + None, # 1764 + None, # 1765 + None, # 1766 + None, # 1767 + None, # 1768 + None, # 1769 + None, # 1770 + None, # 1771 + None, # 1772 + None, # 1773 + None, # 1774 + None, # 1775 + None, # 1776 + None, # 1777 + None, # 1778 + None, # 1779 + None, # 1780 + None, # 1781 + None, # 1782 + None, # 1783 + None, # 1784 + None, # 1785 + None, # 1786 + None, # 1787 + None, # 1788 + None, # 1789 + None, # 1790 + None, # 1791 + None, # 1792 + None, # 1793 + None, # 1794 + None, # 1795 + None, # 1796 + None, # 1797 + None, # 1798 + None, # 1799 + None, # 1800 + None, # 1801 + None, # 1802 + None, # 1803 + None, # 1804 + None, # 1805 + None, # 1806 + None, # 1807 + None, # 1808 + None, # 1809 + None, # 1810 + None, # 1811 + None, # 1812 + None, # 1813 + None, # 1814 + None, # 1815 + None, # 1816 + None, # 1817 + None, # 1818 + None, # 1819 + None, # 1820 + None, # 1821 + None, # 1822 + None, # 1823 + None, # 1824 + None, # 1825 + None, # 1826 + None, # 1827 + None, # 1828 + None, # 1829 + None, # 1830 + None, # 1831 + None, # 1832 + None, # 1833 + None, # 1834 + None, # 1835 + None, # 1836 + None, # 1837 + None, # 1838 + None, # 1839 + None, # 1840 + None, # 1841 + None, # 1842 + None, # 1843 + None, # 1844 + None, # 1845 + None, # 1846 + None, # 1847 + None, # 1848 + None, # 1849 + None, # 1850 + None, # 1851 + None, # 1852 + None, # 1853 + None, # 1854 + None, # 1855 + None, # 1856 + None, # 1857 + None, # 1858 + None, # 1859 + None, # 1860 + None, # 1861 + None, # 1862 + None, # 1863 + None, # 1864 + None, # 1865 + None, # 1866 + None, # 1867 + None, # 1868 + None, # 1869 + None, # 1870 + None, # 1871 + None, # 1872 + None, # 1873 + None, # 1874 + None, # 1875 + None, # 1876 + None, # 1877 + None, # 1878 + None, # 1879 + None, # 1880 + None, # 1881 + None, # 1882 + None, # 1883 + None, # 1884 + None, # 1885 + None, # 1886 + None, # 1887 + None, # 1888 + None, # 1889 + None, # 1890 + None, # 1891 + None, # 1892 + None, # 1893 + None, # 1894 + None, # 1895 + None, # 1896 + None, # 1897 + None, # 1898 + None, # 1899 + None, # 1900 + None, # 1901 + None, # 1902 + None, # 1903 + None, # 1904 + None, # 1905 + None, # 1906 + None, # 1907 + None, # 1908 + None, # 1909 + None, # 1910 + None, # 1911 + None, # 1912 + None, # 1913 + None, # 1914 + None, # 1915 + None, # 1916 + None, # 1917 + None, # 1918 + None, # 1919 + None, # 1920 + None, # 1921 + None, # 1922 + None, # 1923 + None, # 1924 + None, # 1925 + None, # 1926 + None, # 1927 + None, # 1928 + None, # 1929 + None, # 1930 + None, # 1931 + None, # 1932 + None, # 1933 + None, # 1934 + None, # 1935 + None, # 1936 + None, # 1937 + None, # 1938 + None, # 1939 + None, # 1940 + None, # 1941 + None, # 1942 + None, # 1943 + None, # 1944 + None, # 1945 + None, # 1946 + None, # 1947 + None, # 1948 + None, # 1949 + None, # 1950 + None, # 1951 + None, # 1952 + None, # 1953 + None, # 1954 + None, # 1955 + None, # 1956 + None, # 1957 + None, # 1958 + None, # 1959 + None, # 1960 + None, # 1961 + None, # 1962 + None, # 1963 + None, # 1964 + None, # 1965 + None, # 1966 + None, # 1967 + None, # 1968 + None, # 1969 + None, # 1970 + None, # 1971 + None, # 1972 + None, # 1973 + None, # 1974 + None, # 1975 + None, # 1976 + None, # 1977 + None, # 1978 + None, # 1979 + None, # 1980 + None, # 1981 + None, # 1982 + None, # 1983 + None, # 1984 + None, # 1985 + None, # 1986 + None, # 1987 + None, # 1988 + None, # 1989 + None, # 1990 + None, # 1991 + None, # 1992 + None, # 1993 + None, # 1994 + None, # 1995 + None, # 1996 + None, # 1997 + None, # 1998 + None, # 1999 + None, # 2000 + None, # 2001 + None, # 2002 + None, # 2003 + None, # 2004 + None, # 2005 + None, # 2006 + None, # 2007 + None, # 2008 + None, # 2009 + None, # 2010 + None, # 2011 + None, # 2012 + None, # 2013 + None, # 2014 + None, # 2015 + None, # 2016 + None, # 2017 + None, # 2018 + None, # 2019 + None, # 2020 + None, # 2021 + None, # 2022 + None, # 2023 + None, # 2024 + None, # 2025 + None, # 2026 + None, # 2027 + None, # 2028 + None, # 2029 + None, # 2030 + None, # 2031 + None, # 2032 + None, # 2033 + None, # 2034 + None, # 2035 + None, # 2036 + None, # 2037 + None, # 2038 + None, # 2039 + None, # 2040 + None, # 2041 + None, # 2042 + None, # 2043 + None, # 2044 + None, # 2045 + None, # 2046 + None, # 2047 + None, # 2048 + None, # 2049 + None, # 2050 + None, # 2051 + None, # 2052 + None, # 2053 + None, # 2054 + None, # 2055 + None, # 2056 + None, # 2057 + None, # 2058 + None, # 2059 + None, # 2060 + None, # 2061 + None, # 2062 + None, # 2063 + None, # 2064 + None, # 2065 + None, # 2066 + None, # 2067 + None, # 2068 + None, # 2069 + None, # 2070 + None, # 2071 + None, # 2072 + None, # 2073 + None, # 2074 + None, # 2075 + None, # 2076 + None, # 2077 + None, # 2078 + None, # 2079 + None, # 2080 + None, # 2081 + None, # 2082 + None, # 2083 + None, # 2084 + None, # 2085 + None, # 2086 + None, # 2087 + None, # 2088 + None, # 2089 + None, # 2090 + None, # 2091 + None, # 2092 + None, # 2093 + None, # 2094 + None, # 2095 + None, # 2096 + None, # 2097 + None, # 2098 + None, # 2099 + None, # 2100 + None, # 2101 + None, # 2102 + None, # 2103 + None, # 2104 + None, # 2105 + None, # 2106 + None, # 2107 + None, # 2108 + None, # 2109 + None, # 2110 + None, # 2111 + None, # 2112 + None, # 2113 + None, # 2114 + None, # 2115 + None, # 2116 + None, # 2117 + None, # 2118 + None, # 2119 + None, # 2120 + None, # 2121 + None, # 2122 + None, # 2123 + None, # 2124 + None, # 2125 + None, # 2126 + None, # 2127 + None, # 2128 + None, # 2129 + None, # 2130 + None, # 2131 + None, # 2132 + None, # 2133 + None, # 2134 + None, # 2135 + None, # 2136 + None, # 2137 + None, # 2138 + None, # 2139 + None, # 2140 + None, # 2141 + None, # 2142 + None, # 2143 + None, # 2144 + None, # 2145 + None, # 2146 + None, # 2147 + None, # 2148 + None, # 2149 + None, # 2150 + None, # 2151 + None, # 2152 + None, # 2153 + None, # 2154 + None, # 2155 + None, # 2156 + None, # 2157 + None, # 2158 + None, # 2159 + None, # 2160 + None, # 2161 + None, # 2162 + None, # 2163 + None, # 2164 + None, # 2165 + None, # 2166 + None, # 2167 + None, # 2168 + None, # 2169 + None, # 2170 + None, # 2171 + None, # 2172 + None, # 2173 + None, # 2174 + None, # 2175 + None, # 2176 + None, # 2177 + None, # 2178 + None, # 2179 + None, # 2180 + None, # 2181 + None, # 2182 + None, # 2183 + None, # 2184 + None, # 2185 + None, # 2186 + None, # 2187 + None, # 2188 + None, # 2189 + None, # 2190 + None, # 2191 + None, # 2192 + None, # 2193 + None, # 2194 + None, # 2195 + None, # 2196 + None, # 2197 + None, # 2198 + None, # 2199 + None, # 2200 + None, # 2201 + None, # 2202 + None, # 2203 + None, # 2204 + None, # 2205 + None, # 2206 + None, # 2207 + None, # 2208 + None, # 2209 + None, # 2210 + None, # 2211 + None, # 2212 + None, # 2213 + None, # 2214 + None, # 2215 + None, # 2216 + None, # 2217 + None, # 2218 + None, # 2219 + None, # 2220 + None, # 2221 + None, # 2222 + None, # 2223 + None, # 2224 + None, # 2225 + None, # 2226 + None, # 2227 + None, # 2228 + None, # 2229 + None, # 2230 + None, # 2231 + None, # 2232 + None, # 2233 + None, # 2234 + None, # 2235 + None, # 2236 + None, # 2237 + None, # 2238 + None, # 2239 + None, # 2240 + None, # 2241 + None, # 2242 + None, # 2243 + None, # 2244 + None, # 2245 + None, # 2246 + None, # 2247 + None, # 2248 + None, # 2249 + None, # 2250 + None, # 2251 + None, # 2252 + None, # 2253 + None, # 2254 + None, # 2255 + None, # 2256 + None, # 2257 + None, # 2258 + None, # 2259 + None, # 2260 + None, # 2261 + None, # 2262 + None, # 2263 + None, # 2264 + None, # 2265 + None, # 2266 + None, # 2267 + None, # 2268 + None, # 2269 + None, # 2270 + None, # 2271 + None, # 2272 + None, # 2273 + None, # 2274 + None, # 2275 + None, # 2276 + None, # 2277 + None, # 2278 + None, # 2279 + None, # 2280 + None, # 2281 + None, # 2282 + None, # 2283 + None, # 2284 + None, # 2285 + None, # 2286 + None, # 2287 + None, # 2288 + None, # 2289 + None, # 2290 + None, # 2291 + None, # 2292 + None, # 2293 + None, # 2294 + None, # 2295 + None, # 2296 + None, # 2297 + None, # 2298 + None, # 2299 + None, # 2300 + None, # 2301 + None, # 2302 + None, # 2303 + None, # 2304 + None, # 2305 + None, # 2306 + None, # 2307 + None, # 2308 + None, # 2309 + None, # 2310 + None, # 2311 + None, # 2312 + None, # 2313 + None, # 2314 + None, # 2315 + None, # 2316 + None, # 2317 + None, # 2318 + None, # 2319 + None, # 2320 + None, # 2321 + None, # 2322 + None, # 2323 + None, # 2324 + None, # 2325 + None, # 2326 + None, # 2327 + None, # 2328 + None, # 2329 + None, # 2330 + None, # 2331 + None, # 2332 + None, # 2333 + None, # 2334 + None, # 2335 + None, # 2336 + None, # 2337 + None, # 2338 + None, # 2339 + None, # 2340 + None, # 2341 + None, # 2342 + None, # 2343 + None, # 2344 + None, # 2345 + None, # 2346 + None, # 2347 + None, # 2348 + None, # 2349 + None, # 2350 + None, # 2351 + None, # 2352 + None, # 2353 + None, # 2354 + None, # 2355 + None, # 2356 + None, # 2357 + None, # 2358 + None, # 2359 + None, # 2360 + None, # 2361 + None, # 2362 + None, # 2363 + None, # 2364 + None, # 2365 + None, # 2366 + None, # 2367 + None, # 2368 + None, # 2369 + None, # 2370 + None, # 2371 + None, # 2372 + None, # 2373 + None, # 2374 + None, # 2375 + None, # 2376 + None, # 2377 + None, # 2378 + None, # 2379 + None, # 2380 + None, # 2381 + None, # 2382 + None, # 2383 + None, # 2384 + None, # 2385 + None, # 2386 + None, # 2387 + None, # 2388 + None, # 2389 + None, # 2390 + None, # 2391 + None, # 2392 + None, # 2393 + None, # 2394 + None, # 2395 + None, # 2396 + None, # 2397 + None, # 2398 + None, # 2399 + None, # 2400 + None, # 2401 + None, # 2402 + None, # 2403 + None, # 2404 + None, # 2405 + None, # 2406 + None, # 2407 + None, # 2408 + None, # 2409 + None, # 2410 + None, # 2411 + None, # 2412 + None, # 2413 + None, # 2414 + None, # 2415 + None, # 2416 + None, # 2417 + None, # 2418 + None, # 2419 + None, # 2420 + None, # 2421 + None, # 2422 + None, # 2423 + None, # 2424 + None, # 2425 + None, # 2426 + None, # 2427 + None, # 2428 + None, # 2429 + None, # 2430 + None, # 2431 + None, # 2432 + None, # 2433 + None, # 2434 + None, # 2435 + None, # 2436 + None, # 2437 + None, # 2438 + None, # 2439 + None, # 2440 + None, # 2441 + None, # 2442 + None, # 2443 + None, # 2444 + None, # 2445 + None, # 2446 + None, # 2447 + None, # 2448 + None, # 2449 + None, # 2450 + None, # 2451 + None, # 2452 + None, # 2453 + None, # 2454 + None, # 2455 + None, # 2456 + None, # 2457 + None, # 2458 + None, # 2459 + None, # 2460 + None, # 2461 + None, # 2462 + None, # 2463 + None, # 2464 + None, # 2465 + None, # 2466 + None, # 2467 + None, # 2468 + None, # 2469 + None, # 2470 + None, # 2471 + None, # 2472 + None, # 2473 + None, # 2474 + None, # 2475 + None, # 2476 + None, # 2477 + None, # 2478 + None, # 2479 + None, # 2480 + None, # 2481 + None, # 2482 + None, # 2483 + None, # 2484 + None, # 2485 + None, # 2486 + None, # 2487 + None, # 2488 + None, # 2489 + None, # 2490 + None, # 2491 + None, # 2492 + None, # 2493 + None, # 2494 + None, # 2495 + None, # 2496 + None, # 2497 + None, # 2498 + None, # 2499 + None, # 2500 + None, # 2501 + None, # 2502 + None, # 2503 + None, # 2504 + None, # 2505 + None, # 2506 + None, # 2507 + None, # 2508 + None, # 2509 + None, # 2510 + None, # 2511 + None, # 2512 + None, # 2513 + None, # 2514 + None, # 2515 + None, # 2516 + None, # 2517 + None, # 2518 + None, # 2519 + None, # 2520 + None, # 2521 + None, # 2522 + None, # 2523 + None, # 2524 + None, # 2525 + None, # 2526 + None, # 2527 + None, # 2528 + None, # 2529 + None, # 2530 + None, # 2531 + None, # 2532 + None, # 2533 + None, # 2534 + None, # 2535 + None, # 2536 + None, # 2537 + None, # 2538 + None, # 2539 + None, # 2540 + None, # 2541 + None, # 2542 + None, # 2543 + None, # 2544 + None, # 2545 + None, # 2546 + None, # 2547 + None, # 2548 + None, # 2549 + None, # 2550 + None, # 2551 + None, # 2552 + None, # 2553 + None, # 2554 + None, # 2555 + None, # 2556 + None, # 2557 + None, # 2558 + None, # 2559 + None, # 2560 + None, # 2561 + None, # 2562 + None, # 2563 + None, # 2564 + None, # 2565 + None, # 2566 + None, # 2567 + None, # 2568 + None, # 2569 + None, # 2570 + None, # 2571 + None, # 2572 + None, # 2573 + None, # 2574 + None, # 2575 + None, # 2576 + None, # 2577 + None, # 2578 + None, # 2579 + None, # 2580 + None, # 2581 + None, # 2582 + None, # 2583 + None, # 2584 + None, # 2585 + None, # 2586 + None, # 2587 + None, # 2588 + None, # 2589 + None, # 2590 + None, # 2591 + None, # 2592 + None, # 2593 + None, # 2594 + None, # 2595 + None, # 2596 + None, # 2597 + None, # 2598 + None, # 2599 + None, # 2600 + None, # 2601 + None, # 2602 + None, # 2603 + None, # 2604 + None, # 2605 + None, # 2606 + None, # 2607 + None, # 2608 + None, # 2609 + None, # 2610 + None, # 2611 + None, # 2612 + None, # 2613 + None, # 2614 + None, # 2615 + None, # 2616 + None, # 2617 + None, # 2618 + None, # 2619 + None, # 2620 + None, # 2621 + None, # 2622 + None, # 2623 + None, # 2624 + None, # 2625 + None, # 2626 + None, # 2627 + None, # 2628 + None, # 2629 + None, # 2630 + None, # 2631 + None, # 2632 + None, # 2633 + None, # 2634 + None, # 2635 + None, # 2636 + None, # 2637 + None, # 2638 + None, # 2639 + None, # 2640 + None, # 2641 + None, # 2642 + None, # 2643 + None, # 2644 + None, # 2645 + None, # 2646 + None, # 2647 + None, # 2648 + None, # 2649 + None, # 2650 + None, # 2651 + None, # 2652 + None, # 2653 + None, # 2654 + None, # 2655 + None, # 2656 + None, # 2657 + None, # 2658 + None, # 2659 + None, # 2660 + None, # 2661 + None, # 2662 + None, # 2663 + None, # 2664 + None, # 2665 + None, # 2666 + None, # 2667 + None, # 2668 + None, # 2669 + None, # 2670 + None, # 2671 + None, # 2672 + None, # 2673 + None, # 2674 + None, # 2675 + None, # 2676 + None, # 2677 + None, # 2678 + None, # 2679 + None, # 2680 + None, # 2681 + None, # 2682 + None, # 2683 + None, # 2684 + None, # 2685 + None, # 2686 + None, # 2687 + None, # 2688 + None, # 2689 + None, # 2690 + None, # 2691 + None, # 2692 + None, # 2693 + None, # 2694 + None, # 2695 + None, # 2696 + None, # 2697 + None, # 2698 + None, # 2699 + None, # 2700 + None, # 2701 + None, # 2702 + None, # 2703 + None, # 2704 + None, # 2705 + None, # 2706 + None, # 2707 + None, # 2708 + None, # 2709 + None, # 2710 + None, # 2711 + None, # 2712 + None, # 2713 + None, # 2714 + None, # 2715 + None, # 2716 + None, # 2717 + None, # 2718 + None, # 2719 + None, # 2720 + None, # 2721 + None, # 2722 + None, # 2723 + None, # 2724 + None, # 2725 + None, # 2726 + None, # 2727 + None, # 2728 + None, # 2729 + None, # 2730 + None, # 2731 + None, # 2732 + None, # 2733 + None, # 2734 + None, # 2735 + None, # 2736 + None, # 2737 + None, # 2738 + None, # 2739 + None, # 2740 + None, # 2741 + None, # 2742 + None, # 2743 + None, # 2744 + None, # 2745 + None, # 2746 + None, # 2747 + None, # 2748 + None, # 2749 + None, # 2750 + None, # 2751 + None, # 2752 + None, # 2753 + None, # 2754 + None, # 2755 + None, # 2756 + None, # 2757 + None, # 2758 + None, # 2759 + None, # 2760 + None, # 2761 + None, # 2762 + None, # 2763 + None, # 2764 + None, # 2765 + None, # 2766 + None, # 2767 + None, # 2768 + None, # 2769 + None, # 2770 + None, # 2771 + None, # 2772 + None, # 2773 + None, # 2774 + None, # 2775 + None, # 2776 + None, # 2777 + None, # 2778 + None, # 2779 + None, # 2780 + None, # 2781 + None, # 2782 + None, # 2783 + None, # 2784 + None, # 2785 + None, # 2786 + None, # 2787 + None, # 2788 + None, # 2789 + None, # 2790 + None, # 2791 + None, # 2792 + None, # 2793 + None, # 2794 + None, # 2795 + None, # 2796 + None, # 2797 + None, # 2798 + None, # 2799 + None, # 2800 + None, # 2801 + None, # 2802 + None, # 2803 + None, # 2804 + None, # 2805 + None, # 2806 + None, # 2807 + None, # 2808 + None, # 2809 + None, # 2810 + None, # 2811 + None, # 2812 + None, # 2813 + None, # 2814 + None, # 2815 + None, # 2816 + None, # 2817 + None, # 2818 + None, # 2819 + None, # 2820 + None, # 2821 + None, # 2822 + None, # 2823 + None, # 2824 + None, # 2825 + None, # 2826 + None, # 2827 + None, # 2828 + None, # 2829 + None, # 2830 + None, # 2831 + None, # 2832 + None, # 2833 + None, # 2834 + None, # 2835 + None, # 2836 + None, # 2837 + None, # 2838 + None, # 2839 + None, # 2840 + None, # 2841 + None, # 2842 + None, # 2843 + None, # 2844 + None, # 2845 + None, # 2846 + None, # 2847 + None, # 2848 + None, # 2849 + None, # 2850 + None, # 2851 + None, # 2852 + None, # 2853 + None, # 2854 + None, # 2855 + None, # 2856 + None, # 2857 + None, # 2858 + None, # 2859 + None, # 2860 + None, # 2861 + None, # 2862 + None, # 2863 + None, # 2864 + None, # 2865 + None, # 2866 + None, # 2867 + None, # 2868 + None, # 2869 + None, # 2870 + None, # 2871 + None, # 2872 + None, # 2873 + None, # 2874 + None, # 2875 + None, # 2876 + None, # 2877 + None, # 2878 + None, # 2879 + None, # 2880 + None, # 2881 + None, # 2882 + None, # 2883 + None, # 2884 + None, # 2885 + None, # 2886 + None, # 2887 + None, # 2888 + None, # 2889 + None, # 2890 + None, # 2891 + None, # 2892 + None, # 2893 + None, # 2894 + None, # 2895 + None, # 2896 + None, # 2897 + None, # 2898 + None, # 2899 + None, # 2900 + None, # 2901 + None, # 2902 + None, # 2903 + None, # 2904 + None, # 2905 + None, # 2906 + None, # 2907 + None, # 2908 + None, # 2909 + None, # 2910 + None, # 2911 + None, # 2912 + None, # 2913 + None, # 2914 + None, # 2915 + None, # 2916 + None, # 2917 + None, # 2918 + None, # 2919 + None, # 2920 + None, # 2921 + None, # 2922 + None, # 2923 + None, # 2924 + None, # 2925 + None, # 2926 + None, # 2927 + None, # 2928 + None, # 2929 + None, # 2930 + None, # 2931 + None, # 2932 + None, # 2933 + None, # 2934 + None, # 2935 + None, # 2936 + None, # 2937 + None, # 2938 + None, # 2939 + None, # 2940 + None, # 2941 + None, # 2942 + None, # 2943 + None, # 2944 + None, # 2945 + None, # 2946 + None, # 2947 + None, # 2948 + None, # 2949 + None, # 2950 + None, # 2951 + None, # 2952 + None, # 2953 + None, # 2954 + None, # 2955 + None, # 2956 + None, # 2957 + None, # 2958 + None, # 2959 + None, # 2960 + None, # 2961 + None, # 2962 + None, # 2963 + None, # 2964 + None, # 2965 + None, # 2966 + None, # 2967 + None, # 2968 + None, # 2969 + None, # 2970 + None, # 2971 + None, # 2972 + None, # 2973 + None, # 2974 + None, # 2975 + None, # 2976 + None, # 2977 + None, # 2978 + None, # 2979 + None, # 2980 + None, # 2981 + None, # 2982 + None, # 2983 + None, # 2984 + None, # 2985 + None, # 2986 + None, # 2987 + None, # 2988 + None, # 2989 + None, # 2990 + None, # 2991 + None, # 2992 + None, # 2993 + None, # 2994 + None, # 2995 + None, # 2996 + None, # 2997 + None, # 2998 + None, # 2999 + None, # 3000 + None, # 3001 + None, # 3002 + None, # 3003 + None, # 3004 + None, # 3005 + None, # 3006 + None, # 3007 + None, # 3008 + None, # 3009 + None, # 3010 + None, # 3011 + None, # 3012 + None, # 3013 + None, # 3014 + None, # 3015 + None, # 3016 + None, # 3017 + None, # 3018 + None, # 3019 + None, # 3020 + None, # 3021 + None, # 3022 + None, # 3023 + None, # 3024 + None, # 3025 + None, # 3026 + None, # 3027 + None, # 3028 + None, # 3029 + None, # 3030 + None, # 3031 + None, # 3032 + None, # 3033 + None, # 3034 + None, # 3035 + None, # 3036 + None, # 3037 + None, # 3038 + None, # 3039 + None, # 3040 + None, # 3041 + None, # 3042 + None, # 3043 + None, # 3044 + None, # 3045 + None, # 3046 + None, # 3047 + None, # 3048 + None, # 3049 + None, # 3050 + None, # 3051 + None, # 3052 + None, # 3053 + None, # 3054 + None, # 3055 + None, # 3056 + None, # 3057 + None, # 3058 + None, # 3059 + None, # 3060 + None, # 3061 + None, # 3062 + None, # 3063 + None, # 3064 + None, # 3065 + None, # 3066 + None, # 3067 + None, # 3068 + None, # 3069 + None, # 3070 + None, # 3071 + None, # 3072 + None, # 3073 + None, # 3074 + None, # 3075 + None, # 3076 + None, # 3077 + None, # 3078 + None, # 3079 + None, # 3080 + None, # 3081 + None, # 3082 + None, # 3083 + None, # 3084 + None, # 3085 + None, # 3086 + None, # 3087 + None, # 3088 + None, # 3089 + None, # 3090 + None, # 3091 + None, # 3092 + None, # 3093 + None, # 3094 + None, # 3095 + None, # 3096 + None, # 3097 + None, # 3098 + None, # 3099 + None, # 3100 + None, # 3101 + None, # 3102 + None, # 3103 + None, # 3104 + None, # 3105 + None, # 3106 + None, # 3107 + None, # 3108 + None, # 3109 + None, # 3110 + None, # 3111 + None, # 3112 + None, # 3113 + None, # 3114 + None, # 3115 + None, # 3116 + None, # 3117 + None, # 3118 + None, # 3119 + None, # 3120 + None, # 3121 + None, # 3122 + None, # 3123 + None, # 3124 + None, # 3125 + None, # 3126 + None, # 3127 + None, # 3128 + None, # 3129 + None, # 3130 + None, # 3131 + None, # 3132 + None, # 3133 + None, # 3134 + None, # 3135 + None, # 3136 + None, # 3137 + None, # 3138 + None, # 3139 + None, # 3140 + None, # 3141 + None, # 3142 + None, # 3143 + None, # 3144 + None, # 3145 + None, # 3146 + None, # 3147 + None, # 3148 + None, # 3149 + None, # 3150 + None, # 3151 + None, # 3152 + None, # 3153 + None, # 3154 + None, # 3155 + None, # 3156 + None, # 3157 + None, # 3158 + None, # 3159 + None, # 3160 + None, # 3161 + None, # 3162 + None, # 3163 + None, # 3164 + None, # 3165 + None, # 3166 + None, # 3167 + None, # 3168 + None, # 3169 + None, # 3170 + None, # 3171 + None, # 3172 + None, # 3173 + None, # 3174 + None, # 3175 + None, # 3176 + None, # 3177 + None, # 3178 + None, # 3179 + None, # 3180 + None, # 3181 + None, # 3182 + None, # 3183 + None, # 3184 + None, # 3185 + None, # 3186 + None, # 3187 + None, # 3188 + None, # 3189 + None, # 3190 + None, # 3191 + None, # 3192 + None, # 3193 + None, # 3194 + None, # 3195 + None, # 3196 + None, # 3197 + None, # 3198 + None, # 3199 + None, # 3200 + None, # 3201 + None, # 3202 + None, # 3203 + None, # 3204 + None, # 3205 + None, # 3206 + None, # 3207 + None, # 3208 + None, # 3209 + None, # 3210 + None, # 3211 + None, # 3212 + None, # 3213 + None, # 3214 + None, # 3215 + None, # 3216 + None, # 3217 + None, # 3218 + None, # 3219 + None, # 3220 + None, # 3221 + None, # 3222 + None, # 3223 + None, # 3224 + None, # 3225 + None, # 3226 + None, # 3227 + None, # 3228 + None, # 3229 + None, # 3230 + None, # 3231 + None, # 3232 + None, # 3233 + None, # 3234 + None, # 3235 + None, # 3236 + None, # 3237 + None, # 3238 + None, # 3239 + None, # 3240 + None, # 3241 + None, # 3242 + None, # 3243 + None, # 3244 + None, # 3245 + None, # 3246 + None, # 3247 + None, # 3248 + None, # 3249 + None, # 3250 + None, # 3251 + None, # 3252 + None, # 3253 + None, # 3254 + None, # 3255 + None, # 3256 + None, # 3257 + None, # 3258 + None, # 3259 + None, # 3260 + None, # 3261 + None, # 3262 + None, # 3263 + None, # 3264 + None, # 3265 + None, # 3266 + None, # 3267 + None, # 3268 + None, # 3269 + None, # 3270 + None, # 3271 + None, # 3272 + None, # 3273 + None, # 3274 + None, # 3275 + None, # 3276 + None, # 3277 + None, # 3278 + None, # 3279 + None, # 3280 + None, # 3281 + None, # 3282 + None, # 3283 + None, # 3284 + None, # 3285 + None, # 3286 + None, # 3287 + None, # 3288 + None, # 3289 + None, # 3290 + None, # 3291 + None, # 3292 + None, # 3293 + None, # 3294 + None, # 3295 + None, # 3296 + None, # 3297 + None, # 3298 + None, # 3299 + None, # 3300 + None, # 3301 + None, # 3302 + None, # 3303 + None, # 3304 + None, # 3305 + None, # 3306 + None, # 3307 + None, # 3308 + None, # 3309 + None, # 3310 + None, # 3311 + None, # 3312 + None, # 3313 + None, # 3314 + None, # 3315 + None, # 3316 + None, # 3317 + None, # 3318 + None, # 3319 + None, # 3320 + None, # 3321 + None, # 3322 + None, # 3323 + None, # 3324 + None, # 3325 + None, # 3326 + None, # 3327 + None, # 3328 + (3329, TType.STRUCT, 'sessionConf', [TDBSqlSessionConf, None], None, ), # 3329 ) all_structs.append(TGetDelegationTokenResp) TGetDelegationTokenResp.thrift_spec = ( - None, # 0 - (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 - (2, TType.STRING, 'delegationToken', 'UTF8', None, ), # 2 + None, # 0 + (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 + (2, TType.STRING, 'delegationToken', 'UTF8', None, ), # 2 ) all_structs.append(TCancelDelegationTokenReq) TCancelDelegationTokenReq.thrift_spec = ( - None, # 0 - (1, TType.STRUCT, 'sessionHandle', [TSessionHandle, None], None, ), # 1 - (2, TType.STRING, 'delegationToken', 'UTF8', None, ), # 2 - None, # 3 - None, # 4 - None, # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - None, # 1281 - None, # 1282 - None, # 1283 - None, # 1284 - None, # 1285 - None, # 1286 - None, # 1287 - None, # 1288 - None, # 1289 - None, # 1290 - None, # 1291 - None, # 1292 - None, # 1293 - None, # 1294 - None, # 1295 - None, # 1296 - None, # 1297 - None, # 1298 - None, # 1299 - None, # 1300 - None, # 1301 - None, # 1302 - None, # 1303 - None, # 1304 - None, # 1305 - None, # 1306 - None, # 1307 - None, # 1308 - None, # 1309 - None, # 1310 - None, # 1311 - None, # 1312 - None, # 1313 - None, # 1314 - None, # 1315 - None, # 1316 - None, # 1317 - None, # 1318 - None, # 1319 - None, # 1320 - None, # 1321 - None, # 1322 - None, # 1323 - None, # 1324 - None, # 1325 - None, # 1326 - None, # 1327 - None, # 1328 - None, # 1329 - None, # 1330 - None, # 1331 - None, # 1332 - None, # 1333 - None, # 1334 - None, # 1335 - None, # 1336 - None, # 1337 - None, # 1338 - None, # 1339 - None, # 1340 - None, # 1341 - None, # 1342 - None, # 1343 - None, # 1344 - None, # 1345 - None, # 1346 - None, # 1347 - None, # 1348 - None, # 1349 - None, # 1350 - None, # 1351 - None, # 1352 - None, # 1353 - None, # 1354 - None, # 1355 - None, # 1356 - None, # 1357 - None, # 1358 - None, # 1359 - None, # 1360 - None, # 1361 - None, # 1362 - None, # 1363 - None, # 1364 - None, # 1365 - None, # 1366 - None, # 1367 - None, # 1368 - None, # 1369 - None, # 1370 - None, # 1371 - None, # 1372 - None, # 1373 - None, # 1374 - None, # 1375 - None, # 1376 - None, # 1377 - None, # 1378 - None, # 1379 - None, # 1380 - None, # 1381 - None, # 1382 - None, # 1383 - None, # 1384 - None, # 1385 - None, # 1386 - None, # 1387 - None, # 1388 - None, # 1389 - None, # 1390 - None, # 1391 - None, # 1392 - None, # 1393 - None, # 1394 - None, # 1395 - None, # 1396 - None, # 1397 - None, # 1398 - None, # 1399 - None, # 1400 - None, # 1401 - None, # 1402 - None, # 1403 - None, # 1404 - None, # 1405 - None, # 1406 - None, # 1407 - None, # 1408 - None, # 1409 - None, # 1410 - None, # 1411 - None, # 1412 - None, # 1413 - None, # 1414 - None, # 1415 - None, # 1416 - None, # 1417 - None, # 1418 - None, # 1419 - None, # 1420 - None, # 1421 - None, # 1422 - None, # 1423 - None, # 1424 - None, # 1425 - None, # 1426 - None, # 1427 - None, # 1428 - None, # 1429 - None, # 1430 - None, # 1431 - None, # 1432 - None, # 1433 - None, # 1434 - None, # 1435 - None, # 1436 - None, # 1437 - None, # 1438 - None, # 1439 - None, # 1440 - None, # 1441 - None, # 1442 - None, # 1443 - None, # 1444 - None, # 1445 - None, # 1446 - None, # 1447 - None, # 1448 - None, # 1449 - None, # 1450 - None, # 1451 - None, # 1452 - None, # 1453 - None, # 1454 - None, # 1455 - None, # 1456 - None, # 1457 - None, # 1458 - None, # 1459 - None, # 1460 - None, # 1461 - None, # 1462 - None, # 1463 - None, # 1464 - None, # 1465 - None, # 1466 - None, # 1467 - None, # 1468 - None, # 1469 - None, # 1470 - None, # 1471 - None, # 1472 - None, # 1473 - None, # 1474 - None, # 1475 - None, # 1476 - None, # 1477 - None, # 1478 - None, # 1479 - None, # 1480 - None, # 1481 - None, # 1482 - None, # 1483 - None, # 1484 - None, # 1485 - None, # 1486 - None, # 1487 - None, # 1488 - None, # 1489 - None, # 1490 - None, # 1491 - None, # 1492 - None, # 1493 - None, # 1494 - None, # 1495 - None, # 1496 - None, # 1497 - None, # 1498 - None, # 1499 - None, # 1500 - None, # 1501 - None, # 1502 - None, # 1503 - None, # 1504 - None, # 1505 - None, # 1506 - None, # 1507 - None, # 1508 - None, # 1509 - None, # 1510 - None, # 1511 - None, # 1512 - None, # 1513 - None, # 1514 - None, # 1515 - None, # 1516 - None, # 1517 - None, # 1518 - None, # 1519 - None, # 1520 - None, # 1521 - None, # 1522 - None, # 1523 - None, # 1524 - None, # 1525 - None, # 1526 - None, # 1527 - None, # 1528 - None, # 1529 - None, # 1530 - None, # 1531 - None, # 1532 - None, # 1533 - None, # 1534 - None, # 1535 - None, # 1536 - None, # 1537 - None, # 1538 - None, # 1539 - None, # 1540 - None, # 1541 - None, # 1542 - None, # 1543 - None, # 1544 - None, # 1545 - None, # 1546 - None, # 1547 - None, # 1548 - None, # 1549 - None, # 1550 - None, # 1551 - None, # 1552 - None, # 1553 - None, # 1554 - None, # 1555 - None, # 1556 - None, # 1557 - None, # 1558 - None, # 1559 - None, # 1560 - None, # 1561 - None, # 1562 - None, # 1563 - None, # 1564 - None, # 1565 - None, # 1566 - None, # 1567 - None, # 1568 - None, # 1569 - None, # 1570 - None, # 1571 - None, # 1572 - None, # 1573 - None, # 1574 - None, # 1575 - None, # 1576 - None, # 1577 - None, # 1578 - None, # 1579 - None, # 1580 - None, # 1581 - None, # 1582 - None, # 1583 - None, # 1584 - None, # 1585 - None, # 1586 - None, # 1587 - None, # 1588 - None, # 1589 - None, # 1590 - None, # 1591 - None, # 1592 - None, # 1593 - None, # 1594 - None, # 1595 - None, # 1596 - None, # 1597 - None, # 1598 - None, # 1599 - None, # 1600 - None, # 1601 - None, # 1602 - None, # 1603 - None, # 1604 - None, # 1605 - None, # 1606 - None, # 1607 - None, # 1608 - None, # 1609 - None, # 1610 - None, # 1611 - None, # 1612 - None, # 1613 - None, # 1614 - None, # 1615 - None, # 1616 - None, # 1617 - None, # 1618 - None, # 1619 - None, # 1620 - None, # 1621 - None, # 1622 - None, # 1623 - None, # 1624 - None, # 1625 - None, # 1626 - None, # 1627 - None, # 1628 - None, # 1629 - None, # 1630 - None, # 1631 - None, # 1632 - None, # 1633 - None, # 1634 - None, # 1635 - None, # 1636 - None, # 1637 - None, # 1638 - None, # 1639 - None, # 1640 - None, # 1641 - None, # 1642 - None, # 1643 - None, # 1644 - None, # 1645 - None, # 1646 - None, # 1647 - None, # 1648 - None, # 1649 - None, # 1650 - None, # 1651 - None, # 1652 - None, # 1653 - None, # 1654 - None, # 1655 - None, # 1656 - None, # 1657 - None, # 1658 - None, # 1659 - None, # 1660 - None, # 1661 - None, # 1662 - None, # 1663 - None, # 1664 - None, # 1665 - None, # 1666 - None, # 1667 - None, # 1668 - None, # 1669 - None, # 1670 - None, # 1671 - None, # 1672 - None, # 1673 - None, # 1674 - None, # 1675 - None, # 1676 - None, # 1677 - None, # 1678 - None, # 1679 - None, # 1680 - None, # 1681 - None, # 1682 - None, # 1683 - None, # 1684 - None, # 1685 - None, # 1686 - None, # 1687 - None, # 1688 - None, # 1689 - None, # 1690 - None, # 1691 - None, # 1692 - None, # 1693 - None, # 1694 - None, # 1695 - None, # 1696 - None, # 1697 - None, # 1698 - None, # 1699 - None, # 1700 - None, # 1701 - None, # 1702 - None, # 1703 - None, # 1704 - None, # 1705 - None, # 1706 - None, # 1707 - None, # 1708 - None, # 1709 - None, # 1710 - None, # 1711 - None, # 1712 - None, # 1713 - None, # 1714 - None, # 1715 - None, # 1716 - None, # 1717 - None, # 1718 - None, # 1719 - None, # 1720 - None, # 1721 - None, # 1722 - None, # 1723 - None, # 1724 - None, # 1725 - None, # 1726 - None, # 1727 - None, # 1728 - None, # 1729 - None, # 1730 - None, # 1731 - None, # 1732 - None, # 1733 - None, # 1734 - None, # 1735 - None, # 1736 - None, # 1737 - None, # 1738 - None, # 1739 - None, # 1740 - None, # 1741 - None, # 1742 - None, # 1743 - None, # 1744 - None, # 1745 - None, # 1746 - None, # 1747 - None, # 1748 - None, # 1749 - None, # 1750 - None, # 1751 - None, # 1752 - None, # 1753 - None, # 1754 - None, # 1755 - None, # 1756 - None, # 1757 - None, # 1758 - None, # 1759 - None, # 1760 - None, # 1761 - None, # 1762 - None, # 1763 - None, # 1764 - None, # 1765 - None, # 1766 - None, # 1767 - None, # 1768 - None, # 1769 - None, # 1770 - None, # 1771 - None, # 1772 - None, # 1773 - None, # 1774 - None, # 1775 - None, # 1776 - None, # 1777 - None, # 1778 - None, # 1779 - None, # 1780 - None, # 1781 - None, # 1782 - None, # 1783 - None, # 1784 - None, # 1785 - None, # 1786 - None, # 1787 - None, # 1788 - None, # 1789 - None, # 1790 - None, # 1791 - None, # 1792 - None, # 1793 - None, # 1794 - None, # 1795 - None, # 1796 - None, # 1797 - None, # 1798 - None, # 1799 - None, # 1800 - None, # 1801 - None, # 1802 - None, # 1803 - None, # 1804 - None, # 1805 - None, # 1806 - None, # 1807 - None, # 1808 - None, # 1809 - None, # 1810 - None, # 1811 - None, # 1812 - None, # 1813 - None, # 1814 - None, # 1815 - None, # 1816 - None, # 1817 - None, # 1818 - None, # 1819 - None, # 1820 - None, # 1821 - None, # 1822 - None, # 1823 - None, # 1824 - None, # 1825 - None, # 1826 - None, # 1827 - None, # 1828 - None, # 1829 - None, # 1830 - None, # 1831 - None, # 1832 - None, # 1833 - None, # 1834 - None, # 1835 - None, # 1836 - None, # 1837 - None, # 1838 - None, # 1839 - None, # 1840 - None, # 1841 - None, # 1842 - None, # 1843 - None, # 1844 - None, # 1845 - None, # 1846 - None, # 1847 - None, # 1848 - None, # 1849 - None, # 1850 - None, # 1851 - None, # 1852 - None, # 1853 - None, # 1854 - None, # 1855 - None, # 1856 - None, # 1857 - None, # 1858 - None, # 1859 - None, # 1860 - None, # 1861 - None, # 1862 - None, # 1863 - None, # 1864 - None, # 1865 - None, # 1866 - None, # 1867 - None, # 1868 - None, # 1869 - None, # 1870 - None, # 1871 - None, # 1872 - None, # 1873 - None, # 1874 - None, # 1875 - None, # 1876 - None, # 1877 - None, # 1878 - None, # 1879 - None, # 1880 - None, # 1881 - None, # 1882 - None, # 1883 - None, # 1884 - None, # 1885 - None, # 1886 - None, # 1887 - None, # 1888 - None, # 1889 - None, # 1890 - None, # 1891 - None, # 1892 - None, # 1893 - None, # 1894 - None, # 1895 - None, # 1896 - None, # 1897 - None, # 1898 - None, # 1899 - None, # 1900 - None, # 1901 - None, # 1902 - None, # 1903 - None, # 1904 - None, # 1905 - None, # 1906 - None, # 1907 - None, # 1908 - None, # 1909 - None, # 1910 - None, # 1911 - None, # 1912 - None, # 1913 - None, # 1914 - None, # 1915 - None, # 1916 - None, # 1917 - None, # 1918 - None, # 1919 - None, # 1920 - None, # 1921 - None, # 1922 - None, # 1923 - None, # 1924 - None, # 1925 - None, # 1926 - None, # 1927 - None, # 1928 - None, # 1929 - None, # 1930 - None, # 1931 - None, # 1932 - None, # 1933 - None, # 1934 - None, # 1935 - None, # 1936 - None, # 1937 - None, # 1938 - None, # 1939 - None, # 1940 - None, # 1941 - None, # 1942 - None, # 1943 - None, # 1944 - None, # 1945 - None, # 1946 - None, # 1947 - None, # 1948 - None, # 1949 - None, # 1950 - None, # 1951 - None, # 1952 - None, # 1953 - None, # 1954 - None, # 1955 - None, # 1956 - None, # 1957 - None, # 1958 - None, # 1959 - None, # 1960 - None, # 1961 - None, # 1962 - None, # 1963 - None, # 1964 - None, # 1965 - None, # 1966 - None, # 1967 - None, # 1968 - None, # 1969 - None, # 1970 - None, # 1971 - None, # 1972 - None, # 1973 - None, # 1974 - None, # 1975 - None, # 1976 - None, # 1977 - None, # 1978 - None, # 1979 - None, # 1980 - None, # 1981 - None, # 1982 - None, # 1983 - None, # 1984 - None, # 1985 - None, # 1986 - None, # 1987 - None, # 1988 - None, # 1989 - None, # 1990 - None, # 1991 - None, # 1992 - None, # 1993 - None, # 1994 - None, # 1995 - None, # 1996 - None, # 1997 - None, # 1998 - None, # 1999 - None, # 2000 - None, # 2001 - None, # 2002 - None, # 2003 - None, # 2004 - None, # 2005 - None, # 2006 - None, # 2007 - None, # 2008 - None, # 2009 - None, # 2010 - None, # 2011 - None, # 2012 - None, # 2013 - None, # 2014 - None, # 2015 - None, # 2016 - None, # 2017 - None, # 2018 - None, # 2019 - None, # 2020 - None, # 2021 - None, # 2022 - None, # 2023 - None, # 2024 - None, # 2025 - None, # 2026 - None, # 2027 - None, # 2028 - None, # 2029 - None, # 2030 - None, # 2031 - None, # 2032 - None, # 2033 - None, # 2034 - None, # 2035 - None, # 2036 - None, # 2037 - None, # 2038 - None, # 2039 - None, # 2040 - None, # 2041 - None, # 2042 - None, # 2043 - None, # 2044 - None, # 2045 - None, # 2046 - None, # 2047 - None, # 2048 - None, # 2049 - None, # 2050 - None, # 2051 - None, # 2052 - None, # 2053 - None, # 2054 - None, # 2055 - None, # 2056 - None, # 2057 - None, # 2058 - None, # 2059 - None, # 2060 - None, # 2061 - None, # 2062 - None, # 2063 - None, # 2064 - None, # 2065 - None, # 2066 - None, # 2067 - None, # 2068 - None, # 2069 - None, # 2070 - None, # 2071 - None, # 2072 - None, # 2073 - None, # 2074 - None, # 2075 - None, # 2076 - None, # 2077 - None, # 2078 - None, # 2079 - None, # 2080 - None, # 2081 - None, # 2082 - None, # 2083 - None, # 2084 - None, # 2085 - None, # 2086 - None, # 2087 - None, # 2088 - None, # 2089 - None, # 2090 - None, # 2091 - None, # 2092 - None, # 2093 - None, # 2094 - None, # 2095 - None, # 2096 - None, # 2097 - None, # 2098 - None, # 2099 - None, # 2100 - None, # 2101 - None, # 2102 - None, # 2103 - None, # 2104 - None, # 2105 - None, # 2106 - None, # 2107 - None, # 2108 - None, # 2109 - None, # 2110 - None, # 2111 - None, # 2112 - None, # 2113 - None, # 2114 - None, # 2115 - None, # 2116 - None, # 2117 - None, # 2118 - None, # 2119 - None, # 2120 - None, # 2121 - None, # 2122 - None, # 2123 - None, # 2124 - None, # 2125 - None, # 2126 - None, # 2127 - None, # 2128 - None, # 2129 - None, # 2130 - None, # 2131 - None, # 2132 - None, # 2133 - None, # 2134 - None, # 2135 - None, # 2136 - None, # 2137 - None, # 2138 - None, # 2139 - None, # 2140 - None, # 2141 - None, # 2142 - None, # 2143 - None, # 2144 - None, # 2145 - None, # 2146 - None, # 2147 - None, # 2148 - None, # 2149 - None, # 2150 - None, # 2151 - None, # 2152 - None, # 2153 - None, # 2154 - None, # 2155 - None, # 2156 - None, # 2157 - None, # 2158 - None, # 2159 - None, # 2160 - None, # 2161 - None, # 2162 - None, # 2163 - None, # 2164 - None, # 2165 - None, # 2166 - None, # 2167 - None, # 2168 - None, # 2169 - None, # 2170 - None, # 2171 - None, # 2172 - None, # 2173 - None, # 2174 - None, # 2175 - None, # 2176 - None, # 2177 - None, # 2178 - None, # 2179 - None, # 2180 - None, # 2181 - None, # 2182 - None, # 2183 - None, # 2184 - None, # 2185 - None, # 2186 - None, # 2187 - None, # 2188 - None, # 2189 - None, # 2190 - None, # 2191 - None, # 2192 - None, # 2193 - None, # 2194 - None, # 2195 - None, # 2196 - None, # 2197 - None, # 2198 - None, # 2199 - None, # 2200 - None, # 2201 - None, # 2202 - None, # 2203 - None, # 2204 - None, # 2205 - None, # 2206 - None, # 2207 - None, # 2208 - None, # 2209 - None, # 2210 - None, # 2211 - None, # 2212 - None, # 2213 - None, # 2214 - None, # 2215 - None, # 2216 - None, # 2217 - None, # 2218 - None, # 2219 - None, # 2220 - None, # 2221 - None, # 2222 - None, # 2223 - None, # 2224 - None, # 2225 - None, # 2226 - None, # 2227 - None, # 2228 - None, # 2229 - None, # 2230 - None, # 2231 - None, # 2232 - None, # 2233 - None, # 2234 - None, # 2235 - None, # 2236 - None, # 2237 - None, # 2238 - None, # 2239 - None, # 2240 - None, # 2241 - None, # 2242 - None, # 2243 - None, # 2244 - None, # 2245 - None, # 2246 - None, # 2247 - None, # 2248 - None, # 2249 - None, # 2250 - None, # 2251 - None, # 2252 - None, # 2253 - None, # 2254 - None, # 2255 - None, # 2256 - None, # 2257 - None, # 2258 - None, # 2259 - None, # 2260 - None, # 2261 - None, # 2262 - None, # 2263 - None, # 2264 - None, # 2265 - None, # 2266 - None, # 2267 - None, # 2268 - None, # 2269 - None, # 2270 - None, # 2271 - None, # 2272 - None, # 2273 - None, # 2274 - None, # 2275 - None, # 2276 - None, # 2277 - None, # 2278 - None, # 2279 - None, # 2280 - None, # 2281 - None, # 2282 - None, # 2283 - None, # 2284 - None, # 2285 - None, # 2286 - None, # 2287 - None, # 2288 - None, # 2289 - None, # 2290 - None, # 2291 - None, # 2292 - None, # 2293 - None, # 2294 - None, # 2295 - None, # 2296 - None, # 2297 - None, # 2298 - None, # 2299 - None, # 2300 - None, # 2301 - None, # 2302 - None, # 2303 - None, # 2304 - None, # 2305 - None, # 2306 - None, # 2307 - None, # 2308 - None, # 2309 - None, # 2310 - None, # 2311 - None, # 2312 - None, # 2313 - None, # 2314 - None, # 2315 - None, # 2316 - None, # 2317 - None, # 2318 - None, # 2319 - None, # 2320 - None, # 2321 - None, # 2322 - None, # 2323 - None, # 2324 - None, # 2325 - None, # 2326 - None, # 2327 - None, # 2328 - None, # 2329 - None, # 2330 - None, # 2331 - None, # 2332 - None, # 2333 - None, # 2334 - None, # 2335 - None, # 2336 - None, # 2337 - None, # 2338 - None, # 2339 - None, # 2340 - None, # 2341 - None, # 2342 - None, # 2343 - None, # 2344 - None, # 2345 - None, # 2346 - None, # 2347 - None, # 2348 - None, # 2349 - None, # 2350 - None, # 2351 - None, # 2352 - None, # 2353 - None, # 2354 - None, # 2355 - None, # 2356 - None, # 2357 - None, # 2358 - None, # 2359 - None, # 2360 - None, # 2361 - None, # 2362 - None, # 2363 - None, # 2364 - None, # 2365 - None, # 2366 - None, # 2367 - None, # 2368 - None, # 2369 - None, # 2370 - None, # 2371 - None, # 2372 - None, # 2373 - None, # 2374 - None, # 2375 - None, # 2376 - None, # 2377 - None, # 2378 - None, # 2379 - None, # 2380 - None, # 2381 - None, # 2382 - None, # 2383 - None, # 2384 - None, # 2385 - None, # 2386 - None, # 2387 - None, # 2388 - None, # 2389 - None, # 2390 - None, # 2391 - None, # 2392 - None, # 2393 - None, # 2394 - None, # 2395 - None, # 2396 - None, # 2397 - None, # 2398 - None, # 2399 - None, # 2400 - None, # 2401 - None, # 2402 - None, # 2403 - None, # 2404 - None, # 2405 - None, # 2406 - None, # 2407 - None, # 2408 - None, # 2409 - None, # 2410 - None, # 2411 - None, # 2412 - None, # 2413 - None, # 2414 - None, # 2415 - None, # 2416 - None, # 2417 - None, # 2418 - None, # 2419 - None, # 2420 - None, # 2421 - None, # 2422 - None, # 2423 - None, # 2424 - None, # 2425 - None, # 2426 - None, # 2427 - None, # 2428 - None, # 2429 - None, # 2430 - None, # 2431 - None, # 2432 - None, # 2433 - None, # 2434 - None, # 2435 - None, # 2436 - None, # 2437 - None, # 2438 - None, # 2439 - None, # 2440 - None, # 2441 - None, # 2442 - None, # 2443 - None, # 2444 - None, # 2445 - None, # 2446 - None, # 2447 - None, # 2448 - None, # 2449 - None, # 2450 - None, # 2451 - None, # 2452 - None, # 2453 - None, # 2454 - None, # 2455 - None, # 2456 - None, # 2457 - None, # 2458 - None, # 2459 - None, # 2460 - None, # 2461 - None, # 2462 - None, # 2463 - None, # 2464 - None, # 2465 - None, # 2466 - None, # 2467 - None, # 2468 - None, # 2469 - None, # 2470 - None, # 2471 - None, # 2472 - None, # 2473 - None, # 2474 - None, # 2475 - None, # 2476 - None, # 2477 - None, # 2478 - None, # 2479 - None, # 2480 - None, # 2481 - None, # 2482 - None, # 2483 - None, # 2484 - None, # 2485 - None, # 2486 - None, # 2487 - None, # 2488 - None, # 2489 - None, # 2490 - None, # 2491 - None, # 2492 - None, # 2493 - None, # 2494 - None, # 2495 - None, # 2496 - None, # 2497 - None, # 2498 - None, # 2499 - None, # 2500 - None, # 2501 - None, # 2502 - None, # 2503 - None, # 2504 - None, # 2505 - None, # 2506 - None, # 2507 - None, # 2508 - None, # 2509 - None, # 2510 - None, # 2511 - None, # 2512 - None, # 2513 - None, # 2514 - None, # 2515 - None, # 2516 - None, # 2517 - None, # 2518 - None, # 2519 - None, # 2520 - None, # 2521 - None, # 2522 - None, # 2523 - None, # 2524 - None, # 2525 - None, # 2526 - None, # 2527 - None, # 2528 - None, # 2529 - None, # 2530 - None, # 2531 - None, # 2532 - None, # 2533 - None, # 2534 - None, # 2535 - None, # 2536 - None, # 2537 - None, # 2538 - None, # 2539 - None, # 2540 - None, # 2541 - None, # 2542 - None, # 2543 - None, # 2544 - None, # 2545 - None, # 2546 - None, # 2547 - None, # 2548 - None, # 2549 - None, # 2550 - None, # 2551 - None, # 2552 - None, # 2553 - None, # 2554 - None, # 2555 - None, # 2556 - None, # 2557 - None, # 2558 - None, # 2559 - None, # 2560 - None, # 2561 - None, # 2562 - None, # 2563 - None, # 2564 - None, # 2565 - None, # 2566 - None, # 2567 - None, # 2568 - None, # 2569 - None, # 2570 - None, # 2571 - None, # 2572 - None, # 2573 - None, # 2574 - None, # 2575 - None, # 2576 - None, # 2577 - None, # 2578 - None, # 2579 - None, # 2580 - None, # 2581 - None, # 2582 - None, # 2583 - None, # 2584 - None, # 2585 - None, # 2586 - None, # 2587 - None, # 2588 - None, # 2589 - None, # 2590 - None, # 2591 - None, # 2592 - None, # 2593 - None, # 2594 - None, # 2595 - None, # 2596 - None, # 2597 - None, # 2598 - None, # 2599 - None, # 2600 - None, # 2601 - None, # 2602 - None, # 2603 - None, # 2604 - None, # 2605 - None, # 2606 - None, # 2607 - None, # 2608 - None, # 2609 - None, # 2610 - None, # 2611 - None, # 2612 - None, # 2613 - None, # 2614 - None, # 2615 - None, # 2616 - None, # 2617 - None, # 2618 - None, # 2619 - None, # 2620 - None, # 2621 - None, # 2622 - None, # 2623 - None, # 2624 - None, # 2625 - None, # 2626 - None, # 2627 - None, # 2628 - None, # 2629 - None, # 2630 - None, # 2631 - None, # 2632 - None, # 2633 - None, # 2634 - None, # 2635 - None, # 2636 - None, # 2637 - None, # 2638 - None, # 2639 - None, # 2640 - None, # 2641 - None, # 2642 - None, # 2643 - None, # 2644 - None, # 2645 - None, # 2646 - None, # 2647 - None, # 2648 - None, # 2649 - None, # 2650 - None, # 2651 - None, # 2652 - None, # 2653 - None, # 2654 - None, # 2655 - None, # 2656 - None, # 2657 - None, # 2658 - None, # 2659 - None, # 2660 - None, # 2661 - None, # 2662 - None, # 2663 - None, # 2664 - None, # 2665 - None, # 2666 - None, # 2667 - None, # 2668 - None, # 2669 - None, # 2670 - None, # 2671 - None, # 2672 - None, # 2673 - None, # 2674 - None, # 2675 - None, # 2676 - None, # 2677 - None, # 2678 - None, # 2679 - None, # 2680 - None, # 2681 - None, # 2682 - None, # 2683 - None, # 2684 - None, # 2685 - None, # 2686 - None, # 2687 - None, # 2688 - None, # 2689 - None, # 2690 - None, # 2691 - None, # 2692 - None, # 2693 - None, # 2694 - None, # 2695 - None, # 2696 - None, # 2697 - None, # 2698 - None, # 2699 - None, # 2700 - None, # 2701 - None, # 2702 - None, # 2703 - None, # 2704 - None, # 2705 - None, # 2706 - None, # 2707 - None, # 2708 - None, # 2709 - None, # 2710 - None, # 2711 - None, # 2712 - None, # 2713 - None, # 2714 - None, # 2715 - None, # 2716 - None, # 2717 - None, # 2718 - None, # 2719 - None, # 2720 - None, # 2721 - None, # 2722 - None, # 2723 - None, # 2724 - None, # 2725 - None, # 2726 - None, # 2727 - None, # 2728 - None, # 2729 - None, # 2730 - None, # 2731 - None, # 2732 - None, # 2733 - None, # 2734 - None, # 2735 - None, # 2736 - None, # 2737 - None, # 2738 - None, # 2739 - None, # 2740 - None, # 2741 - None, # 2742 - None, # 2743 - None, # 2744 - None, # 2745 - None, # 2746 - None, # 2747 - None, # 2748 - None, # 2749 - None, # 2750 - None, # 2751 - None, # 2752 - None, # 2753 - None, # 2754 - None, # 2755 - None, # 2756 - None, # 2757 - None, # 2758 - None, # 2759 - None, # 2760 - None, # 2761 - None, # 2762 - None, # 2763 - None, # 2764 - None, # 2765 - None, # 2766 - None, # 2767 - None, # 2768 - None, # 2769 - None, # 2770 - None, # 2771 - None, # 2772 - None, # 2773 - None, # 2774 - None, # 2775 - None, # 2776 - None, # 2777 - None, # 2778 - None, # 2779 - None, # 2780 - None, # 2781 - None, # 2782 - None, # 2783 - None, # 2784 - None, # 2785 - None, # 2786 - None, # 2787 - None, # 2788 - None, # 2789 - None, # 2790 - None, # 2791 - None, # 2792 - None, # 2793 - None, # 2794 - None, # 2795 - None, # 2796 - None, # 2797 - None, # 2798 - None, # 2799 - None, # 2800 - None, # 2801 - None, # 2802 - None, # 2803 - None, # 2804 - None, # 2805 - None, # 2806 - None, # 2807 - None, # 2808 - None, # 2809 - None, # 2810 - None, # 2811 - None, # 2812 - None, # 2813 - None, # 2814 - None, # 2815 - None, # 2816 - None, # 2817 - None, # 2818 - None, # 2819 - None, # 2820 - None, # 2821 - None, # 2822 - None, # 2823 - None, # 2824 - None, # 2825 - None, # 2826 - None, # 2827 - None, # 2828 - None, # 2829 - None, # 2830 - None, # 2831 - None, # 2832 - None, # 2833 - None, # 2834 - None, # 2835 - None, # 2836 - None, # 2837 - None, # 2838 - None, # 2839 - None, # 2840 - None, # 2841 - None, # 2842 - None, # 2843 - None, # 2844 - None, # 2845 - None, # 2846 - None, # 2847 - None, # 2848 - None, # 2849 - None, # 2850 - None, # 2851 - None, # 2852 - None, # 2853 - None, # 2854 - None, # 2855 - None, # 2856 - None, # 2857 - None, # 2858 - None, # 2859 - None, # 2860 - None, # 2861 - None, # 2862 - None, # 2863 - None, # 2864 - None, # 2865 - None, # 2866 - None, # 2867 - None, # 2868 - None, # 2869 - None, # 2870 - None, # 2871 - None, # 2872 - None, # 2873 - None, # 2874 - None, # 2875 - None, # 2876 - None, # 2877 - None, # 2878 - None, # 2879 - None, # 2880 - None, # 2881 - None, # 2882 - None, # 2883 - None, # 2884 - None, # 2885 - None, # 2886 - None, # 2887 - None, # 2888 - None, # 2889 - None, # 2890 - None, # 2891 - None, # 2892 - None, # 2893 - None, # 2894 - None, # 2895 - None, # 2896 - None, # 2897 - None, # 2898 - None, # 2899 - None, # 2900 - None, # 2901 - None, # 2902 - None, # 2903 - None, # 2904 - None, # 2905 - None, # 2906 - None, # 2907 - None, # 2908 - None, # 2909 - None, # 2910 - None, # 2911 - None, # 2912 - None, # 2913 - None, # 2914 - None, # 2915 - None, # 2916 - None, # 2917 - None, # 2918 - None, # 2919 - None, # 2920 - None, # 2921 - None, # 2922 - None, # 2923 - None, # 2924 - None, # 2925 - None, # 2926 - None, # 2927 - None, # 2928 - None, # 2929 - None, # 2930 - None, # 2931 - None, # 2932 - None, # 2933 - None, # 2934 - None, # 2935 - None, # 2936 - None, # 2937 - None, # 2938 - None, # 2939 - None, # 2940 - None, # 2941 - None, # 2942 - None, # 2943 - None, # 2944 - None, # 2945 - None, # 2946 - None, # 2947 - None, # 2948 - None, # 2949 - None, # 2950 - None, # 2951 - None, # 2952 - None, # 2953 - None, # 2954 - None, # 2955 - None, # 2956 - None, # 2957 - None, # 2958 - None, # 2959 - None, # 2960 - None, # 2961 - None, # 2962 - None, # 2963 - None, # 2964 - None, # 2965 - None, # 2966 - None, # 2967 - None, # 2968 - None, # 2969 - None, # 2970 - None, # 2971 - None, # 2972 - None, # 2973 - None, # 2974 - None, # 2975 - None, # 2976 - None, # 2977 - None, # 2978 - None, # 2979 - None, # 2980 - None, # 2981 - None, # 2982 - None, # 2983 - None, # 2984 - None, # 2985 - None, # 2986 - None, # 2987 - None, # 2988 - None, # 2989 - None, # 2990 - None, # 2991 - None, # 2992 - None, # 2993 - None, # 2994 - None, # 2995 - None, # 2996 - None, # 2997 - None, # 2998 - None, # 2999 - None, # 3000 - None, # 3001 - None, # 3002 - None, # 3003 - None, # 3004 - None, # 3005 - None, # 3006 - None, # 3007 - None, # 3008 - None, # 3009 - None, # 3010 - None, # 3011 - None, # 3012 - None, # 3013 - None, # 3014 - None, # 3015 - None, # 3016 - None, # 3017 - None, # 3018 - None, # 3019 - None, # 3020 - None, # 3021 - None, # 3022 - None, # 3023 - None, # 3024 - None, # 3025 - None, # 3026 - None, # 3027 - None, # 3028 - None, # 3029 - None, # 3030 - None, # 3031 - None, # 3032 - None, # 3033 - None, # 3034 - None, # 3035 - None, # 3036 - None, # 3037 - None, # 3038 - None, # 3039 - None, # 3040 - None, # 3041 - None, # 3042 - None, # 3043 - None, # 3044 - None, # 3045 - None, # 3046 - None, # 3047 - None, # 3048 - None, # 3049 - None, # 3050 - None, # 3051 - None, # 3052 - None, # 3053 - None, # 3054 - None, # 3055 - None, # 3056 - None, # 3057 - None, # 3058 - None, # 3059 - None, # 3060 - None, # 3061 - None, # 3062 - None, # 3063 - None, # 3064 - None, # 3065 - None, # 3066 - None, # 3067 - None, # 3068 - None, # 3069 - None, # 3070 - None, # 3071 - None, # 3072 - None, # 3073 - None, # 3074 - None, # 3075 - None, # 3076 - None, # 3077 - None, # 3078 - None, # 3079 - None, # 3080 - None, # 3081 - None, # 3082 - None, # 3083 - None, # 3084 - None, # 3085 - None, # 3086 - None, # 3087 - None, # 3088 - None, # 3089 - None, # 3090 - None, # 3091 - None, # 3092 - None, # 3093 - None, # 3094 - None, # 3095 - None, # 3096 - None, # 3097 - None, # 3098 - None, # 3099 - None, # 3100 - None, # 3101 - None, # 3102 - None, # 3103 - None, # 3104 - None, # 3105 - None, # 3106 - None, # 3107 - None, # 3108 - None, # 3109 - None, # 3110 - None, # 3111 - None, # 3112 - None, # 3113 - None, # 3114 - None, # 3115 - None, # 3116 - None, # 3117 - None, # 3118 - None, # 3119 - None, # 3120 - None, # 3121 - None, # 3122 - None, # 3123 - None, # 3124 - None, # 3125 - None, # 3126 - None, # 3127 - None, # 3128 - None, # 3129 - None, # 3130 - None, # 3131 - None, # 3132 - None, # 3133 - None, # 3134 - None, # 3135 - None, # 3136 - None, # 3137 - None, # 3138 - None, # 3139 - None, # 3140 - None, # 3141 - None, # 3142 - None, # 3143 - None, # 3144 - None, # 3145 - None, # 3146 - None, # 3147 - None, # 3148 - None, # 3149 - None, # 3150 - None, # 3151 - None, # 3152 - None, # 3153 - None, # 3154 - None, # 3155 - None, # 3156 - None, # 3157 - None, # 3158 - None, # 3159 - None, # 3160 - None, # 3161 - None, # 3162 - None, # 3163 - None, # 3164 - None, # 3165 - None, # 3166 - None, # 3167 - None, # 3168 - None, # 3169 - None, # 3170 - None, # 3171 - None, # 3172 - None, # 3173 - None, # 3174 - None, # 3175 - None, # 3176 - None, # 3177 - None, # 3178 - None, # 3179 - None, # 3180 - None, # 3181 - None, # 3182 - None, # 3183 - None, # 3184 - None, # 3185 - None, # 3186 - None, # 3187 - None, # 3188 - None, # 3189 - None, # 3190 - None, # 3191 - None, # 3192 - None, # 3193 - None, # 3194 - None, # 3195 - None, # 3196 - None, # 3197 - None, # 3198 - None, # 3199 - None, # 3200 - None, # 3201 - None, # 3202 - None, # 3203 - None, # 3204 - None, # 3205 - None, # 3206 - None, # 3207 - None, # 3208 - None, # 3209 - None, # 3210 - None, # 3211 - None, # 3212 - None, # 3213 - None, # 3214 - None, # 3215 - None, # 3216 - None, # 3217 - None, # 3218 - None, # 3219 - None, # 3220 - None, # 3221 - None, # 3222 - None, # 3223 - None, # 3224 - None, # 3225 - None, # 3226 - None, # 3227 - None, # 3228 - None, # 3229 - None, # 3230 - None, # 3231 - None, # 3232 - None, # 3233 - None, # 3234 - None, # 3235 - None, # 3236 - None, # 3237 - None, # 3238 - None, # 3239 - None, # 3240 - None, # 3241 - None, # 3242 - None, # 3243 - None, # 3244 - None, # 3245 - None, # 3246 - None, # 3247 - None, # 3248 - None, # 3249 - None, # 3250 - None, # 3251 - None, # 3252 - None, # 3253 - None, # 3254 - None, # 3255 - None, # 3256 - None, # 3257 - None, # 3258 - None, # 3259 - None, # 3260 - None, # 3261 - None, # 3262 - None, # 3263 - None, # 3264 - None, # 3265 - None, # 3266 - None, # 3267 - None, # 3268 - None, # 3269 - None, # 3270 - None, # 3271 - None, # 3272 - None, # 3273 - None, # 3274 - None, # 3275 - None, # 3276 - None, # 3277 - None, # 3278 - None, # 3279 - None, # 3280 - None, # 3281 - None, # 3282 - None, # 3283 - None, # 3284 - None, # 3285 - None, # 3286 - None, # 3287 - None, # 3288 - None, # 3289 - None, # 3290 - None, # 3291 - None, # 3292 - None, # 3293 - None, # 3294 - None, # 3295 - None, # 3296 - None, # 3297 - None, # 3298 - None, # 3299 - None, # 3300 - None, # 3301 - None, # 3302 - None, # 3303 - None, # 3304 - None, # 3305 - None, # 3306 - None, # 3307 - None, # 3308 - None, # 3309 - None, # 3310 - None, # 3311 - None, # 3312 - None, # 3313 - None, # 3314 - None, # 3315 - None, # 3316 - None, # 3317 - None, # 3318 - None, # 3319 - None, # 3320 - None, # 3321 - None, # 3322 - None, # 3323 - None, # 3324 - None, # 3325 - None, # 3326 - None, # 3327 - None, # 3328 - (3329, TType.STRUCT, 'sessionConf', [TDBSqlSessionConf, None], None, ), # 3329 + None, # 0 + (1, TType.STRUCT, 'sessionHandle', [TSessionHandle, None], None, ), # 1 + (2, TType.STRING, 'delegationToken', 'UTF8', None, ), # 2 + None, # 3 + None, # 4 + None, # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + None, # 1281 + None, # 1282 + None, # 1283 + None, # 1284 + None, # 1285 + None, # 1286 + None, # 1287 + None, # 1288 + None, # 1289 + None, # 1290 + None, # 1291 + None, # 1292 + None, # 1293 + None, # 1294 + None, # 1295 + None, # 1296 + None, # 1297 + None, # 1298 + None, # 1299 + None, # 1300 + None, # 1301 + None, # 1302 + None, # 1303 + None, # 1304 + None, # 1305 + None, # 1306 + None, # 1307 + None, # 1308 + None, # 1309 + None, # 1310 + None, # 1311 + None, # 1312 + None, # 1313 + None, # 1314 + None, # 1315 + None, # 1316 + None, # 1317 + None, # 1318 + None, # 1319 + None, # 1320 + None, # 1321 + None, # 1322 + None, # 1323 + None, # 1324 + None, # 1325 + None, # 1326 + None, # 1327 + None, # 1328 + None, # 1329 + None, # 1330 + None, # 1331 + None, # 1332 + None, # 1333 + None, # 1334 + None, # 1335 + None, # 1336 + None, # 1337 + None, # 1338 + None, # 1339 + None, # 1340 + None, # 1341 + None, # 1342 + None, # 1343 + None, # 1344 + None, # 1345 + None, # 1346 + None, # 1347 + None, # 1348 + None, # 1349 + None, # 1350 + None, # 1351 + None, # 1352 + None, # 1353 + None, # 1354 + None, # 1355 + None, # 1356 + None, # 1357 + None, # 1358 + None, # 1359 + None, # 1360 + None, # 1361 + None, # 1362 + None, # 1363 + None, # 1364 + None, # 1365 + None, # 1366 + None, # 1367 + None, # 1368 + None, # 1369 + None, # 1370 + None, # 1371 + None, # 1372 + None, # 1373 + None, # 1374 + None, # 1375 + None, # 1376 + None, # 1377 + None, # 1378 + None, # 1379 + None, # 1380 + None, # 1381 + None, # 1382 + None, # 1383 + None, # 1384 + None, # 1385 + None, # 1386 + None, # 1387 + None, # 1388 + None, # 1389 + None, # 1390 + None, # 1391 + None, # 1392 + None, # 1393 + None, # 1394 + None, # 1395 + None, # 1396 + None, # 1397 + None, # 1398 + None, # 1399 + None, # 1400 + None, # 1401 + None, # 1402 + None, # 1403 + None, # 1404 + None, # 1405 + None, # 1406 + None, # 1407 + None, # 1408 + None, # 1409 + None, # 1410 + None, # 1411 + None, # 1412 + None, # 1413 + None, # 1414 + None, # 1415 + None, # 1416 + None, # 1417 + None, # 1418 + None, # 1419 + None, # 1420 + None, # 1421 + None, # 1422 + None, # 1423 + None, # 1424 + None, # 1425 + None, # 1426 + None, # 1427 + None, # 1428 + None, # 1429 + None, # 1430 + None, # 1431 + None, # 1432 + None, # 1433 + None, # 1434 + None, # 1435 + None, # 1436 + None, # 1437 + None, # 1438 + None, # 1439 + None, # 1440 + None, # 1441 + None, # 1442 + None, # 1443 + None, # 1444 + None, # 1445 + None, # 1446 + None, # 1447 + None, # 1448 + None, # 1449 + None, # 1450 + None, # 1451 + None, # 1452 + None, # 1453 + None, # 1454 + None, # 1455 + None, # 1456 + None, # 1457 + None, # 1458 + None, # 1459 + None, # 1460 + None, # 1461 + None, # 1462 + None, # 1463 + None, # 1464 + None, # 1465 + None, # 1466 + None, # 1467 + None, # 1468 + None, # 1469 + None, # 1470 + None, # 1471 + None, # 1472 + None, # 1473 + None, # 1474 + None, # 1475 + None, # 1476 + None, # 1477 + None, # 1478 + None, # 1479 + None, # 1480 + None, # 1481 + None, # 1482 + None, # 1483 + None, # 1484 + None, # 1485 + None, # 1486 + None, # 1487 + None, # 1488 + None, # 1489 + None, # 1490 + None, # 1491 + None, # 1492 + None, # 1493 + None, # 1494 + None, # 1495 + None, # 1496 + None, # 1497 + None, # 1498 + None, # 1499 + None, # 1500 + None, # 1501 + None, # 1502 + None, # 1503 + None, # 1504 + None, # 1505 + None, # 1506 + None, # 1507 + None, # 1508 + None, # 1509 + None, # 1510 + None, # 1511 + None, # 1512 + None, # 1513 + None, # 1514 + None, # 1515 + None, # 1516 + None, # 1517 + None, # 1518 + None, # 1519 + None, # 1520 + None, # 1521 + None, # 1522 + None, # 1523 + None, # 1524 + None, # 1525 + None, # 1526 + None, # 1527 + None, # 1528 + None, # 1529 + None, # 1530 + None, # 1531 + None, # 1532 + None, # 1533 + None, # 1534 + None, # 1535 + None, # 1536 + None, # 1537 + None, # 1538 + None, # 1539 + None, # 1540 + None, # 1541 + None, # 1542 + None, # 1543 + None, # 1544 + None, # 1545 + None, # 1546 + None, # 1547 + None, # 1548 + None, # 1549 + None, # 1550 + None, # 1551 + None, # 1552 + None, # 1553 + None, # 1554 + None, # 1555 + None, # 1556 + None, # 1557 + None, # 1558 + None, # 1559 + None, # 1560 + None, # 1561 + None, # 1562 + None, # 1563 + None, # 1564 + None, # 1565 + None, # 1566 + None, # 1567 + None, # 1568 + None, # 1569 + None, # 1570 + None, # 1571 + None, # 1572 + None, # 1573 + None, # 1574 + None, # 1575 + None, # 1576 + None, # 1577 + None, # 1578 + None, # 1579 + None, # 1580 + None, # 1581 + None, # 1582 + None, # 1583 + None, # 1584 + None, # 1585 + None, # 1586 + None, # 1587 + None, # 1588 + None, # 1589 + None, # 1590 + None, # 1591 + None, # 1592 + None, # 1593 + None, # 1594 + None, # 1595 + None, # 1596 + None, # 1597 + None, # 1598 + None, # 1599 + None, # 1600 + None, # 1601 + None, # 1602 + None, # 1603 + None, # 1604 + None, # 1605 + None, # 1606 + None, # 1607 + None, # 1608 + None, # 1609 + None, # 1610 + None, # 1611 + None, # 1612 + None, # 1613 + None, # 1614 + None, # 1615 + None, # 1616 + None, # 1617 + None, # 1618 + None, # 1619 + None, # 1620 + None, # 1621 + None, # 1622 + None, # 1623 + None, # 1624 + None, # 1625 + None, # 1626 + None, # 1627 + None, # 1628 + None, # 1629 + None, # 1630 + None, # 1631 + None, # 1632 + None, # 1633 + None, # 1634 + None, # 1635 + None, # 1636 + None, # 1637 + None, # 1638 + None, # 1639 + None, # 1640 + None, # 1641 + None, # 1642 + None, # 1643 + None, # 1644 + None, # 1645 + None, # 1646 + None, # 1647 + None, # 1648 + None, # 1649 + None, # 1650 + None, # 1651 + None, # 1652 + None, # 1653 + None, # 1654 + None, # 1655 + None, # 1656 + None, # 1657 + None, # 1658 + None, # 1659 + None, # 1660 + None, # 1661 + None, # 1662 + None, # 1663 + None, # 1664 + None, # 1665 + None, # 1666 + None, # 1667 + None, # 1668 + None, # 1669 + None, # 1670 + None, # 1671 + None, # 1672 + None, # 1673 + None, # 1674 + None, # 1675 + None, # 1676 + None, # 1677 + None, # 1678 + None, # 1679 + None, # 1680 + None, # 1681 + None, # 1682 + None, # 1683 + None, # 1684 + None, # 1685 + None, # 1686 + None, # 1687 + None, # 1688 + None, # 1689 + None, # 1690 + None, # 1691 + None, # 1692 + None, # 1693 + None, # 1694 + None, # 1695 + None, # 1696 + None, # 1697 + None, # 1698 + None, # 1699 + None, # 1700 + None, # 1701 + None, # 1702 + None, # 1703 + None, # 1704 + None, # 1705 + None, # 1706 + None, # 1707 + None, # 1708 + None, # 1709 + None, # 1710 + None, # 1711 + None, # 1712 + None, # 1713 + None, # 1714 + None, # 1715 + None, # 1716 + None, # 1717 + None, # 1718 + None, # 1719 + None, # 1720 + None, # 1721 + None, # 1722 + None, # 1723 + None, # 1724 + None, # 1725 + None, # 1726 + None, # 1727 + None, # 1728 + None, # 1729 + None, # 1730 + None, # 1731 + None, # 1732 + None, # 1733 + None, # 1734 + None, # 1735 + None, # 1736 + None, # 1737 + None, # 1738 + None, # 1739 + None, # 1740 + None, # 1741 + None, # 1742 + None, # 1743 + None, # 1744 + None, # 1745 + None, # 1746 + None, # 1747 + None, # 1748 + None, # 1749 + None, # 1750 + None, # 1751 + None, # 1752 + None, # 1753 + None, # 1754 + None, # 1755 + None, # 1756 + None, # 1757 + None, # 1758 + None, # 1759 + None, # 1760 + None, # 1761 + None, # 1762 + None, # 1763 + None, # 1764 + None, # 1765 + None, # 1766 + None, # 1767 + None, # 1768 + None, # 1769 + None, # 1770 + None, # 1771 + None, # 1772 + None, # 1773 + None, # 1774 + None, # 1775 + None, # 1776 + None, # 1777 + None, # 1778 + None, # 1779 + None, # 1780 + None, # 1781 + None, # 1782 + None, # 1783 + None, # 1784 + None, # 1785 + None, # 1786 + None, # 1787 + None, # 1788 + None, # 1789 + None, # 1790 + None, # 1791 + None, # 1792 + None, # 1793 + None, # 1794 + None, # 1795 + None, # 1796 + None, # 1797 + None, # 1798 + None, # 1799 + None, # 1800 + None, # 1801 + None, # 1802 + None, # 1803 + None, # 1804 + None, # 1805 + None, # 1806 + None, # 1807 + None, # 1808 + None, # 1809 + None, # 1810 + None, # 1811 + None, # 1812 + None, # 1813 + None, # 1814 + None, # 1815 + None, # 1816 + None, # 1817 + None, # 1818 + None, # 1819 + None, # 1820 + None, # 1821 + None, # 1822 + None, # 1823 + None, # 1824 + None, # 1825 + None, # 1826 + None, # 1827 + None, # 1828 + None, # 1829 + None, # 1830 + None, # 1831 + None, # 1832 + None, # 1833 + None, # 1834 + None, # 1835 + None, # 1836 + None, # 1837 + None, # 1838 + None, # 1839 + None, # 1840 + None, # 1841 + None, # 1842 + None, # 1843 + None, # 1844 + None, # 1845 + None, # 1846 + None, # 1847 + None, # 1848 + None, # 1849 + None, # 1850 + None, # 1851 + None, # 1852 + None, # 1853 + None, # 1854 + None, # 1855 + None, # 1856 + None, # 1857 + None, # 1858 + None, # 1859 + None, # 1860 + None, # 1861 + None, # 1862 + None, # 1863 + None, # 1864 + None, # 1865 + None, # 1866 + None, # 1867 + None, # 1868 + None, # 1869 + None, # 1870 + None, # 1871 + None, # 1872 + None, # 1873 + None, # 1874 + None, # 1875 + None, # 1876 + None, # 1877 + None, # 1878 + None, # 1879 + None, # 1880 + None, # 1881 + None, # 1882 + None, # 1883 + None, # 1884 + None, # 1885 + None, # 1886 + None, # 1887 + None, # 1888 + None, # 1889 + None, # 1890 + None, # 1891 + None, # 1892 + None, # 1893 + None, # 1894 + None, # 1895 + None, # 1896 + None, # 1897 + None, # 1898 + None, # 1899 + None, # 1900 + None, # 1901 + None, # 1902 + None, # 1903 + None, # 1904 + None, # 1905 + None, # 1906 + None, # 1907 + None, # 1908 + None, # 1909 + None, # 1910 + None, # 1911 + None, # 1912 + None, # 1913 + None, # 1914 + None, # 1915 + None, # 1916 + None, # 1917 + None, # 1918 + None, # 1919 + None, # 1920 + None, # 1921 + None, # 1922 + None, # 1923 + None, # 1924 + None, # 1925 + None, # 1926 + None, # 1927 + None, # 1928 + None, # 1929 + None, # 1930 + None, # 1931 + None, # 1932 + None, # 1933 + None, # 1934 + None, # 1935 + None, # 1936 + None, # 1937 + None, # 1938 + None, # 1939 + None, # 1940 + None, # 1941 + None, # 1942 + None, # 1943 + None, # 1944 + None, # 1945 + None, # 1946 + None, # 1947 + None, # 1948 + None, # 1949 + None, # 1950 + None, # 1951 + None, # 1952 + None, # 1953 + None, # 1954 + None, # 1955 + None, # 1956 + None, # 1957 + None, # 1958 + None, # 1959 + None, # 1960 + None, # 1961 + None, # 1962 + None, # 1963 + None, # 1964 + None, # 1965 + None, # 1966 + None, # 1967 + None, # 1968 + None, # 1969 + None, # 1970 + None, # 1971 + None, # 1972 + None, # 1973 + None, # 1974 + None, # 1975 + None, # 1976 + None, # 1977 + None, # 1978 + None, # 1979 + None, # 1980 + None, # 1981 + None, # 1982 + None, # 1983 + None, # 1984 + None, # 1985 + None, # 1986 + None, # 1987 + None, # 1988 + None, # 1989 + None, # 1990 + None, # 1991 + None, # 1992 + None, # 1993 + None, # 1994 + None, # 1995 + None, # 1996 + None, # 1997 + None, # 1998 + None, # 1999 + None, # 2000 + None, # 2001 + None, # 2002 + None, # 2003 + None, # 2004 + None, # 2005 + None, # 2006 + None, # 2007 + None, # 2008 + None, # 2009 + None, # 2010 + None, # 2011 + None, # 2012 + None, # 2013 + None, # 2014 + None, # 2015 + None, # 2016 + None, # 2017 + None, # 2018 + None, # 2019 + None, # 2020 + None, # 2021 + None, # 2022 + None, # 2023 + None, # 2024 + None, # 2025 + None, # 2026 + None, # 2027 + None, # 2028 + None, # 2029 + None, # 2030 + None, # 2031 + None, # 2032 + None, # 2033 + None, # 2034 + None, # 2035 + None, # 2036 + None, # 2037 + None, # 2038 + None, # 2039 + None, # 2040 + None, # 2041 + None, # 2042 + None, # 2043 + None, # 2044 + None, # 2045 + None, # 2046 + None, # 2047 + None, # 2048 + None, # 2049 + None, # 2050 + None, # 2051 + None, # 2052 + None, # 2053 + None, # 2054 + None, # 2055 + None, # 2056 + None, # 2057 + None, # 2058 + None, # 2059 + None, # 2060 + None, # 2061 + None, # 2062 + None, # 2063 + None, # 2064 + None, # 2065 + None, # 2066 + None, # 2067 + None, # 2068 + None, # 2069 + None, # 2070 + None, # 2071 + None, # 2072 + None, # 2073 + None, # 2074 + None, # 2075 + None, # 2076 + None, # 2077 + None, # 2078 + None, # 2079 + None, # 2080 + None, # 2081 + None, # 2082 + None, # 2083 + None, # 2084 + None, # 2085 + None, # 2086 + None, # 2087 + None, # 2088 + None, # 2089 + None, # 2090 + None, # 2091 + None, # 2092 + None, # 2093 + None, # 2094 + None, # 2095 + None, # 2096 + None, # 2097 + None, # 2098 + None, # 2099 + None, # 2100 + None, # 2101 + None, # 2102 + None, # 2103 + None, # 2104 + None, # 2105 + None, # 2106 + None, # 2107 + None, # 2108 + None, # 2109 + None, # 2110 + None, # 2111 + None, # 2112 + None, # 2113 + None, # 2114 + None, # 2115 + None, # 2116 + None, # 2117 + None, # 2118 + None, # 2119 + None, # 2120 + None, # 2121 + None, # 2122 + None, # 2123 + None, # 2124 + None, # 2125 + None, # 2126 + None, # 2127 + None, # 2128 + None, # 2129 + None, # 2130 + None, # 2131 + None, # 2132 + None, # 2133 + None, # 2134 + None, # 2135 + None, # 2136 + None, # 2137 + None, # 2138 + None, # 2139 + None, # 2140 + None, # 2141 + None, # 2142 + None, # 2143 + None, # 2144 + None, # 2145 + None, # 2146 + None, # 2147 + None, # 2148 + None, # 2149 + None, # 2150 + None, # 2151 + None, # 2152 + None, # 2153 + None, # 2154 + None, # 2155 + None, # 2156 + None, # 2157 + None, # 2158 + None, # 2159 + None, # 2160 + None, # 2161 + None, # 2162 + None, # 2163 + None, # 2164 + None, # 2165 + None, # 2166 + None, # 2167 + None, # 2168 + None, # 2169 + None, # 2170 + None, # 2171 + None, # 2172 + None, # 2173 + None, # 2174 + None, # 2175 + None, # 2176 + None, # 2177 + None, # 2178 + None, # 2179 + None, # 2180 + None, # 2181 + None, # 2182 + None, # 2183 + None, # 2184 + None, # 2185 + None, # 2186 + None, # 2187 + None, # 2188 + None, # 2189 + None, # 2190 + None, # 2191 + None, # 2192 + None, # 2193 + None, # 2194 + None, # 2195 + None, # 2196 + None, # 2197 + None, # 2198 + None, # 2199 + None, # 2200 + None, # 2201 + None, # 2202 + None, # 2203 + None, # 2204 + None, # 2205 + None, # 2206 + None, # 2207 + None, # 2208 + None, # 2209 + None, # 2210 + None, # 2211 + None, # 2212 + None, # 2213 + None, # 2214 + None, # 2215 + None, # 2216 + None, # 2217 + None, # 2218 + None, # 2219 + None, # 2220 + None, # 2221 + None, # 2222 + None, # 2223 + None, # 2224 + None, # 2225 + None, # 2226 + None, # 2227 + None, # 2228 + None, # 2229 + None, # 2230 + None, # 2231 + None, # 2232 + None, # 2233 + None, # 2234 + None, # 2235 + None, # 2236 + None, # 2237 + None, # 2238 + None, # 2239 + None, # 2240 + None, # 2241 + None, # 2242 + None, # 2243 + None, # 2244 + None, # 2245 + None, # 2246 + None, # 2247 + None, # 2248 + None, # 2249 + None, # 2250 + None, # 2251 + None, # 2252 + None, # 2253 + None, # 2254 + None, # 2255 + None, # 2256 + None, # 2257 + None, # 2258 + None, # 2259 + None, # 2260 + None, # 2261 + None, # 2262 + None, # 2263 + None, # 2264 + None, # 2265 + None, # 2266 + None, # 2267 + None, # 2268 + None, # 2269 + None, # 2270 + None, # 2271 + None, # 2272 + None, # 2273 + None, # 2274 + None, # 2275 + None, # 2276 + None, # 2277 + None, # 2278 + None, # 2279 + None, # 2280 + None, # 2281 + None, # 2282 + None, # 2283 + None, # 2284 + None, # 2285 + None, # 2286 + None, # 2287 + None, # 2288 + None, # 2289 + None, # 2290 + None, # 2291 + None, # 2292 + None, # 2293 + None, # 2294 + None, # 2295 + None, # 2296 + None, # 2297 + None, # 2298 + None, # 2299 + None, # 2300 + None, # 2301 + None, # 2302 + None, # 2303 + None, # 2304 + None, # 2305 + None, # 2306 + None, # 2307 + None, # 2308 + None, # 2309 + None, # 2310 + None, # 2311 + None, # 2312 + None, # 2313 + None, # 2314 + None, # 2315 + None, # 2316 + None, # 2317 + None, # 2318 + None, # 2319 + None, # 2320 + None, # 2321 + None, # 2322 + None, # 2323 + None, # 2324 + None, # 2325 + None, # 2326 + None, # 2327 + None, # 2328 + None, # 2329 + None, # 2330 + None, # 2331 + None, # 2332 + None, # 2333 + None, # 2334 + None, # 2335 + None, # 2336 + None, # 2337 + None, # 2338 + None, # 2339 + None, # 2340 + None, # 2341 + None, # 2342 + None, # 2343 + None, # 2344 + None, # 2345 + None, # 2346 + None, # 2347 + None, # 2348 + None, # 2349 + None, # 2350 + None, # 2351 + None, # 2352 + None, # 2353 + None, # 2354 + None, # 2355 + None, # 2356 + None, # 2357 + None, # 2358 + None, # 2359 + None, # 2360 + None, # 2361 + None, # 2362 + None, # 2363 + None, # 2364 + None, # 2365 + None, # 2366 + None, # 2367 + None, # 2368 + None, # 2369 + None, # 2370 + None, # 2371 + None, # 2372 + None, # 2373 + None, # 2374 + None, # 2375 + None, # 2376 + None, # 2377 + None, # 2378 + None, # 2379 + None, # 2380 + None, # 2381 + None, # 2382 + None, # 2383 + None, # 2384 + None, # 2385 + None, # 2386 + None, # 2387 + None, # 2388 + None, # 2389 + None, # 2390 + None, # 2391 + None, # 2392 + None, # 2393 + None, # 2394 + None, # 2395 + None, # 2396 + None, # 2397 + None, # 2398 + None, # 2399 + None, # 2400 + None, # 2401 + None, # 2402 + None, # 2403 + None, # 2404 + None, # 2405 + None, # 2406 + None, # 2407 + None, # 2408 + None, # 2409 + None, # 2410 + None, # 2411 + None, # 2412 + None, # 2413 + None, # 2414 + None, # 2415 + None, # 2416 + None, # 2417 + None, # 2418 + None, # 2419 + None, # 2420 + None, # 2421 + None, # 2422 + None, # 2423 + None, # 2424 + None, # 2425 + None, # 2426 + None, # 2427 + None, # 2428 + None, # 2429 + None, # 2430 + None, # 2431 + None, # 2432 + None, # 2433 + None, # 2434 + None, # 2435 + None, # 2436 + None, # 2437 + None, # 2438 + None, # 2439 + None, # 2440 + None, # 2441 + None, # 2442 + None, # 2443 + None, # 2444 + None, # 2445 + None, # 2446 + None, # 2447 + None, # 2448 + None, # 2449 + None, # 2450 + None, # 2451 + None, # 2452 + None, # 2453 + None, # 2454 + None, # 2455 + None, # 2456 + None, # 2457 + None, # 2458 + None, # 2459 + None, # 2460 + None, # 2461 + None, # 2462 + None, # 2463 + None, # 2464 + None, # 2465 + None, # 2466 + None, # 2467 + None, # 2468 + None, # 2469 + None, # 2470 + None, # 2471 + None, # 2472 + None, # 2473 + None, # 2474 + None, # 2475 + None, # 2476 + None, # 2477 + None, # 2478 + None, # 2479 + None, # 2480 + None, # 2481 + None, # 2482 + None, # 2483 + None, # 2484 + None, # 2485 + None, # 2486 + None, # 2487 + None, # 2488 + None, # 2489 + None, # 2490 + None, # 2491 + None, # 2492 + None, # 2493 + None, # 2494 + None, # 2495 + None, # 2496 + None, # 2497 + None, # 2498 + None, # 2499 + None, # 2500 + None, # 2501 + None, # 2502 + None, # 2503 + None, # 2504 + None, # 2505 + None, # 2506 + None, # 2507 + None, # 2508 + None, # 2509 + None, # 2510 + None, # 2511 + None, # 2512 + None, # 2513 + None, # 2514 + None, # 2515 + None, # 2516 + None, # 2517 + None, # 2518 + None, # 2519 + None, # 2520 + None, # 2521 + None, # 2522 + None, # 2523 + None, # 2524 + None, # 2525 + None, # 2526 + None, # 2527 + None, # 2528 + None, # 2529 + None, # 2530 + None, # 2531 + None, # 2532 + None, # 2533 + None, # 2534 + None, # 2535 + None, # 2536 + None, # 2537 + None, # 2538 + None, # 2539 + None, # 2540 + None, # 2541 + None, # 2542 + None, # 2543 + None, # 2544 + None, # 2545 + None, # 2546 + None, # 2547 + None, # 2548 + None, # 2549 + None, # 2550 + None, # 2551 + None, # 2552 + None, # 2553 + None, # 2554 + None, # 2555 + None, # 2556 + None, # 2557 + None, # 2558 + None, # 2559 + None, # 2560 + None, # 2561 + None, # 2562 + None, # 2563 + None, # 2564 + None, # 2565 + None, # 2566 + None, # 2567 + None, # 2568 + None, # 2569 + None, # 2570 + None, # 2571 + None, # 2572 + None, # 2573 + None, # 2574 + None, # 2575 + None, # 2576 + None, # 2577 + None, # 2578 + None, # 2579 + None, # 2580 + None, # 2581 + None, # 2582 + None, # 2583 + None, # 2584 + None, # 2585 + None, # 2586 + None, # 2587 + None, # 2588 + None, # 2589 + None, # 2590 + None, # 2591 + None, # 2592 + None, # 2593 + None, # 2594 + None, # 2595 + None, # 2596 + None, # 2597 + None, # 2598 + None, # 2599 + None, # 2600 + None, # 2601 + None, # 2602 + None, # 2603 + None, # 2604 + None, # 2605 + None, # 2606 + None, # 2607 + None, # 2608 + None, # 2609 + None, # 2610 + None, # 2611 + None, # 2612 + None, # 2613 + None, # 2614 + None, # 2615 + None, # 2616 + None, # 2617 + None, # 2618 + None, # 2619 + None, # 2620 + None, # 2621 + None, # 2622 + None, # 2623 + None, # 2624 + None, # 2625 + None, # 2626 + None, # 2627 + None, # 2628 + None, # 2629 + None, # 2630 + None, # 2631 + None, # 2632 + None, # 2633 + None, # 2634 + None, # 2635 + None, # 2636 + None, # 2637 + None, # 2638 + None, # 2639 + None, # 2640 + None, # 2641 + None, # 2642 + None, # 2643 + None, # 2644 + None, # 2645 + None, # 2646 + None, # 2647 + None, # 2648 + None, # 2649 + None, # 2650 + None, # 2651 + None, # 2652 + None, # 2653 + None, # 2654 + None, # 2655 + None, # 2656 + None, # 2657 + None, # 2658 + None, # 2659 + None, # 2660 + None, # 2661 + None, # 2662 + None, # 2663 + None, # 2664 + None, # 2665 + None, # 2666 + None, # 2667 + None, # 2668 + None, # 2669 + None, # 2670 + None, # 2671 + None, # 2672 + None, # 2673 + None, # 2674 + None, # 2675 + None, # 2676 + None, # 2677 + None, # 2678 + None, # 2679 + None, # 2680 + None, # 2681 + None, # 2682 + None, # 2683 + None, # 2684 + None, # 2685 + None, # 2686 + None, # 2687 + None, # 2688 + None, # 2689 + None, # 2690 + None, # 2691 + None, # 2692 + None, # 2693 + None, # 2694 + None, # 2695 + None, # 2696 + None, # 2697 + None, # 2698 + None, # 2699 + None, # 2700 + None, # 2701 + None, # 2702 + None, # 2703 + None, # 2704 + None, # 2705 + None, # 2706 + None, # 2707 + None, # 2708 + None, # 2709 + None, # 2710 + None, # 2711 + None, # 2712 + None, # 2713 + None, # 2714 + None, # 2715 + None, # 2716 + None, # 2717 + None, # 2718 + None, # 2719 + None, # 2720 + None, # 2721 + None, # 2722 + None, # 2723 + None, # 2724 + None, # 2725 + None, # 2726 + None, # 2727 + None, # 2728 + None, # 2729 + None, # 2730 + None, # 2731 + None, # 2732 + None, # 2733 + None, # 2734 + None, # 2735 + None, # 2736 + None, # 2737 + None, # 2738 + None, # 2739 + None, # 2740 + None, # 2741 + None, # 2742 + None, # 2743 + None, # 2744 + None, # 2745 + None, # 2746 + None, # 2747 + None, # 2748 + None, # 2749 + None, # 2750 + None, # 2751 + None, # 2752 + None, # 2753 + None, # 2754 + None, # 2755 + None, # 2756 + None, # 2757 + None, # 2758 + None, # 2759 + None, # 2760 + None, # 2761 + None, # 2762 + None, # 2763 + None, # 2764 + None, # 2765 + None, # 2766 + None, # 2767 + None, # 2768 + None, # 2769 + None, # 2770 + None, # 2771 + None, # 2772 + None, # 2773 + None, # 2774 + None, # 2775 + None, # 2776 + None, # 2777 + None, # 2778 + None, # 2779 + None, # 2780 + None, # 2781 + None, # 2782 + None, # 2783 + None, # 2784 + None, # 2785 + None, # 2786 + None, # 2787 + None, # 2788 + None, # 2789 + None, # 2790 + None, # 2791 + None, # 2792 + None, # 2793 + None, # 2794 + None, # 2795 + None, # 2796 + None, # 2797 + None, # 2798 + None, # 2799 + None, # 2800 + None, # 2801 + None, # 2802 + None, # 2803 + None, # 2804 + None, # 2805 + None, # 2806 + None, # 2807 + None, # 2808 + None, # 2809 + None, # 2810 + None, # 2811 + None, # 2812 + None, # 2813 + None, # 2814 + None, # 2815 + None, # 2816 + None, # 2817 + None, # 2818 + None, # 2819 + None, # 2820 + None, # 2821 + None, # 2822 + None, # 2823 + None, # 2824 + None, # 2825 + None, # 2826 + None, # 2827 + None, # 2828 + None, # 2829 + None, # 2830 + None, # 2831 + None, # 2832 + None, # 2833 + None, # 2834 + None, # 2835 + None, # 2836 + None, # 2837 + None, # 2838 + None, # 2839 + None, # 2840 + None, # 2841 + None, # 2842 + None, # 2843 + None, # 2844 + None, # 2845 + None, # 2846 + None, # 2847 + None, # 2848 + None, # 2849 + None, # 2850 + None, # 2851 + None, # 2852 + None, # 2853 + None, # 2854 + None, # 2855 + None, # 2856 + None, # 2857 + None, # 2858 + None, # 2859 + None, # 2860 + None, # 2861 + None, # 2862 + None, # 2863 + None, # 2864 + None, # 2865 + None, # 2866 + None, # 2867 + None, # 2868 + None, # 2869 + None, # 2870 + None, # 2871 + None, # 2872 + None, # 2873 + None, # 2874 + None, # 2875 + None, # 2876 + None, # 2877 + None, # 2878 + None, # 2879 + None, # 2880 + None, # 2881 + None, # 2882 + None, # 2883 + None, # 2884 + None, # 2885 + None, # 2886 + None, # 2887 + None, # 2888 + None, # 2889 + None, # 2890 + None, # 2891 + None, # 2892 + None, # 2893 + None, # 2894 + None, # 2895 + None, # 2896 + None, # 2897 + None, # 2898 + None, # 2899 + None, # 2900 + None, # 2901 + None, # 2902 + None, # 2903 + None, # 2904 + None, # 2905 + None, # 2906 + None, # 2907 + None, # 2908 + None, # 2909 + None, # 2910 + None, # 2911 + None, # 2912 + None, # 2913 + None, # 2914 + None, # 2915 + None, # 2916 + None, # 2917 + None, # 2918 + None, # 2919 + None, # 2920 + None, # 2921 + None, # 2922 + None, # 2923 + None, # 2924 + None, # 2925 + None, # 2926 + None, # 2927 + None, # 2928 + None, # 2929 + None, # 2930 + None, # 2931 + None, # 2932 + None, # 2933 + None, # 2934 + None, # 2935 + None, # 2936 + None, # 2937 + None, # 2938 + None, # 2939 + None, # 2940 + None, # 2941 + None, # 2942 + None, # 2943 + None, # 2944 + None, # 2945 + None, # 2946 + None, # 2947 + None, # 2948 + None, # 2949 + None, # 2950 + None, # 2951 + None, # 2952 + None, # 2953 + None, # 2954 + None, # 2955 + None, # 2956 + None, # 2957 + None, # 2958 + None, # 2959 + None, # 2960 + None, # 2961 + None, # 2962 + None, # 2963 + None, # 2964 + None, # 2965 + None, # 2966 + None, # 2967 + None, # 2968 + None, # 2969 + None, # 2970 + None, # 2971 + None, # 2972 + None, # 2973 + None, # 2974 + None, # 2975 + None, # 2976 + None, # 2977 + None, # 2978 + None, # 2979 + None, # 2980 + None, # 2981 + None, # 2982 + None, # 2983 + None, # 2984 + None, # 2985 + None, # 2986 + None, # 2987 + None, # 2988 + None, # 2989 + None, # 2990 + None, # 2991 + None, # 2992 + None, # 2993 + None, # 2994 + None, # 2995 + None, # 2996 + None, # 2997 + None, # 2998 + None, # 2999 + None, # 3000 + None, # 3001 + None, # 3002 + None, # 3003 + None, # 3004 + None, # 3005 + None, # 3006 + None, # 3007 + None, # 3008 + None, # 3009 + None, # 3010 + None, # 3011 + None, # 3012 + None, # 3013 + None, # 3014 + None, # 3015 + None, # 3016 + None, # 3017 + None, # 3018 + None, # 3019 + None, # 3020 + None, # 3021 + None, # 3022 + None, # 3023 + None, # 3024 + None, # 3025 + None, # 3026 + None, # 3027 + None, # 3028 + None, # 3029 + None, # 3030 + None, # 3031 + None, # 3032 + None, # 3033 + None, # 3034 + None, # 3035 + None, # 3036 + None, # 3037 + None, # 3038 + None, # 3039 + None, # 3040 + None, # 3041 + None, # 3042 + None, # 3043 + None, # 3044 + None, # 3045 + None, # 3046 + None, # 3047 + None, # 3048 + None, # 3049 + None, # 3050 + None, # 3051 + None, # 3052 + None, # 3053 + None, # 3054 + None, # 3055 + None, # 3056 + None, # 3057 + None, # 3058 + None, # 3059 + None, # 3060 + None, # 3061 + None, # 3062 + None, # 3063 + None, # 3064 + None, # 3065 + None, # 3066 + None, # 3067 + None, # 3068 + None, # 3069 + None, # 3070 + None, # 3071 + None, # 3072 + None, # 3073 + None, # 3074 + None, # 3075 + None, # 3076 + None, # 3077 + None, # 3078 + None, # 3079 + None, # 3080 + None, # 3081 + None, # 3082 + None, # 3083 + None, # 3084 + None, # 3085 + None, # 3086 + None, # 3087 + None, # 3088 + None, # 3089 + None, # 3090 + None, # 3091 + None, # 3092 + None, # 3093 + None, # 3094 + None, # 3095 + None, # 3096 + None, # 3097 + None, # 3098 + None, # 3099 + None, # 3100 + None, # 3101 + None, # 3102 + None, # 3103 + None, # 3104 + None, # 3105 + None, # 3106 + None, # 3107 + None, # 3108 + None, # 3109 + None, # 3110 + None, # 3111 + None, # 3112 + None, # 3113 + None, # 3114 + None, # 3115 + None, # 3116 + None, # 3117 + None, # 3118 + None, # 3119 + None, # 3120 + None, # 3121 + None, # 3122 + None, # 3123 + None, # 3124 + None, # 3125 + None, # 3126 + None, # 3127 + None, # 3128 + None, # 3129 + None, # 3130 + None, # 3131 + None, # 3132 + None, # 3133 + None, # 3134 + None, # 3135 + None, # 3136 + None, # 3137 + None, # 3138 + None, # 3139 + None, # 3140 + None, # 3141 + None, # 3142 + None, # 3143 + None, # 3144 + None, # 3145 + None, # 3146 + None, # 3147 + None, # 3148 + None, # 3149 + None, # 3150 + None, # 3151 + None, # 3152 + None, # 3153 + None, # 3154 + None, # 3155 + None, # 3156 + None, # 3157 + None, # 3158 + None, # 3159 + None, # 3160 + None, # 3161 + None, # 3162 + None, # 3163 + None, # 3164 + None, # 3165 + None, # 3166 + None, # 3167 + None, # 3168 + None, # 3169 + None, # 3170 + None, # 3171 + None, # 3172 + None, # 3173 + None, # 3174 + None, # 3175 + None, # 3176 + None, # 3177 + None, # 3178 + None, # 3179 + None, # 3180 + None, # 3181 + None, # 3182 + None, # 3183 + None, # 3184 + None, # 3185 + None, # 3186 + None, # 3187 + None, # 3188 + None, # 3189 + None, # 3190 + None, # 3191 + None, # 3192 + None, # 3193 + None, # 3194 + None, # 3195 + None, # 3196 + None, # 3197 + None, # 3198 + None, # 3199 + None, # 3200 + None, # 3201 + None, # 3202 + None, # 3203 + None, # 3204 + None, # 3205 + None, # 3206 + None, # 3207 + None, # 3208 + None, # 3209 + None, # 3210 + None, # 3211 + None, # 3212 + None, # 3213 + None, # 3214 + None, # 3215 + None, # 3216 + None, # 3217 + None, # 3218 + None, # 3219 + None, # 3220 + None, # 3221 + None, # 3222 + None, # 3223 + None, # 3224 + None, # 3225 + None, # 3226 + None, # 3227 + None, # 3228 + None, # 3229 + None, # 3230 + None, # 3231 + None, # 3232 + None, # 3233 + None, # 3234 + None, # 3235 + None, # 3236 + None, # 3237 + None, # 3238 + None, # 3239 + None, # 3240 + None, # 3241 + None, # 3242 + None, # 3243 + None, # 3244 + None, # 3245 + None, # 3246 + None, # 3247 + None, # 3248 + None, # 3249 + None, # 3250 + None, # 3251 + None, # 3252 + None, # 3253 + None, # 3254 + None, # 3255 + None, # 3256 + None, # 3257 + None, # 3258 + None, # 3259 + None, # 3260 + None, # 3261 + None, # 3262 + None, # 3263 + None, # 3264 + None, # 3265 + None, # 3266 + None, # 3267 + None, # 3268 + None, # 3269 + None, # 3270 + None, # 3271 + None, # 3272 + None, # 3273 + None, # 3274 + None, # 3275 + None, # 3276 + None, # 3277 + None, # 3278 + None, # 3279 + None, # 3280 + None, # 3281 + None, # 3282 + None, # 3283 + None, # 3284 + None, # 3285 + None, # 3286 + None, # 3287 + None, # 3288 + None, # 3289 + None, # 3290 + None, # 3291 + None, # 3292 + None, # 3293 + None, # 3294 + None, # 3295 + None, # 3296 + None, # 3297 + None, # 3298 + None, # 3299 + None, # 3300 + None, # 3301 + None, # 3302 + None, # 3303 + None, # 3304 + None, # 3305 + None, # 3306 + None, # 3307 + None, # 3308 + None, # 3309 + None, # 3310 + None, # 3311 + None, # 3312 + None, # 3313 + None, # 3314 + None, # 3315 + None, # 3316 + None, # 3317 + None, # 3318 + None, # 3319 + None, # 3320 + None, # 3321 + None, # 3322 + None, # 3323 + None, # 3324 + None, # 3325 + None, # 3326 + None, # 3327 + None, # 3328 + (3329, TType.STRUCT, 'sessionConf', [TDBSqlSessionConf, None], None, ), # 3329 ) all_structs.append(TCancelDelegationTokenResp) TCancelDelegationTokenResp.thrift_spec = ( - None, # 0 - (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 + None, # 0 + (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 ) all_structs.append(TRenewDelegationTokenReq) TRenewDelegationTokenReq.thrift_spec = ( - None, # 0 - (1, TType.STRUCT, 'sessionHandle', [TSessionHandle, None], None, ), # 1 - (2, TType.STRING, 'delegationToken', 'UTF8', None, ), # 2 - None, # 3 - None, # 4 - None, # 5 - None, # 6 - None, # 7 - None, # 8 - None, # 9 - None, # 10 - None, # 11 - None, # 12 - None, # 13 - None, # 14 - None, # 15 - None, # 16 - None, # 17 - None, # 18 - None, # 19 - None, # 20 - None, # 21 - None, # 22 - None, # 23 - None, # 24 - None, # 25 - None, # 26 - None, # 27 - None, # 28 - None, # 29 - None, # 30 - None, # 31 - None, # 32 - None, # 33 - None, # 34 - None, # 35 - None, # 36 - None, # 37 - None, # 38 - None, # 39 - None, # 40 - None, # 41 - None, # 42 - None, # 43 - None, # 44 - None, # 45 - None, # 46 - None, # 47 - None, # 48 - None, # 49 - None, # 50 - None, # 51 - None, # 52 - None, # 53 - None, # 54 - None, # 55 - None, # 56 - None, # 57 - None, # 58 - None, # 59 - None, # 60 - None, # 61 - None, # 62 - None, # 63 - None, # 64 - None, # 65 - None, # 66 - None, # 67 - None, # 68 - None, # 69 - None, # 70 - None, # 71 - None, # 72 - None, # 73 - None, # 74 - None, # 75 - None, # 76 - None, # 77 - None, # 78 - None, # 79 - None, # 80 - None, # 81 - None, # 82 - None, # 83 - None, # 84 - None, # 85 - None, # 86 - None, # 87 - None, # 88 - None, # 89 - None, # 90 - None, # 91 - None, # 92 - None, # 93 - None, # 94 - None, # 95 - None, # 96 - None, # 97 - None, # 98 - None, # 99 - None, # 100 - None, # 101 - None, # 102 - None, # 103 - None, # 104 - None, # 105 - None, # 106 - None, # 107 - None, # 108 - None, # 109 - None, # 110 - None, # 111 - None, # 112 - None, # 113 - None, # 114 - None, # 115 - None, # 116 - None, # 117 - None, # 118 - None, # 119 - None, # 120 - None, # 121 - None, # 122 - None, # 123 - None, # 124 - None, # 125 - None, # 126 - None, # 127 - None, # 128 - None, # 129 - None, # 130 - None, # 131 - None, # 132 - None, # 133 - None, # 134 - None, # 135 - None, # 136 - None, # 137 - None, # 138 - None, # 139 - None, # 140 - None, # 141 - None, # 142 - None, # 143 - None, # 144 - None, # 145 - None, # 146 - None, # 147 - None, # 148 - None, # 149 - None, # 150 - None, # 151 - None, # 152 - None, # 153 - None, # 154 - None, # 155 - None, # 156 - None, # 157 - None, # 158 - None, # 159 - None, # 160 - None, # 161 - None, # 162 - None, # 163 - None, # 164 - None, # 165 - None, # 166 - None, # 167 - None, # 168 - None, # 169 - None, # 170 - None, # 171 - None, # 172 - None, # 173 - None, # 174 - None, # 175 - None, # 176 - None, # 177 - None, # 178 - None, # 179 - None, # 180 - None, # 181 - None, # 182 - None, # 183 - None, # 184 - None, # 185 - None, # 186 - None, # 187 - None, # 188 - None, # 189 - None, # 190 - None, # 191 - None, # 192 - None, # 193 - None, # 194 - None, # 195 - None, # 196 - None, # 197 - None, # 198 - None, # 199 - None, # 200 - None, # 201 - None, # 202 - None, # 203 - None, # 204 - None, # 205 - None, # 206 - None, # 207 - None, # 208 - None, # 209 - None, # 210 - None, # 211 - None, # 212 - None, # 213 - None, # 214 - None, # 215 - None, # 216 - None, # 217 - None, # 218 - None, # 219 - None, # 220 - None, # 221 - None, # 222 - None, # 223 - None, # 224 - None, # 225 - None, # 226 - None, # 227 - None, # 228 - None, # 229 - None, # 230 - None, # 231 - None, # 232 - None, # 233 - None, # 234 - None, # 235 - None, # 236 - None, # 237 - None, # 238 - None, # 239 - None, # 240 - None, # 241 - None, # 242 - None, # 243 - None, # 244 - None, # 245 - None, # 246 - None, # 247 - None, # 248 - None, # 249 - None, # 250 - None, # 251 - None, # 252 - None, # 253 - None, # 254 - None, # 255 - None, # 256 - None, # 257 - None, # 258 - None, # 259 - None, # 260 - None, # 261 - None, # 262 - None, # 263 - None, # 264 - None, # 265 - None, # 266 - None, # 267 - None, # 268 - None, # 269 - None, # 270 - None, # 271 - None, # 272 - None, # 273 - None, # 274 - None, # 275 - None, # 276 - None, # 277 - None, # 278 - None, # 279 - None, # 280 - None, # 281 - None, # 282 - None, # 283 - None, # 284 - None, # 285 - None, # 286 - None, # 287 - None, # 288 - None, # 289 - None, # 290 - None, # 291 - None, # 292 - None, # 293 - None, # 294 - None, # 295 - None, # 296 - None, # 297 - None, # 298 - None, # 299 - None, # 300 - None, # 301 - None, # 302 - None, # 303 - None, # 304 - None, # 305 - None, # 306 - None, # 307 - None, # 308 - None, # 309 - None, # 310 - None, # 311 - None, # 312 - None, # 313 - None, # 314 - None, # 315 - None, # 316 - None, # 317 - None, # 318 - None, # 319 - None, # 320 - None, # 321 - None, # 322 - None, # 323 - None, # 324 - None, # 325 - None, # 326 - None, # 327 - None, # 328 - None, # 329 - None, # 330 - None, # 331 - None, # 332 - None, # 333 - None, # 334 - None, # 335 - None, # 336 - None, # 337 - None, # 338 - None, # 339 - None, # 340 - None, # 341 - None, # 342 - None, # 343 - None, # 344 - None, # 345 - None, # 346 - None, # 347 - None, # 348 - None, # 349 - None, # 350 - None, # 351 - None, # 352 - None, # 353 - None, # 354 - None, # 355 - None, # 356 - None, # 357 - None, # 358 - None, # 359 - None, # 360 - None, # 361 - None, # 362 - None, # 363 - None, # 364 - None, # 365 - None, # 366 - None, # 367 - None, # 368 - None, # 369 - None, # 370 - None, # 371 - None, # 372 - None, # 373 - None, # 374 - None, # 375 - None, # 376 - None, # 377 - None, # 378 - None, # 379 - None, # 380 - None, # 381 - None, # 382 - None, # 383 - None, # 384 - None, # 385 - None, # 386 - None, # 387 - None, # 388 - None, # 389 - None, # 390 - None, # 391 - None, # 392 - None, # 393 - None, # 394 - None, # 395 - None, # 396 - None, # 397 - None, # 398 - None, # 399 - None, # 400 - None, # 401 - None, # 402 - None, # 403 - None, # 404 - None, # 405 - None, # 406 - None, # 407 - None, # 408 - None, # 409 - None, # 410 - None, # 411 - None, # 412 - None, # 413 - None, # 414 - None, # 415 - None, # 416 - None, # 417 - None, # 418 - None, # 419 - None, # 420 - None, # 421 - None, # 422 - None, # 423 - None, # 424 - None, # 425 - None, # 426 - None, # 427 - None, # 428 - None, # 429 - None, # 430 - None, # 431 - None, # 432 - None, # 433 - None, # 434 - None, # 435 - None, # 436 - None, # 437 - None, # 438 - None, # 439 - None, # 440 - None, # 441 - None, # 442 - None, # 443 - None, # 444 - None, # 445 - None, # 446 - None, # 447 - None, # 448 - None, # 449 - None, # 450 - None, # 451 - None, # 452 - None, # 453 - None, # 454 - None, # 455 - None, # 456 - None, # 457 - None, # 458 - None, # 459 - None, # 460 - None, # 461 - None, # 462 - None, # 463 - None, # 464 - None, # 465 - None, # 466 - None, # 467 - None, # 468 - None, # 469 - None, # 470 - None, # 471 - None, # 472 - None, # 473 - None, # 474 - None, # 475 - None, # 476 - None, # 477 - None, # 478 - None, # 479 - None, # 480 - None, # 481 - None, # 482 - None, # 483 - None, # 484 - None, # 485 - None, # 486 - None, # 487 - None, # 488 - None, # 489 - None, # 490 - None, # 491 - None, # 492 - None, # 493 - None, # 494 - None, # 495 - None, # 496 - None, # 497 - None, # 498 - None, # 499 - None, # 500 - None, # 501 - None, # 502 - None, # 503 - None, # 504 - None, # 505 - None, # 506 - None, # 507 - None, # 508 - None, # 509 - None, # 510 - None, # 511 - None, # 512 - None, # 513 - None, # 514 - None, # 515 - None, # 516 - None, # 517 - None, # 518 - None, # 519 - None, # 520 - None, # 521 - None, # 522 - None, # 523 - None, # 524 - None, # 525 - None, # 526 - None, # 527 - None, # 528 - None, # 529 - None, # 530 - None, # 531 - None, # 532 - None, # 533 - None, # 534 - None, # 535 - None, # 536 - None, # 537 - None, # 538 - None, # 539 - None, # 540 - None, # 541 - None, # 542 - None, # 543 - None, # 544 - None, # 545 - None, # 546 - None, # 547 - None, # 548 - None, # 549 - None, # 550 - None, # 551 - None, # 552 - None, # 553 - None, # 554 - None, # 555 - None, # 556 - None, # 557 - None, # 558 - None, # 559 - None, # 560 - None, # 561 - None, # 562 - None, # 563 - None, # 564 - None, # 565 - None, # 566 - None, # 567 - None, # 568 - None, # 569 - None, # 570 - None, # 571 - None, # 572 - None, # 573 - None, # 574 - None, # 575 - None, # 576 - None, # 577 - None, # 578 - None, # 579 - None, # 580 - None, # 581 - None, # 582 - None, # 583 - None, # 584 - None, # 585 - None, # 586 - None, # 587 - None, # 588 - None, # 589 - None, # 590 - None, # 591 - None, # 592 - None, # 593 - None, # 594 - None, # 595 - None, # 596 - None, # 597 - None, # 598 - None, # 599 - None, # 600 - None, # 601 - None, # 602 - None, # 603 - None, # 604 - None, # 605 - None, # 606 - None, # 607 - None, # 608 - None, # 609 - None, # 610 - None, # 611 - None, # 612 - None, # 613 - None, # 614 - None, # 615 - None, # 616 - None, # 617 - None, # 618 - None, # 619 - None, # 620 - None, # 621 - None, # 622 - None, # 623 - None, # 624 - None, # 625 - None, # 626 - None, # 627 - None, # 628 - None, # 629 - None, # 630 - None, # 631 - None, # 632 - None, # 633 - None, # 634 - None, # 635 - None, # 636 - None, # 637 - None, # 638 - None, # 639 - None, # 640 - None, # 641 - None, # 642 - None, # 643 - None, # 644 - None, # 645 - None, # 646 - None, # 647 - None, # 648 - None, # 649 - None, # 650 - None, # 651 - None, # 652 - None, # 653 - None, # 654 - None, # 655 - None, # 656 - None, # 657 - None, # 658 - None, # 659 - None, # 660 - None, # 661 - None, # 662 - None, # 663 - None, # 664 - None, # 665 - None, # 666 - None, # 667 - None, # 668 - None, # 669 - None, # 670 - None, # 671 - None, # 672 - None, # 673 - None, # 674 - None, # 675 - None, # 676 - None, # 677 - None, # 678 - None, # 679 - None, # 680 - None, # 681 - None, # 682 - None, # 683 - None, # 684 - None, # 685 - None, # 686 - None, # 687 - None, # 688 - None, # 689 - None, # 690 - None, # 691 - None, # 692 - None, # 693 - None, # 694 - None, # 695 - None, # 696 - None, # 697 - None, # 698 - None, # 699 - None, # 700 - None, # 701 - None, # 702 - None, # 703 - None, # 704 - None, # 705 - None, # 706 - None, # 707 - None, # 708 - None, # 709 - None, # 710 - None, # 711 - None, # 712 - None, # 713 - None, # 714 - None, # 715 - None, # 716 - None, # 717 - None, # 718 - None, # 719 - None, # 720 - None, # 721 - None, # 722 - None, # 723 - None, # 724 - None, # 725 - None, # 726 - None, # 727 - None, # 728 - None, # 729 - None, # 730 - None, # 731 - None, # 732 - None, # 733 - None, # 734 - None, # 735 - None, # 736 - None, # 737 - None, # 738 - None, # 739 - None, # 740 - None, # 741 - None, # 742 - None, # 743 - None, # 744 - None, # 745 - None, # 746 - None, # 747 - None, # 748 - None, # 749 - None, # 750 - None, # 751 - None, # 752 - None, # 753 - None, # 754 - None, # 755 - None, # 756 - None, # 757 - None, # 758 - None, # 759 - None, # 760 - None, # 761 - None, # 762 - None, # 763 - None, # 764 - None, # 765 - None, # 766 - None, # 767 - None, # 768 - None, # 769 - None, # 770 - None, # 771 - None, # 772 - None, # 773 - None, # 774 - None, # 775 - None, # 776 - None, # 777 - None, # 778 - None, # 779 - None, # 780 - None, # 781 - None, # 782 - None, # 783 - None, # 784 - None, # 785 - None, # 786 - None, # 787 - None, # 788 - None, # 789 - None, # 790 - None, # 791 - None, # 792 - None, # 793 - None, # 794 - None, # 795 - None, # 796 - None, # 797 - None, # 798 - None, # 799 - None, # 800 - None, # 801 - None, # 802 - None, # 803 - None, # 804 - None, # 805 - None, # 806 - None, # 807 - None, # 808 - None, # 809 - None, # 810 - None, # 811 - None, # 812 - None, # 813 - None, # 814 - None, # 815 - None, # 816 - None, # 817 - None, # 818 - None, # 819 - None, # 820 - None, # 821 - None, # 822 - None, # 823 - None, # 824 - None, # 825 - None, # 826 - None, # 827 - None, # 828 - None, # 829 - None, # 830 - None, # 831 - None, # 832 - None, # 833 - None, # 834 - None, # 835 - None, # 836 - None, # 837 - None, # 838 - None, # 839 - None, # 840 - None, # 841 - None, # 842 - None, # 843 - None, # 844 - None, # 845 - None, # 846 - None, # 847 - None, # 848 - None, # 849 - None, # 850 - None, # 851 - None, # 852 - None, # 853 - None, # 854 - None, # 855 - None, # 856 - None, # 857 - None, # 858 - None, # 859 - None, # 860 - None, # 861 - None, # 862 - None, # 863 - None, # 864 - None, # 865 - None, # 866 - None, # 867 - None, # 868 - None, # 869 - None, # 870 - None, # 871 - None, # 872 - None, # 873 - None, # 874 - None, # 875 - None, # 876 - None, # 877 - None, # 878 - None, # 879 - None, # 880 - None, # 881 - None, # 882 - None, # 883 - None, # 884 - None, # 885 - None, # 886 - None, # 887 - None, # 888 - None, # 889 - None, # 890 - None, # 891 - None, # 892 - None, # 893 - None, # 894 - None, # 895 - None, # 896 - None, # 897 - None, # 898 - None, # 899 - None, # 900 - None, # 901 - None, # 902 - None, # 903 - None, # 904 - None, # 905 - None, # 906 - None, # 907 - None, # 908 - None, # 909 - None, # 910 - None, # 911 - None, # 912 - None, # 913 - None, # 914 - None, # 915 - None, # 916 - None, # 917 - None, # 918 - None, # 919 - None, # 920 - None, # 921 - None, # 922 - None, # 923 - None, # 924 - None, # 925 - None, # 926 - None, # 927 - None, # 928 - None, # 929 - None, # 930 - None, # 931 - None, # 932 - None, # 933 - None, # 934 - None, # 935 - None, # 936 - None, # 937 - None, # 938 - None, # 939 - None, # 940 - None, # 941 - None, # 942 - None, # 943 - None, # 944 - None, # 945 - None, # 946 - None, # 947 - None, # 948 - None, # 949 - None, # 950 - None, # 951 - None, # 952 - None, # 953 - None, # 954 - None, # 955 - None, # 956 - None, # 957 - None, # 958 - None, # 959 - None, # 960 - None, # 961 - None, # 962 - None, # 963 - None, # 964 - None, # 965 - None, # 966 - None, # 967 - None, # 968 - None, # 969 - None, # 970 - None, # 971 - None, # 972 - None, # 973 - None, # 974 - None, # 975 - None, # 976 - None, # 977 - None, # 978 - None, # 979 - None, # 980 - None, # 981 - None, # 982 - None, # 983 - None, # 984 - None, # 985 - None, # 986 - None, # 987 - None, # 988 - None, # 989 - None, # 990 - None, # 991 - None, # 992 - None, # 993 - None, # 994 - None, # 995 - None, # 996 - None, # 997 - None, # 998 - None, # 999 - None, # 1000 - None, # 1001 - None, # 1002 - None, # 1003 - None, # 1004 - None, # 1005 - None, # 1006 - None, # 1007 - None, # 1008 - None, # 1009 - None, # 1010 - None, # 1011 - None, # 1012 - None, # 1013 - None, # 1014 - None, # 1015 - None, # 1016 - None, # 1017 - None, # 1018 - None, # 1019 - None, # 1020 - None, # 1021 - None, # 1022 - None, # 1023 - None, # 1024 - None, # 1025 - None, # 1026 - None, # 1027 - None, # 1028 - None, # 1029 - None, # 1030 - None, # 1031 - None, # 1032 - None, # 1033 - None, # 1034 - None, # 1035 - None, # 1036 - None, # 1037 - None, # 1038 - None, # 1039 - None, # 1040 - None, # 1041 - None, # 1042 - None, # 1043 - None, # 1044 - None, # 1045 - None, # 1046 - None, # 1047 - None, # 1048 - None, # 1049 - None, # 1050 - None, # 1051 - None, # 1052 - None, # 1053 - None, # 1054 - None, # 1055 - None, # 1056 - None, # 1057 - None, # 1058 - None, # 1059 - None, # 1060 - None, # 1061 - None, # 1062 - None, # 1063 - None, # 1064 - None, # 1065 - None, # 1066 - None, # 1067 - None, # 1068 - None, # 1069 - None, # 1070 - None, # 1071 - None, # 1072 - None, # 1073 - None, # 1074 - None, # 1075 - None, # 1076 - None, # 1077 - None, # 1078 - None, # 1079 - None, # 1080 - None, # 1081 - None, # 1082 - None, # 1083 - None, # 1084 - None, # 1085 - None, # 1086 - None, # 1087 - None, # 1088 - None, # 1089 - None, # 1090 - None, # 1091 - None, # 1092 - None, # 1093 - None, # 1094 - None, # 1095 - None, # 1096 - None, # 1097 - None, # 1098 - None, # 1099 - None, # 1100 - None, # 1101 - None, # 1102 - None, # 1103 - None, # 1104 - None, # 1105 - None, # 1106 - None, # 1107 - None, # 1108 - None, # 1109 - None, # 1110 - None, # 1111 - None, # 1112 - None, # 1113 - None, # 1114 - None, # 1115 - None, # 1116 - None, # 1117 - None, # 1118 - None, # 1119 - None, # 1120 - None, # 1121 - None, # 1122 - None, # 1123 - None, # 1124 - None, # 1125 - None, # 1126 - None, # 1127 - None, # 1128 - None, # 1129 - None, # 1130 - None, # 1131 - None, # 1132 - None, # 1133 - None, # 1134 - None, # 1135 - None, # 1136 - None, # 1137 - None, # 1138 - None, # 1139 - None, # 1140 - None, # 1141 - None, # 1142 - None, # 1143 - None, # 1144 - None, # 1145 - None, # 1146 - None, # 1147 - None, # 1148 - None, # 1149 - None, # 1150 - None, # 1151 - None, # 1152 - None, # 1153 - None, # 1154 - None, # 1155 - None, # 1156 - None, # 1157 - None, # 1158 - None, # 1159 - None, # 1160 - None, # 1161 - None, # 1162 - None, # 1163 - None, # 1164 - None, # 1165 - None, # 1166 - None, # 1167 - None, # 1168 - None, # 1169 - None, # 1170 - None, # 1171 - None, # 1172 - None, # 1173 - None, # 1174 - None, # 1175 - None, # 1176 - None, # 1177 - None, # 1178 - None, # 1179 - None, # 1180 - None, # 1181 - None, # 1182 - None, # 1183 - None, # 1184 - None, # 1185 - None, # 1186 - None, # 1187 - None, # 1188 - None, # 1189 - None, # 1190 - None, # 1191 - None, # 1192 - None, # 1193 - None, # 1194 - None, # 1195 - None, # 1196 - None, # 1197 - None, # 1198 - None, # 1199 - None, # 1200 - None, # 1201 - None, # 1202 - None, # 1203 - None, # 1204 - None, # 1205 - None, # 1206 - None, # 1207 - None, # 1208 - None, # 1209 - None, # 1210 - None, # 1211 - None, # 1212 - None, # 1213 - None, # 1214 - None, # 1215 - None, # 1216 - None, # 1217 - None, # 1218 - None, # 1219 - None, # 1220 - None, # 1221 - None, # 1222 - None, # 1223 - None, # 1224 - None, # 1225 - None, # 1226 - None, # 1227 - None, # 1228 - None, # 1229 - None, # 1230 - None, # 1231 - None, # 1232 - None, # 1233 - None, # 1234 - None, # 1235 - None, # 1236 - None, # 1237 - None, # 1238 - None, # 1239 - None, # 1240 - None, # 1241 - None, # 1242 - None, # 1243 - None, # 1244 - None, # 1245 - None, # 1246 - None, # 1247 - None, # 1248 - None, # 1249 - None, # 1250 - None, # 1251 - None, # 1252 - None, # 1253 - None, # 1254 - None, # 1255 - None, # 1256 - None, # 1257 - None, # 1258 - None, # 1259 - None, # 1260 - None, # 1261 - None, # 1262 - None, # 1263 - None, # 1264 - None, # 1265 - None, # 1266 - None, # 1267 - None, # 1268 - None, # 1269 - None, # 1270 - None, # 1271 - None, # 1272 - None, # 1273 - None, # 1274 - None, # 1275 - None, # 1276 - None, # 1277 - None, # 1278 - None, # 1279 - None, # 1280 - None, # 1281 - None, # 1282 - None, # 1283 - None, # 1284 - None, # 1285 - None, # 1286 - None, # 1287 - None, # 1288 - None, # 1289 - None, # 1290 - None, # 1291 - None, # 1292 - None, # 1293 - None, # 1294 - None, # 1295 - None, # 1296 - None, # 1297 - None, # 1298 - None, # 1299 - None, # 1300 - None, # 1301 - None, # 1302 - None, # 1303 - None, # 1304 - None, # 1305 - None, # 1306 - None, # 1307 - None, # 1308 - None, # 1309 - None, # 1310 - None, # 1311 - None, # 1312 - None, # 1313 - None, # 1314 - None, # 1315 - None, # 1316 - None, # 1317 - None, # 1318 - None, # 1319 - None, # 1320 - None, # 1321 - None, # 1322 - None, # 1323 - None, # 1324 - None, # 1325 - None, # 1326 - None, # 1327 - None, # 1328 - None, # 1329 - None, # 1330 - None, # 1331 - None, # 1332 - None, # 1333 - None, # 1334 - None, # 1335 - None, # 1336 - None, # 1337 - None, # 1338 - None, # 1339 - None, # 1340 - None, # 1341 - None, # 1342 - None, # 1343 - None, # 1344 - None, # 1345 - None, # 1346 - None, # 1347 - None, # 1348 - None, # 1349 - None, # 1350 - None, # 1351 - None, # 1352 - None, # 1353 - None, # 1354 - None, # 1355 - None, # 1356 - None, # 1357 - None, # 1358 - None, # 1359 - None, # 1360 - None, # 1361 - None, # 1362 - None, # 1363 - None, # 1364 - None, # 1365 - None, # 1366 - None, # 1367 - None, # 1368 - None, # 1369 - None, # 1370 - None, # 1371 - None, # 1372 - None, # 1373 - None, # 1374 - None, # 1375 - None, # 1376 - None, # 1377 - None, # 1378 - None, # 1379 - None, # 1380 - None, # 1381 - None, # 1382 - None, # 1383 - None, # 1384 - None, # 1385 - None, # 1386 - None, # 1387 - None, # 1388 - None, # 1389 - None, # 1390 - None, # 1391 - None, # 1392 - None, # 1393 - None, # 1394 - None, # 1395 - None, # 1396 - None, # 1397 - None, # 1398 - None, # 1399 - None, # 1400 - None, # 1401 - None, # 1402 - None, # 1403 - None, # 1404 - None, # 1405 - None, # 1406 - None, # 1407 - None, # 1408 - None, # 1409 - None, # 1410 - None, # 1411 - None, # 1412 - None, # 1413 - None, # 1414 - None, # 1415 - None, # 1416 - None, # 1417 - None, # 1418 - None, # 1419 - None, # 1420 - None, # 1421 - None, # 1422 - None, # 1423 - None, # 1424 - None, # 1425 - None, # 1426 - None, # 1427 - None, # 1428 - None, # 1429 - None, # 1430 - None, # 1431 - None, # 1432 - None, # 1433 - None, # 1434 - None, # 1435 - None, # 1436 - None, # 1437 - None, # 1438 - None, # 1439 - None, # 1440 - None, # 1441 - None, # 1442 - None, # 1443 - None, # 1444 - None, # 1445 - None, # 1446 - None, # 1447 - None, # 1448 - None, # 1449 - None, # 1450 - None, # 1451 - None, # 1452 - None, # 1453 - None, # 1454 - None, # 1455 - None, # 1456 - None, # 1457 - None, # 1458 - None, # 1459 - None, # 1460 - None, # 1461 - None, # 1462 - None, # 1463 - None, # 1464 - None, # 1465 - None, # 1466 - None, # 1467 - None, # 1468 - None, # 1469 - None, # 1470 - None, # 1471 - None, # 1472 - None, # 1473 - None, # 1474 - None, # 1475 - None, # 1476 - None, # 1477 - None, # 1478 - None, # 1479 - None, # 1480 - None, # 1481 - None, # 1482 - None, # 1483 - None, # 1484 - None, # 1485 - None, # 1486 - None, # 1487 - None, # 1488 - None, # 1489 - None, # 1490 - None, # 1491 - None, # 1492 - None, # 1493 - None, # 1494 - None, # 1495 - None, # 1496 - None, # 1497 - None, # 1498 - None, # 1499 - None, # 1500 - None, # 1501 - None, # 1502 - None, # 1503 - None, # 1504 - None, # 1505 - None, # 1506 - None, # 1507 - None, # 1508 - None, # 1509 - None, # 1510 - None, # 1511 - None, # 1512 - None, # 1513 - None, # 1514 - None, # 1515 - None, # 1516 - None, # 1517 - None, # 1518 - None, # 1519 - None, # 1520 - None, # 1521 - None, # 1522 - None, # 1523 - None, # 1524 - None, # 1525 - None, # 1526 - None, # 1527 - None, # 1528 - None, # 1529 - None, # 1530 - None, # 1531 - None, # 1532 - None, # 1533 - None, # 1534 - None, # 1535 - None, # 1536 - None, # 1537 - None, # 1538 - None, # 1539 - None, # 1540 - None, # 1541 - None, # 1542 - None, # 1543 - None, # 1544 - None, # 1545 - None, # 1546 - None, # 1547 - None, # 1548 - None, # 1549 - None, # 1550 - None, # 1551 - None, # 1552 - None, # 1553 - None, # 1554 - None, # 1555 - None, # 1556 - None, # 1557 - None, # 1558 - None, # 1559 - None, # 1560 - None, # 1561 - None, # 1562 - None, # 1563 - None, # 1564 - None, # 1565 - None, # 1566 - None, # 1567 - None, # 1568 - None, # 1569 - None, # 1570 - None, # 1571 - None, # 1572 - None, # 1573 - None, # 1574 - None, # 1575 - None, # 1576 - None, # 1577 - None, # 1578 - None, # 1579 - None, # 1580 - None, # 1581 - None, # 1582 - None, # 1583 - None, # 1584 - None, # 1585 - None, # 1586 - None, # 1587 - None, # 1588 - None, # 1589 - None, # 1590 - None, # 1591 - None, # 1592 - None, # 1593 - None, # 1594 - None, # 1595 - None, # 1596 - None, # 1597 - None, # 1598 - None, # 1599 - None, # 1600 - None, # 1601 - None, # 1602 - None, # 1603 - None, # 1604 - None, # 1605 - None, # 1606 - None, # 1607 - None, # 1608 - None, # 1609 - None, # 1610 - None, # 1611 - None, # 1612 - None, # 1613 - None, # 1614 - None, # 1615 - None, # 1616 - None, # 1617 - None, # 1618 - None, # 1619 - None, # 1620 - None, # 1621 - None, # 1622 - None, # 1623 - None, # 1624 - None, # 1625 - None, # 1626 - None, # 1627 - None, # 1628 - None, # 1629 - None, # 1630 - None, # 1631 - None, # 1632 - None, # 1633 - None, # 1634 - None, # 1635 - None, # 1636 - None, # 1637 - None, # 1638 - None, # 1639 - None, # 1640 - None, # 1641 - None, # 1642 - None, # 1643 - None, # 1644 - None, # 1645 - None, # 1646 - None, # 1647 - None, # 1648 - None, # 1649 - None, # 1650 - None, # 1651 - None, # 1652 - None, # 1653 - None, # 1654 - None, # 1655 - None, # 1656 - None, # 1657 - None, # 1658 - None, # 1659 - None, # 1660 - None, # 1661 - None, # 1662 - None, # 1663 - None, # 1664 - None, # 1665 - None, # 1666 - None, # 1667 - None, # 1668 - None, # 1669 - None, # 1670 - None, # 1671 - None, # 1672 - None, # 1673 - None, # 1674 - None, # 1675 - None, # 1676 - None, # 1677 - None, # 1678 - None, # 1679 - None, # 1680 - None, # 1681 - None, # 1682 - None, # 1683 - None, # 1684 - None, # 1685 - None, # 1686 - None, # 1687 - None, # 1688 - None, # 1689 - None, # 1690 - None, # 1691 - None, # 1692 - None, # 1693 - None, # 1694 - None, # 1695 - None, # 1696 - None, # 1697 - None, # 1698 - None, # 1699 - None, # 1700 - None, # 1701 - None, # 1702 - None, # 1703 - None, # 1704 - None, # 1705 - None, # 1706 - None, # 1707 - None, # 1708 - None, # 1709 - None, # 1710 - None, # 1711 - None, # 1712 - None, # 1713 - None, # 1714 - None, # 1715 - None, # 1716 - None, # 1717 - None, # 1718 - None, # 1719 - None, # 1720 - None, # 1721 - None, # 1722 - None, # 1723 - None, # 1724 - None, # 1725 - None, # 1726 - None, # 1727 - None, # 1728 - None, # 1729 - None, # 1730 - None, # 1731 - None, # 1732 - None, # 1733 - None, # 1734 - None, # 1735 - None, # 1736 - None, # 1737 - None, # 1738 - None, # 1739 - None, # 1740 - None, # 1741 - None, # 1742 - None, # 1743 - None, # 1744 - None, # 1745 - None, # 1746 - None, # 1747 - None, # 1748 - None, # 1749 - None, # 1750 - None, # 1751 - None, # 1752 - None, # 1753 - None, # 1754 - None, # 1755 - None, # 1756 - None, # 1757 - None, # 1758 - None, # 1759 - None, # 1760 - None, # 1761 - None, # 1762 - None, # 1763 - None, # 1764 - None, # 1765 - None, # 1766 - None, # 1767 - None, # 1768 - None, # 1769 - None, # 1770 - None, # 1771 - None, # 1772 - None, # 1773 - None, # 1774 - None, # 1775 - None, # 1776 - None, # 1777 - None, # 1778 - None, # 1779 - None, # 1780 - None, # 1781 - None, # 1782 - None, # 1783 - None, # 1784 - None, # 1785 - None, # 1786 - None, # 1787 - None, # 1788 - None, # 1789 - None, # 1790 - None, # 1791 - None, # 1792 - None, # 1793 - None, # 1794 - None, # 1795 - None, # 1796 - None, # 1797 - None, # 1798 - None, # 1799 - None, # 1800 - None, # 1801 - None, # 1802 - None, # 1803 - None, # 1804 - None, # 1805 - None, # 1806 - None, # 1807 - None, # 1808 - None, # 1809 - None, # 1810 - None, # 1811 - None, # 1812 - None, # 1813 - None, # 1814 - None, # 1815 - None, # 1816 - None, # 1817 - None, # 1818 - None, # 1819 - None, # 1820 - None, # 1821 - None, # 1822 - None, # 1823 - None, # 1824 - None, # 1825 - None, # 1826 - None, # 1827 - None, # 1828 - None, # 1829 - None, # 1830 - None, # 1831 - None, # 1832 - None, # 1833 - None, # 1834 - None, # 1835 - None, # 1836 - None, # 1837 - None, # 1838 - None, # 1839 - None, # 1840 - None, # 1841 - None, # 1842 - None, # 1843 - None, # 1844 - None, # 1845 - None, # 1846 - None, # 1847 - None, # 1848 - None, # 1849 - None, # 1850 - None, # 1851 - None, # 1852 - None, # 1853 - None, # 1854 - None, # 1855 - None, # 1856 - None, # 1857 - None, # 1858 - None, # 1859 - None, # 1860 - None, # 1861 - None, # 1862 - None, # 1863 - None, # 1864 - None, # 1865 - None, # 1866 - None, # 1867 - None, # 1868 - None, # 1869 - None, # 1870 - None, # 1871 - None, # 1872 - None, # 1873 - None, # 1874 - None, # 1875 - None, # 1876 - None, # 1877 - None, # 1878 - None, # 1879 - None, # 1880 - None, # 1881 - None, # 1882 - None, # 1883 - None, # 1884 - None, # 1885 - None, # 1886 - None, # 1887 - None, # 1888 - None, # 1889 - None, # 1890 - None, # 1891 - None, # 1892 - None, # 1893 - None, # 1894 - None, # 1895 - None, # 1896 - None, # 1897 - None, # 1898 - None, # 1899 - None, # 1900 - None, # 1901 - None, # 1902 - None, # 1903 - None, # 1904 - None, # 1905 - None, # 1906 - None, # 1907 - None, # 1908 - None, # 1909 - None, # 1910 - None, # 1911 - None, # 1912 - None, # 1913 - None, # 1914 - None, # 1915 - None, # 1916 - None, # 1917 - None, # 1918 - None, # 1919 - None, # 1920 - None, # 1921 - None, # 1922 - None, # 1923 - None, # 1924 - None, # 1925 - None, # 1926 - None, # 1927 - None, # 1928 - None, # 1929 - None, # 1930 - None, # 1931 - None, # 1932 - None, # 1933 - None, # 1934 - None, # 1935 - None, # 1936 - None, # 1937 - None, # 1938 - None, # 1939 - None, # 1940 - None, # 1941 - None, # 1942 - None, # 1943 - None, # 1944 - None, # 1945 - None, # 1946 - None, # 1947 - None, # 1948 - None, # 1949 - None, # 1950 - None, # 1951 - None, # 1952 - None, # 1953 - None, # 1954 - None, # 1955 - None, # 1956 - None, # 1957 - None, # 1958 - None, # 1959 - None, # 1960 - None, # 1961 - None, # 1962 - None, # 1963 - None, # 1964 - None, # 1965 - None, # 1966 - None, # 1967 - None, # 1968 - None, # 1969 - None, # 1970 - None, # 1971 - None, # 1972 - None, # 1973 - None, # 1974 - None, # 1975 - None, # 1976 - None, # 1977 - None, # 1978 - None, # 1979 - None, # 1980 - None, # 1981 - None, # 1982 - None, # 1983 - None, # 1984 - None, # 1985 - None, # 1986 - None, # 1987 - None, # 1988 - None, # 1989 - None, # 1990 - None, # 1991 - None, # 1992 - None, # 1993 - None, # 1994 - None, # 1995 - None, # 1996 - None, # 1997 - None, # 1998 - None, # 1999 - None, # 2000 - None, # 2001 - None, # 2002 - None, # 2003 - None, # 2004 - None, # 2005 - None, # 2006 - None, # 2007 - None, # 2008 - None, # 2009 - None, # 2010 - None, # 2011 - None, # 2012 - None, # 2013 - None, # 2014 - None, # 2015 - None, # 2016 - None, # 2017 - None, # 2018 - None, # 2019 - None, # 2020 - None, # 2021 - None, # 2022 - None, # 2023 - None, # 2024 - None, # 2025 - None, # 2026 - None, # 2027 - None, # 2028 - None, # 2029 - None, # 2030 - None, # 2031 - None, # 2032 - None, # 2033 - None, # 2034 - None, # 2035 - None, # 2036 - None, # 2037 - None, # 2038 - None, # 2039 - None, # 2040 - None, # 2041 - None, # 2042 - None, # 2043 - None, # 2044 - None, # 2045 - None, # 2046 - None, # 2047 - None, # 2048 - None, # 2049 - None, # 2050 - None, # 2051 - None, # 2052 - None, # 2053 - None, # 2054 - None, # 2055 - None, # 2056 - None, # 2057 - None, # 2058 - None, # 2059 - None, # 2060 - None, # 2061 - None, # 2062 - None, # 2063 - None, # 2064 - None, # 2065 - None, # 2066 - None, # 2067 - None, # 2068 - None, # 2069 - None, # 2070 - None, # 2071 - None, # 2072 - None, # 2073 - None, # 2074 - None, # 2075 - None, # 2076 - None, # 2077 - None, # 2078 - None, # 2079 - None, # 2080 - None, # 2081 - None, # 2082 - None, # 2083 - None, # 2084 - None, # 2085 - None, # 2086 - None, # 2087 - None, # 2088 - None, # 2089 - None, # 2090 - None, # 2091 - None, # 2092 - None, # 2093 - None, # 2094 - None, # 2095 - None, # 2096 - None, # 2097 - None, # 2098 - None, # 2099 - None, # 2100 - None, # 2101 - None, # 2102 - None, # 2103 - None, # 2104 - None, # 2105 - None, # 2106 - None, # 2107 - None, # 2108 - None, # 2109 - None, # 2110 - None, # 2111 - None, # 2112 - None, # 2113 - None, # 2114 - None, # 2115 - None, # 2116 - None, # 2117 - None, # 2118 - None, # 2119 - None, # 2120 - None, # 2121 - None, # 2122 - None, # 2123 - None, # 2124 - None, # 2125 - None, # 2126 - None, # 2127 - None, # 2128 - None, # 2129 - None, # 2130 - None, # 2131 - None, # 2132 - None, # 2133 - None, # 2134 - None, # 2135 - None, # 2136 - None, # 2137 - None, # 2138 - None, # 2139 - None, # 2140 - None, # 2141 - None, # 2142 - None, # 2143 - None, # 2144 - None, # 2145 - None, # 2146 - None, # 2147 - None, # 2148 - None, # 2149 - None, # 2150 - None, # 2151 - None, # 2152 - None, # 2153 - None, # 2154 - None, # 2155 - None, # 2156 - None, # 2157 - None, # 2158 - None, # 2159 - None, # 2160 - None, # 2161 - None, # 2162 - None, # 2163 - None, # 2164 - None, # 2165 - None, # 2166 - None, # 2167 - None, # 2168 - None, # 2169 - None, # 2170 - None, # 2171 - None, # 2172 - None, # 2173 - None, # 2174 - None, # 2175 - None, # 2176 - None, # 2177 - None, # 2178 - None, # 2179 - None, # 2180 - None, # 2181 - None, # 2182 - None, # 2183 - None, # 2184 - None, # 2185 - None, # 2186 - None, # 2187 - None, # 2188 - None, # 2189 - None, # 2190 - None, # 2191 - None, # 2192 - None, # 2193 - None, # 2194 - None, # 2195 - None, # 2196 - None, # 2197 - None, # 2198 - None, # 2199 - None, # 2200 - None, # 2201 - None, # 2202 - None, # 2203 - None, # 2204 - None, # 2205 - None, # 2206 - None, # 2207 - None, # 2208 - None, # 2209 - None, # 2210 - None, # 2211 - None, # 2212 - None, # 2213 - None, # 2214 - None, # 2215 - None, # 2216 - None, # 2217 - None, # 2218 - None, # 2219 - None, # 2220 - None, # 2221 - None, # 2222 - None, # 2223 - None, # 2224 - None, # 2225 - None, # 2226 - None, # 2227 - None, # 2228 - None, # 2229 - None, # 2230 - None, # 2231 - None, # 2232 - None, # 2233 - None, # 2234 - None, # 2235 - None, # 2236 - None, # 2237 - None, # 2238 - None, # 2239 - None, # 2240 - None, # 2241 - None, # 2242 - None, # 2243 - None, # 2244 - None, # 2245 - None, # 2246 - None, # 2247 - None, # 2248 - None, # 2249 - None, # 2250 - None, # 2251 - None, # 2252 - None, # 2253 - None, # 2254 - None, # 2255 - None, # 2256 - None, # 2257 - None, # 2258 - None, # 2259 - None, # 2260 - None, # 2261 - None, # 2262 - None, # 2263 - None, # 2264 - None, # 2265 - None, # 2266 - None, # 2267 - None, # 2268 - None, # 2269 - None, # 2270 - None, # 2271 - None, # 2272 - None, # 2273 - None, # 2274 - None, # 2275 - None, # 2276 - None, # 2277 - None, # 2278 - None, # 2279 - None, # 2280 - None, # 2281 - None, # 2282 - None, # 2283 - None, # 2284 - None, # 2285 - None, # 2286 - None, # 2287 - None, # 2288 - None, # 2289 - None, # 2290 - None, # 2291 - None, # 2292 - None, # 2293 - None, # 2294 - None, # 2295 - None, # 2296 - None, # 2297 - None, # 2298 - None, # 2299 - None, # 2300 - None, # 2301 - None, # 2302 - None, # 2303 - None, # 2304 - None, # 2305 - None, # 2306 - None, # 2307 - None, # 2308 - None, # 2309 - None, # 2310 - None, # 2311 - None, # 2312 - None, # 2313 - None, # 2314 - None, # 2315 - None, # 2316 - None, # 2317 - None, # 2318 - None, # 2319 - None, # 2320 - None, # 2321 - None, # 2322 - None, # 2323 - None, # 2324 - None, # 2325 - None, # 2326 - None, # 2327 - None, # 2328 - None, # 2329 - None, # 2330 - None, # 2331 - None, # 2332 - None, # 2333 - None, # 2334 - None, # 2335 - None, # 2336 - None, # 2337 - None, # 2338 - None, # 2339 - None, # 2340 - None, # 2341 - None, # 2342 - None, # 2343 - None, # 2344 - None, # 2345 - None, # 2346 - None, # 2347 - None, # 2348 - None, # 2349 - None, # 2350 - None, # 2351 - None, # 2352 - None, # 2353 - None, # 2354 - None, # 2355 - None, # 2356 - None, # 2357 - None, # 2358 - None, # 2359 - None, # 2360 - None, # 2361 - None, # 2362 - None, # 2363 - None, # 2364 - None, # 2365 - None, # 2366 - None, # 2367 - None, # 2368 - None, # 2369 - None, # 2370 - None, # 2371 - None, # 2372 - None, # 2373 - None, # 2374 - None, # 2375 - None, # 2376 - None, # 2377 - None, # 2378 - None, # 2379 - None, # 2380 - None, # 2381 - None, # 2382 - None, # 2383 - None, # 2384 - None, # 2385 - None, # 2386 - None, # 2387 - None, # 2388 - None, # 2389 - None, # 2390 - None, # 2391 - None, # 2392 - None, # 2393 - None, # 2394 - None, # 2395 - None, # 2396 - None, # 2397 - None, # 2398 - None, # 2399 - None, # 2400 - None, # 2401 - None, # 2402 - None, # 2403 - None, # 2404 - None, # 2405 - None, # 2406 - None, # 2407 - None, # 2408 - None, # 2409 - None, # 2410 - None, # 2411 - None, # 2412 - None, # 2413 - None, # 2414 - None, # 2415 - None, # 2416 - None, # 2417 - None, # 2418 - None, # 2419 - None, # 2420 - None, # 2421 - None, # 2422 - None, # 2423 - None, # 2424 - None, # 2425 - None, # 2426 - None, # 2427 - None, # 2428 - None, # 2429 - None, # 2430 - None, # 2431 - None, # 2432 - None, # 2433 - None, # 2434 - None, # 2435 - None, # 2436 - None, # 2437 - None, # 2438 - None, # 2439 - None, # 2440 - None, # 2441 - None, # 2442 - None, # 2443 - None, # 2444 - None, # 2445 - None, # 2446 - None, # 2447 - None, # 2448 - None, # 2449 - None, # 2450 - None, # 2451 - None, # 2452 - None, # 2453 - None, # 2454 - None, # 2455 - None, # 2456 - None, # 2457 - None, # 2458 - None, # 2459 - None, # 2460 - None, # 2461 - None, # 2462 - None, # 2463 - None, # 2464 - None, # 2465 - None, # 2466 - None, # 2467 - None, # 2468 - None, # 2469 - None, # 2470 - None, # 2471 - None, # 2472 - None, # 2473 - None, # 2474 - None, # 2475 - None, # 2476 - None, # 2477 - None, # 2478 - None, # 2479 - None, # 2480 - None, # 2481 - None, # 2482 - None, # 2483 - None, # 2484 - None, # 2485 - None, # 2486 - None, # 2487 - None, # 2488 - None, # 2489 - None, # 2490 - None, # 2491 - None, # 2492 - None, # 2493 - None, # 2494 - None, # 2495 - None, # 2496 - None, # 2497 - None, # 2498 - None, # 2499 - None, # 2500 - None, # 2501 - None, # 2502 - None, # 2503 - None, # 2504 - None, # 2505 - None, # 2506 - None, # 2507 - None, # 2508 - None, # 2509 - None, # 2510 - None, # 2511 - None, # 2512 - None, # 2513 - None, # 2514 - None, # 2515 - None, # 2516 - None, # 2517 - None, # 2518 - None, # 2519 - None, # 2520 - None, # 2521 - None, # 2522 - None, # 2523 - None, # 2524 - None, # 2525 - None, # 2526 - None, # 2527 - None, # 2528 - None, # 2529 - None, # 2530 - None, # 2531 - None, # 2532 - None, # 2533 - None, # 2534 - None, # 2535 - None, # 2536 - None, # 2537 - None, # 2538 - None, # 2539 - None, # 2540 - None, # 2541 - None, # 2542 - None, # 2543 - None, # 2544 - None, # 2545 - None, # 2546 - None, # 2547 - None, # 2548 - None, # 2549 - None, # 2550 - None, # 2551 - None, # 2552 - None, # 2553 - None, # 2554 - None, # 2555 - None, # 2556 - None, # 2557 - None, # 2558 - None, # 2559 - None, # 2560 - None, # 2561 - None, # 2562 - None, # 2563 - None, # 2564 - None, # 2565 - None, # 2566 - None, # 2567 - None, # 2568 - None, # 2569 - None, # 2570 - None, # 2571 - None, # 2572 - None, # 2573 - None, # 2574 - None, # 2575 - None, # 2576 - None, # 2577 - None, # 2578 - None, # 2579 - None, # 2580 - None, # 2581 - None, # 2582 - None, # 2583 - None, # 2584 - None, # 2585 - None, # 2586 - None, # 2587 - None, # 2588 - None, # 2589 - None, # 2590 - None, # 2591 - None, # 2592 - None, # 2593 - None, # 2594 - None, # 2595 - None, # 2596 - None, # 2597 - None, # 2598 - None, # 2599 - None, # 2600 - None, # 2601 - None, # 2602 - None, # 2603 - None, # 2604 - None, # 2605 - None, # 2606 - None, # 2607 - None, # 2608 - None, # 2609 - None, # 2610 - None, # 2611 - None, # 2612 - None, # 2613 - None, # 2614 - None, # 2615 - None, # 2616 - None, # 2617 - None, # 2618 - None, # 2619 - None, # 2620 - None, # 2621 - None, # 2622 - None, # 2623 - None, # 2624 - None, # 2625 - None, # 2626 - None, # 2627 - None, # 2628 - None, # 2629 - None, # 2630 - None, # 2631 - None, # 2632 - None, # 2633 - None, # 2634 - None, # 2635 - None, # 2636 - None, # 2637 - None, # 2638 - None, # 2639 - None, # 2640 - None, # 2641 - None, # 2642 - None, # 2643 - None, # 2644 - None, # 2645 - None, # 2646 - None, # 2647 - None, # 2648 - None, # 2649 - None, # 2650 - None, # 2651 - None, # 2652 - None, # 2653 - None, # 2654 - None, # 2655 - None, # 2656 - None, # 2657 - None, # 2658 - None, # 2659 - None, # 2660 - None, # 2661 - None, # 2662 - None, # 2663 - None, # 2664 - None, # 2665 - None, # 2666 - None, # 2667 - None, # 2668 - None, # 2669 - None, # 2670 - None, # 2671 - None, # 2672 - None, # 2673 - None, # 2674 - None, # 2675 - None, # 2676 - None, # 2677 - None, # 2678 - None, # 2679 - None, # 2680 - None, # 2681 - None, # 2682 - None, # 2683 - None, # 2684 - None, # 2685 - None, # 2686 - None, # 2687 - None, # 2688 - None, # 2689 - None, # 2690 - None, # 2691 - None, # 2692 - None, # 2693 - None, # 2694 - None, # 2695 - None, # 2696 - None, # 2697 - None, # 2698 - None, # 2699 - None, # 2700 - None, # 2701 - None, # 2702 - None, # 2703 - None, # 2704 - None, # 2705 - None, # 2706 - None, # 2707 - None, # 2708 - None, # 2709 - None, # 2710 - None, # 2711 - None, # 2712 - None, # 2713 - None, # 2714 - None, # 2715 - None, # 2716 - None, # 2717 - None, # 2718 - None, # 2719 - None, # 2720 - None, # 2721 - None, # 2722 - None, # 2723 - None, # 2724 - None, # 2725 - None, # 2726 - None, # 2727 - None, # 2728 - None, # 2729 - None, # 2730 - None, # 2731 - None, # 2732 - None, # 2733 - None, # 2734 - None, # 2735 - None, # 2736 - None, # 2737 - None, # 2738 - None, # 2739 - None, # 2740 - None, # 2741 - None, # 2742 - None, # 2743 - None, # 2744 - None, # 2745 - None, # 2746 - None, # 2747 - None, # 2748 - None, # 2749 - None, # 2750 - None, # 2751 - None, # 2752 - None, # 2753 - None, # 2754 - None, # 2755 - None, # 2756 - None, # 2757 - None, # 2758 - None, # 2759 - None, # 2760 - None, # 2761 - None, # 2762 - None, # 2763 - None, # 2764 - None, # 2765 - None, # 2766 - None, # 2767 - None, # 2768 - None, # 2769 - None, # 2770 - None, # 2771 - None, # 2772 - None, # 2773 - None, # 2774 - None, # 2775 - None, # 2776 - None, # 2777 - None, # 2778 - None, # 2779 - None, # 2780 - None, # 2781 - None, # 2782 - None, # 2783 - None, # 2784 - None, # 2785 - None, # 2786 - None, # 2787 - None, # 2788 - None, # 2789 - None, # 2790 - None, # 2791 - None, # 2792 - None, # 2793 - None, # 2794 - None, # 2795 - None, # 2796 - None, # 2797 - None, # 2798 - None, # 2799 - None, # 2800 - None, # 2801 - None, # 2802 - None, # 2803 - None, # 2804 - None, # 2805 - None, # 2806 - None, # 2807 - None, # 2808 - None, # 2809 - None, # 2810 - None, # 2811 - None, # 2812 - None, # 2813 - None, # 2814 - None, # 2815 - None, # 2816 - None, # 2817 - None, # 2818 - None, # 2819 - None, # 2820 - None, # 2821 - None, # 2822 - None, # 2823 - None, # 2824 - None, # 2825 - None, # 2826 - None, # 2827 - None, # 2828 - None, # 2829 - None, # 2830 - None, # 2831 - None, # 2832 - None, # 2833 - None, # 2834 - None, # 2835 - None, # 2836 - None, # 2837 - None, # 2838 - None, # 2839 - None, # 2840 - None, # 2841 - None, # 2842 - None, # 2843 - None, # 2844 - None, # 2845 - None, # 2846 - None, # 2847 - None, # 2848 - None, # 2849 - None, # 2850 - None, # 2851 - None, # 2852 - None, # 2853 - None, # 2854 - None, # 2855 - None, # 2856 - None, # 2857 - None, # 2858 - None, # 2859 - None, # 2860 - None, # 2861 - None, # 2862 - None, # 2863 - None, # 2864 - None, # 2865 - None, # 2866 - None, # 2867 - None, # 2868 - None, # 2869 - None, # 2870 - None, # 2871 - None, # 2872 - None, # 2873 - None, # 2874 - None, # 2875 - None, # 2876 - None, # 2877 - None, # 2878 - None, # 2879 - None, # 2880 - None, # 2881 - None, # 2882 - None, # 2883 - None, # 2884 - None, # 2885 - None, # 2886 - None, # 2887 - None, # 2888 - None, # 2889 - None, # 2890 - None, # 2891 - None, # 2892 - None, # 2893 - None, # 2894 - None, # 2895 - None, # 2896 - None, # 2897 - None, # 2898 - None, # 2899 - None, # 2900 - None, # 2901 - None, # 2902 - None, # 2903 - None, # 2904 - None, # 2905 - None, # 2906 - None, # 2907 - None, # 2908 - None, # 2909 - None, # 2910 - None, # 2911 - None, # 2912 - None, # 2913 - None, # 2914 - None, # 2915 - None, # 2916 - None, # 2917 - None, # 2918 - None, # 2919 - None, # 2920 - None, # 2921 - None, # 2922 - None, # 2923 - None, # 2924 - None, # 2925 - None, # 2926 - None, # 2927 - None, # 2928 - None, # 2929 - None, # 2930 - None, # 2931 - None, # 2932 - None, # 2933 - None, # 2934 - None, # 2935 - None, # 2936 - None, # 2937 - None, # 2938 - None, # 2939 - None, # 2940 - None, # 2941 - None, # 2942 - None, # 2943 - None, # 2944 - None, # 2945 - None, # 2946 - None, # 2947 - None, # 2948 - None, # 2949 - None, # 2950 - None, # 2951 - None, # 2952 - None, # 2953 - None, # 2954 - None, # 2955 - None, # 2956 - None, # 2957 - None, # 2958 - None, # 2959 - None, # 2960 - None, # 2961 - None, # 2962 - None, # 2963 - None, # 2964 - None, # 2965 - None, # 2966 - None, # 2967 - None, # 2968 - None, # 2969 - None, # 2970 - None, # 2971 - None, # 2972 - None, # 2973 - None, # 2974 - None, # 2975 - None, # 2976 - None, # 2977 - None, # 2978 - None, # 2979 - None, # 2980 - None, # 2981 - None, # 2982 - None, # 2983 - None, # 2984 - None, # 2985 - None, # 2986 - None, # 2987 - None, # 2988 - None, # 2989 - None, # 2990 - None, # 2991 - None, # 2992 - None, # 2993 - None, # 2994 - None, # 2995 - None, # 2996 - None, # 2997 - None, # 2998 - None, # 2999 - None, # 3000 - None, # 3001 - None, # 3002 - None, # 3003 - None, # 3004 - None, # 3005 - None, # 3006 - None, # 3007 - None, # 3008 - None, # 3009 - None, # 3010 - None, # 3011 - None, # 3012 - None, # 3013 - None, # 3014 - None, # 3015 - None, # 3016 - None, # 3017 - None, # 3018 - None, # 3019 - None, # 3020 - None, # 3021 - None, # 3022 - None, # 3023 - None, # 3024 - None, # 3025 - None, # 3026 - None, # 3027 - None, # 3028 - None, # 3029 - None, # 3030 - None, # 3031 - None, # 3032 - None, # 3033 - None, # 3034 - None, # 3035 - None, # 3036 - None, # 3037 - None, # 3038 - None, # 3039 - None, # 3040 - None, # 3041 - None, # 3042 - None, # 3043 - None, # 3044 - None, # 3045 - None, # 3046 - None, # 3047 - None, # 3048 - None, # 3049 - None, # 3050 - None, # 3051 - None, # 3052 - None, # 3053 - None, # 3054 - None, # 3055 - None, # 3056 - None, # 3057 - None, # 3058 - None, # 3059 - None, # 3060 - None, # 3061 - None, # 3062 - None, # 3063 - None, # 3064 - None, # 3065 - None, # 3066 - None, # 3067 - None, # 3068 - None, # 3069 - None, # 3070 - None, # 3071 - None, # 3072 - None, # 3073 - None, # 3074 - None, # 3075 - None, # 3076 - None, # 3077 - None, # 3078 - None, # 3079 - None, # 3080 - None, # 3081 - None, # 3082 - None, # 3083 - None, # 3084 - None, # 3085 - None, # 3086 - None, # 3087 - None, # 3088 - None, # 3089 - None, # 3090 - None, # 3091 - None, # 3092 - None, # 3093 - None, # 3094 - None, # 3095 - None, # 3096 - None, # 3097 - None, # 3098 - None, # 3099 - None, # 3100 - None, # 3101 - None, # 3102 - None, # 3103 - None, # 3104 - None, # 3105 - None, # 3106 - None, # 3107 - None, # 3108 - None, # 3109 - None, # 3110 - None, # 3111 - None, # 3112 - None, # 3113 - None, # 3114 - None, # 3115 - None, # 3116 - None, # 3117 - None, # 3118 - None, # 3119 - None, # 3120 - None, # 3121 - None, # 3122 - None, # 3123 - None, # 3124 - None, # 3125 - None, # 3126 - None, # 3127 - None, # 3128 - None, # 3129 - None, # 3130 - None, # 3131 - None, # 3132 - None, # 3133 - None, # 3134 - None, # 3135 - None, # 3136 - None, # 3137 - None, # 3138 - None, # 3139 - None, # 3140 - None, # 3141 - None, # 3142 - None, # 3143 - None, # 3144 - None, # 3145 - None, # 3146 - None, # 3147 - None, # 3148 - None, # 3149 - None, # 3150 - None, # 3151 - None, # 3152 - None, # 3153 - None, # 3154 - None, # 3155 - None, # 3156 - None, # 3157 - None, # 3158 - None, # 3159 - None, # 3160 - None, # 3161 - None, # 3162 - None, # 3163 - None, # 3164 - None, # 3165 - None, # 3166 - None, # 3167 - None, # 3168 - None, # 3169 - None, # 3170 - None, # 3171 - None, # 3172 - None, # 3173 - None, # 3174 - None, # 3175 - None, # 3176 - None, # 3177 - None, # 3178 - None, # 3179 - None, # 3180 - None, # 3181 - None, # 3182 - None, # 3183 - None, # 3184 - None, # 3185 - None, # 3186 - None, # 3187 - None, # 3188 - None, # 3189 - None, # 3190 - None, # 3191 - None, # 3192 - None, # 3193 - None, # 3194 - None, # 3195 - None, # 3196 - None, # 3197 - None, # 3198 - None, # 3199 - None, # 3200 - None, # 3201 - None, # 3202 - None, # 3203 - None, # 3204 - None, # 3205 - None, # 3206 - None, # 3207 - None, # 3208 - None, # 3209 - None, # 3210 - None, # 3211 - None, # 3212 - None, # 3213 - None, # 3214 - None, # 3215 - None, # 3216 - None, # 3217 - None, # 3218 - None, # 3219 - None, # 3220 - None, # 3221 - None, # 3222 - None, # 3223 - None, # 3224 - None, # 3225 - None, # 3226 - None, # 3227 - None, # 3228 - None, # 3229 - None, # 3230 - None, # 3231 - None, # 3232 - None, # 3233 - None, # 3234 - None, # 3235 - None, # 3236 - None, # 3237 - None, # 3238 - None, # 3239 - None, # 3240 - None, # 3241 - None, # 3242 - None, # 3243 - None, # 3244 - None, # 3245 - None, # 3246 - None, # 3247 - None, # 3248 - None, # 3249 - None, # 3250 - None, # 3251 - None, # 3252 - None, # 3253 - None, # 3254 - None, # 3255 - None, # 3256 - None, # 3257 - None, # 3258 - None, # 3259 - None, # 3260 - None, # 3261 - None, # 3262 - None, # 3263 - None, # 3264 - None, # 3265 - None, # 3266 - None, # 3267 - None, # 3268 - None, # 3269 - None, # 3270 - None, # 3271 - None, # 3272 - None, # 3273 - None, # 3274 - None, # 3275 - None, # 3276 - None, # 3277 - None, # 3278 - None, # 3279 - None, # 3280 - None, # 3281 - None, # 3282 - None, # 3283 - None, # 3284 - None, # 3285 - None, # 3286 - None, # 3287 - None, # 3288 - None, # 3289 - None, # 3290 - None, # 3291 - None, # 3292 - None, # 3293 - None, # 3294 - None, # 3295 - None, # 3296 - None, # 3297 - None, # 3298 - None, # 3299 - None, # 3300 - None, # 3301 - None, # 3302 - None, # 3303 - None, # 3304 - None, # 3305 - None, # 3306 - None, # 3307 - None, # 3308 - None, # 3309 - None, # 3310 - None, # 3311 - None, # 3312 - None, # 3313 - None, # 3314 - None, # 3315 - None, # 3316 - None, # 3317 - None, # 3318 - None, # 3319 - None, # 3320 - None, # 3321 - None, # 3322 - None, # 3323 - None, # 3324 - None, # 3325 - None, # 3326 - None, # 3327 - None, # 3328 - (3329, TType.STRUCT, 'sessionConf', [TDBSqlSessionConf, None], None, ), # 3329 + None, # 0 + (1, TType.STRUCT, 'sessionHandle', [TSessionHandle, None], None, ), # 1 + (2, TType.STRING, 'delegationToken', 'UTF8', None, ), # 2 + None, # 3 + None, # 4 + None, # 5 + None, # 6 + None, # 7 + None, # 8 + None, # 9 + None, # 10 + None, # 11 + None, # 12 + None, # 13 + None, # 14 + None, # 15 + None, # 16 + None, # 17 + None, # 18 + None, # 19 + None, # 20 + None, # 21 + None, # 22 + None, # 23 + None, # 24 + None, # 25 + None, # 26 + None, # 27 + None, # 28 + None, # 29 + None, # 30 + None, # 31 + None, # 32 + None, # 33 + None, # 34 + None, # 35 + None, # 36 + None, # 37 + None, # 38 + None, # 39 + None, # 40 + None, # 41 + None, # 42 + None, # 43 + None, # 44 + None, # 45 + None, # 46 + None, # 47 + None, # 48 + None, # 49 + None, # 50 + None, # 51 + None, # 52 + None, # 53 + None, # 54 + None, # 55 + None, # 56 + None, # 57 + None, # 58 + None, # 59 + None, # 60 + None, # 61 + None, # 62 + None, # 63 + None, # 64 + None, # 65 + None, # 66 + None, # 67 + None, # 68 + None, # 69 + None, # 70 + None, # 71 + None, # 72 + None, # 73 + None, # 74 + None, # 75 + None, # 76 + None, # 77 + None, # 78 + None, # 79 + None, # 80 + None, # 81 + None, # 82 + None, # 83 + None, # 84 + None, # 85 + None, # 86 + None, # 87 + None, # 88 + None, # 89 + None, # 90 + None, # 91 + None, # 92 + None, # 93 + None, # 94 + None, # 95 + None, # 96 + None, # 97 + None, # 98 + None, # 99 + None, # 100 + None, # 101 + None, # 102 + None, # 103 + None, # 104 + None, # 105 + None, # 106 + None, # 107 + None, # 108 + None, # 109 + None, # 110 + None, # 111 + None, # 112 + None, # 113 + None, # 114 + None, # 115 + None, # 116 + None, # 117 + None, # 118 + None, # 119 + None, # 120 + None, # 121 + None, # 122 + None, # 123 + None, # 124 + None, # 125 + None, # 126 + None, # 127 + None, # 128 + None, # 129 + None, # 130 + None, # 131 + None, # 132 + None, # 133 + None, # 134 + None, # 135 + None, # 136 + None, # 137 + None, # 138 + None, # 139 + None, # 140 + None, # 141 + None, # 142 + None, # 143 + None, # 144 + None, # 145 + None, # 146 + None, # 147 + None, # 148 + None, # 149 + None, # 150 + None, # 151 + None, # 152 + None, # 153 + None, # 154 + None, # 155 + None, # 156 + None, # 157 + None, # 158 + None, # 159 + None, # 160 + None, # 161 + None, # 162 + None, # 163 + None, # 164 + None, # 165 + None, # 166 + None, # 167 + None, # 168 + None, # 169 + None, # 170 + None, # 171 + None, # 172 + None, # 173 + None, # 174 + None, # 175 + None, # 176 + None, # 177 + None, # 178 + None, # 179 + None, # 180 + None, # 181 + None, # 182 + None, # 183 + None, # 184 + None, # 185 + None, # 186 + None, # 187 + None, # 188 + None, # 189 + None, # 190 + None, # 191 + None, # 192 + None, # 193 + None, # 194 + None, # 195 + None, # 196 + None, # 197 + None, # 198 + None, # 199 + None, # 200 + None, # 201 + None, # 202 + None, # 203 + None, # 204 + None, # 205 + None, # 206 + None, # 207 + None, # 208 + None, # 209 + None, # 210 + None, # 211 + None, # 212 + None, # 213 + None, # 214 + None, # 215 + None, # 216 + None, # 217 + None, # 218 + None, # 219 + None, # 220 + None, # 221 + None, # 222 + None, # 223 + None, # 224 + None, # 225 + None, # 226 + None, # 227 + None, # 228 + None, # 229 + None, # 230 + None, # 231 + None, # 232 + None, # 233 + None, # 234 + None, # 235 + None, # 236 + None, # 237 + None, # 238 + None, # 239 + None, # 240 + None, # 241 + None, # 242 + None, # 243 + None, # 244 + None, # 245 + None, # 246 + None, # 247 + None, # 248 + None, # 249 + None, # 250 + None, # 251 + None, # 252 + None, # 253 + None, # 254 + None, # 255 + None, # 256 + None, # 257 + None, # 258 + None, # 259 + None, # 260 + None, # 261 + None, # 262 + None, # 263 + None, # 264 + None, # 265 + None, # 266 + None, # 267 + None, # 268 + None, # 269 + None, # 270 + None, # 271 + None, # 272 + None, # 273 + None, # 274 + None, # 275 + None, # 276 + None, # 277 + None, # 278 + None, # 279 + None, # 280 + None, # 281 + None, # 282 + None, # 283 + None, # 284 + None, # 285 + None, # 286 + None, # 287 + None, # 288 + None, # 289 + None, # 290 + None, # 291 + None, # 292 + None, # 293 + None, # 294 + None, # 295 + None, # 296 + None, # 297 + None, # 298 + None, # 299 + None, # 300 + None, # 301 + None, # 302 + None, # 303 + None, # 304 + None, # 305 + None, # 306 + None, # 307 + None, # 308 + None, # 309 + None, # 310 + None, # 311 + None, # 312 + None, # 313 + None, # 314 + None, # 315 + None, # 316 + None, # 317 + None, # 318 + None, # 319 + None, # 320 + None, # 321 + None, # 322 + None, # 323 + None, # 324 + None, # 325 + None, # 326 + None, # 327 + None, # 328 + None, # 329 + None, # 330 + None, # 331 + None, # 332 + None, # 333 + None, # 334 + None, # 335 + None, # 336 + None, # 337 + None, # 338 + None, # 339 + None, # 340 + None, # 341 + None, # 342 + None, # 343 + None, # 344 + None, # 345 + None, # 346 + None, # 347 + None, # 348 + None, # 349 + None, # 350 + None, # 351 + None, # 352 + None, # 353 + None, # 354 + None, # 355 + None, # 356 + None, # 357 + None, # 358 + None, # 359 + None, # 360 + None, # 361 + None, # 362 + None, # 363 + None, # 364 + None, # 365 + None, # 366 + None, # 367 + None, # 368 + None, # 369 + None, # 370 + None, # 371 + None, # 372 + None, # 373 + None, # 374 + None, # 375 + None, # 376 + None, # 377 + None, # 378 + None, # 379 + None, # 380 + None, # 381 + None, # 382 + None, # 383 + None, # 384 + None, # 385 + None, # 386 + None, # 387 + None, # 388 + None, # 389 + None, # 390 + None, # 391 + None, # 392 + None, # 393 + None, # 394 + None, # 395 + None, # 396 + None, # 397 + None, # 398 + None, # 399 + None, # 400 + None, # 401 + None, # 402 + None, # 403 + None, # 404 + None, # 405 + None, # 406 + None, # 407 + None, # 408 + None, # 409 + None, # 410 + None, # 411 + None, # 412 + None, # 413 + None, # 414 + None, # 415 + None, # 416 + None, # 417 + None, # 418 + None, # 419 + None, # 420 + None, # 421 + None, # 422 + None, # 423 + None, # 424 + None, # 425 + None, # 426 + None, # 427 + None, # 428 + None, # 429 + None, # 430 + None, # 431 + None, # 432 + None, # 433 + None, # 434 + None, # 435 + None, # 436 + None, # 437 + None, # 438 + None, # 439 + None, # 440 + None, # 441 + None, # 442 + None, # 443 + None, # 444 + None, # 445 + None, # 446 + None, # 447 + None, # 448 + None, # 449 + None, # 450 + None, # 451 + None, # 452 + None, # 453 + None, # 454 + None, # 455 + None, # 456 + None, # 457 + None, # 458 + None, # 459 + None, # 460 + None, # 461 + None, # 462 + None, # 463 + None, # 464 + None, # 465 + None, # 466 + None, # 467 + None, # 468 + None, # 469 + None, # 470 + None, # 471 + None, # 472 + None, # 473 + None, # 474 + None, # 475 + None, # 476 + None, # 477 + None, # 478 + None, # 479 + None, # 480 + None, # 481 + None, # 482 + None, # 483 + None, # 484 + None, # 485 + None, # 486 + None, # 487 + None, # 488 + None, # 489 + None, # 490 + None, # 491 + None, # 492 + None, # 493 + None, # 494 + None, # 495 + None, # 496 + None, # 497 + None, # 498 + None, # 499 + None, # 500 + None, # 501 + None, # 502 + None, # 503 + None, # 504 + None, # 505 + None, # 506 + None, # 507 + None, # 508 + None, # 509 + None, # 510 + None, # 511 + None, # 512 + None, # 513 + None, # 514 + None, # 515 + None, # 516 + None, # 517 + None, # 518 + None, # 519 + None, # 520 + None, # 521 + None, # 522 + None, # 523 + None, # 524 + None, # 525 + None, # 526 + None, # 527 + None, # 528 + None, # 529 + None, # 530 + None, # 531 + None, # 532 + None, # 533 + None, # 534 + None, # 535 + None, # 536 + None, # 537 + None, # 538 + None, # 539 + None, # 540 + None, # 541 + None, # 542 + None, # 543 + None, # 544 + None, # 545 + None, # 546 + None, # 547 + None, # 548 + None, # 549 + None, # 550 + None, # 551 + None, # 552 + None, # 553 + None, # 554 + None, # 555 + None, # 556 + None, # 557 + None, # 558 + None, # 559 + None, # 560 + None, # 561 + None, # 562 + None, # 563 + None, # 564 + None, # 565 + None, # 566 + None, # 567 + None, # 568 + None, # 569 + None, # 570 + None, # 571 + None, # 572 + None, # 573 + None, # 574 + None, # 575 + None, # 576 + None, # 577 + None, # 578 + None, # 579 + None, # 580 + None, # 581 + None, # 582 + None, # 583 + None, # 584 + None, # 585 + None, # 586 + None, # 587 + None, # 588 + None, # 589 + None, # 590 + None, # 591 + None, # 592 + None, # 593 + None, # 594 + None, # 595 + None, # 596 + None, # 597 + None, # 598 + None, # 599 + None, # 600 + None, # 601 + None, # 602 + None, # 603 + None, # 604 + None, # 605 + None, # 606 + None, # 607 + None, # 608 + None, # 609 + None, # 610 + None, # 611 + None, # 612 + None, # 613 + None, # 614 + None, # 615 + None, # 616 + None, # 617 + None, # 618 + None, # 619 + None, # 620 + None, # 621 + None, # 622 + None, # 623 + None, # 624 + None, # 625 + None, # 626 + None, # 627 + None, # 628 + None, # 629 + None, # 630 + None, # 631 + None, # 632 + None, # 633 + None, # 634 + None, # 635 + None, # 636 + None, # 637 + None, # 638 + None, # 639 + None, # 640 + None, # 641 + None, # 642 + None, # 643 + None, # 644 + None, # 645 + None, # 646 + None, # 647 + None, # 648 + None, # 649 + None, # 650 + None, # 651 + None, # 652 + None, # 653 + None, # 654 + None, # 655 + None, # 656 + None, # 657 + None, # 658 + None, # 659 + None, # 660 + None, # 661 + None, # 662 + None, # 663 + None, # 664 + None, # 665 + None, # 666 + None, # 667 + None, # 668 + None, # 669 + None, # 670 + None, # 671 + None, # 672 + None, # 673 + None, # 674 + None, # 675 + None, # 676 + None, # 677 + None, # 678 + None, # 679 + None, # 680 + None, # 681 + None, # 682 + None, # 683 + None, # 684 + None, # 685 + None, # 686 + None, # 687 + None, # 688 + None, # 689 + None, # 690 + None, # 691 + None, # 692 + None, # 693 + None, # 694 + None, # 695 + None, # 696 + None, # 697 + None, # 698 + None, # 699 + None, # 700 + None, # 701 + None, # 702 + None, # 703 + None, # 704 + None, # 705 + None, # 706 + None, # 707 + None, # 708 + None, # 709 + None, # 710 + None, # 711 + None, # 712 + None, # 713 + None, # 714 + None, # 715 + None, # 716 + None, # 717 + None, # 718 + None, # 719 + None, # 720 + None, # 721 + None, # 722 + None, # 723 + None, # 724 + None, # 725 + None, # 726 + None, # 727 + None, # 728 + None, # 729 + None, # 730 + None, # 731 + None, # 732 + None, # 733 + None, # 734 + None, # 735 + None, # 736 + None, # 737 + None, # 738 + None, # 739 + None, # 740 + None, # 741 + None, # 742 + None, # 743 + None, # 744 + None, # 745 + None, # 746 + None, # 747 + None, # 748 + None, # 749 + None, # 750 + None, # 751 + None, # 752 + None, # 753 + None, # 754 + None, # 755 + None, # 756 + None, # 757 + None, # 758 + None, # 759 + None, # 760 + None, # 761 + None, # 762 + None, # 763 + None, # 764 + None, # 765 + None, # 766 + None, # 767 + None, # 768 + None, # 769 + None, # 770 + None, # 771 + None, # 772 + None, # 773 + None, # 774 + None, # 775 + None, # 776 + None, # 777 + None, # 778 + None, # 779 + None, # 780 + None, # 781 + None, # 782 + None, # 783 + None, # 784 + None, # 785 + None, # 786 + None, # 787 + None, # 788 + None, # 789 + None, # 790 + None, # 791 + None, # 792 + None, # 793 + None, # 794 + None, # 795 + None, # 796 + None, # 797 + None, # 798 + None, # 799 + None, # 800 + None, # 801 + None, # 802 + None, # 803 + None, # 804 + None, # 805 + None, # 806 + None, # 807 + None, # 808 + None, # 809 + None, # 810 + None, # 811 + None, # 812 + None, # 813 + None, # 814 + None, # 815 + None, # 816 + None, # 817 + None, # 818 + None, # 819 + None, # 820 + None, # 821 + None, # 822 + None, # 823 + None, # 824 + None, # 825 + None, # 826 + None, # 827 + None, # 828 + None, # 829 + None, # 830 + None, # 831 + None, # 832 + None, # 833 + None, # 834 + None, # 835 + None, # 836 + None, # 837 + None, # 838 + None, # 839 + None, # 840 + None, # 841 + None, # 842 + None, # 843 + None, # 844 + None, # 845 + None, # 846 + None, # 847 + None, # 848 + None, # 849 + None, # 850 + None, # 851 + None, # 852 + None, # 853 + None, # 854 + None, # 855 + None, # 856 + None, # 857 + None, # 858 + None, # 859 + None, # 860 + None, # 861 + None, # 862 + None, # 863 + None, # 864 + None, # 865 + None, # 866 + None, # 867 + None, # 868 + None, # 869 + None, # 870 + None, # 871 + None, # 872 + None, # 873 + None, # 874 + None, # 875 + None, # 876 + None, # 877 + None, # 878 + None, # 879 + None, # 880 + None, # 881 + None, # 882 + None, # 883 + None, # 884 + None, # 885 + None, # 886 + None, # 887 + None, # 888 + None, # 889 + None, # 890 + None, # 891 + None, # 892 + None, # 893 + None, # 894 + None, # 895 + None, # 896 + None, # 897 + None, # 898 + None, # 899 + None, # 900 + None, # 901 + None, # 902 + None, # 903 + None, # 904 + None, # 905 + None, # 906 + None, # 907 + None, # 908 + None, # 909 + None, # 910 + None, # 911 + None, # 912 + None, # 913 + None, # 914 + None, # 915 + None, # 916 + None, # 917 + None, # 918 + None, # 919 + None, # 920 + None, # 921 + None, # 922 + None, # 923 + None, # 924 + None, # 925 + None, # 926 + None, # 927 + None, # 928 + None, # 929 + None, # 930 + None, # 931 + None, # 932 + None, # 933 + None, # 934 + None, # 935 + None, # 936 + None, # 937 + None, # 938 + None, # 939 + None, # 940 + None, # 941 + None, # 942 + None, # 943 + None, # 944 + None, # 945 + None, # 946 + None, # 947 + None, # 948 + None, # 949 + None, # 950 + None, # 951 + None, # 952 + None, # 953 + None, # 954 + None, # 955 + None, # 956 + None, # 957 + None, # 958 + None, # 959 + None, # 960 + None, # 961 + None, # 962 + None, # 963 + None, # 964 + None, # 965 + None, # 966 + None, # 967 + None, # 968 + None, # 969 + None, # 970 + None, # 971 + None, # 972 + None, # 973 + None, # 974 + None, # 975 + None, # 976 + None, # 977 + None, # 978 + None, # 979 + None, # 980 + None, # 981 + None, # 982 + None, # 983 + None, # 984 + None, # 985 + None, # 986 + None, # 987 + None, # 988 + None, # 989 + None, # 990 + None, # 991 + None, # 992 + None, # 993 + None, # 994 + None, # 995 + None, # 996 + None, # 997 + None, # 998 + None, # 999 + None, # 1000 + None, # 1001 + None, # 1002 + None, # 1003 + None, # 1004 + None, # 1005 + None, # 1006 + None, # 1007 + None, # 1008 + None, # 1009 + None, # 1010 + None, # 1011 + None, # 1012 + None, # 1013 + None, # 1014 + None, # 1015 + None, # 1016 + None, # 1017 + None, # 1018 + None, # 1019 + None, # 1020 + None, # 1021 + None, # 1022 + None, # 1023 + None, # 1024 + None, # 1025 + None, # 1026 + None, # 1027 + None, # 1028 + None, # 1029 + None, # 1030 + None, # 1031 + None, # 1032 + None, # 1033 + None, # 1034 + None, # 1035 + None, # 1036 + None, # 1037 + None, # 1038 + None, # 1039 + None, # 1040 + None, # 1041 + None, # 1042 + None, # 1043 + None, # 1044 + None, # 1045 + None, # 1046 + None, # 1047 + None, # 1048 + None, # 1049 + None, # 1050 + None, # 1051 + None, # 1052 + None, # 1053 + None, # 1054 + None, # 1055 + None, # 1056 + None, # 1057 + None, # 1058 + None, # 1059 + None, # 1060 + None, # 1061 + None, # 1062 + None, # 1063 + None, # 1064 + None, # 1065 + None, # 1066 + None, # 1067 + None, # 1068 + None, # 1069 + None, # 1070 + None, # 1071 + None, # 1072 + None, # 1073 + None, # 1074 + None, # 1075 + None, # 1076 + None, # 1077 + None, # 1078 + None, # 1079 + None, # 1080 + None, # 1081 + None, # 1082 + None, # 1083 + None, # 1084 + None, # 1085 + None, # 1086 + None, # 1087 + None, # 1088 + None, # 1089 + None, # 1090 + None, # 1091 + None, # 1092 + None, # 1093 + None, # 1094 + None, # 1095 + None, # 1096 + None, # 1097 + None, # 1098 + None, # 1099 + None, # 1100 + None, # 1101 + None, # 1102 + None, # 1103 + None, # 1104 + None, # 1105 + None, # 1106 + None, # 1107 + None, # 1108 + None, # 1109 + None, # 1110 + None, # 1111 + None, # 1112 + None, # 1113 + None, # 1114 + None, # 1115 + None, # 1116 + None, # 1117 + None, # 1118 + None, # 1119 + None, # 1120 + None, # 1121 + None, # 1122 + None, # 1123 + None, # 1124 + None, # 1125 + None, # 1126 + None, # 1127 + None, # 1128 + None, # 1129 + None, # 1130 + None, # 1131 + None, # 1132 + None, # 1133 + None, # 1134 + None, # 1135 + None, # 1136 + None, # 1137 + None, # 1138 + None, # 1139 + None, # 1140 + None, # 1141 + None, # 1142 + None, # 1143 + None, # 1144 + None, # 1145 + None, # 1146 + None, # 1147 + None, # 1148 + None, # 1149 + None, # 1150 + None, # 1151 + None, # 1152 + None, # 1153 + None, # 1154 + None, # 1155 + None, # 1156 + None, # 1157 + None, # 1158 + None, # 1159 + None, # 1160 + None, # 1161 + None, # 1162 + None, # 1163 + None, # 1164 + None, # 1165 + None, # 1166 + None, # 1167 + None, # 1168 + None, # 1169 + None, # 1170 + None, # 1171 + None, # 1172 + None, # 1173 + None, # 1174 + None, # 1175 + None, # 1176 + None, # 1177 + None, # 1178 + None, # 1179 + None, # 1180 + None, # 1181 + None, # 1182 + None, # 1183 + None, # 1184 + None, # 1185 + None, # 1186 + None, # 1187 + None, # 1188 + None, # 1189 + None, # 1190 + None, # 1191 + None, # 1192 + None, # 1193 + None, # 1194 + None, # 1195 + None, # 1196 + None, # 1197 + None, # 1198 + None, # 1199 + None, # 1200 + None, # 1201 + None, # 1202 + None, # 1203 + None, # 1204 + None, # 1205 + None, # 1206 + None, # 1207 + None, # 1208 + None, # 1209 + None, # 1210 + None, # 1211 + None, # 1212 + None, # 1213 + None, # 1214 + None, # 1215 + None, # 1216 + None, # 1217 + None, # 1218 + None, # 1219 + None, # 1220 + None, # 1221 + None, # 1222 + None, # 1223 + None, # 1224 + None, # 1225 + None, # 1226 + None, # 1227 + None, # 1228 + None, # 1229 + None, # 1230 + None, # 1231 + None, # 1232 + None, # 1233 + None, # 1234 + None, # 1235 + None, # 1236 + None, # 1237 + None, # 1238 + None, # 1239 + None, # 1240 + None, # 1241 + None, # 1242 + None, # 1243 + None, # 1244 + None, # 1245 + None, # 1246 + None, # 1247 + None, # 1248 + None, # 1249 + None, # 1250 + None, # 1251 + None, # 1252 + None, # 1253 + None, # 1254 + None, # 1255 + None, # 1256 + None, # 1257 + None, # 1258 + None, # 1259 + None, # 1260 + None, # 1261 + None, # 1262 + None, # 1263 + None, # 1264 + None, # 1265 + None, # 1266 + None, # 1267 + None, # 1268 + None, # 1269 + None, # 1270 + None, # 1271 + None, # 1272 + None, # 1273 + None, # 1274 + None, # 1275 + None, # 1276 + None, # 1277 + None, # 1278 + None, # 1279 + None, # 1280 + None, # 1281 + None, # 1282 + None, # 1283 + None, # 1284 + None, # 1285 + None, # 1286 + None, # 1287 + None, # 1288 + None, # 1289 + None, # 1290 + None, # 1291 + None, # 1292 + None, # 1293 + None, # 1294 + None, # 1295 + None, # 1296 + None, # 1297 + None, # 1298 + None, # 1299 + None, # 1300 + None, # 1301 + None, # 1302 + None, # 1303 + None, # 1304 + None, # 1305 + None, # 1306 + None, # 1307 + None, # 1308 + None, # 1309 + None, # 1310 + None, # 1311 + None, # 1312 + None, # 1313 + None, # 1314 + None, # 1315 + None, # 1316 + None, # 1317 + None, # 1318 + None, # 1319 + None, # 1320 + None, # 1321 + None, # 1322 + None, # 1323 + None, # 1324 + None, # 1325 + None, # 1326 + None, # 1327 + None, # 1328 + None, # 1329 + None, # 1330 + None, # 1331 + None, # 1332 + None, # 1333 + None, # 1334 + None, # 1335 + None, # 1336 + None, # 1337 + None, # 1338 + None, # 1339 + None, # 1340 + None, # 1341 + None, # 1342 + None, # 1343 + None, # 1344 + None, # 1345 + None, # 1346 + None, # 1347 + None, # 1348 + None, # 1349 + None, # 1350 + None, # 1351 + None, # 1352 + None, # 1353 + None, # 1354 + None, # 1355 + None, # 1356 + None, # 1357 + None, # 1358 + None, # 1359 + None, # 1360 + None, # 1361 + None, # 1362 + None, # 1363 + None, # 1364 + None, # 1365 + None, # 1366 + None, # 1367 + None, # 1368 + None, # 1369 + None, # 1370 + None, # 1371 + None, # 1372 + None, # 1373 + None, # 1374 + None, # 1375 + None, # 1376 + None, # 1377 + None, # 1378 + None, # 1379 + None, # 1380 + None, # 1381 + None, # 1382 + None, # 1383 + None, # 1384 + None, # 1385 + None, # 1386 + None, # 1387 + None, # 1388 + None, # 1389 + None, # 1390 + None, # 1391 + None, # 1392 + None, # 1393 + None, # 1394 + None, # 1395 + None, # 1396 + None, # 1397 + None, # 1398 + None, # 1399 + None, # 1400 + None, # 1401 + None, # 1402 + None, # 1403 + None, # 1404 + None, # 1405 + None, # 1406 + None, # 1407 + None, # 1408 + None, # 1409 + None, # 1410 + None, # 1411 + None, # 1412 + None, # 1413 + None, # 1414 + None, # 1415 + None, # 1416 + None, # 1417 + None, # 1418 + None, # 1419 + None, # 1420 + None, # 1421 + None, # 1422 + None, # 1423 + None, # 1424 + None, # 1425 + None, # 1426 + None, # 1427 + None, # 1428 + None, # 1429 + None, # 1430 + None, # 1431 + None, # 1432 + None, # 1433 + None, # 1434 + None, # 1435 + None, # 1436 + None, # 1437 + None, # 1438 + None, # 1439 + None, # 1440 + None, # 1441 + None, # 1442 + None, # 1443 + None, # 1444 + None, # 1445 + None, # 1446 + None, # 1447 + None, # 1448 + None, # 1449 + None, # 1450 + None, # 1451 + None, # 1452 + None, # 1453 + None, # 1454 + None, # 1455 + None, # 1456 + None, # 1457 + None, # 1458 + None, # 1459 + None, # 1460 + None, # 1461 + None, # 1462 + None, # 1463 + None, # 1464 + None, # 1465 + None, # 1466 + None, # 1467 + None, # 1468 + None, # 1469 + None, # 1470 + None, # 1471 + None, # 1472 + None, # 1473 + None, # 1474 + None, # 1475 + None, # 1476 + None, # 1477 + None, # 1478 + None, # 1479 + None, # 1480 + None, # 1481 + None, # 1482 + None, # 1483 + None, # 1484 + None, # 1485 + None, # 1486 + None, # 1487 + None, # 1488 + None, # 1489 + None, # 1490 + None, # 1491 + None, # 1492 + None, # 1493 + None, # 1494 + None, # 1495 + None, # 1496 + None, # 1497 + None, # 1498 + None, # 1499 + None, # 1500 + None, # 1501 + None, # 1502 + None, # 1503 + None, # 1504 + None, # 1505 + None, # 1506 + None, # 1507 + None, # 1508 + None, # 1509 + None, # 1510 + None, # 1511 + None, # 1512 + None, # 1513 + None, # 1514 + None, # 1515 + None, # 1516 + None, # 1517 + None, # 1518 + None, # 1519 + None, # 1520 + None, # 1521 + None, # 1522 + None, # 1523 + None, # 1524 + None, # 1525 + None, # 1526 + None, # 1527 + None, # 1528 + None, # 1529 + None, # 1530 + None, # 1531 + None, # 1532 + None, # 1533 + None, # 1534 + None, # 1535 + None, # 1536 + None, # 1537 + None, # 1538 + None, # 1539 + None, # 1540 + None, # 1541 + None, # 1542 + None, # 1543 + None, # 1544 + None, # 1545 + None, # 1546 + None, # 1547 + None, # 1548 + None, # 1549 + None, # 1550 + None, # 1551 + None, # 1552 + None, # 1553 + None, # 1554 + None, # 1555 + None, # 1556 + None, # 1557 + None, # 1558 + None, # 1559 + None, # 1560 + None, # 1561 + None, # 1562 + None, # 1563 + None, # 1564 + None, # 1565 + None, # 1566 + None, # 1567 + None, # 1568 + None, # 1569 + None, # 1570 + None, # 1571 + None, # 1572 + None, # 1573 + None, # 1574 + None, # 1575 + None, # 1576 + None, # 1577 + None, # 1578 + None, # 1579 + None, # 1580 + None, # 1581 + None, # 1582 + None, # 1583 + None, # 1584 + None, # 1585 + None, # 1586 + None, # 1587 + None, # 1588 + None, # 1589 + None, # 1590 + None, # 1591 + None, # 1592 + None, # 1593 + None, # 1594 + None, # 1595 + None, # 1596 + None, # 1597 + None, # 1598 + None, # 1599 + None, # 1600 + None, # 1601 + None, # 1602 + None, # 1603 + None, # 1604 + None, # 1605 + None, # 1606 + None, # 1607 + None, # 1608 + None, # 1609 + None, # 1610 + None, # 1611 + None, # 1612 + None, # 1613 + None, # 1614 + None, # 1615 + None, # 1616 + None, # 1617 + None, # 1618 + None, # 1619 + None, # 1620 + None, # 1621 + None, # 1622 + None, # 1623 + None, # 1624 + None, # 1625 + None, # 1626 + None, # 1627 + None, # 1628 + None, # 1629 + None, # 1630 + None, # 1631 + None, # 1632 + None, # 1633 + None, # 1634 + None, # 1635 + None, # 1636 + None, # 1637 + None, # 1638 + None, # 1639 + None, # 1640 + None, # 1641 + None, # 1642 + None, # 1643 + None, # 1644 + None, # 1645 + None, # 1646 + None, # 1647 + None, # 1648 + None, # 1649 + None, # 1650 + None, # 1651 + None, # 1652 + None, # 1653 + None, # 1654 + None, # 1655 + None, # 1656 + None, # 1657 + None, # 1658 + None, # 1659 + None, # 1660 + None, # 1661 + None, # 1662 + None, # 1663 + None, # 1664 + None, # 1665 + None, # 1666 + None, # 1667 + None, # 1668 + None, # 1669 + None, # 1670 + None, # 1671 + None, # 1672 + None, # 1673 + None, # 1674 + None, # 1675 + None, # 1676 + None, # 1677 + None, # 1678 + None, # 1679 + None, # 1680 + None, # 1681 + None, # 1682 + None, # 1683 + None, # 1684 + None, # 1685 + None, # 1686 + None, # 1687 + None, # 1688 + None, # 1689 + None, # 1690 + None, # 1691 + None, # 1692 + None, # 1693 + None, # 1694 + None, # 1695 + None, # 1696 + None, # 1697 + None, # 1698 + None, # 1699 + None, # 1700 + None, # 1701 + None, # 1702 + None, # 1703 + None, # 1704 + None, # 1705 + None, # 1706 + None, # 1707 + None, # 1708 + None, # 1709 + None, # 1710 + None, # 1711 + None, # 1712 + None, # 1713 + None, # 1714 + None, # 1715 + None, # 1716 + None, # 1717 + None, # 1718 + None, # 1719 + None, # 1720 + None, # 1721 + None, # 1722 + None, # 1723 + None, # 1724 + None, # 1725 + None, # 1726 + None, # 1727 + None, # 1728 + None, # 1729 + None, # 1730 + None, # 1731 + None, # 1732 + None, # 1733 + None, # 1734 + None, # 1735 + None, # 1736 + None, # 1737 + None, # 1738 + None, # 1739 + None, # 1740 + None, # 1741 + None, # 1742 + None, # 1743 + None, # 1744 + None, # 1745 + None, # 1746 + None, # 1747 + None, # 1748 + None, # 1749 + None, # 1750 + None, # 1751 + None, # 1752 + None, # 1753 + None, # 1754 + None, # 1755 + None, # 1756 + None, # 1757 + None, # 1758 + None, # 1759 + None, # 1760 + None, # 1761 + None, # 1762 + None, # 1763 + None, # 1764 + None, # 1765 + None, # 1766 + None, # 1767 + None, # 1768 + None, # 1769 + None, # 1770 + None, # 1771 + None, # 1772 + None, # 1773 + None, # 1774 + None, # 1775 + None, # 1776 + None, # 1777 + None, # 1778 + None, # 1779 + None, # 1780 + None, # 1781 + None, # 1782 + None, # 1783 + None, # 1784 + None, # 1785 + None, # 1786 + None, # 1787 + None, # 1788 + None, # 1789 + None, # 1790 + None, # 1791 + None, # 1792 + None, # 1793 + None, # 1794 + None, # 1795 + None, # 1796 + None, # 1797 + None, # 1798 + None, # 1799 + None, # 1800 + None, # 1801 + None, # 1802 + None, # 1803 + None, # 1804 + None, # 1805 + None, # 1806 + None, # 1807 + None, # 1808 + None, # 1809 + None, # 1810 + None, # 1811 + None, # 1812 + None, # 1813 + None, # 1814 + None, # 1815 + None, # 1816 + None, # 1817 + None, # 1818 + None, # 1819 + None, # 1820 + None, # 1821 + None, # 1822 + None, # 1823 + None, # 1824 + None, # 1825 + None, # 1826 + None, # 1827 + None, # 1828 + None, # 1829 + None, # 1830 + None, # 1831 + None, # 1832 + None, # 1833 + None, # 1834 + None, # 1835 + None, # 1836 + None, # 1837 + None, # 1838 + None, # 1839 + None, # 1840 + None, # 1841 + None, # 1842 + None, # 1843 + None, # 1844 + None, # 1845 + None, # 1846 + None, # 1847 + None, # 1848 + None, # 1849 + None, # 1850 + None, # 1851 + None, # 1852 + None, # 1853 + None, # 1854 + None, # 1855 + None, # 1856 + None, # 1857 + None, # 1858 + None, # 1859 + None, # 1860 + None, # 1861 + None, # 1862 + None, # 1863 + None, # 1864 + None, # 1865 + None, # 1866 + None, # 1867 + None, # 1868 + None, # 1869 + None, # 1870 + None, # 1871 + None, # 1872 + None, # 1873 + None, # 1874 + None, # 1875 + None, # 1876 + None, # 1877 + None, # 1878 + None, # 1879 + None, # 1880 + None, # 1881 + None, # 1882 + None, # 1883 + None, # 1884 + None, # 1885 + None, # 1886 + None, # 1887 + None, # 1888 + None, # 1889 + None, # 1890 + None, # 1891 + None, # 1892 + None, # 1893 + None, # 1894 + None, # 1895 + None, # 1896 + None, # 1897 + None, # 1898 + None, # 1899 + None, # 1900 + None, # 1901 + None, # 1902 + None, # 1903 + None, # 1904 + None, # 1905 + None, # 1906 + None, # 1907 + None, # 1908 + None, # 1909 + None, # 1910 + None, # 1911 + None, # 1912 + None, # 1913 + None, # 1914 + None, # 1915 + None, # 1916 + None, # 1917 + None, # 1918 + None, # 1919 + None, # 1920 + None, # 1921 + None, # 1922 + None, # 1923 + None, # 1924 + None, # 1925 + None, # 1926 + None, # 1927 + None, # 1928 + None, # 1929 + None, # 1930 + None, # 1931 + None, # 1932 + None, # 1933 + None, # 1934 + None, # 1935 + None, # 1936 + None, # 1937 + None, # 1938 + None, # 1939 + None, # 1940 + None, # 1941 + None, # 1942 + None, # 1943 + None, # 1944 + None, # 1945 + None, # 1946 + None, # 1947 + None, # 1948 + None, # 1949 + None, # 1950 + None, # 1951 + None, # 1952 + None, # 1953 + None, # 1954 + None, # 1955 + None, # 1956 + None, # 1957 + None, # 1958 + None, # 1959 + None, # 1960 + None, # 1961 + None, # 1962 + None, # 1963 + None, # 1964 + None, # 1965 + None, # 1966 + None, # 1967 + None, # 1968 + None, # 1969 + None, # 1970 + None, # 1971 + None, # 1972 + None, # 1973 + None, # 1974 + None, # 1975 + None, # 1976 + None, # 1977 + None, # 1978 + None, # 1979 + None, # 1980 + None, # 1981 + None, # 1982 + None, # 1983 + None, # 1984 + None, # 1985 + None, # 1986 + None, # 1987 + None, # 1988 + None, # 1989 + None, # 1990 + None, # 1991 + None, # 1992 + None, # 1993 + None, # 1994 + None, # 1995 + None, # 1996 + None, # 1997 + None, # 1998 + None, # 1999 + None, # 2000 + None, # 2001 + None, # 2002 + None, # 2003 + None, # 2004 + None, # 2005 + None, # 2006 + None, # 2007 + None, # 2008 + None, # 2009 + None, # 2010 + None, # 2011 + None, # 2012 + None, # 2013 + None, # 2014 + None, # 2015 + None, # 2016 + None, # 2017 + None, # 2018 + None, # 2019 + None, # 2020 + None, # 2021 + None, # 2022 + None, # 2023 + None, # 2024 + None, # 2025 + None, # 2026 + None, # 2027 + None, # 2028 + None, # 2029 + None, # 2030 + None, # 2031 + None, # 2032 + None, # 2033 + None, # 2034 + None, # 2035 + None, # 2036 + None, # 2037 + None, # 2038 + None, # 2039 + None, # 2040 + None, # 2041 + None, # 2042 + None, # 2043 + None, # 2044 + None, # 2045 + None, # 2046 + None, # 2047 + None, # 2048 + None, # 2049 + None, # 2050 + None, # 2051 + None, # 2052 + None, # 2053 + None, # 2054 + None, # 2055 + None, # 2056 + None, # 2057 + None, # 2058 + None, # 2059 + None, # 2060 + None, # 2061 + None, # 2062 + None, # 2063 + None, # 2064 + None, # 2065 + None, # 2066 + None, # 2067 + None, # 2068 + None, # 2069 + None, # 2070 + None, # 2071 + None, # 2072 + None, # 2073 + None, # 2074 + None, # 2075 + None, # 2076 + None, # 2077 + None, # 2078 + None, # 2079 + None, # 2080 + None, # 2081 + None, # 2082 + None, # 2083 + None, # 2084 + None, # 2085 + None, # 2086 + None, # 2087 + None, # 2088 + None, # 2089 + None, # 2090 + None, # 2091 + None, # 2092 + None, # 2093 + None, # 2094 + None, # 2095 + None, # 2096 + None, # 2097 + None, # 2098 + None, # 2099 + None, # 2100 + None, # 2101 + None, # 2102 + None, # 2103 + None, # 2104 + None, # 2105 + None, # 2106 + None, # 2107 + None, # 2108 + None, # 2109 + None, # 2110 + None, # 2111 + None, # 2112 + None, # 2113 + None, # 2114 + None, # 2115 + None, # 2116 + None, # 2117 + None, # 2118 + None, # 2119 + None, # 2120 + None, # 2121 + None, # 2122 + None, # 2123 + None, # 2124 + None, # 2125 + None, # 2126 + None, # 2127 + None, # 2128 + None, # 2129 + None, # 2130 + None, # 2131 + None, # 2132 + None, # 2133 + None, # 2134 + None, # 2135 + None, # 2136 + None, # 2137 + None, # 2138 + None, # 2139 + None, # 2140 + None, # 2141 + None, # 2142 + None, # 2143 + None, # 2144 + None, # 2145 + None, # 2146 + None, # 2147 + None, # 2148 + None, # 2149 + None, # 2150 + None, # 2151 + None, # 2152 + None, # 2153 + None, # 2154 + None, # 2155 + None, # 2156 + None, # 2157 + None, # 2158 + None, # 2159 + None, # 2160 + None, # 2161 + None, # 2162 + None, # 2163 + None, # 2164 + None, # 2165 + None, # 2166 + None, # 2167 + None, # 2168 + None, # 2169 + None, # 2170 + None, # 2171 + None, # 2172 + None, # 2173 + None, # 2174 + None, # 2175 + None, # 2176 + None, # 2177 + None, # 2178 + None, # 2179 + None, # 2180 + None, # 2181 + None, # 2182 + None, # 2183 + None, # 2184 + None, # 2185 + None, # 2186 + None, # 2187 + None, # 2188 + None, # 2189 + None, # 2190 + None, # 2191 + None, # 2192 + None, # 2193 + None, # 2194 + None, # 2195 + None, # 2196 + None, # 2197 + None, # 2198 + None, # 2199 + None, # 2200 + None, # 2201 + None, # 2202 + None, # 2203 + None, # 2204 + None, # 2205 + None, # 2206 + None, # 2207 + None, # 2208 + None, # 2209 + None, # 2210 + None, # 2211 + None, # 2212 + None, # 2213 + None, # 2214 + None, # 2215 + None, # 2216 + None, # 2217 + None, # 2218 + None, # 2219 + None, # 2220 + None, # 2221 + None, # 2222 + None, # 2223 + None, # 2224 + None, # 2225 + None, # 2226 + None, # 2227 + None, # 2228 + None, # 2229 + None, # 2230 + None, # 2231 + None, # 2232 + None, # 2233 + None, # 2234 + None, # 2235 + None, # 2236 + None, # 2237 + None, # 2238 + None, # 2239 + None, # 2240 + None, # 2241 + None, # 2242 + None, # 2243 + None, # 2244 + None, # 2245 + None, # 2246 + None, # 2247 + None, # 2248 + None, # 2249 + None, # 2250 + None, # 2251 + None, # 2252 + None, # 2253 + None, # 2254 + None, # 2255 + None, # 2256 + None, # 2257 + None, # 2258 + None, # 2259 + None, # 2260 + None, # 2261 + None, # 2262 + None, # 2263 + None, # 2264 + None, # 2265 + None, # 2266 + None, # 2267 + None, # 2268 + None, # 2269 + None, # 2270 + None, # 2271 + None, # 2272 + None, # 2273 + None, # 2274 + None, # 2275 + None, # 2276 + None, # 2277 + None, # 2278 + None, # 2279 + None, # 2280 + None, # 2281 + None, # 2282 + None, # 2283 + None, # 2284 + None, # 2285 + None, # 2286 + None, # 2287 + None, # 2288 + None, # 2289 + None, # 2290 + None, # 2291 + None, # 2292 + None, # 2293 + None, # 2294 + None, # 2295 + None, # 2296 + None, # 2297 + None, # 2298 + None, # 2299 + None, # 2300 + None, # 2301 + None, # 2302 + None, # 2303 + None, # 2304 + None, # 2305 + None, # 2306 + None, # 2307 + None, # 2308 + None, # 2309 + None, # 2310 + None, # 2311 + None, # 2312 + None, # 2313 + None, # 2314 + None, # 2315 + None, # 2316 + None, # 2317 + None, # 2318 + None, # 2319 + None, # 2320 + None, # 2321 + None, # 2322 + None, # 2323 + None, # 2324 + None, # 2325 + None, # 2326 + None, # 2327 + None, # 2328 + None, # 2329 + None, # 2330 + None, # 2331 + None, # 2332 + None, # 2333 + None, # 2334 + None, # 2335 + None, # 2336 + None, # 2337 + None, # 2338 + None, # 2339 + None, # 2340 + None, # 2341 + None, # 2342 + None, # 2343 + None, # 2344 + None, # 2345 + None, # 2346 + None, # 2347 + None, # 2348 + None, # 2349 + None, # 2350 + None, # 2351 + None, # 2352 + None, # 2353 + None, # 2354 + None, # 2355 + None, # 2356 + None, # 2357 + None, # 2358 + None, # 2359 + None, # 2360 + None, # 2361 + None, # 2362 + None, # 2363 + None, # 2364 + None, # 2365 + None, # 2366 + None, # 2367 + None, # 2368 + None, # 2369 + None, # 2370 + None, # 2371 + None, # 2372 + None, # 2373 + None, # 2374 + None, # 2375 + None, # 2376 + None, # 2377 + None, # 2378 + None, # 2379 + None, # 2380 + None, # 2381 + None, # 2382 + None, # 2383 + None, # 2384 + None, # 2385 + None, # 2386 + None, # 2387 + None, # 2388 + None, # 2389 + None, # 2390 + None, # 2391 + None, # 2392 + None, # 2393 + None, # 2394 + None, # 2395 + None, # 2396 + None, # 2397 + None, # 2398 + None, # 2399 + None, # 2400 + None, # 2401 + None, # 2402 + None, # 2403 + None, # 2404 + None, # 2405 + None, # 2406 + None, # 2407 + None, # 2408 + None, # 2409 + None, # 2410 + None, # 2411 + None, # 2412 + None, # 2413 + None, # 2414 + None, # 2415 + None, # 2416 + None, # 2417 + None, # 2418 + None, # 2419 + None, # 2420 + None, # 2421 + None, # 2422 + None, # 2423 + None, # 2424 + None, # 2425 + None, # 2426 + None, # 2427 + None, # 2428 + None, # 2429 + None, # 2430 + None, # 2431 + None, # 2432 + None, # 2433 + None, # 2434 + None, # 2435 + None, # 2436 + None, # 2437 + None, # 2438 + None, # 2439 + None, # 2440 + None, # 2441 + None, # 2442 + None, # 2443 + None, # 2444 + None, # 2445 + None, # 2446 + None, # 2447 + None, # 2448 + None, # 2449 + None, # 2450 + None, # 2451 + None, # 2452 + None, # 2453 + None, # 2454 + None, # 2455 + None, # 2456 + None, # 2457 + None, # 2458 + None, # 2459 + None, # 2460 + None, # 2461 + None, # 2462 + None, # 2463 + None, # 2464 + None, # 2465 + None, # 2466 + None, # 2467 + None, # 2468 + None, # 2469 + None, # 2470 + None, # 2471 + None, # 2472 + None, # 2473 + None, # 2474 + None, # 2475 + None, # 2476 + None, # 2477 + None, # 2478 + None, # 2479 + None, # 2480 + None, # 2481 + None, # 2482 + None, # 2483 + None, # 2484 + None, # 2485 + None, # 2486 + None, # 2487 + None, # 2488 + None, # 2489 + None, # 2490 + None, # 2491 + None, # 2492 + None, # 2493 + None, # 2494 + None, # 2495 + None, # 2496 + None, # 2497 + None, # 2498 + None, # 2499 + None, # 2500 + None, # 2501 + None, # 2502 + None, # 2503 + None, # 2504 + None, # 2505 + None, # 2506 + None, # 2507 + None, # 2508 + None, # 2509 + None, # 2510 + None, # 2511 + None, # 2512 + None, # 2513 + None, # 2514 + None, # 2515 + None, # 2516 + None, # 2517 + None, # 2518 + None, # 2519 + None, # 2520 + None, # 2521 + None, # 2522 + None, # 2523 + None, # 2524 + None, # 2525 + None, # 2526 + None, # 2527 + None, # 2528 + None, # 2529 + None, # 2530 + None, # 2531 + None, # 2532 + None, # 2533 + None, # 2534 + None, # 2535 + None, # 2536 + None, # 2537 + None, # 2538 + None, # 2539 + None, # 2540 + None, # 2541 + None, # 2542 + None, # 2543 + None, # 2544 + None, # 2545 + None, # 2546 + None, # 2547 + None, # 2548 + None, # 2549 + None, # 2550 + None, # 2551 + None, # 2552 + None, # 2553 + None, # 2554 + None, # 2555 + None, # 2556 + None, # 2557 + None, # 2558 + None, # 2559 + None, # 2560 + None, # 2561 + None, # 2562 + None, # 2563 + None, # 2564 + None, # 2565 + None, # 2566 + None, # 2567 + None, # 2568 + None, # 2569 + None, # 2570 + None, # 2571 + None, # 2572 + None, # 2573 + None, # 2574 + None, # 2575 + None, # 2576 + None, # 2577 + None, # 2578 + None, # 2579 + None, # 2580 + None, # 2581 + None, # 2582 + None, # 2583 + None, # 2584 + None, # 2585 + None, # 2586 + None, # 2587 + None, # 2588 + None, # 2589 + None, # 2590 + None, # 2591 + None, # 2592 + None, # 2593 + None, # 2594 + None, # 2595 + None, # 2596 + None, # 2597 + None, # 2598 + None, # 2599 + None, # 2600 + None, # 2601 + None, # 2602 + None, # 2603 + None, # 2604 + None, # 2605 + None, # 2606 + None, # 2607 + None, # 2608 + None, # 2609 + None, # 2610 + None, # 2611 + None, # 2612 + None, # 2613 + None, # 2614 + None, # 2615 + None, # 2616 + None, # 2617 + None, # 2618 + None, # 2619 + None, # 2620 + None, # 2621 + None, # 2622 + None, # 2623 + None, # 2624 + None, # 2625 + None, # 2626 + None, # 2627 + None, # 2628 + None, # 2629 + None, # 2630 + None, # 2631 + None, # 2632 + None, # 2633 + None, # 2634 + None, # 2635 + None, # 2636 + None, # 2637 + None, # 2638 + None, # 2639 + None, # 2640 + None, # 2641 + None, # 2642 + None, # 2643 + None, # 2644 + None, # 2645 + None, # 2646 + None, # 2647 + None, # 2648 + None, # 2649 + None, # 2650 + None, # 2651 + None, # 2652 + None, # 2653 + None, # 2654 + None, # 2655 + None, # 2656 + None, # 2657 + None, # 2658 + None, # 2659 + None, # 2660 + None, # 2661 + None, # 2662 + None, # 2663 + None, # 2664 + None, # 2665 + None, # 2666 + None, # 2667 + None, # 2668 + None, # 2669 + None, # 2670 + None, # 2671 + None, # 2672 + None, # 2673 + None, # 2674 + None, # 2675 + None, # 2676 + None, # 2677 + None, # 2678 + None, # 2679 + None, # 2680 + None, # 2681 + None, # 2682 + None, # 2683 + None, # 2684 + None, # 2685 + None, # 2686 + None, # 2687 + None, # 2688 + None, # 2689 + None, # 2690 + None, # 2691 + None, # 2692 + None, # 2693 + None, # 2694 + None, # 2695 + None, # 2696 + None, # 2697 + None, # 2698 + None, # 2699 + None, # 2700 + None, # 2701 + None, # 2702 + None, # 2703 + None, # 2704 + None, # 2705 + None, # 2706 + None, # 2707 + None, # 2708 + None, # 2709 + None, # 2710 + None, # 2711 + None, # 2712 + None, # 2713 + None, # 2714 + None, # 2715 + None, # 2716 + None, # 2717 + None, # 2718 + None, # 2719 + None, # 2720 + None, # 2721 + None, # 2722 + None, # 2723 + None, # 2724 + None, # 2725 + None, # 2726 + None, # 2727 + None, # 2728 + None, # 2729 + None, # 2730 + None, # 2731 + None, # 2732 + None, # 2733 + None, # 2734 + None, # 2735 + None, # 2736 + None, # 2737 + None, # 2738 + None, # 2739 + None, # 2740 + None, # 2741 + None, # 2742 + None, # 2743 + None, # 2744 + None, # 2745 + None, # 2746 + None, # 2747 + None, # 2748 + None, # 2749 + None, # 2750 + None, # 2751 + None, # 2752 + None, # 2753 + None, # 2754 + None, # 2755 + None, # 2756 + None, # 2757 + None, # 2758 + None, # 2759 + None, # 2760 + None, # 2761 + None, # 2762 + None, # 2763 + None, # 2764 + None, # 2765 + None, # 2766 + None, # 2767 + None, # 2768 + None, # 2769 + None, # 2770 + None, # 2771 + None, # 2772 + None, # 2773 + None, # 2774 + None, # 2775 + None, # 2776 + None, # 2777 + None, # 2778 + None, # 2779 + None, # 2780 + None, # 2781 + None, # 2782 + None, # 2783 + None, # 2784 + None, # 2785 + None, # 2786 + None, # 2787 + None, # 2788 + None, # 2789 + None, # 2790 + None, # 2791 + None, # 2792 + None, # 2793 + None, # 2794 + None, # 2795 + None, # 2796 + None, # 2797 + None, # 2798 + None, # 2799 + None, # 2800 + None, # 2801 + None, # 2802 + None, # 2803 + None, # 2804 + None, # 2805 + None, # 2806 + None, # 2807 + None, # 2808 + None, # 2809 + None, # 2810 + None, # 2811 + None, # 2812 + None, # 2813 + None, # 2814 + None, # 2815 + None, # 2816 + None, # 2817 + None, # 2818 + None, # 2819 + None, # 2820 + None, # 2821 + None, # 2822 + None, # 2823 + None, # 2824 + None, # 2825 + None, # 2826 + None, # 2827 + None, # 2828 + None, # 2829 + None, # 2830 + None, # 2831 + None, # 2832 + None, # 2833 + None, # 2834 + None, # 2835 + None, # 2836 + None, # 2837 + None, # 2838 + None, # 2839 + None, # 2840 + None, # 2841 + None, # 2842 + None, # 2843 + None, # 2844 + None, # 2845 + None, # 2846 + None, # 2847 + None, # 2848 + None, # 2849 + None, # 2850 + None, # 2851 + None, # 2852 + None, # 2853 + None, # 2854 + None, # 2855 + None, # 2856 + None, # 2857 + None, # 2858 + None, # 2859 + None, # 2860 + None, # 2861 + None, # 2862 + None, # 2863 + None, # 2864 + None, # 2865 + None, # 2866 + None, # 2867 + None, # 2868 + None, # 2869 + None, # 2870 + None, # 2871 + None, # 2872 + None, # 2873 + None, # 2874 + None, # 2875 + None, # 2876 + None, # 2877 + None, # 2878 + None, # 2879 + None, # 2880 + None, # 2881 + None, # 2882 + None, # 2883 + None, # 2884 + None, # 2885 + None, # 2886 + None, # 2887 + None, # 2888 + None, # 2889 + None, # 2890 + None, # 2891 + None, # 2892 + None, # 2893 + None, # 2894 + None, # 2895 + None, # 2896 + None, # 2897 + None, # 2898 + None, # 2899 + None, # 2900 + None, # 2901 + None, # 2902 + None, # 2903 + None, # 2904 + None, # 2905 + None, # 2906 + None, # 2907 + None, # 2908 + None, # 2909 + None, # 2910 + None, # 2911 + None, # 2912 + None, # 2913 + None, # 2914 + None, # 2915 + None, # 2916 + None, # 2917 + None, # 2918 + None, # 2919 + None, # 2920 + None, # 2921 + None, # 2922 + None, # 2923 + None, # 2924 + None, # 2925 + None, # 2926 + None, # 2927 + None, # 2928 + None, # 2929 + None, # 2930 + None, # 2931 + None, # 2932 + None, # 2933 + None, # 2934 + None, # 2935 + None, # 2936 + None, # 2937 + None, # 2938 + None, # 2939 + None, # 2940 + None, # 2941 + None, # 2942 + None, # 2943 + None, # 2944 + None, # 2945 + None, # 2946 + None, # 2947 + None, # 2948 + None, # 2949 + None, # 2950 + None, # 2951 + None, # 2952 + None, # 2953 + None, # 2954 + None, # 2955 + None, # 2956 + None, # 2957 + None, # 2958 + None, # 2959 + None, # 2960 + None, # 2961 + None, # 2962 + None, # 2963 + None, # 2964 + None, # 2965 + None, # 2966 + None, # 2967 + None, # 2968 + None, # 2969 + None, # 2970 + None, # 2971 + None, # 2972 + None, # 2973 + None, # 2974 + None, # 2975 + None, # 2976 + None, # 2977 + None, # 2978 + None, # 2979 + None, # 2980 + None, # 2981 + None, # 2982 + None, # 2983 + None, # 2984 + None, # 2985 + None, # 2986 + None, # 2987 + None, # 2988 + None, # 2989 + None, # 2990 + None, # 2991 + None, # 2992 + None, # 2993 + None, # 2994 + None, # 2995 + None, # 2996 + None, # 2997 + None, # 2998 + None, # 2999 + None, # 3000 + None, # 3001 + None, # 3002 + None, # 3003 + None, # 3004 + None, # 3005 + None, # 3006 + None, # 3007 + None, # 3008 + None, # 3009 + None, # 3010 + None, # 3011 + None, # 3012 + None, # 3013 + None, # 3014 + None, # 3015 + None, # 3016 + None, # 3017 + None, # 3018 + None, # 3019 + None, # 3020 + None, # 3021 + None, # 3022 + None, # 3023 + None, # 3024 + None, # 3025 + None, # 3026 + None, # 3027 + None, # 3028 + None, # 3029 + None, # 3030 + None, # 3031 + None, # 3032 + None, # 3033 + None, # 3034 + None, # 3035 + None, # 3036 + None, # 3037 + None, # 3038 + None, # 3039 + None, # 3040 + None, # 3041 + None, # 3042 + None, # 3043 + None, # 3044 + None, # 3045 + None, # 3046 + None, # 3047 + None, # 3048 + None, # 3049 + None, # 3050 + None, # 3051 + None, # 3052 + None, # 3053 + None, # 3054 + None, # 3055 + None, # 3056 + None, # 3057 + None, # 3058 + None, # 3059 + None, # 3060 + None, # 3061 + None, # 3062 + None, # 3063 + None, # 3064 + None, # 3065 + None, # 3066 + None, # 3067 + None, # 3068 + None, # 3069 + None, # 3070 + None, # 3071 + None, # 3072 + None, # 3073 + None, # 3074 + None, # 3075 + None, # 3076 + None, # 3077 + None, # 3078 + None, # 3079 + None, # 3080 + None, # 3081 + None, # 3082 + None, # 3083 + None, # 3084 + None, # 3085 + None, # 3086 + None, # 3087 + None, # 3088 + None, # 3089 + None, # 3090 + None, # 3091 + None, # 3092 + None, # 3093 + None, # 3094 + None, # 3095 + None, # 3096 + None, # 3097 + None, # 3098 + None, # 3099 + None, # 3100 + None, # 3101 + None, # 3102 + None, # 3103 + None, # 3104 + None, # 3105 + None, # 3106 + None, # 3107 + None, # 3108 + None, # 3109 + None, # 3110 + None, # 3111 + None, # 3112 + None, # 3113 + None, # 3114 + None, # 3115 + None, # 3116 + None, # 3117 + None, # 3118 + None, # 3119 + None, # 3120 + None, # 3121 + None, # 3122 + None, # 3123 + None, # 3124 + None, # 3125 + None, # 3126 + None, # 3127 + None, # 3128 + None, # 3129 + None, # 3130 + None, # 3131 + None, # 3132 + None, # 3133 + None, # 3134 + None, # 3135 + None, # 3136 + None, # 3137 + None, # 3138 + None, # 3139 + None, # 3140 + None, # 3141 + None, # 3142 + None, # 3143 + None, # 3144 + None, # 3145 + None, # 3146 + None, # 3147 + None, # 3148 + None, # 3149 + None, # 3150 + None, # 3151 + None, # 3152 + None, # 3153 + None, # 3154 + None, # 3155 + None, # 3156 + None, # 3157 + None, # 3158 + None, # 3159 + None, # 3160 + None, # 3161 + None, # 3162 + None, # 3163 + None, # 3164 + None, # 3165 + None, # 3166 + None, # 3167 + None, # 3168 + None, # 3169 + None, # 3170 + None, # 3171 + None, # 3172 + None, # 3173 + None, # 3174 + None, # 3175 + None, # 3176 + None, # 3177 + None, # 3178 + None, # 3179 + None, # 3180 + None, # 3181 + None, # 3182 + None, # 3183 + None, # 3184 + None, # 3185 + None, # 3186 + None, # 3187 + None, # 3188 + None, # 3189 + None, # 3190 + None, # 3191 + None, # 3192 + None, # 3193 + None, # 3194 + None, # 3195 + None, # 3196 + None, # 3197 + None, # 3198 + None, # 3199 + None, # 3200 + None, # 3201 + None, # 3202 + None, # 3203 + None, # 3204 + None, # 3205 + None, # 3206 + None, # 3207 + None, # 3208 + None, # 3209 + None, # 3210 + None, # 3211 + None, # 3212 + None, # 3213 + None, # 3214 + None, # 3215 + None, # 3216 + None, # 3217 + None, # 3218 + None, # 3219 + None, # 3220 + None, # 3221 + None, # 3222 + None, # 3223 + None, # 3224 + None, # 3225 + None, # 3226 + None, # 3227 + None, # 3228 + None, # 3229 + None, # 3230 + None, # 3231 + None, # 3232 + None, # 3233 + None, # 3234 + None, # 3235 + None, # 3236 + None, # 3237 + None, # 3238 + None, # 3239 + None, # 3240 + None, # 3241 + None, # 3242 + None, # 3243 + None, # 3244 + None, # 3245 + None, # 3246 + None, # 3247 + None, # 3248 + None, # 3249 + None, # 3250 + None, # 3251 + None, # 3252 + None, # 3253 + None, # 3254 + None, # 3255 + None, # 3256 + None, # 3257 + None, # 3258 + None, # 3259 + None, # 3260 + None, # 3261 + None, # 3262 + None, # 3263 + None, # 3264 + None, # 3265 + None, # 3266 + None, # 3267 + None, # 3268 + None, # 3269 + None, # 3270 + None, # 3271 + None, # 3272 + None, # 3273 + None, # 3274 + None, # 3275 + None, # 3276 + None, # 3277 + None, # 3278 + None, # 3279 + None, # 3280 + None, # 3281 + None, # 3282 + None, # 3283 + None, # 3284 + None, # 3285 + None, # 3286 + None, # 3287 + None, # 3288 + None, # 3289 + None, # 3290 + None, # 3291 + None, # 3292 + None, # 3293 + None, # 3294 + None, # 3295 + None, # 3296 + None, # 3297 + None, # 3298 + None, # 3299 + None, # 3300 + None, # 3301 + None, # 3302 + None, # 3303 + None, # 3304 + None, # 3305 + None, # 3306 + None, # 3307 + None, # 3308 + None, # 3309 + None, # 3310 + None, # 3311 + None, # 3312 + None, # 3313 + None, # 3314 + None, # 3315 + None, # 3316 + None, # 3317 + None, # 3318 + None, # 3319 + None, # 3320 + None, # 3321 + None, # 3322 + None, # 3323 + None, # 3324 + None, # 3325 + None, # 3326 + None, # 3327 + None, # 3328 + (3329, TType.STRUCT, 'sessionConf', [TDBSqlSessionConf, None], None, ), # 3329 ) all_structs.append(TRenewDelegationTokenResp) TRenewDelegationTokenResp.thrift_spec = ( - None, # 0 - (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 + None, # 0 + (1, TType.STRUCT, 'status', [TStatus, None], None, ), # 1 ) all_structs.append(TProgressUpdateResp) TProgressUpdateResp.thrift_spec = ( - None, # 0 - (1, TType.LIST, 'headerNames', (TType.STRING, 'UTF8', False), None, ), # 1 - (2, TType.LIST, 'rows', (TType.LIST, (TType.STRING, 'UTF8', False), False), None, ), # 2 - (3, TType.DOUBLE, 'progressedPercentage', None, None, ), # 3 - (4, TType.I32, 'status', None, None, ), # 4 - (5, TType.STRING, 'footerSummary', 'UTF8', None, ), # 5 - (6, TType.I64, 'startTime', None, None, ), # 6 + None, # 0 + (1, TType.LIST, 'headerNames', (TType.STRING, 'UTF8', False), None, ), # 1 + (2, TType.LIST, 'rows', (TType.LIST, (TType.STRING, 'UTF8', False), False), None, ), # 2 + (3, TType.DOUBLE, 'progressedPercentage', None, None, ), # 3 + (4, TType.I32, 'status', None, None, ), # 4 + (5, TType.STRING, 'footerSummary', 'UTF8', None, ), # 5 + (6, TType.I64, 'startTime', None, None, ), # 6 ) fix_spec(all_structs) del all_structs diff --git a/databricks_sql_connector_core/src/databricks/sql/thrift_backend.py b/databricks_sql_connector_core/src/databricks/sql/thrift_backend.py index ca115380..42daf85e 100644 --- a/databricks_sql_connector_core/src/databricks/sql/thrift_backend.py +++ b/databricks_sql_connector_core/src/databricks/sql/thrift_backend.py @@ -767,14 +767,12 @@ def _results_message_to_execute_response(self, resp, operation_state): description = self._hive_schema_to_description( t_result_set_metadata_resp.schema ) - schema_bytes = ( t_result_set_metadata_resp.arrowSchema or self._hive_schema_to_arrow_schema(t_result_set_metadata_resp.schema) .serialize() .to_pybytes() ) - lz4_compressed = t_result_set_metadata_resp.lz4Compressed is_staging_operation = t_result_set_metadata_resp.isStagingOperation if direct_results and direct_results.resultSet: diff --git a/databricks_sql_connector_core/src/databricks/sql/utils.py b/databricks_sql_connector_core/src/databricks/sql/utils.py index 0b71bd9e..1bcc8a88 100644 --- a/databricks_sql_connector_core/src/databricks/sql/utils.py +++ b/databricks_sql_connector_core/src/databricks/sql/utils.py @@ -1,4 +1,5 @@ from __future__ import annotations + import datetime import decimal from abc import ABC, abstractmethod @@ -13,29 +14,24 @@ import lz4.frame from databricks.sql import OperationalError, exc -from databricks.sql.cloudfetch.download_manager import ( - ResultFileDownloadManager, -) +from databricks.sql.cloudfetch.download_manager import ResultFileDownloadManager from databricks.sql.thrift_api.TCLIService.ttypes import ( TRowSet, TSparkArrowResultLink, TSparkRowSetType, ) -from databricks.sql.parameters.native import ( - ParameterStructure, - TDbsqlParameter, -) +from databricks.sql.parameters.native import ParameterStructure, TDbsqlParameter + +BIT_MASKS = [1, 2, 4, 8, 16, 32, 64, 128] + +import logging try: import pyarrow except ImportError: pyarrow = None -BIT_MASKS = [1, 2, 4, 8, 16, 32, 64, 128] - -import logging - logger = logging.getLogger(__name__) @@ -87,11 +83,9 @@ def build_queue( arrow_table, n_valid_rows = convert_column_based_set_to_arrow_table( t_row_set.columns, description ) - converted_arrow_table = convert_decimals_in_arrow_table( arrow_table, description ) - return ArrowQueue(converted_arrow_table, n_valid_rows) elif row_set_type == TSparkRowSetType.URL_BASED_SET: return CloudFetchQueue( @@ -525,9 +519,7 @@ def transform_paramstyle( return output -def create_arrow_table_from_arrow_file( - file_bytes: bytes, description -) -> "pyarrow.Table": +def create_arrow_table_from_arrow_file(file_bytes: bytes, description) -> "pyarrow.Table": arrow_table = convert_arrow_based_file_to_arrow_table(file_bytes) return convert_decimals_in_arrow_table(arrow_table, description) diff --git a/databricks_sql_connector_core/src/databricks/sqlalchemy/__init__.py b/databricks_sql_connector_core/src/databricks/sqlalchemy/__init__.py index 681f35fa..f79d4c20 100644 --- a/databricks_sql_connector_core/src/databricks/sqlalchemy/__init__.py +++ b/databricks_sql_connector_core/src/databricks/sqlalchemy/__init__.py @@ -1,6 +1,6 @@ try: - from databricks_sqlalchemy import * + from databricks_sqlalchemy import * except: - import warnings + import warnings - warnings.warn("Install databricks-sqlalchemy plugin before using this") + warnings.warn("Install databricks-sqlalchemy plugin before using this") \ No newline at end of file diff --git a/databricks_sql_connector_core/tests/e2e/conftest.py b/databricks_sql_connector_core/tests/conftest.py similarity index 100% rename from databricks_sql_connector_core/tests/e2e/conftest.py rename to databricks_sql_connector_core/tests/conftest.py diff --git a/databricks_sql_connector_core/tests/e2e/common/decimal_tests.py b/databricks_sql_connector_core/tests/e2e/common/decimal_tests.py index 8c457787..47fc2070 100644 --- a/databricks_sql_connector_core/tests/e2e/common/decimal_tests.py +++ b/databricks_sql_connector_core/tests/e2e/common/decimal_tests.py @@ -1,4 +1,5 @@ from decimal import Decimal + import pytest try: @@ -6,22 +7,17 @@ except ImportError: pyarrow = None -from tests.e2e.predicate import pysql_supports_arrow - +from tests.e2e.common.predicates import pysql_supports_arrow def decimal_and_expected_results(): + + if pyarrow is None: + return [] + return [ ("100.001 AS DECIMAL(6, 3)", Decimal("100.001"), pyarrow.decimal128(6, 3)), - ( - "1000000.0000 AS DECIMAL(11, 4)", - Decimal("1000000.0000"), - pyarrow.decimal128(11, 4), - ), - ( - "-10.2343 AS DECIMAL(10, 6)", - Decimal("-10.234300"), - pyarrow.decimal128(10, 6), - ), + ("1000000.0000 AS DECIMAL(11, 4)", Decimal("1000000.0000"), pyarrow.decimal128(11, 4)), + ("-10.2343 AS DECIMAL(10, 6)", Decimal("-10.234300"), pyarrow.decimal128(10, 6)), # TODO(SC-90767): Re-enable this test after we have a way of passing `ansi_mode` = False # ("-13872347.2343 AS DECIMAL(10, 10)", None, pyarrow.decimal128(10, 10)), ("NULL AS DECIMAL(1, 1)", None, pyarrow.decimal128(1, 1)), @@ -30,8 +26,11 @@ def decimal_and_expected_results(): ("1e-3 AS DECIMAL(38, 3)", Decimal("0.001"), pyarrow.decimal128(38, 3)), ] - def multi_decimals_and_expected_results(): + + if pyarrow is None: + return [] + return [ ( ["1 AS DECIMAL(6, 3)", "100.001 AS DECIMAL(6, 3)", "NULL AS DECIMAL(6, 3)"], @@ -45,14 +44,9 @@ def multi_decimals_and_expected_results(): ), ] - -@pytest.mark.skipif( - not pysql_supports_arrow(), reason="Skipping because pyarrow is not installed" -) +@pytest.mark.skipif(not pysql_supports_arrow(), reason="Skipping because pyarrow is not installed") class DecimalTestsMixin: - @pytest.mark.parametrize( - "decimal, expected_value, expected_type", decimal_and_expected_results() - ) + @pytest.mark.parametrize("decimal, expected_value, expected_type", decimal_and_expected_results()) def test_decimals(self, decimal, expected_value, expected_type): with self.cursor({}) as cursor: query = "SELECT CAST ({})".format(decimal) @@ -61,15 +55,10 @@ def test_decimals(self, decimal, expected_value, expected_type): assert table.field(0).type == expected_type assert table.to_pydict().popitem()[1][0] == expected_value - @pytest.mark.parametrize( - "decimals, expected_values, expected_type", - multi_decimals_and_expected_results(), - ) + @pytest.mark.parametrize("decimals, expected_values, expected_type", multi_decimals_and_expected_results()) def test_multi_decimals(self, decimals, expected_values, expected_type): with self.cursor({}) as cursor: - union_str = " UNION ".join( - ["(SELECT CAST ({}))".format(dec) for dec in decimals] - ) + union_str = " UNION ".join(["(SELECT CAST ({}))".format(dec) for dec in decimals]) query = "SELECT * FROM ({}) ORDER BY 1 NULLS LAST".format(union_str) cursor.execute(query) diff --git a/databricks_sql_connector_core/tests/e2e/common/large_queries_mixin.py b/databricks_sql_connector_core/tests/e2e/common/large_queries_mixin.py index d1abf482..af152a89 100644 --- a/databricks_sql_connector_core/tests/e2e/common/large_queries_mixin.py +++ b/databricks_sql_connector_core/tests/e2e/common/large_queries_mixin.py @@ -40,15 +40,11 @@ def fetch_rows(self, cursor, row_count, fetchmany_size): num_fetches = max(math.ceil(n / 10000), 1) latency_ms = int((time.time() - start_time) * 1000 / num_fetches), 1 print( - "Fetched {} rows with an avg latency of {} per fetch, ".format( - n, latency_ms - ) + "Fetched {} rows with an avg latency of {} per fetch, ".format(n, latency_ms) + "assuming 10K fetch size." ) - @skipUnless( - pysql_supports_arrow(), "Without pyarrow lz4 compression is not supported" - ) + @skipUnless(pysql_supports_arrow(), "Without pyarrow lz4 compression is not supported") def test_query_with_large_wide_result_set(self): resultSize = 300 * 1000 * 1000 # 300 MB width = 8192 # B @@ -64,14 +60,10 @@ def test_query_with_large_wide_result_set(self): cursor.connection.lz4_compression = lz4_compression uuids = ", ".join(["uuid() uuid{}".format(i) for i in range(cols)]) cursor.execute( - "SELECT id, {uuids} FROM RANGE({rows})".format( - uuids=uuids, rows=rows - ) + "SELECT id, {uuids} FROM RANGE({rows})".format(uuids=uuids, rows=rows) ) assert lz4_compression == cursor.active_result_set.lz4_compressed - for row_id, row in enumerate( - self.fetch_rows(cursor, rows, fetchmany_size) - ): + for row_id, row in enumerate(self.fetch_rows(cursor, rows, fetchmany_size)): assert row[0] == row_id # Verify no rows are dropped in the middle. assert len(row[1]) == 36 diff --git a/databricks_sql_connector_core/tests/e2e/common/predicates.py b/databricks_sql_connector_core/tests/e2e/common/predicates.py index e4fa3a04..99e6f701 100644 --- a/databricks_sql_connector_core/tests/e2e/common/predicates.py +++ b/databricks_sql_connector_core/tests/e2e/common/predicates.py @@ -103,4 +103,3 @@ def validate_version(version): mod_version = validate_version(module.__version__) req_version = validate_version(version) return compare_versions(compare, mod_version, req_version) - diff --git a/databricks_sql_connector_core/tests/e2e/test_complex_types.py b/databricks_sql_connector_core/tests/e2e/test_complex_types.py index a2758931..acac4e44 100644 --- a/databricks_sql_connector_core/tests/e2e/test_complex_types.py +++ b/databricks_sql_connector_core/tests/e2e/test_complex_types.py @@ -2,12 +2,9 @@ from numpy import ndarray from tests.e2e.test_driver import PySQLPytestTestCase -from tests.e2e.predicate import pysql_supports_arrow +from tests.e2e.common.predicates import pysql_supports_arrow - -@pytest.mark.skipif( - not pysql_supports_arrow(), reason="Skipping because pyarrow is not installed" -) +@pytest.mark.skipif(not pysql_supports_arrow(), reason="Skipping because pyarrow is not installed") class TestComplexTypes(PySQLPytestTestCase): @pytest.fixture(scope="class") def table_fixture(self, connection_details): @@ -57,9 +54,7 @@ def test_read_complex_types_as_arrow(self, field, expected_type, table_fixture): @pytest.mark.parametrize("field", [("array_col"), ("map_col"), ("struct_col")]) def test_read_complex_types_as_string(self, field, table_fixture): """Confirms the return type of a complex type that is returned as a string""" - with self.cursor( - extra_params={"_use_arrow_native_complex_types": False} - ) as cursor: + with self.cursor(extra_params={"_use_arrow_native_complex_types": False}) as cursor: result = cursor.execute( "SELECT * FROM pysql_test_complex_types_table LIMIT 1" ).fetchone() diff --git a/databricks_sql_connector_core/tests/e2e/test_driver.py b/databricks_sql_connector_core/tests/e2e/test_driver.py index fe35b513..6fa686e9 100644 --- a/databricks_sql_connector_core/tests/e2e/test_driver.py +++ b/databricks_sql_connector_core/tests/e2e/test_driver.py @@ -34,16 +34,13 @@ pysql_supports_arrow, compare_dbr_versions, is_thrift_v5_plus, - pysql_supports_arrow, + pysql_supports_arrow ) from tests.e2e.common.core_tests import CoreTestMixin, SmokeTestMixin from tests.e2e.common.large_queries_mixin import LargeQueriesMixin from tests.e2e.common.timestamp_tests import TimestampTestsMixin from tests.e2e.common.decimal_tests import DecimalTestsMixin -from tests.e2e.common.retry_test_mixins import ( - Client429ResponseMixin, - Client503ResponseMixin, -) +from tests.e2e.common.retry_test_mixins import Client429ResponseMixin, Client503ResponseMixin from tests.e2e.common.staging_ingestion_tests import PySQLStagingIngestionTestSuiteMixin from tests.e2e.common.retry_test_mixins import PySQLRetryTestsMixin @@ -65,9 +62,7 @@ # manually decorate DecimalTestsMixin to need arrow support for name in loader.getTestCaseNames(DecimalTestsMixin, "test_"): fn = getattr(DecimalTestsMixin, name) - decorated = skipUnless(pysql_supports_arrow(), "Decimal tests need arrow support")( - fn - ) + decorated = skipUnless(pysql_supports_arrow(), "Decimal tests need arrow support")(fn) setattr(DecimalTestsMixin, name, decorated) @@ -78,9 +73,7 @@ class PySQLPytestTestCase: error_type = Error conf_to_disable_rate_limit_retries = {"_retry_stop_after_attempts_count": 1} - conf_to_disable_temporarily_unavailable_retries = { - "_retry_stop_after_attempts_count": 1 - } + conf_to_disable_temporarily_unavailable_retries = {"_retry_stop_after_attempts_count": 1} arraysize = 1000 buffer_size_bytes = 104857600 @@ -117,9 +110,7 @@ def connection(self, extra_params=()): @contextmanager def cursor(self, extra_params=()): with self.connection(extra_params) as conn: - cursor = conn.cursor( - arraysize=self.arraysize, buffer_size_bytes=self.buffer_size_bytes - ) + cursor = conn.cursor(arraysize=self.arraysize, buffer_size_bytes=self.buffer_size_bytes) try: yield cursor finally: @@ -158,9 +149,7 @@ def test_cloud_fetch(self): limits, threads, [True, False] ): with self.subTest( - num_limit=num_limit, - num_threads=num_threads, - lz4_compression=lz4_compression, + num_limit=num_limit, num_threads=num_threads, lz4_compression=lz4_compression ): cf_result, noop_result = None, None query = base_query + "LIMIT " + str(num_limit) @@ -305,15 +294,7 @@ def test_get_tables(self): ("TYPE_CAT", "string", None, None, None, None, None), ("TYPE_SCHEM", "string", None, None, None, None, None), ("TYPE_NAME", "string", None, None, None, None, None), - ( - "SELF_REFERENCING_COL_NAME", - "string", - None, - None, - None, - None, - None, - ), + ("SELF_REFERENCING_COL_NAME", "string", None, None, None, None, None), ("REF_GENERATION", "string", None, None, None, None, None), ] assert tables_desc == expected @@ -414,21 +395,15 @@ def test_escape_single_quotes(self): table_name = "table_{uuid}".format(uuid=str(uuid4()).replace("-", "_")) # Test escape syntax directly cursor.execute( - "CREATE TABLE IF NOT EXISTS {} AS (SELECT 'you\\'re' AS col_1)".format( - table_name - ) - ) - cursor.execute( - "SELECT * FROM {} WHERE col_1 LIKE 'you\\'re'".format(table_name) + "CREATE TABLE IF NOT EXISTS {} AS (SELECT 'you\\'re' AS col_1)".format(table_name) ) + cursor.execute("SELECT * FROM {} WHERE col_1 LIKE 'you\\'re'".format(table_name)) rows = cursor.fetchall() assert rows[0]["col_1"] == "you're" # Test escape syntax in parameter cursor.execute( - "SELECT * FROM {} WHERE {}.col_1 LIKE %(var)s".format( - table_name, table_name - ), + "SELECT * FROM {} WHERE {}.col_1 LIKE %(var)s".format(table_name, table_name), parameters={"var": "you're"}, ) rows = cursor.fetchall() @@ -457,9 +432,7 @@ def test_get_catalogs(self): cursor.catalogs() cursor.fetchall() catalogs_desc = cursor.description - assert catalogs_desc == [ - ("TABLE_CAT", "string", None, None, None, None, None) - ] + assert catalogs_desc == [("TABLE_CAT", "string", None, None, None, None, None)] @skipUnless(pysql_supports_arrow(), "arrow test need arrow support") def test_get_arrow(self): @@ -596,8 +569,7 @@ def test_temp_view_fetch(self): @skipIf(pysql_has_version("<", "2"), "requires pysql v2") @skipIf( - True, - "Unclear the purpose of this test since urllib3 does not complain when timeout == 0", + True, "Unclear the purpose of this test since urllib3 does not complain when timeout == 0" ) def test_socket_timeout(self): # We expect to see a BlockingIO error when the socket is opened @@ -620,21 +592,15 @@ def test_socket_timeout_user_defined(self): def test_ssp_passthrough(self): for enable_ansi in (True, False): - with self.cursor( - {"session_configuration": {"ansi_mode": enable_ansi}} - ) as cursor: + with self.cursor({"session_configuration": {"ansi_mode": enable_ansi}}) as cursor: cursor.execute("SET ansi_mode") assert list(cursor.fetchone()) == ["ansi_mode", str(enable_ansi)] - @pytest.mark.skipif( - not pysql_supports_arrow(), reason="Skipping because pyarrow is not installed" - ) + @pytest.mark.skipif(not pysql_supports_arrow(), reason="Skipping because pyarrow is not installed") def test_timestamps_arrow(self): with self.cursor({"session_configuration": {"ansi_mode": False}}) as cursor: for timestamp, expected in self.timestamp_and_expected_results: - cursor.execute( - "SELECT TIMESTAMP('{timestamp}')".format(timestamp=timestamp) - ) + cursor.execute("SELECT TIMESTAMP('{timestamp}')".format(timestamp=timestamp)) arrow_table = cursor.fetchmany_arrow(1) if self.should_add_timezone(): ts_type = pyarrow.timestamp("us", tz="Etc/UTC") @@ -645,36 +611,28 @@ def test_timestamps_arrow(self): # To work consistently across different local timezones, we specify the timezone # of the expected result to # be UTC (what it should be by default on the server) - aware_timestamp = expected and expected.replace( - tzinfo=datetime.timezone.utc - ) + aware_timestamp = expected and expected.replace(tzinfo=datetime.timezone.utc) assert result_value == ( aware_timestamp and aware_timestamp.timestamp() * 1000000 ), "timestamp {} did not match {}".format(timestamp, expected) - @pytest.mark.skipif( - not pysql_supports_arrow(), reason="Skipping because pyarrow is not installed" - ) + @pytest.mark.skipif(not pysql_supports_arrow(), reason="Skipping because pyarrow is not installed") def test_multi_timestamps_arrow(self): with self.cursor({"session_configuration": {"ansi_mode": False}}) as cursor: query, expected = self.multi_query() expected = [ - [self.maybe_add_timezone_to_timestamp(ts) for ts in row] - for row in expected + [self.maybe_add_timezone_to_timestamp(ts) for ts in row] for row in expected ] cursor.execute(query) table = cursor.fetchall_arrow() # Transpose columnar result to list of rows list_of_cols = [c.to_pylist() for c in table] result = [ - [col[row_index] for col in list_of_cols] - for row_index in range(table.num_rows) + [col[row_index] for col in list_of_cols] for row_index in range(table.num_rows) ] assert result == expected - @pytest.mark.skipif( - not pysql_supports_arrow(), reason="Skipping because pyarrow is not installed" - ) + @pytest.mark.skipif(not pysql_supports_arrow(), reason="Skipping because pyarrow is not installed") def test_timezone_with_timestamp(self): if self.should_add_timezone(): with self.cursor() as cursor: @@ -687,17 +645,13 @@ def test_timezone_with_timestamp(self): cursor.execute("select CAST('2022-03-02 12:54:56' as TIMESTAMP)") arrow_result_table = cursor.fetchmany_arrow(1) - arrow_result_value = ( - arrow_result_table.column(0).combine_chunks()[0].value - ) + arrow_result_value = arrow_result_table.column(0).combine_chunks()[0].value ts_type = pyarrow.timestamp("us", tz="Europe/Amsterdam") assert arrow_result_table.field(0).type == ts_type assert arrow_result_value == expected.timestamp() * 1000000 - @pytest.mark.skipif( - not pysql_supports_arrow(), reason="Skipping because pyarrow is not installed" - ) + @pytest.mark.skipif(not pysql_supports_arrow(), reason="Skipping because pyarrow is not installed") def test_can_flip_compression(self): with self.cursor() as cursor: cursor.execute("SELECT array(1,2,3,4)") @@ -714,9 +668,7 @@ def test_can_flip_compression(self): def _should_have_native_complex_types(self): return pysql_has_version(">=", 2) and is_thrift_v5_plus(self.arguments) - @pytest.mark.skipif( - not pysql_supports_arrow(), reason="Skipping because pyarrow is not installed" - ) + @pytest.mark.skipif(not pysql_supports_arrow(), reason="Skipping because pyarrow is not installed") def test_arrays_are_not_returned_as_strings_arrow(self): if self._should_have_native_complex_types(): with self.cursor() as cursor: @@ -727,9 +679,7 @@ def test_arrays_are_not_returned_as_strings_arrow(self): assert pyarrow.types.is_list(list_type) assert pyarrow.types.is_integer(list_type.value_type) - @pytest.mark.skipif( - not pysql_supports_arrow(), reason="Skipping because pyarrow is not installed" - ) + @pytest.mark.skipif(not pysql_supports_arrow(), reason="Skipping because pyarrow is not installed") def test_structs_are_not_returned_as_strings_arrow(self): if self._should_have_native_complex_types(): with self.cursor() as cursor: @@ -739,9 +689,7 @@ def test_structs_are_not_returned_as_strings_arrow(self): struct_type = arrow_df.field(0).type assert pyarrow.types.is_struct(struct_type) - @pytest.mark.skipif( - not pysql_supports_arrow(), reason="Skipping because pyarrow is not installed" - ) + @pytest.mark.skipif(not pysql_supports_arrow(), reason="Skipping because pyarrow is not installed") def test_decimal_not_returned_as_strings_arrow(self): if self._should_have_native_complex_types(): with self.cursor() as cursor: @@ -757,9 +705,7 @@ def test_close_connection_closes_cursors(self): with self.connection() as conn: cursor = conn.cursor() - cursor.execute( - "SELECT id, id `id2`, id `id3` FROM RANGE(1000000) order by RANDOM()" - ) + cursor.execute("SELECT id, id `id2`, id `id3` FROM RANGE(1000000) order by RANDOM()") ars = cursor.active_result_set # We must manually run this check because thrift_backend always forces `has_been_closed_server_side` to True @@ -768,21 +714,14 @@ def test_close_connection_closes_cursors(self): status_request = ttypes.TGetOperationStatusReq( operationHandle=ars.command_id, getProgressUpdate=False ) - op_status_at_server = ars.thrift_backend._client.GetOperationStatus( - status_request - ) - assert ( - op_status_at_server.operationState - != ttypes.TOperationState.CLOSED_STATE - ) + op_status_at_server = ars.thrift_backend._client.GetOperationStatus(status_request) + assert op_status_at_server.operationState != ttypes.TOperationState.CLOSED_STATE conn.close() # When connection closes, any cursor operations should no longer exist at the server with pytest.raises(SessionAlreadyClosedError) as cm: - op_status_at_server = ars.thrift_backend._client.GetOperationStatus( - status_request - ) + op_status_at_server = ars.thrift_backend._client.GetOperationStatus(status_request) def test_closing_a_closed_connection_doesnt_fail(self, caplog): caplog.set_level(logging.DEBUG) @@ -803,9 +742,7 @@ class HTTP429Suite(Client429ResponseMixin, PySQLPytestTestCase): class HTTP503Suite(Client503ResponseMixin, PySQLPytestTestCase): # 503Response suite gets custom error here vs PyODBC def test_retry_disabled(self): - self._test_retry_disabled_with_message( - "TEMPORARILY_UNAVAILABLE", OperationalError - ) + self._test_retry_disabled_with_message("TEMPORARILY_UNAVAILABLE", OperationalError) class TestPySQLUnityCatalogSuite(PySQLPytestTestCase): diff --git a/databricks_sql_connector_core/tests/e2e/test_parameterized_queries.py b/databricks_sql_connector_core/tests/e2e/test_parameterized_queries.py index 31808dff..e2eac174 100644 --- a/databricks_sql_connector_core/tests/e2e/test_parameterized_queries.py +++ b/databricks_sql_connector_core/tests/e2e/test_parameterized_queries.py @@ -28,7 +28,7 @@ VoidParameter, ) from tests.e2e.test_driver import PySQLPytestTestCase -from tests.e2e.predicate import pysql_supports_arrow +from tests.e2e.common.predicates import pysql_supports_arrow class ParamStyle(Enum): @@ -168,8 +168,12 @@ def _inline_roundtrip(self, params: dict, paramstyle: ParamStyle): This is a no-op but is included to make the test-code easier to read. """ target_column = self._get_inline_table_column(params.get("p")) - INSERT_QUERY = f"INSERT INTO pysql_e2e_inline_param_test_table (`{target_column}`) VALUES (%(p)s)" - SELECT_QUERY = f"SELECT {target_column} `col` FROM pysql_e2e_inline_param_test_table LIMIT 1" + INSERT_QUERY = ( + f"INSERT INTO pysql_e2e_inline_param_test_table (`{target_column}`) VALUES (%(p)s)" + ) + SELECT_QUERY = ( + f"SELECT {target_column} `col` FROM pysql_e2e_inline_param_test_table LIMIT 1" + ) DELETE_QUERY = "DELETE FROM pysql_e2e_inline_param_test_table" with self.connection(extra_params={"use_inline_params": True}) as conn: @@ -281,10 +285,8 @@ def test_primitive_single( (PrimitiveExtra.TINYINT, TinyIntParameter), ], ) - @pytest.mark.skipif( - not pysql_supports_arrow(), - reason="Without pyarrow TIMESTAMP_NTZ datatype cannot be inferred", - ) + + @pytest.mark.skipif(not pysql_supports_arrow(),reason="Without pyarrow TIMESTAMP_NTZ datatype cannot be inferred",) def test_dbsqlparameter_single( self, primitive: Primitive, @@ -309,15 +311,11 @@ def test_use_inline_off_by_default_with_warning(self, use_inline_params, caplog) If a user explicitly sets use_inline_params, don't warn them about it. """ - extra_args = ( - {"use_inline_params": use_inline_params} if use_inline_params else {} - ) + extra_args = {"use_inline_params": use_inline_params} if use_inline_params else {} with self.connection(extra_params=extra_args) as conn: with conn.cursor() as cursor: - with self.patch_server_supports_native_params( - supports_native_params=True - ): + with self.patch_server_supports_native_params(supports_native_params=True): cursor.execute("SELECT %(p)s", parameters={"p": 1}) if use_inline_params is True: assert ( @@ -407,9 +405,7 @@ def test_inline_ordinals_can_break_sql(self): query = "SELECT 'samsonite', %s WHERE 'samsonite' LIKE '%sonite'" params = ["luggage"] with self.cursor(extra_params={"use_inline_params": True}) as cursor: - with pytest.raises( - TypeError, match="not enough arguments for format string" - ): + with pytest.raises(TypeError, match="not enough arguments for format string"): cursor.execute(query, parameters=params) def test_inline_named_dont_break_sql(self): @@ -424,6 +420,7 @@ def test_inline_named_dont_break_sql(self): params = {"one": "%(one)s"} with self.cursor(extra_params={"use_inline_params": True}) as cursor: result = cursor.execute(query, parameters=params).fetchone() + print("hello") def test_native_ordinals_dont_break_sql(self): """This test accompanies test_inline_ordinals_can_break_sql to prove that ordinal diff --git a/databricks_sql_connector_core/tests/unit/test_arrow_queue.py b/databricks_sql_connector_core/tests/unit/test_arrow_queue.py index 76dc1ee7..ac98e137 100644 --- a/databricks_sql_connector_core/tests/unit/test_arrow_queue.py +++ b/databricks_sql_connector_core/tests/unit/test_arrow_queue.py @@ -1,4 +1,5 @@ import unittest + import pytest from databricks.sql.utils import ArrowQueue @@ -8,12 +9,9 @@ except ImportError: pa = None -from tests.e2e.predicate import pysql_supports_arrow - +from tests.e2e.common.predicates import pysql_supports_arrow -@pytest.mark.skipif( - not pysql_supports_arrow(), reason="Skipping because pyarrow is not installed" -) +@pytest.mark.skipif(not pysql_supports_arrow(), reason="Skipping because pyarrow is not installed") class ArrowQueueSuite(unittest.TestCase): @staticmethod def make_arrow_table(batch): @@ -23,21 +21,13 @@ def make_arrow_table(batch): return pa.Table.from_pydict(dict(zip(schema.names, cols)), schema=schema) def test_fetchmany_respects_n_rows(self): - arrow_table = self.make_arrow_table( - [[0, 1, 2], [3, 4, 5], [6, 7, 8], [9, 10, 11]] - ) + arrow_table = self.make_arrow_table([[0, 1, 2], [3, 4, 5], [6, 7, 8], [9, 10, 11]]) aq = ArrowQueue(arrow_table, 3) - self.assertEqual( - aq.next_n_rows(2), self.make_arrow_table([[0, 1, 2], [3, 4, 5]]) - ) + self.assertEqual(aq.next_n_rows(2), self.make_arrow_table([[0, 1, 2], [3, 4, 5]])) self.assertEqual(aq.next_n_rows(2), self.make_arrow_table([[6, 7, 8]])) def test_fetch_remaining_rows_respects_n_rows(self): - arrow_table = self.make_arrow_table( - [[0, 1, 2], [3, 4, 5], [6, 7, 8], [9, 10, 11]] - ) + arrow_table = self.make_arrow_table([[0, 1, 2], [3, 4, 5], [6, 7, 8], [9, 10, 11]]) aq = ArrowQueue(arrow_table, 3) self.assertEqual(aq.next_n_rows(1), self.make_arrow_table([[0, 1, 2]])) - self.assertEqual( - aq.remaining_rows(), self.make_arrow_table([[3, 4, 5], [6, 7, 8]]) - ) + self.assertEqual(aq.remaining_rows(), self.make_arrow_table([[3, 4, 5], [6, 7, 8]])) diff --git a/databricks_sql_connector_core/tests/unit/test_client.py b/databricks_sql_connector_core/tests/unit/test_client.py index 9784d102..c86a9f7f 100644 --- a/databricks_sql_connector_core/tests/unit/test_client.py +++ b/databricks_sql_connector_core/tests/unit/test_client.py @@ -13,26 +13,21 @@ TExecuteStatementResp, TOperationHandle, THandleIdentifier, - TOperationType, + TOperationType ) from databricks.sql.thrift_backend import ThriftBackend import databricks.sql import databricks.sql.client as client -from databricks.sql import ( - InterfaceError, - DatabaseError, - Error, - NotSupportedError, -) +from databricks.sql import InterfaceError, DatabaseError, Error, NotSupportedError from databricks.sql.types import Row from tests.unit.test_fetches import FetchTests from tests.unit.test_thrift_backend import ThriftBackendTestSuite from tests.unit.test_arrow_queue import ArrowQueueSuite - class ThriftBackendMockFactory: + @classmethod def new(cls): ThriftBackendMock = Mock(spec=ThriftBackend) @@ -73,6 +68,10 @@ def apply_property_to_mock(self, mock_obj, **kwargs): setattr(type(mock_obj), key, prop) + + + + class ClientTestSuite(unittest.TestCase): """ Unit tests for isolated client behaviour. @@ -90,7 +89,7 @@ def test_close_uses_the_correct_session_id(self, mock_client_class): instance = mock_client_class.return_value mock_open_session_resp = MagicMock(spec=TOpenSessionResp)() - mock_open_session_resp.sessionHandle.sessionId = b"\x22" + mock_open_session_resp.sessionHandle.sessionId = b'\x22' instance.open_session.return_value = mock_open_session_resp connection = databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS) @@ -98,7 +97,7 @@ def test_close_uses_the_correct_session_id(self, mock_client_class): # Check the close session request has an id of x22 close_session_id = instance.close_session.call_args[0][0].sessionId - self.assertEqual(close_session_id, b"\x22") + self.assertEqual(close_session_id, b'\x22') @patch("%s.client.ThriftBackend" % PACKAGE_NAME) def test_auth_args(self, mock_client_class): @@ -156,24 +155,13 @@ def test_useragent_header(self, mock_client_class): databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS) http_headers = mock_client_class.call_args[0][3] - user_agent_header = ( - "User-Agent", - "{}/{}".format( - databricks.sql.USER_AGENT_NAME, - databricks.sql.__version__, - ), - ) + user_agent_header = ("User-Agent", "{}/{}".format(databricks.sql.USER_AGENT_NAME, + databricks.sql.__version__)) self.assertIn(user_agent_header, http_headers) databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS, _user_agent_entry="foobar") - user_agent_header_with_entry = ( - "User-Agent", - "{}/{} ({})".format( - databricks.sql.USER_AGENT_NAME, - databricks.sql.__version__, - "foobar", - ), - ) + user_agent_header_with_entry = ("User-Agent", "{}/{} ({})".format( + databricks.sql.USER_AGENT_NAME, databricks.sql.__version__, "foobar")) http_headers = mock_client_class.call_args[0][3] self.assertIn(user_agent_header_with_entry, http_headers) @@ -189,9 +177,7 @@ def test_closing_connection_closes_commands(self, mock_result_set_class): cursor.execute("SELECT 1;") connection.close() - self.assertTrue( - mock_result_set_class.return_value.has_been_closed_server_side - ) + self.assertTrue(mock_result_set_class.return_value.has_been_closed_server_side) mock_result_set_class.return_value.close.assert_called_once_with() @patch("%s.client.ThriftBackend" % PACKAGE_NAME) @@ -206,9 +192,7 @@ def test_cant_open_cursor_on_closed_connection(self, mock_client_class): @patch("%s.client.ThriftBackend" % PACKAGE_NAME) @patch("%s.client.Cursor" % PACKAGE_NAME) - def test_arraysize_buffer_size_passthrough( - self, mock_cursor_class, mock_client_class - ): + def test_arraysize_buffer_size_passthrough(self, mock_cursor_class, mock_client_class): connection = databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS) connection.cursor(arraysize=999, buffer_size_bytes=1234) kwargs = mock_cursor_class.call_args[1] @@ -220,10 +204,7 @@ def test_closing_result_set_with_closed_connection_soft_closes_commands(self): mock_connection = Mock() mock_backend = Mock() result_set = client.ResultSet( - connection=mock_connection, - thrift_backend=mock_backend, - execute_response=Mock(), - ) + connection=mock_connection, thrift_backend=mock_backend, execute_response=Mock()) mock_connection.open = False result_set.close() @@ -237,27 +218,20 @@ def test_closing_result_set_hard_closes_commands(self): mock_connection = Mock() mock_thrift_backend = Mock() mock_connection.open = True - result_set = client.ResultSet( - mock_connection, mock_results_response, mock_thrift_backend - ) + result_set = client.ResultSet(mock_connection, mock_results_response, mock_thrift_backend) result_set.close() mock_thrift_backend.close_command.assert_called_once_with( - mock_results_response.command_handle - ) + mock_results_response.command_handle) @patch("%s.client.ResultSet" % PACKAGE_NAME) - def test_executing_multiple_commands_uses_the_most_recent_command( - self, mock_result_set_class - ): + def test_executing_multiple_commands_uses_the_most_recent_command(self, mock_result_set_class): mock_result_sets = [Mock(), Mock()] mock_result_set_class.side_effect = mock_result_sets - cursor = client.Cursor( - connection=Mock(), thrift_backend=ThriftBackendMockFactory.new() - ) + cursor = client.Cursor(connection=Mock(), thrift_backend=ThriftBackendMockFactory.new()) cursor.execute("SELECT 1;") cursor.execute("SELECT 1;") @@ -298,7 +272,7 @@ def test_context_manager_closes_connection(self, mock_client_class): instance = mock_client_class.return_value mock_open_session_resp = MagicMock(spec=TOpenSessionResp)() - mock_open_session_resp.sessionHandle.sessionId = b"\x22" + mock_open_session_resp.sessionHandle.sessionId = b'\x22' instance.open_session.return_value = mock_open_session_resp with databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS) as connection: @@ -306,7 +280,7 @@ def test_context_manager_closes_connection(self, mock_client_class): # Check the close session request has an id of x22 close_session_id = instance.close_session.call_args[0][0].sessionId - self.assertEqual(close_session_id, b"\x22") + self.assertEqual(close_session_id, b'\x22') def dict_product(self, dicts): """ @@ -325,9 +299,7 @@ def test_get_schemas_parameters_passed_to_thrift_backend(self, mock_thrift_backe req_args_combinations = self.dict_product( dict( catalog_name=["NOT_SET", None, "catalog_pattern"], - schema_name=["NOT_SET", None, "schema_pattern"], - ) - ) + schema_name=["NOT_SET", None, "schema_pattern"])) for req_args in req_args_combinations: req_args = {k: v for k, v in req_args.items() if v != "NOT_SET"} @@ -348,9 +320,7 @@ def test_get_tables_parameters_passed_to_thrift_backend(self, mock_thrift_backen catalog_name=["NOT_SET", None, "catalog_pattern"], schema_name=["NOT_SET", None, "schema_pattern"], table_name=["NOT_SET", None, "table_pattern"], - table_types=["NOT_SET", [], ["type1", "type2"]], - ) - ) + table_types=["NOT_SET", [], ["type1", "type2"]])) for req_args in req_args_combinations: req_args = {k: v for k, v in req_args.items() if v != "NOT_SET"} @@ -371,9 +341,7 @@ def test_get_columns_parameters_passed_to_thrift_backend(self, mock_thrift_backe catalog_name=["NOT_SET", None, "catalog_pattern"], schema_name=["NOT_SET", None, "schema_pattern"], table_name=["NOT_SET", None, "table_pattern"], - column_name=["NOT_SET", None, "column_pattern"], - ) - ) + column_name=["NOT_SET", None, "column_pattern"])) for req_args in req_args_combinations: req_args = {k: v for k, v in req_args.items() if v != "NOT_SET"} @@ -397,8 +365,7 @@ def test_cancel_command_calls_the_backend(self): @patch("databricks.sql.client.logger") def test_cancel_command_will_issue_warning_for_cancel_with_no_executing_command( - self, logger_instance - ): + self, logger_instance): mock_thrift_backend = Mock() cursor = client.Cursor(Mock(), mock_thrift_backend) cursor.cancel() @@ -408,13 +375,9 @@ def test_cancel_command_will_issue_warning_for_cancel_with_no_executing_command( @patch("%s.client.ThriftBackend" % PACKAGE_NAME) def test_max_number_of_retries_passthrough(self, mock_client_class): - databricks.sql.connect( - _retry_stop_after_attempts_count=54, **self.DUMMY_CONNECTION_ARGS - ) + databricks.sql.connect(_retry_stop_after_attempts_count=54, **self.DUMMY_CONNECTION_ARGS) - self.assertEqual( - mock_client_class.call_args[1]["_retry_stop_after_attempts_count"], 54 - ) + self.assertEqual(mock_client_class.call_args[1]["_retry_stop_after_attempts_count"], 54) @patch("%s.client.ThriftBackend" % PACKAGE_NAME) def test_socket_timeout_passthrough(self, mock_client_class): @@ -423,38 +386,27 @@ def test_socket_timeout_passthrough(self, mock_client_class): def test_version_is_canonical(self): version = databricks.sql.__version__ - canonical_version_re = ( - r"^([1-9][0-9]*!)?(0|[1-9][0-9]*)(\.(0|[1-9][0-9]*))*((a|b|rc)" - r"(0|[1-9][0-9]*))?(\.post(0|[1-9][0-9]*))?(\.dev(0|[1-9][0-9]*))?$" - ) + canonical_version_re = r'^([1-9][0-9]*!)?(0|[1-9][0-9]*)(\.(0|[1-9][0-9]*))*((a|b|rc)' \ + r'(0|[1-9][0-9]*))?(\.post(0|[1-9][0-9]*))?(\.dev(0|[1-9][0-9]*))?$' self.assertIsNotNone(re.match(canonical_version_re, version)) @patch("%s.client.ThriftBackend" % PACKAGE_NAME) def test_configuration_passthrough(self, mock_client_class): mock_session_config = Mock() databricks.sql.connect( - session_configuration=mock_session_config, **self.DUMMY_CONNECTION_ARGS - ) + session_configuration=mock_session_config, **self.DUMMY_CONNECTION_ARGS) - self.assertEqual( - mock_client_class.return_value.open_session.call_args[0][0], - mock_session_config, - ) + self.assertEqual(mock_client_class.return_value.open_session.call_args[0][0], + mock_session_config) @patch("%s.client.ThriftBackend" % PACKAGE_NAME) def test_initial_namespace_passthrough(self, mock_client_class): mock_cat = Mock() mock_schem = Mock() - databricks.sql.connect( - **self.DUMMY_CONNECTION_ARGS, catalog=mock_cat, schema=mock_schem - ) - self.assertEqual( - mock_client_class.return_value.open_session.call_args[0][1], mock_cat - ) - self.assertEqual( - mock_client_class.return_value.open_session.call_args[0][2], mock_schem - ) + databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS, catalog=mock_cat, schema=mock_schem) + self.assertEqual(mock_client_class.return_value.open_session.call_args[0][1], mock_cat) + self.assertEqual(mock_client_class.return_value.open_session.call_args[0][2], mock_schem) def test_execute_parameter_passthrough(self): mock_thrift_backend = ThriftBackendMockFactory.new() @@ -484,8 +436,7 @@ def test_execute_parameter_passthrough(self): @patch("%s.client.ThriftBackend" % PACKAGE_NAME) @patch("%s.client.ResultSet" % PACKAGE_NAME) def test_executemany_parameter_passhthrough_and_uses_last_result_set( - self, mock_result_set_class, mock_thrift_backend - ): + self, mock_result_set_class, mock_thrift_backend): # Create a new mock result set each time the class is instantiated mock_result_set_instances = [Mock(), Mock(), Mock()] mock_result_set_class.side_effect = mock_result_set_instances @@ -498,22 +449,17 @@ def test_executemany_parameter_passhthrough_and_uses_last_result_set( cursor.executemany("SELECT %(x)s", seq_of_parameters=params) self.assertEqual( - len(mock_thrift_backend.execute_command.call_args_list), - len(expected_queries), - "Expected execute_command to be called the same number of times as params were passed", - ) + len(mock_thrift_backend.execute_command.call_args_list), len(expected_queries), + "Expected execute_command to be called the same number of times as params were passed") - for expected_query, call_args in zip( - expected_queries, mock_thrift_backend.execute_command.call_args_list - ): + for expected_query, call_args in zip(expected_queries, + mock_thrift_backend.execute_command.call_args_list): self.assertEqual(call_args[1]["operation"], expected_query) self.assertEqual( - cursor.active_result_set, - mock_result_set_instances[2], + cursor.active_result_set, mock_result_set_instances[2], "Expected the active result set to be the result set corresponding to the" - "last operation", - ) + "last operation") @patch("%s.client.ThriftBackend" % PACKAGE_NAME) def test_commit_a_noop(self, mock_thrift_backend_class): @@ -549,7 +495,7 @@ def make_fake_row_slice(n_rows): mock_thrift_backend.fetch_results.return_value = (mock_aq, True) cursor = client.Cursor(Mock(), mock_thrift_backend) - cursor.execute("foo") + cursor.execute('foo') self.assertEqual(cursor.rownumber, 0) cursor.fetchmany_arrow(10) @@ -570,14 +516,12 @@ def test_disable_pandas_respected(self, mock_thrift_backend_class): mock_aq = Mock() mock_aq.remaining_rows.return_value = mock_table mock_thrift_backend.execute_command.return_value.arrow_queue = mock_aq - mock_thrift_backend.execute_command.return_value.has_been_closed_server_side = ( - True - ) + mock_thrift_backend.execute_command.return_value.has_been_closed_server_side = True mock_con = Mock() mock_con.disable_pandas = True cursor = client.Cursor(mock_con, mock_thrift_backend) - cursor.execute("foo") + cursor.execute('foo') cursor.fetchall() mock_table.itercolumns.assert_called_once_with() @@ -591,7 +535,7 @@ def test_column_name_api(self): expected_values = [["val1", 321, 52.32], ["val2", 2321, 252.32]] - for row, expected in zip(data, expected_values): + for (row, expected) in zip(data, expected_values): self.assertEqual(row.first_col, expected[0]) self.assertEqual(row.second_col, expected[1]) self.assertEqual(row.third_col, expected[2]) @@ -604,21 +548,18 @@ def test_column_name_api(self): self.assertEqual(row[1], expected[1]) self.assertEqual(row[2], expected[2]) - self.assertEqual( - row.asDict(), - { - "first_col": expected[0], - "second_col": expected[1], - "third_col": expected[2], - }, - ) + self.assertEqual(row.asDict(), { + "first_col": expected[0], + "second_col": expected[1], + "third_col": expected[2] + }) @patch("%s.client.ThriftBackend" % PACKAGE_NAME) def test_finalizer_closes_abandoned_connection(self, mock_client_class): instance = mock_client_class.return_value mock_open_session_resp = MagicMock(spec=TOpenSessionResp)() - mock_open_session_resp.sessionHandle.sessionId = b"\x22" + mock_open_session_resp.sessionHandle.sessionId = b'\x22' instance.open_session.return_value = mock_open_session_resp databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS) @@ -628,14 +569,14 @@ def test_finalizer_closes_abandoned_connection(self, mock_client_class): # Check the close session request has an id of x22 close_session_id = instance.close_session.call_args[0][0].sessionId - self.assertEqual(close_session_id, b"\x22") + self.assertEqual(close_session_id, b'\x22') @patch("%s.client.ThriftBackend" % PACKAGE_NAME) def test_cursor_keeps_connection_alive(self, mock_client_class): instance = mock_client_class.return_value mock_open_session_resp = MagicMock(spec=TOpenSessionResp)() - mock_open_session_resp.sessionHandle.sessionId = b"\x22" + mock_open_session_resp.sessionHandle.sessionId = b'\x22' instance.open_session.return_value = mock_open_session_resp connection = databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS) @@ -650,14 +591,11 @@ def test_cursor_keeps_connection_alive(self, mock_client_class): @patch("%s.utils.ExecuteResponse" % PACKAGE_NAME, autospec=True) @patch("%s.client.Cursor._handle_staging_operation" % PACKAGE_NAME) @patch("%s.client.ThriftBackend" % PACKAGE_NAME) - def test_staging_operation_response_is_handled( - self, mock_client_class, mock_handle_staging_operation, mock_execute_response - ): + def test_staging_operation_response_is_handled(self, mock_client_class, mock_handle_staging_operation, mock_execute_response): # If server sets ExecuteResponse.is_staging_operation True then _handle_staging_operation should be called - ThriftBackendMockFactory.apply_property_to_mock( - mock_execute_response, is_staging_operation=True - ) + + ThriftBackendMockFactory.apply_property_to_mock(mock_execute_response, is_staging_operation=True) mock_client_class.execute_command.return_value = mock_execute_response mock_client_class.return_value = mock_client_class @@ -670,7 +608,7 @@ def test_staging_operation_response_is_handled( @patch("%s.client.ThriftBackend" % PACKAGE_NAME, ThriftBackendMockFactory.new()) def test_access_current_query_id(self): - operation_id = "EE6A8778-21FC-438B-92D8-96AC51EE3821" + operation_id = 'EE6A8778-21FC-438B-92D8-96AC51EE3821' connection = databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS) cursor = connection.cursor() @@ -679,23 +617,17 @@ def test_access_current_query_id(self): cursor.active_op_handle = TOperationHandle( operationId=THandleIdentifier(guid=UUID(operation_id).bytes, secret=0x00), - operationType=TOperationType.EXECUTE_STATEMENT, - ) + operationType=TOperationType.EXECUTE_STATEMENT) self.assertEqual(cursor.query_id.upper(), operation_id.upper()) cursor.close() self.assertIsNone(cursor.query_id) -if __name__ == "__main__": +if __name__ == '__main__': suite = unittest.TestLoader().loadTestsFromModule(sys.modules[__name__]) loader = unittest.TestLoader() - test_classes = [ - ClientTestSuite, - FetchTests, - ThriftBackendTestSuite, - ArrowQueueSuite, - ] + test_classes = [ClientTestSuite, FetchTests, ThriftBackendTestSuite, ArrowQueueSuite] suites_list = [] for test_class in test_classes: suite = loader.loadTestsFromTestCase(test_class) diff --git a/databricks_sql_connector_core/tests/unit/test_cloud_fetch_queue.py b/databricks_sql_connector_core/tests/unit/test_cloud_fetch_queue.py index 4aed2951..def6b8aa 100644 --- a/databricks_sql_connector_core/tests/unit/test_cloud_fetch_queue.py +++ b/databricks_sql_connector_core/tests/unit/test_cloud_fetch_queue.py @@ -1,42 +1,34 @@ -import unittest import pytest +import unittest from unittest.mock import MagicMock, patch from ssl import create_default_context -from databricks.sql.thrift_api.TCLIService.ttypes import ( - TSparkArrowResultLink, -) +from databricks.sql.thrift_api.TCLIService.ttypes import TSparkArrowResultLink import databricks.sql.utils as utils -from tests.e2e.predicate import pysql_supports_arrow +from tests.e2e.common.predicates import pysql_supports_arrow try: import pyarrow except ImportError: pyarrow = None - -@pytest.mark.skipif( - not pysql_supports_arrow(), reason="Skipping because pyarrow is not installed" -) +@pytest.mark.skipif(not pysql_supports_arrow(), reason="Skipping because pyarrow is not installed") class CloudFetchQueueSuite(unittest.TestCase): + def create_result_link( - self, - file_link: str = "fileLink", - start_row_offset: int = 0, - row_count: int = 8000, - bytes_num: int = 20971520, + self, + file_link: str = "fileLink", + start_row_offset: int = 0, + row_count: int = 8000, + bytes_num: int = 20971520 ): - return TSparkArrowResultLink( - file_link, None, start_row_offset, row_count, bytes_num - ) + return TSparkArrowResultLink(file_link, None, start_row_offset, row_count, bytes_num) def create_result_links(self, num_files: int, start_row_offset: int = 0): result_links = [] for i in range(num_files): file_link = "fileLink_" + str(i) - result_link = self.create_result_link( - file_link=file_link, start_row_offset=start_row_offset - ) + result_link = self.create_result_link(file_link=file_link, start_row_offset=start_row_offset) result_links.append(result_link) start_row_offset += result_link.rowCount return result_links @@ -57,10 +49,8 @@ def get_schema_bytes(): writer.close() return sink.getvalue().to_pybytes() - @patch( - "databricks.sql.utils.CloudFetchQueue._create_next_table", - return_value=[None, None], - ) + + @patch("databricks.sql.utils.CloudFetchQueue._create_next_table", return_value=[None, None]) def test_initializer_adds_links(self, mock_create_next_table): schema_bytes = MagicMock() result_links = self.create_result_links(10) @@ -89,10 +79,7 @@ def test_initializer_no_links_to_add(self): assert len(queue.download_manager._download_tasks) == 0 assert queue.table is None - @patch( - "databricks.sql.cloudfetch.download_manager.ResultFileDownloadManager.get_next_downloaded_file", - return_value=None, - ) + @patch("databricks.sql.cloudfetch.download_manager.ResultFileDownloadManager.get_next_downloaded_file", return_value=None) def test_create_next_table_no_download(self, mock_get_next_downloaded_file): queue = utils.CloudFetchQueue( MagicMock(), @@ -105,13 +92,9 @@ def test_create_next_table_no_download(self, mock_get_next_downloaded_file): mock_get_next_downloaded_file.assert_called_with(0) @patch("databricks.sql.utils.create_arrow_table_from_arrow_file") - @patch( - "databricks.sql.cloudfetch.download_manager.ResultFileDownloadManager.get_next_downloaded_file", - return_value=MagicMock(file_bytes=b"1234567890", row_count=4), - ) - def test_initializer_create_next_table_success( - self, mock_get_next_downloaded_file, mock_create_arrow_table - ): + @patch("databricks.sql.cloudfetch.download_manager.ResultFileDownloadManager.get_next_downloaded_file", + return_value=MagicMock(file_bytes=b"1234567890", row_count=4)) + def test_initializer_create_next_table_success(self, mock_get_next_downloaded_file, mock_create_arrow_table): mock_create_arrow_table.return_value = self.make_arrow_table() schema_bytes, description = MagicMock(), MagicMock() queue = utils.CloudFetchQueue( @@ -193,12 +176,7 @@ def test_next_n_rows_more_than_one_table(self, mock_create_next_table): result = queue.next_n_rows(7) assert result.num_rows == 7 assert queue.table_row_index == 3 - assert ( - result - == pyarrow.concat_tables( - [self.make_arrow_table(), self.make_arrow_table()] - )[:7] - ) + assert result == pyarrow.concat_tables([self.make_arrow_table(), self.make_arrow_table()])[:7] @patch("databricks.sql.utils.CloudFetchQueue._create_next_table") def test_next_n_rows_only_one_table_returned(self, mock_create_next_table): @@ -219,10 +197,7 @@ def test_next_n_rows_only_one_table_returned(self, mock_create_next_table): assert result.num_rows == 4 assert result == self.make_arrow_table() - @patch( - "databricks.sql.utils.CloudFetchQueue._create_next_table", - return_value=None, - ) + @patch("databricks.sql.utils.CloudFetchQueue._create_next_table", return_value=None) def test_next_n_rows_empty_table(self, mock_create_next_table): schema_bytes = self.get_schema_bytes() description = MagicMock() @@ -297,14 +272,8 @@ def test_remaining_rows_one_table_fully_returned(self, mock_create_next_table): assert result == self.make_arrow_table() @patch("databricks.sql.utils.CloudFetchQueue._create_next_table") - def test_remaining_rows_multiple_tables_fully_returned( - self, mock_create_next_table - ): - mock_create_next_table.side_effect = [ - self.make_arrow_table(), - self.make_arrow_table(), - None, - ] + def test_remaining_rows_multiple_tables_fully_returned(self, mock_create_next_table): + mock_create_next_table.side_effect = [self.make_arrow_table(), self.make_arrow_table(), None] schema_bytes, description = MagicMock(), MagicMock() queue = utils.CloudFetchQueue( schema_bytes, @@ -320,17 +289,9 @@ def test_remaining_rows_multiple_tables_fully_returned( result = queue.remaining_rows() assert mock_create_next_table.call_count == 3 assert result.num_rows == 5 - assert ( - result - == pyarrow.concat_tables( - [self.make_arrow_table(), self.make_arrow_table()] - )[3:] - ) + assert result == pyarrow.concat_tables([self.make_arrow_table(), self.make_arrow_table()])[3:] - @patch( - "databricks.sql.utils.CloudFetchQueue._create_next_table", - return_value=None, - ) + @patch("databricks.sql.utils.CloudFetchQueue._create_next_table", return_value=None) def test_remaining_rows_empty_table(self, mock_create_next_table): schema_bytes = self.get_schema_bytes() description = MagicMock() diff --git a/databricks_sql_connector_core/tests/unit/test_download_manager.py b/databricks_sql_connector_core/tests/unit/test_download_manager.py index 39ec95ce..f17049e8 100644 --- a/databricks_sql_connector_core/tests/unit/test_download_manager.py +++ b/databricks_sql_connector_core/tests/unit/test_download_manager.py @@ -1,27 +1,21 @@ import unittest from unittest.mock import patch, MagicMock import pytest + from ssl import create_default_context import databricks.sql.cloudfetch.download_manager as download_manager -from databricks.sql.thrift_api.TCLIService.ttypes import ( - TSparkArrowResultLink, -) - -from tests.e2e.predicate import pysql_supports_arrow +from databricks.sql.thrift_api.TCLIService.ttypes import TSparkArrowResultLink +from tests.e2e.common.predicates import pysql_supports_arrow -@pytest.mark.skipif( - not pysql_supports_arrow(), reason="Skipping because pyarrow is not installed" -) +@pytest.mark.skipif(not pysql_supports_arrow(), reason="Skipping because pyarrow is not installed") class DownloadManagerTests(unittest.TestCase): """ Unit tests for checking download manager logic. """ - def create_download_manager( - self, links, max_download_threads=10, lz4_compressed=True - ): + def create_download_manager(self, links, max_download_threads=10, lz4_compressed=True): return download_manager.ResultFileDownloadManager( links, max_download_threads, @@ -30,23 +24,19 @@ def create_download_manager( ) def create_result_link( - self, - file_link: str = "fileLink", - start_row_offset: int = 0, - row_count: int = 8000, - bytes_num: int = 20971520, + self, + file_link: str = "fileLink", + start_row_offset: int = 0, + row_count: int = 8000, + bytes_num: int = 20971520 ): - return TSparkArrowResultLink( - file_link, None, start_row_offset, row_count, bytes_num - ) + return TSparkArrowResultLink(file_link, None, start_row_offset, row_count, bytes_num) def create_result_links(self, num_files: int, start_row_offset: int = 0): result_links = [] for i in range(num_files): file_link = "fileLink_" + str(i) - result_link = self.create_result_link( - file_link=file_link, start_row_offset=start_row_offset - ) + result_link = self.create_result_link(file_link=file_link, start_row_offset=start_row_offset) result_links.append(result_link) start_row_offset += result_link.rowCount return result_links @@ -55,9 +45,7 @@ def test_add_file_links_zero_row_count(self): links = [self.create_result_link(row_count=0, bytes_num=0)] manager = self.create_download_manager(links) - assert ( - len(manager._pending_links) == 0 - ) # the only link supplied contains no data, so should be skipped + assert len(manager._pending_links) == 0 # the only link supplied contains no data, so should be skipped assert len(manager._download_tasks) == 0 def test_add_file_links_success(self): @@ -71,9 +59,7 @@ def test_add_file_links_success(self): def test_schedule_downloads(self, mock_submit): max_download_threads = 4 links = self.create_result_links(num_files=10) - manager = self.create_download_manager( - links, max_download_threads=max_download_threads - ) + manager = self.create_download_manager(links, max_download_threads=max_download_threads) manager._schedule_downloads() assert mock_submit.call_count == max_download_threads diff --git a/databricks_sql_connector_core/tests/unit/test_downloader.py b/databricks_sql_connector_core/tests/unit/test_downloader.py index df597bc3..b6e473b5 100644 --- a/databricks_sql_connector_core/tests/unit/test_downloader.py +++ b/databricks_sql_connector_core/tests/unit/test_downloader.py @@ -20,40 +20,36 @@ class DownloaderTests(unittest.TestCase): Unit tests for checking downloader logic. """ - @patch("time.time", return_value=1000) + @patch('time.time', return_value=1000) def test_run_link_expired(self, mock_time): settings = Mock() result_link = Mock() # Already expired result_link.expiryTime = 999 - d = downloader.ResultSetDownloadHandler( - settings, result_link, ssl_context=create_default_context() - ) + d = downloader.ResultSetDownloadHandler(settings, result_link, ssl_context=create_default_context()) with self.assertRaises(Error) as context: d.run() - self.assertTrue("link has expired" in context.exception.message) + self.assertTrue('link has expired' in context.exception.message) mock_time.assert_called_once() - @patch("time.time", return_value=1000) + @patch('time.time', return_value=1000) def test_run_link_past_expiry_buffer(self, mock_time): settings = Mock(link_expiry_buffer_secs=5) result_link = Mock() # Within the expiry buffer time result_link.expiryTime = 1004 - d = downloader.ResultSetDownloadHandler( - settings, result_link, ssl_context=create_default_context() - ) + d = downloader.ResultSetDownloadHandler(settings, result_link, ssl_context=create_default_context()) with self.assertRaises(Error) as context: d.run() - self.assertTrue("link has expired" in context.exception.message) + self.assertTrue('link has expired' in context.exception.message) mock_time.assert_called_once() - @patch("requests.Session", return_value=MagicMock(get=MagicMock(return_value=None))) - @patch("time.time", return_value=1000) + @patch('requests.Session', return_value=MagicMock(get=MagicMock(return_value=None))) + @patch('time.time', return_value=1000) def test_run_get_response_not_ok(self, mock_time, mock_session): mock_session.return_value.get.return_value = create_response(status_code=404) @@ -62,81 +58,62 @@ def test_run_get_response_not_ok(self, mock_time, mock_session): settings.use_proxy = False result_link = Mock(expiryTime=1001) - d = downloader.ResultSetDownloadHandler( - settings, result_link, ssl_context=create_default_context() - ) + d = downloader.ResultSetDownloadHandler(settings, result_link, ssl_context=create_default_context()) with self.assertRaises(requests.exceptions.HTTPError) as context: d.run() - self.assertTrue("404" in str(context.exception)) + self.assertTrue('404' in str(context.exception)) - @patch("requests.Session", return_value=MagicMock(get=MagicMock(return_value=None))) - @patch("time.time", return_value=1000) + @patch('requests.Session', return_value=MagicMock(get=MagicMock(return_value=None))) + @patch('time.time', return_value=1000) def test_run_uncompressed_successful(self, mock_time, mock_session): file_bytes = b"1234567890" * 10 - mock_session.return_value.get.return_value = create_response( - status_code=200, _content=file_bytes - ) + mock_session.return_value.get.return_value = create_response(status_code=200, _content=file_bytes) settings = Mock(link_expiry_buffer_secs=0, download_timeout=0, use_proxy=False) settings.is_lz4_compressed = False result_link = Mock(bytesNum=100, expiryTime=1001) - d = downloader.ResultSetDownloadHandler( - settings, result_link, ssl_context=create_default_context() - ) + d = downloader.ResultSetDownloadHandler(settings, result_link, ssl_context=create_default_context()) file = d.run() assert file.file_bytes == b"1234567890" * 10 - @patch( - "requests.Session", - return_value=MagicMock(get=MagicMock(return_value=MagicMock(ok=True))), - ) - @patch("time.time", return_value=1000) + @patch('requests.Session', return_value=MagicMock(get=MagicMock(return_value=MagicMock(ok=True)))) + @patch('time.time', return_value=1000) def test_run_compressed_successful(self, mock_time, mock_session): file_bytes = b"1234567890" * 10 compressed_bytes = b'\x04"M\x18h@d\x00\x00\x00\x00\x00\x00\x00#\x14\x00\x00\x00\xaf1234567890\n\x00BP67890\x00\x00\x00\x00' - mock_session.return_value.get.return_value = create_response( - status_code=200, _content=compressed_bytes - ) + mock_session.return_value.get.return_value = create_response(status_code=200, _content=compressed_bytes) settings = Mock(link_expiry_buffer_secs=0, download_timeout=0, use_proxy=False) settings.is_lz4_compressed = True result_link = Mock(bytesNum=100, expiryTime=1001) - d = downloader.ResultSetDownloadHandler( - settings, result_link, ssl_context=create_default_context() - ) + d = downloader.ResultSetDownloadHandler(settings, result_link, ssl_context=create_default_context()) file = d.run() assert file.file_bytes == b"1234567890" * 10 - @patch("requests.Session.get", side_effect=ConnectionError("foo")) - @patch("time.time", return_value=1000) + @patch('requests.Session.get', side_effect=ConnectionError('foo')) + @patch('time.time', return_value=1000) def test_download_connection_error(self, mock_time, mock_session): - settings = Mock( - link_expiry_buffer_secs=0, use_proxy=False, is_lz4_compressed=True - ) + settings = Mock(link_expiry_buffer_secs=0, use_proxy=False, is_lz4_compressed=True) result_link = Mock(bytesNum=100, expiryTime=1001) - mock_session.return_value.get.return_value.content = b'\x04"M\x18h@d\x00\x00\x00\x00\x00\x00\x00#\x14\x00\x00\x00\xaf1234567890\n\x00BP67890\x00\x00\x00\x00' + mock_session.return_value.get.return_value.content = \ + b'\x04"M\x18h@d\x00\x00\x00\x00\x00\x00\x00#\x14\x00\x00\x00\xaf1234567890\n\x00BP67890\x00\x00\x00\x00' - d = downloader.ResultSetDownloadHandler( - settings, result_link, ssl_context=create_default_context() - ) + d = downloader.ResultSetDownloadHandler(settings, result_link, ssl_context=create_default_context()) with self.assertRaises(ConnectionError): d.run() - @patch("requests.Session.get", side_effect=TimeoutError("foo")) - @patch("time.time", return_value=1000) + @patch('requests.Session.get', side_effect=TimeoutError('foo')) + @patch('time.time', return_value=1000) def test_download_timeout(self, mock_time, mock_session): - settings = Mock( - link_expiry_buffer_secs=0, use_proxy=False, is_lz4_compressed=True - ) + settings = Mock(link_expiry_buffer_secs=0, use_proxy=False, is_lz4_compressed=True) result_link = Mock(bytesNum=100, expiryTime=1001) - mock_session.return_value.get.return_value.content = b'\x04"M\x18h@d\x00\x00\x00\x00\x00\x00\x00#\x14\x00\x00\x00\xaf1234567890\n\x00BP67890\x00\x00\x00\x00' + mock_session.return_value.get.return_value.content = \ + b'\x04"M\x18h@d\x00\x00\x00\x00\x00\x00\x00#\x14\x00\x00\x00\xaf1234567890\n\x00BP67890\x00\x00\x00\x00' - d = downloader.ResultSetDownloadHandler( - settings, result_link, ssl_context=create_default_context() - ) + d = downloader.ResultSetDownloadHandler(settings, result_link, ssl_context=create_default_context()) with self.assertRaises(TimeoutError): d.run() diff --git a/databricks_sql_connector_core/tests/unit/test_fetches.py b/databricks_sql_connector_core/tests/unit/test_fetches.py index 385457d9..c1aeadca 100644 --- a/databricks_sql_connector_core/tests/unit/test_fetches.py +++ b/databricks_sql_connector_core/tests/unit/test_fetches.py @@ -1,21 +1,17 @@ import unittest -import pytest from unittest.mock import Mock +import pytest import databricks.sql.client as client from databricks.sql.utils import ExecuteResponse, ArrowQueue +from tests.e2e.common.predicates import pysql_supports_arrow try: import pyarrow as pa except ImportError: pa = None -from tests.e2e.predicate import pysql_supports_arrow - - -@pytest.mark.skipif( - not pysql_supports_arrow(), reason="Skipping because pyarrow is not installed" -) +@pytest.mark.skipif(not pysql_supports_arrow(), reason="Skipping because pyarrow is not installed") class FetchTests(unittest.TestCase): """ Unit tests for checking the fetch logic. @@ -26,9 +22,7 @@ def make_arrow_table(batch): n_cols = len(batch[0]) if batch else 0 schema = pa.schema({"col%s" % i: pa.uint32() for i in range(n_cols)}) cols = [[batch[row][col] for row in range(len(batch))] for col in range(n_cols)] - return schema, pa.Table.from_pydict( - dict(zip(schema.names, cols)), schema=schema - ) + return schema, pa.Table.from_pydict(dict(zip(schema.names, cols)), schema=schema) @staticmethod def make_arrow_queue(batch): @@ -53,29 +47,18 @@ def make_dummy_result_set_from_initial_results(initial_results): command_handle=None, arrow_queue=arrow_queue, arrow_schema_bytes=schema.serialize().to_pybytes(), - is_staging_operation=False, - ), - ) + is_staging_operation=False)) num_cols = len(initial_results[0]) if initial_results else 0 - rs.description = [ - (f"col{col_id}", "integer", None, None, None, None, None) - for col_id in range(num_cols) - ] + rs.description = [(f'col{col_id}', 'integer', None, None, None, None, None) + for col_id in range(num_cols)] return rs @staticmethod def make_dummy_result_set_from_batch_list(batch_list): batch_index = 0 - def fetch_results( - op_handle, - max_rows, - max_bytes, - expected_row_start_offset, - lz4_compressed, - arrow_schema_bytes, - description, - ): + def fetch_results(op_handle, max_rows, max_bytes, expected_row_start_offset, lz4_compressed, + arrow_schema_bytes, description): nonlocal batch_index results = FetchTests.make_arrow_queue(batch_list[batch_index]) batch_index += 1 @@ -93,17 +76,13 @@ def fetch_results( status=None, has_been_closed_server_side=False, has_more_rows=True, - description=[ - (f"col{col_id}", "integer", None, None, None, None, None) - for col_id in range(num_cols) - ], + description=[(f'col{col_id}', 'integer', None, None, None, None, None) + for col_id in range(num_cols)], lz4_compressed=Mock(), command_handle=None, arrow_queue=None, arrow_schema_bytes=None, - is_staging_operation=False, - ), - ) + is_staging_operation=False)) return rs def assertEqualRowValues(self, actual, expected): @@ -113,44 +92,30 @@ def assertEqualRowValues(self, actual, expected): def test_fetchmany_with_initial_results(self): # Fetch all in one go - initial_results_1 = [ - [1], - [2], - [3], - ] # This is a list of rows, each row with 1 col - dummy_result_set = self.make_dummy_result_set_from_initial_results( - initial_results_1 - ) + initial_results_1 = [[1], [2], [3]] # This is a list of rows, each row with 1 col + dummy_result_set = self.make_dummy_result_set_from_initial_results(initial_results_1) self.assertEqualRowValues(dummy_result_set.fetchmany(3), [[1], [2], [3]]) # Fetch in small amounts initial_results_2 = [[1], [2], [3], [4]] - dummy_result_set = self.make_dummy_result_set_from_initial_results( - initial_results_2 - ) + dummy_result_set = self.make_dummy_result_set_from_initial_results(initial_results_2) self.assertEqualRowValues(dummy_result_set.fetchmany(1), [[1]]) self.assertEqualRowValues(dummy_result_set.fetchmany(2), [[2], [3]]) self.assertEqualRowValues(dummy_result_set.fetchmany(1), [[4]]) # Fetch too many initial_results_3 = [[2], [3]] - dummy_result_set = self.make_dummy_result_set_from_initial_results( - initial_results_3 - ) + dummy_result_set = self.make_dummy_result_set_from_initial_results(initial_results_3) self.assertEqualRowValues(dummy_result_set.fetchmany(5), [[2], [3]]) # Empty results initial_results_4 = [[]] - dummy_result_set = self.make_dummy_result_set_from_initial_results( - initial_results_4 - ) + dummy_result_set = self.make_dummy_result_set_from_initial_results(initial_results_4) self.assertEqualRowValues(dummy_result_set.fetchmany(0), []) def test_fetch_many_without_initial_results(self): # Fetch all in one go; single batch - batch_list_1 = [ - [[1], [2], [3]] - ] # This is a list of one batch of rows, each row with 1 col + batch_list_1 = [[[1], [2], [3]]] # This is a list of one batch of rows, each row with 1 col dummy_result_set = self.make_dummy_result_set_from_batch_list(batch_list_1) self.assertEqualRowValues(dummy_result_set.fetchmany(3), [[1], [2], [3]]) @@ -180,9 +145,7 @@ def test_fetch_many_without_initial_results(self): # Fetch too many; multiple batches batch_list_6 = [[[1]], [[2], [3], [4]], [[5], [6]]] dummy_result_set = self.make_dummy_result_set_from_batch_list(batch_list_6) - self.assertEqualRowValues( - dummy_result_set.fetchmany(100), [[1], [2], [3], [4], [5], [6]] - ) + self.assertEqualRowValues(dummy_result_set.fetchmany(100), [[1], [2], [3], [4], [5], [6]]) # Fetch 0; 1 empty batch batch_list_7 = [[]] @@ -196,25 +159,19 @@ def test_fetch_many_without_initial_results(self): def test_fetchall_with_initial_results(self): initial_results_1 = [[1], [2], [3]] - dummy_result_set = self.make_dummy_result_set_from_initial_results( - initial_results_1 - ) + dummy_result_set = self.make_dummy_result_set_from_initial_results(initial_results_1) self.assertEqualRowValues(dummy_result_set.fetchall(), [[1], [2], [3]]) def test_fetchall_without_initial_results(self): # Fetch all, single batch - batch_list_1 = [ - [[1], [2], [3]] - ] # This is a list of one batch of rows, each row with 1 col + batch_list_1 = [[[1], [2], [3]]] # This is a list of one batch of rows, each row with 1 col dummy_result_set = self.make_dummy_result_set_from_batch_list(batch_list_1) self.assertEqualRowValues(dummy_result_set.fetchall(), [[1], [2], [3]]) # Fetch all, multiple batches batch_list_2 = [[[1], [2]], [[3]], [[4], [5], [6]]] dummy_result_set = self.make_dummy_result_set_from_batch_list(batch_list_2) - self.assertEqualRowValues( - dummy_result_set.fetchall(), [[1], [2], [3], [4], [5], [6]] - ) + self.assertEqualRowValues(dummy_result_set.fetchall(), [[1], [2], [3], [4], [5], [6]]) batch_list_3 = [[]] dummy_result_set = self.make_dummy_result_set_from_batch_list(batch_list_3) @@ -222,16 +179,12 @@ def test_fetchall_without_initial_results(self): def test_fetchmany_fetchall_with_initial_results(self): initial_results_1 = [[1], [2], [3]] - dummy_result_set = self.make_dummy_result_set_from_initial_results( - initial_results_1 - ) + dummy_result_set = self.make_dummy_result_set_from_initial_results(initial_results_1) self.assertEqualRowValues(dummy_result_set.fetchmany(2), [[1], [2]]) self.assertEqualRowValues(dummy_result_set.fetchall(), [[3]]) def test_fetchmany_fetchall_without_initial_results(self): - batch_list_1 = [ - [[1], [2], [3]] - ] # This is a list of one batch of rows, each row with 1 col + batch_list_1 = [[[1], [2], [3]]] # This is a list of one batch of rows, each row with 1 col dummy_result_set = self.make_dummy_result_set_from_batch_list(batch_list_1) self.assertEqualRowValues(dummy_result_set.fetchmany(2), [[1], [2]]) self.assertEqualRowValues(dummy_result_set.fetchall(), [[3]]) @@ -243,9 +196,7 @@ def test_fetchmany_fetchall_without_initial_results(self): def test_fetchone_with_initial_results(self): initial_results_1 = [[1], [2], [3]] - dummy_result_set = self.make_dummy_result_set_from_initial_results( - initial_results_1 - ) + dummy_result_set = self.make_dummy_result_set_from_initial_results(initial_results_1) self.assertSequenceEqual(dummy_result_set.fetchone(), [1]) self.assertSequenceEqual(dummy_result_set.fetchone(), [2]) self.assertSequenceEqual(dummy_result_set.fetchone(), [3]) @@ -264,5 +215,5 @@ def test_fetchone_without_initial_results(self): self.assertEqual(dummy_result_set.fetchone(), None) -if __name__ == "__main__": +if __name__ == '__main__': unittest.main() diff --git a/databricks_sql_connector_core/tests/unit/test_fetches_bench.py b/databricks_sql_connector_core/tests/unit/test_fetches_bench.py index d9cd781e..bba18247 100644 --- a/databricks_sql_connector_core/tests/unit/test_fetches_bench.py +++ b/databricks_sql_connector_core/tests/unit/test_fetches_bench.py @@ -7,18 +7,14 @@ import databricks.sql.client as client from databricks.sql.utils import ExecuteResponse, ArrowQueue - -from tests.e2e.predicate import pysql_supports_arrow +from tests.e2e.common.predicates import pysql_supports_arrow try: import pyarrow as pa except ImportError: pa = None - -@pytest.mark.skipif( - not pysql_supports_arrow(), reason="Skipping because pyarrow is not installed" -) +@pytest.mark.skipif(not pysql_supports_arrow(), reason="Skipping because pyarrow is not installed") class FetchBenchmarkTests(unittest.TestCase): """ Micro benchmark test for Arrow result handling. @@ -44,18 +40,12 @@ def make_dummy_result_set_from_initial_results(arrow_table): description=Mock(), command_handle=None, arrow_queue=arrow_queue, - arrow_schema=arrow_table.schema, - ), - ) - rs.description = [ - (f"col{col_id}", "string", None, None, None, None, None) - for col_id in range(arrow_table.num_columns) - ] + arrow_schema=arrow_table.schema)) + rs.description = [(f'col{col_id}', 'string', None, None, None, None, None) + for col_id in range(arrow_table.num_columns)] return rs - @pytest.mark.skip( - reason="Test has not been updated for latest connector API (June 2022)" - ) + @pytest.mark.skip(reason="Test has not been updated for latest connector API (June 2022)") def test_benchmark_fetchall(self): print("preparing dummy arrow table") arrow_table = FetchBenchmarkTests.make_arrow_table(10, 25000) @@ -65,9 +55,7 @@ def test_benchmark_fetchall(self): start_time = time.time() count = 0 while time.time() < start_time + benchmark_seconds: - dummy_result_set = self.make_dummy_result_set_from_initial_results( - arrow_table - ) + dummy_result_set = self.make_dummy_result_set_from_initial_results(arrow_table) res = dummy_result_set.fetchall() for _ in res: pass @@ -76,5 +64,5 @@ def test_benchmark_fetchall(self): print(f"Executed query {count} times, in {time.time() - start_time} seconds") -if __name__ == "__main__": +if __name__ == '__main__': unittest.main() diff --git a/databricks_sql_connector_core/tests/unit/test_init_file.py b/databricks_sql_connector_core/tests/unit/test_init_file.py index d988581c..75b15ac1 100644 --- a/databricks_sql_connector_core/tests/unit/test_init_file.py +++ b/databricks_sql_connector_core/tests/unit/test_init_file.py @@ -1,639 +1,19 @@ -import gc -import re -import sys -import unittest -from unittest.mock import patch, MagicMock, Mock, PropertyMock -import itertools -from decimal import Decimal -from datetime import datetime, date -from uuid import UUID +import hashlib -from databricks.sql.thrift_api.TCLIService.ttypes import ( - TOpenSessionResp, - TExecuteStatementResp, - TOperationHandle, - THandleIdentifier, - TOperationType -) -from databricks.sql.thrift_backend import ThriftBackend -import databricks.sql -import databricks.sql.client as client -from databricks.sql import InterfaceError, DatabaseError, Error, NotSupportedError -from databricks.sql.types import Row - -from tests.unit.test_fetches import FetchTests -from tests.unit.test_thrift_backend import ThriftBackendTestSuite -from tests.unit.test_arrow_queue import ArrowQueueSuite - -class ThriftBackendMockFactory: - - @classmethod - def new(cls): - ThriftBackendMock = Mock(spec=ThriftBackend) - ThriftBackendMock.return_value = ThriftBackendMock - - cls.apply_property_to_mock(ThriftBackendMock, staging_allowed_local_path=None) - MockTExecuteStatementResp = MagicMock(spec=TExecuteStatementResp()) - - cls.apply_property_to_mock( - MockTExecuteStatementResp, - description=None, - arrow_queue=None, - is_staging_operation=False, - command_handle=b"\x22", - has_been_closed_server_side=True, - has_more_rows=True, - lz4_compressed=True, - arrow_schema_bytes=b"schema", - ) - - ThriftBackendMock.execute_command.return_value = MockTExecuteStatementResp - - return ThriftBackendMock - - @classmethod - def apply_property_to_mock(self, mock_obj, **kwargs): - """ - Apply a property to a mock object. - """ - - for key, value in kwargs.items(): - if value is not None: - kwargs = {"return_value": value} - else: - kwargs = {} - - prop = PropertyMock(**kwargs) - setattr(type(mock_obj), key, prop) - - - - - - -class ClientTestSuite(unittest.TestCase): - """ - Unit tests for isolated client behaviour. +class TestInitFile: """ + Micro test to confirm the contents of `databricks/__init__.py` does not change. - PACKAGE_NAME = "databricks.sql" - DUMMY_CONNECTION_ARGS = { - "server_hostname": "foo", - "http_path": "dummy_path", - "access_token": "tok", - } - - @patch("%s.client.ThriftBackend" % PACKAGE_NAME) - def test_close_uses_the_correct_session_id(self, mock_client_class): - instance = mock_client_class.return_value - - mock_open_session_resp = MagicMock(spec=TOpenSessionResp)() - mock_open_session_resp.sessionHandle.sessionId = b'\x22' - instance.open_session.return_value = mock_open_session_resp - - connection = databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS) - connection.close() - - # Check the close session request has an id of x22 - close_session_id = instance.close_session.call_args[0][0].sessionId - self.assertEqual(close_session_id, b'\x22') - - @patch("%s.client.ThriftBackend" % PACKAGE_NAME) - def test_auth_args(self, mock_client_class): - # Test that the following auth args work: - # token = foo, - # token = None, _tls_client_cert_file = something, _use_cert_as_auth = True - connection_args = [ - { - "server_hostname": "foo", - "http_path": None, - "access_token": "tok", - }, - { - "server_hostname": "foo", - "http_path": None, - "_tls_client_cert_file": "something", - "_use_cert_as_auth": True, - "access_token": None, - }, - ] - - for args in connection_args: - connection = databricks.sql.connect(**args) - host, port, http_path, *_ = mock_client_class.call_args[0] - self.assertEqual(args["server_hostname"], host) - self.assertEqual(args["http_path"], http_path) - connection.close() - - @patch("%s.client.ThriftBackend" % PACKAGE_NAME) - def test_http_header_passthrough(self, mock_client_class): - http_headers = [("foo", "bar")] - databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS, http_headers=http_headers) - - call_args = mock_client_class.call_args[0][3] - self.assertIn(("foo", "bar"), call_args) - - @patch("%s.client.ThriftBackend" % PACKAGE_NAME) - def test_tls_arg_passthrough(self, mock_client_class): - databricks.sql.connect( - **self.DUMMY_CONNECTION_ARGS, - _tls_verify_hostname="hostname", - _tls_trusted_ca_file="trusted ca file", - _tls_client_cert_key_file="trusted client cert", - _tls_client_cert_key_password="key password", - ) - - kwargs = mock_client_class.call_args[1] - self.assertEqual(kwargs["_tls_verify_hostname"], "hostname") - self.assertEqual(kwargs["_tls_trusted_ca_file"], "trusted ca file") - self.assertEqual(kwargs["_tls_client_cert_key_file"], "trusted client cert") - self.assertEqual(kwargs["_tls_client_cert_key_password"], "key password") - - @patch("%s.client.ThriftBackend" % PACKAGE_NAME) - def test_useragent_header(self, mock_client_class): - databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS) - - http_headers = mock_client_class.call_args[0][3] - user_agent_header = ("User-Agent", "{}/{}".format(databricks.sql.USER_AGENT_NAME, - databricks.sql.__version__)) - self.assertIn(user_agent_header, http_headers) - - databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS, _user_agent_entry="foobar") - user_agent_header_with_entry = ("User-Agent", "{}/{} ({})".format( - databricks.sql.USER_AGENT_NAME, databricks.sql.__version__, "foobar")) - http_headers = mock_client_class.call_args[0][3] - self.assertIn(user_agent_header_with_entry, http_headers) - - @patch("%s.client.ThriftBackend" % PACKAGE_NAME, ThriftBackendMockFactory.new()) - @patch("%s.client.ResultSet" % PACKAGE_NAME) - def test_closing_connection_closes_commands(self, mock_result_set_class): - # Test once with has_been_closed_server side, once without - for closed in (True, False): - with self.subTest(closed=closed): - mock_result_set_class.return_value = Mock() - connection = databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS) - cursor = connection.cursor() - cursor.execute("SELECT 1;") - connection.close() - - self.assertTrue(mock_result_set_class.return_value.has_been_closed_server_side) - mock_result_set_class.return_value.close.assert_called_once_with() - - @patch("%s.client.ThriftBackend" % PACKAGE_NAME) - def test_cant_open_cursor_on_closed_connection(self, mock_client_class): - connection = databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS) - self.assertTrue(connection.open) - connection.close() - self.assertFalse(connection.open) - with self.assertRaises(Error) as cm: - connection.cursor() - self.assertIn("closed", str(cm.exception)) - - @patch("%s.client.ThriftBackend" % PACKAGE_NAME) - @patch("%s.client.Cursor" % PACKAGE_NAME) - def test_arraysize_buffer_size_passthrough(self, mock_cursor_class, mock_client_class): - connection = databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS) - connection.cursor(arraysize=999, buffer_size_bytes=1234) - kwargs = mock_cursor_class.call_args[1] - - self.assertEqual(kwargs["arraysize"], 999) - self.assertEqual(kwargs["result_buffer_size_bytes"], 1234) - - def test_closing_result_set_with_closed_connection_soft_closes_commands(self): - mock_connection = Mock() - mock_backend = Mock() - result_set = client.ResultSet( - connection=mock_connection, thrift_backend=mock_backend, execute_response=Mock()) - mock_connection.open = False - - result_set.close() - - self.assertFalse(mock_backend.close_command.called) - self.assertTrue(result_set.has_been_closed_server_side) - - def test_closing_result_set_hard_closes_commands(self): - mock_results_response = Mock() - mock_results_response.has_been_closed_server_side = False - mock_connection = Mock() - mock_thrift_backend = Mock() - mock_connection.open = True - result_set = client.ResultSet(mock_connection, mock_results_response, mock_thrift_backend) - - result_set.close() - - mock_thrift_backend.close_command.assert_called_once_with( - mock_results_response.command_handle) - - @patch("%s.client.ResultSet" % PACKAGE_NAME) - def test_executing_multiple_commands_uses_the_most_recent_command(self, mock_result_set_class): - - mock_result_sets = [Mock(), Mock()] - mock_result_set_class.side_effect = mock_result_sets - - cursor = client.Cursor(connection=Mock(), thrift_backend=ThriftBackendMockFactory.new()) - cursor.execute("SELECT 1;") - cursor.execute("SELECT 1;") - - mock_result_sets[0].close.assert_called_once_with() - mock_result_sets[1].close.assert_not_called() - - cursor.fetchall() - - mock_result_sets[0].fetchall.assert_not_called() - mock_result_sets[1].fetchall.assert_called_once_with() - - def test_closed_cursor_doesnt_allow_operations(self): - cursor = client.Cursor(Mock(), Mock()) - cursor.close() - - with self.assertRaises(Error) as e: - cursor.execute("SELECT 1;") - self.assertIn("closed", e.msg) - - with self.assertRaises(Error) as e: - cursor.fetchall() - self.assertIn("closed", e.msg) - - def test_negative_fetch_throws_exception(self): - result_set = client.ResultSet(Mock(), Mock(), Mock()) - - with self.assertRaises(ValueError) as e: - result_set.fetchmany(-1) - - def test_context_manager_closes_cursor(self): - mock_close = Mock() - with client.Cursor(Mock(), Mock()) as cursor: - cursor.close = mock_close - mock_close.assert_called_once_with() - - @patch("%s.client.ThriftBackend" % PACKAGE_NAME) - def test_context_manager_closes_connection(self, mock_client_class): - instance = mock_client_class.return_value - - mock_open_session_resp = MagicMock(spec=TOpenSessionResp)() - mock_open_session_resp.sessionHandle.sessionId = b'\x22' - instance.open_session.return_value = mock_open_session_resp - - with databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS) as connection: - pass - - # Check the close session request has an id of x22 - close_session_id = instance.close_session.call_args[0][0].sessionId - self.assertEqual(close_session_id, b'\x22') - - def dict_product(self, dicts): - """ - Generate cartesion product of values in input dictionary, outputting a dictionary - for each combination. - >>> list(dict_product(dict(number=[1,2], character='ab'))) - [{'character': 'a', 'number': 1}, - {'character': 'a', 'number': 2}, - {'character': 'b', 'number': 1}, - {'character': 'b', 'number': 2}] - """ - return (dict(zip(dicts.keys(), x)) for x in itertools.product(*dicts.values())) - - @patch("%s.client.ThriftBackend" % PACKAGE_NAME) - def test_get_schemas_parameters_passed_to_thrift_backend(self, mock_thrift_backend): - req_args_combinations = self.dict_product( - dict( - catalog_name=["NOT_SET", None, "catalog_pattern"], - schema_name=["NOT_SET", None, "schema_pattern"])) - - for req_args in req_args_combinations: - req_args = {k: v for k, v in req_args.items() if v != "NOT_SET"} - with self.subTest(req_args=req_args): - mock_thrift_backend = Mock() - - cursor = client.Cursor(Mock(), mock_thrift_backend) - cursor.schemas(**req_args) - - call_args = mock_thrift_backend.get_schemas.call_args[1] - for k, v in req_args.items(): - self.assertEqual(v, call_args[k]) - - @patch("%s.client.ThriftBackend" % PACKAGE_NAME) - def test_get_tables_parameters_passed_to_thrift_backend(self, mock_thrift_backend): - req_args_combinations = self.dict_product( - dict( - catalog_name=["NOT_SET", None, "catalog_pattern"], - schema_name=["NOT_SET", None, "schema_pattern"], - table_name=["NOT_SET", None, "table_pattern"], - table_types=["NOT_SET", [], ["type1", "type2"]])) - - for req_args in req_args_combinations: - req_args = {k: v for k, v in req_args.items() if v != "NOT_SET"} - with self.subTest(req_args=req_args): - mock_thrift_backend = Mock() - - cursor = client.Cursor(Mock(), mock_thrift_backend) - cursor.tables(**req_args) - - call_args = mock_thrift_backend.get_tables.call_args[1] - for k, v in req_args.items(): - self.assertEqual(v, call_args[k]) - - @patch("%s.client.ThriftBackend" % PACKAGE_NAME) - def test_get_columns_parameters_passed_to_thrift_backend(self, mock_thrift_backend): - req_args_combinations = self.dict_product( - dict( - catalog_name=["NOT_SET", None, "catalog_pattern"], - schema_name=["NOT_SET", None, "schema_pattern"], - table_name=["NOT_SET", None, "table_pattern"], - column_name=["NOT_SET", None, "column_pattern"])) - - for req_args in req_args_combinations: - req_args = {k: v for k, v in req_args.items() if v != "NOT_SET"} - with self.subTest(req_args=req_args): - mock_thrift_backend = Mock() - - cursor = client.Cursor(Mock(), mock_thrift_backend) - cursor.columns(**req_args) - - call_args = mock_thrift_backend.get_columns.call_args[1] - for k, v in req_args.items(): - self.assertEqual(v, call_args[k]) - - def test_cancel_command_calls_the_backend(self): - mock_thrift_backend = Mock() - cursor = client.Cursor(Mock(), mock_thrift_backend) - mock_op_handle = Mock() - cursor.active_op_handle = mock_op_handle - cursor.cancel() - mock_thrift_backend.cancel_command.assert_called_with(mock_op_handle) - - @patch("databricks.sql.client.logger") - def test_cancel_command_will_issue_warning_for_cancel_with_no_executing_command( - self, logger_instance): - mock_thrift_backend = Mock() - cursor = client.Cursor(Mock(), mock_thrift_backend) - cursor.cancel() - - self.assertTrue(logger_instance.warning.called) - self.assertFalse(mock_thrift_backend.cancel_command.called) - - @patch("%s.client.ThriftBackend" % PACKAGE_NAME) - def test_max_number_of_retries_passthrough(self, mock_client_class): - databricks.sql.connect(_retry_stop_after_attempts_count=54, **self.DUMMY_CONNECTION_ARGS) - - self.assertEqual(mock_client_class.call_args[1]["_retry_stop_after_attempts_count"], 54) - - @patch("%s.client.ThriftBackend" % PACKAGE_NAME) - def test_socket_timeout_passthrough(self, mock_client_class): - databricks.sql.connect(_socket_timeout=234, **self.DUMMY_CONNECTION_ARGS) - self.assertEqual(mock_client_class.call_args[1]["_socket_timeout"], 234) - - def test_version_is_canonical(self): - version = databricks.sql.__version__ - canonical_version_re = r'^([1-9][0-9]*!)?(0|[1-9][0-9]*)(\.(0|[1-9][0-9]*))*((a|b|rc)' \ - r'(0|[1-9][0-9]*))?(\.post(0|[1-9][0-9]*))?(\.dev(0|[1-9][0-9]*))?$' - self.assertIsNotNone(re.match(canonical_version_re, version)) - - @patch("%s.client.ThriftBackend" % PACKAGE_NAME) - def test_configuration_passthrough(self, mock_client_class): - mock_session_config = Mock() - databricks.sql.connect( - session_configuration=mock_session_config, **self.DUMMY_CONNECTION_ARGS) - - self.assertEqual(mock_client_class.return_value.open_session.call_args[0][0], - mock_session_config) - - @patch("%s.client.ThriftBackend" % PACKAGE_NAME) - def test_initial_namespace_passthrough(self, mock_client_class): - mock_cat = Mock() - mock_schem = Mock() - - databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS, catalog=mock_cat, schema=mock_schem) - self.assertEqual(mock_client_class.return_value.open_session.call_args[0][1], mock_cat) - self.assertEqual(mock_client_class.return_value.open_session.call_args[0][2], mock_schem) - - def test_execute_parameter_passthrough(self): - mock_thrift_backend = ThriftBackendMockFactory.new() - cursor = client.Cursor(Mock(), mock_thrift_backend) - - tests = [ - ("SELECT %(string_v)s", "SELECT 'foo_12345'", {"string_v": "foo_12345"}), - ("SELECT %(x)s", "SELECT NULL", {"x": None}), - ("SELECT %(int_value)d", "SELECT 48", {"int_value": 48}), - ("SELECT %(float_value).2f", "SELECT 48.20", {"float_value": 48.2}), - ("SELECT %(iter)s", "SELECT (1,2,3,4,5)", {"iter": [1, 2, 3, 4, 5]}), - ( - "SELECT %(datetime)s", - "SELECT '2022-02-01 10:23:00.000000'", - {"datetime": datetime(2022, 2, 1, 10, 23)}, - ), - ("SELECT %(date)s", "SELECT '2022-02-01'", {"date": date(2022, 2, 1)}), - ] - - for query, expected_query, params in tests: - cursor.execute(query, parameters=params) - self.assertEqual( - mock_thrift_backend.execute_command.call_args[1]["operation"], - expected_query, - ) - - @patch("%s.client.ThriftBackend" % PACKAGE_NAME) - @patch("%s.client.ResultSet" % PACKAGE_NAME) - def test_executemany_parameter_passhthrough_and_uses_last_result_set( - self, mock_result_set_class, mock_thrift_backend): - # Create a new mock result set each time the class is instantiated - mock_result_set_instances = [Mock(), Mock(), Mock()] - mock_result_set_class.side_effect = mock_result_set_instances - mock_thrift_backend = ThriftBackendMockFactory.new() - cursor = client.Cursor(Mock(), mock_thrift_backend()) - - params = [{"x": None}, {"x": "foo1"}, {"x": "bar2"}] - expected_queries = ["SELECT NULL", "SELECT 'foo1'", "SELECT 'bar2'"] - - cursor.executemany("SELECT %(x)s", seq_of_parameters=params) - - self.assertEqual( - len(mock_thrift_backend.execute_command.call_args_list), len(expected_queries), - "Expected execute_command to be called the same number of times as params were passed") - - for expected_query, call_args in zip(expected_queries, - mock_thrift_backend.execute_command.call_args_list): - self.assertEqual(call_args[1]["operation"], expected_query) - - self.assertEqual( - cursor.active_result_set, mock_result_set_instances[2], - "Expected the active result set to be the result set corresponding to the" - "last operation") - - @patch("%s.client.ThriftBackend" % PACKAGE_NAME) - def test_commit_a_noop(self, mock_thrift_backend_class): - c = databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS) - c.commit() - - def test_setinputsizes_a_noop(self): - cursor = client.Cursor(Mock(), Mock()) - cursor.setinputsizes(1) - - def test_setoutputsizes_a_noop(self): - cursor = client.Cursor(Mock(), Mock()) - cursor.setoutputsize(1) - - @patch("%s.client.ThriftBackend" % PACKAGE_NAME) - def test_rollback_not_supported(self, mock_thrift_backend_class): - c = databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS) - with self.assertRaises(NotSupportedError): - c.rollback() - - @unittest.skip("JDW: skipping winter 2024 as we're about to rewrite this interface") - @patch("%s.client.ThriftBackend" % PACKAGE_NAME) - def test_row_number_respected(self, mock_thrift_backend_class): - def make_fake_row_slice(n_rows): - mock_slice = Mock() - mock_slice.num_rows = n_rows - return mock_slice - - mock_thrift_backend = mock_thrift_backend_class.return_value - mock_aq = Mock() - mock_aq.next_n_rows.side_effect = make_fake_row_slice - mock_thrift_backend.execute_command.return_value.arrow_queue = mock_aq - mock_thrift_backend.fetch_results.return_value = (mock_aq, True) - - cursor = client.Cursor(Mock(), mock_thrift_backend) - cursor.execute('foo') - - self.assertEqual(cursor.rownumber, 0) - cursor.fetchmany_arrow(10) - self.assertEqual(cursor.rownumber, 10) - cursor.fetchmany_arrow(13) - self.assertEqual(cursor.rownumber, 23) - cursor.fetchmany_arrow(6) - self.assertEqual(cursor.rownumber, 29) - - @unittest.skip("JDW: skipping winter 2024 as we're about to rewrite this interface") - @patch("%s.client.ThriftBackend" % PACKAGE_NAME) - def test_disable_pandas_respected(self, mock_thrift_backend_class): - mock_thrift_backend = mock_thrift_backend_class.return_value - mock_table = Mock() - mock_table.num_rows = 10 - mock_table.itercolumns.return_value = [] - mock_table.rename_columns.return_value = mock_table - mock_aq = Mock() - mock_aq.remaining_rows.return_value = mock_table - mock_thrift_backend.execute_command.return_value.arrow_queue = mock_aq - mock_thrift_backend.execute_command.return_value.has_been_closed_server_side = True - mock_con = Mock() - mock_con.disable_pandas = True - - cursor = client.Cursor(mock_con, mock_thrift_backend) - cursor.execute('foo') - cursor.fetchall() - - mock_table.itercolumns.assert_called_once_with() - - def test_column_name_api(self): - ResultRow = Row("first_col", "second_col", "third_col") - data = [ - ResultRow("val1", 321, 52.32), - ResultRow("val2", 2321, 252.32), - ] - - expected_values = [["val1", 321, 52.32], ["val2", 2321, 252.32]] - - for (row, expected) in zip(data, expected_values): - self.assertEqual(row.first_col, expected[0]) - self.assertEqual(row.second_col, expected[1]) - self.assertEqual(row.third_col, expected[2]) - - self.assertEqual(row["first_col"], expected[0]) - self.assertEqual(row["second_col"], expected[1]) - self.assertEqual(row["third_col"], expected[2]) - - self.assertEqual(row[0], expected[0]) - self.assertEqual(row[1], expected[1]) - self.assertEqual(row[2], expected[2]) - - self.assertEqual(row.asDict(), { - "first_col": expected[0], - "second_col": expected[1], - "third_col": expected[2] - }) - - @patch("%s.client.ThriftBackend" % PACKAGE_NAME) - def test_finalizer_closes_abandoned_connection(self, mock_client_class): - instance = mock_client_class.return_value - - mock_open_session_resp = MagicMock(spec=TOpenSessionResp)() - mock_open_session_resp.sessionHandle.sessionId = b'\x22' - instance.open_session.return_value = mock_open_session_resp - - databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS) - - # not strictly necessary as the refcount is 0, but just to be sure - gc.collect() - - # Check the close session request has an id of x22 - close_session_id = instance.close_session.call_args[0][0].sessionId - self.assertEqual(close_session_id, b'\x22') - - @patch("%s.client.ThriftBackend" % PACKAGE_NAME) - def test_cursor_keeps_connection_alive(self, mock_client_class): - instance = mock_client_class.return_value - - mock_open_session_resp = MagicMock(spec=TOpenSessionResp)() - mock_open_session_resp.sessionHandle.sessionId = b'\x22' - instance.open_session.return_value = mock_open_session_resp - - connection = databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS) - cursor = connection.cursor() - del connection - - gc.collect() - - self.assertEqual(instance.close_session.call_count, 0) - cursor.close() - - @patch("%s.utils.ExecuteResponse" % PACKAGE_NAME, autospec=True) - @patch("%s.client.Cursor._handle_staging_operation" % PACKAGE_NAME) - @patch("%s.client.ThriftBackend" % PACKAGE_NAME) - def test_staging_operation_response_is_handled(self, mock_client_class, mock_handle_staging_operation, mock_execute_response): - # If server sets ExecuteResponse.is_staging_operation True then _handle_staging_operation should be called - - - ThriftBackendMockFactory.apply_property_to_mock(mock_execute_response, is_staging_operation=True) - mock_client_class.execute_command.return_value = mock_execute_response - mock_client_class.return_value = mock_client_class - - connection = databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS) - cursor = connection.cursor() - cursor.execute("Text of some staging operation command;") - connection.close() - - mock_handle_staging_operation.call_count == 1 - - @patch("%s.client.ThriftBackend" % PACKAGE_NAME, ThriftBackendMockFactory.new()) - def test_access_current_query_id(self): - operation_id = 'EE6A8778-21FC-438B-92D8-96AC51EE3821' - - connection = databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS) - cursor = connection.cursor() - - self.assertIsNone(cursor.query_id) - - cursor.active_op_handle = TOperationHandle( - operationId=THandleIdentifier(guid=UUID(operation_id).bytes, secret=0x00), - operationType=TOperationType.EXECUTE_STATEMENT) - self.assertEqual(cursor.query_id.upper(), operation_id.upper()) - - cursor.close() - self.assertIsNone(cursor.query_id) - + Also see https://github.com/databricks/databricks-sdk-py/issues/343#issuecomment-1866029118. + """ -if __name__ == '__main__': - suite = unittest.TestLoader().loadTestsFromModule(sys.modules[__name__]) - loader = unittest.TestLoader() - test_classes = [ClientTestSuite, FetchTests, ThriftBackendTestSuite, ArrowQueueSuite] - suites_list = [] - for test_class in test_classes: - suite = loader.loadTestsFromTestCase(test_class) - suites_list.append(suite) - suite = unittest.TestSuite(suites_list) - test_result = unittest.TextTestRunner().run(suite) + def test_init_file_contents(self): + with open("src/databricks/__init__.py") as f: + init_file_contents = f.read() - if len(test_result.errors) != 0 or len(test_result.failures) != 0: - sys.exit(1) + # This hash is the expected hash of the contents of `src/databricks/__init__.py`. + # It must not change, or else parallel package installation may lead to clobbered and invalid files. + expected_sha1 = "2772edbf52e517542acf8c039479c4b57b6ca2cd" + actual_sha1 = hashlib.sha1(init_file_contents.encode("utf-8")).hexdigest() + assert expected_sha1 == actual_sha1 diff --git a/databricks_sql_connector_core/tests/unit/test_oauth_persistence.py b/databricks_sql_connector_core/tests/unit/test_oauth_persistence.py index a8ceb14e..28b3cab3 100644 --- a/databricks_sql_connector_core/tests/unit/test_oauth_persistence.py +++ b/databricks_sql_connector_core/tests/unit/test_oauth_persistence.py @@ -1,17 +1,16 @@ + import unittest -from databricks.sql.experimental.oauth_persistence import ( - DevOnlyFilePersistence, - OAuthToken, -) +from databricks.sql.experimental.oauth_persistence import DevOnlyFilePersistence, OAuthToken import tempfile import os class OAuthPersistenceTests(unittest.TestCase): + def test_DevOnlyFilePersistence_read_my_write(self): with tempfile.TemporaryDirectory() as tempdir: - test_json_file_path = os.path.join(tempdir, "test.json") + test_json_file_path = os.path.join(tempdir, 'test.json') persistence_manager = DevOnlyFilePersistence(test_json_file_path) access_token = "abc#$%%^&^*&*()()_=-/" refresh_token = "#$%%^^&**()+)_gter243]xyz" @@ -24,7 +23,7 @@ def test_DevOnlyFilePersistence_read_my_write(self): def test_DevOnlyFilePersistence_file_does_not_exist(self): with tempfile.TemporaryDirectory() as tempdir: - test_json_file_path = os.path.join(tempdir, "test.json") + test_json_file_path = os.path.join(tempdir, 'test.json') persistence_manager = DevOnlyFilePersistence(test_json_file_path) new_token = persistence_manager.read("https://randomserver") diff --git a/databricks_sql_connector_core/tests/unit/test_param_escaper.py b/databricks_sql_connector_core/tests/unit/test_param_escaper.py index bc7b05e6..472a0843 100644 --- a/databricks_sql_connector_core/tests/unit/test_param_escaper.py +++ b/databricks_sql_connector_core/tests/unit/test_param_escaper.py @@ -1,16 +1,9 @@ from datetime import date, datetime import unittest, pytest, decimal from typing import Any, Dict -from databricks.sql.parameters.native import ( - dbsql_parameter_from_primitive, -) +from databricks.sql.parameters.native import dbsql_parameter_from_primitive -from databricks.sql.utils import ( - ParamEscaper, - inject_parameters, - transform_paramstyle, - ParameterStructure, -) +from databricks.sql.utils import ParamEscaper, inject_parameters, transform_paramstyle, ParameterStructure pe = ParamEscaper() @@ -207,31 +200,26 @@ class TestInlineToNativeTransformer(object): "query with like wildcard", 'select * from table where field like "%"', {}, - 'select * from table where field like "%"', + 'select * from table where field like "%"' ), ( "query with named param and like wildcard", 'select :param from table where field like "%"', {"param": None}, - 'select :param from table where field like "%"', + 'select :param from table where field like "%"' ), ( "query with doubled wildcards", - "select 1 where " ' like "%%"', + 'select 1 where '' like "%%"', {"param": None}, - "select 1 where " ' like "%%"', - ), + 'select 1 where '' like "%%"', + ) ), ) def test_transformer( self, label: str, query: str, params: Dict[str, Any], expected: str ): - _params = [ - dbsql_parameter_from_primitive(value=value, name=name) - for name, value in params.items() - ] - output = transform_paramstyle( - query, _params, param_structure=ParameterStructure.NAMED - ) + _params = [dbsql_parameter_from_primitive(value=value, name=name) for name, value in params.items()] + output = transform_paramstyle(query, _params, param_structure=ParameterStructure.NAMED) assert output == expected diff --git a/databricks_sql_connector_core/tests/unit/test_retry.py b/databricks_sql_connector_core/tests/unit/test_retry.py index f8deaa6d..798bac2e 100644 --- a/databricks_sql_connector_core/tests/unit/test_retry.py +++ b/databricks_sql_connector_core/tests/unit/test_retry.py @@ -4,13 +4,11 @@ import pytest from requests import Request from urllib3 import HTTPResponse -from databricks.sql.auth.retry import ( - DatabricksRetryPolicy, - RequestHistory, -) +from databricks.sql.auth.retry import DatabricksRetryPolicy, RequestHistory class TestRetry: + @pytest.fixture() def retry_policy(self) -> DatabricksRetryPolicy: return DatabricksRetryPolicy( @@ -43,9 +41,7 @@ def test_sleep__retry_after_is_binding(self, t_mock, retry_policy, error_history t_mock.assert_called_with(3) @patch("time.sleep") - def test_sleep__retry_after_present_but_not_binding( - self, t_mock, retry_policy, error_history - ): + def test_sleep__retry_after_present_but_not_binding(self, t_mock, retry_policy, error_history): retry_policy._retry_start_time = time.time() retry_policy.history = [error_history, error_history] retry_policy.sleep(HTTPResponse(status=503, headers={"Retry-After": "1"})) diff --git a/databricks_sql_connector_core/tests/unit/test_thrift_backend.py b/databricks_sql_connector_core/tests/unit/test_thrift_backend.py index 7c5eadb1..9b53a17e 100644 --- a/databricks_sql_connector_core/tests/unit/test_thrift_backend.py +++ b/databricks_sql_connector_core/tests/unit/test_thrift_backend.py @@ -12,14 +12,13 @@ from databricks.sql import * from databricks.sql.auth.authenticators import AuthProvider from databricks.sql.thrift_backend import ThriftBackend -from tests.e2e.predicate import pysql_supports_arrow +from tests.e2e.common.predicates import pysql_supports_arrow try: import pyarrow except ImportError: pyarrow = None - def retry_policy_factory(): return { # (type, default, min, max) "_retry_delay_min": (float, 1, None, None), @@ -29,10 +28,7 @@ def retry_policy_factory(): "_retry_delay_default": (float, 5, 1, 60), } - -@pytest.mark.skipif( - not pysql_supports_arrow(), reason="Skipping because pyarrow is not installed" -) +@pytest.mark.skipif(not pysql_supports_arrow(), reason="Skipping because pyarrow is not installed") class ThriftBackendTestSuite(unittest.TestCase): okay_status = ttypes.TStatus(statusCode=ttypes.TStatusCode.SUCCESS_STATUS) @@ -75,9 +71,7 @@ def test_make_request_checks_thrift_status_code(self): mock_method = Mock() mock_method.__name__ = "method name" mock_method.return_value = mock_response - thrift_backend = ThriftBackend( - "foobar", 443, "path", [], auth_provider=AuthProvider() - ) + thrift_backend = ThriftBackend("foobar", 443, "path", [], auth_provider=AuthProvider()) with self.assertRaises(DatabaseError): thrift_backend.make_request(mock_method, Mock()) @@ -87,9 +81,7 @@ def _make_type_desc(self, type): ) def _make_fake_thrift_backend(self): - thrift_backend = ThriftBackend( - "foobar", 443, "path", [], auth_provider=AuthProvider() - ) + thrift_backend = ThriftBackend("foobar", 443, "path", [], auth_provider=AuthProvider()) thrift_backend._hive_schema_to_arrow_schema = Mock() thrift_backend._hive_schema_to_description = Mock() thrift_backend._create_arrow_table = MagicMock() @@ -99,16 +91,13 @@ def _make_fake_thrift_backend(self): def test_hive_schema_to_arrow_schema_preserves_column_names(self): columns = [ ttypes.TColumnDesc( - columnName="column 1", - typeDesc=self._make_type_desc(ttypes.TTypeId.INT_TYPE), + columnName="column 1", typeDesc=self._make_type_desc(ttypes.TTypeId.INT_TYPE) ), ttypes.TColumnDesc( - columnName="column 2", - typeDesc=self._make_type_desc(ttypes.TTypeId.INT_TYPE), + columnName="column 2", typeDesc=self._make_type_desc(ttypes.TTypeId.INT_TYPE) ), ttypes.TColumnDesc( - columnName="column 2", - typeDesc=self._make_type_desc(ttypes.TTypeId.INT_TYPE), + columnName="column 2", typeDesc=self._make_type_desc(ttypes.TTypeId.INT_TYPE) ), ttypes.TColumnDesc( columnName="", typeDesc=self._make_type_desc(ttypes.TTypeId.INT_TYPE) @@ -123,10 +112,7 @@ def test_hive_schema_to_arrow_schema_preserves_column_names(self): self.assertEqual(arrow_schema.field(2).name, "column 2") self.assertEqual(arrow_schema.field(3).name, "") - @patch( - "databricks.sql.thrift_backend.TCLIService.Client", - autospec=True, - ) + @patch("databricks.sql.thrift_backend.TCLIService.Client", autospec=True) def test_bad_protocol_versions_are_rejected(self, tcli_service_client_cass): t_http_client_instance = tcli_service_client_cass.return_value bad_protocol_versions = [ @@ -152,14 +138,9 @@ def test_bad_protocol_versions_are_rejected(self, tcli_service_client_cass): thrift_backend = self._make_fake_thrift_backend() thrift_backend.open_session({}, None, None) - self.assertIn( - "expected server to use a protocol version", str(cm.exception) - ) + self.assertIn("expected server to use a protocol version", str(cm.exception)) - @patch( - "databricks.sql.thrift_backend.TCLIService.Client", - autospec=True, - ) + @patch("databricks.sql.thrift_backend.TCLIService.Client", autospec=True) def test_okay_protocol_versions_succeed(self, tcli_service_client_cass): t_http_client_instance = tcli_service_client_cass.return_value good_protocol_versions = [ @@ -178,18 +159,12 @@ def test_okay_protocol_versions_succeed(self, tcli_service_client_cass): @patch("databricks.sql.auth.thrift_http_client.THttpClient") def test_headers_are_set(self, t_http_client_class): - ThriftBackend( - "foo", 123, "bar", [("header", "value")], auth_provider=AuthProvider() - ) - t_http_client_class.return_value.setCustomHeaders.assert_called_with( - {"header": "value"} - ) + ThriftBackend("foo", 123, "bar", [("header", "value")], auth_provider=AuthProvider()) + t_http_client_class.return_value.setCustomHeaders.assert_called_with({"header": "value"}) def test_proxy_headers_are_set(self): - from databricks.sql.auth.thrift_http_client import ( - THttpClient, - ) + from databricks.sql.auth.thrift_http_client import THttpClient from urllib.parse import urlparse fake_proxy_spec = "https://someuser:somepassword@8.8.8.8:12340" @@ -201,13 +176,11 @@ def test_proxy_headers_are_set(self): assert False assert isinstance(result, type(dict())) - assert isinstance(result.get("proxy-authorization"), type(str())) + assert isinstance(result.get('proxy-authorization'), type(str())) @patch("databricks.sql.auth.thrift_http_client.THttpClient") @patch("databricks.sql.thrift_backend.create_default_context") - def test_tls_cert_args_are_propagated( - self, mock_create_default_context, t_http_client_class - ): + def test_tls_cert_args_are_propagated(self, mock_create_default_context, t_http_client_class): mock_cert_key_file = Mock() mock_cert_key_password = Mock() mock_trusted_ca_file = Mock() @@ -228,31 +201,21 @@ def test_tls_cert_args_are_propagated( mock_create_default_context.assert_called_once_with(cafile=mock_trusted_ca_file) mock_ssl_context = mock_create_default_context.return_value mock_ssl_context.load_cert_chain.assert_called_once_with( - certfile=mock_cert_file, - keyfile=mock_cert_key_file, - password=mock_cert_key_password, + certfile=mock_cert_file, keyfile=mock_cert_key_file, password=mock_cert_key_password ) self.assertTrue(mock_ssl_context.check_hostname) self.assertEqual(mock_ssl_context.verify_mode, CERT_REQUIRED) - self.assertEqual( - t_http_client_class.call_args[1]["ssl_context"], mock_ssl_context - ) + self.assertEqual(t_http_client_class.call_args[1]["ssl_context"], mock_ssl_context) @patch("databricks.sql.auth.thrift_http_client.THttpClient") @patch("databricks.sql.thrift_backend.create_default_context") - def test_tls_no_verify_is_respected( - self, mock_create_default_context, t_http_client_class - ): - ThriftBackend( - "foo", 123, "bar", [], auth_provider=AuthProvider(), _tls_no_verify=True - ) + def test_tls_no_verify_is_respected(self, mock_create_default_context, t_http_client_class): + ThriftBackend("foo", 123, "bar", [], auth_provider=AuthProvider(), _tls_no_verify=True) mock_ssl_context = mock_create_default_context.return_value self.assertFalse(mock_ssl_context.check_hostname) self.assertEqual(mock_ssl_context.verify_mode, CERT_NONE) - self.assertEqual( - t_http_client_class.call_args[1]["ssl_context"], mock_ssl_context - ) + self.assertEqual(t_http_client_class.call_args[1]["ssl_context"], mock_ssl_context) @patch("databricks.sql.auth.thrift_http_client.THttpClient") @patch("databricks.sql.thrift_backend.create_default_context") @@ -260,100 +223,62 @@ def test_tls_verify_hostname_is_respected( self, mock_create_default_context, t_http_client_class ): ThriftBackend( - "foo", - 123, - "bar", - [], - auth_provider=AuthProvider(), - _tls_verify_hostname=False, + "foo", 123, "bar", [], auth_provider=AuthProvider(), _tls_verify_hostname=False ) mock_ssl_context = mock_create_default_context.return_value self.assertFalse(mock_ssl_context.check_hostname) self.assertEqual(mock_ssl_context.verify_mode, CERT_REQUIRED) - self.assertEqual( - t_http_client_class.call_args[1]["ssl_context"], mock_ssl_context - ) + self.assertEqual(t_http_client_class.call_args[1]["ssl_context"], mock_ssl_context) @patch("databricks.sql.auth.thrift_http_client.THttpClient") def test_port_and_host_are_respected(self, t_http_client_class): ThriftBackend("hostname", 123, "path_value", [], auth_provider=AuthProvider()) self.assertEqual( - t_http_client_class.call_args[1]["uri_or_host"], - "https://hostname:123/path_value", + t_http_client_class.call_args[1]["uri_or_host"], "https://hostname:123/path_value" ) @patch("databricks.sql.auth.thrift_http_client.THttpClient") def test_host_with_https_does_not_duplicate(self, t_http_client_class): - ThriftBackend( - "https://hostname", 123, "path_value", [], auth_provider=AuthProvider() - ) + ThriftBackend("https://hostname", 123, "path_value", [], auth_provider=AuthProvider()) self.assertEqual( - t_http_client_class.call_args[1]["uri_or_host"], - "https://hostname:123/path_value", + t_http_client_class.call_args[1]["uri_or_host"], "https://hostname:123/path_value" ) @patch("databricks.sql.auth.thrift_http_client.THttpClient") def test_host_with_trailing_backslash_does_not_duplicate(self, t_http_client_class): - ThriftBackend( - "https://hostname/", 123, "path_value", [], auth_provider=AuthProvider() - ) + ThriftBackend("https://hostname/", 123, "path_value", [], auth_provider=AuthProvider()) self.assertEqual( - t_http_client_class.call_args[1]["uri_or_host"], - "https://hostname:123/path_value", + t_http_client_class.call_args[1]["uri_or_host"], "https://hostname:123/path_value" ) @patch("databricks.sql.auth.thrift_http_client.THttpClient") def test_socket_timeout_is_propagated(self, t_http_client_class): ThriftBackend( - "hostname", - 123, - "path_value", - [], - auth_provider=AuthProvider(), - _socket_timeout=129, - ) - self.assertEqual( - t_http_client_class.return_value.setTimeout.call_args[0][0], 129 * 1000 + "hostname", 123, "path_value", [], auth_provider=AuthProvider(), _socket_timeout=129 ) + self.assertEqual(t_http_client_class.return_value.setTimeout.call_args[0][0], 129 * 1000) ThriftBackend( - "hostname", - 123, - "path_value", - [], - auth_provider=AuthProvider(), - _socket_timeout=0, + "hostname", 123, "path_value", [], auth_provider=AuthProvider(), _socket_timeout=0 ) self.assertEqual(t_http_client_class.return_value.setTimeout.call_args[0][0], 0) ThriftBackend("hostname", 123, "path_value", [], auth_provider=AuthProvider()) - self.assertEqual( - t_http_client_class.return_value.setTimeout.call_args[0][0], 900 * 1000 - ) + self.assertEqual(t_http_client_class.return_value.setTimeout.call_args[0][0], 900 * 1000) ThriftBackend( - "hostname", - 123, - "path_value", - [], - auth_provider=AuthProvider(), - _socket_timeout=None, - ) - self.assertEqual( - t_http_client_class.return_value.setTimeout.call_args[0][0], None + "hostname", 123, "path_value", [], auth_provider=AuthProvider(), _socket_timeout=None ) + self.assertEqual(t_http_client_class.return_value.setTimeout.call_args[0][0], None) def test_non_primitive_types_raise_error(self): columns = [ ttypes.TColumnDesc( - columnName="column 1", - typeDesc=self._make_type_desc(ttypes.TTypeId.INT_TYPE), + columnName="column 1", typeDesc=self._make_type_desc(ttypes.TTypeId.INT_TYPE) ), ttypes.TColumnDesc( columnName="column 2", typeDesc=ttypes.TTypeDesc( types=[ - ttypes.TTypeEntry( - userDefinedTypeEntry=ttypes.TUserDefinedTypeEntry("foo") - ) + ttypes.TTypeEntry(userDefinedTypeEntry=ttypes.TUserDefinedTypeEntry("foo")) ] ), ), @@ -370,16 +295,13 @@ def test_hive_schema_to_description_preserves_column_names_and_types(self): # canary test columns = [ ttypes.TColumnDesc( - columnName="column 1", - typeDesc=self._make_type_desc(ttypes.TTypeId.INT_TYPE), + columnName="column 1", typeDesc=self._make_type_desc(ttypes.TTypeId.INT_TYPE) ), ttypes.TColumnDesc( - columnName="column 2", - typeDesc=self._make_type_desc(ttypes.TTypeId.BOOLEAN_TYPE), + columnName="column 2", typeDesc=self._make_type_desc(ttypes.TTypeId.BOOLEAN_TYPE) ), ttypes.TColumnDesc( - columnName="column 2", - typeDesc=self._make_type_desc(ttypes.TTypeId.MAP_TYPE), + columnName="column 2", typeDesc=self._make_type_desc(ttypes.TTypeId.MAP_TYPE) ), ttypes.TColumnDesc( columnName="", typeDesc=self._make_type_desc(ttypes.TTypeId.STRUCT_TYPE) @@ -410,12 +332,8 @@ def test_hive_schema_to_description_preserves_scale_and_precision(self): type=ttypes.TTypeId.DECIMAL_TYPE, typeQualifiers=ttypes.TTypeQualifiers( qualifiers={ - "precision": ttypes.TTypeQualifierValue( - i32Value=10 - ), - "scale": ttypes.TTypeQualifierValue( - i32Value=100 - ), + "precision": ttypes.TTypeQualifierValue(i32Value=10), + "scale": ttypes.TTypeQualifierValue(i32Value=100), } ), ) @@ -435,13 +353,8 @@ def test_hive_schema_to_description_preserves_scale_and_precision(self): ) def test_make_request_checks_status_code(self): - error_codes = [ - ttypes.TStatusCode.ERROR_STATUS, - ttypes.TStatusCode.INVALID_HANDLE_STATUS, - ] - thrift_backend = ThriftBackend( - "foobar", 443, "path", [], auth_provider=AuthProvider() - ) + error_codes = [ttypes.TStatusCode.ERROR_STATUS, ttypes.TStatusCode.INVALID_HANDLE_STATUS] + thrift_backend = ThriftBackend("foobar", 443, "path", [], auth_provider=AuthProvider()) for code in error_codes: mock_error_response = Mock() @@ -486,13 +399,8 @@ def test_handle_execute_response_checks_operation_state_in_direct_results(self): thrift_backend._handle_execute_response(t_execute_resp, Mock()) self.assertIn("some information about the error", str(cm.exception)) - @patch( - "databricks.sql.utils.ResultSetQueueFactory.build_queue", - return_value=Mock(), - ) - def test_handle_execute_response_sets_compression_in_direct_results( - self, build_queue - ): + @patch("databricks.sql.utils.ResultSetQueueFactory.build_queue", return_value=Mock()) + def test_handle_execute_response_sets_compression_in_direct_results(self, build_queue): for resp_type in self.execute_response_types: lz4Compressed = Mock() resultSet = MagicMock() @@ -513,22 +421,13 @@ def test_handle_execute_response_sets_compression_in_direct_results( closeOperation=None, ), ) - thrift_backend = ThriftBackend( - "foobar", 443, "path", [], auth_provider=AuthProvider() - ) + thrift_backend = ThriftBackend("foobar", 443, "path", [], auth_provider=AuthProvider()) - execute_response = thrift_backend._handle_execute_response( - t_execute_resp, Mock() - ) + execute_response = thrift_backend._handle_execute_response(t_execute_resp, Mock()) self.assertEqual(execute_response.lz4_compressed, lz4Compressed) - @patch( - "databricks.sql.thrift_backend.TCLIService.Client", - autospec=True, - ) - def test_handle_execute_response_checks_operation_state_in_polls( - self, tcli_service_class - ): + @patch("databricks.sql.thrift_backend.TCLIService.Client", autospec=True) + def test_handle_execute_response_checks_operation_state_in_polls(self, tcli_service_class): tcli_service_instance = tcli_service_class.return_value error_resp = ttypes.TGetOperationStatusResp( @@ -544,9 +443,7 @@ def test_handle_execute_response_checks_operation_state_in_polls( for op_state_resp, exec_resp_type in itertools.product( [error_resp, closed_resp], self.execute_response_types ): - with self.subTest( - op_state_resp=op_state_resp, exec_resp_type=exec_resp_type - ): + with self.subTest(op_state_resp=op_state_resp, exec_resp_type=exec_resp_type): tcli_service_instance = tcli_service_class.return_value t_execute_resp = exec_resp_type( status=self.okay_status, @@ -564,10 +461,7 @@ def test_handle_execute_response_checks_operation_state_in_polls( if op_state_resp.errorMessage: self.assertIn(op_state_resp.errorMessage, str(cm.exception)) - @patch( - "databricks.sql.thrift_backend.TCLIService.Client", - autospec=True, - ) + @patch("databricks.sql.thrift_backend.TCLIService.Client", autospec=True) def test_get_status_uses_display_message_if_available(self, tcli_service_class): tcli_service_instance = tcli_service_class.return_value @@ -582,28 +476,19 @@ def test_get_status_uses_display_message_if_available(self, tcli_service_class): ) t_execute_resp = ttypes.TExecuteStatementResp( - status=self.okay_status, - directResults=None, - operationHandle=self.operation_handle, - ) - tcli_service_instance.GetOperationStatus.return_value = ( - t_get_operation_status_resp + status=self.okay_status, directResults=None, operationHandle=self.operation_handle ) + tcli_service_instance.GetOperationStatus.return_value = t_get_operation_status_resp tcli_service_instance.ExecuteStatement.return_value = t_execute_resp - thrift_backend = ThriftBackend( - "foobar", 443, "path", [], auth_provider=AuthProvider() - ) + thrift_backend = ThriftBackend("foobar", 443, "path", [], auth_provider=AuthProvider()) with self.assertRaises(DatabaseError) as cm: thrift_backend.execute_command(Mock(), Mock(), 100, 100, Mock(), Mock()) self.assertEqual(display_message, str(cm.exception)) self.assertIn(diagnostic_info, str(cm.exception.message_with_context())) - @patch( - "databricks.sql.thrift_backend.TCLIService.Client", - autospec=True, - ) + @patch("databricks.sql.thrift_backend.TCLIService.Client", autospec=True) def test_direct_results_uses_display_message_if_available(self, tcli_service_class): tcli_service_instance = tcli_service_class.return_value @@ -629,9 +514,7 @@ def test_direct_results_uses_display_message_if_available(self, tcli_service_cla tcli_service_instance.ExecuteStatement.return_value = t_execute_resp - thrift_backend = ThriftBackend( - "foobar", 443, "path", [], auth_provider=AuthProvider() - ) + thrift_backend = ThriftBackend("foobar", 443, "path", [], auth_provider=AuthProvider()) with self.assertRaises(DatabaseError) as cm: thrift_backend.execute_command(Mock(), Mock(), 100, 100, Mock(), Mock()) @@ -643,9 +526,7 @@ def test_handle_execute_response_checks_direct_results_for_error_statuses(self): resp_1 = resp_type( status=self.okay_status, directResults=ttypes.TSparkDirectResults( - operationStatus=ttypes.TGetOperationStatusResp( - status=self.bad_status - ), + operationStatus=ttypes.TGetOperationStatusResp(status=self.bad_status), resultSetMetadata=None, resultSet=None, closeOperation=None, @@ -656,9 +537,7 @@ def test_handle_execute_response_checks_direct_results_for_error_statuses(self): status=self.okay_status, directResults=ttypes.TSparkDirectResults( operationStatus=None, - resultSetMetadata=ttypes.TGetResultSetMetadataResp( - status=self.bad_status - ), + resultSetMetadata=ttypes.TGetResultSetMetadataResp(status=self.bad_status), resultSet=None, closeOperation=None, ), @@ -694,13 +573,8 @@ def test_handle_execute_response_checks_direct_results_for_error_statuses(self): thrift_backend._handle_execute_response(error_resp, Mock()) self.assertIn("this is a bad error", str(cm.exception)) - @patch( - "databricks.sql.thrift_backend.TCLIService.Client", - autospec=True, - ) - def test_handle_execute_response_can_handle_without_direct_results( - self, tcli_service_class - ): + @patch("databricks.sql.thrift_backend.TCLIService.Client", autospec=True) + def test_handle_execute_response_can_handle_without_direct_results(self, tcli_service_class): tcli_service_instance = tcli_service_class.return_value for resp_type in self.execute_response_types: @@ -723,13 +597,10 @@ def test_handle_execute_response_can_handle_without_direct_results( ) op_state_3 = ttypes.TGetOperationStatusResp( - status=self.okay_status, - operationState=ttypes.TOperationState.FINISHED_STATE, + status=self.okay_status, operationState=ttypes.TOperationState.FINISHED_STATE ) - tcli_service_instance.GetResultSetMetadata.return_value = ( - self.metadata_resp - ) + tcli_service_instance.GetResultSetMetadata.return_value = self.metadata_resp tcli_service_instance.GetOperationStatus.side_effect = [ op_state_1, op_state_2, @@ -742,8 +613,7 @@ def test_handle_execute_response_can_handle_without_direct_results( execute_resp, Mock() ) self.assertEqual( - results_message_response.status, - ttypes.TOperationState.FINISHED_STATE, + results_message_response.status, ttypes.TOperationState.FINISHED_STATE ) def test_handle_execute_response_can_handle_with_direct_results(self): @@ -779,10 +649,7 @@ def test_handle_execute_response_can_handle_with_direct_results(self): ttypes.TOperationState.FINISHED_STATE, ) - @patch( - "databricks.sql.thrift_backend.TCLIService.Client", - autospec=True, - ) + @patch("databricks.sql.thrift_backend.TCLIService.Client", autospec=True) def test_use_arrow_schema_if_available(self, tcli_service_class): tcli_service_instance = tcli_service_class.return_value arrow_schema_mock = MagicMock(name="Arrow schema mock") @@ -801,20 +668,13 @@ def test_use_arrow_schema_if_available(self, tcli_service_class): operationHandle=self.operation_handle, ) - tcli_service_instance.GetResultSetMetadata.return_value = ( - t_get_result_set_metadata_resp - ) + tcli_service_instance.GetResultSetMetadata.return_value = t_get_result_set_metadata_resp thrift_backend = self._make_fake_thrift_backend() - execute_response = thrift_backend._handle_execute_response( - t_execute_resp, Mock() - ) + execute_response = thrift_backend._handle_execute_response(t_execute_resp, Mock()) self.assertEqual(execute_response.arrow_schema_bytes, arrow_schema_mock) - @patch( - "databricks.sql.thrift_backend.TCLIService.Client", - autospec=True, - ) + @patch("databricks.sql.thrift_backend.TCLIService.Client", autospec=True) def test_fall_back_to_hive_schema_if_no_arrow_schema(self, tcli_service_class): tcli_service_instance = tcli_service_class.return_value hive_schema_mock = MagicMock(name="Hive schema mock") @@ -837,18 +697,11 @@ def test_fall_back_to_hive_schema_if_no_arrow_schema(self, tcli_service_class): thrift_backend._handle_execute_response(t_execute_resp, Mock()) self.assertEqual( - hive_schema_mock, - thrift_backend._hive_schema_to_arrow_schema.call_args[0][0], + hive_schema_mock, thrift_backend._hive_schema_to_arrow_schema.call_args[0][0] ) - @patch( - "databricks.sql.utils.ResultSetQueueFactory.build_queue", - return_value=Mock(), - ) - @patch( - "databricks.sql.thrift_backend.TCLIService.Client", - autospec=True, - ) + @patch("databricks.sql.utils.ResultSetQueueFactory.build_queue", return_value=Mock()) + @patch("databricks.sql.thrift_backend.TCLIService.Client", autospec=True) def test_handle_execute_response_reads_has_more_rows_in_direct_results( self, tcli_service_class, build_queue ): @@ -878,25 +731,15 @@ def test_handle_execute_response_reads_has_more_rows_in_direct_results( operationHandle=self.operation_handle, ) - tcli_service_instance.GetResultSetMetadata.return_value = ( - self.metadata_resp - ) + tcli_service_instance.GetResultSetMetadata.return_value = self.metadata_resp thrift_backend = self._make_fake_thrift_backend() - execute_response = thrift_backend._handle_execute_response( - execute_resp, Mock() - ) + execute_response = thrift_backend._handle_execute_response(execute_resp, Mock()) self.assertEqual(has_more_rows, execute_response.has_more_rows) - @patch( - "databricks.sql.utils.ResultSetQueueFactory.build_queue", - return_value=Mock(), - ) - @patch( - "databricks.sql.thrift_backend.TCLIService.Client", - autospec=True, - ) + @patch("databricks.sql.utils.ResultSetQueueFactory.build_queue", return_value=Mock()) + @patch("databricks.sql.thrift_backend.TCLIService.Client", autospec=True) def test_handle_execute_response_reads_has_more_rows_in_result_response( self, tcli_service_class, build_queue ): @@ -930,12 +773,8 @@ def test_handle_execute_response_reads_has_more_rows_in_result_response( ) tcli_service_instance.FetchResults.return_value = fetch_results_resp - tcli_service_instance.GetOperationStatus.return_value = ( - operation_status_resp - ) - tcli_service_instance.GetResultSetMetadata.return_value = ( - self.metadata_resp - ) + tcli_service_instance.GetOperationStatus.return_value = operation_status_resp + tcli_service_instance.GetResultSetMetadata.return_value = self.metadata_resp thrift_backend = self._make_fake_thrift_backend() thrift_backend._handle_execute_response(execute_resp, Mock()) @@ -951,10 +790,7 @@ def test_handle_execute_response_reads_has_more_rows_in_result_response( self.assertEqual(has_more_rows, has_more_rows_resp) - @patch( - "databricks.sql.thrift_backend.TCLIService.Client", - autospec=True, - ) + @patch("databricks.sql.thrift_backend.TCLIService.Client", autospec=True) def test_arrow_batches_row_count_are_respected(self, tcli_service_class): # make some semi-real arrow batches and check the number of rows is correct in the queue tcli_service_instance = tcli_service_class.return_value @@ -965,8 +801,7 @@ def test_arrow_batches_row_count_are_respected(self, tcli_service_class): startRowOffset=0, rows=[], arrowBatches=[ - ttypes.TSparkArrowBatch(batch=bytearray(), rowCount=15) - for _ in range(10) + ttypes.TSparkArrowBatch(batch=bytearray(), rowCount=15) for _ in range(10) ], ), resultSetMetadata=ttypes.TGetResultSetMetadataResp( @@ -987,9 +822,7 @@ def test_arrow_batches_row_count_are_respected(self, tcli_service_class): .to_pybytes() ) - thrift_backend = ThriftBackend( - "foobar", 443, "path", [], auth_provider=AuthProvider() - ) + thrift_backend = ThriftBackend("foobar", 443, "path", [], auth_provider=AuthProvider()) arrow_queue, has_more_results = thrift_backend.fetch_results( op_handle=Mock(), max_rows=1, @@ -1002,19 +835,12 @@ def test_arrow_batches_row_count_are_respected(self, tcli_service_class): self.assertEqual(arrow_queue.n_valid_rows, 15 * 10) - @patch( - "databricks.sql.thrift_backend.TCLIService.Client", - autospec=True, - ) - def test_execute_statement_calls_client_and_handle_execute_response( - self, tcli_service_class - ): + @patch("databricks.sql.thrift_backend.TCLIService.Client", autospec=True) + def test_execute_statement_calls_client_and_handle_execute_response(self, tcli_service_class): tcli_service_instance = tcli_service_class.return_value response = Mock() tcli_service_instance.ExecuteStatement.return_value = response - thrift_backend = ThriftBackend( - "foobar", 443, "path", [], auth_provider=AuthProvider() - ) + thrift_backend = ThriftBackend("foobar", 443, "path", [], auth_provider=AuthProvider()) thrift_backend._handle_execute_response = Mock() cursor_mock = Mock() @@ -1025,23 +851,14 @@ def test_execute_statement_calls_client_and_handle_execute_response( self.assertEqual(req.getDirectResults, get_direct_results) self.assertEqual(req.statement, "foo") # Check response handling - thrift_backend._handle_execute_response.assert_called_with( - response, cursor_mock - ) + thrift_backend._handle_execute_response.assert_called_with(response, cursor_mock) - @patch( - "databricks.sql.thrift_backend.TCLIService.Client", - autospec=True, - ) - def test_get_catalogs_calls_client_and_handle_execute_response( - self, tcli_service_class - ): + @patch("databricks.sql.thrift_backend.TCLIService.Client", autospec=True) + def test_get_catalogs_calls_client_and_handle_execute_response(self, tcli_service_class): tcli_service_instance = tcli_service_class.return_value response = Mock() tcli_service_instance.GetCatalogs.return_value = response - thrift_backend = ThriftBackend( - "foobar", 443, "path", [], auth_provider=AuthProvider() - ) + thrift_backend = ThriftBackend("foobar", 443, "path", [], auth_provider=AuthProvider()) thrift_backend._handle_execute_response = Mock() cursor_mock = Mock() @@ -1051,23 +868,14 @@ def test_get_catalogs_calls_client_and_handle_execute_response( get_direct_results = ttypes.TSparkGetDirectResults(maxRows=100, maxBytes=200) self.assertEqual(req.getDirectResults, get_direct_results) # Check response handling - thrift_backend._handle_execute_response.assert_called_with( - response, cursor_mock - ) + thrift_backend._handle_execute_response.assert_called_with(response, cursor_mock) - @patch( - "databricks.sql.thrift_backend.TCLIService.Client", - autospec=True, - ) - def test_get_schemas_calls_client_and_handle_execute_response( - self, tcli_service_class - ): + @patch("databricks.sql.thrift_backend.TCLIService.Client", autospec=True) + def test_get_schemas_calls_client_and_handle_execute_response(self, tcli_service_class): tcli_service_instance = tcli_service_class.return_value response = Mock() tcli_service_instance.GetSchemas.return_value = response - thrift_backend = ThriftBackend( - "foobar", 443, "path", [], auth_provider=AuthProvider() - ) + thrift_backend = ThriftBackend("foobar", 443, "path", [], auth_provider=AuthProvider()) thrift_backend._handle_execute_response = Mock() cursor_mock = Mock() @@ -1086,23 +894,14 @@ def test_get_schemas_calls_client_and_handle_execute_response( self.assertEqual(req.catalogName, "catalog_pattern") self.assertEqual(req.schemaName, "schema_pattern") # Check response handling - thrift_backend._handle_execute_response.assert_called_with( - response, cursor_mock - ) + thrift_backend._handle_execute_response.assert_called_with(response, cursor_mock) - @patch( - "databricks.sql.thrift_backend.TCLIService.Client", - autospec=True, - ) - def test_get_tables_calls_client_and_handle_execute_response( - self, tcli_service_class - ): + @patch("databricks.sql.thrift_backend.TCLIService.Client", autospec=True) + def test_get_tables_calls_client_and_handle_execute_response(self, tcli_service_class): tcli_service_instance = tcli_service_class.return_value response = Mock() tcli_service_instance.GetTables.return_value = response - thrift_backend = ThriftBackend( - "foobar", 443, "path", [], auth_provider=AuthProvider() - ) + thrift_backend = ThriftBackend("foobar", 443, "path", [], auth_provider=AuthProvider()) thrift_backend._handle_execute_response = Mock() cursor_mock = Mock() @@ -1125,23 +924,14 @@ def test_get_tables_calls_client_and_handle_execute_response( self.assertEqual(req.tableName, "table_pattern") self.assertEqual(req.tableTypes, ["type1", "type2"]) # Check response handling - thrift_backend._handle_execute_response.assert_called_with( - response, cursor_mock - ) + thrift_backend._handle_execute_response.assert_called_with(response, cursor_mock) - @patch( - "databricks.sql.thrift_backend.TCLIService.Client", - autospec=True, - ) - def test_get_columns_calls_client_and_handle_execute_response( - self, tcli_service_class - ): + @patch("databricks.sql.thrift_backend.TCLIService.Client", autospec=True) + def test_get_columns_calls_client_and_handle_execute_response(self, tcli_service_class): tcli_service_instance = tcli_service_class.return_value response = Mock() tcli_service_instance.GetColumns.return_value = response - thrift_backend = ThriftBackend( - "foobar", 443, "path", [], auth_provider=AuthProvider() - ) + thrift_backend = ThriftBackend("foobar", 443, "path", [], auth_provider=AuthProvider()) thrift_backend._handle_execute_response = Mock() cursor_mock = Mock() @@ -1164,69 +954,44 @@ def test_get_columns_calls_client_and_handle_execute_response( self.assertEqual(req.tableName, "table_pattern") self.assertEqual(req.columnName, "column_pattern") # Check response handling - thrift_backend._handle_execute_response.assert_called_with( - response, cursor_mock - ) + thrift_backend._handle_execute_response.assert_called_with(response, cursor_mock) - @patch( - "databricks.sql.thrift_backend.TCLIService.Client", - autospec=True, - ) + @patch("databricks.sql.thrift_backend.TCLIService.Client", autospec=True) def test_open_session_user_provided_session_id_optional(self, tcli_service_class): tcli_service_instance = tcli_service_class.return_value tcli_service_instance.OpenSession.return_value = self.open_session_resp - thrift_backend = ThriftBackend( - "foobar", 443, "path", [], auth_provider=AuthProvider() - ) + thrift_backend = ThriftBackend("foobar", 443, "path", [], auth_provider=AuthProvider()) thrift_backend.open_session({}, None, None) self.assertEqual(len(tcli_service_instance.OpenSession.call_args_list), 1) - @patch( - "databricks.sql.thrift_backend.TCLIService.Client", - autospec=True, - ) + @patch("databricks.sql.thrift_backend.TCLIService.Client", autospec=True) def test_op_handle_respected_in_close_command(self, tcli_service_class): tcli_service_instance = tcli_service_class.return_value - thrift_backend = ThriftBackend( - "foobar", 443, "path", [], auth_provider=AuthProvider() - ) + thrift_backend = ThriftBackend("foobar", 443, "path", [], auth_provider=AuthProvider()) thrift_backend.close_command(self.operation_handle) self.assertEqual( tcli_service_instance.CloseOperation.call_args[0][0].operationHandle, self.operation_handle, ) - @patch( - "databricks.sql.thrift_backend.TCLIService.Client", - autospec=True, - ) + @patch("databricks.sql.thrift_backend.TCLIService.Client", autospec=True) def test_session_handle_respected_in_close_session(self, tcli_service_class): tcli_service_instance = tcli_service_class.return_value - thrift_backend = ThriftBackend( - "foobar", 443, "path", [], auth_provider=AuthProvider() - ) + thrift_backend = ThriftBackend("foobar", 443, "path", [], auth_provider=AuthProvider()) thrift_backend.close_session(self.session_handle) self.assertEqual( - tcli_service_instance.CloseSession.call_args[0][0].sessionHandle, - self.session_handle, + tcli_service_instance.CloseSession.call_args[0][0].sessionHandle, self.session_handle ) - @patch( - "databricks.sql.thrift_backend.TCLIService.Client", - autospec=True, - ) - def test_non_arrow_non_column_based_set_triggers_exception( - self, tcli_service_class - ): + @patch("databricks.sql.thrift_backend.TCLIService.Client", autospec=True) + def test_non_arrow_non_column_based_set_triggers_exception(self, tcli_service_class): tcli_service_instance = tcli_service_class.return_value results_mock = Mock() results_mock.startRowOffset = 0 execute_statement_resp = ttypes.TExecuteStatementResp( - status=self.okay_status, - directResults=None, - operationHandle=self.operation_handle, + status=self.okay_status, directResults=None, operationHandle=self.operation_handle ) metadata_resp = ttypes.TGetResultSetMetadataResp( @@ -1247,15 +1012,11 @@ def test_non_arrow_non_column_based_set_triggers_exception( with self.assertRaises(OperationalError) as cm: thrift_backend.execute_command("foo", Mock(), 100, 100, Mock(), Mock()) - self.assertIn( - "Expected results to be in Arrow or column based format", str(cm.exception) - ) + self.assertIn("Expected results to be in Arrow or column based format", str(cm.exception)) def test_create_arrow_table_raises_error_for_unsupported_type(self): t_row_set = ttypes.TRowSet() - thrift_backend = ThriftBackend( - "foobar", 443, "path", [], auth_provider=AuthProvider() - ) + thrift_backend = ThriftBackend("foobar", 443, "path", [], auth_provider=AuthProvider()) with self.assertRaises(OperationalError): thrift_backend._create_arrow_table(t_row_set, Mock(), None, Mock()) @@ -1264,9 +1025,7 @@ def test_create_arrow_table_raises_error_for_unsupported_type(self): def test_create_arrow_table_calls_correct_conversion_method( self, convert_col_mock, convert_arrow_mock ): - thrift_backend = ThriftBackend( - "foobar", 443, "path", [], auth_provider=AuthProvider() - ) + thrift_backend = ThriftBackend("foobar", 443, "path", [], auth_provider=AuthProvider()) convert_arrow_mock.return_value = (MagicMock(), Mock()) convert_col_mock.return_value = (MagicMock(), Mock()) @@ -1277,26 +1036,18 @@ def test_create_arrow_table_calls_correct_conversion_method( description = Mock() t_col_set = ttypes.TRowSet(columns=cols) - thrift_backend._create_arrow_table( - t_col_set, lz4_compressed, schema, description - ) + thrift_backend._create_arrow_table(t_col_set, lz4_compressed, schema, description) convert_arrow_mock.assert_not_called() convert_col_mock.assert_called_once_with(cols, description) t_arrow_set = ttypes.TRowSet(arrowBatches=arrow_batches) thrift_backend._create_arrow_table(t_arrow_set, lz4_compressed, schema, Mock()) - convert_arrow_mock.assert_called_once_with( - arrow_batches, lz4_compressed, schema - ) + convert_arrow_mock.assert_called_once_with(arrow_batches, lz4_compressed, schema) @patch("lz4.frame.decompress") @patch("pyarrow.ipc.open_stream") - def test_convert_arrow_based_set_to_arrow_table( - self, open_stream_mock, lz4_decompress_mock - ): - thrift_backend = ThriftBackend( - "foobar", 443, "path", [], auth_provider=AuthProvider() - ) + def test_convert_arrow_based_set_to_arrow_table(self, open_stream_mock, lz4_decompress_mock): + thrift_backend = ThriftBackend("foobar", 443, "path", [], auth_provider=AuthProvider()) lz4_decompress_mock.return_value = bytearray("Testing", "utf-8") @@ -1328,23 +1079,15 @@ def test_convert_column_based_set_to_arrow_table_without_nulls(self): t_cols = [ ttypes.TColumn(i32Val=ttypes.TI32Column(values=[1, 2, 3], nulls=bytes(1))), ttypes.TColumn( - stringVal=ttypes.TStringColumn( - values=["s1", "s2", "s3"], nulls=bytes(1) - ) + stringVal=ttypes.TStringColumn(values=["s1", "s2", "s3"], nulls=bytes(1)) ), + ttypes.TColumn(doubleVal=ttypes.TDoubleColumn(values=[1.15, 2.2, 3.3], nulls=bytes(1))), ttypes.TColumn( - doubleVal=ttypes.TDoubleColumn(values=[1.15, 2.2, 3.3], nulls=bytes(1)) - ), - ttypes.TColumn( - binaryVal=ttypes.TBinaryColumn( - values=[b"\x11", b"\x22", b"\x33"], nulls=bytes(1) - ) + binaryVal=ttypes.TBinaryColumn(values=[b"\x11", b"\x22", b"\x33"], nulls=bytes(1)) ), ] - arrow_table, n_rows = utils.convert_column_based_set_to_arrow_table( - t_cols, description - ) + arrow_table, n_rows = utils.convert_column_based_set_to_arrow_table(t_cols, description) self.assertEqual(n_rows, 3) # Check schema, column names and types @@ -1369,29 +1112,19 @@ def test_convert_column_based_set_to_arrow_table_with_nulls(self): description = [(name,) for name in field_names] t_cols = [ + ttypes.TColumn(i32Val=ttypes.TI32Column(values=[1, 2, 3], nulls=bytes([1]))), ttypes.TColumn( - i32Val=ttypes.TI32Column(values=[1, 2, 3], nulls=bytes([1])) + stringVal=ttypes.TStringColumn(values=["s1", "s2", "s3"], nulls=bytes([2])) ), ttypes.TColumn( - stringVal=ttypes.TStringColumn( - values=["s1", "s2", "s3"], nulls=bytes([2]) - ) + doubleVal=ttypes.TDoubleColumn(values=[1.15, 2.2, 3.3], nulls=bytes([4])) ), ttypes.TColumn( - doubleVal=ttypes.TDoubleColumn( - values=[1.15, 2.2, 3.3], nulls=bytes([4]) - ) - ), - ttypes.TColumn( - binaryVal=ttypes.TBinaryColumn( - values=[b"\x11", b"\x22", b"\x33"], nulls=bytes([3]) - ) + binaryVal=ttypes.TBinaryColumn(values=[b"\x11", b"\x22", b"\x33"], nulls=bytes([3])) ), ] - arrow_table, n_rows = utils.convert_column_based_set_to_arrow_table( - t_cols, description - ) + arrow_table, n_rows = utils.convert_column_based_set_to_arrow_table(t_cols, description) self.assertEqual(n_rows, 3) # Check data @@ -1407,23 +1140,15 @@ def test_convert_column_based_set_to_arrow_table_uses_types_from_col_set(self): t_cols = [ ttypes.TColumn(i32Val=ttypes.TI32Column(values=[1, 2, 3], nulls=bytes(1))), ttypes.TColumn( - stringVal=ttypes.TStringColumn( - values=["s1", "s2", "s3"], nulls=bytes(1) - ) - ), - ttypes.TColumn( - doubleVal=ttypes.TDoubleColumn(values=[1.15, 2.2, 3.3], nulls=bytes(1)) + stringVal=ttypes.TStringColumn(values=["s1", "s2", "s3"], nulls=bytes(1)) ), + ttypes.TColumn(doubleVal=ttypes.TDoubleColumn(values=[1.15, 2.2, 3.3], nulls=bytes(1))), ttypes.TColumn( - binaryVal=ttypes.TBinaryColumn( - values=[b"\x11", b"\x22", b"\x33"], nulls=bytes(1) - ) + binaryVal=ttypes.TBinaryColumn(values=[b"\x11", b"\x22", b"\x33"], nulls=bytes(1)) ), ] - arrow_table, n_rows = utils.convert_column_based_set_to_arrow_table( - t_cols, description - ) + arrow_table, n_rows = utils.convert_column_based_set_to_arrow_table(t_cols, description) self.assertEqual(n_rows, 3) # Check schema, column names and types @@ -1443,10 +1168,7 @@ def test_convert_column_based_set_to_arrow_table_uses_types_from_col_set(self): self.assertEqual(arrow_table.column(2).to_pylist(), [1.15, 2.2, 3.3]) self.assertEqual(arrow_table.column(3).to_pylist(), [b"\x11", b"\x22", b"\x33"]) - @patch( - "databricks.sql.thrift_backend.TCLIService.Client", - autospec=True, - ) + @patch("databricks.sql.thrift_backend.TCLIService.Client", autospec=True) def test_cancel_command_uses_active_op_handle(self, tcli_service_class): tcli_service_instance = tcli_service_class.return_value @@ -1472,29 +1194,20 @@ def test_handle_execute_response_sets_active_op_handle(self): self.assertEqual(mock_resp.operationHandle, mock_cursor.active_op_handle) @patch("databricks.sql.auth.thrift_http_client.THttpClient") - @patch( - "databricks.sql.thrift_api.TCLIService.TCLIService.Client.GetOperationStatus" - ) - @patch( - "databricks.sql.thrift_backend._retry_policy", - new_callable=retry_policy_factory, - ) + @patch("databricks.sql.thrift_api.TCLIService.TCLIService.Client.GetOperationStatus") + @patch("databricks.sql.thrift_backend._retry_policy", new_callable=retry_policy_factory) def test_make_request_will_retry_GetOperationStatus( self, mock_retry_policy, mock_GetOperationStatus, t_transport_class ): import thrift, errno - from databricks.sql.thrift_api.TCLIService.TCLIService import ( - Client, - ) + from databricks.sql.thrift_api.TCLIService.TCLIService import Client from databricks.sql.exc import RequestError from databricks.sql.utils import NoRetryReason this_gos_name = "GetOperationStatus" mock_GetOperationStatus.__name__ = this_gos_name - mock_GetOperationStatus.side_effect = OSError( - errno.ETIMEDOUT, "Connection timed out" - ) + mock_GetOperationStatus.side_effect = OSError(errno.ETIMEDOUT, "Connection timed out") protocol = thrift.protocol.TBinaryProtocol.TBinaryProtocol(t_transport_class) client = Client(protocol) @@ -1522,18 +1235,12 @@ def test_make_request_will_retry_GetOperationStatus( self.assertEqual( NoRetryReason.OUT_OF_ATTEMPTS.value, cm.exception.context["no-retry-reason"] ) - self.assertEqual( - f"{EXPECTED_RETRIES}/{EXPECTED_RETRIES}", cm.exception.context["attempt"] - ) + self.assertEqual(f"{EXPECTED_RETRIES}/{EXPECTED_RETRIES}", cm.exception.context["attempt"]) # Unusual OSError code - mock_GetOperationStatus.side_effect = OSError( - errno.EEXIST, "File does not exist" - ) + mock_GetOperationStatus.side_effect = OSError(errno.EEXIST, "File does not exist") - with self.assertLogs( - "databricks.sql.thrift_backend", level=logging.WARNING - ) as cm: + with self.assertLogs("databricks.sql.thrift_backend", level=logging.WARNING) as cm: with self.assertRaises(RequestError): thrift_backend.make_request(client.GetOperationStatus, req) @@ -1549,13 +1256,8 @@ def test_make_request_will_retry_GetOperationStatus( cm.output[0], ) - @patch( - "databricks.sql.thrift_api.TCLIService.TCLIService.Client.GetOperationStatus" - ) - @patch( - "databricks.sql.thrift_backend._retry_policy", - new_callable=retry_policy_factory, - ) + @patch("databricks.sql.thrift_api.TCLIService.TCLIService.Client.GetOperationStatus") + @patch("databricks.sql.thrift_backend._retry_policy", new_callable=retry_policy_factory) def test_make_request_will_retry_GetOperationStatus_for_http_error( self, mock_retry_policy, mock_gos ): @@ -1565,14 +1267,10 @@ def test_make_request_will_retry_GetOperationStatus_for_http_error( mock_gos.side_effect = urllib3.exceptions.HTTPError("Read timed out") import thrift, errno - from databricks.sql.thrift_api.TCLIService.TCLIService import ( - Client, - ) + from databricks.sql.thrift_api.TCLIService.TCLIService import Client from databricks.sql.exc import RequestError from databricks.sql.utils import NoRetryReason - from databricks.sql.auth.thrift_http_client import ( - THttpClient, - ) + from databricks.sql.auth.thrift_http_client import THttpClient this_gos_name = "GetOperationStatus" mock_gos.__name__ = this_gos_name @@ -1603,14 +1301,10 @@ def test_make_request_will_retry_GetOperationStatus_for_http_error( self.assertEqual( NoRetryReason.OUT_OF_ATTEMPTS.value, cm.exception.context["no-retry-reason"] ) - self.assertEqual( - f"{EXPECTED_RETRIES}/{EXPECTED_RETRIES}", cm.exception.context["attempt"] - ) + self.assertEqual(f"{EXPECTED_RETRIES}/{EXPECTED_RETRIES}", cm.exception.context["attempt"]) @patch("thrift.transport.THttpClient.THttpClient") - def test_make_request_wont_retry_if_error_code_not_429_or_503( - self, t_transport_class - ): + def test_make_request_wont_retry_if_error_code_not_429_or_503(self, t_transport_class): t_transport_instance = t_transport_class.return_value t_transport_instance.code = 430 t_transport_instance.headers = {"Retry-After": "1"} @@ -1618,9 +1312,7 @@ def test_make_request_wont_retry_if_error_code_not_429_or_503( mock_method.__name__ = "method name" mock_method.side_effect = Exception("This method fails") - thrift_backend = ThriftBackend( - "foobar", 443, "path", [], auth_provider=AuthProvider() - ) + thrift_backend = ThriftBackend("foobar", 443, "path", [], auth_provider=AuthProvider()) with self.assertRaises(OperationalError) as cm: thrift_backend.make_request(mock_method, Mock()) @@ -1628,10 +1320,7 @@ def test_make_request_wont_retry_if_error_code_not_429_or_503( self.assertIn("This method fails", str(cm.exception.message_with_context())) @patch("databricks.sql.auth.thrift_http_client.THttpClient") - @patch( - "databricks.sql.thrift_backend._retry_policy", - new_callable=retry_policy_factory, - ) + @patch("databricks.sql.thrift_backend._retry_policy", new_callable=retry_policy_factory) def test_make_request_will_retry_stop_after_attempts_count_if_retryable( self, mock_retry_policy, t_transport_class ): @@ -1662,17 +1351,13 @@ def test_make_request_will_retry_stop_after_attempts_count_if_retryable( self.assertEqual(mock_method.call_count, 14) @patch("databricks.sql.auth.thrift_http_client.THttpClient") - def test_make_request_will_read_error_message_headers_if_set( - self, t_transport_class - ): + def test_make_request_will_read_error_message_headers_if_set(self, t_transport_class): t_transport_instance = t_transport_class.return_value mock_method = Mock() mock_method.__name__ = "method name" mock_method.side_effect = Exception("This method fails") - thrift_backend = ThriftBackend( - "foobar", 443, "path", [], auth_provider=AuthProvider() - ) + thrift_backend = ThriftBackend("foobar", 443, "path", [], auth_provider=AuthProvider()) error_headers = [ [("x-thriftserver-error-message", "thrift server error message")], @@ -1706,18 +1391,12 @@ def make_table_and_desc( ): int_col = [int_constant for _ in range(height)] decimal_col = [decimal_constant for _ in range(height)] - data = OrderedDict( - {"col{}".format(i): int_col for i in range(width - n_decimal_cols)} - ) - decimals = OrderedDict( - {"col_dec{}".format(i): decimal_col for i in range(n_decimal_cols)} - ) + data = OrderedDict({"col{}".format(i): int_col for i in range(width - n_decimal_cols)}) + decimals = OrderedDict({"col_dec{}".format(i): decimal_col for i in range(n_decimal_cols)}) data.update(decimals) int_desc = [("", "int")] * (width - n_decimal_cols) - decimal_desc = [ - ("", "decimal", None, None, precision, scale, None) - ] * n_decimal_cols + decimal_desc = [("", "decimal", None, None, precision, scale, None)] * n_decimal_cols description = int_desc + decimal_desc table = pyarrow.Table.from_pydict(data) @@ -1750,36 +1429,25 @@ def test_arrow_decimal_conversion(self): if height > 0: if i < width - n_decimal_cols: self.assertEqual( - decimal_converted_table.field(i).type, - pyarrow.int64(), + decimal_converted_table.field(i).type, pyarrow.int64() ) else: self.assertEqual( decimal_converted_table.field(i).type, - pyarrow.decimal128( - precision=precision, scale=scale - ), + pyarrow.decimal128(precision=precision, scale=scale), ) int_col = [int_constant for _ in range(height)] decimal_col = [Decimal(decimal_constant) for _ in range(height)] expected_result = OrderedDict( - { - "col{}".format(i): int_col - for i in range(width - n_decimal_cols) - } + {"col{}".format(i): int_col for i in range(width - n_decimal_cols)} ) decimals = OrderedDict( - { - "col_dec{}".format(i): decimal_col - for i in range(n_decimal_cols) - } + {"col_dec{}".format(i): decimal_col for i in range(n_decimal_cols)} ) expected_result.update(decimals) - self.assertEqual( - decimal_converted_table.to_pydict(), expected_result - ) + self.assertEqual(decimal_converted_table.to_pydict(), expected_result) @patch("thrift.transport.THttpClient.THttpClient") def test_retry_args_passthrough(self, mock_http_client): @@ -1798,41 +1466,23 @@ def test_retry_args_passthrough(self, mock_http_client): @patch("thrift.transport.THttpClient.THttpClient") def test_retry_args_bounding(self, mock_http_client): retry_delay_test_args_and_expected_values = {} - for k, ( - _, - _, - min, - max, - ) in databricks.sql.thrift_backend._retry_policy.items(): - retry_delay_test_args_and_expected_values[k] = ( - (min - 1, min), - (max + 1, max), - ) + for k, (_, _, min, max) in databricks.sql.thrift_backend._retry_policy.items(): + retry_delay_test_args_and_expected_values[k] = ((min - 1, min), (max + 1, max)) for i in range(2): retry_delay_args = { - k: v[i][0] - for (k, v) in retry_delay_test_args_and_expected_values.items() + k: v[i][0] for (k, v) in retry_delay_test_args_and_expected_values.items() } backend = ThriftBackend( - "foobar", - 443, - "path", - [], - auth_provider=AuthProvider(), - **retry_delay_args, + "foobar", 443, "path", [], auth_provider=AuthProvider(), **retry_delay_args ) retry_delay_expected_vals = { - k: v[i][1] - for (k, v) in retry_delay_test_args_and_expected_values.items() + k: v[i][1] for (k, v) in retry_delay_test_args_and_expected_values.items() } for arg, val in retry_delay_expected_vals.items(): self.assertEqual(getattr(backend, arg), val) - @patch( - "databricks.sql.thrift_backend.TCLIService.Client", - autospec=True, - ) + @patch("databricks.sql.thrift_backend.TCLIService.Client", autospec=True) def test_configuration_passthrough(self, tcli_client_class): tcli_service_instance = tcli_client_class.return_value tcli_service_instance.OpenSession.return_value = self.open_session_resp @@ -1850,10 +1500,7 @@ def test_configuration_passthrough(self, tcli_client_class): open_session_req = tcli_client_class.return_value.OpenSession.call_args[0][0] self.assertEqual(open_session_req.configuration, expected_config) - @patch( - "databricks.sql.thrift_backend.TCLIService.Client", - autospec=True, - ) + @patch("databricks.sql.thrift_backend.TCLIService.Client", autospec=True) def test_cant_set_timestamp_as_string_to_true(self, tcli_client_class): tcli_service_instance = tcli_client_class.return_value tcli_service_instance.OpenSession.return_value = self.open_session_resp @@ -1873,10 +1520,7 @@ def _construct_open_session_with_namespace(self, can_use_multiple_cats, cat, sch initialNamespace=ttypes.TNamespace(catalogName=cat, schemaName=schem), ) - @patch( - "databricks.sql.thrift_backend.TCLIService.Client", - autospec=True, - ) + @patch("databricks.sql.thrift_backend.TCLIService.Client", autospec=True) def test_initial_namespace_passthrough_to_open_session(self, tcli_client_class): tcli_service_instance = tcli_client_class.return_value @@ -1891,19 +1535,12 @@ def test_initial_namespace_passthrough_to_open_session(self, tcli_client_class): backend.open_session({}, cat, schem) - open_session_req = tcli_client_class.return_value.OpenSession.call_args[ - 0 - ][0] + open_session_req = tcli_client_class.return_value.OpenSession.call_args[0][0] self.assertEqual(open_session_req.initialNamespace.catalogName, cat) self.assertEqual(open_session_req.initialNamespace.schemaName, schem) - @patch( - "databricks.sql.thrift_backend.TCLIService.Client", - autospec=True, - ) - def test_can_use_multiple_catalogs_is_set_in_open_session_req( - self, tcli_client_class - ): + @patch("databricks.sql.thrift_backend.TCLIService.Client", autospec=True) + def test_can_use_multiple_catalogs_is_set_in_open_session_req(self, tcli_client_class): tcli_service_instance = tcli_client_class.return_value tcli_service_instance.OpenSession.return_value = self.open_session_resp @@ -1913,13 +1550,8 @@ def test_can_use_multiple_catalogs_is_set_in_open_session_req( open_session_req = tcli_client_class.return_value.OpenSession.call_args[0][0] self.assertTrue(open_session_req.canUseMultipleCatalogs) - @patch( - "databricks.sql.thrift_backend.TCLIService.Client", - autospec=True, - ) - def test_can_use_multiple_catalogs_is_false_fails_with_initial_catalog( - self, tcli_client_class - ): + @patch("databricks.sql.thrift_backend.TCLIService.Client", autospec=True) + def test_can_use_multiple_catalogs_is_false_fails_with_initial_catalog(self, tcli_client_class): tcli_service_instance = tcli_client_class.return_value backend = ThriftBackend("foobar", 443, "path", [], auth_provider=AuthProvider()) @@ -1949,10 +1581,7 @@ def test_can_use_multiple_catalogs_is_false_fails_with_initial_catalog( ) backend.open_session({}, cat, schem) - @patch( - "databricks.sql.thrift_backend.TCLIService.Client", - autospec=True, - ) + @patch("databricks.sql.thrift_backend.TCLIService.Client", autospec=True) def test_protocol_v3_fails_if_initial_namespace_set(self, tcli_client_class): tcli_service_instance = tcli_client_class.return_value @@ -1969,14 +1598,10 @@ def test_protocol_v3_fails_if_initial_namespace_set(self, tcli_client_class): backend.open_session({}, "cat", "schem") self.assertIn( - "Setting initial namespace not supported by the DBR version", - str(cm.exception), + "Setting initial namespace not supported by the DBR version", str(cm.exception) ) - @patch( - "databricks.sql.thrift_backend.TCLIService.Client", - autospec=True, - ) + @patch("databricks.sql.thrift_backend.TCLIService.Client", autospec=True) @patch("databricks.sql.thrift_backend.ThriftBackend._handle_execute_response") def test_execute_command_sets_complex_type_fields_correctly( self, mock_handle_execute_response, tcli_service_class @@ -1995,17 +1620,10 @@ def test_execute_command_sets_complex_type_fields_correctly( complex_arg_types["_use_arrow_native_decimals"] = decimals thrift_backend = ThriftBackend( - "foobar", - 443, - "path", - [], - auth_provider=AuthProvider(), - **complex_arg_types, + "foobar", 443, "path", [], auth_provider=AuthProvider(), **complex_arg_types ) thrift_backend.execute_command(Mock(), Mock(), 100, 100, Mock(), Mock()) - t_execute_statement_req = tcli_service_instance.ExecuteStatement.call_args[ - 0 - ][0] + t_execute_statement_req = tcli_service_instance.ExecuteStatement.call_args[0][0] # If the value is unset, the native type should default to True self.assertEqual( t_execute_statement_req.useArrowNativeTypes.timestampAsArrow, @@ -2019,9 +1637,7 @@ def test_execute_command_sets_complex_type_fields_correctly( t_execute_statement_req.useArrowNativeTypes.complexTypesAsArrow, complex_arg_types.get("_use_arrow_native_complex_types", True), ) - self.assertFalse( - t_execute_statement_req.useArrowNativeTypes.intervalTypesAsArrow - ) + self.assertFalse(t_execute_statement_req.useArrowNativeTypes.intervalTypesAsArrow) if __name__ == "__main__": diff --git a/docs/parameters.md b/docs/parameters.md index 7ebd09ae..a538af1a 100644 --- a/docs/parameters.md +++ b/docs/parameters.md @@ -112,7 +112,7 @@ Automatic inferrence is sufficient for most usages. But you can bypass the infer ```python from databricks import sql -from databricks.sql import StringParameter, IntegerParameter +from databricks.sql.parameters import StringParameter, IntegerParameter # with `named` markers with sql.connect(...) as conn: diff --git a/examples/README.md b/examples/README.md index 81c445c5..43d248da 100644 --- a/examples/README.md +++ b/examples/README.md @@ -6,7 +6,7 @@ We provide example scripts so you can see the connector in action for basic usag - DATABRICKS_HTTP_PATH - DATABRICKS_TOKEN -Follow the quick start in our [README](../databricks_sql_connector/README.md) to install `databricks-sql-connector` and see +Follow the quick start in our [README](../README.md) to install `databricks-sql-connector` and see how to find the hostname, http path, and access token. Note that for the OAuth examples below a personal access token is not needed. @@ -17,13 +17,13 @@ To run all of these examples you can clone the entire repository to your disk. O ### Clone the repo 1. Clone this repository to your local system -2. Follow the quick start in the [README](../databricks_sql_connector/README.md) to install the connector and obtain authentication credentials. +2. Follow the quick start in the [README](../README.md) to install the connector and obtain authentication credentials. 3. `cd examples/` 4. Then run any script using the `python` CLI. For example `python query_execute.py` ### Fetch with `curl` -1. Follow the quick start in the [README](../databricks_sql_connector/README.md) to install the connector and obtain authentication credentials. +1. Follow the quick start in the [README](../README.md) to install the connector and obtain authentication credentials. 2. Use the GitHub UI to find the URL to the **Raw** version of one of these examples. For example: `https://raw.githubusercontent.com/databricks/databricks-sql-python/main/examples/query_execute.py` 3. `curl` this URL to your local file-system: `curl https://raw.githubusercontent.com/databricks/databricks-sql-python/main/examples/query_execute.py > query_execute.py` 4. Then run the script with the `python` CLI. `python query_execute.py` diff --git a/examples/custom_cred_provider.py b/examples/custom_cred_provider.py index 67945f23..4c43280f 100644 --- a/examples/custom_cred_provider.py +++ b/examples/custom_cred_provider.py @@ -4,27 +4,23 @@ from databricks.sdk.oauth import OAuthClient import os -oauth_client = OAuthClient( - host=os.getenv("DATABRICKS_SERVER_HOSTNAME"), - client_id=os.getenv("DATABRICKS_CLIENT_ID"), - client_secret=os.getenv("DATABRICKS_CLIENT_SECRET"), - redirect_url=os.getenv("APP_REDIRECT_URL"), - scopes=["all-apis", "offline_access"], -) +oauth_client = OAuthClient(host=os.getenv("DATABRICKS_SERVER_HOSTNAME"), + client_id=os.getenv("DATABRICKS_CLIENT_ID"), + client_secret=os.getenv("DATABRICKS_CLIENT_SECRET"), + redirect_url=os.getenv("APP_REDIRECT_URL"), + scopes=['all-apis', 'offline_access']) consent = oauth_client.initiate_consent() creds = consent.launch_external_browser() -with sql.connect( - server_hostname=os.getenv("DATABRICKS_SERVER_HOSTNAME"), - http_path=os.getenv("DATABRICKS_HTTP_PATH"), - credentials_provider=creds, -) as connection: +with sql.connect(server_hostname = os.getenv("DATABRICKS_SERVER_HOSTNAME"), + http_path = os.getenv("DATABRICKS_HTTP_PATH"), + credentials_provider=creds) as connection: for x in range(1, 5): cursor = connection.cursor() - cursor.execute("SELECT 1+1") + cursor.execute('SELECT 1+1') result = cursor.fetchall() for row in result: print(row) diff --git a/examples/insert_data.py b/examples/insert_data.py index 053ed158..b304a0e9 100644 --- a/examples/insert_data.py +++ b/examples/insert_data.py @@ -1,23 +1,21 @@ from databricks import sql import os -with sql.connect( - server_hostname=os.getenv("DATABRICKS_SERVER_HOSTNAME"), - http_path=os.getenv("DATABRICKS_HTTP_PATH"), - access_token=os.getenv("DATABRICKS_TOKEN"), -) as connection: +with sql.connect(server_hostname = os.getenv("DATABRICKS_SERVER_HOSTNAME"), + http_path = os.getenv("DATABRICKS_HTTP_PATH"), + access_token = os.getenv("DATABRICKS_TOKEN")) as connection: - with connection.cursor() as cursor: - cursor.execute("CREATE TABLE IF NOT EXISTS squares (x int, x_squared int)") + with connection.cursor() as cursor: + cursor.execute("CREATE TABLE IF NOT EXISTS squares (x int, x_squared int)") - squares = [(i, i * i) for i in range(100)] - values = ",".join([f"({x}, {y})" for (x, y) in squares]) + squares = [(i, i * i) for i in range(100)] + values = ",".join([f"({x}, {y})" for (x, y) in squares]) - cursor.execute(f"INSERT INTO squares VALUES {values}") + cursor.execute(f"INSERT INTO squares VALUES {values}") - cursor.execute("SELECT * FROM squares LIMIT 10") + cursor.execute("SELECT * FROM squares LIMIT 10") - result = cursor.fetchall() + result = cursor.fetchall() - for row in result: - print(row) + for row in result: + print(row) diff --git a/examples/interactive_oauth.py b/examples/interactive_oauth.py index 8dbc8c47..dad5cac6 100644 --- a/examples/interactive_oauth.py +++ b/examples/interactive_oauth.py @@ -13,14 +13,12 @@ token across script executions. """ -with sql.connect( - server_hostname=os.getenv("DATABRICKS_SERVER_HOSTNAME"), - http_path=os.getenv("DATABRICKS_HTTP_PATH"), -) as connection: +with sql.connect(server_hostname = os.getenv("DATABRICKS_SERVER_HOSTNAME"), + http_path = os.getenv("DATABRICKS_HTTP_PATH")) as connection: for x in range(1, 100): cursor = connection.cursor() - cursor.execute("SELECT 1+1") + cursor.execute('SELECT 1+1') result = cursor.fetchall() for row in result: print(row) diff --git a/examples/m2m_oauth.py b/examples/m2m_oauth.py index 1c8c7278..eba2095c 100644 --- a/examples/m2m_oauth.py +++ b/examples/m2m_oauth.py @@ -22,19 +22,17 @@ def credential_provider(): # Service Principal UUID client_id=os.getenv("DATABRICKS_CLIENT_ID"), # Service Principal Secret - client_secret=os.getenv("DATABRICKS_CLIENT_SECRET"), - ) + client_secret=os.getenv("DATABRICKS_CLIENT_SECRET")) return oauth_service_principal(config) with sql.connect( - server_hostname=server_hostname, - http_path=os.getenv("DATABRICKS_HTTP_PATH"), - credentials_provider=credential_provider, -) as connection: + server_hostname=server_hostname, + http_path=os.getenv("DATABRICKS_HTTP_PATH"), + credentials_provider=credential_provider) as connection: for x in range(1, 100): cursor = connection.cursor() - cursor.execute("SELECT 1+1") + cursor.execute('SELECT 1+1') result = cursor.fetchall() for row in result: print(row) diff --git a/examples/persistent_oauth.py b/examples/persistent_oauth.py index 1a2eded2..0f2ba077 100644 --- a/examples/persistent_oauth.py +++ b/examples/persistent_oauth.py @@ -17,44 +17,37 @@ from typing import Optional from databricks import sql -from databricks.sql.experimental.oauth_persistence import ( - OAuthPersistence, - OAuthToken, - DevOnlyFilePersistence, -) +from databricks.sql.experimental.oauth_persistence import OAuthPersistence, OAuthToken, DevOnlyFilePersistence class SampleOAuthPersistence(OAuthPersistence): - def persist(self, hostname: str, oauth_token: OAuthToken): - """To be implemented by the end user to persist in the preferred storage medium. + def persist(self, hostname: str, oauth_token: OAuthToken): + """To be implemented by the end user to persist in the preferred storage medium. - OAuthToken has two properties: - 1. OAuthToken.access_token - 2. OAuthToken.refresh_token + OAuthToken has two properties: + 1. OAuthToken.access_token + 2. OAuthToken.refresh_token - Both should be persisted. - """ - pass + Both should be persisted. + """ + pass - def read(self, hostname: str) -> Optional[OAuthToken]: - """To be implemented by the end user to fetch token from the preferred storage + def read(self, hostname: str) -> Optional[OAuthToken]: + """To be implemented by the end user to fetch token from the preferred storage - Fetch the access_token and refresh_token for the given hostname. - Return OAuthToken(access_token, refresh_token) - """ - pass + Fetch the access_token and refresh_token for the given hostname. + Return OAuthToken(access_token, refresh_token) + """ + pass - -with sql.connect( - server_hostname=os.getenv("DATABRICKS_SERVER_HOSTNAME"), - http_path=os.getenv("DATABRICKS_HTTP_PATH"), - auth_type="databricks-oauth", - experimental_oauth_persistence=DevOnlyFilePersistence("./sample.json"), -) as connection: +with sql.connect(server_hostname = os.getenv("DATABRICKS_SERVER_HOSTNAME"), + http_path = os.getenv("DATABRICKS_HTTP_PATH"), + auth_type="databricks-oauth", + experimental_oauth_persistence=DevOnlyFilePersistence("./sample.json")) as connection: for x in range(1, 100): cursor = connection.cursor() - cursor.execute("SELECT 1+1") + cursor.execute('SELECT 1+1') result = cursor.fetchall() for row in result: print(row) diff --git a/examples/query_cancel.py b/examples/query_cancel.py index b67fc085..4e0b74a5 100644 --- a/examples/query_cancel.py +++ b/examples/query_cancel.py @@ -5,52 +5,47 @@ The current operation of a cursor may be cancelled by calling its `.cancel()` method as shown in the example below. """ -with sql.connect( - server_hostname=os.getenv("DATABRICKS_SERVER_HOSTNAME"), - http_path=os.getenv("DATABRICKS_HTTP_PATH"), - access_token=os.getenv("DATABRICKS_TOKEN"), -) as connection: +with sql.connect(server_hostname = os.getenv("DATABRICKS_SERVER_HOSTNAME"), + http_path = os.getenv("DATABRICKS_HTTP_PATH"), + access_token = os.getenv("DATABRICKS_TOKEN")) as connection: - with connection.cursor() as cursor: + with connection.cursor() as cursor: + def execute_really_long_query(): + try: + cursor.execute("SELECT SUM(A.id - B.id) " + + "FROM range(1000000000) A CROSS JOIN range(100000000) B " + + "GROUP BY (A.id - B.id)") + except sql.exc.RequestError: + print("It looks like this query was cancelled.") - def execute_really_long_query(): - try: - cursor.execute( - "SELECT SUM(A.id - B.id) " - + "FROM range(1000000000) A CROSS JOIN range(100000000) B " - + "GROUP BY (A.id - B.id)" - ) - except sql.exc.RequestError: - print("It looks like this query was cancelled.") + exec_thread = threading.Thread(target=execute_really_long_query) - exec_thread = threading.Thread(target=execute_really_long_query) + print("\n Beginning to execute long query") + exec_thread.start() - print("\n Beginning to execute long query") - exec_thread.start() + # Make sure the query has started before cancelling + print("\n Waiting 15 seconds before canceling", end="", flush=True) - # Make sure the query has started before cancelling - print("\n Waiting 15 seconds before canceling", end="", flush=True) + seconds_waited = 0 + while seconds_waited < 15: + seconds_waited += 1 + print(".", end="", flush=True) + time.sleep(1) - seconds_waited = 0 - while seconds_waited < 15: - seconds_waited += 1 - print(".", end="", flush=True) - time.sleep(1) + print("\n Cancelling the cursor's operation. This can take a few seconds.") + cursor.cancel() - print("\n Cancelling the cursor's operation. This can take a few seconds.") - cursor.cancel() + print("\n Now checking the cursor status:") + exec_thread.join(5) - print("\n Now checking the cursor status:") - exec_thread.join(5) + assert not exec_thread.is_alive() + print("\n The previous command was successfully canceled") - assert not exec_thread.is_alive() - print("\n The previous command was successfully canceled") + print("\n Now reusing the cursor to run a separate query.") - print("\n Now reusing the cursor to run a separate query.") + # We can still execute a new command on the cursor + cursor.execute("SELECT * FROM range(3)") - # We can still execute a new command on the cursor - cursor.execute("SELECT * FROM range(3)") + print("\n Execution was successful. Results appear below:") - print("\n Execution was successful. Results appear below:") - - print(cursor.fetchall()) + print(cursor.fetchall()) diff --git a/examples/query_execute.py b/examples/query_execute.py index 38d2f17a..a851ab50 100644 --- a/examples/query_execute.py +++ b/examples/query_execute.py @@ -1,15 +1,13 @@ from databricks import sql import os -with sql.connect( - server_hostname=os.getenv("DATABRICKS_SERVER_HOSTNAME"), - http_path=os.getenv("DATABRICKS_HTTP_PATH"), - access_token=os.getenv("DATABRICKS_TOKEN"), -) as connection: +with sql.connect(server_hostname = os.getenv("DATABRICKS_SERVER_HOSTNAME"), + http_path = os.getenv("DATABRICKS_HTTP_PATH"), + access_token = os.getenv("DATABRICKS_TOKEN")) as connection: - with connection.cursor() as cursor: - cursor.execute("SELECT * FROM default.diamonds LIMIT 2") - result = cursor.fetchall() + with connection.cursor() as cursor: + cursor.execute("SELECT * FROM default.diamonds LIMIT 2") + result = cursor.fetchall() - for row in result: - print(row) + for row in result: + print(row) diff --git a/examples/set_user_agent.py b/examples/set_user_agent.py index 93eb2e0b..449692cf 100644 --- a/examples/set_user_agent.py +++ b/examples/set_user_agent.py @@ -1,16 +1,14 @@ from databricks import sql import os -with sql.connect( - server_hostname=os.getenv("DATABRICKS_SERVER_HOSTNAME"), - http_path=os.getenv("DATABRICKS_HTTP_PATH"), - access_token=os.getenv("DATABRICKS_TOKEN"), - _user_agent_entry="ExamplePartnerTag", -) as connection: +with sql.connect(server_hostname = os.getenv("DATABRICKS_SERVER_HOSTNAME"), + http_path = os.getenv("DATABRICKS_HTTP_PATH"), + access_token = os.getenv("DATABRICKS_TOKEN"), + _user_agent_entry="ExamplePartnerTag") as connection: - with connection.cursor() as cursor: - cursor.execute("SELECT * FROM default.diamonds LIMIT 2") - result = cursor.fetchall() + with connection.cursor() as cursor: + cursor.execute("SELECT * FROM default.diamonds LIMIT 2") + result = cursor.fetchall() - for row in result: - print(row) + for row in result: + print(row) diff --git a/examples/v3_retries_query_execute.py b/examples/v3_retries_query_execute.py index aaab47d1..4b6772fe 100644 --- a/examples/v3_retries_query_execute.py +++ b/examples/v3_retries_query_execute.py @@ -28,18 +28,16 @@ # # For complete information about configuring retries, see the docstring for databricks.sql.thrift_backend.ThriftBackend -with sql.connect( - server_hostname=os.getenv("DATABRICKS_SERVER_HOSTNAME"), - http_path=os.getenv("DATABRICKS_HTTP_PATH"), - access_token=os.getenv("DATABRICKS_TOKEN"), - _enable_v3_retries=True, - _retry_dangerous_codes=[502, 400], - _retry_max_redirects=2, -) as connection: +with sql.connect(server_hostname = os.getenv("DATABRICKS_SERVER_HOSTNAME"), + http_path = os.getenv("DATABRICKS_HTTP_PATH"), + access_token = os.getenv("DATABRICKS_TOKEN"), + _enable_v3_retries = True, + _retry_dangerous_codes=[502,400], + _retry_max_redirects=2) as connection: - with connection.cursor() as cursor: - cursor.execute("SELECT * FROM default.diamonds LIMIT 2") - result = cursor.fetchall() + with connection.cursor() as cursor: + cursor.execute("SELECT * FROM default.diamonds LIMIT 2") + result = cursor.fetchall() - for row in result: - print(row) + for row in result: + print(row) diff --git a/poetry.lock b/poetry.lock new file mode 100755 index 00000000..9fe49690 --- /dev/null +++ b/poetry.lock @@ -0,0 +1,1205 @@ +# This file is automatically @generated by Poetry 1.8.3 and should not be changed by hand. + +[[package]] +name = "alembic" +version = "1.13.2" +description = "A database migration tool for SQLAlchemy." +optional = true +python-versions = ">=3.8" +files = [ + {file = "alembic-1.13.2-py3-none-any.whl", hash = "sha256:6b8733129a6224a9a711e17c99b08462dbf7cc9670ba8f2e2ae9af860ceb1953"}, + {file = "alembic-1.13.2.tar.gz", hash = "sha256:1ff0ae32975f4fd96028c39ed9bb3c867fe3af956bd7bb37343b54c9fe7445ef"}, +] + +[package.dependencies] +importlib-metadata = {version = "*", markers = "python_version < \"3.9\""} +importlib-resources = {version = "*", markers = "python_version < \"3.9\""} +Mako = "*" +SQLAlchemy = ">=1.3.0" +typing-extensions = ">=4" + +[package.extras] +tz = ["backports.zoneinfo"] + +[[package]] +name = "astroid" +version = "3.2.2" +description = "An abstract syntax tree for Python with inference support." +optional = false +python-versions = ">=3.8.0" +files = [ + {file = "astroid-3.2.2-py3-none-any.whl", hash = "sha256:e8a0083b4bb28fcffb6207a3bfc9e5d0a68be951dd7e336d5dcf639c682388c0"}, + {file = "astroid-3.2.2.tar.gz", hash = "sha256:8ead48e31b92b2e217b6c9733a21afafe479d52d6e164dd25fb1a770c7c3cf94"}, +] + +[package.dependencies] +typing-extensions = {version = ">=4.0.0", markers = "python_version < \"3.11\""} + +[[package]] +name = "black" +version = "22.12.0" +description = "The uncompromising code formatter." +optional = false +python-versions = ">=3.7" +files = [ + {file = "black-22.12.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9eedd20838bd5d75b80c9f5487dbcb06836a43833a37846cf1d8c1cc01cef59d"}, + {file = "black-22.12.0-cp310-cp310-win_amd64.whl", hash = "sha256:159a46a4947f73387b4d83e87ea006dbb2337eab6c879620a3ba52699b1f4351"}, + {file = "black-22.12.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d30b212bffeb1e252b31dd269dfae69dd17e06d92b87ad26e23890f3efea366f"}, + {file = "black-22.12.0-cp311-cp311-win_amd64.whl", hash = "sha256:7412e75863aa5c5411886804678b7d083c7c28421210180d67dfd8cf1221e1f4"}, + {file = "black-22.12.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c116eed0efb9ff870ded8b62fe9f28dd61ef6e9ddd28d83d7d264a38417dcee2"}, + {file = "black-22.12.0-cp37-cp37m-win_amd64.whl", hash = "sha256:1f58cbe16dfe8c12b7434e50ff889fa479072096d79f0a7f25e4ab8e94cd8350"}, + {file = "black-22.12.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:77d86c9f3db9b1bf6761244bc0b3572a546f5fe37917a044e02f3166d5aafa7d"}, + {file = "black-22.12.0-cp38-cp38-win_amd64.whl", hash = "sha256:82d9fe8fee3401e02e79767016b4907820a7dc28d70d137eb397b92ef3cc5bfc"}, + {file = "black-22.12.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:101c69b23df9b44247bd88e1d7e90154336ac4992502d4197bdac35dd7ee3320"}, + {file = "black-22.12.0-cp39-cp39-win_amd64.whl", hash = "sha256:559c7a1ba9a006226f09e4916060982fd27334ae1998e7a38b3f33a37f7a2148"}, + {file = "black-22.12.0-py3-none-any.whl", hash = "sha256:436cc9167dd28040ad90d3b404aec22cedf24a6e4d7de221bec2730ec0c97bcf"}, + {file = "black-22.12.0.tar.gz", hash = "sha256:229351e5a18ca30f447bf724d007f890f97e13af070bb6ad4c0a441cd7596a2f"}, +] + +[package.dependencies] +click = ">=8.0.0" +mypy-extensions = ">=0.4.3" +pathspec = ">=0.9.0" +platformdirs = ">=2" +tomli = {version = ">=1.1.0", markers = "python_full_version < \"3.11.0a7\""} +typing-extensions = {version = ">=3.10.0.0", markers = "python_version < \"3.10\""} + +[package.extras] +colorama = ["colorama (>=0.4.3)"] +d = ["aiohttp (>=3.7.4)"] +jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"] +uvloop = ["uvloop (>=0.15.2)"] + +[[package]] +name = "certifi" +version = "2024.6.2" +description = "Python package for providing Mozilla's CA Bundle." +optional = false +python-versions = ">=3.6" +files = [ + {file = "certifi-2024.6.2-py3-none-any.whl", hash = "sha256:ddc6c8ce995e6987e7faf5e3f1b02b302836a0e5d98ece18392cb1a36c72ad56"}, + {file = "certifi-2024.6.2.tar.gz", hash = "sha256:3cd43f1c6fa7dedc5899d69d3ad0398fd018ad1a17fba83ddaf78aa46c747516"}, +] + +[[package]] +name = "charset-normalizer" +version = "3.3.2" +description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." +optional = false +python-versions = ">=3.7.0" +files = [ + {file = "charset-normalizer-3.3.2.tar.gz", hash = "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-win32.whl", hash = "sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-win32.whl", hash = "sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-win32.whl", hash = "sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:95f2a5796329323b8f0512e09dbb7a1860c46a39da62ecb2324f116fa8fdc85c"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c002b4ffc0be611f0d9da932eb0f704fe2602a9a949d1f738e4c34c75b0863d5"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a981a536974bbc7a512cf44ed14938cf01030a99e9b3a06dd59578882f06f985"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3287761bc4ee9e33561a7e058c72ac0938c4f57fe49a09eae428fd88aafe7bb6"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:42cb296636fcc8b0644486d15c12376cb9fa75443e00fb25de0b8602e64c1714"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0a55554a2fa0d408816b3b5cedf0045f4b8e1a6065aec45849de2d6f3f8e9786"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:c083af607d2515612056a31f0a8d9e0fcb5876b7bfc0abad3ecd275bc4ebc2d5"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:87d1351268731db79e0f8e745d92493ee2841c974128ef629dc518b937d9194c"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:bd8f7df7d12c2db9fab40bdd87a7c09b1530128315d047a086fa3ae3435cb3a8"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:c180f51afb394e165eafe4ac2936a14bee3eb10debc9d9e4db8958fe36afe711"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:8c622a5fe39a48f78944a87d4fb8a53ee07344641b0562c540d840748571b811"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-win32.whl", hash = "sha256:db364eca23f876da6f9e16c9da0df51aa4f104a972735574842618b8c6d999d4"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-win_amd64.whl", hash = "sha256:86216b5cee4b06df986d214f664305142d9c76df9b6512be2738aa72a2048f99"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:6463effa3186ea09411d50efc7d85360b38d5f09b870c48e4600f63af490e56a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6c4caeef8fa63d06bd437cd4bdcf3ffefe6738fb1b25951440d80dc7df8c03ac"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:37e55c8e51c236f95b033f6fb391d7d7970ba5fe7ff453dad675e88cf303377a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb69256e180cb6c8a894fee62b3afebae785babc1ee98b81cdf68bbca1987f33"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae5f4161f18c61806f411a13b0310bea87f987c7d2ecdbdaad0e94eb2e404238"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b2b0a0c0517616b6869869f8c581d4eb2dd83a4d79e0ebcb7d373ef9956aeb0a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:45485e01ff4d3630ec0d9617310448a8702f70e9c01906b0d0118bdf9d124cf2"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eb00ed941194665c332bf8e078baf037d6c35d7c4f3102ea2d4f16ca94a26dc8"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2127566c664442652f024c837091890cb1942c30937add288223dc895793f898"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a50aebfa173e157099939b17f18600f72f84eed3049e743b68ad15bd69b6bf99"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:4d0d1650369165a14e14e1e47b372cfcb31d6ab44e6e33cb2d4e57265290044d"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:923c0c831b7cfcb071580d3f46c4baf50f174be571576556269530f4bbd79d04"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:06a81e93cd441c56a9b65d8e1d043daeb97a3d0856d177d5c90ba85acb3db087"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-win32.whl", hash = "sha256:6ef1d82a3af9d3eecdba2321dc1b3c238245d890843e040e41e470ffa64c3e25"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-win_amd64.whl", hash = "sha256:eb8821e09e916165e160797a6c17edda0679379a4be5c716c260e836e122f54b"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:c235ebd9baae02f1b77bcea61bce332cb4331dc3617d254df3323aa01ab47bd4"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5b4c145409bef602a690e7cfad0a15a55c13320ff7a3ad7ca59c13bb8ba4d45d"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:68d1f8a9e9e37c1223b656399be5d6b448dea850bed7d0f87a8311f1ff3dabb0"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22afcb9f253dac0696b5a4be4a1c0f8762f8239e21b99680099abd9b2b1b2269"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e27ad930a842b4c5eb8ac0016b0a54f5aebbe679340c26101df33424142c143c"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f79682fbe303db92bc2b1136016a38a42e835d932bab5b3b1bfcfbf0640e519"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b261ccdec7821281dade748d088bb6e9b69e6d15b30652b74cbbac25e280b796"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:122c7fa62b130ed55f8f285bfd56d5f4b4a5b503609d181f9ad85e55c89f4185"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d0eccceffcb53201b5bfebb52600a5fb483a20b61da9dbc885f8b103cbe7598c"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:9f96df6923e21816da7e0ad3fd47dd8f94b2a5ce594e00677c0013018b813458"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:7f04c839ed0b6b98b1a7501a002144b76c18fb1c1850c8b98d458ac269e26ed2"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:34d1c8da1e78d2e001f363791c98a272bb734000fcef47a491c1e3b0505657a8"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-win32.whl", hash = "sha256:aed38f6e4fb3f5d6bf81bfa990a07806be9d83cf7bacef998ab1a9bd660a581f"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:b01b88d45a6fcb69667cd6d2f7a9aeb4bf53760d7fc536bf679ec94fe9f3ff3d"}, + {file = "charset_normalizer-3.3.2-py3-none-any.whl", hash = "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc"}, +] + +[[package]] +name = "click" +version = "8.1.7" +description = "Composable command line interface toolkit" +optional = false +python-versions = ">=3.7" +files = [ + {file = "click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28"}, + {file = "click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"}, +] + +[package.dependencies] +colorama = {version = "*", markers = "platform_system == \"Windows\""} + +[[package]] +name = "colorama" +version = "0.4.6" +description = "Cross-platform colored terminal text." +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" +files = [ + {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, + {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, +] + +[[package]] +name = "dill" +version = "0.3.8" +description = "serialize all of Python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "dill-0.3.8-py3-none-any.whl", hash = "sha256:c36ca9ffb54365bdd2f8eb3eff7d2a21237f8452b57ace88b1ac615b7e815bd7"}, + {file = "dill-0.3.8.tar.gz", hash = "sha256:3ebe3c479ad625c4553aca177444d89b486b1d84982eeacded644afc0cf797ca"}, +] + +[package.extras] +graph = ["objgraph (>=1.7.2)"] +profile = ["gprof2dot (>=2022.7.29)"] + +[[package]] +name = "et-xmlfile" +version = "1.1.0" +description = "An implementation of lxml.xmlfile for the standard library" +optional = false +python-versions = ">=3.6" +files = [ + {file = "et_xmlfile-1.1.0-py3-none-any.whl", hash = "sha256:a2ba85d1d6a74ef63837eed693bcb89c3f752169b0e3e7ae5b16ca5e1b3deada"}, + {file = "et_xmlfile-1.1.0.tar.gz", hash = "sha256:8eb9e2bc2f8c97e37a2dc85a09ecdcdec9d8a396530a6d5a33b30b9a92da0c5c"}, +] + +[[package]] +name = "exceptiongroup" +version = "1.2.1" +description = "Backport of PEP 654 (exception groups)" +optional = false +python-versions = ">=3.7" +files = [ + {file = "exceptiongroup-1.2.1-py3-none-any.whl", hash = "sha256:5258b9ed329c5bbdd31a309f53cbfb0b155341807f6ff7606a1e801a891b29ad"}, + {file = "exceptiongroup-1.2.1.tar.gz", hash = "sha256:a4785e48b045528f5bfe627b6ad554ff32def154f42372786903b7abcfe1aa16"}, +] + +[package.extras] +test = ["pytest (>=6)"] + +[[package]] +name = "greenlet" +version = "3.0.3" +description = "Lightweight in-process concurrent programming" +optional = true +python-versions = ">=3.7" +files = [ + {file = "greenlet-3.0.3-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:9da2bd29ed9e4f15955dd1595ad7bc9320308a3b766ef7f837e23ad4b4aac31a"}, + {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d353cadd6083fdb056bb46ed07e4340b0869c305c8ca54ef9da3421acbdf6881"}, + {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dca1e2f3ca00b84a396bc1bce13dd21f680f035314d2379c4160c98153b2059b"}, + {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3ed7fb269f15dc662787f4119ec300ad0702fa1b19d2135a37c2c4de6fadfd4a"}, + {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd4f49ae60e10adbc94b45c0b5e6a179acc1736cf7a90160b404076ee283cf83"}, + {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:73a411ef564e0e097dbe7e866bb2dda0f027e072b04da387282b02c308807405"}, + {file = "greenlet-3.0.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:7f362975f2d179f9e26928c5b517524e89dd48530a0202570d55ad6ca5d8a56f"}, + {file = "greenlet-3.0.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:649dde7de1a5eceb258f9cb00bdf50e978c9db1b996964cd80703614c86495eb"}, + {file = "greenlet-3.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:68834da854554926fbedd38c76e60c4a2e3198c6fbed520b106a8986445caaf9"}, + {file = "greenlet-3.0.3-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:b1b5667cced97081bf57b8fa1d6bfca67814b0afd38208d52538316e9422fc61"}, + {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:52f59dd9c96ad2fc0d5724107444f76eb20aaccb675bf825df6435acb7703559"}, + {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:afaff6cf5200befd5cec055b07d1c0a5a06c040fe5ad148abcd11ba6ab9b114e"}, + {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fe754d231288e1e64323cfad462fcee8f0288654c10bdf4f603a39ed923bef33"}, + {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2797aa5aedac23af156bbb5a6aa2cd3427ada2972c828244eb7d1b9255846379"}, + {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b7f009caad047246ed379e1c4dbcb8b020f0a390667ea74d2387be2998f58a22"}, + {file = "greenlet-3.0.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:c5e1536de2aad7bf62e27baf79225d0d64360d4168cf2e6becb91baf1ed074f3"}, + {file = "greenlet-3.0.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:894393ce10ceac937e56ec00bb71c4c2f8209ad516e96033e4b3b1de270e200d"}, + {file = "greenlet-3.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:1ea188d4f49089fc6fb283845ab18a2518d279c7cd9da1065d7a84e991748728"}, + {file = "greenlet-3.0.3-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:70fb482fdf2c707765ab5f0b6655e9cfcf3780d8d87355a063547b41177599be"}, + {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d4d1ac74f5c0c0524e4a24335350edad7e5f03b9532da7ea4d3c54d527784f2e"}, + {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:149e94a2dd82d19838fe4b2259f1b6b9957d5ba1b25640d2380bea9c5df37676"}, + {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:15d79dd26056573940fcb8c7413d84118086f2ec1a8acdfa854631084393efcc"}, + {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:881b7db1ebff4ba09aaaeae6aa491daeb226c8150fc20e836ad00041bcb11230"}, + {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fcd2469d6a2cf298f198f0487e0a5b1a47a42ca0fa4dfd1b6862c999f018ebbf"}, + {file = "greenlet-3.0.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:1f672519db1796ca0d8753f9e78ec02355e862d0998193038c7073045899f305"}, + {file = "greenlet-3.0.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2516a9957eed41dd8f1ec0c604f1cdc86758b587d964668b5b196a9db5bfcde6"}, + {file = "greenlet-3.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:bba5387a6975598857d86de9eac14210a49d554a77eb8261cc68b7d082f78ce2"}, + {file = "greenlet-3.0.3-cp37-cp37m-macosx_11_0_universal2.whl", hash = "sha256:5b51e85cb5ceda94e79d019ed36b35386e8c37d22f07d6a751cb659b180d5274"}, + {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:daf3cb43b7cf2ba96d614252ce1684c1bccee6b2183a01328c98d36fcd7d5cb0"}, + {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:99bf650dc5d69546e076f413a87481ee1d2d09aaaaaca058c9251b6d8c14783f"}, + {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2dd6e660effd852586b6a8478a1d244b8dc90ab5b1321751d2ea15deb49ed414"}, + {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e3391d1e16e2a5a1507d83e4a8b100f4ee626e8eca43cf2cadb543de69827c4c"}, + {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e1f145462f1fa6e4a4ae3c0f782e580ce44d57c8f2c7aae1b6fa88c0b2efdb41"}, + {file = "greenlet-3.0.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:1a7191e42732df52cb5f39d3527217e7ab73cae2cb3694d241e18f53d84ea9a7"}, + {file = "greenlet-3.0.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:0448abc479fab28b00cb472d278828b3ccca164531daab4e970a0458786055d6"}, + {file = "greenlet-3.0.3-cp37-cp37m-win32.whl", hash = "sha256:b542be2440edc2d48547b5923c408cbe0fc94afb9f18741faa6ae970dbcb9b6d"}, + {file = "greenlet-3.0.3-cp37-cp37m-win_amd64.whl", hash = "sha256:01bc7ea167cf943b4c802068e178bbf70ae2e8c080467070d01bfa02f337ee67"}, + {file = "greenlet-3.0.3-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:1996cb9306c8595335bb157d133daf5cf9f693ef413e7673cb07e3e5871379ca"}, + {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ddc0f794e6ad661e321caa8d2f0a55ce01213c74722587256fb6566049a8b04"}, + {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c9db1c18f0eaad2f804728c67d6c610778456e3e1cc4ab4bbd5eeb8e6053c6fc"}, + {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7170375bcc99f1a2fbd9c306f5be8764eaf3ac6b5cb968862cad4c7057756506"}, + {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6b66c9c1e7ccabad3a7d037b2bcb740122a7b17a53734b7d72a344ce39882a1b"}, + {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:098d86f528c855ead3479afe84b49242e174ed262456c342d70fc7f972bc13c4"}, + {file = "greenlet-3.0.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:81bb9c6d52e8321f09c3d165b2a78c680506d9af285bfccbad9fb7ad5a5da3e5"}, + {file = "greenlet-3.0.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:fd096eb7ffef17c456cfa587523c5f92321ae02427ff955bebe9e3c63bc9f0da"}, + {file = "greenlet-3.0.3-cp38-cp38-win32.whl", hash = "sha256:d46677c85c5ba00a9cb6f7a00b2bfa6f812192d2c9f7d9c4f6a55b60216712f3"}, + {file = "greenlet-3.0.3-cp38-cp38-win_amd64.whl", hash = "sha256:419b386f84949bf0e7c73e6032e3457b82a787c1ab4a0e43732898a761cc9dbf"}, + {file = "greenlet-3.0.3-cp39-cp39-macosx_11_0_universal2.whl", hash = "sha256:da70d4d51c8b306bb7a031d5cff6cc25ad253affe89b70352af5f1cb68e74b53"}, + {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:086152f8fbc5955df88382e8a75984e2bb1c892ad2e3c80a2508954e52295257"}, + {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d73a9fe764d77f87f8ec26a0c85144d6a951a6c438dfe50487df5595c6373eac"}, + {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b7dcbe92cc99f08c8dd11f930de4d99ef756c3591a5377d1d9cd7dd5e896da71"}, + {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1551a8195c0d4a68fac7a4325efac0d541b48def35feb49d803674ac32582f61"}, + {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:64d7675ad83578e3fc149b617a444fab8efdafc9385471f868eb5ff83e446b8b"}, + {file = "greenlet-3.0.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:b37eef18ea55f2ffd8f00ff8fe7c8d3818abd3e25fb73fae2ca3b672e333a7a6"}, + {file = "greenlet-3.0.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:77457465d89b8263bca14759d7c1684df840b6811b2499838cc5b040a8b5b113"}, + {file = "greenlet-3.0.3-cp39-cp39-win32.whl", hash = "sha256:57e8974f23e47dac22b83436bdcf23080ade568ce77df33159e019d161ce1d1e"}, + {file = "greenlet-3.0.3-cp39-cp39-win_amd64.whl", hash = "sha256:c5ee858cfe08f34712f548c3c363e807e7186f03ad7a5039ebadb29e8c6be067"}, + {file = "greenlet-3.0.3.tar.gz", hash = "sha256:43374442353259554ce33599da8b692d5aa96f8976d567d4badf263371fbe491"}, +] + +[package.extras] +docs = ["Sphinx", "furo"] +test = ["objgraph", "psutil"] + +[[package]] +name = "idna" +version = "3.7" +description = "Internationalized Domain Names in Applications (IDNA)" +optional = false +python-versions = ">=3.5" +files = [ + {file = "idna-3.7-py3-none-any.whl", hash = "sha256:82fee1fc78add43492d3a1898bfa6d8a904cc97d8427f683ed8e798d07761aa0"}, + {file = "idna-3.7.tar.gz", hash = "sha256:028ff3aadf0609c1fd278d8ea3089299412a7a8b9bd005dd08b9f8285bcb5cfc"}, +] + +[[package]] +name = "importlib-metadata" +version = "8.0.0" +description = "Read metadata from Python packages" +optional = true +python-versions = ">=3.8" +files = [ + {file = "importlib_metadata-8.0.0-py3-none-any.whl", hash = "sha256:15584cf2b1bf449d98ff8a6ff1abef57bf20f3ac6454f431736cd3e660921b2f"}, + {file = "importlib_metadata-8.0.0.tar.gz", hash = "sha256:188bd24e4c346d3f0a933f275c2fec67050326a856b9a359881d7c2a697e8812"}, +] + +[package.dependencies] +zipp = ">=0.5" + +[package.extras] +doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +perf = ["ipython"] +test = ["flufl.flake8", "importlib-resources (>=1.3)", "jaraco.test (>=5.4)", "packaging", "pyfakefs", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy", "pytest-perf (>=0.9.2)", "pytest-ruff (>=0.2.1)"] + +[[package]] +name = "importlib-resources" +version = "6.4.0" +description = "Read resources from Python packages" +optional = true +python-versions = ">=3.8" +files = [ + {file = "importlib_resources-6.4.0-py3-none-any.whl", hash = "sha256:50d10f043df931902d4194ea07ec57960f66a80449ff867bfe782b4c486ba78c"}, + {file = "importlib_resources-6.4.0.tar.gz", hash = "sha256:cdb2b453b8046ca4e3798eb1d84f3cce1446a0e8e7b5ef4efb600f19fc398145"}, +] + +[package.dependencies] +zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""} + +[package.extras] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-lint"] +testing = ["jaraco.test (>=5.4)", "pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy", "pytest-ruff (>=0.2.1)", "zipp (>=3.17)"] + +[[package]] +name = "iniconfig" +version = "2.0.0" +description = "brain-dead simple config-ini parsing" +optional = false +python-versions = ">=3.7" +files = [ + {file = "iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374"}, + {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"}, +] + +[[package]] +name = "isort" +version = "5.13.2" +description = "A Python utility / library to sort Python imports." +optional = false +python-versions = ">=3.8.0" +files = [ + {file = "isort-5.13.2-py3-none-any.whl", hash = "sha256:8ca5e72a8d85860d5a3fa69b8745237f2939afe12dbf656afbcb47fe72d947a6"}, + {file = "isort-5.13.2.tar.gz", hash = "sha256:48fdfcb9face5d58a4f6dde2e72a1fb8dcaf8ab26f95ab49fab84c2ddefb0109"}, +] + +[package.extras] +colors = ["colorama (>=0.4.6)"] + +[[package]] +name = "lz4" +version = "4.3.3" +description = "LZ4 Bindings for Python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "lz4-4.3.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b891880c187e96339474af2a3b2bfb11a8e4732ff5034be919aa9029484cd201"}, + {file = "lz4-4.3.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:222a7e35137d7539c9c33bb53fcbb26510c5748779364014235afc62b0ec797f"}, + {file = "lz4-4.3.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f76176492ff082657ada0d0f10c794b6da5800249ef1692b35cf49b1e93e8ef7"}, + {file = "lz4-4.3.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f1d18718f9d78182c6b60f568c9a9cec8a7204d7cb6fad4e511a2ef279e4cb05"}, + {file = "lz4-4.3.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6cdc60e21ec70266947a48839b437d46025076eb4b12c76bd47f8e5eb8a75dcc"}, + {file = "lz4-4.3.3-cp310-cp310-win32.whl", hash = "sha256:c81703b12475da73a5d66618856d04b1307e43428a7e59d98cfe5a5d608a74c6"}, + {file = "lz4-4.3.3-cp310-cp310-win_amd64.whl", hash = "sha256:43cf03059c0f941b772c8aeb42a0813d68d7081c009542301637e5782f8a33e2"}, + {file = "lz4-4.3.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:30e8c20b8857adef7be045c65f47ab1e2c4fabba86a9fa9a997d7674a31ea6b6"}, + {file = "lz4-4.3.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2f7b1839f795315e480fb87d9bc60b186a98e3e5d17203c6e757611ef7dcef61"}, + {file = "lz4-4.3.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:edfd858985c23523f4e5a7526ca6ee65ff930207a7ec8a8f57a01eae506aaee7"}, + {file = "lz4-4.3.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e9c410b11a31dbdc94c05ac3c480cb4b222460faf9231f12538d0074e56c563"}, + {file = "lz4-4.3.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d2507ee9c99dbddd191c86f0e0c8b724c76d26b0602db9ea23232304382e1f21"}, + {file = "lz4-4.3.3-cp311-cp311-win32.whl", hash = "sha256:f180904f33bdd1e92967923a43c22899e303906d19b2cf8bb547db6653ea6e7d"}, + {file = "lz4-4.3.3-cp311-cp311-win_amd64.whl", hash = "sha256:b14d948e6dce389f9a7afc666d60dd1e35fa2138a8ec5306d30cd2e30d36b40c"}, + {file = "lz4-4.3.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:e36cd7b9d4d920d3bfc2369840da506fa68258f7bb176b8743189793c055e43d"}, + {file = "lz4-4.3.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:31ea4be9d0059c00b2572d700bf2c1bc82f241f2c3282034a759c9a4d6ca4dc2"}, + {file = "lz4-4.3.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:33c9a6fd20767ccaf70649982f8f3eeb0884035c150c0b818ea660152cf3c809"}, + {file = "lz4-4.3.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bca8fccc15e3add173da91be8f34121578dc777711ffd98d399be35487c934bf"}, + {file = "lz4-4.3.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e7d84b479ddf39fe3ea05387f10b779155fc0990125f4fb35d636114e1c63a2e"}, + {file = "lz4-4.3.3-cp312-cp312-win32.whl", hash = "sha256:337cb94488a1b060ef1685187d6ad4ba8bc61d26d631d7ba909ee984ea736be1"}, + {file = "lz4-4.3.3-cp312-cp312-win_amd64.whl", hash = "sha256:5d35533bf2cee56f38ced91f766cd0038b6abf46f438a80d50c52750088be93f"}, + {file = "lz4-4.3.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:363ab65bf31338eb364062a15f302fc0fab0a49426051429866d71c793c23394"}, + {file = "lz4-4.3.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:0a136e44a16fc98b1abc404fbabf7f1fada2bdab6a7e970974fb81cf55b636d0"}, + {file = "lz4-4.3.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:abc197e4aca8b63f5ae200af03eb95fb4b5055a8f990079b5bdf042f568469dd"}, + {file = "lz4-4.3.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:56f4fe9c6327adb97406f27a66420b22ce02d71a5c365c48d6b656b4aaeb7775"}, + {file = "lz4-4.3.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f0e822cd7644995d9ba248cb4b67859701748a93e2ab7fc9bc18c599a52e4604"}, + {file = "lz4-4.3.3-cp38-cp38-win32.whl", hash = "sha256:24b3206de56b7a537eda3a8123c644a2b7bf111f0af53bc14bed90ce5562d1aa"}, + {file = "lz4-4.3.3-cp38-cp38-win_amd64.whl", hash = "sha256:b47839b53956e2737229d70714f1d75f33e8ac26e52c267f0197b3189ca6de24"}, + {file = "lz4-4.3.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6756212507405f270b66b3ff7f564618de0606395c0fe10a7ae2ffcbbe0b1fba"}, + {file = "lz4-4.3.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ee9ff50557a942d187ec85462bb0960207e7ec5b19b3b48949263993771c6205"}, + {file = "lz4-4.3.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2b901c7784caac9a1ded4555258207d9e9697e746cc8532129f150ffe1f6ba0d"}, + {file = "lz4-4.3.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b6d9ec061b9eca86e4dcc003d93334b95d53909afd5a32c6e4f222157b50c071"}, + {file = "lz4-4.3.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f4c7bf687303ca47d69f9f0133274958fd672efaa33fb5bcde467862d6c621f0"}, + {file = "lz4-4.3.3-cp39-cp39-win32.whl", hash = "sha256:054b4631a355606e99a42396f5db4d22046a3397ffc3269a348ec41eaebd69d2"}, + {file = "lz4-4.3.3-cp39-cp39-win_amd64.whl", hash = "sha256:eac9af361e0d98335a02ff12fb56caeb7ea1196cf1a49dbf6f17828a131da807"}, + {file = "lz4-4.3.3.tar.gz", hash = "sha256:01fe674ef2889dbb9899d8a67361e0c4a2c833af5aeb37dd505727cf5d2a131e"}, +] + +[package.extras] +docs = ["sphinx (>=1.6.0)", "sphinx-bootstrap-theme"] +flake8 = ["flake8"] +tests = ["psutil", "pytest (!=3.3.0)", "pytest-cov"] + +[[package]] +name = "mako" +version = "1.3.5" +description = "A super-fast templating language that borrows the best ideas from the existing templating languages." +optional = true +python-versions = ">=3.8" +files = [ + {file = "Mako-1.3.5-py3-none-any.whl", hash = "sha256:260f1dbc3a519453a9c856dedfe4beb4e50bd5a26d96386cb6c80856556bb91a"}, + {file = "Mako-1.3.5.tar.gz", hash = "sha256:48dbc20568c1d276a2698b36d968fa76161bf127194907ea6fc594fa81f943bc"}, +] + +[package.dependencies] +MarkupSafe = ">=0.9.2" + +[package.extras] +babel = ["Babel"] +lingua = ["lingua"] +testing = ["pytest"] + +[[package]] +name = "markupsafe" +version = "2.1.5" +description = "Safely add untrusted strings to HTML/XML markup." +optional = true +python-versions = ">=3.7" +files = [ + {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-win32.whl", hash = "sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-win_amd64.whl", hash = "sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ec585f69cec0aa07d945b20805be741395e28ac1627333b1c5b0105962ffced"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b91c037585eba9095565a3556f611e3cbfaa42ca1e865f7b8015fe5c7336d5a5"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7502934a33b54030eaf1194c21c692a534196063db72176b0c4028e140f8f32c"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0e397ac966fdf721b2c528cf028494e86172b4feba51d65f81ffd65c63798f3f"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c061bb86a71b42465156a3ee7bd58c8c2ceacdbeb95d05a99893e08b8467359a"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3a57fdd7ce31c7ff06cdfbf31dafa96cc533c21e443d57f5b1ecc6cdc668ec7f"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-win32.whl", hash = "sha256:397081c1a0bfb5124355710fe79478cdbeb39626492b15d399526ae53422b906"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-win_amd64.whl", hash = "sha256:2b7c57a4dfc4f16f7142221afe5ba4e093e09e728ca65c51f5620c9aaeb9a617"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-win32.whl", hash = "sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-win_amd64.whl", hash = "sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c8b29db45f8fe46ad280a7294f5c3ec36dbac9491f2d1c17345be8e69cc5928f"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ec6a563cff360b50eed26f13adc43e61bc0c04d94b8be985e6fb24b81f6dcfdf"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a549b9c31bec33820e885335b451286e2969a2d9e24879f83fe904a5ce59d70a"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4f11aa001c540f62c6166c7726f71f7573b52c68c31f014c25cc7901deea0b52"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:7b2e5a267c855eea6b4283940daa6e88a285f5f2a67f2220203786dfa59b37e9"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:2d2d793e36e230fd32babe143b04cec8a8b3eb8a3122d2aceb4a371e6b09b8df"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ce409136744f6521e39fd8e2a24c53fa18ad67aa5bc7c2cf83645cce5b5c4e50"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-win32.whl", hash = "sha256:4096e9de5c6fdf43fb4f04c26fb114f61ef0bf2e5604b6ee3019d51b69e8c371"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-win_amd64.whl", hash = "sha256:4275d846e41ecefa46e2015117a9f491e57a71ddd59bbead77e904dc02b1bed2"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:656f7526c69fac7f600bd1f400991cc282b417d17539a1b228617081106feb4a"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:97cafb1f3cbcd3fd2b6fbfb99ae11cdb14deea0736fc2b0952ee177f2b813a46"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f3fbcb7ef1f16e48246f704ab79d79da8a46891e2da03f8783a5b6fa41a9532"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa9db3f79de01457b03d4f01b34cf91bc0048eb2c3846ff26f66687c2f6d16ab"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffee1f21e5ef0d712f9033568f8344d5da8cc2869dbd08d87c84656e6a2d2f68"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5dedb4db619ba5a2787a94d877bc8ffc0566f92a01c0ef214865e54ecc9ee5e0"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:30b600cf0a7ac9234b2638fbc0fb6158ba5bdcdf46aeb631ead21248b9affbc4"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8dd717634f5a044f860435c1d8c16a270ddf0ef8588d4887037c5028b859b0c3"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-win32.whl", hash = "sha256:daa4ee5a243f0f20d528d939d06670a298dd39b1ad5f8a72a4275124a7819eff"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-win_amd64.whl", hash = "sha256:619bc166c4f2de5caa5a633b8b7326fbe98e0ccbfacabd87268a2b15ff73a029"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7a68b554d356a91cce1236aa7682dc01df0edba8d043fd1ce607c49dd3c1edcf"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:db0b55e0f3cc0be60c1f19efdde9a637c32740486004f20d1cff53c3c0ece4d2"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e53af139f8579a6d5f7b76549125f0d94d7e630761a2111bc431fd820e163b8"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17b950fccb810b3293638215058e432159d2b71005c74371d784862b7e4683f3"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c31f53cdae6ecfa91a77820e8b151dba54ab528ba65dfd235c80b086d68a465"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bff1b4290a66b490a2f4719358c0cdcd9bafb6b8f061e45c7a2460866bf50c2e"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bc1667f8b83f48511b94671e0e441401371dfd0f0a795c7daa4a3cd1dde55bea"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5049256f536511ee3f7e1b3f87d1d1209d327e818e6ae1365e8653d7e3abb6a6"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-win32.whl", hash = "sha256:00e046b6dd71aa03a41079792f8473dc494d564611a8f89bbbd7cb93295ebdcf"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-win_amd64.whl", hash = "sha256:fa173ec60341d6bb97a89f5ea19c85c5643c1e7dedebc22f5181eb73573142c5"}, + {file = "MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b"}, +] + +[[package]] +name = "mccabe" +version = "0.7.0" +description = "McCabe checker, plugin for flake8" +optional = false +python-versions = ">=3.6" +files = [ + {file = "mccabe-0.7.0-py2.py3-none-any.whl", hash = "sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e"}, + {file = "mccabe-0.7.0.tar.gz", hash = "sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325"}, +] + +[[package]] +name = "mypy" +version = "1.10.1" +description = "Optional static typing for Python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "mypy-1.10.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e36f229acfe250dc660790840916eb49726c928e8ce10fbdf90715090fe4ae02"}, + {file = "mypy-1.10.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:51a46974340baaa4145363b9e051812a2446cf583dfaeba124af966fa44593f7"}, + {file = "mypy-1.10.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:901c89c2d67bba57aaaca91ccdb659aa3a312de67f23b9dfb059727cce2e2e0a"}, + {file = "mypy-1.10.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:0cd62192a4a32b77ceb31272d9e74d23cd88c8060c34d1d3622db3267679a5d9"}, + {file = "mypy-1.10.1-cp310-cp310-win_amd64.whl", hash = "sha256:a2cbc68cb9e943ac0814c13e2452d2046c2f2b23ff0278e26599224cf164e78d"}, + {file = "mypy-1.10.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:bd6f629b67bb43dc0d9211ee98b96d8dabc97b1ad38b9b25f5e4c4d7569a0c6a"}, + {file = "mypy-1.10.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a1bbb3a6f5ff319d2b9d40b4080d46cd639abe3516d5a62c070cf0114a457d84"}, + {file = "mypy-1.10.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b8edd4e9bbbc9d7b79502eb9592cab808585516ae1bcc1446eb9122656c6066f"}, + {file = "mypy-1.10.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:6166a88b15f1759f94a46fa474c7b1b05d134b1b61fca627dd7335454cc9aa6b"}, + {file = "mypy-1.10.1-cp311-cp311-win_amd64.whl", hash = "sha256:5bb9cd11c01c8606a9d0b83ffa91d0b236a0e91bc4126d9ba9ce62906ada868e"}, + {file = "mypy-1.10.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:d8681909f7b44d0b7b86e653ca152d6dff0eb5eb41694e163c6092124f8246d7"}, + {file = "mypy-1.10.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:378c03f53f10bbdd55ca94e46ec3ba255279706a6aacaecac52ad248f98205d3"}, + {file = "mypy-1.10.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6bacf8f3a3d7d849f40ca6caea5c055122efe70e81480c8328ad29c55c69e93e"}, + {file = "mypy-1.10.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:701b5f71413f1e9855566a34d6e9d12624e9e0a8818a5704d74d6b0402e66c04"}, + {file = "mypy-1.10.1-cp312-cp312-win_amd64.whl", hash = "sha256:3c4c2992f6ea46ff7fce0072642cfb62af7a2484efe69017ed8b095f7b39ef31"}, + {file = "mypy-1.10.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:604282c886497645ffb87b8f35a57ec773a4a2721161e709a4422c1636ddde5c"}, + {file = "mypy-1.10.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:37fd87cab83f09842653f08de066ee68f1182b9b5282e4634cdb4b407266bade"}, + {file = "mypy-1.10.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8addf6313777dbb92e9564c5d32ec122bf2c6c39d683ea64de6a1fd98b90fe37"}, + {file = "mypy-1.10.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:5cc3ca0a244eb9a5249c7c583ad9a7e881aa5d7b73c35652296ddcdb33b2b9c7"}, + {file = "mypy-1.10.1-cp38-cp38-win_amd64.whl", hash = "sha256:1b3a2ffce52cc4dbaeee4df762f20a2905aa171ef157b82192f2e2f368eec05d"}, + {file = "mypy-1.10.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:fe85ed6836165d52ae8b88f99527d3d1b2362e0cb90b005409b8bed90e9059b3"}, + {file = "mypy-1.10.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c2ae450d60d7d020d67ab440c6e3fae375809988119817214440033f26ddf7bf"}, + {file = "mypy-1.10.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6be84c06e6abd72f960ba9a71561c14137a583093ffcf9bbfaf5e613d63fa531"}, + {file = "mypy-1.10.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:2189ff1e39db399f08205e22a797383613ce1cb0cb3b13d8bcf0170e45b96cc3"}, + {file = "mypy-1.10.1-cp39-cp39-win_amd64.whl", hash = "sha256:97a131ee36ac37ce9581f4220311247ab6cba896b4395b9c87af0675a13a755f"}, + {file = "mypy-1.10.1-py3-none-any.whl", hash = "sha256:71d8ac0b906354ebda8ef1673e5fde785936ac1f29ff6987c7483cfbd5a4235a"}, + {file = "mypy-1.10.1.tar.gz", hash = "sha256:1f8f492d7db9e3593ef42d4f115f04e556130f2819ad33ab84551403e97dd4c0"}, +] + +[package.dependencies] +mypy-extensions = ">=1.0.0" +tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} +typing-extensions = ">=4.1.0" + +[package.extras] +dmypy = ["psutil (>=4.0)"] +install-types = ["pip"] +mypyc = ["setuptools (>=50)"] +reports = ["lxml"] + +[[package]] +name = "mypy-extensions" +version = "1.0.0" +description = "Type system extensions for programs checked with the mypy type checker." +optional = false +python-versions = ">=3.5" +files = [ + {file = "mypy_extensions-1.0.0-py3-none-any.whl", hash = "sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d"}, + {file = "mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"}, +] + +[[package]] +name = "numpy" +version = "1.24.4" +description = "Fundamental package for array computing in Python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "numpy-1.24.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c0bfb52d2169d58c1cdb8cc1f16989101639b34c7d3ce60ed70b19c63eba0b64"}, + {file = "numpy-1.24.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ed094d4f0c177b1b8e7aa9cba7d6ceed51c0e569a5318ac0ca9a090680a6a1b1"}, + {file = "numpy-1.24.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79fc682a374c4a8ed08b331bef9c5f582585d1048fa6d80bc6c35bc384eee9b4"}, + {file = "numpy-1.24.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ffe43c74893dbf38c2b0a1f5428760a1a9c98285553c89e12d70a96a7f3a4d6"}, + {file = "numpy-1.24.4-cp310-cp310-win32.whl", hash = "sha256:4c21decb6ea94057331e111a5bed9a79d335658c27ce2adb580fb4d54f2ad9bc"}, + {file = "numpy-1.24.4-cp310-cp310-win_amd64.whl", hash = "sha256:b4bea75e47d9586d31e892a7401f76e909712a0fd510f58f5337bea9572c571e"}, + {file = "numpy-1.24.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f136bab9c2cfd8da131132c2cf6cc27331dd6fae65f95f69dcd4ae3c3639c810"}, + {file = "numpy-1.24.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e2926dac25b313635e4d6cf4dc4e51c8c0ebfed60b801c799ffc4c32bf3d1254"}, + {file = "numpy-1.24.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:222e40d0e2548690405b0b3c7b21d1169117391c2e82c378467ef9ab4c8f0da7"}, + {file = "numpy-1.24.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7215847ce88a85ce39baf9e89070cb860c98fdddacbaa6c0da3ffb31b3350bd5"}, + {file = "numpy-1.24.4-cp311-cp311-win32.whl", hash = "sha256:4979217d7de511a8d57f4b4b5b2b965f707768440c17cb70fbf254c4b225238d"}, + {file = "numpy-1.24.4-cp311-cp311-win_amd64.whl", hash = "sha256:b7b1fc9864d7d39e28f41d089bfd6353cb5f27ecd9905348c24187a768c79694"}, + {file = "numpy-1.24.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1452241c290f3e2a312c137a9999cdbf63f78864d63c79039bda65ee86943f61"}, + {file = "numpy-1.24.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:04640dab83f7c6c85abf9cd729c5b65f1ebd0ccf9de90b270cd61935eef0197f"}, + {file = "numpy-1.24.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5425b114831d1e77e4b5d812b69d11d962e104095a5b9c3b641a218abcc050e"}, + {file = "numpy-1.24.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd80e219fd4c71fc3699fc1dadac5dcf4fd882bfc6f7ec53d30fa197b8ee22dc"}, + {file = "numpy-1.24.4-cp38-cp38-win32.whl", hash = "sha256:4602244f345453db537be5314d3983dbf5834a9701b7723ec28923e2889e0bb2"}, + {file = "numpy-1.24.4-cp38-cp38-win_amd64.whl", hash = "sha256:692f2e0f55794943c5bfff12b3f56f99af76f902fc47487bdfe97856de51a706"}, + {file = "numpy-1.24.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2541312fbf09977f3b3ad449c4e5f4bb55d0dbf79226d7724211acc905049400"}, + {file = "numpy-1.24.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9667575fb6d13c95f1b36aca12c5ee3356bf001b714fc354eb5465ce1609e62f"}, + {file = "numpy-1.24.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f3a86ed21e4f87050382c7bc96571755193c4c1392490744ac73d660e8f564a9"}, + {file = "numpy-1.24.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d11efb4dbecbdf22508d55e48d9c8384db795e1b7b51ea735289ff96613ff74d"}, + {file = "numpy-1.24.4-cp39-cp39-win32.whl", hash = "sha256:6620c0acd41dbcb368610bb2f4d83145674040025e5536954782467100aa8835"}, + {file = "numpy-1.24.4-cp39-cp39-win_amd64.whl", hash = "sha256:befe2bf740fd8373cf56149a5c23a0f601e82869598d41f8e188a0e9869926f8"}, + {file = "numpy-1.24.4-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:31f13e25b4e304632a4619d0e0777662c2ffea99fcae2029556b17d8ff958aef"}, + {file = "numpy-1.24.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95f7ac6540e95bc440ad77f56e520da5bf877f87dca58bd095288dce8940532a"}, + {file = "numpy-1.24.4-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:e98f220aa76ca2a977fe435f5b04d7b3470c0a2e6312907b37ba6068f26787f2"}, + {file = "numpy-1.24.4.tar.gz", hash = "sha256:80f5e3a4e498641401868df4208b74581206afbee7cf7b8329daae82676d9463"}, +] + +[[package]] +name = "numpy" +version = "1.26.4" +description = "Fundamental package for array computing in Python" +optional = false +python-versions = ">=3.9" +files = [ + {file = "numpy-1.26.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9ff0f4f29c51e2803569d7a51c2304de5554655a60c5d776e35b4a41413830d0"}, + {file = "numpy-1.26.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2e4ee3380d6de9c9ec04745830fd9e2eccb3e6cf790d39d7b98ffd19b0dd754a"}, + {file = "numpy-1.26.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d209d8969599b27ad20994c8e41936ee0964e6da07478d6c35016bc386b66ad4"}, + {file = "numpy-1.26.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ffa75af20b44f8dba823498024771d5ac50620e6915abac414251bd971b4529f"}, + {file = "numpy-1.26.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:62b8e4b1e28009ef2846b4c7852046736bab361f7aeadeb6a5b89ebec3c7055a"}, + {file = "numpy-1.26.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a4abb4f9001ad2858e7ac189089c42178fcce737e4169dc61321660f1a96c7d2"}, + {file = "numpy-1.26.4-cp310-cp310-win32.whl", hash = "sha256:bfe25acf8b437eb2a8b2d49d443800a5f18508cd811fea3181723922a8a82b07"}, + {file = "numpy-1.26.4-cp310-cp310-win_amd64.whl", hash = "sha256:b97fe8060236edf3662adfc2c633f56a08ae30560c56310562cb4f95500022d5"}, + {file = "numpy-1.26.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4c66707fabe114439db9068ee468c26bbdf909cac0fb58686a42a24de1760c71"}, + {file = "numpy-1.26.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:edd8b5fe47dab091176d21bb6de568acdd906d1887a4584a15a9a96a1dca06ef"}, + {file = "numpy-1.26.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7ab55401287bfec946ced39700c053796e7cc0e3acbef09993a9ad2adba6ca6e"}, + {file = "numpy-1.26.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:666dbfb6ec68962c033a450943ded891bed2d54e6755e35e5835d63f4f6931d5"}, + {file = "numpy-1.26.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:96ff0b2ad353d8f990b63294c8986f1ec3cb19d749234014f4e7eb0112ceba5a"}, + {file = "numpy-1.26.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:60dedbb91afcbfdc9bc0b1f3f402804070deed7392c23eb7a7f07fa857868e8a"}, + {file = "numpy-1.26.4-cp311-cp311-win32.whl", hash = "sha256:1af303d6b2210eb850fcf03064d364652b7120803a0b872f5211f5234b399f20"}, + {file = "numpy-1.26.4-cp311-cp311-win_amd64.whl", hash = "sha256:cd25bcecc4974d09257ffcd1f098ee778f7834c3ad767fe5db785be9a4aa9cb2"}, + {file = "numpy-1.26.4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b3ce300f3644fb06443ee2222c2201dd3a89ea6040541412b8fa189341847218"}, + {file = "numpy-1.26.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:03a8c78d01d9781b28a6989f6fa1bb2c4f2d51201cf99d3dd875df6fbd96b23b"}, + {file = "numpy-1.26.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9fad7dcb1aac3c7f0584a5a8133e3a43eeb2fe127f47e3632d43d677c66c102b"}, + {file = "numpy-1.26.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:675d61ffbfa78604709862923189bad94014bef562cc35cf61d3a07bba02a7ed"}, + {file = "numpy-1.26.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:ab47dbe5cc8210f55aa58e4805fe224dac469cde56b9f731a4c098b91917159a"}, + {file = "numpy-1.26.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:1dda2e7b4ec9dd512f84935c5f126c8bd8b9f2fc001e9f54af255e8c5f16b0e0"}, + {file = "numpy-1.26.4-cp312-cp312-win32.whl", hash = "sha256:50193e430acfc1346175fcbdaa28ffec49947a06918b7b92130744e81e640110"}, + {file = "numpy-1.26.4-cp312-cp312-win_amd64.whl", hash = "sha256:08beddf13648eb95f8d867350f6a018a4be2e5ad54c8d8caed89ebca558b2818"}, + {file = "numpy-1.26.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:7349ab0fa0c429c82442a27a9673fc802ffdb7c7775fad780226cb234965e53c"}, + {file = "numpy-1.26.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:52b8b60467cd7dd1e9ed082188b4e6bb35aa5cdd01777621a1658910745b90be"}, + {file = "numpy-1.26.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d5241e0a80d808d70546c697135da2c613f30e28251ff8307eb72ba696945764"}, + {file = "numpy-1.26.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f870204a840a60da0b12273ef34f7051e98c3b5961b61b0c2c1be6dfd64fbcd3"}, + {file = "numpy-1.26.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:679b0076f67ecc0138fd2ede3a8fd196dddc2ad3254069bcb9faf9a79b1cebcd"}, + {file = "numpy-1.26.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:47711010ad8555514b434df65f7d7b076bb8261df1ca9bb78f53d3b2db02e95c"}, + {file = "numpy-1.26.4-cp39-cp39-win32.whl", hash = "sha256:a354325ee03388678242a4d7ebcd08b5c727033fcff3b2f536aea978e15ee9e6"}, + {file = "numpy-1.26.4-cp39-cp39-win_amd64.whl", hash = "sha256:3373d5d70a5fe74a2c1bb6d2cfd9609ecf686d47a2d7b1d37a8f3b6bf6003aea"}, + {file = "numpy-1.26.4-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:afedb719a9dcfc7eaf2287b839d8198e06dcd4cb5d276a3df279231138e83d30"}, + {file = "numpy-1.26.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95a7476c59002f2f6c590b9b7b998306fba6a5aa646b1e22ddfeaf8f78c3a29c"}, + {file = "numpy-1.26.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7e50d0a0cc3189f9cb0aeb3a6a6af18c16f59f004b866cd2be1c14b36134a4a0"}, + {file = "numpy-1.26.4.tar.gz", hash = "sha256:2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010"}, +] + +[[package]] +name = "oauthlib" +version = "3.2.2" +description = "A generic, spec-compliant, thorough implementation of the OAuth request-signing logic" +optional = false +python-versions = ">=3.6" +files = [ + {file = "oauthlib-3.2.2-py3-none-any.whl", hash = "sha256:8139f29aac13e25d502680e9e19963e83f16838d48a0d71c287fe40e7067fbca"}, + {file = "oauthlib-3.2.2.tar.gz", hash = "sha256:9859c40929662bec5d64f34d01c99e093149682a3f38915dc0655d5a633dd918"}, +] + +[package.extras] +rsa = ["cryptography (>=3.0.0)"] +signals = ["blinker (>=1.4.0)"] +signedtoken = ["cryptography (>=3.0.0)", "pyjwt (>=2.0.0,<3)"] + +[[package]] +name = "openpyxl" +version = "3.1.5" +description = "A Python library to read/write Excel 2010 xlsx/xlsm files" +optional = false +python-versions = ">=3.8" +files = [ + {file = "openpyxl-3.1.5-py2.py3-none-any.whl", hash = "sha256:5282c12b107bffeef825f4617dc029afaf41d0ea60823bbb665ef3079dc79de2"}, + {file = "openpyxl-3.1.5.tar.gz", hash = "sha256:cf0e3cf56142039133628b5acffe8ef0c12bc902d2aadd3e0fe5878dc08d1050"}, +] + +[package.dependencies] +et-xmlfile = "*" + +[[package]] +name = "packaging" +version = "24.1" +description = "Core utilities for Python packages" +optional = false +python-versions = ">=3.8" +files = [ + {file = "packaging-24.1-py3-none-any.whl", hash = "sha256:5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124"}, + {file = "packaging-24.1.tar.gz", hash = "sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002"}, +] + +[[package]] +name = "pandas" +version = "2.0.3" +description = "Powerful data structures for data analysis, time series, and statistics" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pandas-2.0.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e4c7c9f27a4185304c7caf96dc7d91bc60bc162221152de697c98eb0b2648dd8"}, + {file = "pandas-2.0.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f167beed68918d62bffb6ec64f2e1d8a7d297a038f86d4aed056b9493fca407f"}, + {file = "pandas-2.0.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ce0c6f76a0f1ba361551f3e6dceaff06bde7514a374aa43e33b588ec10420183"}, + {file = "pandas-2.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba619e410a21d8c387a1ea6e8a0e49bb42216474436245718d7f2e88a2f8d7c0"}, + {file = "pandas-2.0.3-cp310-cp310-win32.whl", hash = "sha256:3ef285093b4fe5058eefd756100a367f27029913760773c8bf1d2d8bebe5d210"}, + {file = "pandas-2.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:9ee1a69328d5c36c98d8e74db06f4ad518a1840e8ccb94a4ba86920986bb617e"}, + {file = "pandas-2.0.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b084b91d8d66ab19f5bb3256cbd5ea661848338301940e17f4492b2ce0801fe8"}, + {file = "pandas-2.0.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:37673e3bdf1551b95bf5d4ce372b37770f9529743d2498032439371fc7b7eb26"}, + {file = "pandas-2.0.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b9cb1e14fdb546396b7e1b923ffaeeac24e4cedd14266c3497216dd4448e4f2d"}, + {file = "pandas-2.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d9cd88488cceb7635aebb84809d087468eb33551097d600c6dad13602029c2df"}, + {file = "pandas-2.0.3-cp311-cp311-win32.whl", hash = "sha256:694888a81198786f0e164ee3a581df7d505024fbb1f15202fc7db88a71d84ebd"}, + {file = "pandas-2.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:6a21ab5c89dcbd57f78d0ae16630b090eec626360085a4148693def5452d8a6b"}, + {file = "pandas-2.0.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:9e4da0d45e7f34c069fe4d522359df7d23badf83abc1d1cef398895822d11061"}, + {file = "pandas-2.0.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:32fca2ee1b0d93dd71d979726b12b61faa06aeb93cf77468776287f41ff8fdc5"}, + {file = "pandas-2.0.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:258d3624b3ae734490e4d63c430256e716f488c4fcb7c8e9bde2d3aa46c29089"}, + {file = "pandas-2.0.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9eae3dc34fa1aa7772dd3fc60270d13ced7346fcbcfee017d3132ec625e23bb0"}, + {file = "pandas-2.0.3-cp38-cp38-win32.whl", hash = "sha256:f3421a7afb1a43f7e38e82e844e2bca9a6d793d66c1a7f9f0ff39a795bbc5e02"}, + {file = "pandas-2.0.3-cp38-cp38-win_amd64.whl", hash = "sha256:69d7f3884c95da3a31ef82b7618af5710dba95bb885ffab339aad925c3e8ce78"}, + {file = "pandas-2.0.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5247fb1ba347c1261cbbf0fcfba4a3121fbb4029d95d9ef4dc45406620b25c8b"}, + {file = "pandas-2.0.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:81af086f4543c9d8bb128328b5d32e9986e0c84d3ee673a2ac6fb57fd14f755e"}, + {file = "pandas-2.0.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1994c789bf12a7c5098277fb43836ce090f1073858c10f9220998ac74f37c69b"}, + {file = "pandas-2.0.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5ec591c48e29226bcbb316e0c1e9423622bc7a4eaf1ef7c3c9fa1a3981f89641"}, + {file = "pandas-2.0.3-cp39-cp39-win32.whl", hash = "sha256:04dbdbaf2e4d46ca8da896e1805bc04eb85caa9a82e259e8eed00254d5e0c682"}, + {file = "pandas-2.0.3-cp39-cp39-win_amd64.whl", hash = "sha256:1168574b036cd8b93abc746171c9b4f1b83467438a5e45909fed645cf8692dbc"}, + {file = "pandas-2.0.3.tar.gz", hash = "sha256:c02f372a88e0d17f36d3093a644c73cfc1788e876a7c4bcb4020a77512e2043c"}, +] + +[package.dependencies] +numpy = [ + {version = ">=1.20.3", markers = "python_version < \"3.10\""}, + {version = ">=1.21.0", markers = "python_version >= \"3.10\" and python_version < \"3.11\""}, + {version = ">=1.23.2", markers = "python_version >= \"3.11\""}, +] +python-dateutil = ">=2.8.2" +pytz = ">=2020.1" +tzdata = ">=2022.1" + +[package.extras] +all = ["PyQt5 (>=5.15.1)", "SQLAlchemy (>=1.4.16)", "beautifulsoup4 (>=4.9.3)", "bottleneck (>=1.3.2)", "brotlipy (>=0.7.0)", "fastparquet (>=0.6.3)", "fsspec (>=2021.07.0)", "gcsfs (>=2021.07.0)", "html5lib (>=1.1)", "hypothesis (>=6.34.2)", "jinja2 (>=3.0.0)", "lxml (>=4.6.3)", "matplotlib (>=3.6.1)", "numba (>=0.53.1)", "numexpr (>=2.7.3)", "odfpy (>=1.4.1)", "openpyxl (>=3.0.7)", "pandas-gbq (>=0.15.0)", "psycopg2 (>=2.8.6)", "pyarrow (>=7.0.0)", "pymysql (>=1.0.2)", "pyreadstat (>=1.1.2)", "pytest (>=7.3.2)", "pytest-asyncio (>=0.17.0)", "pytest-xdist (>=2.2.0)", "python-snappy (>=0.6.0)", "pyxlsb (>=1.0.8)", "qtpy (>=2.2.0)", "s3fs (>=2021.08.0)", "scipy (>=1.7.1)", "tables (>=3.6.1)", "tabulate (>=0.8.9)", "xarray (>=0.21.0)", "xlrd (>=2.0.1)", "xlsxwriter (>=1.4.3)", "zstandard (>=0.15.2)"] +aws = ["s3fs (>=2021.08.0)"] +clipboard = ["PyQt5 (>=5.15.1)", "qtpy (>=2.2.0)"] +compression = ["brotlipy (>=0.7.0)", "python-snappy (>=0.6.0)", "zstandard (>=0.15.2)"] +computation = ["scipy (>=1.7.1)", "xarray (>=0.21.0)"] +excel = ["odfpy (>=1.4.1)", "openpyxl (>=3.0.7)", "pyxlsb (>=1.0.8)", "xlrd (>=2.0.1)", "xlsxwriter (>=1.4.3)"] +feather = ["pyarrow (>=7.0.0)"] +fss = ["fsspec (>=2021.07.0)"] +gcp = ["gcsfs (>=2021.07.0)", "pandas-gbq (>=0.15.0)"] +hdf5 = ["tables (>=3.6.1)"] +html = ["beautifulsoup4 (>=4.9.3)", "html5lib (>=1.1)", "lxml (>=4.6.3)"] +mysql = ["SQLAlchemy (>=1.4.16)", "pymysql (>=1.0.2)"] +output-formatting = ["jinja2 (>=3.0.0)", "tabulate (>=0.8.9)"] +parquet = ["pyarrow (>=7.0.0)"] +performance = ["bottleneck (>=1.3.2)", "numba (>=0.53.1)", "numexpr (>=2.7.1)"] +plot = ["matplotlib (>=3.6.1)"] +postgresql = ["SQLAlchemy (>=1.4.16)", "psycopg2 (>=2.8.6)"] +spss = ["pyreadstat (>=1.1.2)"] +sql-other = ["SQLAlchemy (>=1.4.16)"] +test = ["hypothesis (>=6.34.2)", "pytest (>=7.3.2)", "pytest-asyncio (>=0.17.0)", "pytest-xdist (>=2.2.0)"] +xml = ["lxml (>=4.6.3)"] + +[[package]] +name = "pathspec" +version = "0.12.1" +description = "Utility library for gitignore style pattern matching of file paths." +optional = false +python-versions = ">=3.8" +files = [ + {file = "pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08"}, + {file = "pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712"}, +] + +[[package]] +name = "platformdirs" +version = "4.2.2" +description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." +optional = false +python-versions = ">=3.8" +files = [ + {file = "platformdirs-4.2.2-py3-none-any.whl", hash = "sha256:2d7a1657e36a80ea911db832a8a6ece5ee53d8de21edd5cc5879af6530b1bfee"}, + {file = "platformdirs-4.2.2.tar.gz", hash = "sha256:38b7b51f512eed9e84a22788b4bce1de17c0adb134d6becb09836e37d8654cd3"}, +] + +[package.extras] +docs = ["furo (>=2023.9.10)", "proselint (>=0.13)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.25.2)"] +test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4.3)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)"] +type = ["mypy (>=1.8)"] + +[[package]] +name = "pluggy" +version = "1.5.0" +description = "plugin and hook calling mechanisms for python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669"}, + {file = "pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1"}, +] + +[package.extras] +dev = ["pre-commit", "tox"] +testing = ["pytest", "pytest-benchmark"] + +[[package]] +name = "pyarrow" +version = "16.1.0" +description = "Python library for Apache Arrow" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pyarrow-16.1.0-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:17e23b9a65a70cc733d8b738baa6ad3722298fa0c81d88f63ff94bf25eaa77b9"}, + {file = "pyarrow-16.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:4740cc41e2ba5d641071d0ab5e9ef9b5e6e8c7611351a5cb7c1d175eaf43674a"}, + {file = "pyarrow-16.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:98100e0268d04e0eec47b73f20b39c45b4006f3c4233719c3848aa27a03c1aef"}, + {file = "pyarrow-16.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f68f409e7b283c085f2da014f9ef81e885d90dcd733bd648cfba3ef265961848"}, + {file = "pyarrow-16.1.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:a8914cd176f448e09746037b0c6b3a9d7688cef451ec5735094055116857580c"}, + {file = "pyarrow-16.1.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:48be160782c0556156d91adbdd5a4a7e719f8d407cb46ae3bb4eaee09b3111bd"}, + {file = "pyarrow-16.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:9cf389d444b0f41d9fe1444b70650fea31e9d52cfcb5f818b7888b91b586efff"}, + {file = "pyarrow-16.1.0-cp311-cp311-macosx_10_15_x86_64.whl", hash = "sha256:d0ebea336b535b37eee9eee31761813086d33ed06de9ab6fc6aaa0bace7b250c"}, + {file = "pyarrow-16.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2e73cfc4a99e796727919c5541c65bb88b973377501e39b9842ea71401ca6c1c"}, + {file = "pyarrow-16.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bf9251264247ecfe93e5f5a0cd43b8ae834f1e61d1abca22da55b20c788417f6"}, + {file = "pyarrow-16.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ddf5aace92d520d3d2a20031d8b0ec27b4395cab9f74e07cc95edf42a5cc0147"}, + {file = "pyarrow-16.1.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:25233642583bf658f629eb230b9bb79d9af4d9f9229890b3c878699c82f7d11e"}, + {file = "pyarrow-16.1.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:a33a64576fddfbec0a44112eaf844c20853647ca833e9a647bfae0582b2ff94b"}, + {file = "pyarrow-16.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:185d121b50836379fe012753cf15c4ba9638bda9645183ab36246923875f8d1b"}, + {file = "pyarrow-16.1.0-cp312-cp312-macosx_10_15_x86_64.whl", hash = "sha256:2e51ca1d6ed7f2e9d5c3c83decf27b0d17bb207a7dea986e8dc3e24f80ff7d6f"}, + {file = "pyarrow-16.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:06ebccb6f8cb7357de85f60d5da50e83507954af617d7b05f48af1621d331c9a"}, + {file = "pyarrow-16.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b04707f1979815f5e49824ce52d1dceb46e2f12909a48a6a753fe7cafbc44a0c"}, + {file = "pyarrow-16.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0d32000693deff8dc5df444b032b5985a48592c0697cb6e3071a5d59888714e2"}, + {file = "pyarrow-16.1.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:8785bb10d5d6fd5e15d718ee1d1f914fe768bf8b4d1e5e9bf253de8a26cb1628"}, + {file = "pyarrow-16.1.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:e1369af39587b794873b8a307cc6623a3b1194e69399af0efd05bb202195a5a7"}, + {file = "pyarrow-16.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:febde33305f1498f6df85e8020bca496d0e9ebf2093bab9e0f65e2b4ae2b3444"}, + {file = "pyarrow-16.1.0-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:b5f5705ab977947a43ac83b52ade3b881eb6e95fcc02d76f501d549a210ba77f"}, + {file = "pyarrow-16.1.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:0d27bf89dfc2576f6206e9cd6cf7a107c9c06dc13d53bbc25b0bd4556f19cf5f"}, + {file = "pyarrow-16.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0d07de3ee730647a600037bc1d7b7994067ed64d0eba797ac74b2bc77384f4c2"}, + {file = "pyarrow-16.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fbef391b63f708e103df99fbaa3acf9f671d77a183a07546ba2f2c297b361e83"}, + {file = "pyarrow-16.1.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:19741c4dbbbc986d38856ee7ddfdd6a00fc3b0fc2d928795b95410d38bb97d15"}, + {file = "pyarrow-16.1.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:f2c5fb249caa17b94e2b9278b36a05ce03d3180e6da0c4c3b3ce5b2788f30eed"}, + {file = "pyarrow-16.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:e6b6d3cd35fbb93b70ade1336022cc1147b95ec6af7d36906ca7fe432eb09710"}, + {file = "pyarrow-16.1.0-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:18da9b76a36a954665ccca8aa6bd9f46c1145f79c0bb8f4f244f5f8e799bca55"}, + {file = "pyarrow-16.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:99f7549779b6e434467d2aa43ab2b7224dd9e41bdde486020bae198978c9e05e"}, + {file = "pyarrow-16.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f07fdffe4fd5b15f5ec15c8b64584868d063bc22b86b46c9695624ca3505b7b4"}, + {file = "pyarrow-16.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ddfe389a08ea374972bd4065d5f25d14e36b43ebc22fc75f7b951f24378bf0b5"}, + {file = "pyarrow-16.1.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:3b20bd67c94b3a2ea0a749d2a5712fc845a69cb5d52e78e6449bbd295611f3aa"}, + {file = "pyarrow-16.1.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:ba8ac20693c0bb0bf4b238751d4409e62852004a8cf031c73b0e0962b03e45e3"}, + {file = "pyarrow-16.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:31a1851751433d89a986616015841977e0a188662fcffd1a5677453f1df2de0a"}, + {file = "pyarrow-16.1.0.tar.gz", hash = "sha256:15fbb22ea96d11f0b5768504a3f961edab25eaf4197c341720c4a387f6c60315"}, +] + +[package.dependencies] +numpy = ">=1.16.6" + +[[package]] +name = "pylint" +version = "3.2.5" +description = "python code static checker" +optional = false +python-versions = ">=3.8.0" +files = [ + {file = "pylint-3.2.5-py3-none-any.whl", hash = "sha256:32cd6c042b5004b8e857d727708720c54a676d1e22917cf1a2df9b4d4868abd6"}, + {file = "pylint-3.2.5.tar.gz", hash = "sha256:e9b7171e242dcc6ebd0aaa7540481d1a72860748a0a7816b8fe6cf6c80a6fe7e"}, +] + +[package.dependencies] +astroid = ">=3.2.2,<=3.3.0-dev0" +colorama = {version = ">=0.4.5", markers = "sys_platform == \"win32\""} +dill = [ + {version = ">=0.2", markers = "python_version < \"3.11\""}, + {version = ">=0.3.7", markers = "python_version >= \"3.12\""}, + {version = ">=0.3.6", markers = "python_version >= \"3.11\" and python_version < \"3.12\""}, +] +isort = ">=4.2.5,<5.13.0 || >5.13.0,<6" +mccabe = ">=0.6,<0.8" +platformdirs = ">=2.2.0" +tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} +tomlkit = ">=0.10.1" +typing-extensions = {version = ">=3.10.0", markers = "python_version < \"3.10\""} + +[package.extras] +spelling = ["pyenchant (>=3.2,<4.0)"] +testutils = ["gitpython (>3)"] + +[[package]] +name = "pytest" +version = "7.4.4" +description = "pytest: simple powerful testing with Python" +optional = false +python-versions = ">=3.7" +files = [ + {file = "pytest-7.4.4-py3-none-any.whl", hash = "sha256:b090cdf5ed60bf4c45261be03239c2c1c22df034fbffe691abe93cd80cea01d8"}, + {file = "pytest-7.4.4.tar.gz", hash = "sha256:2cf0005922c6ace4a3e2ec8b4080eb0d9753fdc93107415332f50ce9e7994280"}, +] + +[package.dependencies] +colorama = {version = "*", markers = "sys_platform == \"win32\""} +exceptiongroup = {version = ">=1.0.0rc8", markers = "python_version < \"3.11\""} +iniconfig = "*" +packaging = "*" +pluggy = ">=0.12,<2.0" +tomli = {version = ">=1.0.0", markers = "python_version < \"3.11\""} + +[package.extras] +testing = ["argcomplete", "attrs (>=19.2.0)", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "setuptools", "xmlschema"] + +[[package]] +name = "pytest-dotenv" +version = "0.5.2" +description = "A py.test plugin that parses environment files before running tests" +optional = false +python-versions = "*" +files = [ + {file = "pytest-dotenv-0.5.2.tar.gz", hash = "sha256:2dc6c3ac6d8764c71c6d2804e902d0ff810fa19692e95fe138aefc9b1aa73732"}, + {file = "pytest_dotenv-0.5.2-py3-none-any.whl", hash = "sha256:40a2cece120a213898afaa5407673f6bd924b1fa7eafce6bda0e8abffe2f710f"}, +] + +[package.dependencies] +pytest = ">=5.0.0" +python-dotenv = ">=0.9.1" + +[[package]] +name = "python-dateutil" +version = "2.9.0.post0" +description = "Extensions to the standard Python datetime module" +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" +files = [ + {file = "python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3"}, + {file = "python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427"}, +] + +[package.dependencies] +six = ">=1.5" + +[[package]] +name = "python-dotenv" +version = "1.0.1" +description = "Read key-value pairs from a .env file and set them as environment variables" +optional = false +python-versions = ">=3.8" +files = [ + {file = "python-dotenv-1.0.1.tar.gz", hash = "sha256:e324ee90a023d808f1959c46bcbc04446a10ced277783dc6ee09987c37ec10ca"}, + {file = "python_dotenv-1.0.1-py3-none-any.whl", hash = "sha256:f7b63ef50f1b690dddf550d03497b66d609393b40b564ed0d674909a68ebf16a"}, +] + +[package.extras] +cli = ["click (>=5.0)"] + +[[package]] +name = "pytz" +version = "2024.1" +description = "World timezone definitions, modern and historical" +optional = false +python-versions = "*" +files = [ + {file = "pytz-2024.1-py2.py3-none-any.whl", hash = "sha256:328171f4e3623139da4983451950b28e95ac706e13f3f2630a879749e7a8b319"}, + {file = "pytz-2024.1.tar.gz", hash = "sha256:2a29735ea9c18baf14b448846bde5a48030ed267578472d8955cd0e7443a9812"}, +] + +[[package]] +name = "requests" +version = "2.32.3" +description = "Python HTTP for Humans." +optional = false +python-versions = ">=3.8" +files = [ + {file = "requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6"}, + {file = "requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760"}, +] + +[package.dependencies] +certifi = ">=2017.4.17" +charset-normalizer = ">=2,<4" +idna = ">=2.5,<4" +urllib3 = ">=1.21.1,<3" + +[package.extras] +socks = ["PySocks (>=1.5.6,!=1.5.7)"] +use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] + +[[package]] +name = "six" +version = "1.16.0" +description = "Python 2 and 3 compatibility utilities" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" +files = [ + {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, + {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, +] + +[[package]] +name = "sqlalchemy" +version = "2.0.31" +description = "Database Abstraction Library" +optional = true +python-versions = ">=3.7" +files = [ + {file = "SQLAlchemy-2.0.31-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f2a213c1b699d3f5768a7272de720387ae0122f1becf0901ed6eaa1abd1baf6c"}, + {file = "SQLAlchemy-2.0.31-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9fea3d0884e82d1e33226935dac990b967bef21315cbcc894605db3441347443"}, + {file = "SQLAlchemy-2.0.31-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f3ad7f221d8a69d32d197e5968d798217a4feebe30144986af71ada8c548e9fa"}, + {file = "SQLAlchemy-2.0.31-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9f2bee229715b6366f86a95d497c347c22ddffa2c7c96143b59a2aa5cc9eebbc"}, + {file = "SQLAlchemy-2.0.31-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:cd5b94d4819c0c89280b7c6109c7b788a576084bf0a480ae17c227b0bc41e109"}, + {file = "SQLAlchemy-2.0.31-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:750900a471d39a7eeba57580b11983030517a1f512c2cb287d5ad0fcf3aebd58"}, + {file = "SQLAlchemy-2.0.31-cp310-cp310-win32.whl", hash = "sha256:7bd112be780928c7f493c1a192cd8c5fc2a2a7b52b790bc5a84203fb4381c6be"}, + {file = "SQLAlchemy-2.0.31-cp310-cp310-win_amd64.whl", hash = "sha256:5a48ac4d359f058474fadc2115f78a5cdac9988d4f99eae44917f36aa1476327"}, + {file = "SQLAlchemy-2.0.31-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f68470edd70c3ac3b6cd5c2a22a8daf18415203ca1b036aaeb9b0fb6f54e8298"}, + {file = "SQLAlchemy-2.0.31-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2e2c38c2a4c5c634fe6c3c58a789712719fa1bf9b9d6ff5ebfce9a9e5b89c1ca"}, + {file = "SQLAlchemy-2.0.31-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bd15026f77420eb2b324dcb93551ad9c5f22fab2c150c286ef1dc1160f110203"}, + {file = "SQLAlchemy-2.0.31-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2196208432deebdfe3b22185d46b08f00ac9d7b01284e168c212919891289396"}, + {file = "SQLAlchemy-2.0.31-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:352b2770097f41bff6029b280c0e03b217c2dcaddc40726f8f53ed58d8a85da4"}, + {file = "SQLAlchemy-2.0.31-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:56d51ae825d20d604583f82c9527d285e9e6d14f9a5516463d9705dab20c3740"}, + {file = "SQLAlchemy-2.0.31-cp311-cp311-win32.whl", hash = "sha256:6e2622844551945db81c26a02f27d94145b561f9d4b0c39ce7bfd2fda5776dac"}, + {file = "SQLAlchemy-2.0.31-cp311-cp311-win_amd64.whl", hash = "sha256:ccaf1b0c90435b6e430f5dd30a5aede4764942a695552eb3a4ab74ed63c5b8d3"}, + {file = "SQLAlchemy-2.0.31-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3b74570d99126992d4b0f91fb87c586a574a5872651185de8297c6f90055ae42"}, + {file = "SQLAlchemy-2.0.31-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6f77c4f042ad493cb8595e2f503c7a4fe44cd7bd59c7582fd6d78d7e7b8ec52c"}, + {file = "SQLAlchemy-2.0.31-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cd1591329333daf94467e699e11015d9c944f44c94d2091f4ac493ced0119449"}, + {file = "SQLAlchemy-2.0.31-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:74afabeeff415e35525bf7a4ecdab015f00e06456166a2eba7590e49f8db940e"}, + {file = "SQLAlchemy-2.0.31-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:b9c01990d9015df2c6f818aa8f4297d42ee71c9502026bb074e713d496e26b67"}, + {file = "SQLAlchemy-2.0.31-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:66f63278db425838b3c2b1c596654b31939427016ba030e951b292e32b99553e"}, + {file = "SQLAlchemy-2.0.31-cp312-cp312-win32.whl", hash = "sha256:0b0f658414ee4e4b8cbcd4a9bb0fd743c5eeb81fc858ca517217a8013d282c96"}, + {file = "SQLAlchemy-2.0.31-cp312-cp312-win_amd64.whl", hash = "sha256:fa4b1af3e619b5b0b435e333f3967612db06351217c58bfb50cee5f003db2a5a"}, + {file = "SQLAlchemy-2.0.31-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:f43e93057cf52a227eda401251c72b6fbe4756f35fa6bfebb5d73b86881e59b0"}, + {file = "SQLAlchemy-2.0.31-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d337bf94052856d1b330d5fcad44582a30c532a2463776e1651bd3294ee7e58b"}, + {file = "SQLAlchemy-2.0.31-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c06fb43a51ccdff3b4006aafee9fcf15f63f23c580675f7734245ceb6b6a9e05"}, + {file = "SQLAlchemy-2.0.31-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:b6e22630e89f0e8c12332b2b4c282cb01cf4da0d26795b7eae16702a608e7ca1"}, + {file = "SQLAlchemy-2.0.31-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:79a40771363c5e9f3a77f0e28b3302801db08040928146e6808b5b7a40749c88"}, + {file = "SQLAlchemy-2.0.31-cp37-cp37m-win32.whl", hash = "sha256:501ff052229cb79dd4c49c402f6cb03b5a40ae4771efc8bb2bfac9f6c3d3508f"}, + {file = "SQLAlchemy-2.0.31-cp37-cp37m-win_amd64.whl", hash = "sha256:597fec37c382a5442ffd471f66ce12d07d91b281fd474289356b1a0041bdf31d"}, + {file = "SQLAlchemy-2.0.31-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:dc6d69f8829712a4fd799d2ac8d79bdeff651c2301b081fd5d3fe697bd5b4ab9"}, + {file = "SQLAlchemy-2.0.31-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:23b9fbb2f5dd9e630db70fbe47d963c7779e9c81830869bd7d137c2dc1ad05fb"}, + {file = "SQLAlchemy-2.0.31-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2a21c97efcbb9f255d5c12a96ae14da873233597dfd00a3a0c4ce5b3e5e79704"}, + {file = "SQLAlchemy-2.0.31-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26a6a9837589c42b16693cf7bf836f5d42218f44d198f9343dd71d3164ceeeac"}, + {file = "SQLAlchemy-2.0.31-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:dc251477eae03c20fae8db9c1c23ea2ebc47331bcd73927cdcaecd02af98d3c3"}, + {file = "SQLAlchemy-2.0.31-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:2fd17e3bb8058359fa61248c52c7b09a97cf3c820e54207a50af529876451808"}, + {file = "SQLAlchemy-2.0.31-cp38-cp38-win32.whl", hash = "sha256:c76c81c52e1e08f12f4b6a07af2b96b9b15ea67ccdd40ae17019f1c373faa227"}, + {file = "SQLAlchemy-2.0.31-cp38-cp38-win_amd64.whl", hash = "sha256:4b600e9a212ed59355813becbcf282cfda5c93678e15c25a0ef896b354423238"}, + {file = "SQLAlchemy-2.0.31-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5b6cf796d9fcc9b37011d3f9936189b3c8074a02a4ed0c0fbbc126772c31a6d4"}, + {file = "SQLAlchemy-2.0.31-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:78fe11dbe37d92667c2c6e74379f75746dc947ee505555a0197cfba9a6d4f1a4"}, + {file = "SQLAlchemy-2.0.31-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2fc47dc6185a83c8100b37acda27658fe4dbd33b7d5e7324111f6521008ab4fe"}, + {file = "SQLAlchemy-2.0.31-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8a41514c1a779e2aa9a19f67aaadeb5cbddf0b2b508843fcd7bafdf4c6864005"}, + {file = "SQLAlchemy-2.0.31-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:afb6dde6c11ea4525318e279cd93c8734b795ac8bb5dda0eedd9ebaca7fa23f1"}, + {file = "SQLAlchemy-2.0.31-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:3f9faef422cfbb8fd53716cd14ba95e2ef655400235c3dfad1b5f467ba179c8c"}, + {file = "SQLAlchemy-2.0.31-cp39-cp39-win32.whl", hash = "sha256:fc6b14e8602f59c6ba893980bea96571dd0ed83d8ebb9c4479d9ed5425d562e9"}, + {file = "SQLAlchemy-2.0.31-cp39-cp39-win_amd64.whl", hash = "sha256:3cb8a66b167b033ec72c3812ffc8441d4e9f5f78f5e31e54dcd4c90a4ca5bebc"}, + {file = "SQLAlchemy-2.0.31-py3-none-any.whl", hash = "sha256:69f3e3c08867a8e4856e92d7afb618b95cdee18e0bc1647b77599722c9a28911"}, + {file = "SQLAlchemy-2.0.31.tar.gz", hash = "sha256:b607489dd4a54de56984a0c7656247504bd5523d9d0ba799aef59d4add009484"}, +] + +[package.dependencies] +greenlet = {version = "!=0.4.17", markers = "python_version < \"3.13\" and (platform_machine == \"aarch64\" or platform_machine == \"ppc64le\" or platform_machine == \"x86_64\" or platform_machine == \"amd64\" or platform_machine == \"AMD64\" or platform_machine == \"win32\" or platform_machine == \"WIN32\")"} +typing-extensions = ">=4.6.0" + +[package.extras] +aiomysql = ["aiomysql (>=0.2.0)", "greenlet (!=0.4.17)"] +aioodbc = ["aioodbc", "greenlet (!=0.4.17)"] +aiosqlite = ["aiosqlite", "greenlet (!=0.4.17)", "typing_extensions (!=3.10.0.1)"] +asyncio = ["greenlet (!=0.4.17)"] +asyncmy = ["asyncmy (>=0.2.3,!=0.2.4,!=0.2.6)", "greenlet (!=0.4.17)"] +mariadb-connector = ["mariadb (>=1.0.1,!=1.1.2,!=1.1.5)"] +mssql = ["pyodbc"] +mssql-pymssql = ["pymssql"] +mssql-pyodbc = ["pyodbc"] +mypy = ["mypy (>=0.910)"] +mysql = ["mysqlclient (>=1.4.0)"] +mysql-connector = ["mysql-connector-python"] +oracle = ["cx_oracle (>=8)"] +oracle-oracledb = ["oracledb (>=1.0.1)"] +postgresql = ["psycopg2 (>=2.7)"] +postgresql-asyncpg = ["asyncpg", "greenlet (!=0.4.17)"] +postgresql-pg8000 = ["pg8000 (>=1.29.1)"] +postgresql-psycopg = ["psycopg (>=3.0.7)"] +postgresql-psycopg2binary = ["psycopg2-binary"] +postgresql-psycopg2cffi = ["psycopg2cffi"] +postgresql-psycopgbinary = ["psycopg[binary] (>=3.0.7)"] +pymysql = ["pymysql"] +sqlcipher = ["sqlcipher3_binary"] + +[[package]] +name = "thrift" +version = "0.20.0" +description = "Python bindings for the Apache Thrift RPC system" +optional = false +python-versions = "*" +files = [ + {file = "thrift-0.20.0.tar.gz", hash = "sha256:4dd662eadf6b8aebe8a41729527bd69adf6ceaa2a8681cbef64d1273b3e8feba"}, +] + +[package.dependencies] +six = ">=1.7.2" + +[package.extras] +all = ["tornado (>=4.0)", "twisted"] +tornado = ["tornado (>=4.0)"] +twisted = ["twisted"] + +[[package]] +name = "tomli" +version = "2.0.1" +description = "A lil' TOML parser" +optional = false +python-versions = ">=3.7" +files = [ + {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"}, + {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, +] + +[[package]] +name = "tomlkit" +version = "0.12.5" +description = "Style preserving TOML library" +optional = false +python-versions = ">=3.7" +files = [ + {file = "tomlkit-0.12.5-py3-none-any.whl", hash = "sha256:af914f5a9c59ed9d0762c7b64d3b5d5df007448eb9cd2edc8a46b1eafead172f"}, + {file = "tomlkit-0.12.5.tar.gz", hash = "sha256:eef34fba39834d4d6b73c9ba7f3e4d1c417a4e56f89a7e96e090dd0d24b8fb3c"}, +] + +[[package]] +name = "typing-extensions" +version = "4.12.2" +description = "Backported and Experimental Type Hints for Python 3.8+" +optional = false +python-versions = ">=3.8" +files = [ + {file = "typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d"}, + {file = "typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8"}, +] + +[[package]] +name = "tzdata" +version = "2024.1" +description = "Provider of IANA time zone data" +optional = false +python-versions = ">=2" +files = [ + {file = "tzdata-2024.1-py2.py3-none-any.whl", hash = "sha256:9068bc196136463f5245e51efda838afa15aaeca9903f49050dfa2679db4d252"}, + {file = "tzdata-2024.1.tar.gz", hash = "sha256:2674120f8d891909751c38abcdfd386ac0a5a1127954fbc332af6b5ceae07efd"}, +] + +[[package]] +name = "urllib3" +version = "2.2.2" +description = "HTTP library with thread-safe connection pooling, file post, and more." +optional = false +python-versions = ">=3.8" +files = [ + {file = "urllib3-2.2.2-py3-none-any.whl", hash = "sha256:a448b2f64d686155468037e1ace9f2d2199776e17f0a46610480d311f73e3472"}, + {file = "urllib3-2.2.2.tar.gz", hash = "sha256:dd505485549a7a552833da5e6063639d0d177c04f23bc3864e41e5dc5f612168"}, +] + +[package.extras] +brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] +h2 = ["h2 (>=4,<5)"] +socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] +zstd = ["zstandard (>=0.18.0)"] + +[[package]] +name = "zipp" +version = "3.19.2" +description = "Backport of pathlib-compatible object wrapper for zip files" +optional = true +python-versions = ">=3.8" +files = [ + {file = "zipp-3.19.2-py3-none-any.whl", hash = "sha256:f091755f667055f2d02b32c53771a7a6c8b47e1fdbc4b72a8b9072b3eef8015c"}, + {file = "zipp-3.19.2.tar.gz", hash = "sha256:bf1dcf6450f873a13e952a29504887c89e6de7506209e5b1bcc3460135d4de19"}, +] + +[package.extras] +doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", "jaraco.test", "more-itertools", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy", "pytest-ruff (>=0.2.1)"] + +[extras] +alembic = ["alembic", "sqlalchemy"] +sqlalchemy = ["sqlalchemy"] + +[metadata] +lock-version = "2.0" +python-versions = "^3.8.0" +content-hash = "31066a85f646d0009d6fe9ffc833a64fcb4b6923c2e7f2652e7aa8540acba298" diff --git a/tester.py b/tester.py deleted file mode 100644 index 5a32a664..00000000 --- a/tester.py +++ /dev/null @@ -1 +0,0 @@ -from databricks_sqlalchemy import TIMESTAMP, TINYINT From 4496a045ab20cdf843d050b6a1e8172672f8017b Mon Sep 17 00:00:00 2001 From: Jothi Prakash Date: Thu, 19 Sep 2024 10:58:05 +0530 Subject: [PATCH 49/53] Refeactor code --- .gitignore | 2 +- README.md | 12 +++++++----- .../src/databricks/sql/auth/auth.py | 15 +-------------- .../tests/unit/test_auth.py | 8 +------- examples/interactive_oauth.py | 3 ++- 5 files changed, 12 insertions(+), 28 deletions(-) diff --git a/.gitignore b/.gitignore index 2ae38dbc..a1fe5bbd 100644 --- a/.gitignore +++ b/.gitignore @@ -195,7 +195,7 @@ cython_debug/ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore # and can be added to the global gitignore or merged into this file. For a more nuclear # option (not recommended) you can uncomment the following to ignore the entire idea folder. -.idea/ +#.idea/ # End of https://www.toptal.com/developers/gitignore/api/python,macos diff --git a/README.md b/README.md index 54d4b178..7b78173f 100644 --- a/README.md +++ b/README.md @@ -24,9 +24,12 @@ For the latest documentation, see Install the library with `pip install databricks-sql-connector` +Note: Don't hard-code authentication secrets into your Python. Use environment variables + ```bash export DATABRICKS_HOST=********.databricks.com export DATABRICKS_HTTP_PATH=/sql/1.0/endpoints/**************** +export DATABRICKS_TOKEN=dapi******************************** ``` Example usage: @@ -36,10 +39,12 @@ from databricks import sql host = os.getenv("DATABRICKS_HOST") http_path = os.getenv("DATABRICKS_HTTP_PATH") +access_token = os.getenv("DATABRICKS_TOKEN") connection = sql.connect( server_hostname=host, - http_path=http_path) + http_path=http_path, + access_token=access_token) cursor = connection.cursor() cursor.execute('SELECT :param `p`, * FROM RANGE(10)', {"param": "foo"}) @@ -55,10 +60,7 @@ In the above example: - `server-hostname` is the Databricks instance host name. - `http-path` is the HTTP Path either to a Databricks SQL endpoint (e.g. /sql/1.0/endpoints/1234567890abcdef), or to a Databricks Runtime interactive cluster (e.g. /sql/protocolv1/o/1234567890123456/1234-123456-slid123) - -> Note: This example uses [Databricks OAuth U2M](https://docs.databricks.com/en/dev-tools/auth/oauth-u2m.html) -> to authenticate the target Databricks user account and needs to open the browser for authentication. So it -> can only run on the user's machine. + `personal-access-token` is the Databricks Personal Access Token for the account that will execute commands and queries ## Contributing diff --git a/databricks_sql_connector_core/src/databricks/sql/auth/auth.py b/databricks_sql_connector_core/src/databricks/sql/auth/auth.py index 347934ee..2a6c9d4d 100755 --- a/databricks_sql_connector_core/src/databricks/sql/auth/auth.py +++ b/databricks_sql_connector_core/src/databricks/sql/auth/auth.py @@ -64,20 +64,7 @@ def get_auth_provider(cfg: ClientContext): # no op authenticator. authentication is performed using ssl certificate outside of headers return AuthProvider() else: - if ( - cfg.oauth_redirect_port_range is not None - and cfg.oauth_client_id is not None - and cfg.oauth_scopes is not None - ): - return DatabricksOAuthProvider( - cfg.hostname, - cfg.oauth_persistence, - cfg.oauth_redirect_port_range, - cfg.oauth_client_id, - cfg.oauth_scopes, - ) - else: - raise RuntimeError("No valid authentication settings!") + raise RuntimeError("No valid authentication settings!") PYSQL_OAUTH_SCOPES = ["sql", "offline_access"] diff --git a/databricks_sql_connector_core/tests/unit/test_auth.py b/databricks_sql_connector_core/tests/unit/test_auth.py index d6541525..e39cbad8 100644 --- a/databricks_sql_connector_core/tests/unit/test_auth.py +++ b/databricks_sql_connector_core/tests/unit/test_auth.py @@ -9,7 +9,7 @@ ExternalAuthProvider, AuthType, ) -from databricks.sql.auth.auth import get_python_sql_connector_auth_provider, PYSQL_OAUTH_CLIENT_ID +from databricks.sql.auth.auth import get_python_sql_connector_auth_provider from databricks.sql.auth.oauth import OAuthManager from databricks.sql.auth.authenticators import DatabricksOAuthProvider from databricks.sql.auth.endpoint import ( @@ -179,10 +179,4 @@ def test_get_python_sql_connector_basic_auth(self): get_python_sql_connector_auth_provider("foo.cloud.databricks.com", **kwargs) self.assertIn("Username/password authentication is no longer supported", str(e.exception)) - @patch.object(DatabricksOAuthProvider, "_initial_get_token") - def test_get_python_sql_connector_default_auth(self, mock__initial_get_token): - hostname = "foo.cloud.databricks.com" - auth_provider = get_python_sql_connector_auth_provider(hostname) - self.assertTrue(type(auth_provider).__name__, "DatabricksOAuthProvider") - self.assertTrue(auth_provider._client_id,PYSQL_OAUTH_CLIENT_ID) diff --git a/examples/interactive_oauth.py b/examples/interactive_oauth.py index dad5cac6..d7c59597 100644 --- a/examples/interactive_oauth.py +++ b/examples/interactive_oauth.py @@ -14,7 +14,8 @@ """ with sql.connect(server_hostname = os.getenv("DATABRICKS_SERVER_HOSTNAME"), - http_path = os.getenv("DATABRICKS_HTTP_PATH")) as connection: + http_path = os.getenv("DATABRICKS_HTTP_PATH"), + auth_type="databricks-oauth") as connection: for x in range(1, 100): cursor = connection.cursor() From 726b8ed2d707fc8dc20e33c347835c4fc9efbd82 Mon Sep 17 00:00:00 2001 From: Jothi Prakash Date: Thu, 19 Sep 2024 11:01:03 +0530 Subject: [PATCH 50/53] Refractor --- databricks_sql_connector_core/src/databricks/sql/client.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/databricks_sql_connector_core/src/databricks/sql/client.py b/databricks_sql_connector_core/src/databricks/sql/client.py index 72811628..b96d3a3a 100755 --- a/databricks_sql_connector_core/src/databricks/sql/client.py +++ b/databricks_sql_connector_core/src/databricks/sql/client.py @@ -99,7 +99,7 @@ def __init__( sanitise parameterized inputs to prevent SQL injection. The inline parameter approach is maintained for legacy purposes and will be deprecated in a future release. When this parameter is `True` you will see a warning log message. To suppress this log message, set `use_inline_params="silent"`. - auth_type: `str`, optional (default is databricks-oauth if neither `access_token` nor `tls_client_cert_file` is set) + auth_type: `str`, optional `databricks-oauth` : to use Databricks OAuth with fine-grained permission scopes, set to `databricks-oauth`. `azure-oauth` : to use Microsoft Entra ID OAuth flow, set to `azure-oauth`. From 66bfa6de327ffb83ff077461d187db5702ab7506 Mon Sep 17 00:00:00 2001 From: Jothi Prakash Date: Thu, 19 Sep 2024 13:58:19 +0530 Subject: [PATCH 51/53] Fixed versioning --- databricks_sql_connector/pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/databricks_sql_connector/pyproject.toml b/databricks_sql_connector/pyproject.toml index 22ae9366..6e7297d1 100644 --- a/databricks_sql_connector/pyproject.toml +++ b/databricks_sql_connector/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "databricks-sql-connector" -version = "3.3.0" +version = "3.5.0" description = "Databricks SQL Connector for Python" authors = ["Databricks "] license = "Apache-2.0" From 2c1cfbd052f90f924028702f287d26fe3ec0b854 Mon Sep 17 00:00:00 2001 From: Jothi Prakash Date: Thu, 19 Sep 2024 22:37:26 +0530 Subject: [PATCH 52/53] Minor refractoring --- README.md | 2 +- poetry.lock => databricks_sql_connector_core/poetry.lock | 0 .../tests/e2e/common/large_queries_mixin.py | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) rename poetry.lock => databricks_sql_connector_core/poetry.lock (100%) diff --git a/README.md b/README.md index 7b78173f..835831b2 100644 --- a/README.md +++ b/README.md @@ -60,7 +60,7 @@ In the above example: - `server-hostname` is the Databricks instance host name. - `http-path` is the HTTP Path either to a Databricks SQL endpoint (e.g. /sql/1.0/endpoints/1234567890abcdef), or to a Databricks Runtime interactive cluster (e.g. /sql/protocolv1/o/1234567890123456/1234-123456-slid123) - `personal-access-token` is the Databricks Personal Access Token for the account that will execute commands and queries +- `personal-access-token` is the Databricks Personal Access Token for the account that will execute commands and queries ## Contributing diff --git a/poetry.lock b/databricks_sql_connector_core/poetry.lock similarity index 100% rename from poetry.lock rename to databricks_sql_connector_core/poetry.lock diff --git a/databricks_sql_connector_core/tests/e2e/common/large_queries_mixin.py b/databricks_sql_connector_core/tests/e2e/common/large_queries_mixin.py index af152a89..07d02447 100644 --- a/databricks_sql_connector_core/tests/e2e/common/large_queries_mixin.py +++ b/databricks_sql_connector_core/tests/e2e/common/large_queries_mixin.py @@ -44,7 +44,7 @@ def fetch_rows(self, cursor, row_count, fetchmany_size): + "assuming 10K fetch size." ) - @skipUnless(pysql_supports_arrow(), "Without pyarrow lz4 compression is not supported") + @pytest.mark.skipif(not pysql_supports_arrow(), "Without pyarrow lz4 compression is not supported") def test_query_with_large_wide_result_set(self): resultSize = 300 * 1000 * 1000 # 300 MB width = 8192 # B From ae20a65d9826b93d27deef4122a6aad2f0548e7d Mon Sep 17 00:00:00 2001 From: Jothi Prakash Date: Thu, 19 Sep 2024 22:39:08 +0530 Subject: [PATCH 53/53] Minor refractoring --- databricks_sql_connector_core/src/databricks/sql/client.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/databricks_sql_connector_core/src/databricks/sql/client.py b/databricks_sql_connector_core/src/databricks/sql/client.py index b96d3a3a..d6fa8d13 100755 --- a/databricks_sql_connector_core/src/databricks/sql/client.py +++ b/databricks_sql_connector_core/src/databricks/sql/client.py @@ -1167,7 +1167,7 @@ def _convert_arrow_table(self, table): timestamp_as_object=True, ) - res = df.to_numpy(na_value=None, dtype="object") + res = df.to_numpy(na_value=None) return [ResultRow(*v) for v in res] @property

      !8r1VkQ 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 diff --git a/databricks_sql_connector_core/pyproject.toml b/databricks_sql_connector_core/pyproject.toml index f009a334..92df4725 100644 --- a/databricks_sql_connector_core/pyproject.toml +++ b/databricks_sql_connector_core/pyproject.toml @@ -5,7 +5,7 @@ description = "Databricks SQL Connector core for Python" authors = ["Databricks "] license = "Apache-2.0" readme = "README.md" -packages = [{ include = "databricks_sql_connector_core", from = "src" }] +packages = [{ include = "databricks", from = "src" }] include = ["CHANGELOG.md"] [tool.poetry.dependencies] diff --git a/databricks_sql_connector_core/src/databricks_sql_connector_core/__init__.py b/databricks_sql_connector_core/src/databricks/__init__.py similarity index 100% rename from databricks_sql_connector_core/src/databricks_sql_connector_core/__init__.py rename to databricks_sql_connector_core/src/databricks/__init__.py diff --git a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/__init__.py b/databricks_sql_connector_core/src/databricks/sql/__init__.py similarity index 97% rename from databricks_sql_connector_core/src/databricks_sql_connector_core/sql/__init__.py rename to databricks_sql_connector_core/src/databricks/sql/__init__.py index fd25109c..767cbf05 100644 --- a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/__init__.py +++ b/databricks_sql_connector_core/src/databricks/sql/__init__.py @@ -1,6 +1,6 @@ import datetime -from databricks_sql_connector_core.sql.exc import * +from databricks.sql.exc import * # PEP 249 module globals apilevel = "2.0" diff --git a/databricks_sql_connector/src/databricks/__init__.py b/databricks_sql_connector_core/src/databricks/sql/auth/__init__.py similarity index 100% rename from databricks_sql_connector/src/databricks/__init__.py rename to databricks_sql_connector_core/src/databricks/sql/auth/__init__.py diff --git a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/auth/auth.py b/databricks_sql_connector_core/src/databricks/sql/auth/auth.py similarity index 98% rename from databricks_sql_connector_core/src/databricks_sql_connector_core/sql/auth/auth.py rename to databricks_sql_connector_core/src/databricks/sql/auth/auth.py index 37355ce8..536dd4cc 100755 --- a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/auth/auth.py +++ b/databricks_sql_connector_core/src/databricks/sql/auth/auth.py @@ -1,7 +1,7 @@ from enum import Enum from typing import Optional, List -from databricks_sql_connector_core.sql.auth.authenticators import ( +from databricks.sql.auth.authenticators import ( AuthProvider, AccessTokenAuthProvider, ExternalAuthProvider, diff --git a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/auth/authenticators.py b/databricks_sql_connector_core/src/databricks/sql/auth/authenticators.py similarity index 96% rename from databricks_sql_connector_core/src/databricks_sql_connector_core/sql/auth/authenticators.py rename to databricks_sql_connector_core/src/databricks/sql/auth/authenticators.py index bb34b5b0..1c3838e6 100644 --- a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/auth/authenticators.py +++ b/databricks_sql_connector_core/src/databricks/sql/auth/authenticators.py @@ -3,15 +3,15 @@ import logging from typing import Callable, Dict, List -from databricks_sql_connector_core.sql.auth.oauth import OAuthManager -from databricks_sql_connector_core.sql.auth.endpoint import ( +from databricks.sql.auth.oauth import OAuthManager +from databricks.sql.auth.endpoint import ( get_oauth_endpoints, infer_cloud_from_host, ) # Private API: this is an evolving interface and it will change in the future. # Please must not depend on it in your applications. -from databricks_sql_connector_core.sql.experimental.oauth_persistence import ( +from databricks.sql.experimental.oauth_persistence import ( OAuthToken, OAuthPersistence, ) diff --git a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/auth/endpoint.py b/databricks_sql_connector_core/src/databricks/sql/auth/endpoint.py similarity index 100% rename from databricks_sql_connector_core/src/databricks_sql_connector_core/sql/auth/endpoint.py rename to databricks_sql_connector_core/src/databricks/sql/auth/endpoint.py diff --git a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/auth/oauth.py b/databricks_sql_connector_core/src/databricks/sql/auth/oauth.py similarity index 98% rename from databricks_sql_connector_core/src/databricks_sql_connector_core/sql/auth/oauth.py rename to databricks_sql_connector_core/src/databricks/sql/auth/oauth.py index 0944a901..3b34d999 100644 --- a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/auth/oauth.py +++ b/databricks_sql_connector_core/src/databricks/sql/auth/oauth.py @@ -13,10 +13,10 @@ from oauthlib.oauth2.rfc6749.errors import OAuth2Error from requests.exceptions import RequestException -from databricks_sql_connector_core.sql.auth.oauth_http_handler import ( +from databricks.sql.auth.oauth_http_handler import ( OAuthHttpSingleRequestHandler, ) -from databricks_sql_connector_core.sql.auth.endpoint import OAuthEndpointCollection +from databricks.sql.auth.endpoint import OAuthEndpointCollection logger = logging.getLogger(__name__) diff --git a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/auth/oauth_http_handler.py b/databricks_sql_connector_core/src/databricks/sql/auth/oauth_http_handler.py similarity index 100% rename from databricks_sql_connector_core/src/databricks_sql_connector_core/sql/auth/oauth_http_handler.py rename to databricks_sql_connector_core/src/databricks/sql/auth/oauth_http_handler.py diff --git a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/auth/retry.py b/databricks_sql_connector_core/src/databricks/sql/auth/retry.py similarity index 99% rename from databricks_sql_connector_core/src/databricks_sql_connector_core/sql/auth/retry.py rename to databricks_sql_connector_core/src/databricks/sql/auth/retry.py index e0c000a4..0c6547cb 100755 --- a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/auth/retry.py +++ b/databricks_sql_connector_core/src/databricks/sql/auth/retry.py @@ -14,7 +14,7 @@ from urllib3 import Retry from urllib3.util.retry import RequestHistory -from databricks_sql_connector_core.sql.exc import ( +from databricks.sql.exc import ( CursorAlreadyClosedError, MaxRetryDurationError, NonRecoverableNetworkError, diff --git a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/auth/thrift_http_client.py b/databricks_sql_connector_core/src/databricks/sql/auth/thrift_http_client.py similarity index 99% rename from databricks_sql_connector_core/src/databricks_sql_connector_core/sql/auth/thrift_http_client.py rename to databricks_sql_connector_core/src/databricks/sql/auth/thrift_http_client.py index f4fd0e13..655c0752 100644 --- a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/auth/thrift_http_client.py +++ b/databricks_sql_connector_core/src/databricks/sql/auth/thrift_http_client.py @@ -15,7 +15,7 @@ from urllib3 import HTTPConnectionPool, HTTPSConnectionPool, ProxyManager from urllib3.util import make_headers -from databricks_sql_connector_core.sql.auth.retry import ( +from databricks.sql.auth.retry import ( CommandType, DatabricksRetryPolicy, ) diff --git a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/client.py b/databricks_sql_connector_core/src/databricks/sql/client.py similarity index 98% rename from databricks_sql_connector_core/src/databricks_sql_connector_core/sql/client.py rename to databricks_sql_connector_core/src/databricks/sql/client.py index c8b8f52f..bd5faecd 100755 --- a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/client.py +++ b/databricks_sql_connector_core/src/databricks/sql/client.py @@ -13,16 +13,16 @@ import decimal from uuid import UUID -from databricks_sql_connector_core.sql import __version__ -from databricks_sql_connector_core.sql import * -from databricks_sql_connector_core.sql.exc import ( +from databricks.sql import __version__ +from databricks.sql import * +from databricks.sql.exc import ( OperationalError, SessionAlreadyClosedError, CursorAlreadyClosedError, ) -from databricks_sql_connector_core.sql.thrift_api.TCLIService import ttypes -from databricks_sql_connector_core.sql.thrift_backend import ThriftBackend -from databricks_sql_connector_core.sql.utils import ( +from databricks.sql.thrift_api.TCLIService import ttypes +from databricks.sql.thrift_backend import ThriftBackend +from databricks.sql.utils import ( ExecuteResponse, ParamEscaper, inject_parameters, @@ -30,7 +30,7 @@ ArrowQueue, ColumnQueue, ) -from databricks_sql_connector_core.sql.parameters.native import ( +from databricks.sql.parameters.native import ( DbsqlParameterBase, TDbsqlParameter, TParameterDict, @@ -42,15 +42,15 @@ ) -from databricks_sql_connector_core.sql.types import Row -from databricks_sql_connector_core.sql.auth.auth import ( +from databricks.sql.types import Row +from databricks.sql.auth.auth import ( get_python_sql_connector_auth_provider, ) -from databricks_sql_connector_core.sql.experimental.oauth_persistence import ( +from databricks.sql.experimental.oauth_persistence import ( OAuthPersistence, ) -from databricks_sql_connector_core.sql.thrift_api.TCLIService.ttypes import ( +from databricks.sql.thrift_api.TCLIService.ttypes import ( TSparkParameter, ) diff --git a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/auth/__init__.py b/databricks_sql_connector_core/src/databricks/sql/cloudfetch/__init__.py similarity index 100% rename from databricks_sql_connector_core/src/databricks_sql_connector_core/sql/auth/__init__.py rename to databricks_sql_connector_core/src/databricks/sql/cloudfetch/__init__.py diff --git a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/cloudfetch/download_manager.py b/databricks_sql_connector_core/src/databricks/sql/cloudfetch/download_manager.py similarity index 96% rename from databricks_sql_connector_core/src/databricks_sql_connector_core/sql/cloudfetch/download_manager.py rename to databricks_sql_connector_core/src/databricks/sql/cloudfetch/download_manager.py index ffa41f31..22787dc0 100644 --- a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/cloudfetch/download_manager.py +++ b/databricks_sql_connector_core/src/databricks/sql/cloudfetch/download_manager.py @@ -4,12 +4,12 @@ from concurrent.futures import ThreadPoolExecutor, Future from typing import List, Union -from databricks_sql_connector_core.sql.cloudfetch.downloader import ( +from databricks.sql.cloudfetch.downloader import ( ResultSetDownloadHandler, DownloadableResultSettings, DownloadedFile, ) -from databricks_sql_connector_core.sql.thrift_api.TCLIService.ttypes import ( +from databricks.sql.thrift_api.TCLIService.ttypes import ( TSparkArrowResultLink, ) diff --git a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/cloudfetch/downloader.py b/databricks_sql_connector_core/src/databricks/sql/cloudfetch/downloader.py similarity index 97% rename from databricks_sql_connector_core/src/databricks_sql_connector_core/sql/cloudfetch/downloader.py rename to databricks_sql_connector_core/src/databricks/sql/cloudfetch/downloader.py index 4667bf2a..af57ef2b 100644 --- a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/cloudfetch/downloader.py +++ b/databricks_sql_connector_core/src/databricks/sql/cloudfetch/downloader.py @@ -7,11 +7,11 @@ import lz4.frame import time -from databricks_sql_connector_core.sql.thrift_api.TCLIService.ttypes import ( +from databricks.sql.thrift_api.TCLIService.ttypes import ( TSparkArrowResultLink, ) -from databricks_sql_connector_core.sql.exc import Error +from databricks.sql.exc import Error logger = logging.getLogger(__name__) diff --git a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/exc.py b/databricks_sql_connector_core/src/databricks/sql/exc.py similarity index 100% rename from databricks_sql_connector_core/src/databricks_sql_connector_core/sql/exc.py rename to databricks_sql_connector_core/src/databricks/sql/exc.py diff --git a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/cloudfetch/__init__.py b/databricks_sql_connector_core/src/databricks/sql/experimental/__init__.py similarity index 100% rename from databricks_sql_connector_core/src/databricks_sql_connector_core/sql/cloudfetch/__init__.py rename to databricks_sql_connector_core/src/databricks/sql/experimental/__init__.py diff --git a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/experimental/oauth_persistence.py b/databricks_sql_connector_core/src/databricks/sql/experimental/oauth_persistence.py similarity index 100% rename from databricks_sql_connector_core/src/databricks_sql_connector_core/sql/experimental/oauth_persistence.py rename to databricks_sql_connector_core/src/databricks/sql/experimental/oauth_persistence.py diff --git a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/parameters/__init__.py b/databricks_sql_connector_core/src/databricks/sql/parameters/__init__.py similarity index 81% rename from databricks_sql_connector_core/src/databricks_sql_connector_core/sql/parameters/__init__.py rename to databricks_sql_connector_core/src/databricks/sql/parameters/__init__.py index 71c8a1f0..3c39cf2b 100644 --- a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/parameters/__init__.py +++ b/databricks_sql_connector_core/src/databricks/sql/parameters/__init__.py @@ -1,4 +1,4 @@ -from databricks_sql_connector_core.sql.parameters.native import ( +from databricks.sql.parameters.native import ( IntegerParameter, StringParameter, BigIntegerParameter, diff --git a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/parameters/native.py b/databricks_sql_connector_core/src/databricks/sql/parameters/native.py similarity index 99% rename from databricks_sql_connector_core/src/databricks_sql_connector_core/sql/parameters/native.py rename to databricks_sql_connector_core/src/databricks/sql/parameters/native.py index 75c30c3c..8a436355 100644 --- a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/parameters/native.py +++ b/databricks_sql_connector_core/src/databricks/sql/parameters/native.py @@ -3,8 +3,8 @@ from enum import Enum, auto from typing import Optional, Sequence -from databricks_sql_connector_core.sql.exc import NotSupportedError -from databricks_sql_connector_core.sql.thrift_api.TCLIService.ttypes import ( +from databricks.sql.exc import NotSupportedError +from databricks.sql.thrift_api.TCLIService.ttypes import ( TSparkParameter, TSparkParameterValue, ) diff --git a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/parameters/py.typed b/databricks_sql_connector_core/src/databricks/sql/parameters/py.typed similarity index 100% rename from databricks_sql_connector_core/src/databricks_sql_connector_core/sql/parameters/py.typed rename to databricks_sql_connector_core/src/databricks/sql/parameters/py.typed diff --git a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/py.typed b/databricks_sql_connector_core/src/databricks/sql/py.typed similarity index 100% rename from databricks_sql_connector_core/src/databricks_sql_connector_core/sql/py.typed rename to databricks_sql_connector_core/src/databricks/sql/py.typed diff --git a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/thrift_api/TCLIService/TCLIService-remote b/databricks_sql_connector_core/src/databricks/sql/thrift_api/TCLIService/TCLIService-remote similarity index 100% rename from databricks_sql_connector_core/src/databricks_sql_connector_core/sql/thrift_api/TCLIService/TCLIService-remote rename to databricks_sql_connector_core/src/databricks/sql/thrift_api/TCLIService/TCLIService-remote diff --git a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/thrift_api/TCLIService/TCLIService.py b/databricks_sql_connector_core/src/databricks/sql/thrift_api/TCLIService/TCLIService.py similarity index 100% rename from databricks_sql_connector_core/src/databricks_sql_connector_core/sql/thrift_api/TCLIService/TCLIService.py rename to databricks_sql_connector_core/src/databricks/sql/thrift_api/TCLIService/TCLIService.py diff --git a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/thrift_api/TCLIService/__init__.py b/databricks_sql_connector_core/src/databricks/sql/thrift_api/TCLIService/__init__.py similarity index 100% rename from databricks_sql_connector_core/src/databricks_sql_connector_core/sql/thrift_api/TCLIService/__init__.py rename to databricks_sql_connector_core/src/databricks/sql/thrift_api/TCLIService/__init__.py diff --git a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/thrift_api/TCLIService/constants.py b/databricks_sql_connector_core/src/databricks/sql/thrift_api/TCLIService/constants.py similarity index 100% rename from databricks_sql_connector_core/src/databricks_sql_connector_core/sql/thrift_api/TCLIService/constants.py rename to databricks_sql_connector_core/src/databricks/sql/thrift_api/TCLIService/constants.py diff --git a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/thrift_api/TCLIService/ttypes.py b/databricks_sql_connector_core/src/databricks/sql/thrift_api/TCLIService/ttypes.py similarity index 100% rename from databricks_sql_connector_core/src/databricks_sql_connector_core/sql/thrift_api/TCLIService/ttypes.py rename to databricks_sql_connector_core/src/databricks/sql/thrift_api/TCLIService/ttypes.py diff --git a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/experimental/__init__.py b/databricks_sql_connector_core/src/databricks/sql/thrift_api/__init__.py similarity index 100% rename from databricks_sql_connector_core/src/databricks_sql_connector_core/sql/experimental/__init__.py rename to databricks_sql_connector_core/src/databricks/sql/thrift_api/__init__.py diff --git a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/thrift_backend.py b/databricks_sql_connector_core/src/databricks/sql/thrift_backend.py similarity index 97% rename from databricks_sql_connector_core/src/databricks_sql_connector_core/sql/thrift_backend.py rename to databricks_sql_connector_core/src/databricks/sql/thrift_backend.py index 7e5e5e03..0bdf39e2 100644 --- a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/thrift_backend.py +++ b/databricks_sql_connector_core/src/databricks/sql/thrift_backend.py @@ -19,17 +19,17 @@ import urllib3.exceptions -import databricks_sql_connector_core.sql.auth.thrift_http_client -from databricks_sql_connector_core.sql.auth.thrift_http_client import CommandType -from databricks_sql_connector_core.sql.auth.authenticators import AuthProvider -from databricks_sql_connector_core.sql.thrift_api.TCLIService import TCLIService, ttypes -from databricks_sql_connector_core.sql import * -from databricks_sql_connector_core.sql.exc import MaxRetryDurationError -from databricks_sql_connector_core.sql.thrift_api.TCLIService.TCLIService import ( +import databricks.sql.auth.thrift_http_client +from databricks.sql.auth.thrift_http_client import CommandType +from databricks.sql.auth.authenticators import AuthProvider +from databricks.sql.thrift_api.TCLIService import TCLIService, ttypes +from databricks.sql import * +from databricks.sql.exc import MaxRetryDurationError +from databricks.sql.thrift_api.TCLIService.TCLIService import ( Client as TCLIServiceClient, ) -from databricks_sql_connector_core.sql.utils import ( +from databricks.sql.utils import ( ExecuteResponse, _bound, RequestErrorInfo, @@ -40,18 +40,18 @@ convert_column_based_set_to_arrow_table, ) -# from databricks_sql_connector_core.sql import TDBSqlResultFormat +# from databricks.sql import TDBSqlResultFormat logger = logging.getLogger(__name__) -unsafe_logger = logging.getLogger("databricks_sql_connector_core.sql.unsafe") +unsafe_logger = logging.getLogger("databricks.sql.unsafe") unsafe_logger.setLevel(logging.DEBUG) # To capture these logs in client code, add a non-NullHandler. # See our e2e test suite for an example with logging.FileHandler unsafe_logger.addHandler(logging.NullHandler()) -# Disable propagation so that handlers for `databricks_sql_connector_core.sql` don't pick up these messages +# Disable propagation so that handlers for `databricks.sql` don't pick up these messages unsafe_logger.propagate = False THRIFT_ERROR_MESSAGE_HEADER = "x-thriftserver-error-message" @@ -215,7 +215,7 @@ def __init__( else: urllib3_kwargs = {} if self.enable_v3_retries: - self.retry_policy = databricks_sql_connector_core.sql.auth.thrift_http_client.DatabricksRetryPolicy( + self.retry_policy = databricks.sql.auth.thrift_http_client.DatabricksRetryPolicy( delay_min=self._retry_delay_min, delay_max=self._retry_delay_max, stop_after_attempts_count=self._retry_stop_after_attempts_count, @@ -228,7 +228,7 @@ def __init__( additional_transport_args["retry_policy"] = self.retry_policy self._transport = ( - databricks_sql_connector_core.sql.auth.thrift_http_client.THttpClient( + databricks.sql.auth.thrift_http_client.THttpClient( auth_provider=self._auth_provider, uri_or_host=uri, ssl_context=self._ssl_context, diff --git a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/types.py b/databricks_sql_connector_core/src/databricks/sql/types.py similarity index 100% rename from databricks_sql_connector_core/src/databricks_sql_connector_core/sql/types.py rename to databricks_sql_connector_core/src/databricks/sql/types.py diff --git a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/utils.py b/databricks_sql_connector_core/src/databricks/sql/utils.py similarity index 98% rename from databricks_sql_connector_core/src/databricks_sql_connector_core/sql/utils.py rename to databricks_sql_connector_core/src/databricks/sql/utils.py index 8e733912..bd5f9be7 100644 --- a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/utils.py +++ b/databricks_sql_connector_core/src/databricks/sql/utils.py @@ -21,17 +21,17 @@ except ImportError: pyarrow = None -from databricks_sql_connector_core.sql import OperationalError, exc -from databricks_sql_connector_core.sql.cloudfetch.download_manager import ( +from databricks.sql import OperationalError, exc +from databricks.sql.cloudfetch.download_manager import ( ResultFileDownloadManager, ) -from databricks_sql_connector_core.sql.thrift_api.TCLIService.ttypes import ( +from databricks.sql.thrift_api.TCLIService.ttypes import ( TRowSet, TSparkArrowResultLink, TSparkRowSetType, ) -from databricks_sql_connector_core.sql.parameters.native import ( +from databricks.sql.parameters.native import ( ParameterStructure, TDbsqlParameter, ) diff --git a/databricks_sql_connector_core/src/databricks_sql_connector_core/sqlalchemy/__init__.py b/databricks_sql_connector_core/src/databricks/sqlalchemy/__init__.py similarity index 100% rename from databricks_sql_connector_core/src/databricks_sql_connector_core/sqlalchemy/__init__.py rename to databricks_sql_connector_core/src/databricks/sqlalchemy/__init__.py diff --git a/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/thrift_api/__init__.py b/databricks_sql_connector_core/src/databricks_sql_connector_core/sql/thrift_api/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/databricks_sql_connector_core/tests/e2e/common/predicates.py b/databricks_sql_connector_core/tests/e2e/common/predicates.py index a314ab7c..b4350493 100644 --- a/databricks_sql_connector_core/tests/e2e/common/predicates.py +++ b/databricks_sql_connector_core/tests/e2e/common/predicates.py @@ -17,17 +17,17 @@ def pysql_supports_arrow(): def pysql_has_version(compare, version): - """Import databricks_sql_connector_core.sql, and return compare_module_version(...). + """Import databricks.sql, and return compare_module_version(...). Expected use: from common.predicates import pysql_has_version - from databricks_sql_connector_core import sql as pysql + from databricks import sql as pysql ... @unittest.skipIf(pysql_has_version('<', '2')) def test_some_pyhive_v1_stuff(): ... """ - from databricks_sql_connector_core import sql + from databricks import sql return compare_module_version(sql, compare, version) diff --git a/databricks_sql_connector_core/tests/e2e/common/retry_test_mixins.py b/databricks_sql_connector_core/tests/e2e/common/retry_test_mixins.py index 5b53cb28..7dd5f745 100755 --- a/databricks_sql_connector_core/tests/e2e/common/retry_test_mixins.py +++ b/databricks_sql_connector_core/tests/e2e/common/retry_test_mixins.py @@ -6,8 +6,8 @@ import pytest from urllib3.exceptions import MaxRetryError -from databricks_sql_connector_core.sql.auth.retry import DatabricksRetryPolicy -from databricks_sql_connector_core.sql.exc import ( +from databricks.sql.auth.retry import DatabricksRetryPolicy +from databricks.sql.exc import ( MaxRetryDurationError, NonRecoverableNetworkError, RequestError, @@ -326,7 +326,7 @@ def test_retry_abort_close_operation_on_404(self, caplog): with self.connection(extra_params={**self._retry_policy}) as conn: with conn.cursor() as curs: with patch( - "databricks_sql_connector_core.sql.utils.ExecuteResponse.has_been_closed_server_side", + "databricks.sql.utils.ExecuteResponse.has_been_closed_server_side", new_callable=PropertyMock, return_value=False, ): diff --git a/databricks_sql_connector_core/tests/e2e/common/staging_ingestion_tests.py b/databricks_sql_connector_core/tests/e2e/common/staging_ingestion_tests.py index ec22dbea..324b5bc6 100644 --- a/databricks_sql_connector_core/tests/e2e/common/staging_ingestion_tests.py +++ b/databricks_sql_connector_core/tests/e2e/common/staging_ingestion_tests.py @@ -2,8 +2,8 @@ import tempfile import pytest -import databricks_sql_connector_core.sql as sql -from databricks_sql_connector_core.sql import Error +import databricks.sql as sql +from databricks.sql import Error @pytest.fixture(scope="module", autouse=True) diff --git a/databricks_sql_connector_core/tests/e2e/common/uc_volume_tests.py b/databricks_sql_connector_core/tests/e2e/common/uc_volume_tests.py index ae4fde76..c1031719 100644 --- a/databricks_sql_connector_core/tests/e2e/common/uc_volume_tests.py +++ b/databricks_sql_connector_core/tests/e2e/common/uc_volume_tests.py @@ -2,8 +2,8 @@ import tempfile import pytest -import databricks_sql_connector_core.sql as sql -from databricks_sql_connector_core.sql import Error +import databricks.sql as sql +from databricks.sql import Error @pytest.fixture(scope="module", autouse=True) diff --git a/databricks_sql_connector_core/tests/e2e/test_driver.py b/databricks_sql_connector_core/tests/e2e/test_driver.py index 12b2d750..eed42d27 100644 --- a/databricks_sql_connector_core/tests/e2e/test_driver.py +++ b/databricks_sql_connector_core/tests/e2e/test_driver.py @@ -22,8 +22,8 @@ import pytest from urllib3.connectionpool import ReadTimeoutError -import databricks_sql_connector_core.sql as sql -from databricks_sql_connector_core.sql import ( +import databricks.sql as sql +from databricks.sql import ( STRING, BINARY, NUMBER, @@ -53,11 +53,11 @@ from tests.e2e.common.uc_volume_tests import PySQLUCVolumeTestSuiteMixin -from databricks_sql_connector_core.sql.exc import SessionAlreadyClosedError +from databricks.sql.exc import SessionAlreadyClosedError log = logging.getLogger(__name__) -unsafe_logger = logging.getLogger("databricks_sql_connector_core.sql.unsafe") +unsafe_logger = logging.getLogger("databricks.sql.unsafe") unsafe_logger.setLevel(logging.DEBUG) unsafe_logger.addHandler(logging.FileHandler("./tests-unsafe.log")) @@ -738,7 +738,7 @@ def test_decimal_not_returned_as_strings_arrow(self): def test_close_connection_closes_cursors(self): - from databricks_sql_connector_core.sql.thrift_api.TCLIService import ttypes + from databricks.sql.thrift_api.TCLIService import ttypes with self.connection() as conn: cursor = conn.cursor() diff --git a/databricks_sql_connector_core/tests/e2e/test_parameterized_queries.py b/databricks_sql_connector_core/tests/e2e/test_parameterized_queries.py index 46d590fb..a618b5b1 100644 --- a/databricks_sql_connector_core/tests/e2e/test_parameterized_queries.py +++ b/databricks_sql_connector_core/tests/e2e/test_parameterized_queries.py @@ -8,7 +8,7 @@ import pytest import pytz -from databricks_sql_connector_core.sql.parameters.native import ( +from databricks.sql.parameters.native import ( BigIntegerParameter, BooleanParameter, DateParameter, @@ -147,7 +147,7 @@ def patch_server_supports_native_params(self, supports_native_params: bool = Tru """Applies a patch so we can test the connector's behaviour under different SPARK_CLI_SERVICE_PROTOCOL_VERSION conditions.""" with patch( - "databricks_sql_connector_core.sql.client.Connection.server_parameterized_queries_enabled", + "databricks.sql.client.Connection.server_parameterized_queries_enabled", return_value=supports_native_params, ) as mock_parameterized_queries_enabled: try: diff --git a/databricks_sql_connector_core/tests/unit/test_arrow_queue.py b/databricks_sql_connector_core/tests/unit/test_arrow_queue.py index e5cde82f..d71e5846 100644 --- a/databricks_sql_connector_core/tests/unit/test_arrow_queue.py +++ b/databricks_sql_connector_core/tests/unit/test_arrow_queue.py @@ -6,7 +6,7 @@ except ImportError: pa = None -from databricks_sql_connector_core.sql.utils import ArrowQueue +from databricks.sql.utils import ArrowQueue @pytest.mark.skipif(not pa, reason="Skipping because pyarrow is not installed") diff --git a/databricks_sql_connector_core/tests/unit/test_auth.py b/databricks_sql_connector_core/tests/unit/test_auth.py index 0ca8005f..014a3ab2 100644 --- a/databricks_sql_connector_core/tests/unit/test_auth.py +++ b/databricks_sql_connector_core/tests/unit/test_auth.py @@ -3,30 +3,30 @@ from typing import Optional from unittest.mock import patch -from databricks_sql_connector_core.sql.auth.auth import ( +from databricks.sql.auth.auth import ( AccessTokenAuthProvider, AuthProvider, ExternalAuthProvider, AuthType, ) -from databricks_sql_connector_core.sql.auth.auth import ( +from databricks.sql.auth.auth import ( get_python_sql_connector_auth_provider, PYSQL_OAUTH_CLIENT_ID, ) -from databricks_sql_connector_core.sql.auth.oauth import OAuthManager -from databricks_sql_connector_core.sql.auth.authenticators import ( +from databricks.sql.auth.oauth import OAuthManager +from databricks.sql.auth.authenticators import ( DatabricksOAuthProvider, ) -from databricks_sql_connector_core.sql.auth.endpoint import ( +from databricks.sql.auth.endpoint import ( CloudType, InHouseOAuthEndpointCollection, AzureOAuthEndpointCollection, ) -from databricks_sql_connector_core.sql.auth.authenticators import ( +from databricks.sql.auth.authenticators import ( CredentialsProvider, HeaderFactory, ) -from databricks_sql_connector_core.sql.experimental.oauth_persistence import ( +from databricks.sql.experimental.oauth_persistence import ( OAuthPersistenceCache, ) diff --git a/databricks_sql_connector_core/tests/unit/test_client.py b/databricks_sql_connector_core/tests/unit/test_client.py index f37dd58f..c0b040ef 100644 --- a/databricks_sql_connector_core/tests/unit/test_client.py +++ b/databricks_sql_connector_core/tests/unit/test_client.py @@ -8,24 +8,24 @@ from datetime import datetime, date from uuid import UUID -from databricks_sql_connector_core.sql.thrift_api.TCLIService.ttypes import ( +from databricks.sql.thrift_api.TCLIService.ttypes import ( TOpenSessionResp, TExecuteStatementResp, TOperationHandle, THandleIdentifier, TOperationType, ) -from databricks_sql_connector_core.sql.thrift_backend import ThriftBackend +from databricks.sql.thrift_backend import ThriftBackend -import databricks_sql_connector_core.sql -import databricks_sql_connector_core.sql.client as client -from databricks_sql_connector_core.sql import ( +import databricks.sql +import databricks.sql.client as client +from databricks.sql import ( InterfaceError, DatabaseError, Error, NotSupportedError, ) -from databricks_sql_connector_core.sql.types import Row +from databricks.sql.types import Row from tests.unit.test_fetches import FetchTests from tests.unit.test_thrift_backend import ThriftBackendTestSuite @@ -79,7 +79,7 @@ class ClientTestSuite(unittest.TestCase): Unit tests for isolated client behaviour. """ - PACKAGE_NAME = "databricks_sql_connector_core.sql" + PACKAGE_NAME = "databricks.sql" DUMMY_CONNECTION_ARGS = { "server_hostname": "foo", "http_path": "dummy_path", @@ -94,7 +94,7 @@ def test_close_uses_the_correct_session_id(self, mock_client_class): mock_open_session_resp.sessionHandle.sessionId = b"\x22" instance.open_session.return_value = mock_open_session_resp - connection = databricks_sql_connector_core.sql.connect( + connection = databricks.sql.connect( **self.DUMMY_CONNECTION_ARGS ) connection.close() @@ -124,7 +124,7 @@ def test_auth_args(self, mock_client_class): ] for args in connection_args: - connection = databricks_sql_connector_core.sql.connect(**args) + connection = databricks.sql.connect(**args) host, port, http_path, *_ = mock_client_class.call_args[0] self.assertEqual(args["server_hostname"], host) self.assertEqual(args["http_path"], http_path) @@ -133,7 +133,7 @@ def test_auth_args(self, mock_client_class): @patch("%s.client.ThriftBackend" % PACKAGE_NAME) def test_http_header_passthrough(self, mock_client_class): http_headers = [("foo", "bar")] - databricks_sql_connector_core.sql.connect( + databricks.sql.connect( **self.DUMMY_CONNECTION_ARGS, http_headers=http_headers ) @@ -142,7 +142,7 @@ def test_http_header_passthrough(self, mock_client_class): @patch("%s.client.ThriftBackend" % PACKAGE_NAME) def test_tls_arg_passthrough(self, mock_client_class): - databricks_sql_connector_core.sql.connect( + databricks.sql.connect( **self.DUMMY_CONNECTION_ARGS, _tls_verify_hostname="hostname", _tls_trusted_ca_file="trusted ca file", @@ -158,26 +158,26 @@ def test_tls_arg_passthrough(self, mock_client_class): @patch("%s.client.ThriftBackend" % PACKAGE_NAME) def test_useragent_header(self, mock_client_class): - databricks_sql_connector_core.sql.connect(**self.DUMMY_CONNECTION_ARGS) + databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS) http_headers = mock_client_class.call_args[0][3] user_agent_header = ( "User-Agent", "{}/{}".format( - databricks_sql_connector_core.sql.USER_AGENT_NAME, - databricks_sql_connector_core.sql.__version__, + databricks.sql.USER_AGENT_NAME, + databricks.sql.__version__, ), ) self.assertIn(user_agent_header, http_headers) - databricks_sql_connector_core.sql.connect( + databricks.sql.connect( **self.DUMMY_CONNECTION_ARGS, _user_agent_entry="foobar" ) user_agent_header_with_entry = ( "User-Agent", "{}/{} ({})".format( - databricks_sql_connector_core.sql.USER_AGENT_NAME, - databricks_sql_connector_core.sql.__version__, + databricks.sql.USER_AGENT_NAME, + databricks.sql.__version__, "foobar", ), ) @@ -191,7 +191,7 @@ def test_closing_connection_closes_commands(self, mock_result_set_class): for closed in (True, False): with self.subTest(closed=closed): mock_result_set_class.return_value = Mock() - connection = databricks_sql_connector_core.sql.connect( + connection = databricks.sql.connect( **self.DUMMY_CONNECTION_ARGS ) cursor = connection.cursor() @@ -205,7 +205,7 @@ def test_closing_connection_closes_commands(self, mock_result_set_class): @patch("%s.client.ThriftBackend" % PACKAGE_NAME) def test_cant_open_cursor_on_closed_connection(self, mock_client_class): - connection = databricks_sql_connector_core.sql.connect( + connection = databricks.sql.connect( **self.DUMMY_CONNECTION_ARGS ) self.assertTrue(connection.open) @@ -220,7 +220,7 @@ def test_cant_open_cursor_on_closed_connection(self, mock_client_class): def test_arraysize_buffer_size_passthrough( self, mock_cursor_class, mock_client_class ): - connection = databricks_sql_connector_core.sql.connect( + connection = databricks.sql.connect( **self.DUMMY_CONNECTION_ARGS ) connection.cursor(arraysize=999, buffer_size_bytes=1234) @@ -314,7 +314,7 @@ def test_context_manager_closes_connection(self, mock_client_class): mock_open_session_resp.sessionHandle.sessionId = b"\x22" instance.open_session.return_value = mock_open_session_resp - with databricks_sql_connector_core.sql.connect( + with databricks.sql.connect( **self.DUMMY_CONNECTION_ARGS ) as connection: pass @@ -410,7 +410,7 @@ def test_cancel_command_calls_the_backend(self): cursor.cancel() mock_thrift_backend.cancel_command.assert_called_with(mock_op_handle) - @patch("databricks_sql_connector_core.sql.client.logger") + @patch("databricks.sql.client.logger") def test_cancel_command_will_issue_warning_for_cancel_with_no_executing_command( self, logger_instance ): @@ -423,7 +423,7 @@ def test_cancel_command_will_issue_warning_for_cancel_with_no_executing_command( @patch("%s.client.ThriftBackend" % PACKAGE_NAME) def test_max_number_of_retries_passthrough(self, mock_client_class): - databricks_sql_connector_core.sql.connect( + databricks.sql.connect( _retry_stop_after_attempts_count=54, **self.DUMMY_CONNECTION_ARGS ) @@ -433,13 +433,13 @@ def test_max_number_of_retries_passthrough(self, mock_client_class): @patch("%s.client.ThriftBackend" % PACKAGE_NAME) def test_socket_timeout_passthrough(self, mock_client_class): - databricks_sql_connector_core.sql.connect( + databricks.sql.connect( _socket_timeout=234, **self.DUMMY_CONNECTION_ARGS ) self.assertEqual(mock_client_class.call_args[1]["_socket_timeout"], 234) def test_version_is_canonical(self): - version = databricks_sql_connector_core.sql.__version__ + version = databricks.sql.__version__ canonical_version_re = ( r"^([1-9][0-9]*!)?(0|[1-9][0-9]*)(\.(0|[1-9][0-9]*))*((a|b|rc)" r"(0|[1-9][0-9]*))?(\.post(0|[1-9][0-9]*))?(\.dev(0|[1-9][0-9]*))?$" @@ -449,7 +449,7 @@ def test_version_is_canonical(self): @patch("%s.client.ThriftBackend" % PACKAGE_NAME) def test_configuration_passthrough(self, mock_client_class): mock_session_config = Mock() - databricks_sql_connector_core.sql.connect( + databricks.sql.connect( session_configuration=mock_session_config, **self.DUMMY_CONNECTION_ARGS ) @@ -463,7 +463,7 @@ def test_initial_namespace_passthrough(self, mock_client_class): mock_cat = Mock() mock_schem = Mock() - databricks_sql_connector_core.sql.connect( + databricks.sql.connect( **self.DUMMY_CONNECTION_ARGS, catalog=mock_cat, schema=mock_schem ) self.assertEqual( @@ -534,7 +534,7 @@ def test_executemany_parameter_passhthrough_and_uses_last_result_set( @patch("%s.client.ThriftBackend" % PACKAGE_NAME) def test_commit_a_noop(self, mock_thrift_backend_class): - c = databricks_sql_connector_core.sql.connect(**self.DUMMY_CONNECTION_ARGS) + c = databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS) c.commit() def test_setinputsizes_a_noop(self): @@ -547,7 +547,7 @@ def test_setoutputsizes_a_noop(self): @patch("%s.client.ThriftBackend" % PACKAGE_NAME) def test_rollback_not_supported(self, mock_thrift_backend_class): - c = databricks_sql_connector_core.sql.connect(**self.DUMMY_CONNECTION_ARGS) + c = databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS) with self.assertRaises(NotSupportedError): c.rollback() @@ -638,7 +638,7 @@ def test_finalizer_closes_abandoned_connection(self, mock_client_class): mock_open_session_resp.sessionHandle.sessionId = b"\x22" instance.open_session.return_value = mock_open_session_resp - databricks_sql_connector_core.sql.connect(**self.DUMMY_CONNECTION_ARGS) + databricks.sql.connect(**self.DUMMY_CONNECTION_ARGS) # not strictly necessary as the refcount is 0, but just to be sure gc.collect() @@ -655,7 +655,7 @@ def test_cursor_keeps_connection_alive(self, mock_client_class): mock_open_session_resp.sessionHandle.sessionId = b"\x22" instance.open_session.return_value = mock_open_session_resp - connection = databricks_sql_connector_core.sql.connect( + connection = databricks.sql.connect( **self.DUMMY_CONNECTION_ARGS ) cursor = connection.cursor() @@ -680,7 +680,7 @@ def test_staging_operation_response_is_handled( mock_client_class.execute_command.return_value = mock_execute_response mock_client_class.return_value = mock_client_class - connection = databricks_sql_connector_core.sql.connect( + connection = databricks.sql.connect( **self.DUMMY_CONNECTION_ARGS ) cursor = connection.cursor() @@ -693,7 +693,7 @@ def test_staging_operation_response_is_handled( def test_access_current_query_id(self): operation_id = "EE6A8778-21FC-438B-92D8-96AC51EE3821" - connection = databricks_sql_connector_core.sql.connect( + connection = databricks.sql.connect( **self.DUMMY_CONNECTION_ARGS ) cursor = connection.cursor() diff --git a/databricks_sql_connector_core/tests/unit/test_cloud_fetch_queue.py b/databricks_sql_connector_core/tests/unit/test_cloud_fetch_queue.py index 00a72bf5..8aebe7af 100644 --- a/databricks_sql_connector_core/tests/unit/test_cloud_fetch_queue.py +++ b/databricks_sql_connector_core/tests/unit/test_cloud_fetch_queue.py @@ -7,10 +7,10 @@ from unittest.mock import MagicMock, patch from ssl import create_default_context -from databricks_sql_connector_core.sql.thrift_api.TCLIService.ttypes import ( +from databricks.sql.thrift_api.TCLIService.ttypes import ( TSparkArrowResultLink, ) -import databricks_sql_connector_core.sql.utils as utils +import databricks.sql.utils as utils @pytest.mark.skipif(not pyarrow, reason="Skipping because pyarrow is not installed") @@ -55,7 +55,7 @@ def get_schema_bytes(): return sink.getvalue().to_pybytes() @patch( - "databricks_sql_connector_core.sql.utils.CloudFetchQueue._create_next_table", + "databricks.sql.utils.CloudFetchQueue._create_next_table", return_value=[None, None], ) def test_initializer_adds_links(self, mock_create_next_table): @@ -87,7 +87,7 @@ def test_initializer_no_links_to_add(self): assert queue.table is None @patch( - "databricks_sql_connector_core.sql.cloudfetch.download_manager.ResultFileDownloadManager.get_next_downloaded_file", + "databricks.sql.cloudfetch.download_manager.ResultFileDownloadManager.get_next_downloaded_file", return_value=None, ) def test_create_next_table_no_download(self, mock_get_next_downloaded_file): @@ -101,9 +101,9 @@ def test_create_next_table_no_download(self, mock_get_next_downloaded_file): assert queue._create_next_table() is None mock_get_next_downloaded_file.assert_called_with(0) - @patch("databricks_sql_connector_core.sql.utils.create_arrow_table_from_arrow_file") + @patch("databricks.sql.utils.create_arrow_table_from_arrow_file") @patch( - "databricks_sql_connector_core.sql.cloudfetch.download_manager.ResultFileDownloadManager.get_next_downloaded_file", + "databricks.sql.cloudfetch.download_manager.ResultFileDownloadManager.get_next_downloaded_file", return_value=MagicMock(file_bytes=b"1234567890", row_count=4), ) def test_initializer_create_next_table_success( @@ -132,7 +132,7 @@ def test_initializer_create_next_table_success( assert table.num_rows == 4 assert queue.start_row_index == 8 - @patch("databricks_sql_connector_core.sql.utils.CloudFetchQueue._create_next_table") + @patch("databricks.sql.utils.CloudFetchQueue._create_next_table") def test_next_n_rows_0_rows(self, mock_create_next_table): mock_create_next_table.return_value = self.make_arrow_table() schema_bytes, description = MagicMock(), MagicMock() @@ -152,7 +152,7 @@ def test_next_n_rows_0_rows(self, mock_create_next_table): assert queue.table_row_index == 0 assert result == self.make_arrow_table()[0:0] - @patch("databricks_sql_connector_core.sql.utils.CloudFetchQueue._create_next_table") + @patch("databricks.sql.utils.CloudFetchQueue._create_next_table") def test_next_n_rows_partial_table(self, mock_create_next_table): mock_create_next_table.return_value = self.make_arrow_table() schema_bytes, description = MagicMock(), MagicMock() @@ -172,7 +172,7 @@ def test_next_n_rows_partial_table(self, mock_create_next_table): assert queue.table_row_index == 3 assert result == self.make_arrow_table()[:3] - @patch("databricks_sql_connector_core.sql.utils.CloudFetchQueue._create_next_table") + @patch("databricks.sql.utils.CloudFetchQueue._create_next_table") def test_next_n_rows_more_than_one_table(self, mock_create_next_table): mock_create_next_table.return_value = self.make_arrow_table() schema_bytes, description = MagicMock(), MagicMock() @@ -197,7 +197,7 @@ def test_next_n_rows_more_than_one_table(self, mock_create_next_table): )[:7] ) - @patch("databricks_sql_connector_core.sql.utils.CloudFetchQueue._create_next_table") + @patch("databricks.sql.utils.CloudFetchQueue._create_next_table") def test_next_n_rows_only_one_table_returned(self, mock_create_next_table): mock_create_next_table.side_effect = [self.make_arrow_table(), None] schema_bytes, description = MagicMock(), MagicMock() @@ -217,7 +217,7 @@ def test_next_n_rows_only_one_table_returned(self, mock_create_next_table): assert result == self.make_arrow_table() @patch( - "databricks_sql_connector_core.sql.utils.CloudFetchQueue._create_next_table", + "databricks.sql.utils.CloudFetchQueue._create_next_table", return_value=None, ) def test_next_n_rows_empty_table(self, mock_create_next_table): @@ -236,7 +236,7 @@ def test_next_n_rows_empty_table(self, mock_create_next_table): mock_create_next_table.assert_called() assert result == pyarrow.ipc.open_stream(bytearray(schema_bytes)).read_all() - @patch("databricks_sql_connector_core.sql.utils.CloudFetchQueue._create_next_table") + @patch("databricks.sql.utils.CloudFetchQueue._create_next_table") def test_remaining_rows_empty_table_fully_returned(self, mock_create_next_table): mock_create_next_table.side_effect = [self.make_arrow_table(), None, 0] schema_bytes, description = MagicMock(), MagicMock() @@ -255,7 +255,7 @@ def test_remaining_rows_empty_table_fully_returned(self, mock_create_next_table) assert result.num_rows == 0 assert result == self.make_arrow_table()[0:0] - @patch("databricks_sql_connector_core.sql.utils.CloudFetchQueue._create_next_table") + @patch("databricks.sql.utils.CloudFetchQueue._create_next_table") def test_remaining_rows_partial_table_fully_returned(self, mock_create_next_table): mock_create_next_table.side_effect = [self.make_arrow_table(), None] schema_bytes, description = MagicMock(), MagicMock() @@ -274,7 +274,7 @@ def test_remaining_rows_partial_table_fully_returned(self, mock_create_next_tabl assert result.num_rows == 2 assert result == self.make_arrow_table()[2:] - @patch("databricks_sql_connector_core.sql.utils.CloudFetchQueue._create_next_table") + @patch("databricks.sql.utils.CloudFetchQueue._create_next_table") def test_remaining_rows_one_table_fully_returned(self, mock_create_next_table): mock_create_next_table.side_effect = [self.make_arrow_table(), None] schema_bytes, description = MagicMock(), MagicMock() @@ -293,7 +293,7 @@ def test_remaining_rows_one_table_fully_returned(self, mock_create_next_table): assert result.num_rows == 4 assert result == self.make_arrow_table() - @patch("databricks_sql_connector_core.sql.utils.CloudFetchQueue._create_next_table") + @patch("databricks.sql.utils.CloudFetchQueue._create_next_table") def test_remaining_rows_multiple_tables_fully_returned( self, mock_create_next_table ): @@ -325,7 +325,7 @@ def test_remaining_rows_multiple_tables_fully_returned( ) @patch( - "databricks_sql_connector_core.sql.utils.CloudFetchQueue._create_next_table", + "databricks.sql.utils.CloudFetchQueue._create_next_table", return_value=None, ) def test_remaining_rows_empty_table(self, mock_create_next_table): diff --git a/databricks_sql_connector_core/tests/unit/test_column_queue.py b/databricks_sql_connector_core/tests/unit/test_column_queue.py index a69f2b3f..b2dead3b 100644 --- a/databricks_sql_connector_core/tests/unit/test_column_queue.py +++ b/databricks_sql_connector_core/tests/unit/test_column_queue.py @@ -1,5 +1,5 @@ import pytest -from databricks_sql_connector_core.sql.utils import ColumnQueue +from databricks.sql.utils import ColumnQueue class TestColumnQueueSuite: diff --git a/databricks_sql_connector_core/tests/unit/test_download_manager.py b/databricks_sql_connector_core/tests/unit/test_download_manager.py index a2d6e639..67bb429b 100644 --- a/databricks_sql_connector_core/tests/unit/test_download_manager.py +++ b/databricks_sql_connector_core/tests/unit/test_download_manager.py @@ -3,8 +3,8 @@ import pytest from ssl import create_default_context -import databricks_sql_connector_core.sql.cloudfetch.download_manager as download_manager -from databricks_sql_connector_core.sql.thrift_api.TCLIService.ttypes import ( +import databricks.sql.cloudfetch.download_manager as download_manager +from databricks.sql.thrift_api.TCLIService.ttypes import ( TSparkArrowResultLink, ) diff --git a/databricks_sql_connector_core/tests/unit/test_downloader.py b/databricks_sql_connector_core/tests/unit/test_downloader.py index eb7c14a1..df597bc3 100644 --- a/databricks_sql_connector_core/tests/unit/test_downloader.py +++ b/databricks_sql_connector_core/tests/unit/test_downloader.py @@ -4,8 +4,8 @@ import requests from ssl import create_default_context -import databricks_sql_connector_core.sql.cloudfetch.downloader as downloader -from databricks_sql_connector_core.sql.exc import Error +import databricks.sql.cloudfetch.downloader as downloader +from databricks.sql.exc import Error def create_response(**kwargs) -> requests.Response: diff --git a/databricks_sql_connector_core/tests/unit/test_endpoint.py b/databricks_sql_connector_core/tests/unit/test_endpoint.py index c30aab40..1f7d7cdd 100644 --- a/databricks_sql_connector_core/tests/unit/test_endpoint.py +++ b/databricks_sql_connector_core/tests/unit/test_endpoint.py @@ -4,8 +4,8 @@ from unittest.mock import patch -from databricks_sql_connector_core.sql.auth.auth import AuthType -from databricks_sql_connector_core.sql.auth.endpoint import ( +from databricks.sql.auth.auth import AuthType +from databricks.sql.auth.endpoint import ( infer_cloud_from_host, CloudType, get_oauth_endpoints, diff --git a/databricks_sql_connector_core/tests/unit/test_fetches.py b/databricks_sql_connector_core/tests/unit/test_fetches.py index d51fd787..82328260 100644 --- a/databricks_sql_connector_core/tests/unit/test_fetches.py +++ b/databricks_sql_connector_core/tests/unit/test_fetches.py @@ -7,8 +7,8 @@ except ImportError: pa = None -import databricks_sql_connector_core.sql.client as client -from databricks_sql_connector_core.sql.utils import ExecuteResponse, ArrowQueue +import databricks.sql.client as client +from databricks.sql.utils import ExecuteResponse, ArrowQueue @pytest.mark.skipif(not pa, reason="Skipping because pyarrow is not installed") diff --git a/databricks_sql_connector_core/tests/unit/test_fetches_bench.py b/databricks_sql_connector_core/tests/unit/test_fetches_bench.py index e15e1789..bb03189b 100644 --- a/databricks_sql_connector_core/tests/unit/test_fetches_bench.py +++ b/databricks_sql_connector_core/tests/unit/test_fetches_bench.py @@ -9,8 +9,8 @@ import time import pytest -import databricks_sql_connector_core.sql.client as client -from databricks_sql_connector_core.sql.utils import ExecuteResponse, ArrowQueue +import databricks.sql.client as client +from databricks.sql.utils import ExecuteResponse, ArrowQueue @pytest.mark.skipif(not pa, reason="Skipping because pyarrow is not installed") diff --git a/databricks_sql_connector_core/tests/unit/test_init_file.py b/databricks_sql_connector_core/tests/unit/test_init_file.py index a8f663db..44311a0c 100644 --- a/databricks_sql_connector_core/tests/unit/test_init_file.py +++ b/databricks_sql_connector_core/tests/unit/test_init_file.py @@ -9,7 +9,7 @@ class TestInitFile: """ def test_init_file_contents(self): - with open("src/databricks_sql_connector_core/__init__.py") as f: + with open("databricks_sql_connector_core/src/databricks/__init__.py") as f: init_file_contents = f.read() # This hash is the expected hash of the contents of `src/databricks/__init__.py`. diff --git a/databricks_sql_connector_core/tests/unit/test_oauth_persistence.py b/databricks_sql_connector_core/tests/unit/test_oauth_persistence.py index 1b7f3686..c7298d39 100644 --- a/databricks_sql_connector_core/tests/unit/test_oauth_persistence.py +++ b/databricks_sql_connector_core/tests/unit/test_oauth_persistence.py @@ -1,6 +1,6 @@ import unittest -from databricks_sql_connector_core.sql.experimental.oauth_persistence import ( +from databricks.sql.experimental.oauth_persistence import ( DevOnlyFilePersistence, OAuthToken, ) diff --git a/databricks_sql_connector_core/tests/unit/test_param_escaper.py b/databricks_sql_connector_core/tests/unit/test_param_escaper.py index 22674492..bc7b05e6 100644 --- a/databricks_sql_connector_core/tests/unit/test_param_escaper.py +++ b/databricks_sql_connector_core/tests/unit/test_param_escaper.py @@ -1,11 +1,11 @@ from datetime import date, datetime import unittest, pytest, decimal from typing import Any, Dict -from databricks_sql_connector_core.sql.parameters.native import ( +from databricks.sql.parameters.native import ( dbsql_parameter_from_primitive, ) -from databricks_sql_connector_core.sql.utils import ( +from databricks.sql.utils import ( ParamEscaper, inject_parameters, transform_paramstyle, diff --git a/databricks_sql_connector_core/tests/unit/test_parameters.py b/databricks_sql_connector_core/tests/unit/test_parameters.py index 8bd61bbb..eec921e4 100644 --- a/databricks_sql_connector_core/tests/unit/test_parameters.py +++ b/databricks_sql_connector_core/tests/unit/test_parameters.py @@ -6,8 +6,8 @@ import pytest import pytz -from databricks_sql_connector_core.sql.client import Connection -from databricks_sql_connector_core.sql.parameters import ( +from databricks.sql.client import Connection +from databricks.sql.parameters import ( BigIntegerParameter, BooleanParameter, DateParameter, @@ -22,13 +22,13 @@ TinyIntParameter, VoidParameter, ) -from databricks_sql_connector_core.sql.parameters.native import ( +from databricks.sql.parameters.native import ( TDbsqlParameter, TSparkParameterValue, dbsql_parameter_from_primitive, ) -from databricks_sql_connector_core.sql.thrift_api.TCLIService import ttypes -from databricks_sql_connector_core.sql.thrift_api.TCLIService.ttypes import ( +from databricks.sql.thrift_api.TCLIService import ttypes +from databricks.sql.thrift_api.TCLIService.ttypes import ( TOpenSessionResp, TSessionHandle, TSparkParameterValue, diff --git a/databricks_sql_connector_core/tests/unit/test_retry.py b/databricks_sql_connector_core/tests/unit/test_retry.py index 3d106481..1782f5f8 100644 --- a/databricks_sql_connector_core/tests/unit/test_retry.py +++ b/databricks_sql_connector_core/tests/unit/test_retry.py @@ -4,7 +4,7 @@ import pytest from requests import Request from urllib3 import HTTPResponse -from databricks_sql_connector_core.sql.auth.retry import ( +from databricks.sql.auth.retry import ( DatabricksRetryPolicy, RequestHistory, ) diff --git a/databricks_sql_connector_core/tests/unit/test_thrift_backend.py b/databricks_sql_connector_core/tests/unit/test_thrift_backend.py index bbcff3f2..2211b3db 100644 --- a/databricks_sql_connector_core/tests/unit/test_thrift_backend.py +++ b/databricks_sql_connector_core/tests/unit/test_thrift_backend.py @@ -11,12 +11,12 @@ except ImportError: pyarrow = None -import databricks_sql_connector_core.sql -from databricks_sql_connector_core.sql import utils -from databricks_sql_connector_core.sql.thrift_api.TCLIService import ttypes -from databricks_sql_connector_core.sql import * -from databricks_sql_connector_core.sql.auth.authenticators import AuthProvider -from databricks_sql_connector_core.sql.thrift_backend import ThriftBackend +import databricks.sql +from databricks.sql import utils +from databricks.sql.thrift_api.TCLIService import ttypes +from databricks.sql import * +from databricks.sql.auth.authenticators import AuthProvider +from databricks.sql.thrift_backend import ThriftBackend def retry_policy_factory(): @@ -121,7 +121,7 @@ def test_hive_schema_to_arrow_schema_preserves_column_names(self): self.assertEqual(arrow_schema.field(3).name, "") @patch( - "databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", + "databricks.sql.thrift_backend.TCLIService.Client", autospec=True, ) def test_bad_protocol_versions_are_rejected(self, tcli_service_client_cass): @@ -154,7 +154,7 @@ def test_bad_protocol_versions_are_rejected(self, tcli_service_client_cass): ) @patch( - "databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", + "databricks.sql.thrift_backend.TCLIService.Client", autospec=True, ) def test_okay_protocol_versions_succeed(self, tcli_service_client_cass): @@ -173,7 +173,7 @@ def test_okay_protocol_versions_succeed(self, tcli_service_client_cass): thrift_backend = self._make_fake_thrift_backend() thrift_backend.open_session({}, None, None) - @patch("databricks_sql_connector_core.sql.auth.thrift_http_client.THttpClient") + @patch("databricks.sql.auth.thrift_http_client.THttpClient") def test_headers_are_set(self, t_http_client_class): ThriftBackend( "foo", 123, "bar", [("header", "value")], auth_provider=AuthProvider() @@ -184,7 +184,7 @@ def test_headers_are_set(self, t_http_client_class): def test_proxy_headers_are_set(self): - from databricks_sql_connector_core.sql.auth.thrift_http_client import ( + from databricks.sql.auth.thrift_http_client import ( THttpClient, ) from urllib.parse import urlparse @@ -200,8 +200,8 @@ def test_proxy_headers_are_set(self): assert isinstance(result, type(dict())) assert isinstance(result.get("proxy-authorization"), type(str())) - @patch("databricks_sql_connector_core.sql.auth.thrift_http_client.THttpClient") - @patch("databricks_sql_connector_core.sql.thrift_backend.create_default_context") + @patch("databricks.sql.auth.thrift_http_client.THttpClient") + @patch("databricks.sql.thrift_backend.create_default_context") def test_tls_cert_args_are_propagated( self, mock_create_default_context, t_http_client_class ): @@ -235,8 +235,8 @@ def test_tls_cert_args_are_propagated( t_http_client_class.call_args[1]["ssl_context"], mock_ssl_context ) - @patch("databricks_sql_connector_core.sql.auth.thrift_http_client.THttpClient") - @patch("databricks_sql_connector_core.sql.thrift_backend.create_default_context") + @patch("databricks.sql.auth.thrift_http_client.THttpClient") + @patch("databricks.sql.thrift_backend.create_default_context") def test_tls_no_verify_is_respected( self, mock_create_default_context, t_http_client_class ): @@ -251,8 +251,8 @@ def test_tls_no_verify_is_respected( t_http_client_class.call_args[1]["ssl_context"], mock_ssl_context ) - @patch("databricks_sql_connector_core.sql.auth.thrift_http_client.THttpClient") - @patch("databricks_sql_connector_core.sql.thrift_backend.create_default_context") + @patch("databricks.sql.auth.thrift_http_client.THttpClient") + @patch("databricks.sql.thrift_backend.create_default_context") def test_tls_verify_hostname_is_respected( self, mock_create_default_context, t_http_client_class ): @@ -272,7 +272,7 @@ def test_tls_verify_hostname_is_respected( t_http_client_class.call_args[1]["ssl_context"], mock_ssl_context ) - @patch("databricks_sql_connector_core.sql.auth.thrift_http_client.THttpClient") + @patch("databricks.sql.auth.thrift_http_client.THttpClient") def test_port_and_host_are_respected(self, t_http_client_class): ThriftBackend("hostname", 123, "path_value", [], auth_provider=AuthProvider()) self.assertEqual( @@ -280,7 +280,7 @@ def test_port_and_host_are_respected(self, t_http_client_class): "https://hostname:123/path_value", ) - @patch("databricks_sql_connector_core.sql.auth.thrift_http_client.THttpClient") + @patch("databricks.sql.auth.thrift_http_client.THttpClient") def test_host_with_https_does_not_duplicate(self, t_http_client_class): ThriftBackend( "https://hostname", 123, "path_value", [], auth_provider=AuthProvider() @@ -290,7 +290,7 @@ def test_host_with_https_does_not_duplicate(self, t_http_client_class): "https://hostname:123/path_value", ) - @patch("databricks_sql_connector_core.sql.auth.thrift_http_client.THttpClient") + @patch("databricks.sql.auth.thrift_http_client.THttpClient") def test_host_with_trailing_backslash_does_not_duplicate(self, t_http_client_class): ThriftBackend( "https://hostname/", 123, "path_value", [], auth_provider=AuthProvider() @@ -300,7 +300,7 @@ def test_host_with_trailing_backslash_does_not_duplicate(self, t_http_client_cla "https://hostname:123/path_value", ) - @patch("databricks_sql_connector_core.sql.auth.thrift_http_client.THttpClient") + @patch("databricks.sql.auth.thrift_http_client.THttpClient") def test_socket_timeout_is_propagated(self, t_http_client_class): ThriftBackend( "hostname", @@ -484,7 +484,7 @@ def test_handle_execute_response_checks_operation_state_in_direct_results(self): self.assertIn("some information about the error", str(cm.exception)) @patch( - "databricks_sql_connector_core.sql.utils.ResultSetQueueFactory.build_queue", + "databricks.sql.utils.ResultSetQueueFactory.build_queue", return_value=Mock(), ) def test_handle_execute_response_sets_compression_in_direct_results( @@ -520,7 +520,7 @@ def test_handle_execute_response_sets_compression_in_direct_results( self.assertEqual(execute_response.lz4_compressed, lz4Compressed) @patch( - "databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", + "databricks.sql.thrift_backend.TCLIService.Client", autospec=True, ) def test_handle_execute_response_checks_operation_state_in_polls( @@ -562,7 +562,7 @@ def test_handle_execute_response_checks_operation_state_in_polls( self.assertIn(op_state_resp.errorMessage, str(cm.exception)) @patch( - "databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", + "databricks.sql.thrift_backend.TCLIService.Client", autospec=True, ) def test_get_status_uses_display_message_if_available(self, tcli_service_class): @@ -598,7 +598,7 @@ def test_get_status_uses_display_message_if_available(self, tcli_service_class): self.assertIn(diagnostic_info, str(cm.exception.message_with_context())) @patch( - "databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", + "databricks.sql.thrift_backend.TCLIService.Client", autospec=True, ) def test_direct_results_uses_display_message_if_available(self, tcli_service_class): @@ -692,7 +692,7 @@ def test_handle_execute_response_checks_direct_results_for_error_statuses(self): self.assertIn("this is a bad error", str(cm.exception)) @patch( - "databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", + "databricks.sql.thrift_backend.TCLIService.Client", autospec=True, ) def test_handle_execute_response_can_handle_without_direct_results( @@ -777,7 +777,7 @@ def test_handle_execute_response_can_handle_with_direct_results(self): ) @patch( - "databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", + "databricks.sql.thrift_backend.TCLIService.Client", autospec=True, ) def test_use_arrow_schema_if_available(self, tcli_service_class): @@ -809,7 +809,7 @@ def test_use_arrow_schema_if_available(self, tcli_service_class): self.assertEqual(execute_response.arrow_schema_bytes, arrow_schema_mock) @patch( - "databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", + "databricks.sql.thrift_backend.TCLIService.Client", autospec=True, ) def test_fall_back_to_hive_schema_if_no_arrow_schema(self, tcli_service_class): @@ -839,11 +839,11 @@ def test_fall_back_to_hive_schema_if_no_arrow_schema(self, tcli_service_class): ) @patch( - "databricks_sql_connector_core.sql.utils.ResultSetQueueFactory.build_queue", + "databricks.sql.utils.ResultSetQueueFactory.build_queue", return_value=Mock(), ) @patch( - "databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", + "databricks.sql.thrift_backend.TCLIService.Client", autospec=True, ) def test_handle_execute_response_reads_has_more_rows_in_direct_results( @@ -887,11 +887,11 @@ def test_handle_execute_response_reads_has_more_rows_in_direct_results( self.assertEqual(has_more_rows, execute_response.has_more_rows) @patch( - "databricks_sql_connector_core.sql.utils.ResultSetQueueFactory.build_queue", + "databricks.sql.utils.ResultSetQueueFactory.build_queue", return_value=Mock(), ) @patch( - "databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", + "databricks.sql.thrift_backend.TCLIService.Client", autospec=True, ) def test_handle_execute_response_reads_has_more_rows_in_result_response( @@ -949,7 +949,7 @@ def test_handle_execute_response_reads_has_more_rows_in_result_response( self.assertEqual(has_more_rows, has_more_rows_resp) @patch( - "databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", + "databricks.sql.thrift_backend.TCLIService.Client", autospec=True, ) def test_arrow_batches_row_count_are_respected(self, tcli_service_class): @@ -1000,7 +1000,7 @@ def test_arrow_batches_row_count_are_respected(self, tcli_service_class): self.assertEqual(arrow_queue.n_valid_rows, 15 * 10) @patch( - "databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", + "databricks.sql.thrift_backend.TCLIService.Client", autospec=True, ) def test_execute_statement_calls_client_and_handle_execute_response( @@ -1027,7 +1027,7 @@ def test_execute_statement_calls_client_and_handle_execute_response( ) @patch( - "databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", + "databricks.sql.thrift_backend.TCLIService.Client", autospec=True, ) def test_get_catalogs_calls_client_and_handle_execute_response( @@ -1053,7 +1053,7 @@ def test_get_catalogs_calls_client_and_handle_execute_response( ) @patch( - "databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", + "databricks.sql.thrift_backend.TCLIService.Client", autospec=True, ) def test_get_schemas_calls_client_and_handle_execute_response( @@ -1088,7 +1088,7 @@ def test_get_schemas_calls_client_and_handle_execute_response( ) @patch( - "databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", + "databricks.sql.thrift_backend.TCLIService.Client", autospec=True, ) def test_get_tables_calls_client_and_handle_execute_response( @@ -1127,7 +1127,7 @@ def test_get_tables_calls_client_and_handle_execute_response( ) @patch( - "databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", + "databricks.sql.thrift_backend.TCLIService.Client", autospec=True, ) def test_get_columns_calls_client_and_handle_execute_response( @@ -1166,7 +1166,7 @@ def test_get_columns_calls_client_and_handle_execute_response( ) @patch( - "databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", + "databricks.sql.thrift_backend.TCLIService.Client", autospec=True, ) def test_open_session_user_provided_session_id_optional(self, tcli_service_class): @@ -1180,7 +1180,7 @@ def test_open_session_user_provided_session_id_optional(self, tcli_service_class self.assertEqual(len(tcli_service_instance.OpenSession.call_args_list), 1) @patch( - "databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", + "databricks.sql.thrift_backend.TCLIService.Client", autospec=True, ) def test_op_handle_respected_in_close_command(self, tcli_service_class): @@ -1195,7 +1195,7 @@ def test_op_handle_respected_in_close_command(self, tcli_service_class): ) @patch( - "databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", + "databricks.sql.thrift_backend.TCLIService.Client", autospec=True, ) def test_session_handle_respected_in_close_session(self, tcli_service_class): @@ -1210,7 +1210,7 @@ def test_session_handle_respected_in_close_session(self, tcli_service_class): ) @patch( - "databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", + "databricks.sql.thrift_backend.TCLIService.Client", autospec=True, ) def test_non_arrow_non_column_based_set_triggers_exception( @@ -1257,10 +1257,10 @@ def test_create_arrow_table_raises_error_for_unsupported_type(self): thrift_backend._create_arrow_table(t_row_set, Mock(), None, Mock()) @patch( - "databricks_sql_connector_core.sql.thrift_backend.convert_arrow_based_set_to_arrow_table" + "databricks.sql.thrift_backend.convert_arrow_based_set_to_arrow_table" ) @patch( - "databricks_sql_connector_core.sql.thrift_backend.convert_column_based_set_to_arrow_table" + "databricks.sql.thrift_backend.convert_column_based_set_to_arrow_table" ) def test_create_arrow_table_calls_correct_conversion_method( self, convert_col_mock, convert_arrow_mock @@ -1445,7 +1445,7 @@ def test_convert_column_based_set_to_arrow_table_uses_types_from_col_set(self): self.assertEqual(arrow_table.column(3).to_pylist(), [b"\x11", b"\x22", b"\x33"]) @patch( - "databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", + "databricks.sql.thrift_backend.TCLIService.Client", autospec=True, ) def test_cancel_command_uses_active_op_handle(self, tcli_service_class): @@ -1472,12 +1472,12 @@ def test_handle_execute_response_sets_active_op_handle(self): self.assertEqual(mock_resp.operationHandle, mock_cursor.active_op_handle) - @patch("databricks_sql_connector_core.sql.auth.thrift_http_client.THttpClient") + @patch("databricks.sql.auth.thrift_http_client.THttpClient") @patch( - "databricks_sql_connector_core.sql.thrift_api.TCLIService.TCLIService.Client.GetOperationStatus" + "databricks.sql.thrift_api.TCLIService.TCLIService.Client.GetOperationStatus" ) @patch( - "databricks_sql_connector_core.sql.thrift_backend._retry_policy", + "databricks.sql.thrift_backend._retry_policy", new_callable=retry_policy_factory, ) def test_make_request_will_retry_GetOperationStatus( @@ -1485,11 +1485,11 @@ def test_make_request_will_retry_GetOperationStatus( ): import thrift, errno - from databricks_sql_connector_core.sql.thrift_api.TCLIService.TCLIService import ( + from databricks.sql.thrift_api.TCLIService.TCLIService import ( Client, ) - from databricks_sql_connector_core.sql.exc import RequestError - from databricks_sql_connector_core.sql.utils import NoRetryReason + from databricks.sql.exc import RequestError + from databricks.sql.utils import NoRetryReason this_gos_name = "GetOperationStatus" mock_GetOperationStatus.__name__ = this_gos_name @@ -1533,7 +1533,7 @@ def test_make_request_will_retry_GetOperationStatus( ) with self.assertLogs( - "databricks_sql_connector_core.sql.thrift_backend", level=logging.WARNING + "databricks.sql.thrift_backend", level=logging.WARNING ) as cm: with self.assertRaises(RequestError): thrift_backend.make_request(client.GetOperationStatus, req) @@ -1551,10 +1551,10 @@ def test_make_request_will_retry_GetOperationStatus( ) @patch( - "databricks_sql_connector_core.sql.thrift_api.TCLIService.TCLIService.Client.GetOperationStatus" + "databricks.sql.thrift_api.TCLIService.TCLIService.Client.GetOperationStatus" ) @patch( - "databricks_sql_connector_core.sql.thrift_backend._retry_policy", + "databricks.sql.thrift_backend._retry_policy", new_callable=retry_policy_factory, ) def test_make_request_will_retry_GetOperationStatus_for_http_error( @@ -1566,12 +1566,12 @@ def test_make_request_will_retry_GetOperationStatus_for_http_error( mock_gos.side_effect = urllib3.exceptions.HTTPError("Read timed out") import thrift, errno - from databricks_sql_connector_core.sql.thrift_api.TCLIService.TCLIService import ( + from databricks.sql.thrift_api.TCLIService.TCLIService import ( Client, ) - from databricks_sql_connector_core.sql.exc import RequestError - from databricks_sql_connector_core.sql.utils import NoRetryReason - from databricks_sql_connector_core.sql.auth.thrift_http_client import ( + from databricks.sql.exc import RequestError + from databricks.sql.utils import NoRetryReason + from databricks.sql.auth.thrift_http_client import ( THttpClient, ) @@ -1628,9 +1628,9 @@ def test_make_request_wont_retry_if_error_code_not_429_or_503( self.assertIn("This method fails", str(cm.exception.message_with_context())) - @patch("databricks_sql_connector_core.sql.auth.thrift_http_client.THttpClient") + @patch("databricks.sql.auth.thrift_http_client.THttpClient") @patch( - "databricks_sql_connector_core.sql.thrift_backend._retry_policy", + "databricks.sql.thrift_backend._retry_policy", new_callable=retry_policy_factory, ) def test_make_request_will_retry_stop_after_attempts_count_if_retryable( @@ -1662,7 +1662,7 @@ def test_make_request_will_retry_stop_after_attempts_count_if_retryable( self.assertEqual(mock_method.call_count, 14) - @patch("databricks_sql_connector_core.sql.auth.thrift_http_client.THttpClient") + @patch("databricks.sql.auth.thrift_http_client.THttpClient") def test_make_request_will_read_error_message_headers_if_set( self, t_transport_class ): @@ -1804,7 +1804,7 @@ def test_retry_args_bounding(self, mock_http_client): _, min, max, - ) in databricks_sql_connector_core.sql.thrift_backend._retry_policy.items(): + ) in databricks.sql.thrift_backend._retry_policy.items(): retry_delay_test_args_and_expected_values[k] = ( (min - 1, min), (max + 1, max), @@ -1831,7 +1831,7 @@ def test_retry_args_bounding(self, mock_http_client): self.assertEqual(getattr(backend, arg), val) @patch( - "databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", + "databricks.sql.thrift_backend.TCLIService.Client", autospec=True, ) def test_configuration_passthrough(self, tcli_client_class): @@ -1852,7 +1852,7 @@ def test_configuration_passthrough(self, tcli_client_class): self.assertEqual(open_session_req.configuration, expected_config) @patch( - "databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", + "databricks.sql.thrift_backend.TCLIService.Client", autospec=True, ) def test_cant_set_timestamp_as_string_to_true(self, tcli_client_class): @@ -1861,7 +1861,7 @@ def test_cant_set_timestamp_as_string_to_true(self, tcli_client_class): mock_config = {"spark.thriftserver.arrowBasedRowSet.timestampAsString": True} backend = ThriftBackend("foobar", 443, "path", [], auth_provider=AuthProvider()) - with self.assertRaises(databricks_sql_connector_core.sql.Error) as cm: + with self.assertRaises(databricks.sql.Error) as cm: backend.open_session(mock_config, None, None) self.assertIn("timestampAsString cannot be changed", str(cm.exception)) @@ -1875,7 +1875,7 @@ def _construct_open_session_with_namespace(self, can_use_multiple_cats, cat, sch ) @patch( - "databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", + "databricks.sql.thrift_backend.TCLIService.Client", autospec=True, ) def test_initial_namespace_passthrough_to_open_session(self, tcli_client_class): @@ -1899,7 +1899,7 @@ def test_initial_namespace_passthrough_to_open_session(self, tcli_client_class): self.assertEqual(open_session_req.initialNamespace.schemaName, schem) @patch( - "databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", + "databricks.sql.thrift_backend.TCLIService.Client", autospec=True, ) def test_can_use_multiple_catalogs_is_set_in_open_session_req( @@ -1915,7 +1915,7 @@ def test_can_use_multiple_catalogs_is_set_in_open_session_req( self.assertTrue(open_session_req.canUseMultipleCatalogs) @patch( - "databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", + "databricks.sql.thrift_backend.TCLIService.Client", autospec=True, ) def test_can_use_multiple_catalogs_is_false_fails_with_initial_catalog( @@ -1951,7 +1951,7 @@ def test_can_use_multiple_catalogs_is_false_fails_with_initial_catalog( backend.open_session({}, cat, schem) @patch( - "databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", + "databricks.sql.thrift_backend.TCLIService.Client", autospec=True, ) def test_protocol_v3_fails_if_initial_namespace_set(self, tcli_client_class): @@ -1975,11 +1975,11 @@ def test_protocol_v3_fails_if_initial_namespace_set(self, tcli_client_class): ) @patch( - "databricks_sql_connector_core.sql.thrift_backend.TCLIService.Client", + "databricks.sql.thrift_backend.TCLIService.Client", autospec=True, ) @patch( - "databricks_sql_connector_core.sql.thrift_backend.ThriftBackend._handle_execute_response" + "databricks.sql.thrift_backend.ThriftBackend._handle_execute_response" ) def test_execute_command_sets_complex_type_fields_correctly( self, mock_handle_execute_response, tcli_service_class diff --git a/examples/README.md b/examples/README.md index fa705e9d..81c445c5 100644 --- a/examples/README.md +++ b/examples/README.md @@ -6,7 +6,7 @@ We provide example scripts so you can see the connector in action for basic usag - DATABRICKS_HTTP_PATH - DATABRICKS_TOKEN -Follow the quick start in our [README](../databricks_sql_connector_core/README.md) to install `databricks-sql-connector` and see +Follow the quick start in our [README](../databricks_sql_connector/README.md) to install `databricks-sql-connector` and see how to find the hostname, http path, and access token. Note that for the OAuth examples below a personal access token is not needed. @@ -17,13 +17,13 @@ To run all of these examples you can clone the entire repository to your disk. O ### Clone the repo 1. Clone this repository to your local system -2. Follow the quick start in the [README](../databricks_sql_connector_core/README.md) to install the connector and obtain authentication credentials. +2. Follow the quick start in the [README](../databricks_sql_connector/README.md) to install the connector and obtain authentication credentials. 3. `cd examples/` 4. Then run any script using the `python` CLI. For example `python query_execute.py` ### Fetch with `curl` -1. Follow the quick start in the [README](../databricks_sql_connector_core/README.md) to install the connector and obtain authentication credentials. +1. Follow the quick start in the [README](../databricks_sql_connector/README.md) to install the connector and obtain authentication credentials. 2. Use the GitHub UI to find the URL to the **Raw** version of one of these examples. For example: `https://raw.githubusercontent.com/databricks/databricks-sql-python/main/examples/query_execute.py` 3. `curl` this URL to your local file-system: `curl https://raw.githubusercontent.com/databricks/databricks-sql-python/main/examples/query_execute.py > query_execute.py` 4. Then run the script with the `python` CLI. `python query_execute.py` diff --git a/examples/custom_cred_provider.py b/examples/custom_cred_provider.py index 835194d7..67945f23 100644 --- a/examples/custom_cred_provider.py +++ b/examples/custom_cred_provider.py @@ -1,6 +1,6 @@ # please pip install databricks-sdk prior to running this example. -from databricks_sql_connector_core import sql +from databricks import sql from databricks.sdk.oauth import OAuthClient import os diff --git a/examples/insert_data.py b/examples/insert_data.py index ebaf1f9d..053ed158 100644 --- a/examples/insert_data.py +++ b/examples/insert_data.py @@ -1,4 +1,4 @@ -from databricks_sql_connector_core import sql +from databricks import sql import os with sql.connect( diff --git a/examples/interactive_oauth.py b/examples/interactive_oauth.py index d9ee8c87..8dbc8c47 100644 --- a/examples/interactive_oauth.py +++ b/examples/interactive_oauth.py @@ -1,4 +1,4 @@ -from databricks_sql_connector_core import sql +from databricks import sql import os """databricks-sql-connector supports user to machine OAuth login which means the diff --git a/examples/m2m_oauth.py b/examples/m2m_oauth.py index 93bb3a09..1c8c7278 100644 --- a/examples/m2m_oauth.py +++ b/examples/m2m_oauth.py @@ -1,7 +1,7 @@ import os from databricks.sdk.core import oauth_service_principal, Config -from databricks_sql_connector_core import sql +from databricks import sql """ This example shows how to use OAuth M2M (machine-to-machine) for service principal diff --git a/examples/parameters.py b/examples/parameters.py index 32254f42..93136ec7 100644 --- a/examples/parameters.py +++ b/examples/parameters.py @@ -3,11 +3,11 @@ """ from decimal import Decimal -from databricks_sql_connector_core import sql -from databricks_sql_connector_core.sql.parameters import * +from databricks import sql +from databricks.sql.parameters import * import os -from databricks_sql_connector_core import sql +from databricks import sql from datetime import datetime import pytz diff --git a/examples/persistent_oauth.py b/examples/persistent_oauth.py index 3e06a613..1a2eded2 100644 --- a/examples/persistent_oauth.py +++ b/examples/persistent_oauth.py @@ -16,8 +16,8 @@ import os from typing import Optional -from databricks_sql_connector_core import sql -from databricks_sql_connector_core.sql.experimental.oauth_persistence import ( +from databricks import sql +from databricks.sql.experimental.oauth_persistence import ( OAuthPersistence, OAuthToken, DevOnlyFilePersistence, diff --git a/examples/query_cancel.py b/examples/query_cancel.py index 62eecb2a..b67fc085 100644 --- a/examples/query_cancel.py +++ b/examples/query_cancel.py @@ -1,4 +1,4 @@ -from databricks_sql_connector_core import sql +from databricks import sql import os, threading, time """ diff --git a/examples/query_execute.py b/examples/query_execute.py index 9e83e0ad..38d2f17a 100644 --- a/examples/query_execute.py +++ b/examples/query_execute.py @@ -1,4 +1,4 @@ -from databricks_sql_connector_core import sql +from databricks import sql import os with sql.connect( diff --git a/examples/set_user_agent.py b/examples/set_user_agent.py index ee4b01b7..93eb2e0b 100644 --- a/examples/set_user_agent.py +++ b/examples/set_user_agent.py @@ -1,4 +1,4 @@ -from databricks_sql_connector_core import sql +from databricks import sql import os with sql.connect( diff --git a/examples/staging_ingestion.py b/examples/staging_ingestion.py index 35fb8e42..a55be477 100644 --- a/examples/staging_ingestion.py +++ b/examples/staging_ingestion.py @@ -1,4 +1,4 @@ -from databricks_sql_connector_core import sql +from databricks import sql import os """ diff --git a/examples/v3_retries_query_execute.py b/examples/v3_retries_query_execute.py index a6ce6c34..aaab47d1 100644 --- a/examples/v3_retries_query_execute.py +++ b/examples/v3_retries_query_execute.py @@ -1,4 +1,4 @@ -from databricks_sql_connector_core import sql +from databricks import sql import os # Users of connector versions >= 2.9.0 and <= 3.0.0 can use the v3 retry behaviour by setting _enable_v3_retries=True @@ -26,7 +26,7 @@ # which means all redirects will be followed. In this case, a redirect will count toward the # _retry_stop_after_attempts_count which means that by default the connector will not enter an endless retry loop. # -# For complete information about configuring retries, see the docstring for databricks_sql_connector_core.sql.thrift_backend.ThriftBackend +# For complete information about configuring retries, see the docstring for databricks.sql.thrift_backend.ThriftBackend with sql.connect( server_hostname=os.getenv("DATABRICKS_SERVER_HOSTNAME"), From 93848d7806197eef97d92efa2e1ef6f65b75af1d Mon Sep 17 00:00:00 2001 From: Jothi Prakash Date: Fri, 13 Sep 2024 13:47:29 +0530 Subject: [PATCH 26/53] Removed the columnar non arrow flow to another PR --- .../src/databricks/sql/client.py | 77 +------------ .../src/databricks/sql/thrift_backend.py | 9 +- .../src/databricks/sql/utils.py | 101 +----------------- .../tests/unit/test_column_queue.py | 20 ---- 4 files changed, 9 insertions(+), 198 deletions(-) delete mode 100644 databricks_sql_connector_core/tests/unit/test_column_queue.py diff --git a/databricks_sql_connector_core/src/databricks/sql/client.py b/databricks_sql_connector_core/src/databricks/sql/client.py index bd5faecd..59871383 100755 --- a/databricks_sql_connector_core/src/databricks/sql/client.py +++ b/databricks_sql_connector_core/src/databricks/sql/client.py @@ -1141,18 +1141,6 @@ def _fill_results_buffer(self): self.results = results self.has_more_rows = has_more_rows - def _convert_columnar_table(self, table): - column_names = [c[0] for c in self.description] - ResultRow = Row(*column_names) - result = [] - for row_index in range(len(table[0])): - curr_row = [] - for col_index in range(len(table)): - curr_row.append(table[col_index][row_index]) - result.append(ResultRow(*curr_row)) - - return result - def _convert_arrow_table(self, table): column_names = [c[0] for c in self.description] ResultRow = Row(*column_names) @@ -1220,43 +1208,6 @@ def fetchmany_arrow(self, size: int) -> "pyarrow.Table": return results - def merge_columnar(self, result1, result2): - """ - Function to merge / combining the columnar results into a single result - - :param result1: - :param result2: - :return: - """ - merged_result = [result1[i] + result2[i] for i in range(len(result1))] - return merged_result - - def fetchmany_columnar(self, size: int): - """ - Fetch the next set of rows of a query result, returning a Columnar Table. - - An empty sequence is returned when no more rows are available. - """ - if size < 0: - raise ValueError("size argument for fetchmany is %s but must be >= 0", size) - - results = self.results.next_n_rows(size) - n_remaining_rows = size - len(results[0]) - self._next_row_index += len(results[0]) - - while ( - n_remaining_rows > 0 - and not self.has_been_closed_server_side - and self.has_more_rows - ): - self._fill_results_buffer() - partial_results = self.results.next_n_rows(n_remaining_rows) - results = self.merge_columnar(results, partial_results) - n_remaining_rows -= len(partial_results[0]) - self._next_row_index += len(partial_results[0]) - - return results - def fetchall_arrow(self) -> "pyarrow.Table": """Fetch all (remaining) rows of a query result, returning them as a PyArrow table.""" results = self.results.remaining_rows() @@ -1270,28 +1221,12 @@ def fetchall_arrow(self) -> "pyarrow.Table": return results - def fetchall_columnar(self): - """Fetch all (remaining) rows of a query result, returning them as a Columnar table.""" - results = self.results.remaining_rows() - self._next_row_index += len(results[0]) - - while not self.has_been_closed_server_side and self.has_more_rows: - self._fill_results_buffer() - partial_results = self.results.remaining_rows() - results = self.merge_columnar(results, partial_results) - self._next_row_index += len(partial_results[0]) - - return results - def fetchone(self) -> Optional[Row]: """ Fetch the next row of a query result set, returning a single sequence, or None when no more data is available. """ - if isinstance(self.results, ColumnQueue): - res = self._convert_columnar_table(self.fetchmany_columnar(1)) - else: - res = self._convert_arrow_table(self.fetchmany_arrow(1)) + res = self._convert_arrow_table(self.fetchmany_arrow(1)) if len(res) > 0: return res[0] @@ -1302,10 +1237,7 @@ def fetchall(self) -> List[Row]: """ Fetch all (remaining) rows of a query result, returning them as a list of rows. """ - if isinstance(self.results, ColumnQueue): - return self._convert_columnar_table(self.fetchall_columnar()) - else: - return self._convert_arrow_table(self.fetchall_arrow()) + return self._convert_arrow_table(self.fetchall_arrow()) def fetchmany(self, size: int) -> List[Row]: """ @@ -1313,10 +1245,7 @@ def fetchmany(self, size: int) -> List[Row]: An empty sequence is returned when no more rows are available. """ - if isinstance(self.results, ColumnQueue): - return self._convert_columnar_table(self.fetchmany_columnar(size)) - else: - return self._convert_arrow_table(self.fetchmany_arrow(size)) + return self._convert_arrow_table(self.fetchmany_arrow(size)) def close(self) -> None: """ diff --git a/databricks_sql_connector_core/src/databricks/sql/thrift_backend.py b/databricks_sql_connector_core/src/databricks/sql/thrift_backend.py index 0bdf39e2..515719a7 100644 --- a/databricks_sql_connector_core/src/databricks/sql/thrift_backend.py +++ b/databricks_sql_connector_core/src/databricks/sql/thrift_backend.py @@ -40,8 +40,6 @@ convert_column_based_set_to_arrow_table, ) -# from databricks.sql import TDBSqlResultFormat - logger = logging.getLogger(__name__) unsafe_logger = logging.getLogger("databricks.sql.unsafe") @@ -774,15 +772,12 @@ def _results_message_to_execute_response(self, resp, operation_state): t_result_set_metadata_resp.schema ) - if pyarrow: - schema_bytes = ( + schema_bytes = ( t_result_set_metadata_resp.arrowSchema or self._hive_schema_to_arrow_schema(t_result_set_metadata_resp.schema) .serialize() .to_pybytes() - ) - else: - schema_bytes = None + ) lz4_compressed = t_result_set_metadata_resp.lz4Compressed is_staging_operation = t_result_set_metadata_resp.isStagingOperation diff --git a/databricks_sql_connector_core/src/databricks/sql/utils.py b/databricks_sql_connector_core/src/databricks/sql/utils.py index bd5f9be7..f46b503e 100644 --- a/databricks_sql_connector_core/src/databricks/sql/utils.py +++ b/databricks_sql_connector_core/src/databricks/sql/utils.py @@ -1,7 +1,4 @@ from __future__ import annotations -import json -from thrift.protocol import TJSONProtocol -from thrift.transport import TTransport import pytz import datetime import decimal @@ -89,15 +86,14 @@ def build_queue( ) return ArrowQueue(converted_arrow_table, n_valid_rows) elif row_set_type == TSparkRowSetType.COLUMN_BASED_SET: - column_table, column_names = convert_column_based_set_to_column_table( + arrow_table, n_valid_rows = convert_column_based_set_to_arrow_table( t_row_set.columns, description ) - converted_column_table = convert_to_assigned_datatypes_in_column_table( - column_table, description - ) + converted_arrow_table = convert_decimals_in_arrow_table( + arrow_table, description) - return ColumnQueue(converted_column_table, column_names) + return ArrowQueue(converted_arrow_table, n_valid_rows) elif row_set_type == TSparkRowSetType.URL_BASED_SET: return CloudFetchQueue( schema_bytes=arrow_schema_bytes, @@ -111,30 +107,6 @@ def build_queue( else: raise AssertionError("Row set type is not valid") - -class ColumnQueue(ResultSetQueue): - def __init__(self, columnar_table, column_names): - self.columnar_table = columnar_table - self.cur_row_index = 0 - self.n_valid_rows = len(columnar_table[0]) - self.column_names = column_names - - def next_n_rows(self, num_rows): - length = min(num_rows, self.n_valid_rows - self.cur_row_index) - # Slicing using the default python slice - next_data = [ - column[self.cur_row_index : self.cur_row_index + length] - for column in self.columnar_table - ] - self.cur_row_index += length - return next_data - - def remaining_rows(self): - next_data = [column[self.cur_row_index :] for column in self.columnar_table] - self.cur_row_index += len(next_data[0]) - return next_data - - class ArrowQueue(ResultSetQueue): def __init__( self, @@ -600,29 +572,6 @@ def convert_decimals_in_arrow_table(table, description) -> "pyarrow.Table": return table -def convert_to_assigned_datatypes_in_column_table(column_table, description): - for i, col in enumerate(column_table): - if description[i][1] == "decimal": - column_table[i] = tuple(v if v is None else Decimal(v) for v in col) - elif description[i][1] == "date": - column_table[i] = tuple( - v if v is None else datetime.date.fromisoformat(v) for v in col - ) - elif description[i][1] == "timestamp": - column_table[i] = tuple( - ( - v - if v is None - else datetime.datetime.strptime(v, "%Y-%m-%d %H:%M:%S.%f").replace( - tzinfo=pytz.UTC - ) - ) - for v in col - ) - - return column_table - - def convert_column_based_set_to_arrow_table(columns, description): arrow_table = pyarrow.Table.from_arrays( [_convert_column_to_arrow_array(c) for c in columns], @@ -634,13 +583,6 @@ def convert_column_based_set_to_arrow_table(columns, description): return arrow_table, arrow_table.num_rows -def convert_column_based_set_to_column_table(columns, description): - column_names = [c[0] for c in description] - column_table = [_covert_column_to_list(c) for c in columns] - - return column_table, column_names - - def _convert_column_to_arrow_array(t_col): """ Return a pyarrow array from the values in a TColumn instance. @@ -665,26 +607,6 @@ def _convert_column_to_arrow_array(t_col): raise OperationalError("Empty TColumn instance {}".format(t_col)) -def _covert_column_to_list(t_col): - supported_field_types = ( - "boolVal", - "byteVal", - "i16Val", - "i32Val", - "i64Val", - "doubleVal", - "stringVal", - "binaryVal", - ) - - for field in supported_field_types: - wrapper = getattr(t_col, field) - if wrapper: - return _create_python_tuple(wrapper) - - raise OperationalError("Empty TColumn instance {}".format(t_col)) - - def _create_arrow_array(t_col_value_wrapper, arrow_type): result = t_col_value_wrapper.values nulls = t_col_value_wrapper.nulls # bitfield describing which values are null @@ -700,18 +622,3 @@ def _create_arrow_array(t_col_value_wrapper, arrow_type): return pyarrow.array(result, type=arrow_type) - -def _create_python_tuple(t_col_value_wrapper): - result = t_col_value_wrapper.values - nulls = t_col_value_wrapper.nulls # bitfield describing which values are null - assert isinstance(nulls, bytes) - - # The number of bits in nulls can be both larger or smaller than the number of - # elements in result, so take the minimum of both to iterate over. - length = min(len(result), len(nulls) * 8) - - for i in range(length): - if nulls[i >> 3] & BIT_MASKS[i & 0x7]: - result[i] = None - - return tuple(result) diff --git a/databricks_sql_connector_core/tests/unit/test_column_queue.py b/databricks_sql_connector_core/tests/unit/test_column_queue.py deleted file mode 100644 index b2dead3b..00000000 --- a/databricks_sql_connector_core/tests/unit/test_column_queue.py +++ /dev/null @@ -1,20 +0,0 @@ -import pytest -from databricks.sql.utils import ColumnQueue - - -class TestColumnQueueSuite: - @pytest.fixture(scope="function") - def setup(self): - columnar_table = [[0, 3, 6, 9], [1, 4, 7, 10], [2, 5, 8, 11]] - column_names = [f"col_{i}" for i in range(len(columnar_table))] - return ColumnQueue(columnar_table, column_names) - - def test_fetchmany_respects_n_rows(self, setup): - column_queue = setup - assert column_queue.next_n_rows(2) == [[0, 3], [1, 4], [2, 5]] - assert column_queue.next_n_rows(2) == [[6, 9], [7, 10], [8, 11]] - - def test_fetch_remaining_rows_respects_n_rows(self, setup): - column_queue = setup - assert column_queue.next_n_rows(2) == [[0, 3], [1, 4], [2, 5]] - assert column_queue.remaining_rows() == [[6, 9], [7, 10], [8, 11]] From f37f42cb9229f28ccfffdc5493675b4a7301405f Mon Sep 17 00:00:00 2001 From: Jothi Prakash Date: Sun, 15 Sep 2024 17:15:45 +0530 Subject: [PATCH 27/53] Moved the README to the root --- databricks_sql_connector_core/README.md => README.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename databricks_sql_connector_core/README.md => README.md (100%) diff --git a/databricks_sql_connector_core/README.md b/README.md similarity index 100% rename from databricks_sql_connector_core/README.md rename to README.md From 0e4b599d25729b8fa677cbc5996372176e20cb5a Mon Sep 17 00:00:00 2001 From: Jothi Prakash Date: Sun, 15 Sep 2024 17:17:48 +0530 Subject: [PATCH 28/53] removed columnQueue instance --- databricks_sql_connector_core/src/databricks/sql/client.py | 1 - 1 file changed, 1 deletion(-) diff --git a/databricks_sql_connector_core/src/databricks/sql/client.py b/databricks_sql_connector_core/src/databricks/sql/client.py index 59871383..07004dce 100755 --- a/databricks_sql_connector_core/src/databricks/sql/client.py +++ b/databricks_sql_connector_core/src/databricks/sql/client.py @@ -28,7 +28,6 @@ inject_parameters, transform_paramstyle, ArrowQueue, - ColumnQueue, ) from databricks.sql.parameters.native import ( DbsqlParameterBase, From 81998324ccbdc40d71e23a219dfa7ff16886d636 Mon Sep 17 00:00:00 2001 From: Jothi Prakash Date: Sun, 15 Sep 2024 17:34:58 +0530 Subject: [PATCH 29/53] Revmoved databricks_sqlalchemy dependency in core --- databricks_sql_connector_core/pyproject.toml | 7 ------- 1 file changed, 7 deletions(-) diff --git a/databricks_sql_connector_core/pyproject.toml b/databricks_sql_connector_core/pyproject.toml index 92df4725..7290004c 100644 --- a/databricks_sql_connector_core/pyproject.toml +++ b/databricks_sql_connector_core/pyproject.toml @@ -18,14 +18,9 @@ lz4 = "^4.0.2" requests = "^2.18.1" oauthlib = "^3.1.0" openpyxl = "^3.0.10" -databricks_sqlalchemy = { version = ">=1.0.0", optional = true } alembic = { version = "^1.0.11", optional = true } urllib3 = ">=1.26" -[tool.poetry.extras] -databricks_sqlalchemy = ["databricks_sqlalchemy"] -alembic = ["databricks_sqlalchemy", "alembic"] - [tool.poetry.dev-dependencies] pytest = "^7.1.2" mypy = "^1.10.1" @@ -37,8 +32,6 @@ pytest-dotenv = "^0.5.2" "Homepage" = "https://github.com/databricks/databricks-sql-python" "Bug Tracker" = "https://github.com/databricks/databricks-sql-python/issues" -[tool.poetry.plugins."sqlalchemy.dialects"] -"databricks" = "databricks_sqlalchemy:DatabricksDialect" [build-system] requires = ["poetry-core>=1.0.0"] From 613e7dc7e9afcb73b0b1e9cf7207aa51d41e5624 Mon Sep 17 00:00:00 2001 From: Jothi Prakash Date: Tue, 17 Sep 2024 15:35:11 +0530 Subject: [PATCH 30/53] Changed the pysql_supports_arrow predicate, introduced changes in the pyproject.toml --- .../__init__.py} | 0 .../dist/databricks_sql_connector-1.0.0.tar.gz | Bin 80 -> 0 bytes databricks_sql_connector/pyproject.toml | 16 +++------------- ...s_sql_connector_core-1.0.0-py3-none-any.whl | Bin 315743 -> 0 bytes .../databricks_sql_connector_core-1.0.0.tar.gz | Bin 308907 -> 0 bytes 5 files changed, 3 insertions(+), 13 deletions(-) rename databricks_sql_connector/{README.md => databricks_sql_connector/__init__.py} (100%) delete mode 100644 databricks_sql_connector/dist/databricks_sql_connector-1.0.0.tar.gz delete mode 100644 databricks_sql_connector_core/dist/databricks_sql_connector_core-1.0.0-py3-none-any.whl delete mode 100644 databricks_sql_connector_core/dist/databricks_sql_connector_core-1.0.0.tar.gz diff --git a/databricks_sql_connector/README.md b/databricks_sql_connector/databricks_sql_connector/__init__.py similarity index 100% rename from databricks_sql_connector/README.md rename to databricks_sql_connector/databricks_sql_connector/__init__.py diff --git a/databricks_sql_connector/dist/databricks_sql_connector-1.0.0.tar.gz b/databricks_sql_connector/dist/databricks_sql_connector-1.0.0.tar.gz deleted file mode 100644 index ace83ceb0025e68c77d000630f4088946fb1c537..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 80 zcmb2|=HOre0;c~di6x0iMVZOj#qq_3Iq}K)d3mYHCHY0VhI$4-Sdv)8@b(}hFHr5F a1>gO1`OFu9^npQxIrFT0vg!;P3=9C_pcaq- diff --git a/databricks_sql_connector/pyproject.toml b/databricks_sql_connector/pyproject.toml index 3b5b298e..22ae9366 100644 --- a/databricks_sql_connector/pyproject.toml +++ b/databricks_sql_connector/pyproject.toml @@ -1,28 +1,18 @@ [tool.poetry] name = "databricks-sql-connector" -version = "1.0.0" +version = "3.3.0" description = "Databricks SQL Connector for Python" authors = ["Databricks "] license = "Apache-2.0" -readme = "README.md" -include = ["CHANGELOG.md"] + [tool.poetry.dependencies] -python = "^3.8.0" -pyarrow = ">=14.0.1,<17" -databricks_sql_connector_core = { version = ">=1.0.0"} +databricks_sql_connector_core = { version = ">=1.0.0", extras=["all"]} databricks_sqlalchemy = { version = ">=1.0.0", optional = true } [tool.poetry.extras] databricks_sqlalchemy = ["databricks_sqlalchemy"] -[tool.poetry.dev-dependencies] -pytest = "^7.1.2" -mypy = "^1.10.1" -pylint = ">=2.12.0" -black = "^22.3.0" -pytest-dotenv = "^0.5.2" - [tool.poetry.urls] "Homepage" = "https://github.com/databricks/databricks-sql-python" "Bug Tracker" = "https://github.com/databricks/databricks-sql-python/issues" diff --git a/databricks_sql_connector_core/dist/databricks_sql_connector_core-1.0.0-py3-none-any.whl b/databricks_sql_connector_core/dist/databricks_sql_connector_core-1.0.0-py3-none-any.whl deleted file mode 100644 index b9358767ff095d14b6d8f045f9ad5b027ab981ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 315743 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 l6&nxl#vaRLu!N--?Ue9{+7IY;v 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%0D%Bpd2TK5dN6eU(tjnK0gvx7w3wZeG0Qmng_ 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 ghyPmE|2R>eD+)?V)TuQqpHz1(R1 z>gnfS|7RGM;Y}V7J`_Rm_aqo(X&Md6EQe2dw6gB6`D?3ZhkFO#ANu3rPdNWOTU$-% ze|vjp=U3}nJ1^G&05{jS;r#Ect#ACwTYEbH|MZ_{-hqMu@BB~iynP7)-U$Am&dR$i zZM80ceR(=NJ-X`LmF1+^U0sdGw|;RKN6E18<7{;@o5ZX4s}(e@05q*AX!>1I&XTA< zO2QIeOv60tR!w1DKg(}dCwcZaDBjr0Y8S_GkUgYH77h!og=jMK%V==7dJ_(Bqs9ih zt}2Uq?Y3GMchNG-#u#B^`@XEWe^h6g}R%?Bb z07yo8;f3jtx_W@+y33|TRQTRe>BaEIySU5aQMqyx7SRxD#8Fy$4{>?trP%KzN{3N8 zh@--Tj!zEW?0YcC|AfEP0`v=m9v9eg2~)ciBRqKH?VTQZ8~&PCOrk+N62q-l?cw3U zpHN}iFqk1OWP!g{);6|YuXbtF(Z@*!!-a8P!UXn`!Cf?-nXSMQhy0vc>UzUCOmH!9 zIbp6mn=;Fi!b{>0k#{|Tmc!zjI=F_i6RJ<;7#WQG`3#Y*ig+ zS$KPSo;`SBK|6;%twbLOcVT)P;nI!6vPUaaOed2pFALmJ+UQ}NLo3P58$~6o7&ims zOmO)6HxIzgd&mJ?0kqAt)u|j#WeEnqMYUe&7{->?(QHY_{YkF z5Kmf>;mVXDfQ)`LdD`A3HUbbAB@@5e4j($~!VsQ4^Uk8bPhmyIaBzxNOB{er{}mpT z@Fu&D@SNpbXvkF#vcVL~)0t?s-a<)S8^CE%QF=rDZ4ag&wOT9QWi_@6{-J1LjS7#_ z3PJlSpDz<~{JV0Tbg{j?AE&vFjI372@gUENY*bRCQMxiMRzs|!p|=Hnb!oDHnqpD7 z8p~GeNWdx0HonQje8vZ2DX710wT`ng+J*H?pO@ZUm=ED4g3S~fOiO`eV8sS`1OOYS z01<#fC06C*8>RPgo~5|L-hG(I1gfpp_4PI2z`GV=9N6}Qy^Fm!XGi;gJP*D*Ilt(? z5I@#xyNX|2oCc?R7vJ?)Vf3p&_`vE7CmD>USbbsrIO<=V{PFO(KMW`Fiv>S8=2q+Q zV>q4w)K81>HrmB!ycex_OigD+Ym{eWZB;$-28P#a-DLoBeJJI_S%bCdw5_SPyDbEa zU=qSUH5QbUhSK3+5EVsGW*?%ou>#E!3b(}W;=c89M80^?X?d`bIUM}}hnR-IS>T5r zJXhoCt55h?@3^mj!EUB`0mrQGRsH$=tkV@QeSzsa&(9Cv9qwOvyOS^v#{iqxJ@1A0 z_Uz<)?`-e*4~L!gweItt_o+?q+q+(Slx6MD-BunI(*##jG)M>%AR4+rEQFX5&>)xE zg#k};0E!MgRs-}03EX!$ByE`D5$*O7qftgI5pVr29Or9Zs};Fc*NAmWliHy3l@0(e z;+|tEA8XkAV{>bJ=jE%{YvIjc z7>&BUR#tE8Y?>lI$I}Wp8m0^r6O@bIG+Ys7Hpr6u_0>#knLp8k75=S+Ju_~Pv7&HIa^<39isbk*_wRqGk!%y;o1N(;dImwS^C z=mhxyDJrV9y`+U`^%3ZeizeB?E-3gKa(0NN=Okd~auUbsqV?+N9TqcgGBoPii`L@62 zukZM4y>Hh1jdgs-vJUJ6=uOZ2U5t4eqk-d;|Mbji#wg z&ufc9j%~ePscmgU+*td+U&127YL91=nV8@D8m{zYmLSbdbAi<-n7l~<{&+t&{7u?* zYG`GcA>T!B*8FX3&l~})4D{OmE*nP^fZsNjltO@8p!}ydEK$%He)BL*#Mx`VncjLA zK)rv6@-J;=m1H)BJ;q5gy#>a_Z)k`vN%bRUo;Yn6b}M{vz*VuAn`xX3SBe>M z8sn>$kkByx;Jyh*NnpHcarqmZB+&ZMmlz?I^2Z^t5AX%pb~OXsJUHgJDHI6CFg@S| z0_MHx_#k|?ThT{_2A-GYY!VfJ^(V9c0}ST#i~V;;=fKwiD&l7fglNmJw7Sn%JAd_~ z+uPzFfAwL};rHDw{K6pw14Li&CCxsi`kG!FQ%0St}9{6j>@_ftEM?&Iho8q$7TAV8zY&AS6MbQ49$ z|MGk9W~Omq?a!@ooN7mU2LUfo~XJf{_lzY`!fEI_5ZJ5Zohuw|DO0i=Kp~7)#-pB zfJ>wd0=QDX3jephwz+QV|2NjRH`br{zn@3{e;!4GewPXrW?uI9a+#=zfI?^cja zEZ}RjB6+CQXOj=N(=tw0NYn2q(R$W;=8-~^w0&b(cP~qm8Ef%`o^h0+1|7QafL@Mz zsEo@6C9e;BjFXgQ#6!1jpqGGTtNSAZN1zO^xwwX#>*X`|28%^x1Z?0pW{aumB98!hz44=)d?Ev0j)5Q)+aAo zK%tx-o_ZTwuf1_LoB|1T3-nBw6s>R)EBVfb5OKq`QiP+ZM0x1C=OGD5&xjx@?vQ#y zdX8J_c{kIN$hXRn0`1_)VuJ`vY#J$)VY?+QWpX*_ayCKAQ9Qo*%jsdT|J~vKACHdz z0EI{9lU)+5KO@^BA_hgZ$uy79NDfU1W)rkZgW<5zX3q<~Bve!x3h8{D3yhy^ui|Vq zN>|w&Y&B>5h@i}~DcRVe1=lm~WMwcLp!E`tfJW{M3r;bHeKq-3tHsuKXVEYml<)K8 zPtz!$ozi-|jgvCUJ4tp+1UrB2^2C6igD)tN%OfNlac4StyYtuI{o_Bnoy)&ItX%!J z+wWZd_kY0Oc9-gm!vf{edHb*Hf8FSRb9Q*Jw|{YX@GUGgz8*#+PagYD5hWwh75)^{ z35=xctM}ciPEJFo8a=Nla~P{uGmpw?j?zWHnBGt!UyL1X=-?ZUit2SlU9IU6uK+il zM}V@1M$`Df9~ZZ1ql9hAp+IBR%WhZI03eAAX>TKog!wIO{V*PsTHCaB03#pRG)NWn zKSZ;lV-?f}gJmv1T)}`kwIZ~T+Az&3U1#~G5km!9G+(!LY_E|2XFRHk1hZ|oZO&Zypz!%vF){k((_&biwCTkeqwNO z_$e$Qf6&ia^mkR6IN{&Y(x~MDE%+vbQY&2ek{ho zK#R}f&rN(QK8=zrqz^+vvGge##89Q(>b4H{E)Fk_zCUyg3NbT4;ds*Ka;`FXBf{&m zlOK)_9PeRaf}qn5d7ud);EnYN+F8H$8n zy!h~dNTBPjeCxHVtFpbj)P1TAwtBqu7_{#HMYy9U{{M;pujzlb);3>nyn5pQpZNbK z{vR!emKFjm;Q#5fssGvB*xq{L|DW*x)BgY5_+uz=RkFQ@o;r}Q6KNtVwuVn#4knZbS#;rL-_2Hr=AE4-JbU@E=sqY zm;gd^>qNtDQJvZRJ$QG@Uc-5hpAdINep~gIhaXW87$)^M6+?YuzN}<4_#7Gb4$erh zshTU}$=>^m?<`w)GKg;Txc=+?*mtFkcN00+0IAT3N#3^JI9Ru&(A3FbPUtI;&wyCn}iL1C{+f+rzJF^LU z>!7Cn$gJSnJCss89=issZJ-*Y_ROr}+Ea8Sc03kRuiK~$xJ~iAGZ@|OnrB>qLOk-| zowJXcJlBOOJ59B_dh-=@#Hn{Fk*05BN|p!r6jt>$1j+BNszCwPf+eQrn;{@BNYjTW zpt)iNX-gFs5UiKASE}LWF!dMMq7nwy-qe7isfc6RO-0p2n+ovM>TlKlRj+t|qeSko zjwrOHsR2>LUEHx7vD&YlP_$~p7fvjyI(>$*YO;xE&)r7zF40C#Q$!>>SGHac1}ovs&GyR1*4oA>k?Px7Z zhoUXJ5dkiv_9uO8pFhc}pFg>}`P|lUyE?}KoB|U8bnu`MAt`7O)OnfulL`xUoRHG< z7VM>=%f?xoeHuDlvkwcp%$^$ep8M-+3&4N`;p~Cs+6ds&G4P^<0=M zbSjkTIS_3ZsxR7*I-%?J`*W_iR)t+*dG*1;GUqrY04THy(B4eol6uJUVY_Rin?GZd zjBE_7-hM9{Ta|SkND**nlEE}J4#fA`W;>@zgf3hdK8fx+ifzP!GQ?$&!u=Hv{dUXJ zrUUkdkHnbsd?tT_yAu^qaU} z$NY`ljnRwsjv>Zz{Wp>jeG^xeCYzx;nyjlH>nQ#_#@9{NJbeznc92<@$~fA2wb+ zsehm3|4YdKD@kv&CSbn)cYR~KivRL*dmYMcY;C`MivRnw{0Q-Ucr%dp)EHBCXG?w) zR+KJ{z&<*+-JsR>K|ClI>ILXVSK0)mN52o#5GdH@Dk@l=p+vwto5=$ew2p6flClFi zlTC*Kwi$5b!7iDs=kYxX3-(Trc7?$=Mt}37`z*PqNns$nQ8F>SS7h`F++m1pqG@uMO z2+Sc2Y=y)^YGax3Ba>o{or0}b!Eww$%x8z^7Zg4h`ee4~_c)gD24)8fFphxH9af7g zc^kI4Me9T;x9j=7zqoP`;CL%@VYWFpOdXAt7tQ`6;95XjgX~cM(rh1XDy1qBkrK2A z0SAhTf23{&zy`#XqnPJS6y^X1pFS%iW-F5D*Ej=K$;II7MU)-R(M1TD9~J&7V^EX`ErDP&7J|s!64hbSgRFg;OJ3 z)6kW01Wm?zI8nEe5Ik8|RHrg7Hl$64YPoB3>$shI+YZMPk|iBy-l=Z-OzvF;wsHS8F($8gIrowac)V@_Iu^1r`?F6z72iez7t^YR|Ku2F?SND(8fmZc&jc{ETT$Qtw)`m8( zDwRhgfRwvM#SrZP6%ZhJP|=R&wDfThO-k>O{-De>EIiALNjeBcbXrF3X^Q0701pE_ zYWF-itk4j2G|KwuR%9+2AHC@7TrNDN=>+{Zcs4;i3SdMSfL@!}5|_|OU5E8W|EweK z`T|z8^M+S z`c6v=cYPa>xdG#8Yl-!xgbwuv>!V*5h}>>{q*XE9U5x&^a_J2e>nrFf+*gj$7nnQK zZ`^}U@S~S8DqH|H+3OPMAkjt0PKUiXz)R(66>R=kF*K+YXuEOSRJ~1 z4v%7OW_<^A&m%S@X{k-$<+F@Bk|mIa^Dx#|XUQY!*tphLyE?RU1jlLQd!!<_L*$&*}7cD@q(E=nl+!R%bS z9m%o3=iTE9i%Nc6M&p`ezfFsgWB>jCD#gi@{_jcuSNH#1-+29`|9jH^Eztid`OHu9 z|6E^Ruf_k|+}wKd|NL2gFe>K}DcD$e$bl|NT!*3}l?YN;kYVb`_;#8T3$Qwl$`ApA zVtaZX<)+*9usupuXe6;>Dg(uSC??=Ec6$e0?}ziDgK*M+f`LCi3Kr5~-p1IE#mawxX|S-OiD_W!mB7?b~-p$A`h*{{G?l zIh8k!gjwAFr+1We;_pdY^827t z`@N&%bCqkN?bF6v8S{h)-0^Z+sCUEYzFzIh?2$|=>wVH_wYq6kR?SwAshB@Vo8QrJ zuJkTp_IihHAJ)Mh<`rsX4l>LwqKU+fNcY}R`dy|>DOcAG89p=#1*Kgk{_mRBB4l5h}d7S}zm z-R}CuB#BG1oxVhqZ^4X(>8!(SI9#8tHYJEt-)xI^mljem@6S9rGTLZ@=nc=%lf(J&Z&i53csTJzrc8=_%{5l< zH-I3O)uM&7G8OR%B0RDBF+yXFFP_drlq4%3((EDiFo9A$Gzq0;CgxXdta2MGMjH#K z%9R4H^p&P6jXUrnYXYx^=bFd$g?MS1Yf!2RAE& z;aapadiC=4V11~ms(w0zQlzz9xE(g?scEJ?=@=mmQz&$No+WICaTCFiFfJQ;ed{Je zl?XdZL**c=GU=M$8MQ0&;_!Hnd~e#Oyr1JpoC)Og=y~QPL28QbYW_iq0z- zBc79~l5k(u8&e+eN-uw@HFTvr8&!0!Z;`l2Q}Het(=uB2@k=`FG`7;UuT7(R>kAIO z4jMm1i4x^~ML)u1A zt-3*&=W>f|nLJDb$cPPRKB~WfHR>u}h0CM6yTJtXOp5)gc5W8HweA+pBkJ3nOsz@t zPFSh~BlPdm`~tgn&G86TzFc!J`)@!z&Lcl@38 z?e(>t&8H*$r2m<#|H+mN05@O%v$46gv7!9GHa6EW{@c#>Q~bA|)BnqK`nn4X%nL2Q z{tehd+aFAPEusNj`i1=Z5Z&D5*+Zc@bx|;K&q_1W^YHhNNGDJ^WJr9b9%a$*E-p^b z>4{4#!@g!x86)yov#Hibl^BHGdbqw-$j?WEotIm$*}SGO{L(f^{=wB`BYq@JbyV3i zex+=97Wuvf6jb~U=&+=krsmuA9lSn=IVO>4`8zI(j$KQ;$TbjdoDPBP;p=%3s-$m< zgQM)n$5ELNu)U621?m$Yy#au!T(T&yAK4f`qduj? zko!X3ojzwk0e;?!vLOb3lu{z(0=v!C=wN=?v>cKMh|}8V(@ELmrmNAAyl520iD>LR zLIG4Ujl5^;8|!lQT1|dn4&FUC#l6C>Vfm2|bRi&EARN$(3MoNtIeoX( z!Q!o**1IfcEg~|u7H9;6bU^*S-8K70^=2SoTHtH z21fpSV*Yisj&wv!n2<2E>BQ~5-#sTmmrIlDJB%kV@Ne;ro z|IhQ2t-fi50HyoQHv&jS5YuftgF+NZ{y4Ru7Ut-nLLxaVOu=B^@#{0Z!PD1^4v9tkYc z>{nD%V)WG>HrCO{+tZv{U$o2_6ZU@a9%&@yYji+Z8_^!jIWPWQjkUu#&$05v2l8%_B(Pe!NDM~GmP6bz~B`#y5|ytX;!3&zxQFHwF6P7{NFl ztLF5JU39}=EcU|lDS4Ddg44FN6nWNn^KV7@shCo)2KEy2N7{MybsBA2;AvS zGzg~!=c9!|QmkRP`|~iLdAz}V4-{&Mg=s=i+-1{bh(Ty>fYzB|q+q0*rV|mkm?~En z*A&<^>+&!+e55Jr75i6*qtC0KT)XhO?Vt>5mtg(M4>X2N-aW7y3L_voQ)L_wYEP@D z-g0+is%LB9`VXgia+ z&;LPlm*ee!lAkn?Qvwr;heNAou9ag^u+Ifjlt(n=a{T*bnqXnjqDk4__1ao=oK@u4 zEW)8pL2%P@1y%WW`Hw3P4-YFCc4!59XX<^ZHSoDLPZUA|OrtZTx*8_c$6q};p}zRr zBsFQ~3~b)iUSY!lR;{!tMzUSeckSr6#93A`k(z{4b<305nFnW?-_}VFd>`Nt@KP?A3X>&9ZDTbbxQVxXC#W36g z^9w=;hZK-BX%)d3$e=MAh0~<;wd+~d3`m>T$MH1N6oR(m4ZaJ}r3@pp%%Gb{NhO9P zHhPFC+40{nbeW{NVy$O2pP00g+yW*Tj&Q8Vz4ugjG&0Qm8`I$#hnx~BMT`UJyM`Fv zXYmlIx{#u-DN!&{fYTem7T$+w#_}?JMyi{f1}>6PSdGFePf>aS8;n$A5#OdEMrjk1 zmWrjOxDPx{;k*Ux4jn*5%5Z41t5`i zy54WRtvQSXgB|vWSB#HUijI(VpiOt3f<2Dl;oB?LdDf^E>Ae!7G{vdCNJ775m}oIO&( zP;XV=ou9y3AsN~CEczUuYK7+F$Aw}OeZRj%XyU|gi;$+p-u#ASrP3R%-`e{)xklW$w!pkVu3DE&_c=OFFKgIV&Ipa^BM`Btj;2&jaxiSjJaWdQW+Hb-<$sXE0@4G0ukI=xk=k4V& z2K6bzv_QYbc=Z3ZWTp!ertEqfYm<-iA!_?>^K6=;(`$nC;Iq*t{^J5D;{Rq<4Cb3v z9{x8tA{yo0`nMuR|Dc))oF^ZOu2YE#&jBR^pML%8U&E5@9|qr@ygN8NgRh@~mJx<{ zVI{lw{*q0JE3q1-u}p9rJOJnfSJg5!HX=EeS(cCyxNW>EJCj0idg$IkWte1YPF&Mz zYduzko3f^wmLs%uvPV*>Hl+>FviUQrNx>p8G}1y+i+;OZ5%a}#LLpPs`q)iXeGaqW z4~G{bcrAz3nM9LU=BR~SK#-anYim8PeLm$tPhCe**64JUzKQZ(LLJP&NZV-Fswx#7 z>(v9MFZ9WXzEj`K`OC`&1@O6=FYq|Q7zLZR(khHIZHVPI{OKpNgbc-pae-EUsBDZ- z!ZlpEnZ`*Or*q0qQ{d5uE70Z?qfuDo{1Z{~ME^hC|NlJte`jaSf3>msa%cO=|MQ9d zpHKe-M$TtT`hULM-flSmTbpa}PWpdtZ6N)>@eUfBPH$ z8e4e6#wAI_CJZzVQKZho2o;DB1s~CC7VA3NUthL;y={~!*ZOl+I>R$#yz!@HocMH> zEYH&KU?nps-H_WlG&;*fV!dwLF}AUtd8?|q8;iHnRn70fuFIh`N4HfmiT&#=Hrc}F2}$n=KhRgc})86?1CP<}Yu zIgcLl%8bJany|&bC>Z;cC<@O_jD|1J$Y;GCx$4mhVpMvg9df{lE8NlK1eo_a3-0CT-@dHsMMjCO4$;7PHOT;%&H zIj7}dn&+sP)7tYUd5qXH6KPK|FAHhBLoemytC(AIIlg8FlgyI?ns}#sO@K3mjf@lM z`6io|-UF({A0l9FsbL((FcT&Oc-8Y7?UK$DW8j6eU>s`}1#goK8pzPt9SDhG!8je} z0HxybRMdf$C?C*{2OEVI_A68D)B`vQxt`iN)%-O|VY1Okq-?l$jwk%M%y`0&bH-yd z3n+LJgrhRbgOE)N(Ccxkr{X&TULCQTY!y(|4Sa=uWeqkqsH~K*pW*WJE;G1_t{0DM zD3H5j1?ppyYl22pfIV2rt)wC(SgOX#5K1m6a2HkT#5**b2SiTZDbOe-ri}AK`8T@u zNF2dA`^4!21u4qw_7KLU+NolS5|sEp^6L24&XgwMOKIw*k`=`aY$Jka9=-J8yLEn` z@(&o4c92Ymm8go-Y7+6nxJxFtMbuy+7ND61;iQ-*6e~bhBhiepG!zpd7^3?|o(a!d zEn*^4Rk%X2fHfpEq*pE#We{^L9F3>vMfb37bmV0hnr4?UOW`H)hsd*U(h5v52QV+0 zBx(#)8v~pRw_ut~LNPkDDT-PFi_)sOVa66DFJRg5%m~4cm=RigR2>t3R?<1&+e^vK zq7>kF#<-1YR?S!bg~Kf3y|2thaxnu5@Z)UA=7|{Y!FPpdm>*!FLW|xA!MgSa5S0C< z8OL}=(#W}I-rb!%YxY|=xVb_?Si9y8VYiSD`CJS4K$dMl3lm{c$g4wSt>qvrX(XXd zy8EQC{H7>UtrME~$)aSLPH{cgZRl_@<+-P#KGi53RkCkQ); zy9m$CwLmo2nt_zqYzuJ2o7kNM1WZ1F9kh9mt#+ju!p^)-7A0)di~-| z9>STu7-$t#-r*dBJLaSik>?RbbAiiNjEFG|oAXAM6~3&qTScKHPWIAd&U%=M`wH_u zndgKk?6zn__Zk&8nW}lqHZ;vDqJiAw#vx#-A`=GP;&##LLV2EGM(}q=BqYsG1h9>U zRu?y1AEW*nZz?FxBaFb#-s{OT_lq|pqlw`ZGS|4Jp7mkPRQ7tbD z0m`ST0P4{+si^E9FeZ^Uo*&_m_S9s^01O6c^&ok24mV|N1+_%jzYbZGY|?2{0n4+^ zy@A|T1%LrJCt3?0qF_LN<#Yi1gx*aR9@XzV8t>KOyr6LwL8w?~)=W_rx}FvFK&RyU zCQ>(x0!@`YL_^`%UGy*8rzhtZ?JKjCO?dP#w>Dn)yzRBkp7){|v0mx1vKy{EpEK)q zUc8vMbh_oHtwc0N`r?Jzd~F0yDM1iSIB9&XP2$0M(TPYW<7Ii@OY9&LoL5OfDrWKu zwVTu^kH@~%b@k{OG4B-HD|)CBl)%|`a_<~o0g+8$50K7WppUK!QI%(~ekGx1;Wz>~ zK#-v#zL;>erTgQCeTMCXE&4csGzAcl*OInT>Uv_vU&6RwZKj}IYYS}bDKjwB6mDAO zhv0kf1<^XrV08uODFq0U%~JG4h(WjuZAiA%gjwa|h#Xp?lKBWCwLCV9OlH)jM0Pk* z9yJLSfGQSI?Wt65qPx`5tWSxd3VI4FYf3EQF`(=i;E^@}&K7&e7(xhFuEhGv8W3t! z(Ip;&x0IKjTs{`6D2BRP@gWASu~{(^<(NkDEY>MS7eaI+uT)cHgOU`7AVrs>EW5PY zj(yP@n+UQd^r@|}cD&6c-XnZpF<+W3nu zP!=5n*>oM{{5rDe*Uq1-o(@UanG3lH@nco1;_NVHhvm9g;cB8BnHmTrMZ7CCA3kuQ zj5RT6dE1GC+6F?^QCVC_lb#quH&HwrSZ(P6g8>P1iJ#af0LfmUppbKd4?_6i*RC(Z ziiKdAadKTZT`po3h9n|kAp?B9_SKY8Sg2h`Y{8Bw_yMyaB?`yug&KBQE)jku2$&x9i&L@M6fx_h^zmFDeIqm-rS~=|YoP017ep zO@oSaihU`p;l&vy=S)BWqfta?wQ^X5)1O+>7O#g)h{_a5Cb0f7Ple^jQ&EAhHKnHM4^ve zJTgl=iR*qd-QBYz9%uw{Uy7D2s{EPvhY*jRrqij&feJeYd{qXXItSiESO^kv4%93J z81pn3sYXgv$C1-D^9mIk8gg1o^pp85g;xwF!T%4B#FZ^u2XQWB59hlSR?x>vgZ~>>M^;|t&%x;>` zdUcPjfa0qe3t&HPsHHE7_0X&#?+hwgyEu3U5L%>(r(;Ns@0aGzm2If|eZyINZveV> z78Q+>MYYi$ zh^DC-H(oV2lC78oJq5W>msVgZs(X?p2{X-gO{TO1(rHFi!--Ln9+Q|$MBGUG$y-ON zxhKXHt%Pv-WEZ6f{ebdG3-#Z$I8rb;JJQPfRBD3gsB zta~BUq@g8cFx(HEry8J?!d&1lJy;Wmp`ke|B5od#o(ZI5!Kw<1FRV|HTB6RQp+RWN zAcpnvIRhE8*RyRrR_FTK`wSK|8>!#Gf%x8q8V?o_V-nC!Y_o9SXmb5-GCtB)(_3kn zl)cOd;b`L);5imp$9T5OCXT2*?eXGYxq#3Cg@gMn4}lFr6?RDg6(U(F#C;+$gD~;jtr>ko= zQqf6in(~~d>8-u z;Kzc7kg6S)P$xj{vN|=j%rd?J_C#FQfv|#-TlZ*4WKLUHtch9nV92sT4LS#v#g(4F zC3KuDX%Hq4ml0zw6_`0fAyna1{}OR?y?~7(wJ>hC*I{!B)LJJG;S7jHc-nOfw-f|v z&@Qx#a{%5^YaFK?`*F|OSj#1FF5HVIx;5anOK7N6SDP>%Wuzh_2308~I2{UtINMwx zLM21vt41-pW@cxR-*61V2@DIh_rlz-vhozUiNsFu9a0%VPSXSfMhW``PVR&EMJy6Q zQSZBENbq%^M7y#H&2x8SZO!Wl@6WDoyl3BhZ?s6nvK<1u2t%rwVZk;UyW3t{_d0N5 zJT0^LlHFFs6&alf6&8=c?0&Pc`>nMt?*1*hO?N#JhHz-i$~KbLL#hMWSLcZ+Nvks9 zM?)afT3@J%sk0b1YJl)yH?5gUQulZeRC@#RqoD4k`k5T8hraiAnv(!hS`Hziv)is9 zi6~8!XQP!q4#-@&Epz2`WheG+n_;S@Bg;>kpR{JI4Pi2g!d#**X?12x$Z)Q1V>5i~ zdv9iTyHfJY05Xok)GrEh zY>eo82O^IfIVtG;s+Rev@5p?l6I?y7jR=}y6?JRU?*S%ialvM*04Oddr`fH_!2_#A zO9*u<-uvUd_ZQ!toE`nw;en4CQATk-_GV;2XC$ff2IyK3Uy<&1GBHhK-u#+l-h?r~ zJvn=GbZ~HZ{1paVZL%=SXO9>T<{HLBBm}ivO_``O6sQR-4H(;x-ok43)CS(Qq{rbw z`t3!NDNUYA`PlHVrH>>Z7PNP(91?6xQWjsth0vA+s+kTy=*|WC6YR$5fMCB4_qAD& zZ5Lkh6vvko$@S~HavtCrK7MOt4>kEUrB|;mP2c6A=bU;SlzB1g5bhAk<`vLy@z&F} zS1NA55_t)|V+!{zz^D~czPrrQ${WIYqt@t7>Jk{5tFdrHWYM@r(Y1f#mQ-8)%h?ol2EN9& zG&vPF?TWr23-^T^|0&zjW5km-Q_Iqn54G@QPM)I`w-Bf@vYxXki&nhmid^3`ZC?=u z$}D9yN2z5iy8S@rZeraR+p&GM6_hK7gsD_<%q8j{d6>e=6HUbOY}iZAT!iil%&!a; z9V;~fT2E%1K1qxezlW)e;uI<&qy;*OZLpt( zbQ}~qq9RisEx4#jCM^6uh65Z)SY)XZ5nK17h*y6LCyJC;dBMghiJDuSOCxKWos<4? z(94wAfFTf2=rn^;v|ImY1OG3B;HEpf?o%LD26a#~fx`P_Brl}}jCCQ8&WpI$bnaz- zthEFT+r1$&qQo&su^wXlUPHu3Mn< zk{GLD@qSuqXL|Mo8)|Lx_LzrMZpdVBNL({X=_|28-N zTS<0I8~|EoM|*ty=k@K)wXG`t+tvoff8KnG|Mqjnf8)$dEq63Hri3^Ps4LZ)ynF<0oE2HA*q}6JQ;3m?I z!`M$r$xO+>?T4p%_Hib1Zq$Rf$>xxMl$O}em~D7!%t&t{bX&z!F){2UlqrCk2$pq$ zvA0Dk7G7V!%)_+6Mt$w2{#kHV%LFl@!0wYgyN?Y6aLoJ)r~#AJR1dLB%JZW=3d=j| z(ICW-H}=CQF9XN(57Er^7+?Ys6vjff-k{mYK-fA&5fVsyndOdz z<_FOvk65|#1NZOrZX0|^qWdW6Z}jG5ZDZ*m^iNR-)MnSqG-dr3nQbU?biESCmUh1^ z26qt|C{ohn_8cQl!b3w97lHATj~S6DO`bOH?woG874h9Q2fcUTv4KT2axK!jgtzuA$MGp=!R z&5Zq!NrFaFODQ+0@3LyLUqOevlz=S-XZGOAT9`BA+OLBKtty}!l13q<;e($5uS>u_ z_leiDoC#2F@gS(4t84(=&OB>)=la!FO7F4Cx}fS?S1+5^>Q7o`Vp{zoMm)KOyPTSF zf0Q=d6t1_dy&93RE7}>#U}A6+uH0{G5g*v-Q!pww?2rLWipTkC3f;fO&WE56(-^h2 z0739@Ger|iL2BA*7y`=wAZZSwTMUZz%06$R7INhrlE?LS0DMa}4yx4Vj;#p-gN~EQ z+vIo6GBYaoslD$6?1+qx{B4&A{7WHm&9CenA=)4$@oPuIsdXRICHlUFr{xNFrI`Pcsx?d7yjb%*O={j!CV9b~tTGtVKr{Ut4 z*u73or_(Www&<_-+*hbP5`7DWE~LH1e)r80`_;rbc_AX~`nd6F-$3e);UTwXAbJP4 zKzrKP_Se;p+O596b-ks1v8?$jK&c3nUUe^GC>FgN-3tzF25fYpVczOU@^^ojhcV@t zP2H%vRw0jwZ<|-ePDq623<8T5KXx13US;c8^hZPYb)un!=Bh@vP*r=BOp7}QJ~^Gj z&58mE4{sH~mvC#1WWYSBjw(p3k{Tx9hKqES(i3kzq-aT*SYMXfrKk;sZvno9QO=}Z zRW}L6IWVpOPC&80m+sul%@2oFBBX{IbM7flz~s0EweD*XA1G2b8nL0XD+YdA*}KK{ zi#}qu+_+3;R+wOEJ9Iib|I<4i)w3>Fn2w7np+edRs)538HsN<}xW{qOVU+qs^^6R} zaeVB5PAW;(%W8uqV9(?ba;I;iPJcWTW|m@9c1ag7d@_~K zGC3B?%iwxwhgEjs)sHJo>{)^mRp%WA1#J__-a&&X1nO?LD!u4psj!26l~!*wnz>O{ zBxWbW30U>I4!2utq0HuL^x&rt(QFrexyYmhzL1lA`za{z zzDbDpTmkv|HCnGJbWKze6-RmQ2}SGls^xganU?iSqA)|7GesmU3;OnTQrPi_E2z** z8VBz8*h4(9qE0q5m&D%h)?@_I6$mMAs6%e2SfZYae?`!~fdOItdQFhNq% zkp6uNSh!>M(CsZ-1G)T%EFX4z&1NvVK))k|D6}HD7X5J2HCQM?-!B)P!r*L9DTX{d zfD=+RynzI7tLM1Td5{G{)T8H}Bk>AEhceojz-+ad2hQAi zvOo|BmN^LK6??H<{=F|slh>TIuj}kpXfnb{>|gA^J37a(se?!kq(ow^m{;*eg_foY zMxZKZJ+yBr%!vyB45`21iJW4zxWi%)PNcy|oML$8po%EXkI760b8UzKbC@%o-|Qg_ z{An6VWAptinT}KOz`Yz*<9-^VbGJFtgBvJxD$8J~9&Y)~M^JIbq^wTm?^2QR4DgM`90NpH^>aKFfo(UmDZoHZRU$5kF{q zhfB1aY1zTy+r9ViE`qbebNut>{oA*PXTkZ=e;o#I{&I1M`5f2Rwq9+&+*w;wh4;?R z_WnYJ=r#VdTE{2B@!rMJpAUo6y|caV&pB}t6u7+7vR6u({qlBK?2r~n9WlE(R01(H zv_vV0^*p4AB0-tKDb{j4psr4!RI3f8*i&UG?-R#bQF^|sdTkLVBQSCaY0XrMLbxX! z^#`!+utkdoNs_g2QKi-Y|oY#Ix$NLw66XZ#uHPc%iE-+_Bm!zYyL{ z3gWA06g&UZI}dQ@BtwfcOiQG{93((pM0(_E1-F*?PA2uU_g`yFW!oTaJ-+r`O=v)Z zVq&tk@}ihLR(SAlj4^j2|JL`2r~_(mRX#6P*Ecq|ws&5>dc79j3;=lRMn0Kp@rW?r-X?L1{=tGW z1q_21M--;l-apvkPz|CZHED5SCs0;V#n7yYZk%ef;vX?!2$?OxxH-}kP*k)zoi4)^ z#Xm)#!W4C+Rn}6GRgs6NGAq@(CCfyQOhHAyAKXb&VR?c^zQKT8da9RVIzbAHqvhfH zt#A43q|PG$Rpr!d#4{EaGBOLXfmA}=qav~<9;cHjL#c@IM6k$w0)_4(xv!XDHE|WZ z4I`$6aM6SqOdHi&wT_eMHXO`k++)@{%7Z!-cG5gcgmjARFO>Ttgp zDx&(Dhtl$!e7c2R239SjmCfnqp#WFa+a4i~>l)DY+eMt9g7n%vYU-w0eD67~qFr%J z^h=M3bA}_-4zJwiysi^;bY&z{3^E|3c&M0`q}Fg9(_Du?!m8H#{XWKc%Gs#&4pZO& zy`uxs|0u~Gst)wZzGx z79JsO@^GiEFbCxvq>R8H;Gu$n0?5uAsBZ1bqm>Py4Zhb&vH@H3bgO7OGHwBTC%dOw z-y3TUuSMo5a}GL#7t|QM-O8UEEfu0sl;@NlI?GWPN!g3IG^OOF5z+Ns)M14tgDGfW z>u=CJff*;2VFp{cws}Yg%yIHXbwcE{+#pMtOAR2!BY-9`+PJH&ps^FesPCJ`_R9HN z6-6!@89qb9UeMw=8e>jUN*2@nKITTbIUi0nfZ83C-5g1Wp6k?j^8l6U zo0$fp8sgO#4N<7%!_-JSNvB5aj~HglJ+#NOM_->c`WkFe#d5Z7+}3WcH6N+>8^GVq zNHrjdA-b1k6WTkOcmnYNhPshAYxGf|k?Vu#9z)N)1%TI)yGSKX`6&t~eVd05HUcs% zC&)($*Vy-jyIrcIJwnAJYq$vFbaNpd({Pux#KSm-b?L`LT0yIdId5YOzx4<{e;$AT ztTt+#N@MXa$DZz;X|?{Xzfj6XGPKo*!9xscrx?TA*^>ebI(JB+|*Z4 z1x~818%56K1a*;j8>N(V0|P6;!HL5p{*lBoP~kt%PmUWy99_eL)J%Hon6o(a zF5aD!E37WH2*r)AH58>d@c_dEXiZ4zJVqB~LsYF5ay!x6FkI`N;qKs_!y42~;xk>Y z0dBm>@30=d^2iM3+ZO<+$bFLMHO!g@rHU3~;) zQUqy+D(iS;?#{X1`WqHmb$KcXYLq{C7#9RF=jZP{YC;%H`*s)Heo%8$)H>o|&qhyr z^RlYZ4+rt%96z|t{35D#U*@Pg7zTsT^mW#{r|TZ+WkLVZjgRKMBIUhk!rR}|dn!cI zPl_R|JvVwVRz^w+1QpQ3O#{Yq291xo6CzV;QxN>M^6T!^AJ<&D<@7{g3tYygRcdxs zqqKN>lPFFbhacndbc_h<27{K3RFZQ{L&FKFsz~LOMpLM|m5`GV^v0F}jYT&25S7w4 z+U`{PE^1k(X!WTQWx~RwD}#GZ3nmY*G@x*Zv<+z=bdqMW4_~I?A_)Reoup9b)F^oQ zpkfLwQ}w|MXbptDiq`HCXA2R5^98Ogn7S+P;AG$42`d+mTse@fopFZnf&@uO?V_-e zd*JwkdI#*dnuNDC^l04F!l*?bn#%TLP;Fw0l8Wblf3qpuy#=UhDv<#v1h$<*npWG*wre~6?Fcb$gzt#MgbgN0+Pw+f%Q zkSZl@vm9UIbd+`4=PEZCkla|B@|rPDYXbnG)1jJ&9BYh@s~GoCaT3p_oUj}0Ev^p>9S)ljZv?T#5G5#Wx6uFqBt%_mEp^DjrudtUqh+; zMqZdT>VlUhuTr5ft=58G?h;=q2#!kE-O_^^a~WIV%&H31)hfMiH6qd3yqfG2+)&?2 zsH$WqJm$ts9ga#ODEuWah#c6JD**hTu|i{#&7<_bT4Yafr?x4?Cyp8Id+k~azxAFk zze~^OV)q7x$Un7edQ6}zjew=j|E4T?f_mkg(FdbP}>XccvitHW$i ztZJQ&hxP8B*US~fYO{L2*;1i#O9cRH8MdFXg~u=o6FmibmD0D$hy%>vT?h=pIpGQv z9+1|<50SKGp-@2hLMT;%W>$`dzGjb$`GazywIhX9yRzGD zJA*H@^x7Xam0$F6z=_rA6V1AZ=I(k5<%K2>&VZy`-b3-6Y&SnLn;Db&@SAXW7NZe6| zAGF*JhypRY*MO6$YdKb|x*{TlN_%`_4jSD`+*yQcIV!B_HqewZ9mQQ(geA~mb8F#c z>Ke4g-(Y)l+wq;PEJ$?mQ(A0n!c}PwTnV<nCR{dxb z>id%84fPfraSCNb2(d9JFRGR>B$fI)Z_%Cc|)|B%V@h% z$eA$6@Y3i(rgF+|{zhhNg)|kau&ADIm&{!6P`Zcdeh9J0Bda_ahTTM{BH^S^P540N zz^mVoO#O<4efu0kfMcM_EU%;{uVH*Wd!H!S7gMYY8ys>56AUa#f!xKu`ea8IApuuy z1N*fny+#&X+^jxkf=!1V{#pxf!H=Dhw4BZ`e97WAP0=(X0jNl|&`3EmV+u)+e z1~E~?l8Hr$xybHi2ha=Zv`{sao@WvZ#Fp2G7mv(xCLoNeyuK;`jWHUl0}Pa$c zm>Gs7@=<NOrX()NFNQ2jO#PtJJ!@pjzP!1_hQ$SCt44Rk%~XIsB|)e^-66V$^02WE}uSR@ONq zBar~`B`lP2qyd&@12t%%pvZ1OF>A6@sMOmPQ7J{fXY}MeDtol`?l{N_gfM!s{A@*H zWZWu9P;pcAzx9MSDtAmWEPlt*B%CY7PC&*vTrB6O7c5Ui6CfELD;_$BUDH^Z51cEM zO)8a1y~T)QD`4VJ>e&E_?J7Li-54Wlk|tAlQhszfG6l9UUI zBAIY5ynJTR)_&9o;nlVcNvq((t?z1+f47nSlNZ#EBD56Hq>+;MXw(_wx7UX)J9G66FJC$>`<4H=6nW~)0`(zW@(u8{Syi+z$6dYb1WyEoo8 zrLv6eEp!TB+&fy2g{p}a>bk1s8a_IHcceGnC=hati9&y9M-N!uzzXnEV2WW1JtE^k z%QMFo%4P(bD|c4Xvr2G9_C>&1k0UhWE2Qlsd1?zOZJMPkDY|d_WPOQ(&KMAQq*Dyi zizZ1rmob;qBGl56jitrYxVX~sONs*U1TXornx!xmY{D<~_&F6$ajt_s{SY`xhD01{ zmZJtOEQHc-0=E+`fNwxrHZ9>r!#Z<_79D|4s_D*SXeT{KG$99{$h}L!%VZfo&a5&& zP*8{Nxc;PDSF>?53pR|xYA@U@G=g7xqeSv|xHrvHdRlu0~hgGBH%zpOV&(4$sQUspbBzi#1igF^&(Q+ zkZd=h{b3aYj4*P}0XaBF&2H+3qa z-dNAGqun{Mm9SiG#8xd6K#cHpa|vUsSaqN5HilYs;k8REY~a;Wh%WqJgzD(dnuq5Y zrF|tNN8(prlw|g=fa1{ehc+8843_OOtEF>VX2uQn^m)jUa2Hm8Ch&4>iLZh^ufIC_ zRG@903@f~u7)T|fA<2vrgW>2AZ^0jn8AGni9EBeiL0MqOj59g}zJ2SAV{VluimT2n zXq=qQ8tC*bp}`un#0pWA=nj%7%!8UN&z2F^)T~Pi4V&fSN&?=>-_y zrew;%v(m$Po;lMc(Jau#p8^rdI8!oBpOC4sXg#V5S3AQ38R&R`2YJW?Z(b_DQR1fO z1!=6_^EgvUnWGDW2?jxPHF8U6etl);3Vh5+h`oI5P@3N^DQT};!Tu$i@>L?kfB;%V zYi^9Z5zXn4#it@nVO+3_t)`{pcsqE{)M2n_HyKlhH^rjeFbyLMN|@wBJ^b5=yOnfr zUPCU_sb}`8qaHmAomyFn=H7tkNc9S(HB={hAZ?1B)Q&Y+-{VdQKYEf?#_XzFh#art zSmnZew9@ShYQk~Qa7nAP+OKsfoRG0c(tY7#DfCf!E9)YN?4d$-HTTPy%n8W=HOHuT zZPj_3RiGBg+vBsh6dLi>`}%!2A7Y4LnGaJgL+hiFU}=Uidpoef2KnF-t{hWw) z$#>4MfYol{>TwkQ(#r)eT|XK}qURVCa$O z%Yua&2i&z*6>(i#jqf_bBh5i+>{U{2SOvo(4heE1gHnbpMzn%tr!dl1f&Yecke|z5 zNI%8ljAbM+1nEf0rVhe|AA{crhRBf!(3}#M^)Z=SK}SI*rL%56?G+IcT~17|J$Ct0 zin~6LuGeOoIutelRRA-e=1F^(8dJ~S=ZTekke3IS938z4U^NSh0YNE}=c*aO3Vr(Q z%u(3v1Txa;wi?#bPVmjFGWf!Ys4}0u74MUQv7W1eKZh^RyPA2JvCS7J2PeDUKAYNx zD$90;A(Hcm!?~@<0J5=}x|ux>C`W1Tjlx(9f)I~9V}O)<@ehX=?KzTcixfqV#uqR2 z-R+u`O1*>A_mAlS*owz?aCZ3p$)69cKAw5nLFJU27)(48!SKe}J+JH-4PXHDvS~gr zQHDMSf09i)IvjSFo)GsnXHJizszz<)(^G>s+XBh$Y}h`p4ChSz1(4A5V7J&PMXaie zo^tUhxNo+0NI&I5)Lt#2cu>!!fJfIbW->XI@52woG7z5vqg6q|7jPBwe9)2bl`J96 z$l$D*38+Tgpp|kM$xHeahbP0MG9xo%a@K$()f~wvD4lur9>|>hrrkxc&FIeRnQX{7 z$B&QekEuS5Meotv`lGv^oz&AnHzO3AWTTNmyJ0KdO@@y3f`_WSC}GnFAJ9b!!w-`) zWw^SrxwWzV>hml4)-n&59(Ff0b!`u zT35C9_V*7@oz*bj$3)e`S{tg?@ky|Ma(r=kd{M8LW-`?&*V?KtTx!5eE|QG~l!jD# z8K3;IC#TfY`s=9?Up)#5oY(H7Ds&gxnoZL}xzgjcq>t(I3VcUH&d=>R&cx<40L{vQ zKE{c1)RyjO9yRkxHu708<;--*yR@h?bZqi1_s)sWq&4CU1Mp)iV>St{WCgx=R6Z{- zwh`NkvLCZ(e+(2Aq681kuX2BBe1{jIh3{&(&4mDe8omP*EdjJAU2#I4hfrcpbR`77 zaYz{8mxvp2Dv!X82C~D&cObiYI8HLQh zpu;(5Ly$a6kOM#MG#nhhJG?loC|?oV&R{Ndh&5nn7-49?$AQr=a4&KFWd@7}ongi9 zIuwV(bY#8-kC8iS3ExJUFC`QTIY#7hX{z<~5Q~~n_~K4ad?A9z-9&fceGEi8>ys** z>tTduUz9V3eHYw`FHogyZrO_W10DgkV5l0RJr=#lNhiDt82+P$=9;j$VI`>s}%h(Bdw9AGeU9Q+Zhx=py!h7Mp zJv;f{D@kYn!*_>ghaxg_9~KUSIk2@yS5qzsdyPl7wp%sUc3@!&Yp503_1dE>Yk$^f zRZa0tR^G|rkmS%{fFtHNfmQ^LSz>I@p{ptq%}vCNw*O@57KU9FU}V0eZ~MGhuKH%(ariOFvxlN@`cKviaa0Mncc)p}3btAskM-WH%;q8e zdZ-L5WCsbaQINWVBwJwK$cnYroA(HIeQ>} zT-0rD9Ogqy*ymJ6T}_(4z6<`BRG-%EPE9vYF)=toGvPg@;f5mmdytKElsTV?GZf9h zXAPJc;0&Dz1=&b5bJL>aS&R$ODirG5I~GCGDG{Z`zAN`{wo5oh@{tUE$WT!wEt2_a zq*p~Hq&dzgBgZ)YQRp^A6()>2L=fMgsvQ=(TN&!HSPK0KE6Ft`yWtS|X_)Aq(Ci~g zsmT0gXd=VT&T!qV?S=#1B!BO``Brcu_U^wR%AE_J91OYUog;QI;56ROMCPLEoFdDLs}SbJIDli%d67sqB5;yE z8sbK^uC-%vOxD=Q)d~xA?>C5FhJ!HIQ~&%X8TAK($mH(QaGtW{R`rg z8b~}LltzT2K|){q{BMj<8LKv(bVh*Xil0 zdZJI^_B<9TBxMG-Y@|Nx?C+kP8J1&Zb}%ZuNY~xf4QvV-pHb#1$86yl8l8}rRAwJ4 zZx|0{>b&7}5Rp5jCVjxj9vN3Ats=@)hG_rff7$V0()CWaa&7QR!F}p}_1Ij>;iaAy zdl49rlPm@;MAw+w_G3pn2*B3EpCnSdPR8}u*LW{nUz6UvQUPX^T7p1X&0v31?i=+XEl7E4KGwU z&Po?8jX#G|6=<|t1#75m14vsd7r6)Hd5Cg;KPE36>)J9T!C&=;sHoiRfB(7X!wH-A zPdfYifk^Umx8+W$y>*tCq|OzF#>O zP)YRtnWlukg|68`qtZUSGPn}%`iPqHsPY*q*pyu}H#gN@!cI|yyTBtUUDCspLly&J z9fi#a8r(5%H84<-c;8fL;+ zmcxk=^O4ujoW_RM&)yPe&bsZcuho9SxWrvW+X720sBN@R3MtZ7tc*1-Fbw($Cl*-h zw0;>4p&hHmks{}vPgqZ;^&M$08qb~}0c02xu@SWOYb$7~f`%`{=%X|=sWRojH!Cd! z(k<57b6v6K1^OK^pW|v!!vP)k@{)~qnWZAmwIMeH1K>z;xg2{P`r-Y(zE-PqEsWd4 z(qUiYh=<&;ZK}OyDBxfMYnnYkR8nMOLNP8u4hk?374tBav97@G3AC zViqBStCQvIz+tSJa8kjes7DBrDHmiClSrAeRi2-Av-PFk^RBJczUGj0m1u@jln7R# zidSeg-Mr=(Qi9Qe^G46Q^3cmmQKX{tev29n>u85#ip?jw(KdvnD^R>i7!+di7mO6) zb%gs!_a|mZF%o*z3@hc^J4dc^puH$gpQ|4G!I|aZ_6snFm*7_ek!}&w1G}1-Q@q|T zir7d1*3^mC-tqLH^3mP2XnLAaspgxAk7ASEC7u!wXgJ7ice?J9fAjF1(gcushN)wvE;05Uce zg%e~oFHlyU;gh(mKX7R1Zg>x7m`H}tcM4ZKB`HSQG#P}rig!lYAjocBtfio_k~saKX?d&*wdi>^{%{Fms6{zk+q=Qig-d+;PuG1% zA14t;t)hbm7&kA2Y%~IbsqZ?J&8`j6uPtbsfoCWi_<~FnQ5p*A-$LOF6cOLFj*AZ|3FK8O8;fdQ9Ljhbmi=JF!J= zU9|mV`pn_jj1(__Y3DSwI}j^@l2-nRNgP1%haCC`^B@t zOi+PV)&?ALM~KIVQzQi`c{f$%;PI9TB{xoN0-+NAu1xq)@6Z`^E1b!f1D6G6 zQx@!Mcz!sNt;yDXHCB@ZqVrA%F3S7H=|ek0iynZ91b`7at0_lKFdM@-h-EmQG?p^1 z7Q7FJBODn_1JG<5vKKzfg=*QFG|YUjW8|o~dbI4(%p7D8TgxbUEBls4P4CySaygyt zVe0}izMAz)lhhcw+Hbrymv;EixHCdUOyyLB6Wj^4R5*^`6r_BlK-4#p_bsrLZJ`{u zNq9-Ki?2Ry1>3_|TI)1WmW7Ji$6>5^sxF*`x|qP`Z-3jbSFrdj^Muqo{?=PF>Fab@ z#id_H^dT$N3F1~mpx$}Rqvc|Z99OW!>e|zC5sBD#GzRbwf}QGOdKenK2(F10Q{Y%~Z_-%9k3*_p8&Zxuz5H?g#0^<=wh zXpledf^-BSC7wLLf~Ta4`bJmA5Jx zJGN-oTy+U4kdWxfnhHUQ#31^gN(_%*NHuYY?g z@G-D{_bY?T|6}jlpVP{b{pV-@6|ASW26i378|+$t?wu9nNo)<>;YH`nx=Q4b)K&lYfP{#;&p-A%S6u$ZnX()g1}-6GI%H7EH6=7- zo-tOET!1ITjsKze5eWsJBay962eqja~UICD&lx=>>@l;JwOe1C^y#s9F8e+BX{=)Z+Rxg!3C=fy&)So$IJ z{f7tmw*(GBpa0=y{wp;ycW}~lSge<7#af|IujLz+(tfeAzw?9p_w4_PYrcK|cfjFz z-JZ_TUvuwOF<;0RUiKQYn{z$P}FXZ~ULr|4#qQ`oFec%vVc|VyRkn`rqmQ82bNe`fUP9So`Ec%-mcD z!u5Xm|lGe^2XXuM=_v8rjWqn_eS8#+v z?hfWj@)Dnw?BOT?7t`sOTsoT0_cCvB5mFOvZ}8nqQW|V+dzs4#PE3K{YXL_DhvgZE z!96@uo7g@0U94kT;2p_ON=(=6A#96yNw{|4tM9!ll885FC4=s&2eVPWcXZP3qK)}z z=;asK)k`I(*PRXKU+@tf`QFKB@&(%6A(jKQQK!QU-e4#AS+9xY~0OCXpP-T{@{b#UK741Kx>JltX_^GE9D797yb9+@qtZ zAv_#nupdpL=^_qwV5dv!>id0o3O6>7@RhQE9O}k-dR@^>tsR~MayNKBGJ`7|E)nMs zgwI2M>A@UKy>R;gQa0nmmmyGefPU`g$-Q-ZW^UX8+(2jg?Ho6;r}oN{TRZrdWxSc6 zI{YxwWe6r1_6-(>f8u_A!$qJdf>tFpa*7%H(nSm4AjVY3Fa8a@l;3hWA}Db!mdQBK3ld_7LCQCx;ZAcInczJa7K(5_JMTK|HFlNMx``$vptx zk&mI~H<~upCJrw5E^_2jE`37p_~MC&VW4NsoM%WbSMI4h

    t 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%0Do&TZ~24%RK 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.0.0"] From 61de281876856cf62c31df68d32e75599a6b618f Mon Sep 17 00:00:00 2001 From: Jothi Prakash Date: Fri, 30 Aug 2024 11:07:18 +0530 Subject: [PATCH 21/53] Added the pyarrow skip tag on unit tests and tested their working --- ..._sql_connector_core-1.0.0-py3-none-any.whl | Bin 315463 -> 315466 bytes ...databricks_sql_connector_core-1.0.0.tar.gz | Bin 307059 -> 307004 bytes databricks_sql_connector_core/poetry.lock | 1177 ----------------- databricks_sql_connector_core/pyproject.toml | 12 +- .../tests/unit/test_arrow_queue.py | 2 +- .../tests/unit/test_cloud_fetch_queue.py | 2 +- .../tests/unit/test_download_manager.py | 3 +- .../tests/unit/test_fetches.py | 2 +- .../tests/unit/test_fetches_bench.py | 2 +- .../tests/unit/test_init_file.py | 2 +- .../tests/unit/test_thrift_backend.py | 2 +- databricks_sqlalchemy/README.md | 0 ...tabricks_sqlalchemy-1.0.0-py3-none-any.whl | Bin 108113 -> 0 bytes .../dist/databricks_sqlalchemy-1.0.0.tar.gz | Bin 100595 -> 0 bytes databricks_sqlalchemy/pyproject.toml | 67 - .../README.sqlalchemy.md | 203 --- .../src/databricks_sqlalchemy/README.tests.md | 44 - .../src/databricks_sqlalchemy/__init__.py | 4 - .../src/databricks_sqlalchemy/_ddl.py | 100 -- .../src/databricks_sqlalchemy/_parse.py | 385 ------ .../src/databricks_sqlalchemy/_types.py | 325 ----- .../src/databricks_sqlalchemy/base.py | 436 ------ .../src/databricks_sqlalchemy/py.typed | 0 .../src/databricks_sqlalchemy/pytest.ini | 4 - .../src/databricks_sqlalchemy/requirements.py | 249 ---- .../src/databricks_sqlalchemy/setup.cfg | 4 - .../databricks_sqlalchemy/test/__init__.py | 0 .../src/databricks_sqlalchemy/test/_extra.py | 70 - .../src/databricks_sqlalchemy/test/_future.py | 331 ----- .../databricks_sqlalchemy/test/_regression.py | 311 ----- .../test/_unsupported.py | 450 ------- .../databricks_sqlalchemy/test/conftest.py | 13 - .../test/overrides/__init__.py | 0 .../overrides/_componentreflectiontest.py | 189 --- .../test/overrides/_ctetest.py | 33 - .../databricks_sqlalchemy/test/test_suite.py | 12 - .../test_local/__init__.py | 5 - .../test_local/conftest.py | 44 - .../test_local/e2e/MOCK_DATA.xlsx | Bin 59837 -> 0 bytes .../test_local/e2e/__init__.py | 0 .../test_local/e2e/test_basic.py | 543 -------- .../test_local/test_ddl.py | 96 -- .../test_local/test_parsing.py | 160 --- .../test_local/test_types.py | 161 --- 44 files changed, 11 insertions(+), 5432 deletions(-) delete mode 100644 databricks_sql_connector_core/poetry.lock delete mode 100644 databricks_sqlalchemy/README.md delete mode 100644 databricks_sqlalchemy/dist/databricks_sqlalchemy-1.0.0-py3-none-any.whl delete mode 100644 databricks_sqlalchemy/dist/databricks_sqlalchemy-1.0.0.tar.gz delete mode 100644 databricks_sqlalchemy/pyproject.toml delete mode 100644 databricks_sqlalchemy/src/databricks_sqlalchemy/README.sqlalchemy.md delete mode 100644 databricks_sqlalchemy/src/databricks_sqlalchemy/README.tests.md delete mode 100644 databricks_sqlalchemy/src/databricks_sqlalchemy/__init__.py delete mode 100644 databricks_sqlalchemy/src/databricks_sqlalchemy/_ddl.py delete mode 100644 databricks_sqlalchemy/src/databricks_sqlalchemy/_parse.py delete mode 100644 databricks_sqlalchemy/src/databricks_sqlalchemy/_types.py delete mode 100644 databricks_sqlalchemy/src/databricks_sqlalchemy/base.py delete mode 100755 databricks_sqlalchemy/src/databricks_sqlalchemy/py.typed delete mode 100644 databricks_sqlalchemy/src/databricks_sqlalchemy/pytest.ini delete mode 100644 databricks_sqlalchemy/src/databricks_sqlalchemy/requirements.py delete mode 100644 databricks_sqlalchemy/src/databricks_sqlalchemy/setup.cfg delete mode 100644 databricks_sqlalchemy/src/databricks_sqlalchemy/test/__init__.py delete mode 100644 databricks_sqlalchemy/src/databricks_sqlalchemy/test/_extra.py delete mode 100644 databricks_sqlalchemy/src/databricks_sqlalchemy/test/_future.py delete mode 100644 databricks_sqlalchemy/src/databricks_sqlalchemy/test/_regression.py delete mode 100644 databricks_sqlalchemy/src/databricks_sqlalchemy/test/_unsupported.py delete mode 100644 databricks_sqlalchemy/src/databricks_sqlalchemy/test/conftest.py delete mode 100644 databricks_sqlalchemy/src/databricks_sqlalchemy/test/overrides/__init__.py delete mode 100644 databricks_sqlalchemy/src/databricks_sqlalchemy/test/overrides/_componentreflectiontest.py delete mode 100644 databricks_sqlalchemy/src/databricks_sqlalchemy/test/overrides/_ctetest.py delete mode 100644 databricks_sqlalchemy/src/databricks_sqlalchemy/test/test_suite.py delete mode 100644 databricks_sqlalchemy/src/databricks_sqlalchemy/test_local/__init__.py delete mode 100644 databricks_sqlalchemy/src/databricks_sqlalchemy/test_local/conftest.py delete mode 100644 databricks_sqlalchemy/src/databricks_sqlalchemy/test_local/e2e/MOCK_DATA.xlsx delete mode 100644 databricks_sqlalchemy/src/databricks_sqlalchemy/test_local/e2e/__init__.py delete mode 100644 databricks_sqlalchemy/src/databricks_sqlalchemy/test_local/e2e/test_basic.py delete mode 100644 databricks_sqlalchemy/src/databricks_sqlalchemy/test_local/test_ddl.py delete mode 100644 databricks_sqlalchemy/src/databricks_sqlalchemy/test_local/test_parsing.py delete mode 100644 databricks_sqlalchemy/src/databricks_sqlalchemy/test_local/test_types.py diff --git a/databricks_sql_connector_core/dist/databricks_sql_connector_core-1.0.0-py3-none-any.whl b/databricks_sql_connector_core/dist/databricks_sql_connector_core-1.0.0-py3-none-any.whl index 8e98bd88e21c30cc72dd9bc4e18011dfb32bfce1..82ac801585209999e8ed74aabd39b404280b4fb6 100644 GIT binary patch delta 3229 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 PBLKP$004Tz1ONa4XaOZ^ delta 3197 zcmV-@41)8@pcBWS6M%#PgaU*Ev;@<$4I;_pJ^Ka#0G|*505+E~y963Sg??JvARzyL11}SvJiP9Y=yZSz9Y!p3UcA|b8}Zs6Izou zQ1VB(4Sq`Nya`O`hY(>OKIv+kxk?s+b{>D`W-HO)7{@p0)HsI0$YK7+59r#*gD&iUAg_*R-WUpQCTUKGuhTa;6p(`Y-k(cYL>Ns5%U zNWw#-pLHe+^xFSrkqxDdjVc^cAAqTx%v~^E6(A*tv_xRE+e9yO#$G+oYde(2uK#~> zeX+V2eQU14sB9kEg_3DvL#3l)RjBB0AIyfu{%+kWmHk;N9A1=Qnby`6>4w_OqoRuc zSu0VCa14Pv)grMw7G$vsos1XJR3vlxtbx{3Du3p+#n>41_#J7&2&Z~!`AV1EX`aYC znd)NmvM5p&3o404=LyGa7bLr5Jx+g1>o7GOqvc%@DKB(sr49MWafLU0>^nD@3JVU8 zQ-%8SCHjNs{1g9s3-AljnI*>#pN^yBqfSv;J}^cvxv;)+ ze#4RX@d6i<-$63r+CD?JEDC>Zz^kaJFLVMri(R_nGwG1A$_#L(1b_DzryXEv(5`4L zm3u!EFYu+5rJSJMa66L8qPp8q=3Kbah}5?aUd*NA7Tr%rh9&~dF1S;fL{R_6ba)ps z1(ivXpQ#j9a_)JMFJ!$>&1LRQP<3PB`=69!L6c@RWyT4#%J_gEKEvQx#_9pU1x14*rdW+=&P*kgR4PLqmn83Jg0UYVNx1>1;R55y?%OuP zmy8AcdW&t_{}8o%sA!Y|-|bN~Uk^JcT(~T4k-fq1rP(E;J*%0Djkeh2yiu74rHurs zJh(Fc&{xX``=umNCyak%Y*hEDk5)|$*5PU(zN_mejGbwRn`fx=*N!iQN$`@|2HOY{ zR+9`e78{9%#k#ABLf5QXjjzn_l+ih5nBNJbe5*1xnM}Ze3r38CvJVI2!O`XD_~)ye z&*xX;{+s&GUbdeSACE6?E(YVz{RrqIECI+~QfQ#D(VM+LPw0P-&woBS>nEa6`@)Zu zftj(Bdyy6B`qJW#@6lO(bF0jo)|SnT&UUiO>ooYU0teMpAd!hL6dP5(qQy&2x5-!tv)@palXOR z-#pRruH*jh4|0D~8jCUO^R2(II%~G-mtoEH&DU2arzgi_-YW$5b@b+>&EN1JFVBDB zmxHsPPMV#A*6TL^Ps6`&^mt>Yb>qJ+hBdEDDVw!HPmt(nxF8lHW&{mZQau1J44R^e z;|;(tPI2E6q#c;`k+1fsqS1<2WL5ee#(7fZDp==gLacw|9&Q_czVaBnNHr&^kTfZW z0p)O`L)GLLRBwsll!lm9?C&k>rsho<&O`o0vv<0OZ{NND>xYjAVj3rM)@n2T*w$s4 z6Q9$xf};^K0;@NdUDLQCoQ`#R*NOCw+Ifg%1#;h)jt0XjwLDS~`61F?J=f z9UY&ajW0(>U&o`fpTaEp)(pdF@2uj?^@lUNu0N^QAKlofyw>UH_~h*B1k(QlP)h>@ zmkZAX8n-mN1R((hP2l%;;Fnsw1VMjU^P;#G0Py$uEYQuqJlqFFWf4?RM0ueCME1oH zQ2g}Q?pey7{?Bc??#z@`6or<*oaCIGkN^xKl*eTs_O~jG+opjrZqe%w!OvlsH#rW& zPu)cH8DMzfKkAyX%{W-!qpp#UcW32Fw?~tUqRR;U7I)fjglf2#hHukVmI~DS-*~@U^&XVM9-50 z0(Gy5#;r&@310|KkY`ivpXM+Mf^-`y6n>_t7{^7ZZB%*BoW|{AX|{h>yu?-AD>)4E zo}ej;ojr+Pp)kX^3p3Cp6-4jZ!JbWW$OVV2QQIU9H59pPE74WTOwj6Khsb+#T;5KS zP0$QA8$}SK>CIV*cZY7h(_+mDmo_JFsH+7%-74K8SdiL*Bhj$9^=r9G30jmTZZ3o~ zlwa|$;l))BzgfHG?(Tmx^|(K<22`%oVHHdOs=~q7SGu_oJBr{LnVB<%an%mV72^0`spvN? zY41(df+Va#1JZ9YC6?()@;PA&ZS&!4EobN~wQ)^@cOt{LGRl8El~w4r-eW~@v^Z}r zzk|Oa(c`d=V*3dZxm(e9`VwrDqcg3GY~YH4%Yrc?C&A0RLLmfRnp1l45x)WTSx(SX zuaeU<-kiNyTRHcmqpV!N)3rrzXd^g+MHLT}L$EZ*%mO-y^7@q{;KQB&?_RubykATG z^`Ost44W9f!E1j$MDnI)&%UKEAkVl8BP841Qr?r#^)O&i?*vEQv8f^v49~GM><%DM zL;T`CiZr=ywxNf}3S8o5hiTjI*LEKzbmxPMB_zYK)0LZi7-tbou9_Y8eNJ#yp1a_auUKi{bABxKw0bx0YyLsMBp?mF=FPj(X(_z!d>?=deS2 zt9#r&fK7;^DE}>Ecw5h7ttQl9dB>8nHCvkYDs1Bpa!$YNTJD~ijy`Zri#HFCpjnC+ z=M?8(jNpHR4EDOE&GiMpL~20EHmiHcDaz2TCoeAguGD}*XyF@HEtw=uc6P`_WnZ0Uvlo9zM;&o zqa4wjla!^~(}ci2Ja6FW#crw@kCbP#%{rgFyd{4aT9!HHC-r|}NBm8TKwQ3#b8pb2 z>c+F)lznB~#aJgV2WslNF=UsL(BTP-A=T{l!e>H<;5bnd=3sxGK>yT;Opql>Te9hW zQjftCHG=wB*En*TT7J3-H2JV=LwDt~nRYku2Yp`-ylaSqvK49`P! zQ%3ip6ah>&%^_{Na(O<~3c)cyY8u~huake+%KF{v_cA9e#bT}MaQozq8+WxhYasW? zN9#VlTIVP#5(VOo%_|QQx8NO5M3jg81dXP)h*<6ay3h000O8001EX-XupXI03hi z!UQ1<2_nhlJ^Ka#0H2q-&IEM<6qk|D1TmLk&jc?4xtEd81W_DK;P-dn1pol`4gdf& j00000000000001_0Y$u*G0y}rmoCr*76y011ONa46_hwt diff --git a/databricks_sql_connector_core/dist/databricks_sql_connector_core-1.0.0.tar.gz b/databricks_sql_connector_core/dist/databricks_sql_connector_core-1.0.0.tar.gz index 2fca2860786685cff3767866e63cfe32933f2580..97d3c992d134e57f058ca84322d9ebb845bd4a69 100644 GIT binary patch delta 173742 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

  • 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 Ab^rhX delta 190147 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 X1Q?fJuLK1QeBtw7PhIq>04OK`4RpXX diff --git a/databricks_sql_connector_core/pyproject.toml b/databricks_sql_connector_core/pyproject.toml index 61a1e467..687a990c 100644 --- a/databricks_sql_connector_core/pyproject.toml +++ b/databricks_sql_connector_core/pyproject.toml @@ -43,8 +43,8 @@ pytest-dotenv = "^0.5.2" "Homepage" = "https://github.com/databricks/databricks-sql-python" "Bug Tracker" = "https://github.com/databricks/databricks-sql-python/issues" -[tool.poetry.plugins."sqlalchemy.dialects"] -"databricks" = "databricks_sql_connector_core.sqlalchemy:DatabricksDialect" +#[tool.poetry.plugins."sqlalchemy.dialects"] +#"databricks" = "databricks_sql_connector_core.sqlalchemy:DatabricksDialect" [build-system] requires = ["poetry-core>=1.0.0"] diff --git a/databricks_sqlalchemy/dist/databricks_sqlalchemy-1.0.0-py3-none-any.whl b/databricks_sqlalchemy/dist/databricks_sqlalchemy-1.0.0-py3-none-any.whl new file mode 100644 index 0000000000000000000000000000000000000000..aac4891ec088238c06bae49ab10ee5c6a7f92f6f GIT binary patch literal 108113 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 L0B9sU`RF+v literal 0 HcmV?d00001 diff --git a/databricks_sqlalchemy/dist/databricks_sqlalchemy-1.0.0.tar.gz b/databricks_sqlalchemy/dist/databricks_sqlalchemy-1.0.0.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..40aa4f64463c7e4b1fd804d14cac3b1872f79d66 GIT binary patch literal 100595 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